From b8dab5b6e07f330edf7098b6b84ad837e208c38d Mon Sep 17 00:00:00 2001 From: enisn Date: Thu, 7 Jan 2021 17:20:54 +0300 Subject: [PATCH 001/217] CmsKit - Remove Content value from list items --- .../Volo/CmsKit/Admin/Contents/ContentGetListDto.cs | 12 ++++++++++++ .../CmsKit/Admin/Contents/IContentAdminAppService.cs | 1 + .../Admin/CmsKitAdminApplicationAutoMapperProfile.cs | 1 + .../CmsKit/Admin/Contents/ContentAdminAppService.cs | 3 ++- .../CmsKit/Admin/Contents/ContentAdminController.cs | 2 +- 5 files changed, 17 insertions(+), 2 deletions(-) create mode 100644 modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Contents/ContentGetListDto.cs diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Contents/ContentGetListDto.cs b/modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Contents/ContentGetListDto.cs new file mode 100644 index 0000000000..ce1ca1e86c --- /dev/null +++ b/modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Contents/ContentGetListDto.cs @@ -0,0 +1,12 @@ +using System; +using Volo.Abp.Application.Dtos; + +namespace Volo.CmsKit.Admin.Contents +{ + public class ContentGetListDto : EntityDto + { + public string EntityType { get; set; } + + public string EntityId { get; set; } + } +} diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Contents/IContentAdminAppService.cs b/modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Contents/IContentAdminAppService.cs index 02b25aa16d..e910d42c2f 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Contents/IContentAdminAppService.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Contents/IContentAdminAppService.cs @@ -7,6 +7,7 @@ namespace Volo.CmsKit.Admin.Contents public interface IContentAdminAppService : ICrudAppService< ContentDto, + ContentGetListDto, Guid, ContentGetListInput, ContentCreateDto, diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/CmsKitAdminApplicationAutoMapperProfile.cs b/modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/CmsKitAdminApplicationAutoMapperProfile.cs index 4b7a6eb58f..1524fe6299 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/CmsKitAdminApplicationAutoMapperProfile.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/CmsKitAdminApplicationAutoMapperProfile.cs @@ -13,6 +13,7 @@ namespace Volo.CmsKit.Admin CreateMap(); CreateMap(MemberList.Destination); + CreateMap(MemberList.Destination); CreateMap(MemberList.Source); CreateMap(MemberList.Source); } diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/Contents/ContentAdminAppService.cs b/modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/Contents/ContentAdminAppService.cs index 4695339fd7..5c058b5fe8 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/Contents/ContentAdminAppService.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/Contents/ContentAdminAppService.cs @@ -14,6 +14,7 @@ namespace Volo.CmsKit.Admin.Contents CrudAppService< Content, ContentDto, + ContentGetListDto, Guid, ContentGetListInput, ContentCreateDto, @@ -51,7 +52,7 @@ namespace Volo.CmsKit.Admin.Contents await ContentManager.InsertAsync(entity); - return MapToGetListOutputDto(entity); + return MapToGetOutputDto(entity); } } } diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.HttpApi/Volo/CmsKit/Admin/Contents/ContentAdminController.cs b/modules/cms-kit/src/Volo.CmsKit.Admin.HttpApi/Volo/CmsKit/Admin/Contents/ContentAdminController.cs index 935606b686..f519109022 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Admin.HttpApi/Volo/CmsKit/Admin/Contents/ContentAdminController.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Admin.HttpApi/Volo/CmsKit/Admin/Contents/ContentAdminController.cs @@ -48,7 +48,7 @@ namespace Volo.CmsKit.Admin.Contents [HttpGet] [Authorize(CmsKitAdminPermissions.Contents.Default)] - public Task> GetListAsync(ContentGetListInput input) + public Task> GetListAsync(ContentGetListInput input) { return ContentAdminAppService.GetListAsync(input); } From f2ee973860b464b37dd50cba0433665182a872b7 Mon Sep 17 00:00:00 2001 From: enisn Date: Fri, 8 Jan 2021 17:35:59 +0300 Subject: [PATCH 002/217] CmsKit - Initial of Tag Definitions --- .../CmsKit/Admin/Tags/ITagAdminAppService.cs | 3 ++ .../CmsKit/Admin/Tags/TagDefinitionDto.cs | 8 ++++ ...CmsKitAdminApplicationAutoMapperProfile.cs | 4 ++ .../CmsKit/Admin/Tags/TagAdminAppService.cs | 9 ++++- .../Volo/CmsKit/CmsKitDomainModule.cs | 18 +++++++++ .../Volo/CmsKit/CmsKitOptions.cs | 9 ++--- .../Volo/CmsKit/PolicySpecifiedDefinition.cs | 37 +++++++++++++++++++ .../CmsKit/Tags/DefaultTagDefinitionStore.cs | 33 +++++++++++++++++ .../Volo/CmsKit/Tags/ITagDefinitionStore.cs | 13 +++++++ .../Volo/CmsKit/Tags/ITagManager.cs | 3 ++ .../CmsKit/Tags/TagDefinitionDictionary.cs | 20 ++++++++++ .../Volo/CmsKit/Tags/TagDefiniton.cs | 27 ++++++++++++++ .../Volo/CmsKit/Tags/TagManager.cs | 14 ++++++- .../CmsKitDomainTestModule.cs | 1 - .../Tags/TagManager_Tests.cs | 10 +++++ .../CmsKitDataSeedContributor.cs | 18 ++++++++- .../Volo.CmsKit.TestBase/CmsKitTestData.cs | 2 + 17 files changed, 218 insertions(+), 11 deletions(-) create mode 100644 modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Tags/TagDefinitionDto.cs create mode 100644 modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/PolicySpecifiedDefinition.cs create mode 100644 modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Tags/DefaultTagDefinitionStore.cs create mode 100644 modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Tags/ITagDefinitionStore.cs create mode 100644 modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Tags/TagDefinitionDictionary.cs create mode 100644 modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Tags/TagDefiniton.cs diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Tags/ITagAdminAppService.cs b/modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Tags/ITagAdminAppService.cs index e677a54c28..a5ae9d85d4 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Tags/ITagAdminAppService.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Tags/ITagAdminAppService.cs @@ -1,4 +1,6 @@ using System; +using System.Collections.Generic; +using System.Threading.Tasks; using Volo.Abp.Application.Services; using Volo.CmsKit.Tags; @@ -6,5 +8,6 @@ namespace Volo.CmsKit.Admin.Tags { public interface ITagAdminAppService : ICrudAppService { + Task> GetTagDefinitionsAsync(); } } diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Tags/TagDefinitionDto.cs b/modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Tags/TagDefinitionDto.cs new file mode 100644 index 0000000000..b5abf8b69c --- /dev/null +++ b/modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Tags/TagDefinitionDto.cs @@ -0,0 +1,8 @@ +namespace Volo.CmsKit.Admin.Tags +{ + public class TagDefinitionDto + { + public string EntityType { get; set; } + public string DisplayName { get; set; } + } +} diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/CmsKitAdminApplicationAutoMapperProfile.cs b/modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/CmsKitAdminApplicationAutoMapperProfile.cs index 4b7a6eb58f..c36a64ca84 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/CmsKitAdminApplicationAutoMapperProfile.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/CmsKitAdminApplicationAutoMapperProfile.cs @@ -1,8 +1,10 @@ using AutoMapper; +using Volo.CmsKit.Admin.Application.Contracts.Volo.CmsKit.Admin.Tags; using Volo.CmsKit.Admin.Contents; using Volo.CmsKit.Admin.Pages; using Volo.CmsKit.Contents; using Volo.CmsKit.Pages; +using Volo.CmsKit.Tags; namespace Volo.CmsKit.Admin { @@ -15,6 +17,8 @@ namespace Volo.CmsKit.Admin CreateMap(MemberList.Destination); CreateMap(MemberList.Source); CreateMap(MemberList.Source); + + CreateMap(MemberList.Destination); } } } diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/Tags/TagAdminAppService.cs b/modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/Tags/TagAdminAppService.cs index cda45c23de..29fbb943bb 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/Tags/TagAdminAppService.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/Tags/TagAdminAppService.cs @@ -2,11 +2,9 @@ using System; using System.Collections.Generic; using System.Linq; -using System.Text; using System.Threading.Tasks; using Volo.Abp.Application.Services; using Volo.Abp.Domain.Repositories; -using Volo.CmsKit.Admin.Tags; using Volo.CmsKit.Permissions; using Volo.CmsKit.Tags; @@ -68,5 +66,12 @@ namespace Volo.CmsKit.Admin.Tags x.Name.ToLower().Contains(input.Filter) || x.EntityType.ToLower().Contains(input.Filter)); } + + public async Task> GetTagDefinitionsAsync() + { + var definitions = await TagManager.GetTagDefinitionsAsync(); + + return ObjectMapper.Map, List>(definitions); + } } } diff --git a/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/CmsKitDomainModule.cs b/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/CmsKitDomainModule.cs index b1937dd6e0..719a5bc215 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/CmsKitDomainModule.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/CmsKitDomainModule.cs @@ -1,6 +1,11 @@ using Volo.Abp.Domain; +using Volo.Abp.GlobalFeatures; +using Volo.Abp.Localization; using Volo.Abp.Modularity; using Volo.Abp.Users; +using Volo.CmsKit.GlobalFeatures; +using Volo.CmsKit.Localization; +using Volo.CmsKit.Pages; using Volo.CmsKit.Reactions; namespace Volo.CmsKit @@ -28,7 +33,20 @@ namespace Volo.CmsKit options.Reactions.AddOrReplace(StandardReactions.HeartBroken); options.Reactions.AddOrReplace(StandardReactions.Rocket); options.Reactions.AddOrReplace(StandardReactions.Pray); + + if (GlobalFeatureManager.Instance.IsEnabled()) + { + if (GlobalFeatureManager.Instance.IsEnabled()) + { + options.Tags.AddOrReplace(typeof(Page).Name, L("Page")); + } + } }); } + + private static LocalizableString L(string name) + { + return LocalizableString.Create(name); + } } } diff --git a/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/CmsKitOptions.cs b/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/CmsKitOptions.cs index cc69f715ce..20fde8704d 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/CmsKitOptions.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/CmsKitOptions.cs @@ -1,16 +1,15 @@ using JetBrains.Annotations; using Volo.CmsKit.Reactions; +using Volo.CmsKit.Tags; namespace Volo.CmsKit { public class CmsKitOptions { [NotNull] - public ReactionDefinitionDictionary Reactions { get; } + public ReactionDefinitionDictionary Reactions { get; } = new ReactionDefinitionDictionary(); - public CmsKitOptions() - { - Reactions = new ReactionDefinitionDictionary(); - } + [NotNull] + public TagDefinitionDictionary Tags { get; } = new TagDefinitionDictionary(); } } diff --git a/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/PolicySpecifiedDefinition.cs b/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/PolicySpecifiedDefinition.cs new file mode 100644 index 0000000000..88fd6eb824 --- /dev/null +++ b/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/PolicySpecifiedDefinition.cs @@ -0,0 +1,37 @@ +using JetBrains.Annotations; +using Volo.Abp; +using Volo.Abp.Localization; + +namespace Volo.CmsKit.Domain.Volo.CmsKit +{ + public abstract class PolicySpecifiedDefinition + { + protected PolicySpecifiedDefinition() + { + } + + public PolicySpecifiedDefinition( + [CanBeNull] ILocalizableString displayName = null, + [CanBeNull] string createPolicy = null, + [CanBeNull] string updatePolicy = null, + [CanBeNull] string deletePolicy = null) + { + DisplayName = displayName; + CreatePolicy = createPolicy; + DeletePolicy = deletePolicy; + UpdatePolicy = updatePolicy; + } + + [CanBeNull] + public virtual ILocalizableString DisplayName { get; } + + [CanBeNull] + public virtual string CreatePolicy { get; set; } + + [CanBeNull] + public virtual string UpdatePolicy { get; set; } + + [CanBeNull] + public virtual string DeletePolicy { get; set; } + } +} diff --git a/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Tags/DefaultTagDefinitionStore.cs b/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Tags/DefaultTagDefinitionStore.cs new file mode 100644 index 0000000000..b851c9af9c --- /dev/null +++ b/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Tags/DefaultTagDefinitionStore.cs @@ -0,0 +1,33 @@ +using JetBrains.Annotations; +using Microsoft.Extensions.Options; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Volo.Abp; +using Volo.Abp.DependencyInjection; + +namespace Volo.CmsKit.Tags +{ + public class DefaultTagDefinitionStore : ITagDefinitionStore, ITransientDependency + { + private readonly CmsKitOptions options; + + public DefaultTagDefinitionStore(IOptions options) + { + this.options = options.Value; + } + + public Task GetTagDefinitionOrNullAsync([NotNull] string entityType) + { + Check.NotNullOrWhiteSpace(entityType, nameof(entityType)); + return Task.FromResult(options.Tags.GetOrDefault(entityType)); + } + + public Task> GetTagDefinitionsAsync() + { + return Task.FromResult(options.Tags.Values.ToList()); + } + } +} diff --git a/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Tags/ITagDefinitionStore.cs b/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Tags/ITagDefinitionStore.cs new file mode 100644 index 0000000000..9fa06f92d4 --- /dev/null +++ b/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Tags/ITagDefinitionStore.cs @@ -0,0 +1,13 @@ +using JetBrains.Annotations; +using System.Collections.Generic; +using System.Threading.Tasks; + +namespace Volo.CmsKit.Tags +{ + public interface ITagDefinitionStore + { + Task> GetTagDefinitionsAsync(); + + Task GetTagDefinitionOrNullAsync([NotNull] string entityType); + } +} diff --git a/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Tags/ITagManager.cs b/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Tags/ITagManager.cs index 943fd6af00..23d34d6a19 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Tags/ITagManager.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Tags/ITagManager.cs @@ -1,5 +1,6 @@ using JetBrains.Annotations; using System; +using System.Collections.Generic; using System.Threading; using System.Threading.Tasks; using Volo.Abp.Domain.Services; @@ -26,5 +27,7 @@ namespace Volo.CmsKit.Tags [NotNull] string name, Guid? tenantId = null, CancellationToken cancellationToken = default); + + Task> GetTagDefinitionsAsync(CancellationToken cancellationToken = default); } } diff --git a/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Tags/TagDefinitionDictionary.cs b/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Tags/TagDefinitionDictionary.cs new file mode 100644 index 0000000000..dbbfd29219 --- /dev/null +++ b/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Tags/TagDefinitionDictionary.cs @@ -0,0 +1,20 @@ +using JetBrains.Annotations; +using System.Collections.Generic; +using Volo.Abp.Localization; + +namespace Volo.CmsKit.Tags +{ + public class TagDefinitionDictionary : Dictionary + { + public void AddOrReplace( + [NotNull] string entityType, + [CanBeNull] ILocalizableString displayName = null, + [CanBeNull] string createPolicy = null, + [CanBeNull] string updatePolicy = null, + [CanBeNull] string deletePolicy = null + ) + { + this[entityType] = new TagDefiniton(entityType, displayName, createPolicy, updatePolicy, deletePolicy); + } + } +} diff --git a/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Tags/TagDefiniton.cs b/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Tags/TagDefiniton.cs new file mode 100644 index 0000000000..6ccff22f2c --- /dev/null +++ b/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Tags/TagDefiniton.cs @@ -0,0 +1,27 @@ +using JetBrains.Annotations; +using Volo.Abp; +using Volo.Abp.Localization; +using Volo.CmsKit.Domain.Volo.CmsKit; + +namespace Volo.CmsKit.Tags +{ + public class TagDefiniton : PolicySpecifiedDefinition + { + public string EntityType { get; } + + public TagDefiniton() + { + } + + public TagDefiniton( + [NotNull] string entityType, + [CanBeNull] ILocalizableString displayName = null, + [CanBeNull] string createPolicy = null, + [CanBeNull] string updatePolicy = null, + [CanBeNull] string deletePolicy = null) : base(displayName, createPolicy, updatePolicy, deletePolicy) + { + EntityType = Check.NotNullOrWhiteSpace(entityType, nameof(entityType)); + + } + } +} diff --git a/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Tags/TagManager.cs b/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Tags/TagManager.cs index 042b4e27a9..0c2cbd63ed 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Tags/TagManager.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Tags/TagManager.cs @@ -1,5 +1,8 @@ using JetBrains.Annotations; +using Microsoft.Extensions.Options; using System; +using System.Collections.Generic; +using System.Linq; using System.Threading; using System.Threading.Tasks; using Volo.Abp; @@ -10,10 +13,14 @@ namespace Volo.CmsKit.Tags public class TagManager : DomainService, ITagManager { private readonly ITagRepository _tagRepository; + private readonly ITagDefinitionStore _tagDefinitionStore; - public TagManager(ITagRepository tagRepository) + public TagManager( + ITagRepository tagRepository, + ITagDefinitionStore tagDefinitionStore) { _tagRepository = tagRepository; + _tagDefinitionStore = tagDefinitionStore; } public async Task GetOrAddAsync( @@ -70,5 +77,10 @@ namespace Volo.CmsKit.Tags return await _tagRepository.UpdateAsync(entity, cancellationToken: cancellationToken); } + + public Task> GetTagDefinitionsAsync(CancellationToken cancellationToken = default) + { + return _tagDefinitionStore.GetTagDefinitionsAsync(); + } } } \ No newline at end of file diff --git a/modules/cms-kit/test/Volo.CmsKit.Domain.Tests/CmsKitDomainTestModule.cs b/modules/cms-kit/test/Volo.CmsKit.Domain.Tests/CmsKitDomainTestModule.cs index fc41440757..b5af93fc74 100644 --- a/modules/cms-kit/test/Volo.CmsKit.Domain.Tests/CmsKitDomainTestModule.cs +++ b/modules/cms-kit/test/Volo.CmsKit.Domain.Tests/CmsKitDomainTestModule.cs @@ -12,6 +12,5 @@ namespace Volo.CmsKit )] public class CmsKitDomainTestModule : AbpModule { - } } diff --git a/modules/cms-kit/test/Volo.CmsKit.Domain.Tests/Tags/TagManager_Tests.cs b/modules/cms-kit/test/Volo.CmsKit.Domain.Tests/Tags/TagManager_Tests.cs index aa31b015cc..0fe8d5ddb4 100644 --- a/modules/cms-kit/test/Volo.CmsKit.Domain.Tests/Tags/TagManager_Tests.cs +++ b/modules/cms-kit/test/Volo.CmsKit.Domain.Tests/Tags/TagManager_Tests.cs @@ -100,5 +100,15 @@ namespace Volo.CmsKit.Tags Should.Throw(async () => await _tagManager.UpdateAsync(tag.Id, newName)); } + + [Fact] + public async Task ShouldGetTagDefinitionsProperly_WithoutParameter() + { + var definitions = await _tagManager.GetTagDefinitionsAsync(); + + definitions.ShouldNotBeNull(); + definitions.Count.ShouldBeGreaterThan(1); + definitions.ShouldContain(x => x.EntityType == _cmsKitTestData.TagDefinition_1_EntityType); + } } } \ No newline at end of file diff --git a/modules/cms-kit/test/Volo.CmsKit.TestBase/CmsKitDataSeedContributor.cs b/modules/cms-kit/test/Volo.CmsKit.TestBase/CmsKitDataSeedContributor.cs index 46a552641b..d9f671229d 100644 --- a/modules/cms-kit/test/Volo.CmsKit.TestBase/CmsKitDataSeedContributor.cs +++ b/modules/cms-kit/test/Volo.CmsKit.TestBase/CmsKitDataSeedContributor.cs @@ -1,4 +1,5 @@ -using System; +using Microsoft.Extensions.Options; +using System; using System.Linq; using System.Threading.Tasks; using Volo.Abp.Data; @@ -29,6 +30,8 @@ namespace Volo.CmsKit private readonly IEntityTagRepository _entityTagRepository; private readonly ITagManager _tagManager; private readonly IPageRepository _pageRepository; + private readonly IOptions _options; + public CmsKitDataSeedContributor( IGuidGenerator guidGenerator, ICmsUserRepository cmsUserRepository, @@ -40,7 +43,8 @@ namespace Volo.CmsKit IContentRepository contentRepository, ITagManager tagManager, IEntityTagRepository entityTagRepository, - IPageRepository pageRepository) + IPageRepository pageRepository, + IOptions options) { _guidGenerator = guidGenerator; _cmsUserRepository = cmsUserRepository; @@ -53,6 +57,7 @@ namespace Volo.CmsKit _tagManager = tagManager; _entityTagRepository = entityTagRepository; _pageRepository = pageRepository; + _options = options; } public async Task SeedAsync(DataSeedContext context) @@ -72,9 +77,18 @@ namespace Volo.CmsKit await SeedTagsAsync(); await SeedPagesAsync(); + + await ConfigureCmsKitOptionsAsync(); } } + private Task ConfigureCmsKitOptionsAsync() + { + _options.Value.Tags.AddOrReplace(_cmsKitTestData.TagDefinition_1_EntityType); + + return Task.CompletedTask; + } + private async Task SeedUsersAsync() { await _cmsUserRepository.InsertAsync(new CmsUser(new UserData(_cmsKitTestData.User1Id, "user1", diff --git a/modules/cms-kit/test/Volo.CmsKit.TestBase/CmsKitTestData.cs b/modules/cms-kit/test/Volo.CmsKit.TestBase/CmsKitTestData.cs index 7433759f40..c07b038714 100644 --- a/modules/cms-kit/test/Volo.CmsKit.TestBase/CmsKitTestData.cs +++ b/modules/cms-kit/test/Volo.CmsKit.TestBase/CmsKitTestData.cs @@ -59,5 +59,7 @@ namespace Volo.CmsKit public Guid Page_2_Id { get; } = Guid.NewGuid(); public string Page_2_Content => Content_2; + + public string TagDefinition_1_EntityType => "My.Namespace.CustomType"; } } From 584306b171d385bbae096b6f6d4e8ab58a35a5eb Mon Sep 17 00:00:00 2001 From: enisn Date: Fri, 8 Jan 2021 17:53:33 +0300 Subject: [PATCH 003/217] CmsKit - TagAdminController implementation --- .../CmsKit/Admin/CmsKitAdminApplicationAutoMapperProfile.cs | 2 +- .../Volo/CmsKit/Admin/Tags/TagAdminController.cs | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/CmsKitAdminApplicationAutoMapperProfile.cs b/modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/CmsKitAdminApplicationAutoMapperProfile.cs index c36a64ca84..5edcfd8a04 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/CmsKitAdminApplicationAutoMapperProfile.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/CmsKitAdminApplicationAutoMapperProfile.cs @@ -1,7 +1,7 @@ using AutoMapper; -using Volo.CmsKit.Admin.Application.Contracts.Volo.CmsKit.Admin.Tags; using Volo.CmsKit.Admin.Contents; using Volo.CmsKit.Admin.Pages; +using Volo.CmsKit.Admin.Tags; using Volo.CmsKit.Contents; using Volo.CmsKit.Pages; using Volo.CmsKit.Tags; diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.HttpApi/Volo/CmsKit/Admin/Tags/TagAdminController.cs b/modules/cms-kit/src/Volo.CmsKit.Admin.HttpApi/Volo/CmsKit/Admin/Tags/TagAdminController.cs index cc755fa63f..afc9a83fc8 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Admin.HttpApi/Volo/CmsKit/Admin/Tags/TagAdminController.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Admin.HttpApi/Volo/CmsKit/Admin/Tags/TagAdminController.cs @@ -1,6 +1,7 @@ using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Mvc; using System; +using System.Collections.Generic; using System.Threading.Tasks; using Volo.Abp; using Volo.Abp.Application.Dtos; @@ -60,5 +61,10 @@ namespace Volo.CmsKit.Admin.Tags { return TagAdminAppService.UpdateAsync(id, input); } + + public Task> GetTagDefinitionsAsync() + { + return TagAdminAppService.GetTagDefinitionsAsync(); + } } } From 88d990fa9cf809dd5836c314f13b4012dd801b5a Mon Sep 17 00:00:00 2001 From: enisn Date: Mon, 11 Jan 2021 11:38:33 +0300 Subject: [PATCH 004/217] CmsKit - Add EntityNotTaggableException --- .../Volo/CmsKit/CmsKitErrorCodes.cs | 1 + .../CmsKit/Tags/DefaultTagDefinitionStore.cs | 5 +++++ .../CmsKit/Tags/EntityNotTaggableException.cs | 19 +++++++++++++++++++ .../Volo/CmsKit/Tags/ITagDefinitionStore.cs | 2 ++ .../Volo/CmsKit/Tags/TagManager.cs | 5 +++++ 5 files changed, 32 insertions(+) create mode 100644 modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Tags/EntityNotTaggableException.cs diff --git a/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/CmsKitErrorCodes.cs b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/CmsKitErrorCodes.cs index 4b57a5a52e..59b78259fb 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/CmsKitErrorCodes.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/CmsKitErrorCodes.cs @@ -4,5 +4,6 @@ { public const string TagAlreadyExist = "CmsKit:0001"; public const string ContentAlreadyExist = "CmsKit:0002"; + public const string EntityNotTaggable = "CmsKit:0003"; } } diff --git a/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Tags/DefaultTagDefinitionStore.cs b/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Tags/DefaultTagDefinitionStore.cs index b851c9af9c..5b30ab08b9 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Tags/DefaultTagDefinitionStore.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Tags/DefaultTagDefinitionStore.cs @@ -29,5 +29,10 @@ namespace Volo.CmsKit.Tags { return Task.FromResult(options.Tags.Values.ToList()); } + + public Task IsDefinedAsync([NotNull] string entityType) + { + return Task.FromResult(options.Tags.ContainsKey(entityType)); + } } } diff --git a/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Tags/EntityNotTaggableException.cs b/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Tags/EntityNotTaggableException.cs new file mode 100644 index 0000000000..1987bef869 --- /dev/null +++ b/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Tags/EntityNotTaggableException.cs @@ -0,0 +1,19 @@ +using System; +using Volo.Abp; + +namespace Volo.CmsKit.Tags +{ + [Serializable] + public class EntityNotTaggableException : BusinessException + { + public EntityNotTaggableException(string code = null, string message = null, string details = null, Exception innerException = null, Microsoft.Extensions.Logging.LogLevel logLevel = Microsoft.Extensions.Logging.LogLevel.Warning) : base(code, message, details, innerException, logLevel) + { + } + + public EntityNotTaggableException(string entityType) + { + Code = CmsKitErrorCodes.EntityNotTaggable; + WithData(nameof(Tag.EntityType), entityType); + } + } +} diff --git a/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Tags/ITagDefinitionStore.cs b/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Tags/ITagDefinitionStore.cs index 9fa06f92d4..033c6e6a5f 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Tags/ITagDefinitionStore.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Tags/ITagDefinitionStore.cs @@ -9,5 +9,7 @@ namespace Volo.CmsKit.Tags Task> GetTagDefinitionsAsync(); Task GetTagDefinitionOrNullAsync([NotNull] string entityType); + + Task IsDefinedAsync([NotNull] string entityType); } } diff --git a/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Tags/TagManager.cs b/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Tags/TagManager.cs index 0c2cbd63ed..5318336502 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Tags/TagManager.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Tags/TagManager.cs @@ -51,6 +51,11 @@ namespace Volo.CmsKit.Tags throw new TagAlreadyExistException(entityType, name); } + if (!await _tagDefinitionStore.IsDefinedAsync(entityType)) + { + throw new EntityNotTaggableException(entityType); + } + return await _tagRepository.InsertAsync( new Tag( id, From e95dd13cda292946bc63a7b247e14dca1fbc1f5f Mon Sep 17 00:00:00 2001 From: enisn Date: Mon, 11 Jan 2021 11:42:37 +0300 Subject: [PATCH 005/217] CmsKit - Add resources for CmsKit:0003 --- .../Volo/CmsKit/Localization/Resources/en.json | 1 + .../Volo/CmsKit/Localization/Resources/tr.json | 1 + 2 files changed, 2 insertions(+) diff --git a/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/en.json b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/en.json index 8ad45af0ff..393097a72d 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/en.json +++ b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/en.json @@ -2,6 +2,7 @@ "culture": "en", "texts": { "CmsKit:0002": "Content already exists!", + "CmsKit:0003": "The entity {0} is not taggable.", "CommentAuthorizationExceptionMessage": "Those comments are not allowed for public display.", "Comments": "Comments", "Delete": "Delete", diff --git a/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/tr.json b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/tr.json index c081b86fc7..b469b76968 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/tr.json +++ b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/tr.json @@ -2,6 +2,7 @@ "culture": "tr", "texts": { "CmsKit:0002": "İçerik zaten mevcut!", + "CmsKit:0003": "{0} ögesi etiketlenebilir değil.", "CommentAuthorizationExceptionMessage": "Bu yorumları görebilmek için yetki gerekir.", "Comments": "Yorumlar", "Delete": "Sil", From f0ae90d8b5fc6ae7305cd902606e28298f03a295 Mon Sep 17 00:00:00 2001 From: enisn Date: Mon, 11 Jan 2021 12:57:07 +0300 Subject: [PATCH 006/217] CmsKit - Implementation of EntityTag Domain logic --- .../Volo/CmsKit/Tags/EntityTag.cs | 3 +- .../Volo/CmsKit/Tags/EntityTagManager.cs | 52 +++++++++++++++++++ .../Volo/CmsKit/Tags/IEntityTagManager.cs | 24 +++++++++ .../Volo/CmsKit/Tags/IEntityTagRepository.cs | 12 ++++- .../CmsKit/Tags/EfCoreEntityTagRepository.cs | 19 ++++++- .../MongoDB/Tags/MongoEntityTagRepository.cs | 19 ++++++- 6 files changed, 123 insertions(+), 6 deletions(-) create mode 100644 modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Tags/EntityTagManager.cs create mode 100644 modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Tags/IEntityTagManager.cs diff --git a/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Tags/EntityTag.cs b/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Tags/EntityTag.cs index 5d27e8b15f..c49a9661ef 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Tags/EntityTag.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Tags/EntityTag.cs @@ -16,7 +16,7 @@ namespace Volo.CmsKit.Tags { } - public EntityTag(Guid tagId, string entityId, Guid? tenantId = null) + internal EntityTag(Guid tagId, string entityId, Guid? tenantId = null) { TagId = tagId; EntityId = entityId; @@ -27,6 +27,5 @@ namespace Volo.CmsKit.Tags { return new object[] { TagId, EntityId }; } - } } diff --git a/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Tags/EntityTagManager.cs b/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Tags/EntityTagManager.cs new file mode 100644 index 0000000000..0de6328775 --- /dev/null +++ b/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Tags/EntityTagManager.cs @@ -0,0 +1,52 @@ +using JetBrains.Annotations; +using System; +using System.Threading; +using System.Threading.Tasks; +using Volo.Abp.Domain.Services; +using Volo.CmsKit.Tags; + +namespace Volo.CmsKit.Tags +{ + public class EntityTagManager : DomainService, IEntityTagManager + { + protected readonly IEntityTagRepository _entityTagRepository; + protected readonly ITagDefinitionStore _tagDefinitionStore; + + public EntityTagManager( + IEntityTagRepository entityTagRepository, + ITagDefinitionStore tagDefinitionStore) + { + _entityTagRepository = entityTagRepository; + _tagDefinitionStore = tagDefinitionStore; + } + + public async Task AddTagToEntityAsync( + [NotNull] Guid tagId, + [NotNull] string entityType, + [NotNull] string entityId, + [CanBeNull] Guid? tenantId = null, + CancellationToken cancellationToken = default) + { + if (!await _tagDefinitionStore.IsDefinedAsync(entityType)) + { + throw new EntityNotTaggableException(entityType); + } + + var entityTag = new EntityTag(tagId, entityId, tenantId); + + return await _entityTagRepository.InsertAsync(entityTag, cancellationToken: cancellationToken); + } + + public async Task RemoveTagFromEntityAsync( + [NotNull] Guid tagId, + [NotNull] string entityType, + [NotNull] string entityId, + [CanBeNull] Guid? tenantId = null, + CancellationToken cancellationToken = default) + { + var entityTag = await _entityTagRepository.FindAsync(tagId, entityId, tenantId, cancellationToken); + + await _entityTagRepository.DeleteAsync(entityTag); + } + } +} diff --git a/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Tags/IEntityTagManager.cs b/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Tags/IEntityTagManager.cs new file mode 100644 index 0000000000..704568619a --- /dev/null +++ b/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Tags/IEntityTagManager.cs @@ -0,0 +1,24 @@ +using JetBrains.Annotations; +using System; +using System.Threading; +using System.Threading.Tasks; + +namespace Volo.CmsKit.Tags +{ + public interface IEntityTagManager + { + Task AddTagToEntityAsync( + [NotNull] Guid tagId, + [NotNull] string entityType, + [NotNull] string entityId, + [CanBeNull] Guid? tenantId = null, + CancellationToken cancellationToken = default); + + Task RemoveTagFromEntityAsync( + [NotNull] Guid tagId, + [NotNull] string entityType, + [NotNull] string entityId, + [CanBeNull] Guid? tenantId = null, + CancellationToken cancellationToken = default); + } +} diff --git a/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Tags/IEntityTagRepository.cs b/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Tags/IEntityTagRepository.cs index 6ec0fd4b44..f2ed160671 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Tags/IEntityTagRepository.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Tags/IEntityTagRepository.cs @@ -1,9 +1,17 @@ -using Volo.Abp.Domain.Repositories; +using JetBrains.Annotations; +using System; +using System.Threading; +using System.Threading.Tasks; +using Volo.Abp.Domain.Repositories; namespace Volo.CmsKit.Tags { public interface IEntityTagRepository : IBasicRepository { - + Task FindAsync( + [NotNull] Guid tagId, + [NotNull] string entityId, + [CanBeNull] Guid? tenantId, + CancellationToken cancellationToken = default); } } \ No newline at end of file diff --git a/modules/cms-kit/src/Volo.CmsKit.EntityFrameworkCore/Volo/CmsKit/Tags/EfCoreEntityTagRepository.cs b/modules/cms-kit/src/Volo.CmsKit.EntityFrameworkCore/Volo/CmsKit/Tags/EfCoreEntityTagRepository.cs index cca61b802b..a82fb7005a 100644 --- a/modules/cms-kit/src/Volo.CmsKit.EntityFrameworkCore/Volo/CmsKit/Tags/EfCoreEntityTagRepository.cs +++ b/modules/cms-kit/src/Volo.CmsKit.EntityFrameworkCore/Volo/CmsKit/Tags/EfCoreEntityTagRepository.cs @@ -1,4 +1,8 @@ -using Volo.Abp.Domain.Repositories.EntityFrameworkCore; +using JetBrains.Annotations; +using System; +using System.Threading; +using System.Threading.Tasks; +using Volo.Abp.Domain.Repositories.EntityFrameworkCore; using Volo.Abp.EntityFrameworkCore; using Volo.CmsKit.EntityFrameworkCore; @@ -9,5 +13,18 @@ namespace Volo.CmsKit.Tags public EfCoreEntityTagRepository(IDbContextProvider dbContextProvider) : base(dbContextProvider) { } + + public Task FindAsync( + [NotNull] Guid tagId, + [NotNull] string entityId, + [CanBeNull] Guid? tenantId, + CancellationToken cancellationToken = default) + { + return base.FindAsync(x => + x.TagId == tagId && + x.EntityId == entityId && + x.TenantId == tenantId, + cancellationToken: cancellationToken); + } } } \ No newline at end of file diff --git a/modules/cms-kit/src/Volo.CmsKit.MongoDB/Volo/CmsKit/MongoDB/Tags/MongoEntityTagRepository.cs b/modules/cms-kit/src/Volo.CmsKit.MongoDB/Volo/CmsKit/MongoDB/Tags/MongoEntityTagRepository.cs index 5ac1a4b69c..3f9e1814fc 100644 --- a/modules/cms-kit/src/Volo.CmsKit.MongoDB/Volo/CmsKit/MongoDB/Tags/MongoEntityTagRepository.cs +++ b/modules/cms-kit/src/Volo.CmsKit.MongoDB/Volo/CmsKit/MongoDB/Tags/MongoEntityTagRepository.cs @@ -1,4 +1,8 @@ -using Volo.Abp.Domain.Repositories.MongoDB; +using JetBrains.Annotations; +using System; +using System.Threading; +using System.Threading.Tasks; +using Volo.Abp.Domain.Repositories.MongoDB; using Volo.Abp.MongoDB; using Volo.CmsKit.Tags; @@ -9,5 +13,18 @@ namespace Volo.CmsKit.MongoDB.Tags public MongoEntityTagRepository(IMongoDbContextProvider dbContextProvider) : base(dbContextProvider) { } + + public Task FindAsync( + [NotNull] Guid tagId, + [NotNull] string entityId, + [CanBeNull] Guid? tenantId, + CancellationToken cancellationToken = default) + { + return base.FindAsync(x => + x.TagId == tagId && + x.EntityId == entityId && + x.TenantId == tenantId, + cancellationToken: cancellationToken); + } } } \ No newline at end of file From dce59dadb7b91a745914ee6471eacb69b1bc5b83 Mon Sep 17 00:00:00 2001 From: enisn Date: Mon, 11 Jan 2021 12:57:25 +0300 Subject: [PATCH 007/217] CmsKit - Update Tests according to EntityTag domain logic --- .../Tags/TagAdminAppService_Tests.cs | 4 +-- .../Tags/EntityTagManager_Tests.cs | 27 +++++++++++++++ .../Tags/TagManager_Tests.cs | 20 ++++++++--- .../CmsKitDataSeedContributor.cs | 34 +++++++++++-------- 4 files changed, 64 insertions(+), 21 deletions(-) create mode 100644 modules/cms-kit/test/Volo.CmsKit.Domain.Tests/Tags/EntityTagManager_Tests.cs diff --git a/modules/cms-kit/test/Volo.CmsKit.Application.Tests/Tags/TagAdminAppService_Tests.cs b/modules/cms-kit/test/Volo.CmsKit.Application.Tests/Tags/TagAdminAppService_Tests.cs index 4ad0d43468..b2128bb385 100644 --- a/modules/cms-kit/test/Volo.CmsKit.Application.Tests/Tags/TagAdminAppService_Tests.cs +++ b/modules/cms-kit/test/Volo.CmsKit.Application.Tests/Tags/TagAdminAppService_Tests.cs @@ -32,8 +32,8 @@ namespace Volo.CmsKit.Tags { var list = await _tagAdminAppService.CreateAsync(new TagCreateDto { - EntityType = "any_new_type", - Name = "1", + EntityType = _cmsKitTestData.EntityType1, + Name = "My First Tag", }); list.Id.ShouldNotBe(Guid.Empty); diff --git a/modules/cms-kit/test/Volo.CmsKit.Domain.Tests/Tags/EntityTagManager_Tests.cs b/modules/cms-kit/test/Volo.CmsKit.Domain.Tests/Tags/EntityTagManager_Tests.cs new file mode 100644 index 0000000000..e259472d96 --- /dev/null +++ b/modules/cms-kit/test/Volo.CmsKit.Domain.Tests/Tags/EntityTagManager_Tests.cs @@ -0,0 +1,27 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Volo.CmsKit.Tags +{ + public class EntityTagManager_Tests : CmsKitDomainTestBase + { + private readonly CmsKitTestData _cmsKitTestData; + private readonly IEntityTagManager _entityTagManager; + private readonly IEntityTagManager _entityTagManager; + + public EntityTagManager_Tests() + { + _cmsKitTestData = GetRequiredService(); + _entityTagManager = GetRequiredService(); + } + + public async Task AddTagToEntityAsync_ShouldAdd_WhenEverythingCorrect() + { + var tag = await + await _entityTagManager.AddTagToEntityAsync(_cmsKitTestData.tag) + } + } +} diff --git a/modules/cms-kit/test/Volo.CmsKit.Domain.Tests/Tags/TagManager_Tests.cs b/modules/cms-kit/test/Volo.CmsKit.Domain.Tests/Tags/TagManager_Tests.cs index 0fe8d5ddb4..7d7416c8ce 100644 --- a/modules/cms-kit/test/Volo.CmsKit.Domain.Tests/Tags/TagManager_Tests.cs +++ b/modules/cms-kit/test/Volo.CmsKit.Domain.Tests/Tags/TagManager_Tests.cs @@ -22,7 +22,7 @@ namespace Volo.CmsKit.Tags [Fact] public async Task ShouldAddWhenGettingAsync() { - var newTagEntityType = "testEntity"; + var newTagEntityType = _cmsKitTestData.EntityType1; var newTagName = "test_tag_2123"; var doesExist = await _tagRepository.AnyAsync(newTagEntityType, newTagName); @@ -53,16 +53,28 @@ namespace Volo.CmsKit.Tags } [Fact] - public async Task ShouldInsert() + public async Task ShouldInsertAsync() { - var tag = await _tagManager.InsertAsync(Guid.NewGuid(), "test", "test"); + var tagName = "Freshly Created New Tag"; + var tag = await _tagManager.InsertAsync(Guid.NewGuid(), _cmsKitTestData.EntityType1, tagName); tag.ShouldNotBeNull(); - var doesExist = await _tagRepository.AnyAsync("test", "test"); + var doesExist = await _tagRepository.AnyAsync(_cmsKitTestData.EntityType1, tagName); doesExist.ShouldBeTrue(); } + [Fact] + public async Task ShouldntInsertWithUnconfiguredEntityTypeAsync() + { + var notConfiguredEntityType = "My.Namespace.SomeEntity"; + + var exception = await Should.ThrowAsync(async () => + await _tagManager.InsertAsync(Guid.NewGuid(), notConfiguredEntityType, "test")); + + exception.ShouldNotBeNull(); + exception.Data[nameof(Tag.EntityType)].ShouldBe(notConfiguredEntityType); + } [Fact] public async Task ShouldNotInsert() diff --git a/modules/cms-kit/test/Volo.CmsKit.TestBase/CmsKitDataSeedContributor.cs b/modules/cms-kit/test/Volo.CmsKit.TestBase/CmsKitDataSeedContributor.cs index d9f671229d..589249a65f 100644 --- a/modules/cms-kit/test/Volo.CmsKit.TestBase/CmsKitDataSeedContributor.cs +++ b/modules/cms-kit/test/Volo.CmsKit.TestBase/CmsKitDataSeedContributor.cs @@ -27,7 +27,7 @@ namespace Volo.CmsKit private readonly IRatingRepository _ratingRepository; private readonly ICurrentTenant _currentTenant; private readonly IContentRepository _contentRepository; - private readonly IEntityTagRepository _entityTagRepository; + private readonly IEntityTagManager _entityTagManager; private readonly ITagManager _tagManager; private readonly IPageRepository _pageRepository; private readonly IOptions _options; @@ -39,10 +39,10 @@ namespace Volo.CmsKit ICommentRepository commentRepository, ReactionManager reactionManager, IRatingRepository ratingRepository, - ICurrentTenant currentTenant, + ICurrentTenant currentTenant, IContentRepository contentRepository, - ITagManager tagManager, - IEntityTagRepository entityTagRepository, + ITagManager tagManager, + IEntityTagManager entityTagManager, IPageRepository pageRepository, IOptions options) { @@ -55,7 +55,7 @@ namespace Volo.CmsKit _currentTenant = currentTenant; _contentRepository = contentRepository; _tagManager = tagManager; - _entityTagRepository = entityTagRepository; + _entityTagManager = entityTagManager; _pageRepository = pageRepository; _options = options; } @@ -64,6 +64,8 @@ namespace Volo.CmsKit { using (_currentTenant.Change(context?.TenantId)) { + await ConfigureCmsKitOptionsAsync(); + await SeedUsersAsync(); await SeedCommentsAsync(); @@ -77,13 +79,15 @@ namespace Volo.CmsKit await SeedTagsAsync(); await SeedPagesAsync(); - - await ConfigureCmsKitOptionsAsync(); } } private Task ConfigureCmsKitOptionsAsync() { + _options.Value.Tags.AddOrReplace(_cmsKitTestData.EntityType1); + _options.Value.Tags.AddOrReplace(_cmsKitTestData.EntityType2); + _options.Value.Tags.AddOrReplace(_cmsKitTestData.Content_1_EntityType); + _options.Value.Tags.AddOrReplace(_cmsKitTestData.Content_2_EntityType); _options.Value.Tags.AddOrReplace(_cmsKitTestData.TagDefinition_1_EntityType); return Task.CompletedTask; @@ -222,14 +226,14 @@ namespace Volo.CmsKit _cmsKitTestData.Content_1_EntityId, _cmsKitTestData.Content_1 ); - + var content2 = new Content( _cmsKitTestData.Content_2_Id, _cmsKitTestData.Content_2_EntityType, _cmsKitTestData.Content_2_EntityId, _cmsKitTestData.Content_2 ); - + var content3 = new Content( Guid.NewGuid(), "deleted_entity_type", @@ -251,14 +255,14 @@ namespace Volo.CmsKit { var tagEntity = await _tagManager.InsertAsync(_guidGenerator.Create(), _cmsKitTestData.Content_1_EntityType, tag); - await _entityTagRepository.InsertAsync(new EntityTag(tagEntity.Id, _cmsKitTestData.Content_1_EntityId)); + await _entityTagManager.AddTagToEntityAsync(tagEntity.Id, _cmsKitTestData.Content_1_EntityType, _cmsKitTestData.Content_1_EntityId); } - + foreach (var tag in _cmsKitTestData.Content_2_Tags) { var tagEntity = await _tagManager.InsertAsync(_guidGenerator.Create(), _cmsKitTestData.Content_2_EntityType, tag); - - await _entityTagRepository.InsertAsync(new EntityTag(tagEntity.Id, _cmsKitTestData.Content_2_EntityId)); + + await _entityTagManager.AddTagToEntityAsync(tagEntity.Id, _cmsKitTestData.Content_2_EntityType, _cmsKitTestData.Content_2_EntityId); } } @@ -266,10 +270,10 @@ namespace Volo.CmsKit { var page1 = new Page(_cmsKitTestData.Page_1_Id, _cmsKitTestData.Page_1_Title, _cmsKitTestData.Page_1_Url, _cmsKitTestData.Page_1_Description); var page1Content = new Content(_guidGenerator.Create(), nameof(Page), page1.Id.ToString(), _cmsKitTestData.Page_1_Content); - + await _pageRepository.InsertAsync(page1); await _contentRepository.InsertAsync(page1Content); - + var page2 = new Page(_cmsKitTestData.Page_2_Id, _cmsKitTestData.Page_2_Title, _cmsKitTestData.Page_2_Url, _cmsKitTestData.Page_2_Description); var page2Content = new Content(_guidGenerator.Create(), nameof(Page), page2.Id.ToString(), _cmsKitTestData.Page_2_Content); From 8c607c4b5a00c5b97a48ae8b9f7b5600251708bd Mon Sep 17 00:00:00 2001 From: enisn Date: Mon, 11 Jan 2021 12:59:32 +0300 Subject: [PATCH 008/217] CmsKit - Remove EntityTagManager tests --- .../Tags/EntityTagManager_Tests.cs | 27 ------------------- 1 file changed, 27 deletions(-) delete mode 100644 modules/cms-kit/test/Volo.CmsKit.Domain.Tests/Tags/EntityTagManager_Tests.cs diff --git a/modules/cms-kit/test/Volo.CmsKit.Domain.Tests/Tags/EntityTagManager_Tests.cs b/modules/cms-kit/test/Volo.CmsKit.Domain.Tests/Tags/EntityTagManager_Tests.cs deleted file mode 100644 index e259472d96..0000000000 --- a/modules/cms-kit/test/Volo.CmsKit.Domain.Tests/Tags/EntityTagManager_Tests.cs +++ /dev/null @@ -1,27 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; - -namespace Volo.CmsKit.Tags -{ - public class EntityTagManager_Tests : CmsKitDomainTestBase - { - private readonly CmsKitTestData _cmsKitTestData; - private readonly IEntityTagManager _entityTagManager; - private readonly IEntityTagManager _entityTagManager; - - public EntityTagManager_Tests() - { - _cmsKitTestData = GetRequiredService(); - _entityTagManager = GetRequiredService(); - } - - public async Task AddTagToEntityAsync_ShouldAdd_WhenEverythingCorrect() - { - var tag = await - await _entityTagManager.AddTagToEntityAsync(_cmsKitTestData.tag) - } - } -} From 56513002753bbf161590d88d9555b27289946b12 Mon Sep 17 00:00:00 2001 From: enisn Date: Mon, 11 Jan 2021 13:43:35 +0300 Subject: [PATCH 009/217] CmsKit - Add EntityTag tests --- .../Tags/EntityTagManager_Tests.cs | 55 +++++++++++++++++++ .../CmsKitDataSeedContributor.cs | 8 +++ .../Volo.CmsKit.TestBase/CmsKitTestData.cs | 9 +++ 3 files changed, 72 insertions(+) create mode 100644 modules/cms-kit/test/Volo.CmsKit.Domain.Tests/Tags/EntityTagManager_Tests.cs diff --git a/modules/cms-kit/test/Volo.CmsKit.Domain.Tests/Tags/EntityTagManager_Tests.cs b/modules/cms-kit/test/Volo.CmsKit.Domain.Tests/Tags/EntityTagManager_Tests.cs new file mode 100644 index 0000000000..2e0d17fadd --- /dev/null +++ b/modules/cms-kit/test/Volo.CmsKit.Domain.Tests/Tags/EntityTagManager_Tests.cs @@ -0,0 +1,55 @@ +using Shouldly; +using System.Linq; +using System.Threading.Tasks; +using Xunit; + +namespace Volo.CmsKit.Tags +{ + public class EntityTagManager_Tests : CmsKitDomainTestBase + { + private readonly CmsKitTestData _cmsKitTestData; + private readonly IEntityTagManager _entityTagManager; + private readonly ITagRepository _tagRepository; + + public EntityTagManager_Tests() + { + _cmsKitTestData = GetRequiredService(); + _entityTagManager = GetRequiredService(); + _tagRepository = GetRequiredService(); + } + + [Fact] + public async Task AddTagToEntityAsync_ShouldAdd_WhenEverythingCorrect() + { + var entityTag = await _entityTagManager.AddTagToEntityAsync(_cmsKitTestData.TagId_1, _cmsKitTestData.EntityType1, _cmsKitTestData.EntityId1); + + entityTag.ShouldNotBeNull(); + } + + [Fact] + public async Task AddTagToEntity_ShouldThrowNotTaggable_WithNotConfiguredEntityType() + { + var entityType = "Not.Configured.EntityType"; + + var exception = Should.Throw(async () => + await _entityTagManager.AddTagToEntityAsync(_cmsKitTestData.TagId_1, entityType, _cmsKitTestData.EntityId1) + ); + + exception.ShouldNotBeNull(); + exception.Data[nameof(Tag.EntityType)].ShouldBe(entityType); + } + + [Fact] + public async Task RemoveTagFromEntityAsync_ShouldRemove_WhenEverythingCorrect() + { + var tagToDelete = (await _tagRepository.GetAllRelatedTagsAsync(_cmsKitTestData.EntityType1, _cmsKitTestData.EntityId1)) + .First(); + + await _entityTagManager.RemoveTagFromEntityAsync(tagToDelete.Id, tagToDelete.EntityType, _cmsKitTestData.EntityId1); + + var tags = await _tagRepository.GetAllRelatedTagsAsync(_cmsKitTestData.EntityType1, _cmsKitTestData.EntityId1); + + tags.ShouldNotContain(x => x.Id == tagToDelete.Id); + } + } +} diff --git a/modules/cms-kit/test/Volo.CmsKit.TestBase/CmsKitDataSeedContributor.cs b/modules/cms-kit/test/Volo.CmsKit.TestBase/CmsKitDataSeedContributor.cs index 589249a65f..9adc4442cb 100644 --- a/modules/cms-kit/test/Volo.CmsKit.TestBase/CmsKitDataSeedContributor.cs +++ b/modules/cms-kit/test/Volo.CmsKit.TestBase/CmsKitDataSeedContributor.cs @@ -251,6 +251,14 @@ namespace Volo.CmsKit private async Task SeedTagsAsync() { + var created1 = await _tagManager.InsertAsync(_cmsKitTestData.TagId_1, _cmsKitTestData.EntityType1, _cmsKitTestData.TagName_1); + + await _entityTagManager.AddTagToEntityAsync(created1.Id, created1.EntityType, _cmsKitTestData.EntityId1); + + var created2 = await _tagManager.InsertAsync(_cmsKitTestData.TagId_2, _cmsKitTestData.EntityType2, _cmsKitTestData.TagName_2); + + await _entityTagManager.AddTagToEntityAsync(created2.Id, created2.EntityType, _cmsKitTestData.EntityId2); + foreach (var tag in _cmsKitTestData.Content_1_Tags) { var tagEntity = await _tagManager.InsertAsync(_guidGenerator.Create(), _cmsKitTestData.Content_1_EntityType, tag); diff --git a/modules/cms-kit/test/Volo.CmsKit.TestBase/CmsKitTestData.cs b/modules/cms-kit/test/Volo.CmsKit.TestBase/CmsKitTestData.cs index c07b038714..4415cd7eb3 100644 --- a/modules/cms-kit/test/Volo.CmsKit.TestBase/CmsKitTestData.cs +++ b/modules/cms-kit/test/Volo.CmsKit.TestBase/CmsKitTestData.cs @@ -12,6 +12,7 @@ namespace Volo.CmsKit public Guid CommentWithChildId { get; } = Guid.NewGuid(); + public string EntityType1 { get; } = "EntityName1"; public string EntityType2 { get; } = "EntityName2"; @@ -61,5 +62,13 @@ namespace Volo.CmsKit public string Page_2_Content => Content_2; public string TagDefinition_1_EntityType => "My.Namespace.CustomType"; + + public Guid TagId_1 { get; } = Guid.NewGuid(); + + public string TagName_1 => "Awesome"; + + public Guid TagId_2 { get; } = Guid.NewGuid(); + + public string TagName_2 => "News"; } } From b28ad6b82e23be39401c65f158c1f1fa70251e00 Mon Sep 17 00:00:00 2001 From: enisn Date: Mon, 11 Jan 2021 15:18:50 +0300 Subject: [PATCH 010/217] CmsKit - Fix EntityTag Tests --- .../Tags/EntityTagManager_Tests.cs | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/modules/cms-kit/test/Volo.CmsKit.Domain.Tests/Tags/EntityTagManager_Tests.cs b/modules/cms-kit/test/Volo.CmsKit.Domain.Tests/Tags/EntityTagManager_Tests.cs index 2e0d17fadd..5a6144733c 100644 --- a/modules/cms-kit/test/Volo.CmsKit.Domain.Tests/Tags/EntityTagManager_Tests.cs +++ b/modules/cms-kit/test/Volo.CmsKit.Domain.Tests/Tags/EntityTagManager_Tests.cs @@ -1,6 +1,7 @@ using Shouldly; using System.Linq; using System.Threading.Tasks; +using Volo.Abp.Guids; using Xunit; namespace Volo.CmsKit.Tags @@ -10,18 +11,22 @@ namespace Volo.CmsKit.Tags private readonly CmsKitTestData _cmsKitTestData; private readonly IEntityTagManager _entityTagManager; private readonly ITagRepository _tagRepository; + private readonly IGuidGenerator _guidGenerator; public EntityTagManager_Tests() { _cmsKitTestData = GetRequiredService(); _entityTagManager = GetRequiredService(); _tagRepository = GetRequiredService(); + _guidGenerator = GetRequiredService(); } [Fact] public async Task AddTagToEntityAsync_ShouldAdd_WhenEverythingCorrect() { - var entityTag = await _entityTagManager.AddTagToEntityAsync(_cmsKitTestData.TagId_1, _cmsKitTestData.EntityType1, _cmsKitTestData.EntityId1); + var tag = await _tagRepository.InsertAsync(new Tag(_guidGenerator.Create(), _cmsKitTestData.EntityType1, "My Test Tag #1")); + + var entityTag = await _entityTagManager.AddTagToEntityAsync(tag.Id, _cmsKitTestData.EntityType1, _cmsKitTestData.EntityId1); entityTag.ShouldNotBeNull(); } From a92a5c98ab95aab4c456d9068c141e6fddba8109 Mon Sep 17 00:00:00 2001 From: enisn Date: Tue, 12 Jan 2021 13:36:35 +0300 Subject: [PATCH 011/217] CmsKit - Fix localization problem for TagDefinitions --- .../Volo/CmsKit/Admin/Tags/TagDefinitionDto.cs | 10 ++++++++++ .../Volo/CmsKit/Admin/Tags/TagAdminAppService.cs | 12 ++++++++++-- 2 files changed, 20 insertions(+), 2 deletions(-) diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Tags/TagDefinitionDto.cs b/modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Tags/TagDefinitionDto.cs index b5abf8b69c..0fdfe04b00 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Tags/TagDefinitionDto.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Tags/TagDefinitionDto.cs @@ -2,7 +2,17 @@ { public class TagDefinitionDto { + public TagDefinitionDto() + { + } + public TagDefinitionDto(string entityType, string displayName) + { + EntityType = entityType; + DisplayName = displayName; + } + public string EntityType { get; set; } + public string DisplayName { get; set; } } } diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/Tags/TagAdminAppService.cs b/modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/Tags/TagAdminAppService.cs index 29fbb943bb..54e2a7a530 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/Tags/TagAdminAppService.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/Tags/TagAdminAppService.cs @@ -1,4 +1,5 @@ using Microsoft.AspNetCore.Authorization; +using Microsoft.Extensions.Localization; using System; using System.Collections.Generic; using System.Linq; @@ -23,11 +24,15 @@ namespace Volo.CmsKit.Admin.Tags { protected ITagManager TagManager { get; } + protected IStringLocalizerFactory StringLocalizerFactory { get; } + public TagAdminAppService( IRepository repository, - ITagManager tagManager) : base(repository) + ITagManager tagManager, + IStringLocalizerFactory stringLocalizerFactory) : base(repository) { TagManager = tagManager; + StringLocalizerFactory = stringLocalizerFactory; GetListPolicyName = CmsKitAdminPermissions.Tags.Default; GetPolicyName = CmsKitAdminPermissions.Tags.Default; @@ -71,7 +76,10 @@ namespace Volo.CmsKit.Admin.Tags { var definitions = await TagManager.GetTagDefinitionsAsync(); - return ObjectMapper.Map, List>(definitions); + return definitions + .Select(s => + new TagDefinitionDto(s.EntityType, s.DisplayName.Localize(StringLocalizerFactory))) + .ToList(); } } } From 02a66342c71dedb484ccf9ca414a3c8066d17bb3 Mon Sep 17 00:00:00 2001 From: enisn Date: Tue, 12 Jan 2021 13:58:31 +0300 Subject: [PATCH 012/217] CmsKit - Refactor DefaultTagDefinitionStore --- .../Volo/CmsKit/Tags/DefaultTagDefinitionStore.cs | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Tags/DefaultTagDefinitionStore.cs b/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Tags/DefaultTagDefinitionStore.cs index 5b30ab08b9..bf52474446 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Tags/DefaultTagDefinitionStore.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Tags/DefaultTagDefinitionStore.cs @@ -1,9 +1,7 @@ using JetBrains.Annotations; using Microsoft.Extensions.Options; -using System; using System.Collections.Generic; using System.Linq; -using System.Text; using System.Threading.Tasks; using Volo.Abp; using Volo.Abp.DependencyInjection; @@ -19,19 +17,20 @@ namespace Volo.CmsKit.Tags this.options = options.Value; } - public Task GetTagDefinitionOrNullAsync([NotNull] string entityType) + public virtual Task GetTagDefinitionOrNullAsync([NotNull] string entityType) { Check.NotNullOrWhiteSpace(entityType, nameof(entityType)); return Task.FromResult(options.Tags.GetOrDefault(entityType)); } - public Task> GetTagDefinitionsAsync() + public virtual Task> GetTagDefinitionsAsync() { return Task.FromResult(options.Tags.Values.ToList()); } - public Task IsDefinedAsync([NotNull] string entityType) + public virtual Task IsDefinedAsync([NotNull] string entityType) { + Check.NotNullOrWhiteSpace(entityType, nameof(entityType)); return Task.FromResult(options.Tags.ContainsKey(entityType)); } } From 20db982c20fec04713afc8243ece1522e96cce63 Mon Sep 17 00:00:00 2001 From: enisn Date: Wed, 13 Jan 2021 11:47:03 +0300 Subject: [PATCH 013/217] CmsKit - Move DisplayName to TagDefinition from PolicySpecifiedDefinition --- .../Volo/CmsKit/PolicySpecifiedDefinition.cs | 5 ----- .../src/Volo.CmsKit.Domain/Volo/CmsKit/Tags/TagDefiniton.cs | 6 +++++- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/PolicySpecifiedDefinition.cs b/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/PolicySpecifiedDefinition.cs index 88fd6eb824..6105beab97 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/PolicySpecifiedDefinition.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/PolicySpecifiedDefinition.cs @@ -11,20 +11,15 @@ namespace Volo.CmsKit.Domain.Volo.CmsKit } public PolicySpecifiedDefinition( - [CanBeNull] ILocalizableString displayName = null, [CanBeNull] string createPolicy = null, [CanBeNull] string updatePolicy = null, [CanBeNull] string deletePolicy = null) { - DisplayName = displayName; CreatePolicy = createPolicy; DeletePolicy = deletePolicy; UpdatePolicy = updatePolicy; } - [CanBeNull] - public virtual ILocalizableString DisplayName { get; } - [CanBeNull] public virtual string CreatePolicy { get; set; } diff --git a/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Tags/TagDefiniton.cs b/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Tags/TagDefiniton.cs index 6ccff22f2c..6029ab3946 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Tags/TagDefiniton.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Tags/TagDefiniton.cs @@ -9,6 +9,9 @@ namespace Volo.CmsKit.Tags { public string EntityType { get; } + [CanBeNull] + public virtual ILocalizableString DisplayName { get; } + public TagDefiniton() { } @@ -18,10 +21,11 @@ namespace Volo.CmsKit.Tags [CanBeNull] ILocalizableString displayName = null, [CanBeNull] string createPolicy = null, [CanBeNull] string updatePolicy = null, - [CanBeNull] string deletePolicy = null) : base(displayName, createPolicy, updatePolicy, deletePolicy) + [CanBeNull] string deletePolicy = null) : base(createPolicy, updatePolicy, deletePolicy) { EntityType = Check.NotNullOrWhiteSpace(entityType, nameof(entityType)); + DisplayName = displayName; } } } From fa48c8a4515653a91f8b6bd777df98f39b4084ea Mon Sep 17 00:00:00 2001 From: enisn Date: Wed, 13 Jan 2021 15:16:20 +0300 Subject: [PATCH 014/217] CmsKit - Add EntityTagAppService --- .../CmsKit/Admin/Tags/EntityTagCreateDto.cs | 16 ++++++ .../CmsKit/Admin/Tags/EntityTagRemoveDto.cs | 17 ++++++ .../Admin/Tags/IEntityTagAdminAppService.cs | 11 ++++ .../CmsKit/Admin/Pages/PageAdminAppService.cs | 1 - .../Admin/Tags/EntityTagAdminAppService.cs | 52 +++++++++++++++++++ .../CmsKit/Tags/DefaultTagDefinitionStore.cs | 7 ++- .../Volo/CmsKit/Tags/ITagDefinitionStore.cs | 2 +- 7 files changed, 102 insertions(+), 4 deletions(-) create mode 100644 modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Tags/EntityTagCreateDto.cs create mode 100644 modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Tags/EntityTagRemoveDto.cs create mode 100644 modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Tags/IEntityTagAdminAppService.cs create mode 100644 modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/Tags/EntityTagAdminAppService.cs diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Tags/EntityTagCreateDto.cs b/modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Tags/EntityTagCreateDto.cs new file mode 100644 index 0000000000..92e83fecf4 --- /dev/null +++ b/modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Tags/EntityTagCreateDto.cs @@ -0,0 +1,16 @@ +using System.ComponentModel.DataAnnotations; + +namespace Volo.CmsKit.Admin.Tags +{ + public class EntityTagCreateDto + { + [Required] + public string TagName { get; set; } + + [Required] + public string EntityType { get; set; } + + [Required] + public string EntityId { get; set; } + } +} diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Tags/EntityTagRemoveDto.cs b/modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Tags/EntityTagRemoveDto.cs new file mode 100644 index 0000000000..411d4c7157 --- /dev/null +++ b/modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Tags/EntityTagRemoveDto.cs @@ -0,0 +1,17 @@ +using System; +using System.ComponentModel.DataAnnotations; + +namespace Volo.CmsKit.Admin.Tags +{ + public class EntityTagRemoveDto + { + [Required] + public Guid TagId { get; set; } + + [Required] + public string EntityType { get; set; } + + [Required] + public string EntityId { get; set; } + } +} diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Tags/IEntityTagAdminAppService.cs b/modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Tags/IEntityTagAdminAppService.cs new file mode 100644 index 0000000000..aece4d5c00 --- /dev/null +++ b/modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Tags/IEntityTagAdminAppService.cs @@ -0,0 +1,11 @@ +using System.Threading.Tasks; + +namespace Volo.CmsKit.Admin.Tags +{ + public interface IEntityTagAdminAppService + { + Task AddTagToEntityAsync(EntityTagCreateDto input); + + Task RemoveTagFromEntityAsync(EntityTagRemoveDto input); + } +} diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/Pages/PageAdminAppService.cs b/modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/Pages/PageAdminAppService.cs index 6778dd7916..3934f8a6b2 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/Pages/PageAdminAppService.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/Pages/PageAdminAppService.cs @@ -21,7 +21,6 @@ namespace Volo.CmsKit.Admin.Pages public virtual async Task GetAsync(Guid id) { var page = await PageRepository.GetAsync(id); - return ObjectMapper.Map(page); } diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/Tags/EntityTagAdminAppService.cs b/modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/Tags/EntityTagAdminAppService.cs new file mode 100644 index 0000000000..848a2ea11e --- /dev/null +++ b/modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/Tags/EntityTagAdminAppService.cs @@ -0,0 +1,52 @@ +using System; +using System.Threading.Tasks; +using Volo.CmsKit.Admin.Tags; +using Volo.CmsKit.Tags; + +namespace Volo.CmsKit.Admin.Application.Volo.CmsKit.Admin.Tags +{ + public class EntityTagAdminAppService : CmsKitAdminAppServiceBase, IEntityTagAdminAppService + { + protected ITagDefinitionStore _tagDefinitionStore; + protected IEntityTagManager _entityTagManager; + protected ITagManager _tagManager; + + public EntityTagAdminAppService( + ITagDefinitionStore tagDefinitionStore, + IEntityTagManager entityTagManager, + ITagManager tagManager) + { + _tagDefinitionStore = tagDefinitionStore; + _entityTagManager = entityTagManager; + _tagManager = tagManager; + } + + public async Task AddTagToEntityAsync(EntityTagCreateDto input) + { + var definition = await _tagDefinitionStore.GetTagDefinitionAsync(input.EntityType); + + await CheckPolicyAsync(definition.CreatePolicy); + + var tag = await _tagManager.GetOrAddAsync(input.EntityType, input.TagName, CurrentTenant?.Id); + + await _entityTagManager.AddTagToEntityAsync( + tag.Id, + input.EntityType, + input.EntityId, + CurrentTenant?.Id); + } + + public async Task RemoveTagFromEntityAsync(EntityTagRemoveDto input) + { + var definition = await _tagDefinitionStore.GetTagDefinitionAsync(input.EntityType); + + await CheckPolicyAsync(definition.DeletePolicy); + + await _entityTagManager.RemoveTagFromEntityAsync( + input.TagId, + input.EntityType, + input.EntityId, + CurrentTenant?.Id); + } + } +} diff --git a/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Tags/DefaultTagDefinitionStore.cs b/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Tags/DefaultTagDefinitionStore.cs index bf52474446..b080720129 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Tags/DefaultTagDefinitionStore.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Tags/DefaultTagDefinitionStore.cs @@ -17,10 +17,13 @@ namespace Volo.CmsKit.Tags this.options = options.Value; } - public virtual Task GetTagDefinitionOrNullAsync([NotNull] string entityType) + public virtual Task GetTagDefinitionAsync([NotNull] string entityType) { Check.NotNullOrWhiteSpace(entityType, nameof(entityType)); - return Task.FromResult(options.Tags.GetOrDefault(entityType)); + + var result = options.Tags.GetOrDefault(entityType) ?? throw new EntityNotTaggableException(entityType); + + return Task.FromResult(result); } public virtual Task> GetTagDefinitionsAsync() diff --git a/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Tags/ITagDefinitionStore.cs b/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Tags/ITagDefinitionStore.cs index 033c6e6a5f..c2e12eb16b 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Tags/ITagDefinitionStore.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Tags/ITagDefinitionStore.cs @@ -8,7 +8,7 @@ namespace Volo.CmsKit.Tags { Task> GetTagDefinitionsAsync(); - Task GetTagDefinitionOrNullAsync([NotNull] string entityType); + Task GetTagDefinitionAsync([NotNull] string entityType); Task IsDefinedAsync([NotNull] string entityType); } From 77b5b1e68297d81077c8bf6f74a02e7430cea5b5 Mon Sep 17 00:00:00 2001 From: EngincanV Date: Thu, 14 Jan 2021 10:38:47 +0300 Subject: [PATCH 015/217] Add missing admin localizations --- .../AbpIoLocalization/Admin/Localization/Resources/en.json | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/abp_io/AbpIoLocalization/AbpIoLocalization/Admin/Localization/Resources/en.json b/abp_io/AbpIoLocalization/AbpIoLocalization/Admin/Localization/Resources/en.json index c190a91470..6daf3c47bc 100644 --- a/abp_io/AbpIoLocalization/AbpIoLocalization/Admin/Localization/Resources/en.json +++ b/abp_io/AbpIoLocalization/AbpIoLocalization/Admin/Localization/Resources/en.json @@ -198,6 +198,8 @@ "Language": "Language", "Optional": "Optional", "CreateArticleLanguageInfo": "The language in which the post is written", - "Enum:ContentSource:2": "Video Post" + "Enum:ContentSource:2": "Video Post", + "VideoPreview": "Video Preview", + "VideoPreviewErrorMessage": "Given video url couldn't retrieve from Youtube. This can be caused by either video is private or the given URL is not available." } } From f7185e4b13a2b783d73351b1b47ca7d9de253561 Mon Sep 17 00:00:00 2001 From: Erol Arkat Date: Thu, 14 Jan 2021 10:56:44 +0300 Subject: [PATCH 016/217] version update --- common.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/common.props b/common.props index f5db446396..5254c91876 100644 --- a/common.props +++ b/common.props @@ -1,7 +1,7 @@ latest - 4.2.0 + 4.3.0 $(NoWarn);CS1591;CS0436 https://abp.io/assets/abp_nupkg.png https://abp.io/ From bafc809dcfd84aafa42595b1a774cbdc253e11ea Mon Sep 17 00:00:00 2001 From: maliming Date: Thu, 14 Jan 2021 16:25:12 +0800 Subject: [PATCH 017/217] Add Access denied page to Account module. Resolve #7207 --- .../Account/Localization/Resources/en.json | 4 +++- .../Account/Localization/Resources/tr.json | 4 +++- .../Localization/Resources/zh-Hans.json | 4 +++- .../Localization/Resources/zh-Hant.json | 4 +++- .../Pages/Account/AccessDenied.cshtml | 15 ++++++++++++ .../Pages/Account/AccessDenied.cshtml.cs | 24 +++++++++++++++++++ 6 files changed, 51 insertions(+), 4 deletions(-) create mode 100644 modules/account/src/Volo.Abp.Account.Web/Pages/Account/AccessDenied.cshtml create mode 100644 modules/account/src/Volo.Abp.Account.Web/Pages/Account/AccessDenied.cshtml.cs diff --git a/modules/account/src/Volo.Abp.Account.Application.Contracts/Volo/Abp/Account/Localization/Resources/en.json b/modules/account/src/Volo.Abp.Account.Application.Contracts/Volo/Abp/Account/Localization/Resources/en.json index 755cd5674b..459d115398 100644 --- a/modules/account/src/Volo.Abp.Account.Application.Contracts/Volo/Abp/Account/Localization/Resources/en.json +++ b/modules/account/src/Volo.Abp.Account.Application.Contracts/Volo/Abp/Account/Localization/Resources/en.json @@ -60,6 +60,8 @@ "Volo.Account:InvalidEmailAddress": "Can not find the given email address: {0}", "PasswordReset": "Password reset", "PasswordResetInfoInEmail": "We received an account recovery request! If you initiated this request, click the following link to reset your password.", - "ResetMyPassword": "Reset my password" + "ResetMyPassword": "Reset my password", + "AccessDenied": "Access denied!", + "AccessDeniedMessage": "You do not have access to this resource." } } diff --git a/modules/account/src/Volo.Abp.Account.Application.Contracts/Volo/Abp/Account/Localization/Resources/tr.json b/modules/account/src/Volo.Abp.Account.Application.Contracts/Volo/Abp/Account/Localization/Resources/tr.json index d8cf5dd74f..a1c899357b 100644 --- a/modules/account/src/Volo.Abp.Account.Application.Contracts/Volo/Abp/Account/Localization/Resources/tr.json +++ b/modules/account/src/Volo.Abp.Account.Application.Contracts/Volo/Abp/Account/Localization/Resources/tr.json @@ -60,6 +60,8 @@ "Volo.Account:InvalidEmailAddress": "Email adresi bulunamadı: {0}", "PasswordReset": "Şifre Sıfırlama", "PasswordResetInfoInEmail": "Şifrenizi sıfırlamanız için bir talep aldık! Eğer bu talebi siz gerçekleştirmişseniz, şifrenizi sıfırlamak için bağlantıya tıklayın.", - "ResetMyPassword": "Şifremi sıfırla" + "ResetMyPassword": "Şifremi sıfırla", + "AccessDenied": "Erişim reddedildi!", + "AccessDeniedMessage": "Bu kaynağa erişiminiz yok." } } diff --git a/modules/account/src/Volo.Abp.Account.Application.Contracts/Volo/Abp/Account/Localization/Resources/zh-Hans.json b/modules/account/src/Volo.Abp.Account.Application.Contracts/Volo/Abp/Account/Localization/Resources/zh-Hans.json index 53fe6135f2..26c6fc3337 100644 --- a/modules/account/src/Volo.Abp.Account.Application.Contracts/Volo/Abp/Account/Localization/Resources/zh-Hans.json +++ b/modules/account/src/Volo.Abp.Account.Application.Contracts/Volo/Abp/Account/Localization/Resources/zh-Hans.json @@ -60,6 +60,8 @@ "Volo.Account:InvalidEmailAddress": "找不到给定的电子邮件地址:{0}", "PasswordReset": "重设密码", "PasswordResetInfoInEmail": "我们收到了帐户恢复请求!如果你发起了此请求,请单击以下链接以重置密码.", - "ResetMyPassword": "重置我的密码" + "ResetMyPassword": "重置我的密码", + "AccessDenied": "拒绝访问!", + "AccessDeniedMessage": "你无权访问此资源." } } diff --git a/modules/account/src/Volo.Abp.Account.Application.Contracts/Volo/Abp/Account/Localization/Resources/zh-Hant.json b/modules/account/src/Volo.Abp.Account.Application.Contracts/Volo/Abp/Account/Localization/Resources/zh-Hant.json index a67ea8d63f..8a57429344 100644 --- a/modules/account/src/Volo.Abp.Account.Application.Contracts/Volo/Abp/Account/Localization/Resources/zh-Hant.json +++ b/modules/account/src/Volo.Abp.Account.Application.Contracts/Volo/Abp/Account/Localization/Resources/zh-Hant.json @@ -58,6 +58,8 @@ "ReturnToApplication": "返回到應用程序", "PasswordReset": "重設密碼", "PasswordResetInfoInEmail": "我們收到了帳戶恢復請求!如果你發起了此請求,請單擊以下鏈接以重置密碼.", - "ResetMyPassword": "重置我的密碼" + "ResetMyPassword": "重置我的密碼", + "AccessDenied": "拒絕訪問!", + "AccessDeniedMessage": "您無權訪問此資源." } } diff --git a/modules/account/src/Volo.Abp.Account.Web/Pages/Account/AccessDenied.cshtml b/modules/account/src/Volo.Abp.Account.Web/Pages/Account/AccessDenied.cshtml new file mode 100644 index 0000000000..28608ff883 --- /dev/null +++ b/modules/account/src/Volo.Abp.Account.Web/Pages/Account/AccessDenied.cshtml @@ -0,0 +1,15 @@ +@page +@model Volo.Abp.Account.Web.Pages.Account.AccessDeniedModel +@using Microsoft.AspNetCore.Mvc.Localization +@using Volo.Abp.Account.Localization +@inject IHtmlLocalizer L + +
+
+

@L["AccessDenied"]

+
+

@L["AccessDeniedMessage"]

+ ← @L["BackToLogin"] +
+
+
diff --git a/modules/account/src/Volo.Abp.Account.Web/Pages/Account/AccessDenied.cshtml.cs b/modules/account/src/Volo.Abp.Account.Web/Pages/Account/AccessDenied.cshtml.cs new file mode 100644 index 0000000000..7ac9639d0b --- /dev/null +++ b/modules/account/src/Volo.Abp.Account.Web/Pages/Account/AccessDenied.cshtml.cs @@ -0,0 +1,24 @@ +using System.Threading.Tasks; +using Microsoft.AspNetCore.Mvc; + +namespace Volo.Abp.Account.Web.Pages.Account +{ + public class AccessDeniedModel : AccountPageModel + { + [BindProperty(SupportsGet = true)] + public string ReturnUrl { get; set; } + + [BindProperty(SupportsGet = true)] + public string ReturnUrlHash { get; set; } + + public virtual Task OnGetAsync() + { + return Task.FromResult(Page()); + } + + public virtual Task OnPostAsync() + { + return Task.FromResult(Page()); + } + } +} From 2424e2832e870154216d9bde1c5dfdbc8432a7fe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Halil=20=C4=B0brahim=20Kalkan?= Date: Thu, 14 Jan 2021 21:07:16 +0300 Subject: [PATCH 018/217] Initial 4.2 blog post --- .../2021-01-14 v4_2_Preview/POST.md | 51 +++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 docs/en/Blog-Posts/2021-01-14 v4_2_Preview/POST.md diff --git a/docs/en/Blog-Posts/2021-01-14 v4_2_Preview/POST.md b/docs/en/Blog-Posts/2021-01-14 v4_2_Preview/POST.md new file mode 100644 index 0000000000..0c44e43825 --- /dev/null +++ b/docs/en/Blog-Posts/2021-01-14 v4_2_Preview/POST.md @@ -0,0 +1,51 @@ +# ABP Framework 4.2 RC Has Been Published + +Today, we have released the [ABP Framework](https://abp.io/) and the [ABP Commercial](https://commercial.abp.io/) 4.2.0 RC (Release Candidate). This blog post introduces the new features and important changes in this new version. + +> **The planned release date for the [4.2.0 final](https://github.com/abpframework/abp/milestone/48) version is January 28, 2021**. + +## Get Started with the 4.2 RC + +If you want to try the version `4.2.0` today, follow the steps below; + +1) **Upgrade** the ABP CLI to the version `4.2.0-rc.1` using a command line terminal: + +````bash +dotnet tool update Volo.Abp.Cli -g --version 4.2.0-rc.1 +```` + +**or install** if you haven't installed before: + +````bash +dotnet tool install Volo.Abp.Cli -g --version 4.2.0-rc.1 +```` + +2) Create a **new application** with the `--preview` option: + +````bash +abp new BookStore --preview +```` + +See the [ABP CLI documentation](https://docs.abp.io/en/abp/latest/CLI) for all the available options. + +> You can also use the *Direct Download* tab on the [Get Started](https://abp.io/get-started) page by selecting the **Preview checkbox**. + +## What's new with the ABP Framework 4.2 + +TODO + +## What's new with the ABP Commercial 4.2 + +TODO + +## ABP Commercial + +TODO + +## About the Next Release(s) + +TODO + +## Feedback + +Please check out the ABP Framework 4.2.0 RC and [provide feedback](https://github.com/abpframework/abp/issues/new) to help us to release a more stable version. **The planned release date for the [4.2.0 final](https://github.com/abpframework/abp/milestone/48) version is January 28, 2021**. From a1b8cc01263d33a573fedf3d6110f17cf7013f42 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Halil=20=C4=B0brahim=20Kalkan?= Date: Thu, 14 Jan 2021 21:49:08 +0300 Subject: [PATCH 019/217] Documented IRepository.GetQueryableAsync() change in the blog post. --- .../2021-01-14 v4_2_Preview/POST.md | 74 ++++++++++++++++++- 1 file changed, 73 insertions(+), 1 deletion(-) diff --git a/docs/en/Blog-Posts/2021-01-14 v4_2_Preview/POST.md b/docs/en/Blog-Posts/2021-01-14 v4_2_Preview/POST.md index 0c44e43825..253fc4a803 100644 --- a/docs/en/Blog-Posts/2021-01-14 v4_2_Preview/POST.md +++ b/docs/en/Blog-Posts/2021-01-14 v4_2_Preview/POST.md @@ -32,7 +32,79 @@ See the [ABP CLI documentation](https://docs.abp.io/en/abp/latest/CLI) for all t ## What's new with the ABP Framework 4.2 -TODO +## IRepository.GetQueryableAsync() + +> **This version comes with an important change about using `IQueryable` features over the [repositories](https://docs.abp.io/en/abp/4.2/Repositories). It is suggested to read this section carefully and apply in your applications.** + +`IRepository` interface inherits `IQueryable`, so you can directly use the standard LINQ extension methods, like `Where`, `OrderBy`, `First`, `Sum`... etc. + +**Example: Using LINQ directly over the repository object** + +````csharp +public class BookAppService : ApplicationService, IBookAppService +{ + private readonly IRepository _bookRepository; + + public BookAppService(IRepository bookRepository) + { + _bookRepository = bookRepository; + } + + public async Task DoItInOldWayAsync() + { + //Apply any standard LINQ extension method + var query = _bookRepository + .Where(x => x.Price > 10) + .OrderBy(x => x.Name); + + //Execute the query asynchronously + var books = await AsyncExecuter.ToListAsync(query); + } +} +```` + +*See [the documentation](https://docs.abp.io/en/abp/4.2/Repositories#iqueryable-async-operations) if you wonder what is the `AsyncExecuter`.* + +Beginning from the version 4.2, the recommended way is using `IRepository.GetQueryableAsync()` to obtain an `IQueryable`, then use the LINQ extension methods over it. + +**Example: Using the new GetQueryableAsync method** + +````csharp +public async Task DoItInNewWayAsync() +{ + //Use GetQueryableAsync to obtain the IQueryable first + var queryable = await _bookRepository.GetQueryableAsync(); + + //Then apply any standard LINQ extension method + var query = queryable + .Where(x => x.Price > 10) + .OrderBy(x => x.Name); + + //Finally, execute the query asynchronously + var books = await AsyncExecuter.ToListAsync(query); +} +```` + +ABP may start a database transaction when you get an `IQueryable` (If current [Unit Of Work](https://docs.abp.io/en/abp/latest/Unit-Of-Work) is transactional). In this new way, it is possible to **start the database transaction in an asynchronous way**. Previously, we could not get the advantage of asynchronous while starting the transactions. + +> **The new way has a significant performance and scalability gain. The old usage (directly using LINQ over the repositories) will be removed in the next major version.** You have a lot of time for the change, but we recommend to immediately take the action since the old usage has a big scalability problem. + +#### About IRepository Async Extension Methods + +Using IRepository Async Extension Methods has no such a problem. The examples below are pretty fine: + +````csharp +var countAll = await _personRepository + .CountAsync(); + +var count = await _personRepository + .CountAsync(x => x.Name.StartsWith("A")); + +var book1984 = await _bookRepository + .FirstOrDefaultAsync(x => x.Name == "John"); +```` + +See the [repository documentation](https://docs.abp.io/en/abp/4.2/Repositories#iqueryable-async-operations) to understand the relation between `IQueryable` and asynchronous operations. ## What's new with the ABP Commercial 4.2 From cdbd7ab0dbd776377e2b3197c1279e411294f282 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Halil=20=C4=B0brahim=20Kalkan?= Date: Thu, 14 Jan 2021 22:10:16 +0300 Subject: [PATCH 020/217] Added sections to the blog post --- .../2021-01-14 v4_2_Preview/POST.md | 30 +++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/docs/en/Blog-Posts/2021-01-14 v4_2_Preview/POST.md b/docs/en/Blog-Posts/2021-01-14 v4_2_Preview/POST.md index 253fc4a803..094a2d64d1 100644 --- a/docs/en/Blog-Posts/2021-01-14 v4_2_Preview/POST.md +++ b/docs/en/Blog-Posts/2021-01-14 v4_2_Preview/POST.md @@ -106,6 +106,36 @@ var book1984 = await _bookRepository See the [repository documentation](https://docs.abp.io/en/abp/4.2/Repositories#iqueryable-async-operations) to understand the relation between `IQueryable` and asynchronous operations. +### Repository Bulk Operations + +This version adds the following methods to the repositories: + +* `InsertManyAsync` +* `UpdateManyAsync` +* `DeleteManyAsync` + +The purpose of these methods to insert, update or delete many entities in one call with a better performance. + +Currently, **MongoDB** provider implements these methods as a single bulk operation since MongoDB API natively supports. But current **Entity Framework Core** implementation is not a real bulk operation. Instead, it does its best with the native API of the EF Core. If you want to implement in a more performant way, you can [customize the bulk operations](https://docs.abp.io/en/abp/4.2/Entity-Framework-Core#customize-bulk-operations) with your own implementation or by using a library. We could find a good open source library for EF Core 5.0 to implement it. + +### Selecting DBMS on Template Creation + +And DbMigrator creates the initial migration if no migration exists. + +**TODO** + +### Angular Unit Testing + +We've improved the modules and the startup template to setup and write unit tests easier with the Angular UI. See the [Angular Unit Testing document](https://docs.abp.io/en/abp/4.2/UI/Angular/Testing) for details. + +### Other News + +* Improved HTTP **request-response performance** by resolving dependencies in a deferred way in the action/page filters, interceptors and some other services. +* Removed `MultipleActiveResultSets` from connection strings for new templates for SQL Server, since the new EF Core gives a warning when using it. If you want to use it, you need to change the connection string yourself. +* Added `HardDeleteAsync` extension method that takes a predicate to delete multiple entities. This extension method is available if the entity [Soft Delete](https://docs.abp.io/en/abp/latest/Data-Filtering). +* Implemented the [Page Alerts](https://docs.abp.io/en/abp/4.2/UI/Angular/Page-Alerts) for Angular UI. +* Implemented [Page Progressbar](https://github.com/abpframework/abp/blob/dev/docs/en/UI/Blazor/Page-Progress.md). It automatically shows an undetermined progress bar on top of the page while performing an AJAX request. It also proves an API to you if you need to show/hide the progress bar in your code. + ## What's new with the ABP Commercial 4.2 TODO From ab1af66478374239e391047ba6eb515db2ed6e37 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Halil=20=C4=B0brahim=20Kalkan?= Date: Thu, 14 Jan 2021 22:14:24 +0300 Subject: [PATCH 021/217] Added sections to the post --- .../2021-01-14 v4_2_Preview/POST.md | 24 ++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) diff --git a/docs/en/Blog-Posts/2021-01-14 v4_2_Preview/POST.md b/docs/en/Blog-Posts/2021-01-14 v4_2_Preview/POST.md index 094a2d64d1..aaa69d9335 100644 --- a/docs/en/Blog-Posts/2021-01-14 v4_2_Preview/POST.md +++ b/docs/en/Blog-Posts/2021-01-14 v4_2_Preview/POST.md @@ -124,6 +124,10 @@ And DbMigrator creates the initial migration if no migration exists. **TODO** +### Swagger Login + +TODO + ### Angular Unit Testing We've improved the modules and the startup template to setup and write unit tests easier with the Angular UI. See the [Angular Unit Testing document](https://docs.abp.io/en/abp/4.2/UI/Angular/Testing) for details. @@ -138,12 +142,30 @@ We've improved the modules and the startup template to setup and write unit test ## What's new with the ABP Commercial 4.2 +### Microservice Startup Template + +TODO + +### Public Website in the Startup Templates + TODO -## ABP Commercial +### Easy CRM Blazor UI TODO +### Other News + +* Implemented Iyzico as a payment gateway for the payment module in addition to Paypal, Stripe, 2Checkout and Payu. +* TODO: Suite news + +## ABP Community News + +TODO: + +* Video content support +* Multi-language support - accepting content in every language! + ## About the Next Release(s) TODO From 8293b0aa0fc67d5ec5d6f3f028ffa440b27b5bdf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Halil=20=C4=B0brahim=20Kalkan?= Date: Thu, 14 Jan 2021 22:15:06 +0300 Subject: [PATCH 022/217] Update POST.md --- docs/en/Blog-Posts/2021-01-14 v4_2_Preview/POST.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/en/Blog-Posts/2021-01-14 v4_2_Preview/POST.md b/docs/en/Blog-Posts/2021-01-14 v4_2_Preview/POST.md index aaa69d9335..21654d2b1c 100644 --- a/docs/en/Blog-Posts/2021-01-14 v4_2_Preview/POST.md +++ b/docs/en/Blog-Posts/2021-01-14 v4_2_Preview/POST.md @@ -137,8 +137,8 @@ We've improved the modules and the startup template to setup and write unit test * Improved HTTP **request-response performance** by resolving dependencies in a deferred way in the action/page filters, interceptors and some other services. * Removed `MultipleActiveResultSets` from connection strings for new templates for SQL Server, since the new EF Core gives a warning when using it. If you want to use it, you need to change the connection string yourself. * Added `HardDeleteAsync` extension method that takes a predicate to delete multiple entities. This extension method is available if the entity [Soft Delete](https://docs.abp.io/en/abp/latest/Data-Filtering). -* Implemented the [Page Alerts](https://docs.abp.io/en/abp/4.2/UI/Angular/Page-Alerts) for Angular UI. -* Implemented [Page Progressbar](https://github.com/abpframework/abp/blob/dev/docs/en/UI/Blazor/Page-Progress.md). It automatically shows an undetermined progress bar on top of the page while performing an AJAX request. It also proves an API to you if you need to show/hide the progress bar in your code. +* Implemented the [Page Alerts](https://docs.abp.io/en/abp/4.2/UI/Angular/Page-Alerts) for the **Angular UI**. +* Implemented [Page Progressbar](https://github.com/abpframework/abp/blob/dev/docs/en/UI/Blazor/Page-Progress.md) for the **Blazor UI**. It automatically shows an undetermined progress bar on top of the page while performing an AJAX request. It also proves an API to you if you need to show/hide the progress bar in your code. ## What's new with the ABP Commercial 4.2 From f5c34c4227ca1b2a36080d914936d10aee5ef2ae Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Halil=20=C4=B0brahim=20Kalkan?= Date: Thu, 14 Jan 2021 23:18:13 +0300 Subject: [PATCH 023/217] Added section: Microservice Startup Template --- .../2021-01-14 v4_2_Preview/POST.md | 26 ++++++++++++++++-- .../microservice-template-diagram.png | Bin 0 -> 76701 bytes 2 files changed, 24 insertions(+), 2 deletions(-) create mode 100644 docs/en/Blog-Posts/2021-01-14 v4_2_Preview/microservice-template-diagram.png diff --git a/docs/en/Blog-Posts/2021-01-14 v4_2_Preview/POST.md b/docs/en/Blog-Posts/2021-01-14 v4_2_Preview/POST.md index 21654d2b1c..1f78629cb1 100644 --- a/docs/en/Blog-Posts/2021-01-14 v4_2_Preview/POST.md +++ b/docs/en/Blog-Posts/2021-01-14 v4_2_Preview/POST.md @@ -138,13 +138,35 @@ We've improved the modules and the startup template to setup and write unit test * Removed `MultipleActiveResultSets` from connection strings for new templates for SQL Server, since the new EF Core gives a warning when using it. If you want to use it, you need to change the connection string yourself. * Added `HardDeleteAsync` extension method that takes a predicate to delete multiple entities. This extension method is available if the entity [Soft Delete](https://docs.abp.io/en/abp/latest/Data-Filtering). * Implemented the [Page Alerts](https://docs.abp.io/en/abp/4.2/UI/Angular/Page-Alerts) for the **Angular UI**. -* Implemented [Page Progressbar](https://github.com/abpframework/abp/blob/dev/docs/en/UI/Blazor/Page-Progress.md) for the **Blazor UI**. It automatically shows an undetermined progress bar on top of the page while performing an AJAX request. It also proves an API to you if you need to show/hide the progress bar in your code. +* Implemented [Page Progress](https://docs.abp.io/en/abp/4.2/UI/Blazor/Page-Progress) for the **Blazor UI**. It automatically shows an undetermined progress bar on top of the page while performing an AJAX request. It also proves an API to you if you need to show/hide the progress bar in your code. ## What's new with the ABP Commercial 4.2 ### Microservice Startup Template -TODO +The new [Microservice Startup Template](https://docs.abp.io/en/commercial/4.2/startup-templates/microservice/index) is a generic solution to start a new microservice solution. + +While we accept that every microservice solution will be different and every system has its own design requirements and trade-offs, we believe such a startup solution is a very useful starting point for most of the solutions, and a useful example for others. + +![microservice-template-diagram](microservice-template-diagram.png) + +*Figure: A simplified overall diagram of the microservice solution.* + +You can [follow the documentation](https://docs.abp.io/en/commercial/4.2/startup-templates/microservice/index) to get started with this startup template. **This template should be considered as an early release**. We will improve it and write a lot of guides. + +If you want to use the ABP Suite to create your solution, then you need to first upgrade it: + +````bash +abp suite update +```` + +If you want, you can directly create a new solution from the command line: + +````bash +abp new Volosoft.MyMicroserviceSystem -t microservice-pro --preview +```` + +Company Name is optional. Solution name could be *MyMicroserviceSystem* for this example. ### Public Website in the Startup Templates diff --git a/docs/en/Blog-Posts/2021-01-14 v4_2_Preview/microservice-template-diagram.png b/docs/en/Blog-Posts/2021-01-14 v4_2_Preview/microservice-template-diagram.png new file mode 100644 index 0000000000000000000000000000000000000000..2c6df5ab7440f9103872bae80e913d0d3198a36c GIT binary patch literal 76701 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 Date: Thu, 14 Jan 2021 23:54:54 +0300 Subject: [PATCH 024/217] Added section: Public Website in the Startup Templates --- .../Blog-Posts/2021-01-14 v4_2_Preview/POST.md | 8 +++++++- .../2021-01-14 v4_2_Preview/public-website.jpg | Bin 0 -> 290579 bytes 2 files changed, 7 insertions(+), 1 deletion(-) create mode 100644 docs/en/Blog-Posts/2021-01-14 v4_2_Preview/public-website.jpg diff --git a/docs/en/Blog-Posts/2021-01-14 v4_2_Preview/POST.md b/docs/en/Blog-Posts/2021-01-14 v4_2_Preview/POST.md index 1f78629cb1..66090d670f 100644 --- a/docs/en/Blog-Posts/2021-01-14 v4_2_Preview/POST.md +++ b/docs/en/Blog-Posts/2021-01-14 v4_2_Preview/POST.md @@ -170,7 +170,13 @@ Company Name is optional. Solution name could be *MyMicroserviceSystem* for this ### Public Website in the Startup Templates -TODO +As mentioned in the previous release post, we've added a *Public Website* application to the startup templates. It is configured to authenticate through the IdentityServer with a single sign-on system. + +You can use this application to create a landing page for your actual application or a corporate website for your business. + +![public-website](public-website.jpg) + +It uses the same *Lepton Theme*, so you can apply [all the styles](https://commercial.abp.io/themes). The Public Website has a different layout and also has a different setting for the styling (that can be configured in the *Settings / Lepton Theme* page of the main web application). ### Easy CRM Blazor UI diff --git a/docs/en/Blog-Posts/2021-01-14 v4_2_Preview/public-website.jpg b/docs/en/Blog-Posts/2021-01-14 v4_2_Preview/public-website.jpg new file mode 100644 index 0000000000000000000000000000000000000000..b5784519bd4aff8b222ca54f9da8fc21d30158ad GIT binary patch literal 290579 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�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

YY; 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

A2++1ylNTa>R;wdb6XsggJO_7kq(^S8Ez;ivrwX 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

DznJpK5p|1bf_Nii*#qQ(aA!_UAyJt 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 VK!5%Rx^;mRWAk5gZUk@me*kXr(6j&m literal 0 HcmV?d00001 From 8c3877a962f1551f0fe994074a03ba1c38ea2114 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Halil=20=C4=B0brahim=20Kalkan?= Date: Fri, 15 Jan 2021 00:05:36 +0300 Subject: [PATCH 025/217] Added section: About the Next Release --- docs/en/Blog-Posts/2021-01-14 v4_2_Preview/POST.md | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/docs/en/Blog-Posts/2021-01-14 v4_2_Preview/POST.md b/docs/en/Blog-Posts/2021-01-14 v4_2_Preview/POST.md index 66090d670f..11d7bed7db 100644 --- a/docs/en/Blog-Posts/2021-01-14 v4_2_Preview/POST.md +++ b/docs/en/Blog-Posts/2021-01-14 v4_2_Preview/POST.md @@ -172,12 +172,14 @@ Company Name is optional. Solution name could be *MyMicroserviceSystem* for this As mentioned in the previous release post, we've added a *Public Website* application to the startup templates. It is configured to authenticate through the IdentityServer with a single sign-on system. -You can use this application to create a landing page for your actual application or a corporate website for your business. +You can use this application to create a landing page for your actual application or a corporate website for your business. An example screenshot: ![public-website](public-website.jpg) It uses the same *Lepton Theme*, so you can apply [all the styles](https://commercial.abp.io/themes). The Public Website has a different layout and also has a different setting for the styling (that can be configured in the *Settings / Lepton Theme* page of the main web application). +TODO: How to get started? + ### Easy CRM Blazor UI TODO @@ -194,9 +196,11 @@ TODO: * Video content support * Multi-language support - accepting content in every language! -## About the Next Release(s) +## About the Next Release -TODO +The next feature version will be 4.3.0. It is planned to release the 4.3 RC (Release Candidate) on March 11 and the final version on March 25, 2021. + +We decided to slow down the feature development for the [next milestone](https://github.com/abpframework/abp/milestone/49). We will continue to improve the existing features and introduce new ones, sure, but wanted to have more time for the planning, documentation, creating guides and improving the development experience. ## Feedback From c17d85caa25b520858d4dc840c42ced9ee78c9fc Mon Sep 17 00:00:00 2001 From: jerviscui Date: Fri, 15 Jan 2021 10:10:17 +0800 Subject: [PATCH 026/217] fix images path error --- docs/zh-Hans/Domain-Driven-Design-Implementation-Guide.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/zh-Hans/Domain-Driven-Design-Implementation-Guide.md b/docs/zh-Hans/Domain-Driven-Design-Implementation-Guide.md index db434ab365..81755fbf0d 100644 --- a/docs/zh-Hans/Domain-Driven-Design-Implementation-Guide.md +++ b/docs/zh-Hans/Domain-Driven-Design-Implementation-Guide.md @@ -1767,7 +1767,7 @@ public async Task ChangeTitleAsync(Issue issue, string title) 如前所述,领域驱动设计中的*业务逻辑*分为两部分(各层):领域逻辑和应用逻辑 -![domain-driven-design-domain-vs-application-logic](../../../abpframework.abp/docs/en/images/domain-driven-design-domain-vs-application-logic.png) +![domain-driven-design-domain-vs-application-logic](images/domain-driven-design-domain-vs-application-logic.png) 领域逻辑是系统的*核心领域规则*组成,而应用逻辑则满足特定的*用例*. @@ -1783,7 +1783,7 @@ public async Task ChangeTitleAsync(Issue issue, string title) * 一个**后台管理系统**,UI使用Angular,通过REST API请求数据.内部员工使用这个系统来维护数据(例如,编辑商品说明). * 一个**移动端应用程序**,它比公开的网站UI上更加简洁.它通过REST API或其它技术(例如,TCP sockets)请求数据. -![domain-driven-design-multiple-applications](../../../abpframework.abp/docs/en/images/domain-driven-design-multiple-applications.png) +![domain-driven-design-multiple-applications](images/domain-driven-design-multiple-applications.png) 每个应用程序都有不同的**需求**,不同的**用例**(应用服务方法),不同的DTO,不同的**验证**和**授权**规则等. From 1039f71dd1280f1958df52e7935ba3d665a01486 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Halil=20=C4=B0brahim=20Kalkan?= Date: Fri, 15 Jan 2021 12:02:44 +0300 Subject: [PATCH 027/217] Update post (ABP Community News) --- .../2021-01-14 v4_2_Preview/POST.md | 18 ++++++++++++------ .../2021-01-14 v4_2_Preview/easy-crm.png | Bin 0 -> 261956 bytes 2 files changed, 12 insertions(+), 6 deletions(-) create mode 100644 docs/en/Blog-Posts/2021-01-14 v4_2_Preview/easy-crm.png diff --git a/docs/en/Blog-Posts/2021-01-14 v4_2_Preview/POST.md b/docs/en/Blog-Posts/2021-01-14 v4_2_Preview/POST.md index 11d7bed7db..f580303190 100644 --- a/docs/en/Blog-Posts/2021-01-14 v4_2_Preview/POST.md +++ b/docs/en/Blog-Posts/2021-01-14 v4_2_Preview/POST.md @@ -178,23 +178,29 @@ You can use this application to create a landing page for your actual applicatio It uses the same *Lepton Theme*, so you can apply [all the styles](https://commercial.abp.io/themes). The Public Website has a different layout and also has a different setting for the styling (that can be configured in the *Settings / Lepton Theme* page of the main web application). -TODO: How to get started? +> *Public Website* is optional and you need to select the "Public Website" option while creating a new solution using the ABP Suite, or use the `--with-public-website` option while using the `abp new` CLI command. ### Easy CRM Blazor UI -TODO +Easy CRM is an example application built with the ABP Commercial. MVC (Razor Pages) and Angular UI implementations were already provided. With the version 4.2, we are providing the Blazor UI implementation for this application. + +![easy-crm](easy-crm.png) ### Other News * Implemented Iyzico as a payment gateway for the payment module in addition to Paypal, Stripe, 2Checkout and Payu. -* TODO: Suite news ## ABP Community News -TODO: +### Sharing Video Contents + +[community.abp.io](https://community.abp.io/) is a place to share ABP related contents. It started with publishing articles. Now, it supports to publish video contents. [See this example](https://community.abp.io/articles/be-a-superhero-on-day-1-with-abp.io-wvifcy9s). All you need to do is to create a video and upload to YouTube. Then you can [submit](https://community.abp.io/articles/submit) the YouTube link to the ABP Community website. + +### Multi-language support + +We planned ABP Community to publish English-only contents. However, we see that people want to share contents in other languages too. Now, **it is possible to submit a content in any language**. Just select the Language option while submitting your content. -* Video content support -* Multi-language support - accepting content in every language! +**When you submit a non-English content, it is not visible to all the visitors by default**. Visitors can see a non-English content only if their browser language or the selected language matches to the content language (there is a language selection at the end of the website). ## About the Next Release diff --git a/docs/en/Blog-Posts/2021-01-14 v4_2_Preview/easy-crm.png b/docs/en/Blog-Posts/2021-01-14 v4_2_Preview/easy-crm.png new file mode 100644 index 0000000000000000000000000000000000000000..02c47777a4933885052873a5d6f74c29a1c8271b GIT binary patch literal 261956 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

    ex$^U*;fZ7L|nv-94WZy9q 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 Date: Fri, 15 Jan 2021 12:39:24 +0300 Subject: [PATCH 028/217] Added Selecting DBMS on Template Creation section --- .../Blog-Posts/2021-01-14 v4_2_Preview/POST.md | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/docs/en/Blog-Posts/2021-01-14 v4_2_Preview/POST.md b/docs/en/Blog-Posts/2021-01-14 v4_2_Preview/POST.md index f580303190..0c446fb116 100644 --- a/docs/en/Blog-Posts/2021-01-14 v4_2_Preview/POST.md +++ b/docs/en/Blog-Posts/2021-01-14 v4_2_Preview/POST.md @@ -120,9 +120,17 @@ Currently, **MongoDB** provider implements these methods as a single bulk operat ### Selecting DBMS on Template Creation -And DbMigrator creates the initial migration if no migration exists. +[ABP CLI](https://docs.abp.io/en/abp/4.2/CLI#new) now has an option to specify the DBMS when you use EF Core as the database provider. -**TODO** +**Example: Select MySQL as the DBMS** + +````bash +abp new BookStore -dbms mysql --preview +```` + +Available options: `SqlServer` (default), `MySQL`, `SQLite`, `Oracle-Devart`, `PostgreSQL`. See the [documentation](https://docs.abp.io/en/abp/latest/Entity-Framework-Core-Other-DBMS) to use any other DBMS or switch the DBMS later. + +> If you select a DBMS other than the SQL Server, then the database migrations are also created when you first run the `DbMigrator` application. ### Swagger Login @@ -188,7 +196,7 @@ Easy CRM is an example application built with the ABP Commercial. MVC (Razor Pag ### Other News -* Implemented Iyzico as a payment gateway for the payment module in addition to Paypal, Stripe, 2Checkout and Payu. +* Implemented Iyzico as a payment gateway provider for the [payment module](https://commercial.abp.io/modules/Volo.Payment) in addition to Paypal, Stripe, 2Checkout and Payu providers. ## ABP Community News @@ -202,6 +210,10 @@ We planned ABP Community to publish English-only contents. However, we see that **When you submit a non-English content, it is not visible to all the visitors by default**. Visitors can see a non-English content only if their browser language or the selected language matches to the content language (there is a language selection at the end of the website). +### External Contents + +If you want to publish your content anywhere else, but want to post a link of your content, you can select *External Content* option while submitting the post. For example, [this article](https://community.abp.io/articles/aspnet-boilerplate-to-abp-framework-xml-to-json-localization-conversion-0mxyjrzj) is an external article and also written in Chinese language. + ## About the Next Release The next feature version will be 4.3.0. It is planned to release the 4.3 RC (Release Candidate) on March 11 and the final version on March 25, 2021. From efc3aacb32d478304e99536b53b05ddc9d883da7 Mon Sep 17 00:00:00 2001 From: Necati Meral Date: Fri, 15 Jan 2021 11:48:24 +0100 Subject: [PATCH 029/217] Added localization keys for search page --- .../Volo.Docs.Domain/Volo/Docs/Localization/Domain/en.json | 4 +++- .../docs/src/Volo.Docs.Web/Pages/Documents/Search.cshtml | 6 +++--- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/modules/docs/src/Volo.Docs.Domain/Volo/Docs/Localization/Domain/en.json b/modules/docs/src/Volo.Docs.Domain/Volo/Docs/Localization/Domain/en.json index 4a9ac08ebb..dd60e2602b 100644 --- a/modules/docs/src/Volo.Docs.Domain/Volo/Docs/Localization/Domain/en.json +++ b/modules/docs/src/Volo.Docs.Domain/Volo/Docs/Localization/Domain/en.json @@ -34,6 +34,8 @@ "NewExplanation": "Created in the last two weeks.", "UpdatedExplanation": "Updated in the last two weeks.", "Volo.Docs.Domain:010002": "ShortName {ShortName} already exists.", - "Preview": "preview" + "Preview": "preview", + "Search": "Search", + "SearchResults": "Search Results" } } diff --git a/modules/docs/src/Volo.Docs.Web/Pages/Documents/Search.cshtml b/modules/docs/src/Volo.Docs.Web/Pages/Documents/Search.cshtml index 127994a24c..5d1f232acd 100644 --- a/modules/docs/src/Volo.Docs.Web/Pages/Documents/Search.cshtml +++ b/modules/docs/src/Volo.Docs.Web/Pages/Documents/Search.cshtml @@ -30,12 +30,12 @@
    -

    Search in Documents

    +

    @L["FullSearch"]

    -
    +
    @@ -43,7 +43,7 @@
    -
    Search Results
    +
    @L["SearchResults"]
    @foreach (var docs in Model.SearchOutputs) From 408e942c8c636ad98bf7fdbd7b4d12408ceba4cd Mon Sep 17 00:00:00 2001 From: Necati Meral Date: Fri, 15 Jan 2021 11:49:01 +0100 Subject: [PATCH 030/217] Added search localization keys and consolidated german Localization --- .../Volo/Docs/Localization/Domain/de-DE.json | 4 +++- .../Volo/Docs/Localization/Domain/de.json | 16 +++++++++++++--- 2 files changed, 16 insertions(+), 4 deletions(-) diff --git a/modules/docs/src/Volo.Docs.Domain/Volo/Docs/Localization/Domain/de-DE.json b/modules/docs/src/Volo.Docs.Domain/Volo/Docs/Localization/Domain/de-DE.json index b6687f978b..432e9617dc 100644 --- a/modules/docs/src/Volo.Docs.Domain/Volo/Docs/Localization/Domain/de-DE.json +++ b/modules/docs/src/Volo.Docs.Domain/Volo/Docs/Localization/Domain/de-DE.json @@ -34,6 +34,8 @@ "NewExplanation": "In den letzten zwei Wochen erstellt.", "UpdatedExplanation": "In den letzten zwei Wochen aktualisiert.", "Volo.Docs.Domain:010002": "Kurzname {ShortName} existiert bereits.", - "Preview": "Vorschau" + "Preview": "Vorschau", + "Search": "Suchen", + "SearchResults": "Suchergebnisse" } } \ No newline at end of file diff --git a/modules/docs/src/Volo.Docs.Domain/Volo/Docs/Localization/Domain/de.json b/modules/docs/src/Volo.Docs.Domain/Volo/Docs/Localization/Domain/de.json index 25994178f7..544a7ca7c8 100644 --- a/modules/docs/src/Volo.Docs.Domain/Volo/Docs/Localization/Domain/de.json +++ b/modules/docs/src/Volo.Docs.Domain/Volo/Docs/Localization/Domain/de.json @@ -10,22 +10,32 @@ "LastEditTime": "Letzte Bearbeitung", "Delete": "Löschen", "ClearCache": "Cache leeren", - "ClearCacheConfirmationMessage": "Sind Sie sicher, dass Sie alle Caches für das Projekt löschen \"{0}\"", + "ClearCacheConfirmationMessage": "Sind Sie sicher, alle Caches für das Projekt \"{0}\" zu löschen?", + "ReIndexAllProjects": "Alle Projekte neu indizieren", + "ReIndexProject": "Projekt neu indizieren", + "ReIndexProjectConfirmationMessage": "Sind Sie sicher, dass Sie das Projekt \"{0}\" neu indizieren?", + "SuccessfullyReIndexProject": "Neuindizierung für Projekt \"{0}\"", + "ReIndexAllProjectConfirmationMessage": "Sind Sie sicher, alle Projekte neu zu indizieren?", + "SuccessfullyReIndexAllProject": "Alle Projekte erfolgreich neu indizieren", "InThisDocument": "In diesem Dokument", "GoToTop": "Nach oben", "Projects": "Projekt(e)", "NoProjectWarning": "Es gibt noch keine Projekte!", "DocumentNotFound": "Hoppla, das angeforderte Dokument wurde nicht gefunden!", + "ProjectNotFound": "Hoppla, das angeforderte Projekt wurde nicht gefunden!", "NavigationDocumentNotFound": "Diese Version hat kein Navigationsdokument!", "DocumentNotFoundInSelectedLanguage": "Das Dokument wurde nicht in der von Ihnen gewünschten Sprache gefunden. Das Dokument wird in der Standardsprache angezeigt.", "FilterTopics": "Themen filtern", - "FullSearch": "Suche in Dokumenten", + "FullSearch": "In Dokumenten suchen", "Volo.Docs.Domain:010001": "Elastic search ist nicht aktiviert.", "MultipleVersionDocumentInfo": "Dieses Dokument hat mehrere Versionen. Wählen Sie die für Sie am besten geeigneten Optionen aus.", "New": "Neu", "Upd": "Upd", "NewExplanation": "Erstellt in den letzten zwei Wochen.", "UpdatedExplanation": "Aktualisiert in den letzten zwei Wochen.", - "Volo.Docs.Domain:010002": "Kurzname {ShortName} existiert bereits." + "Volo.Docs.Domain:010002": "Kurzname {ShortName} existiert bereits.", + "Preview": "Vorschau", + "Search": "Suchen", + "SearchResults": "Suchergebnisse" } } From 6ec05bcc3f19aacfd6af1b001785070ec6762b96 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Halil=20=C4=B0brahim=20Kalkan?= Date: Fri, 15 Jan 2021 14:26:15 +0300 Subject: [PATCH 031/217] Added Swagger UI Login / Authorization to the doc. --- .../2021-01-14 v4_2_Preview/POST.md | 20 +++++++++++++++--- .../swagger-authorize-modal.png | Bin 0 -> 154624 bytes .../swagger-authorize.png | Bin 0 -> 46481 bytes 3 files changed, 17 insertions(+), 3 deletions(-) create mode 100644 docs/en/Blog-Posts/2021-01-14 v4_2_Preview/swagger-authorize-modal.png create mode 100644 docs/en/Blog-Posts/2021-01-14 v4_2_Preview/swagger-authorize.png diff --git a/docs/en/Blog-Posts/2021-01-14 v4_2_Preview/POST.md b/docs/en/Blog-Posts/2021-01-14 v4_2_Preview/POST.md index 0c446fb116..28737f6840 100644 --- a/docs/en/Blog-Posts/2021-01-14 v4_2_Preview/POST.md +++ b/docs/en/Blog-Posts/2021-01-14 v4_2_Preview/POST.md @@ -132,9 +132,21 @@ Available options: `SqlServer` (default), `MySQL`, `SQLite`, `Oracle-Devart`, `P > If you select a DBMS other than the SQL Server, then the database migrations are also created when you first run the `DbMigrator` application. -### Swagger Login +### Swagger UI Login / Authorization -TODO +Testing the swagger UI was requiring some additional work, especially your authentication server is separated from the application that hosts the Swagger UI. + +With the version 4.2, the startup templates come with the authorization pre-configured for you. An Authorize button is available when you open the Swagger UI: + +![swagger-authorize](swagger-authorize.png) + +When you click, it opens a modal to authorize: + +![swagger-authorize](swagger-authorize-modal.png) + +When you click to the Authorize button here, you are redirected to the login page to login with your username and password (default username is `admin` and password is `1q2w3E*`). + +> Remember to select the Scopes (typically **select all**) you want to use before clicking to the Authorize button. ### Angular Unit Testing @@ -190,13 +202,15 @@ It uses the same *Lepton Theme*, so you can apply [all the styles](https://comme ### Easy CRM Blazor UI -Easy CRM is an example application built with the ABP Commercial. MVC (Razor Pages) and Angular UI implementations were already provided. With the version 4.2, we are providing the Blazor UI implementation for this application. +[Easy CRM](https://docs.abp.io/en/commercial/latest/samples/easy-crm) is an example application built with the ABP Commercial. MVC (Razor Pages) and Angular UI implementations were already provided. With the version 4.2, we are providing the Blazor UI implementation for this application. ![easy-crm](easy-crm.png) ### Other News * Implemented Iyzico as a payment gateway provider for the [payment module](https://commercial.abp.io/modules/Volo.Payment) in addition to Paypal, Stripe, 2Checkout and Payu providers. +* ABP Suite supports the new microservice template creation, public website and DBMS selection options. +* Swagger authorization and other features mentioned in the ABP Framework section are already implemented for the ABP Commercial too. ## ABP Community News diff --git a/docs/en/Blog-Posts/2021-01-14 v4_2_Preview/swagger-authorize-modal.png b/docs/en/Blog-Posts/2021-01-14 v4_2_Preview/swagger-authorize-modal.png new file mode 100644 index 0000000000000000000000000000000000000000..52b43f248e75c03a21ac11d4348e002a4b8a3ebb GIT binary patch literal 154624 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

    F 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 literal 0 HcmV?d00001 diff --git a/docs/en/Blog-Posts/2021-01-14 v4_2_Preview/swagger-authorize.png b/docs/en/Blog-Posts/2021-01-14 v4_2_Preview/swagger-authorize.png new file mode 100644 index 0000000000000000000000000000000000000000..650a212fe591b8f5a7fe134c6b4e59066e2b721d GIT binary patch literal 46481 zcmb@ubyQUA`v;106a@ikC8d=VkxmgoT40zVXOxDayAc&B0qF(-0f}MghEck^2N=4$ zVTil&d(Zi;b^pG5v2^Vj_TKM)<9VOw69m0el_$if#>c_IAyjxPtAT@q$AN=$Tjkzu z;FGyS6ImRbCpZeSuRw0eo70|NnkEgrSGK<^-lDaB-&RHcAfFnRTT6{F)D(U~rO*|T zF7@M2*Kf+Ch{xn7FB`S-0xF&|KZp$bwEa1IzG8v<7STPaw-4`{{0xe&CRcu{_tbKb zqyJXT;3o_JWT{kB=cUxx>}R{~s9t!lV$Eo2YWW~yZ)oRSGIDqrbkm;y9UoIic_+#K zJ;TAN;$!r=^WSOUy=LTpCpaX2rxgF4Jz;u?`oG)A{xc8x@2ii2(ib;<@W10BNg(Xj zzb80MxA!>zJCT-s^8fq8DrG%yOUzc(o)fF?q&=^LHSYTCHDOzbx8hEteD+>r%ag0u zPq!5}Ci1z>3M-PUCq0%ehk`hJD)I+XdH-wK6nWvosek}BHiEc$MnvSR($e2$8U<6^3lK=0LDt849P0dV+fWpUT(%rxCjCSJ5$>Qu(Qpk8QMcbX-{ImV5x0g%D_^5-{_wlqW^9pl(xa_LnnD08-%KNuHtIN;?V`=g|w>`uFK1_ zZJ1r#s#q^Wc!g4=<^ONIRv&vy_^8kiNtvzvCLt6542cUlCyDr(xm;fB)%8Jb+u5gh z??vp&e;0g&kL4_k*{jWnUX4`-WA67$%~HElHPO2jFP&CY&`S~i*P1ENxg#yrmdGgy z4Q~hXZFe#md)D z;x!=On;lUZbeCgd3TBwJ?S5Ts7Jj{IF3qX^-$kn>4I^0RMO?l!il9cNxGvT;SHuR~ znNAF5wu<#ln?+&U!t2HF-~4{np9j=@PnOJr_B#0PH!T?A9fuz~-F#u=WgS;omTX^< z3b#EK!&o`WnGktD^`U!_cU>ptSoy$iC3S|t@Q7oN8YcA;HX_ko=@m}>w+X963cfY) zb8A;sT9!4cdfuv=+X)rtLkwWoNAn$**A512Tbd^^%ea+95#;7%wscbij!%OBz}wDP zQ_gm{aak-*+LFiD>VirCcfXosSk|D%ID2YGa-$xXw_MF|_F1d_Bd&Q&}k}=xbf(V}4fnwVvN&-Fju6XOFOc z3{UWU1j)?S+J5c$1npA&D_kOqmGOSHK96AjusvVS)u79n7ej9EO>p|yuw95}yWm6G zRrQWEj5|Jz|FPFqohGbP& zPt4hAa{(Vy0r$r_OgvqD^g)dGAmVB7Kfw8{so+5>OdBQDSV8u+^=LUalNNP_z7C^v zlJ~9PCb?qAF$-Bt6C(@reeqoiZQq_8cOBzm8>i&ov%^Yz^&@jRj>cta8;|!ATM%3I z<%s}-l&YGAg)xJqx>)LLjT>{BX+}90shHK$(xRC4qMt}GsmJ^!^@F>m6I0A)Hx2kW z6aBpIpzBgCayxKd`KF0BrcI<8U$#!u`Cc7w+FyDc7&kbiK3<)1^6!R9xtWer?Xcoc zz{6+zj<4tIn-P7OWvlxxF83Am3&XqwPbTz`mvyvl7B8uzI>=c(S($P{c^bJDRudXJ zI__KSf5!moqNKlavURKS@b}o;n@6sGJ+11!%D2B?ult?4=Tu;W3YYY2HT%Q7rQc?@ zY)4kR9HUO6#~~*&hrcOwA3lg{`R1{!i+0umgFWsbi2|CefY&muo!+iR4Vc%p^8Xim zqG00GWrbd1QuuXIeid>nrH!ag^kscY;QTz&Wnp+~moxW7IOx}0SFhQh z0^e%q!TIGMZO*;VR}%Epyaz`^HTkJS<#^&stpl3&M)hnh%5_s$TCi`kG!m4v-#y*m z-zOy_BfR^%QVs9sW&R%OB;}_^+n=g#DbQshNfiQnagUActr02yHI8E!AuY)1D3MEt z<-;ynr$Wi)&t_jsgwVR!l>G4fd|Vs1l%k_YuM6wOkq@R7-kZEgcz3dHC%oK~wBqW` z4ZLXS#Dlx9?d^+|*$(i{{tJRXc5dD^Li5YY$!lXIRAa{;s&ve;ED%;IFg$Iipg%lt z%Vjaz=6IE29U5eQd4A+m3gMmG{J$N=Tg7R9Z2TXE&b}%C%EA5H&A6mXh?)F`s4Y zN^cY9#9hzIl%ULJg|@2LC0-Qf;pdOC7JB*eA1N?LOm=p*i;-FW$U1senj^;4)D)lJ z*2bnnn~Nxb`J!YhIXU^~PnNxM2n2#RIbkJ;^-i0fckkIy<## z6=W?eEE=&Ixn;k8y-j}?$m!Ce%oZh=$(Nw~>Mk!A7Z)$@ig2&%S3e?>KEF9()hvxW zBF%9--1EY!nFEW<%jc?J1D!+-baWCh^tCS%l#yeep*q^yzrgwR+YdSu{vA|lF3}#m z?fBI~pHP=$Y8nQ)Jp_Bu&xP;m#4b74AFD)P@bV&++VI~bGUDnpsvb=qE1Ao4suFi~ zb*ZpLDQ4kE*O%ZPd3gT-fjD9km9v9`@lp0>r;85N6IR|z$IF3B( ztD*(&h01BFtIv6w^=JK!RyY0Eobm3GBc^TY#c#S=Mg2v5x<*gw#5fjaX7tgoK3T=jUI7_0LV7Kl(DO#S@3eA$COg z_+Wqk!QIc8lqHAiqEa_$`^a|sn#u_)F0oj}EQf0SU+P-a4~P?rcy0;UgNs^`Hz)g zDY+I~6cCaqDJc9Ceg`iMJlV^C*8{9v?U%Xlo_=aZ`m_l>da$&#G%_;cQ9pB{jkLj` z4sFeE1tY)&%yBU>KwO!VrwnN^EPnLhD==20jEvme-0#Lfp>oX4i9mbjA14B{ti$;E zqZuEpwTqOdrltUO=nkl5B7e*{et+L#G|g|Js-)yay6tDGTu@?MT-&jeFf9=K{kA!9 zemk3VZyIX-8Qy!G8>FwFj8(}QTC);0fRtW_j^$fYdv59z2qr1E68IM8VR(|tGum3W z!=f)@Xkvfbq?K23lW&zuBPnt&B3|jQ?AZhGIqg5)V*!350+Ld z&PlpLu=AQhv&^EYEchh$5;(WG?tAk=pFsGJ~&#y_P>RK7vn< zA2%^LS*3~5ZBIX(MB$GOvTlqa&FW=4E{*HK`6HI)jIXsTW+{|Fj*gDrnR2GB-yT~n zAS!1J?^}Go!mX~ZwraAe49S;tPeol{VR2Q0R@_JBwb~;@!pL?CG;+u9){3G&N5{r4 zFD(^!sppRXT>=#=s*19PfWhaXN$#n<+}tMCWIr`>HFC*0^b(%jDs*G(>FL>ob}a2b zX=&U{)kBQBA1wRBDjwkUn`JE`r-~eWzNYP8RsqNGx4m4}1%lXN?=s7^JPC=oKgT3S z!GhLqmWGzJzQU9IYg%OBovC-<=~wok`m|JWk6aU`WPt z){3Il_bnXp*-VItr}p!gHgIjJSBqgPk9|T9w!Nu{#Vd`E_~uNyU!#0Cg!XYD91Zym zhIhlL#X%ftf;sO!vRAx?QJz^23knqyW<6M?Rw%X%h(ABNGWxO3zh}d^1iClN&y=sT zhf-j&k@6Mt?=@s)31O`wdW}iZo=Cj_ryO@ghp|Tf2vNZ2`bA+?1Q=MAB_$=_>*f8m zpTEOGj?JY=L}-Z^)0Tu)^_Mut&Ql00vOxt!p$n5+1yVMo`U&FT2T+q*) z?ZT8HZ&q=h*bqpk-YOh0e^8U9l7XUVr;Hp<&~?O8%uOGPUa4 zS-ub=wV#H6o%`8YU;Xuj;8F8%RX=v-eQ;{0+KKCk*J~9Oq}tcO)~7IZ?MBRVA3{cD z1XZFc9e;g|i_YB8PO4SVu~nl}0~mYg`&4P>YS$K1RSIFUtW3FF9-_0ADqW2WfoS>e zc!HFSda_r{IDIQUU`Au~avRK6+172%NVMyg+9sRD=-4%pNn3Bl>p!apd!`u_rRt z$PvpUv>sSFnJt93Z9^8?1C+9bkT(aVEw_G_rn}Udt}PIk{DAjHb-k?Jkhr>^npplE z6_;~Qf|r?3{V;EC)nODg-<w;F;E!WeeSIm~stR^j>|Eb-0}8VGWl9 z;cPzcj`zyJ@}4ywvc5;@pdu9SlAHj@+@ud>(@)@L#*fR+kEU|nEU=M2wR7WeX0IDA2QAZ}^9)Ca^$Oy7@hO2xQyfycd9J zVXX>$>UeH~9jK~7Ien?Sn79IdfaLhIN+GOm(U#6ZC*pbCXHxW_cs&RL+(G_zeHHj^VH=FmKZ)XCe{erTHB zDG&X%@>@ou?Os@&zKD&ie9l=O-zy=7en8KRah zGt*)ZY6AmTPq!y`2sCVneF|LVrzmd}#UBwPfuA=YuZjmnJ2ug@PuI~=cb$|+9*P-AP^HX)jLJIq`Fp*P_!tzJ- z#XPCjtK)X#LgrrQeHB9IGzdZ`eFH3Ea?+~Q0o@%YU26UYnkx!haI&p~Y7ObAR=h9G zHLe?DxLdu)N~v_8ME%kQDZhZLTC6SN>?LQ(L^YQ1K`f;%vzBVxc|f&c&8f#_D>2w^ zaGS4lgq0xMG^=K1-f3UOS->-I6y#PAyS&r+tp2y*vnNdR#K;KVJSN@xA&u|bSGiaf z%)&-xmnq_H2QQD#_q3FVN&7A_vn{QL6?e-Mm1AM8u@z<}FZvV||0^kiy&qQHf1e!wcz6fyRVSghl%Ra{K;Y3F=P&Vd574*3yR&%7))nyw27ay5amEHTi z)1JC$=FPGH$Z-;0%aGlZ=!_0WPd@Y6oes|NEtlO6E7GHeAMW^6?YM2-Ir%tb#?94D zH&AZUJ84YArb~iiJ8UMc3dObZcLl6wusjN;1)yRs|GkwTW z%Cw_r`%%HK3_74<8!jn59}ba(NiBxYczAfYxwUdZsEZ|D|A*krfpIHA#%5#h`{OP) zHig2`}gMm+rwuBggbRhlRFHqihf=_4AzzHi;;;VcRM?G}s z!6N$1JT2Hw0SZ-~xw_jTzP^?tpayxMiFC@e^UMfq4DfPx@d$4kP zT3H8n6igKjdXD5(3G)cR6FK09KCfC9Lh?OUYwDXhVCW6+J~7i23BKC=G|!W>dfbdY zCRn+zN+4zDvo<4^D2ptb;oB7Lrs@Dy;bH_ z^S2NxBY08;l2y*2Ua}=lc5Ey(Rp>HpWsFvQ$-X;FvrQRE&tG4B)_`d^-HiTD_fxmP z_Lu*rfa%mwe(X0B^_|~edS~}%eXXlJ&y1>>o2%z`*WfN{!~!)KexLe-mO)6kds(z~ z{ccZ=*vyraycT%QaVg{lu59*JjuR(r#CJt<(U``0swtK^rmvw2=Eb1P>vfRpvyg+9 zO4cl~4Dxzc

    @@ -90,6 +92,8 @@ namespace Volo.Abp.AspNetCore.Mvc.UI.Bundling } } + _lazyAllBundleConfigurationActions.ForEach(c => c.Invoke(bundle)); + return bundle; } @@ -123,6 +127,26 @@ namespace Volo.Abp.AspNetCore.Mvc.UI.Bundling return this; } + /// + /// Configures all bundles. + /// This method also works for lazy bundles (those are created using razor tag helpers). + /// + /// Configure action + /// Returns this object for chained calls. + public BundleConfigurationCollection ConfigureAll([NotNull] Action configureAction) + { + Check.NotNull(configureAction, nameof(configureAction)); + + foreach (var bundle in _bundles) + { + configureAction.Invoke(bundle.Value); + } + + _lazyAllBundleConfigurationActions.Add(configureAction); + + return this; + } + /// /// Gets a bundle. /// @@ -140,4 +164,4 @@ namespace Volo.Abp.AspNetCore.Mvc.UI.Bundling return bundle; } } -} \ No newline at end of file +} From 0efc8050c1130d23b88c018d43503c7771654be3 Mon Sep 17 00:00:00 2001 From: EngincanV Date: Tue, 19 Jan 2021 11:29:37 +0300 Subject: [PATCH 052/217] Add new localizations for admin --- .../AbpIoLocalization/Admin/Localization/Resources/en.json | 6 +++++- .../AbpIoLocalization/Admin/Localization/Resources/tr.json | 6 +++++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/abp_io/AbpIoLocalization/AbpIoLocalization/Admin/Localization/Resources/en.json b/abp_io/AbpIoLocalization/AbpIoLocalization/Admin/Localization/Resources/en.json index c190a91470..cf6b6a124c 100644 --- a/abp_io/AbpIoLocalization/AbpIoLocalization/Admin/Localization/Resources/en.json +++ b/abp_io/AbpIoLocalization/AbpIoLocalization/Admin/Localization/Resources/en.json @@ -198,6 +198,10 @@ "Language": "Language", "Optional": "Optional", "CreateArticleLanguageInfo": "The language in which the post is written", - "Enum:ContentSource:2": "Video Post" + "Enum:ContentSource:2": "Video Post", + "DeleteCoverImage": "Delete Cover Image", + "DeleteCoverImageConfirmationMessage": "Are you sure you want to delete the cover image for \"{0}\"?", + "DeleteCoverImageSuccessMessage": "Cover image successfully deleted" + } } diff --git a/abp_io/AbpIoLocalization/AbpIoLocalization/Admin/Localization/Resources/tr.json b/abp_io/AbpIoLocalization/AbpIoLocalization/Admin/Localization/Resources/tr.json index 9ac7e39b9e..1884b0025f 100644 --- a/abp_io/AbpIoLocalization/AbpIoLocalization/Admin/Localization/Resources/tr.json +++ b/abp_io/AbpIoLocalization/AbpIoLocalization/Admin/Localization/Resources/tr.json @@ -159,6 +159,10 @@ "UnlimitedQuestionCount": "Sınırsız soru sayısı", "Language": "Dil", "Optional": "Opsiyonel", - "CreateArticleLanguageInfo": "Makalenin yazıldığı dil" + "CreateArticleLanguageInfo": "Makalenin yazıldığı dil", + "Enum:ContentSource:2": "Video İçerik", + "DeleteCoverImage": "Kapak Fotoğrafını Sil", + "DeleteCoverImageConfirmationMessage": "Kapak fotoğrafını \"{0}\" isimli makale için silmek istediğinize emin misiniz?", + "DeleteCoverImageSuccessMessage": "Kapak fotoğrafı başarılı bir şekilde silinmiştir" } } \ No newline at end of file From 9e9c315d81c6d18054b43ad4a6409b22c4935017 Mon Sep 17 00:00:00 2001 From: Ahmet Date: Tue, 19 Jan 2021 11:51:46 +0300 Subject: [PATCH 053/217] added routing to page --- .../Volo/CmsKit/Public/Pages/IPageAppService.cs | 2 +- .../Volo/CmsKit/Public/Pages/PageAppService.cs | 4 ++-- .../Volo/CmsKit/Public/Pages/PagesPublicController.cs | 2 +- .../Volo.CmsKit.Public.Web/CmsKitPublicWebModule.cs | 2 +- .../Pages/CmsKit/Pages/Index.cshtml.cs | 11 +++++++++-- .../Pages/PagePublicAppService_Tests.cs | 11 ++++++++--- 6 files changed, 22 insertions(+), 10 deletions(-) diff --git a/modules/cms-kit/src/Volo.CmsKit.Public.Application.Contracts/Volo/CmsKit/Public/Pages/IPageAppService.cs b/modules/cms-kit/src/Volo.CmsKit.Public.Application.Contracts/Volo/CmsKit/Public/Pages/IPageAppService.cs index d8ea8f1751..7363d32a3c 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Public.Application.Contracts/Volo/CmsKit/Public/Pages/IPageAppService.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Public.Application.Contracts/Volo/CmsKit/Public/Pages/IPageAppService.cs @@ -5,6 +5,6 @@ namespace Volo.CmsKit.Public.Pages { public interface IPageAppService { - Task GetByUrlAsync([NotNull] string url); + Task FindByUrlAsync([NotNull] string url); } } \ No newline at end of file diff --git a/modules/cms-kit/src/Volo.CmsKit.Public.Application/Volo/CmsKit/Public/Pages/PageAppService.cs b/modules/cms-kit/src/Volo.CmsKit.Public.Application/Volo/CmsKit/Public/Pages/PageAppService.cs index 38f4406cab..e78d54a742 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Public.Application/Volo/CmsKit/Public/Pages/PageAppService.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Public.Application/Volo/CmsKit/Public/Pages/PageAppService.cs @@ -12,9 +12,9 @@ namespace Volo.CmsKit.Public.Pages PageRepository = pageRepository; } - public virtual async Task GetByUrlAsync(string url) + public virtual async Task FindByUrlAsync(string url) { - var page = await PageRepository.GetByUrlAsync(url); + var page = await PageRepository.FindByUrlAsync(url); return ObjectMapper.Map(page); } diff --git a/modules/cms-kit/src/Volo.CmsKit.Public.HttpApi/Volo/CmsKit/Public/Pages/PagesPublicController.cs b/modules/cms-kit/src/Volo.CmsKit.Public.HttpApi/Volo/CmsKit/Public/Pages/PagesPublicController.cs index 45dda25ab5..4d1c5391c7 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Public.HttpApi/Volo/CmsKit/Public/Pages/PagesPublicController.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Public.HttpApi/Volo/CmsKit/Public/Pages/PagesPublicController.cs @@ -20,7 +20,7 @@ namespace Volo.CmsKit.Public.Pages [Route("url/{url}")] public Task GetByUrlAsync(string url) { - return PageAppService.GetByUrlAsync(url); + return PageAppService.FindByUrlAsync(url); } } } \ No newline at end of file diff --git a/modules/cms-kit/src/Volo.CmsKit.Public.Web/CmsKitPublicWebModule.cs b/modules/cms-kit/src/Volo.CmsKit.Public.Web/CmsKitPublicWebModule.cs index 0149722671..2dba2f667a 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Public.Web/CmsKitPublicWebModule.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Public.Web/CmsKitPublicWebModule.cs @@ -56,7 +56,7 @@ namespace Volo.CmsKit.Public.Web Configure(options => { - //... + options.Conventions.AddPageRoute("/CmsKit/Pages/Index", "/{pageUrl}"); }); } } diff --git a/modules/cms-kit/src/Volo.CmsKit.Public.Web/Pages/CmsKit/Pages/Index.cshtml.cs b/modules/cms-kit/src/Volo.CmsKit.Public.Web/Pages/CmsKit/Pages/Index.cshtml.cs index 1d5dca0940..5443608845 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Public.Web/Pages/CmsKit/Pages/Index.cshtml.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Public.Web/Pages/CmsKit/Pages/Index.cshtml.cs @@ -19,9 +19,16 @@ namespace Volo.CmsKit.Public.Web.Pages.CmsKit.Pages PageAppService = pageAppService; } - public async Task OnGetAsync() + public async Task OnGetAsync() { - Page = await PageAppService.GetByUrlAsync(PageUrl); + Page = await PageAppService.FindByUrlAsync(PageUrl); + + if (Page == null) + { + return NotFound(); + } + + return Page(); } } } \ No newline at end of file diff --git a/modules/cms-kit/test/Volo.CmsKit.Application.Tests/Pages/PagePublicAppService_Tests.cs b/modules/cms-kit/test/Volo.CmsKit.Application.Tests/Pages/PagePublicAppService_Tests.cs index 290f02caff..c0943a1279 100644 --- a/modules/cms-kit/test/Volo.CmsKit.Application.Tests/Pages/PagePublicAppService_Tests.cs +++ b/modules/cms-kit/test/Volo.CmsKit.Application.Tests/Pages/PagePublicAppService_Tests.cs @@ -18,15 +18,20 @@ namespace Volo.CmsKit.Pages } [Fact] - public async Task ShouldGetByUrlAsync() + public async Task ShouldFindByUrlAsync() { - await Should.NotThrowAsync(async () => await _pageAppService.GetByUrlAsync(_data.Page_1_Url)); + var page = await _pageAppService.FindByUrlAsync(_data.Page_1_Url); + + page.ShouldNotBeNull(); + page.Title.ShouldBe(_data.Page_1_Title); } [Fact] public async Task ShouldNotGetByUrlAsync() { - await Should.ThrowAsync(async () => await _pageAppService.GetByUrlAsync("not-exist-url")); + var page = await _pageAppService.FindByUrlAsync("not-exist-url"); + + page.ShouldBeNull(); } } } \ No newline at end of file From 863e061108180d502d61bdf974674e77eded7b32 Mon Sep 17 00:00:00 2001 From: liangshiwei Date: Tue, 19 Jan 2021 17:00:28 +0800 Subject: [PATCH 054/217] Add lock --- .../Mvc/UI/Bundling/BundleConfigurationCollection.cs | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bundling/Volo/Abp/AspNetCore/Mvc/UI/Bundling/BundleConfigurationCollection.cs b/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bundling/Volo/Abp/AspNetCore/Mvc/UI/Bundling/BundleConfigurationCollection.cs index a18e8bdd11..acb2ae9fac 100644 --- a/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bundling/Volo/Abp/AspNetCore/Mvc/UI/Bundling/BundleConfigurationCollection.cs +++ b/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bundling/Volo/Abp/AspNetCore/Mvc/UI/Bundling/BundleConfigurationCollection.cs @@ -92,7 +92,11 @@ namespace Volo.Abp.AspNetCore.Mvc.UI.Bundling } } - _lazyAllBundleConfigurationActions.ForEach(c => c.Invoke(bundle)); + lock (_lazyAllBundleConfigurationActions) + { + _lazyAllBundleConfigurationActions.ForEach(c => c.Invoke(bundle)); + } + return bundle; } @@ -142,7 +146,10 @@ namespace Volo.Abp.AspNetCore.Mvc.UI.Bundling configureAction.Invoke(bundle.Value); } - _lazyAllBundleConfigurationActions.Add(configureAction); + lock (_lazyAllBundleConfigurationActions) + { + _lazyAllBundleConfigurationActions.Add(configureAction); + } return this; } From 31d5fead5cd53a77bff168d4a631a7ab6c5da70d Mon Sep 17 00:00:00 2001 From: liangshiwei Date: Tue, 19 Jan 2021 17:13:36 +0800 Subject: [PATCH 055/217] Update document --- .../en/UI/AspNetCore/Bundling-Minification.md | 22 ++++++++++++++++++- .../UI/AspNetCore/Bundling-Minification.md | 22 ++++++++++++++++++- 2 files changed, 42 insertions(+), 2 deletions(-) diff --git a/docs/en/UI/AspNetCore/Bundling-Minification.md b/docs/en/UI/AspNetCore/Bundling-Minification.md index 9d88a37135..aeaea6c2e6 100644 --- a/docs/en/UI/AspNetCore/Bundling-Minification.md +++ b/docs/en/UI/AspNetCore/Bundling-Minification.md @@ -165,7 +165,27 @@ public class MyWebExtensionModule : AbpModule } ```` -> It's not possible to configure unnamed bundle tag helpers by code, because their name are not known at the development time. It's suggested to always use a name for a bundle tag helper. +You can also use the `ConfigureAll` method to configure all existing bundles: + +````C# +[DependsOn(typeof(MyWebModule))] +public class MyWebExtensionModule : AbpModule +{ + public override void ConfigureServices(ServiceConfigurationContext context) + { + Configure(options => + { + options + .ScriptBundles + .ConfigureAll(bundle => { + bundle.AddFiles( + "/scripts/my-extension-script.js" + ); + }); + }); + } +} +```` ## Bundle Contributors diff --git a/docs/zh-Hans/UI/AspNetCore/Bundling-Minification.md b/docs/zh-Hans/UI/AspNetCore/Bundling-Minification.md index 6a229714c1..dd688f256c 100644 --- a/docs/zh-Hans/UI/AspNetCore/Bundling-Minification.md +++ b/docs/zh-Hans/UI/AspNetCore/Bundling-Minification.md @@ -167,7 +167,27 @@ public class MyWebExtensionModule : AbpModule } ```` -> 无法通过代码配置未命名的bundle tag helpers, 因为它们的名称在开发时是未知的. 建议始终使用bundle tag helper的名称. +你也可以使用 `ConfigureAll` 方法配置所有现有的捆绑包: + +````C# +[DependsOn(typeof(MyWebModule))] +public class MyWebExtensionModule : AbpModule +{ + public override void ConfigureServices(ServiceConfigurationContext context) + { + Configure(options => + { + options + .ScriptBundles + .ConfigureAll(bundle => { + bundle.AddFiles( + "/scripts/my-extension-script.js" + ); + }); + }); + } +} +```` ### Bundle 贡献者 From 08b9ad0d4e0352fd3fbb6f61baa7e2ae8f1b378a Mon Sep 17 00:00:00 2001 From: Ahmet Date: Tue, 19 Jan 2021 12:18:19 +0300 Subject: [PATCH 056/217] replaced the route parameter --- .../src/Volo.CmsKit.Public.Web/CmsKitPublicWebModule.cs | 5 +++-- .../Volo.CmsKit.Public.Web/Pages/CmsKit/Pages/Index.cshtml | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/modules/cms-kit/src/Volo.CmsKit.Public.Web/CmsKitPublicWebModule.cs b/modules/cms-kit/src/Volo.CmsKit.Public.Web/CmsKitPublicWebModule.cs index 2dba2f667a..d44f67afc5 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Public.Web/CmsKitPublicWebModule.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Public.Web/CmsKitPublicWebModule.cs @@ -1,4 +1,5 @@ -using Microsoft.AspNetCore.Mvc.RazorPages; +using System.Linq; +using Microsoft.AspNetCore.Mvc.RazorPages; using Microsoft.Extensions.DependencyInjection; using Volo.Abp.AspNetCore.Mvc.Localization; using Volo.Abp.AutoMapper; @@ -56,7 +57,7 @@ namespace Volo.CmsKit.Public.Web Configure(options => { - options.Conventions.AddPageRoute("/CmsKit/Pages/Index", "/{pageUrl}"); + options.Conventions.AddPageRoute("/CmsKit/Pages/Index", "/{*pageUrl}"); }); } } diff --git a/modules/cms-kit/src/Volo.CmsKit.Public.Web/Pages/CmsKit/Pages/Index.cshtml b/modules/cms-kit/src/Volo.CmsKit.Public.Web/Pages/CmsKit/Pages/Index.cshtml index c31edaaba8..73c7637b01 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Public.Web/Pages/CmsKit/Pages/Index.cshtml +++ b/modules/cms-kit/src/Volo.CmsKit.Public.Web/Pages/CmsKit/Pages/Index.cshtml @@ -1,4 +1,4 @@ -@page "{pageUrl}" +@page "{*pageUrl}" @using Microsoft.AspNetCore.Mvc.Localization @using Volo.CmsKit.Localization @using Volo.CmsKit.Public.Web.Pages.CmsKit.Shared.Components.Pages From afcddd5e5d27518fa47012dd35a5d7cd42f8e2e0 Mon Sep 17 00:00:00 2001 From: Ahmet Date: Tue, 19 Jan 2021 12:25:08 +0300 Subject: [PATCH 057/217] check null at app service --- .../Volo/CmsKit/Public/Pages/PageAppService.cs | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/modules/cms-kit/src/Volo.CmsKit.Public.Application/Volo/CmsKit/Public/Pages/PageAppService.cs b/modules/cms-kit/src/Volo.CmsKit.Public.Application/Volo/CmsKit/Public/Pages/PageAppService.cs index e78d54a742..1e1d63bf71 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Public.Application/Volo/CmsKit/Public/Pages/PageAppService.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Public.Application/Volo/CmsKit/Public/Pages/PageAppService.cs @@ -15,6 +15,11 @@ namespace Volo.CmsKit.Public.Pages public virtual async Task FindByUrlAsync(string url) { var page = await PageRepository.FindByUrlAsync(url); + + if (page == null) + { + return null; + } return ObjectMapper.Map(page); } From 978f9b1f0d7a360213b9c4cad958fc520d24358f Mon Sep 17 00:00:00 2001 From: Yunus Emre Kalkan Date: Tue, 19 Jan 2021 14:20:39 +0300 Subject: [PATCH 058/217] Cli: create ConnectionStringProvider --- .../Volo/Abp/Cli/Commands/NewCommand.cs | 26 ++++------------ .../Services/ConnectionStringProvider.cs | 30 +++++++++++++++++++ 2 files changed, 36 insertions(+), 20 deletions(-) create mode 100644 framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Commands/Services/ConnectionStringProvider.cs 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 9caa952528..7a413fbbe9 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 @@ -12,6 +12,7 @@ using Microsoft.Extensions.Logging; using Microsoft.Extensions.Logging.Abstractions; using Volo.Abp.Cli.Args; using Volo.Abp.Cli.Auth; +using Volo.Abp.Cli.Commands.Services; using Volo.Abp.Cli.Http; using Volo.Abp.Cli.ProjectBuilding; using Volo.Abp.Cli.ProjectBuilding.Building; @@ -31,14 +32,17 @@ namespace Volo.Abp.Cli.Commands protected TemplateProjectBuilder TemplateProjectBuilder { get; } public ITemplateInfoProvider TemplateInfoProvider { get; } + public ConnectionStringProvider ConnectionStringProvider { get; } public NewCommand(TemplateProjectBuilder templateProjectBuilder , ITemplateInfoProvider templateInfoProvider, - EfCoreMigrationManager efCoreMigrationManager) + EfCoreMigrationManager efCoreMigrationManager, + ConnectionStringProvider connectionStringProvider) { _efCoreMigrationManager = efCoreMigrationManager; TemplateProjectBuilder = templateProjectBuilder; TemplateInfoProvider = templateInfoProvider; + ConnectionStringProvider = connectionStringProvider; Logger = NullLogger.Instance; } @@ -164,7 +168,7 @@ namespace Volo.Abp.Cli.Commands databaseManagementSystem != DatabaseManagementSystem.NotSpecified && databaseManagementSystem != DatabaseManagementSystem.SQLServer) { - connectionString = GetNewConnectionStringByDbms(databaseManagementSystem, outputFolder); + connectionString = ConnectionStringProvider.GetByDbms(databaseManagementSystem, outputFolder); } commandLineArgs.Options.Add(CliConsts.Command, commandLineArgs.Command); @@ -236,24 +240,6 @@ namespace Volo.Abp.Cli.Commands } } - private string GetNewConnectionStringByDbms(DatabaseManagementSystem databaseManagementSystem, string outputFolder) - { - switch (databaseManagementSystem) - { - case DatabaseManagementSystem.MySQL: - return "Server=localhost;Port=3306;Database=MyProjectName;Uid=root;Pwd=myPassword;"; - case DatabaseManagementSystem.PostgreSQL: - return "User ID=root;Password=myPassword;Host=localhost;Port=5432;Database=MyProjectName;Pooling=true;Min Pool Size=0;Max Pool Size=100;Connection Lifetime=0;"; - //case DatabaseManagementSystem.Oracle: - case DatabaseManagementSystem.OracleDevart: - return "Data Source=MyProjectName;Integrated Security=yes;"; - case DatabaseManagementSystem.SQLite: - return $"Data Source={Path.Combine(outputFolder,"database\\MyProjectName.db")};Version=3;"; - default: - return null; - } - } - private void OpenThanksPage(UiFramework uiFramework, DatabaseProvider databaseProvider, bool tiered, bool commercial) { uiFramework = uiFramework == UiFramework.NotSpecified || uiFramework == UiFramework.None ? UiFramework.Mvc : uiFramework; 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 new file mode 100644 index 0000000000..82926df1b3 --- /dev/null +++ b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Commands/Services/ConnectionStringProvider.cs @@ -0,0 +1,30 @@ +using System.IO; +using Volo.Abp.Cli.ProjectBuilding.Building; +using Volo.Abp.DependencyInjection; + +namespace Volo.Abp.Cli.Commands.Services +{ + public class ConnectionStringProvider : ITransientDependency + { + public string GetByDbms(DatabaseManagementSystem databaseManagementSystem, string outputFolder = "") + { + switch (databaseManagementSystem) + { + case DatabaseManagementSystem.NotSpecified: + case DatabaseManagementSystem.SQLServer: + return "Server=localhost;Database=MyProjectName;Trusted_Connection=True"; + case DatabaseManagementSystem.MySQL: + return "Server=localhost;Port=3306;Database=MyProjectName;Uid=root;Pwd=myPassword;"; + case DatabaseManagementSystem.PostgreSQL: + return "User ID=root;Password=myPassword;Host=localhost;Port=5432;Database=MyProjectName;Pooling=true;Min Pool Size=0;Max Pool Size=100;Connection Lifetime=0;"; + //case DatabaseManagementSystem.Oracle: + case DatabaseManagementSystem.OracleDevart: + return "Data Source=MyProjectName;Integrated Security=yes;"; + case DatabaseManagementSystem.SQLite: + return $"Data Source={Path.Combine(outputFolder,"database\\MyProjectName.db")};Version=3;"; + default: + return null; + } + } + } +} From 0116692bff98a5e0b2a8f9b16c13fbb29cfa3b3d Mon Sep 17 00:00:00 2001 From: enisn Date: Tue, 19 Jan 2021 14:21:24 +0300 Subject: [PATCH 059/217] CmsKit - Fix conflict error --- .../Volo/CmsKit/Tags/EntityNotTaggableException.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Tags/EntityNotTaggableException.cs b/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Tags/EntityNotTaggableException.cs index 1987bef869..d39c81a127 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Tags/EntityNotTaggableException.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Tags/EntityNotTaggableException.cs @@ -12,7 +12,7 @@ namespace Volo.CmsKit.Tags public EntityNotTaggableException(string entityType) { - Code = CmsKitErrorCodes.EntityNotTaggable; + Code = CmsKitErrorCodes.Tags.EntityNotTaggable; WithData(nameof(Tag.EntityType), entityType); } } From 964a16253b94b52d571c35944d2bb7293538f21a Mon Sep 17 00:00:00 2001 From: enisn Date: Tue, 19 Jan 2021 15:36:07 +0300 Subject: [PATCH 060/217] CmsKit - Conflict fix for TagAlreadyExistException --- .../Volo/CmsKit/Tags/TagAlreadyExistException.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Tags/TagAlreadyExistException.cs b/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Tags/TagAlreadyExistException.cs index 6cae0dde92..2d87668043 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Tags/TagAlreadyExistException.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Tags/TagAlreadyExistException.cs @@ -9,7 +9,7 @@ namespace Volo.CmsKit.Tags { public TagAlreadyExistException([NotNull] string entityType, [NotNull] string name) { - Code = CmsKitErrorCodes.TagAlreadyExist; + Code = CmsKitErrorCodes.Tags.TagAlreadyExist; WithData(nameof(Tag.EntityType), entityType); WithData(nameof(Tag.Name), name); } From a0ce2cc2843d2cf01ef6157aad33e3fa6d88b7c2 Mon Sep 17 00:00:00 2001 From: maliming Date: Wed, 20 Jan 2021 10:21:26 +0800 Subject: [PATCH 061/217] Use the correct localize key on the login page. Resolve #7350 --- .../account/src/Volo.Abp.Account.Web/Pages/Account/Login.cshtml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/account/src/Volo.Abp.Account.Web/Pages/Account/Login.cshtml b/modules/account/src/Volo.Abp.Account.Web/Pages/Account/Login.cshtml index 056e69e895..57dec99889 100644 --- a/modules/account/src/Volo.Abp.Account.Web/Pages/Account/Login.cshtml +++ b/modules/account/src/Volo.Abp.Account.Web/Pages/Account/Login.cshtml @@ -56,7 +56,7 @@ @foreach (var provider in Model.VisibleExternalProviders) { - + }

    w^nEl}yUA8tcIL;W=)bq05hh^E>pz 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 Z4;g|l3TZ Date: Fri, 15 Jan 2021 14:34:17 +0300 Subject: [PATCH 032/217] Update POST.md --- docs/en/Blog-Posts/2021-01-14 v4_2_Preview/POST.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/en/Blog-Posts/2021-01-14 v4_2_Preview/POST.md b/docs/en/Blog-Posts/2021-01-14 v4_2_Preview/POST.md index 28737f6840..28a42059fb 100644 --- a/docs/en/Blog-Posts/2021-01-14 v4_2_Preview/POST.md +++ b/docs/en/Blog-Posts/2021-01-14 v4_2_Preview/POST.md @@ -130,7 +130,7 @@ abp new BookStore -dbms mysql --preview Available options: `SqlServer` (default), `MySQL`, `SQLite`, `Oracle-Devart`, `PostgreSQL`. See the [documentation](https://docs.abp.io/en/abp/latest/Entity-Framework-Core-Other-DBMS) to use any other DBMS or switch the DBMS later. -> If you select a DBMS other than the SQL Server, then the database migrations are also created when you first run the `DbMigrator` application. +> If you select a DBMS other than the SQL Server, then the database migrations are also created when you first run the `DbMigrator` application. In this case, do not run the application inside Visual Studio (or another IDE), but execute `dotnet run` command in a terminal in the folder of the `DbMigrator` project. ### Swagger UI Login / Authorization From 92bd6984b684b5a3412cb91ca3ede804db5364c5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adem=20Ayg=C3=BCn?= Date: Fri, 15 Jan 2021 15:03:22 +0300 Subject: [PATCH 033/217] Update DefaultExceptionToErrorInfoConverter.cs --- .../ExceptionHandling/DefaultExceptionToErrorInfoConverter.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/framework/src/Volo.Abp.ExceptionHandling/Volo/Abp/AspNetCore/ExceptionHandling/DefaultExceptionToErrorInfoConverter.cs b/framework/src/Volo.Abp.ExceptionHandling/Volo/Abp/AspNetCore/ExceptionHandling/DefaultExceptionToErrorInfoConverter.cs index eb8c4eb804..6c0c8ef193 100644 --- a/framework/src/Volo.Abp.ExceptionHandling/Volo/Abp/AspNetCore/ExceptionHandling/DefaultExceptionToErrorInfoConverter.cs +++ b/framework/src/Volo.Abp.ExceptionHandling/Volo/Abp/AspNetCore/ExceptionHandling/DefaultExceptionToErrorInfoConverter.cs @@ -141,7 +141,7 @@ namespace Volo.Abp.AspNetCore.ExceptionHandling { foreach (var key in exception.Data.Keys) { - localizedValue = localizedValue.Replace("{" + key + "}", exception.Data[key].ToString()); + localizedValue = localizedValue.Replace("{" + key + "}", exception.Data[key]?.ToString()); } } From 250f9977b2b89833c1dc226bcf7db67cde0cb7d6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Halil=20=C4=B0brahim=20Kalkan?= Date: Sun, 17 Jan 2021 22:04:22 +0300 Subject: [PATCH 034/217] Repository document: Use GetQueryableAsync. --- docs/en/Repositories.md | 176 ++++++++++++++++++++++++++++++---------- 1 file changed, 135 insertions(+), 41 deletions(-) diff --git a/docs/en/Repositories.md b/docs/en/Repositories.md index 5ad3107ca6..a2eb385094 100644 --- a/docs/en/Repositories.md +++ b/docs/en/Repositories.md @@ -13,84 +13,178 @@ ABP can provide a **default generic repository** for each aggregate root or enti **Example usage of a default generic repository:** ````C# -public class PersonAppService : ApplicationService -{ - private readonly IRepository _personRepository; +using System; +using System.Threading.Tasks; +using Volo.Abp.Application.Services; +using Volo.Abp.Domain.Repositories; - public PersonAppService(IRepository personRepository) +namespace Demo +{ + public class PersonAppService : ApplicationService { - _personRepository = personRepository; - } + private readonly IRepository _personRepository; - public async Task Create(CreatePersonDto input) - { - var person = new Person { Name = input.Name, Age = input.Age }; + public PersonAppService(IRepository personRepository) + { + _personRepository = personRepository; + } - await _personRepository.InsertAsync(person); - } + public async Task CreateAsync(CreatePersonDto input) + { + var person = new Person(input.Name); - public List GetList(string nameFilter) - { - var people = _personRepository - .Where(p => p.Name.Contains(nameFilter)) - .ToList(); + await _personRepository.InsertAsync(person); + } - return people - .Select(p => new PersonDto {Id = p.Id, Name = p.Name, Age = p.Age}) - .ToList(); + public async Task GetCountAsync(string filter) + { + return await _personRepository.CountAsync(p => p.Name.Contains(filter)); + } } } ```` -> See the "*IQueryable & Async Operations*" section below to understand how you can use **async extension methods**, like `ToListAsync()` (which is strongly suggested) instead of `ToList()`. - In this example; * `PersonAppService` simply injects `IRepository` in it's constructor. -* `Create` method uses `InsertAsync` to save a newly created entity. -* `GetList` method uses the standard LINQ `Where` and `ToList` methods to filter and get a list of people from the data source. +* `CreateAsync` method uses `InsertAsync` to save the new entity. +* `GetCountAsync` method gets a filtered count of all people in the database. -> The example above uses hand-made mapping between [entities](Entities.md) and [DTO](Data-Transfer-Objects.md)s. See [object to object mapping document](Object-To-Object-Mapping.md) for an automatic way of mapping. +### Standard Repository Methods Generic Repositories provides some standard CRUD features out of the box: -* Provides `Insert` method to save a new entity. +* `GetAsync`: Returns a single entity by its `Id` or a predicate (lambda expression). + * Throws `EntityNotFoundException` if the requested entity was not found. + * Throws `InvalidOperationException` if there are multiple entities with given predicate. +* `FindAsync`: Returns a single entity by its `Id` or a predicate (lambda expression). + * Returns `null` if the requested entity was not found. + * Throws `InvalidOperationException` if there are multiple entities with given predicate. +* `InsertAsync`: Inserts a new entity to the database. +* `UpdateAsync`: Updates an existing entity in the database. +* `DeleteAsync`: Deletes the given entity from database. + * This method has an overload that takes a predicate (lambda expression) to delete multiple entities satisfies the given condition. +* `GetListAsync`: Returns the list of all entities in the database. +* `GetPagedListAsync`: Returns a limited list of entities. Gets `skipCount`, `maxResultCount` and `sorting` parameters. +* `GetCountAsync`: Gets count of all entities in the database. + +There are overloads of these methods. + * Provides `Update` and `Delete` methods to update or delete an entity by entity object or it's id. * Provides `Delete` method to delete multiple entities by a filter. -* Implements `IQueryable`, so you can use LINQ and extension methods like `FirstOrDefault`, `Where`, `OrderBy`, `ToList` and so on... -### Basic Repositories +### Querying / LINQ over the Repositories -Standard `IRepository` interface extends standard `IQueryable` and you can freely query using standard LINQ methods. However, some ORM providers or database systems may not support standard `IQueryable` interface. +Repositories provide the `GetQueryableAsync()` method that returns an `IQueryable` object. You can use this object to perform LINQ queries on the entities in the database. -ABP provides `IBasicRepository` and `IBasicRepository` interfaces to support such scenarios. You can extend these interfaces (and optionally derive from `BasicRepositoryBase`) to create custom repositories for your entities. +**Example: Use LINQ with the repositories** -Depending on `IBasicRepository` but not depending on `IRepository` has an advantage to make possible to work with all data sources even if they don't support `IQueryable`. But major vendors, like Entity Framework, NHibernate or MongoDb already support `IQueryable`. +````csharp +using System; +using System.Linq; +using System.Collections.Generic; +using System.Threading.Tasks; +using Volo.Abp.Application.Services; +using Volo.Abp.Domain.Repositories; -So, working with `IRepository` is the **suggested** way for typical applications. But reusable module developers may consider `IBasicRepository` to support a wider range of data sources. +namespace Demo +{ + public class PersonAppService : ApplicationService + { + private readonly IRepository _personRepository; -### Read Only Repositories + public PersonAppService(IRepository personRepository) + { + _personRepository = personRepository; + } -There are also `IReadOnlyRepository` and `IReadOnlyBasicRepository` interfaces for who only want to depend on querying capabilities of the repositories. + public async Task> GetListAsync(string filter) + { + //Obtain the IQueryable + IQueryable queryable = await _personRepository.GetQueryableAsync(); -### Generic Repository without a Primary Key + //Create a query + var query = from person in queryable + where person.Name == filter + orderby person.Name + select person; -If your entity does not have an Id primary key (it may have a composite primary key for instance) then you cannot use the `IRepository` (or basic/readonly versions) defined above. In that case, you can inject and use `IRepository` for your entity. + //Execute the query to get list of people + var people = query.ToList(); -> `IRepository` has a few missing methods those normally works with the `Id` property of an entity. Because of the entity has no `Id` property in that case, these methods are not available. One example is the `Get` method that gets an id and returns the entity with given id. However, you can still use `IQueryable` features to query entities by standard LINQ methods. + //Convert to DTO and return to the client + return people.Select(p => new PersonDto {Name = p.Name}).ToList(); + } + } +} +```` + +You could also use the LINQ extension methods: + +````csharp +public async Task> GetListAsync(string filter) +{ + //Obtain the IQueryable + IQueryable queryable = await _personRepository.GetQueryableAsync(); + + //Execute a query + var people = queryable + .Where(p => p.Name.Contains(filter)) + .OrderBy(p => p.Name) + .ToList(); + + //Convert to DTO and return to the client + return people.Select(p => new PersonDto {Name = p.Name}).ToList(); +} +```` + +Any standard LINQ method can be used over the `IQueryable` returned from the repository. + +> This sample uses `ToList()` method, but it is **strongly suggested to use the asynchronous methods** to perform database queries, like `ToListAsync()` for this example. +> +> See the **IQueryable & Async Operations** section to learn how you can do it. + +### Bulk Operations + +There are some methods to perform bulk operations in the database; + +* `InsertManyAsync` +* `UpdateManyAsync` +* `DeleteManyAsync` + +These methods work with multiple entities and can take advantage of bulk operations if supported by the underlying database provider. + +> Optimistic concurrency control may not be possible when you use `UpdateManyAsync` and `DeleteManyAsync` methods. ### Soft / Hard Delete `DeleteAsync` method of the repository doesn't delete the entity if the entity is a **soft-delete** entity (that implements `ISoftDelete`). Soft-delete entities are marked as "deleted" in the database. Data Filter system ensures that the soft deleted entities are not retrieved from database normally. -If your entity is a soft-delete entity, you can use the `HardDeleteAsync` method to really delete the entity from database in case of you need it. +If your entity is a soft-delete entity, you can use the `HardDeleteAsync` method to physically delete the entity from database in case of you need it. + +> See the [Data Filtering](Data-Filtering.md) documentation for more about soft-delete. + +## Other Generic Repository Types + +Standard `IRepository` interface exposes the standard `IQueryable` and you can freely query using the standard LINQ methods. This is fine for most of the applications. However, some ORM providers or database systems may not support standard `IQueryable` interface. If you want to use such providers, you can't rely on the `IQueryable`. + +### Basic Repositories + +ABP provides `IBasicRepository` and `IBasicRepository` interfaces to support such scenarios. You can extend these interfaces (and optionally derive from `BasicRepositoryBase`) to create custom repositories for your entities. + +Depending on `IBasicRepository` but not depending on `IRepository` has an advantage to make possible to work with all data sources even if they don't support `IQueryable`. -See the [Data Filtering](Data-Filtering.md) documentation for more about soft-delete. +Major vendors, like Entity Framework, NHibernate or MongoDB already support `IQueryable`. So, working with `IRepository` is the **suggested** way for typical applications. But reusable module developers may consider `IBasicRepository` to support a wider range of data sources. -## Bulk Operations -You can execute bulk operations with `InsertManyAsync`, `UpdateManyAsync`, `DeleteManyAsync` methods. +### Read Only Repositories -> **WARNING:** ConcurrencyStamp can't be checked at bulk operations! +There are also `IReadOnlyRepository` and `IReadOnlyBasicRepository` interfaces for who only want to depend on querying capabilities of the repositories. + +### Generic Repository without a Primary Key + +If your entity does not have an Id primary key (it may have a composite primary key for instance) then you cannot use the `IRepository` (or basic/readonly versions) defined above. In that case, you can inject and use `IRepository` for your entity. + +> `IRepository` has a few missing methods those normally works with the `Id` property of an entity. Because of the entity has no `Id` property in that case, these methods are not available. One example is the `Get` method that gets an id and returns the entity with given id. However, you can still use `IQueryable` features to query entities by standard LINQ methods. ## Custom Repositories From ac7a2423f4178e809824047c862336f8ecf152be Mon Sep 17 00:00:00 2001 From: enisn Date: Mon, 18 Jan 2021 09:55:49 +0300 Subject: [PATCH 035/217] CmsKit - Rename TagDefinition as TagEntityTypeDefinition --- .../CmsKit/Admin/CmsKitAdminApplicationAutoMapperProfile.cs | 2 +- .../Volo/CmsKit/Tags/DefaultTagDefinitionStore.cs | 4 ++-- .../Volo/CmsKit/Tags/ITagDefinitionStore.cs | 4 ++-- .../src/Volo.CmsKit.Domain/Volo/CmsKit/Tags/ITagManager.cs | 2 +- .../Volo/CmsKit/Tags/TagDefinitionDictionary.cs | 4 ++-- .../Tags/{TagDefiniton.cs => TagEntityTypeDefiniton1.cs} | 6 +++--- .../src/Volo.CmsKit.Domain/Volo/CmsKit/Tags/TagManager.cs | 2 +- 7 files changed, 12 insertions(+), 12 deletions(-) rename modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Tags/{TagDefiniton.cs => TagEntityTypeDefiniton1.cs} (83%) diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/CmsKitAdminApplicationAutoMapperProfile.cs b/modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/CmsKitAdminApplicationAutoMapperProfile.cs index 5edcfd8a04..f14efb332d 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/CmsKitAdminApplicationAutoMapperProfile.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/CmsKitAdminApplicationAutoMapperProfile.cs @@ -18,7 +18,7 @@ namespace Volo.CmsKit.Admin CreateMap(MemberList.Source); CreateMap(MemberList.Source); - CreateMap(MemberList.Destination); + CreateMap(MemberList.Destination); } } } diff --git a/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Tags/DefaultTagDefinitionStore.cs b/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Tags/DefaultTagDefinitionStore.cs index b080720129..b5d02fdd23 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Tags/DefaultTagDefinitionStore.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Tags/DefaultTagDefinitionStore.cs @@ -17,7 +17,7 @@ namespace Volo.CmsKit.Tags this.options = options.Value; } - public virtual Task GetTagDefinitionAsync([NotNull] string entityType) + public virtual Task GetTagDefinitionAsync([NotNull] string entityType) { Check.NotNullOrWhiteSpace(entityType, nameof(entityType)); @@ -26,7 +26,7 @@ namespace Volo.CmsKit.Tags return Task.FromResult(result); } - public virtual Task> GetTagDefinitionsAsync() + public virtual Task> GetTagDefinitionsAsync() { return Task.FromResult(options.Tags.Values.ToList()); } diff --git a/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Tags/ITagDefinitionStore.cs b/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Tags/ITagDefinitionStore.cs index c2e12eb16b..e38b5c9e52 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Tags/ITagDefinitionStore.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Tags/ITagDefinitionStore.cs @@ -6,9 +6,9 @@ namespace Volo.CmsKit.Tags { public interface ITagDefinitionStore { - Task> GetTagDefinitionsAsync(); + Task> GetTagDefinitionsAsync(); - Task GetTagDefinitionAsync([NotNull] string entityType); + Task GetTagDefinitionAsync([NotNull] string entityType); Task IsDefinedAsync([NotNull] string entityType); } diff --git a/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Tags/ITagManager.cs b/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Tags/ITagManager.cs index 23d34d6a19..4b9cef5fb8 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Tags/ITagManager.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Tags/ITagManager.cs @@ -28,6 +28,6 @@ namespace Volo.CmsKit.Tags Guid? tenantId = null, CancellationToken cancellationToken = default); - Task> GetTagDefinitionsAsync(CancellationToken cancellationToken = default); + Task> GetTagDefinitionsAsync(CancellationToken cancellationToken = default); } } diff --git a/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Tags/TagDefinitionDictionary.cs b/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Tags/TagDefinitionDictionary.cs index dbbfd29219..b809abbc8d 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Tags/TagDefinitionDictionary.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Tags/TagDefinitionDictionary.cs @@ -4,7 +4,7 @@ using Volo.Abp.Localization; namespace Volo.CmsKit.Tags { - public class TagDefinitionDictionary : Dictionary + public class TagDefinitionDictionary : Dictionary { public void AddOrReplace( [NotNull] string entityType, @@ -14,7 +14,7 @@ namespace Volo.CmsKit.Tags [CanBeNull] string deletePolicy = null ) { - this[entityType] = new TagDefiniton(entityType, displayName, createPolicy, updatePolicy, deletePolicy); + this[entityType] = new TagEntityTypeDefiniton(entityType, displayName, createPolicy, updatePolicy, deletePolicy); } } } diff --git a/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Tags/TagDefiniton.cs b/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Tags/TagEntityTypeDefiniton1.cs similarity index 83% rename from modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Tags/TagDefiniton.cs rename to modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Tags/TagEntityTypeDefiniton1.cs index 6029ab3946..1193f5e68e 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Tags/TagDefiniton.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Tags/TagEntityTypeDefiniton1.cs @@ -5,18 +5,18 @@ using Volo.CmsKit.Domain.Volo.CmsKit; namespace Volo.CmsKit.Tags { - public class TagDefiniton : PolicySpecifiedDefinition + public class TagEntityTypeDefiniton : PolicySpecifiedDefinition { public string EntityType { get; } [CanBeNull] public virtual ILocalizableString DisplayName { get; } - public TagDefiniton() + public TagEntityTypeDefiniton() { } - public TagDefiniton( + public TagEntityTypeDefiniton( [NotNull] string entityType, [CanBeNull] ILocalizableString displayName = null, [CanBeNull] string createPolicy = null, diff --git a/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Tags/TagManager.cs b/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Tags/TagManager.cs index 5318336502..9c881226fa 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Tags/TagManager.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Tags/TagManager.cs @@ -83,7 +83,7 @@ namespace Volo.CmsKit.Tags return await _tagRepository.UpdateAsync(entity, cancellationToken: cancellationToken); } - public Task> GetTagDefinitionsAsync(CancellationToken cancellationToken = default) + public Task> GetTagDefinitionsAsync(CancellationToken cancellationToken = default) { return _tagDefinitionStore.GetTagDefinitionsAsync(); } From c3ba4b637a32514b5727726e2f85ad6779d1e184 Mon Sep 17 00:00:00 2001 From: maliming Date: Mon, 18 Jan 2021 15:26:33 +0800 Subject: [PATCH 036/217] Save the client id for Authorization Code Grant. Resolve #7274 --- .../IdentityServerSupportedLoginModel.cs | 5 ++-- .../IdentityServerSupportedLogoutModel.cs | 23 +++++++++++++------ 2 files changed, 19 insertions(+), 9 deletions(-) diff --git a/modules/account/src/Volo.Abp.Account.Web.IdentityServer/Pages/Account/IdentityServerSupportedLoginModel.cs b/modules/account/src/Volo.Abp.Account.Web.IdentityServer/Pages/Account/IdentityServerSupportedLoginModel.cs index 3d7381d2c3..4dab1f9761 100644 --- a/modules/account/src/Volo.Abp.Account.Web.IdentityServer/Pages/Account/IdentityServerSupportedLoginModel.cs +++ b/modules/account/src/Volo.Abp.Account.Web.IdentityServer/Pages/Account/IdentityServerSupportedLoginModel.cs @@ -103,9 +103,9 @@ namespace Volo.Abp.Account.Web.Pages.Account public override async Task OnPostAsync(string action) { + var context = await Interaction.GetAuthorizationContextAsync(ReturnUrl); if (action == "Cancel") { - var context = await Interaction.GetAuthorizationContextAsync(ReturnUrl); if (context == null) { return Redirect("~/"); @@ -142,7 +142,8 @@ namespace Volo.Abp.Account.Web.Pages.Account { Identity = IdentitySecurityLogIdentityConsts.Identity, Action = result.ToIdentitySecurityLogAction(), - UserName = LoginInput.UserNameOrEmailAddress + UserName = LoginInput.UserNameOrEmailAddress, + ClientId = context?.Client?.ClientId }); if (result.RequiresTwoFactor) diff --git a/modules/account/src/Volo.Abp.Account.Web.IdentityServer/Pages/Account/IdentityServerSupportedLogoutModel.cs b/modules/account/src/Volo.Abp.Account.Web.IdentityServer/Pages/Account/IdentityServerSupportedLogoutModel.cs index 26ee0d4c34..0045353b49 100644 --- a/modules/account/src/Volo.Abp.Account.Web.IdentityServer/Pages/Account/IdentityServerSupportedLogoutModel.cs +++ b/modules/account/src/Volo.Abp.Account.Web.IdentityServer/Pages/Account/IdentityServerSupportedLogoutModel.cs @@ -20,12 +20,6 @@ namespace Volo.Abp.Account.Web.Pages.Account public async override Task OnGetAsync() { - await IdentitySecurityLogManager.SaveAsync(new IdentitySecurityLogContext() - { - Identity = IdentitySecurityLogIdentityConsts.Identity, - Action = IdentitySecurityLogActionConsts.Logout - }); - await SignInManager.SignOutAsync(); var logoutId = Request.Query["logoutId"].ToString(); @@ -33,11 +27,14 @@ namespace Volo.Abp.Account.Web.Pages.Account if (!string.IsNullOrEmpty(logoutId)) { var logoutContext = await Interaction.GetLogoutContextAsync(logoutId); + + await SaveSecurityLogAsync(logoutContext?.ClientId); + await SignInManager.SignOutAsync(); HttpContext.User = new ClaimsPrincipal(new ClaimsIdentity()); - LoggedOutModel vm = new LoggedOutModel() + var vm = new LoggedOutModel() { PostLogoutRedirectUri = logoutContext?.PostLogoutRedirectUri, ClientName = logoutContext?.ClientName, @@ -49,6 +46,8 @@ namespace Volo.Abp.Account.Web.Pages.Account return RedirectToPage("./LoggedOut", vm); } + await SaveSecurityLogAsync(); + if (ReturnUrl != null) { return LocalRedirect(ReturnUrl); @@ -58,5 +57,15 @@ namespace Volo.Abp.Account.Web.Pages.Account $"IdentityServerSupportedLogoutModel couldn't find postLogoutUri... Redirecting to:/Account/Login.."); return RedirectToPage("/Account/Login"); } + + protected virtual async Task SaveSecurityLogAsync(string clientId = null) + { + await IdentitySecurityLogManager.SaveAsync(new IdentitySecurityLogContext() + { + Identity = IdentitySecurityLogIdentityConsts.Identity, + Action = IdentitySecurityLogActionConsts.Logout, + ClientId = clientId + }); + } } } From 9f7e6d9b4483ba9758cf79c7600856afe9546b17 Mon Sep 17 00:00:00 2001 From: maliming Date: Mon, 18 Jan 2021 15:35:32 +0800 Subject: [PATCH 037/217] Save when CurrentUser.IsAuthenticated --- .../Account/IdentityServerSupportedLogoutModel.cs | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/modules/account/src/Volo.Abp.Account.Web.IdentityServer/Pages/Account/IdentityServerSupportedLogoutModel.cs b/modules/account/src/Volo.Abp.Account.Web.IdentityServer/Pages/Account/IdentityServerSupportedLogoutModel.cs index 0045353b49..94860e80c1 100644 --- a/modules/account/src/Volo.Abp.Account.Web.IdentityServer/Pages/Account/IdentityServerSupportedLogoutModel.cs +++ b/modules/account/src/Volo.Abp.Account.Web.IdentityServer/Pages/Account/IdentityServerSupportedLogoutModel.cs @@ -60,12 +60,15 @@ namespace Volo.Abp.Account.Web.Pages.Account protected virtual async Task SaveSecurityLogAsync(string clientId = null) { - await IdentitySecurityLogManager.SaveAsync(new IdentitySecurityLogContext() + if (CurrentUser.IsAuthenticated) { - Identity = IdentitySecurityLogIdentityConsts.Identity, - Action = IdentitySecurityLogActionConsts.Logout, - ClientId = clientId - }); + await IdentitySecurityLogManager.SaveAsync(new IdentitySecurityLogContext() + { + Identity = IdentitySecurityLogIdentityConsts.Identity, + Action = IdentitySecurityLogActionConsts.Logout, + ClientId = clientId + }); + } } } } From bb630ed577e3ffc4b3f240b649852585f7e6565c Mon Sep 17 00:00:00 2001 From: enisn Date: Mon, 18 Jan 2021 11:02:51 +0300 Subject: [PATCH 038/217] CmsKit - Update content value tests --- .../Contents/ContentAdminAppService_Tests.cs | 3 +++ 1 file changed, 3 insertions(+) diff --git a/modules/cms-kit/test/Volo.CmsKit.Application.Tests/Contents/ContentAdminAppService_Tests.cs b/modules/cms-kit/test/Volo.CmsKit.Application.Tests/Contents/ContentAdminAppService_Tests.cs index d8c5d62a61..c0abc315dc 100644 --- a/modules/cms-kit/test/Volo.CmsKit.Application.Tests/Contents/ContentAdminAppService_Tests.cs +++ b/modules/cms-kit/test/Volo.CmsKit.Application.Tests/Contents/ContentAdminAppService_Tests.cs @@ -36,6 +36,7 @@ namespace Volo.CmsKit.Contents var result = await _service.GetListAsync(new ContentGetListInput()); result.ShouldNotBeNull(); + result.ShouldBeOfType(); result.Items.ShouldNotBeEmpty(); result.Items.Count.ShouldBe(4); } @@ -46,6 +47,8 @@ namespace Volo.CmsKit.Contents var result = await _service.GetAsync(_data.Content_1_Id); result.ShouldNotBeNull(); + result.ShouldBeOfType(); + result.ShouldNotBeNull(result.Value); } [Fact] From cc787655d1555c3cb768c87d3d9b2d98975da1d2 Mon Sep 17 00:00:00 2001 From: enisn Date: Mon, 18 Jan 2021 11:11:37 +0300 Subject: [PATCH 039/217] CmsKit - Fix type mismatch at Content tests --- .../Contents/ContentAdminAppService_Tests.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/modules/cms-kit/test/Volo.CmsKit.Application.Tests/Contents/ContentAdminAppService_Tests.cs b/modules/cms-kit/test/Volo.CmsKit.Application.Tests/Contents/ContentAdminAppService_Tests.cs index c0abc315dc..34c90cbf6e 100644 --- a/modules/cms-kit/test/Volo.CmsKit.Application.Tests/Contents/ContentAdminAppService_Tests.cs +++ b/modules/cms-kit/test/Volo.CmsKit.Application.Tests/Contents/ContentAdminAppService_Tests.cs @@ -36,9 +36,9 @@ namespace Volo.CmsKit.Contents var result = await _service.GetListAsync(new ContentGetListInput()); result.ShouldNotBeNull(); - result.ShouldBeOfType(); result.Items.ShouldNotBeEmpty(); result.Items.Count.ShouldBe(4); + result.Items.All(x => x.ShouldBeOfType() != null); } [Fact] @@ -47,7 +47,7 @@ namespace Volo.CmsKit.Contents var result = await _service.GetAsync(_data.Content_1_Id); result.ShouldNotBeNull(); - result.ShouldBeOfType(); + result.ShouldBeOfType(); result.ShouldNotBeNull(result.Value); } From 0d17aa39169eadf0539e4501a03d8d4aa03dd9b2 Mon Sep 17 00:00:00 2001 From: Mladen Macanovic Date: Mon, 18 Jan 2021 10:44:09 +0100 Subject: [PATCH 040/217] Move CreateModal.Hide() to created/updated methods --- framework/src/Volo.Abp.BlazoriseUI/AbpCrudPageBase.cs | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/framework/src/Volo.Abp.BlazoriseUI/AbpCrudPageBase.cs b/framework/src/Volo.Abp.BlazoriseUI/AbpCrudPageBase.cs index 4a4d4df722..84ab0099c5 100644 --- a/framework/src/Volo.Abp.BlazoriseUI/AbpCrudPageBase.cs +++ b/framework/src/Volo.Abp.BlazoriseUI/AbpCrudPageBase.cs @@ -365,8 +365,6 @@ namespace Volo.Abp.BlazoriseUI await GetEntitiesAsync(); await OnCreatedEntityAsync(); - - CreateModal.Hide(); } } @@ -377,6 +375,7 @@ namespace Volo.Abp.BlazoriseUI protected virtual Task OnCreatedEntityAsync() { + CreateModal.Hide(); return Task.CompletedTask; } @@ -392,8 +391,6 @@ namespace Volo.Abp.BlazoriseUI await GetEntitiesAsync(); await OnUpdatedEntityAsync(); - - EditModal.Hide(); } } @@ -404,6 +401,7 @@ namespace Volo.Abp.BlazoriseUI protected virtual Task OnUpdatedEntityAsync() { + EditModal.Hide(); return Task.CompletedTask; } From ae0852e670627b9e3c408c52797298dd4078f065 Mon Sep 17 00:00:00 2001 From: enisn Date: Mon, 18 Jan 2021 13:58:49 +0300 Subject: [PATCH 041/217] CmsKit - Seperate CmsKitTagOptions --- .../Admin/Tags/EntityTagAdminAppService.cs | 4 ++-- .../Volo/CmsKit/CmsKitDomainModule.cs | 17 ++++++++++++----- .../Volo/CmsKit/CmsKitOptions.cs | 3 --- .../Volo/CmsKit/Tags/CmsKitTagOptions.cs | 11 +++++++++++ .../CmsKit/Tags/DefaultTagDefinitionStore.cs | 12 ++++++------ .../Volo/CmsKit/Tags/ITagDefinitionStore.cs | 2 +- ....cs => TagEntityTypeDefinitionDictionary.cs} | 2 +- 7 files changed, 33 insertions(+), 18 deletions(-) create mode 100644 modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Tags/CmsKitTagOptions.cs rename modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Tags/{TagDefinitionDictionary.cs => TagEntityTypeDefinitionDictionary.cs} (86%) diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/Tags/EntityTagAdminAppService.cs b/modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/Tags/EntityTagAdminAppService.cs index 848a2ea11e..1ef6a8bdf9 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/Tags/EntityTagAdminAppService.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/Tags/EntityTagAdminAppService.cs @@ -23,7 +23,7 @@ namespace Volo.CmsKit.Admin.Application.Volo.CmsKit.Admin.Tags public async Task AddTagToEntityAsync(EntityTagCreateDto input) { - var definition = await _tagDefinitionStore.GetTagDefinitionAsync(input.EntityType); + var definition = await _tagDefinitionStore.GetTagEntityTypeDefinitionsAsync(input.EntityType); await CheckPolicyAsync(definition.CreatePolicy); @@ -38,7 +38,7 @@ namespace Volo.CmsKit.Admin.Application.Volo.CmsKit.Admin.Tags public async Task RemoveTagFromEntityAsync(EntityTagRemoveDto input) { - var definition = await _tagDefinitionStore.GetTagDefinitionAsync(input.EntityType); + var definition = await _tagDefinitionStore.GetTagEntityTypeDefinitionsAsync(input.EntityType); await CheckPolicyAsync(definition.DeletePolicy); diff --git a/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/CmsKitDomainModule.cs b/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/CmsKitDomainModule.cs index 719a5bc215..faf258f923 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/CmsKitDomainModule.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/CmsKitDomainModule.cs @@ -1,4 +1,5 @@ -using Volo.Abp.Domain; +using Microsoft.Extensions.Options; +using Volo.Abp.Domain; using Volo.Abp.GlobalFeatures; using Volo.Abp.Localization; using Volo.Abp.Modularity; @@ -7,6 +8,7 @@ using Volo.CmsKit.GlobalFeatures; using Volo.CmsKit.Localization; using Volo.CmsKit.Pages; using Volo.CmsKit.Reactions; +using Volo.CmsKit.Tags; namespace Volo.CmsKit { @@ -34,14 +36,19 @@ namespace Volo.CmsKit options.Reactions.AddOrReplace(StandardReactions.Rocket); options.Reactions.AddOrReplace(StandardReactions.Pray); - if (GlobalFeatureManager.Instance.IsEnabled()) + }); + + + if (GlobalFeatureManager.Instance.IsEnabled()) + { + Configure(options => { if (GlobalFeatureManager.Instance.IsEnabled()) { - options.Tags.AddOrReplace(typeof(Page).Name, L("Page")); + options.EntityTypes.AddOrReplace(typeof(Page).Name, L("Page")); } - } - }); + }); + } } private static LocalizableString L(string name) diff --git a/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/CmsKitOptions.cs b/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/CmsKitOptions.cs index 20fde8704d..8075895184 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/CmsKitOptions.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/CmsKitOptions.cs @@ -8,8 +8,5 @@ namespace Volo.CmsKit { [NotNull] public ReactionDefinitionDictionary Reactions { get; } = new ReactionDefinitionDictionary(); - - [NotNull] - public TagDefinitionDictionary Tags { get; } = new TagDefinitionDictionary(); } } diff --git a/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Tags/CmsKitTagOptions.cs b/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Tags/CmsKitTagOptions.cs new file mode 100644 index 0000000000..8f9b073d6b --- /dev/null +++ b/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Tags/CmsKitTagOptions.cs @@ -0,0 +1,11 @@ +using JetBrains.Annotations; +using Volo.CmsKit.Tags; + +namespace Volo.CmsKit.Tags +{ + public class CmsKitTagOptions + { + [NotNull] + public TagEntityTypeDefinitionDictionary EntityTypes { get; } = new TagEntityTypeDefinitionDictionary(); + } +} diff --git a/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Tags/DefaultTagDefinitionStore.cs b/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Tags/DefaultTagDefinitionStore.cs index b5d02fdd23..6860e8c95c 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Tags/DefaultTagDefinitionStore.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Tags/DefaultTagDefinitionStore.cs @@ -10,31 +10,31 @@ namespace Volo.CmsKit.Tags { public class DefaultTagDefinitionStore : ITagDefinitionStore, ITransientDependency { - private readonly CmsKitOptions options; + private readonly CmsKitTagOptions options; - public DefaultTagDefinitionStore(IOptions options) + public DefaultTagDefinitionStore(IOptions options) { this.options = options.Value; } - public virtual Task GetTagDefinitionAsync([NotNull] string entityType) + public virtual Task GetTagEntityTypeDefinitionsAsync([NotNull] string entityType) { Check.NotNullOrWhiteSpace(entityType, nameof(entityType)); - var result = options.Tags.GetOrDefault(entityType) ?? throw new EntityNotTaggableException(entityType); + var result = options.EntityTypes.GetOrDefault(entityType) ?? throw new EntityNotTaggableException(entityType); return Task.FromResult(result); } public virtual Task> GetTagDefinitionsAsync() { - return Task.FromResult(options.Tags.Values.ToList()); + return Task.FromResult(options.EntityTypes.Values.ToList()); } public virtual Task IsDefinedAsync([NotNull] string entityType) { Check.NotNullOrWhiteSpace(entityType, nameof(entityType)); - return Task.FromResult(options.Tags.ContainsKey(entityType)); + return Task.FromResult(options.EntityTypes.ContainsKey(entityType)); } } } diff --git a/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Tags/ITagDefinitionStore.cs b/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Tags/ITagDefinitionStore.cs index e38b5c9e52..1221e3660d 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Tags/ITagDefinitionStore.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Tags/ITagDefinitionStore.cs @@ -8,7 +8,7 @@ namespace Volo.CmsKit.Tags { Task> GetTagDefinitionsAsync(); - Task GetTagDefinitionAsync([NotNull] string entityType); + Task GetTagEntityTypeDefinitionsAsync([NotNull] string entityType); Task IsDefinedAsync([NotNull] string entityType); } diff --git a/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Tags/TagDefinitionDictionary.cs b/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Tags/TagEntityTypeDefinitionDictionary.cs similarity index 86% rename from modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Tags/TagDefinitionDictionary.cs rename to modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Tags/TagEntityTypeDefinitionDictionary.cs index b809abbc8d..669dbbb315 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Tags/TagDefinitionDictionary.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Tags/TagEntityTypeDefinitionDictionary.cs @@ -4,7 +4,7 @@ using Volo.Abp.Localization; namespace Volo.CmsKit.Tags { - public class TagDefinitionDictionary : Dictionary + public class TagEntityTypeDefinitionDictionary : Dictionary { public void AddOrReplace( [NotNull] string entityType, From c50572e648a0aa876af8d435a23293e0aa038065 Mon Sep 17 00:00:00 2001 From: enisn Date: Mon, 18 Jan 2021 14:40:38 +0300 Subject: [PATCH 042/217] CmsKit - Update tests for CmsKitTagOptions --- .../CmsKitDataSeedContributor.cs | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/modules/cms-kit/test/Volo.CmsKit.TestBase/CmsKitDataSeedContributor.cs b/modules/cms-kit/test/Volo.CmsKit.TestBase/CmsKitDataSeedContributor.cs index 9adc4442cb..3dc77fe1fc 100644 --- a/modules/cms-kit/test/Volo.CmsKit.TestBase/CmsKitDataSeedContributor.cs +++ b/modules/cms-kit/test/Volo.CmsKit.TestBase/CmsKitDataSeedContributor.cs @@ -31,6 +31,7 @@ namespace Volo.CmsKit private readonly ITagManager _tagManager; private readonly IPageRepository _pageRepository; private readonly IOptions _options; + private readonly IOptions _tagOptions; public CmsKitDataSeedContributor( IGuidGenerator guidGenerator, @@ -44,7 +45,8 @@ namespace Volo.CmsKit ITagManager tagManager, IEntityTagManager entityTagManager, IPageRepository pageRepository, - IOptions options) + IOptions options, + IOptions tagOptions) { _guidGenerator = guidGenerator; _cmsUserRepository = cmsUserRepository; @@ -58,6 +60,7 @@ namespace Volo.CmsKit _entityTagManager = entityTagManager; _pageRepository = pageRepository; _options = options; + _tagOptions = tagOptions; } public async Task SeedAsync(DataSeedContext context) @@ -83,12 +86,12 @@ namespace Volo.CmsKit } private Task ConfigureCmsKitOptionsAsync() - { - _options.Value.Tags.AddOrReplace(_cmsKitTestData.EntityType1); - _options.Value.Tags.AddOrReplace(_cmsKitTestData.EntityType2); - _options.Value.Tags.AddOrReplace(_cmsKitTestData.Content_1_EntityType); - _options.Value.Tags.AddOrReplace(_cmsKitTestData.Content_2_EntityType); - _options.Value.Tags.AddOrReplace(_cmsKitTestData.TagDefinition_1_EntityType); + { + _tagOptions.Value.EntityTypes.AddOrReplace(_cmsKitTestData.EntityType1); + _tagOptions.Value.EntityTypes.AddOrReplace(_cmsKitTestData.EntityType2); + _tagOptions.Value.EntityTypes.AddOrReplace(_cmsKitTestData.Content_1_EntityType); + _tagOptions.Value.EntityTypes.AddOrReplace(_cmsKitTestData.Content_2_EntityType); + _tagOptions.Value.EntityTypes.AddOrReplace(_cmsKitTestData.TagDefinition_1_EntityType); return Task.CompletedTask; } From 3f9cdce94b8655d487f3cf73a95890035df1d516 Mon Sep 17 00:00:00 2001 From: Oliver Cooper Date: Mon, 18 Jan 2021 12:17:11 +0000 Subject: [PATCH 043/217] Improve flexibility of email validation in the ValidationHelper * ValidationHelper.EmailRegEx can now be modified to suit the users needs * Regex updated to be more inclusive - see https://html.spec.whatwg.org/#valid-e-mail-address --- .../Volo/Abp/Validation/ValidationHelper.cs | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/framework/src/Volo.Abp.Validation/Volo/Abp/Validation/ValidationHelper.cs b/framework/src/Volo.Abp.Validation/Volo/Abp/Validation/ValidationHelper.cs index d46281d2e9..9f6cec23e5 100644 --- a/framework/src/Volo.Abp.Validation/Volo/Abp/Validation/ValidationHelper.cs +++ b/framework/src/Volo.Abp.Validation/Volo/Abp/Validation/ValidationHelper.cs @@ -4,7 +4,9 @@ namespace Volo.Abp.Validation { public class ValidationHelper { - private const string EmailRegEx = @"[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?"; + // Taken from W3C as an alternative to the RFC5322 specification: https://html.spec.whatwg.org/#valid-e-mail-address + // The RFC5322 regex can be found here: https://emailregex.com/ + public static string EmailRegEx { get; set; } = @"^[a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$"; public static bool IsValidEmailAddress(string email) { @@ -13,7 +15,6 @@ namespace Volo.Abp.Validation return false; } - /*RFC 2822 (simplified)*/ return Regex.IsMatch(email, EmailRegEx, RegexOptions.Compiled | RegexOptions.IgnoreCase); } } From dc11977a9ce9653561314cf0e86d117390ec6448 Mon Sep 17 00:00:00 2001 From: maliming Date: Mon, 18 Jan 2021 20:29:33 +0800 Subject: [PATCH 044/217] Handle empty array in AddQueryStringParameter. Resolve #7298 --- .../Http/Client/DynamicProxying/UrlBuilder.cs | 35 ++++++++++++------- 1 file changed, 22 insertions(+), 13 deletions(-) diff --git a/framework/src/Volo.Abp.Http.Client/Volo/Abp/Http/Client/DynamicProxying/UrlBuilder.cs b/framework/src/Volo.Abp.Http.Client/Volo/Abp/Http/Client/DynamicProxying/UrlBuilder.cs index e4b82b21e1..5bee246bd0 100644 --- a/framework/src/Volo.Abp.Http.Client/Volo/Abp/Http/Client/DynamicProxying/UrlBuilder.cs +++ b/framework/src/Volo.Abp.Http.Client/Volo/Abp/Http/Client/DynamicProxying/UrlBuilder.cs @@ -8,7 +8,6 @@ using JetBrains.Annotations; using Volo.Abp.Http.Modeling; using Volo.Abp.Http.ProxyScripting.Generators; using Volo.Abp.Localization; -using Volo.Abp.Reflection; namespace Volo.Abp.Http.Client.DynamicProxying { @@ -82,9 +81,10 @@ namespace Volo.Abp.Http.Client.DynamicProxying continue; } - AddQueryStringParameter(urlBuilder, isFirstParam, queryStringParameter.Name, value); - - isFirstParam = false; + if (AddQueryStringParameter(urlBuilder, isFirstParam, queryStringParameter.Name, value)) + { + isFirstParam = false; + } } if (apiVersion.ShouldSendInQueryString()) @@ -93,28 +93,37 @@ namespace Volo.Abp.Http.Client.DynamicProxying } } - private static void AddQueryStringParameter( + private static bool AddQueryStringParameter( StringBuilder urlBuilder, bool isFirstParam, string name, [NotNull] object value) { - urlBuilder.Append(isFirstParam ? "?" : "&"); - if (value.GetType().IsArray || (value.GetType().IsGenericType && value is IEnumerable)) { var index = 0; foreach (var item in (IEnumerable) value) { + if (index == 0) + { + urlBuilder.Append(isFirstParam ? "?" : "&"); + } urlBuilder.Append(name + $"[{index++}]=" + System.Net.WebUtility.UrlEncode(ConvertValueToString(item)) + "&"); } - //remove & at the end of the urlBuilder. - urlBuilder.Remove(urlBuilder.Length - 1, 1); - } - else - { - urlBuilder.Append(name + "=" + System.Net.WebUtility.UrlEncode(ConvertValueToString(value))); + + if (index > 0) + { + //remove & at the end of the urlBuilder. + urlBuilder.Remove(urlBuilder.Length - 1, 1); + return true; + } + + return false; } + + urlBuilder.Append(isFirstParam ? "?" : "&"); + urlBuilder.Append(name + "=" + System.Net.WebUtility.UrlEncode(ConvertValueToString(value))); + return true; } private static string ConvertValueToString([NotNull] object value) From a43cde673e4d40614ed62af34dedfc121a5ab0f2 Mon Sep 17 00:00:00 2001 From: maliming Date: Mon, 18 Jan 2021 20:41:42 +0800 Subject: [PATCH 045/217] Add unit test. --- .../Abp/Http/DynamicProxying/RegularTestController.cs | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/framework/test/Volo.Abp.Http.Client.Tests/Volo/Abp/Http/DynamicProxying/RegularTestController.cs b/framework/test/Volo.Abp.Http.Client.Tests/Volo/Abp/Http/DynamicProxying/RegularTestController.cs index da61333d4e..e18c2f8f4a 100644 --- a/framework/test/Volo.Abp.Http.Client.Tests/Volo/Abp/Http/DynamicProxying/RegularTestController.cs +++ b/framework/test/Volo.Abp.Http.Client.Tests/Volo/Abp/Http/DynamicProxying/RegularTestController.cs @@ -1,4 +1,5 @@ using System; +using System.Collections.Generic; using System.Globalization; using System.Threading.Tasks; using Microsoft.AspNetCore.Mvc; @@ -140,5 +141,13 @@ namespace Volo.Abp.Http.DynamicProxying [FromQuery] public DateTime FirstReleaseDate { get; set; } + + [FromQuery] + public List Colors { get; set; } + + public Car() + { + Colors = new List(); + } } } From 89344d66cd7a116ae70486880cbe63232f9a3ddc Mon Sep 17 00:00:00 2001 From: Oliver Cooper Date: Mon, 18 Jan 2021 13:01:04 +0000 Subject: [PATCH 046/217] Update tests for ValidationHelper --- .../Abp/Validation/ApplicationService_Validation_Tests.cs | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/framework/test/Volo.Abp.Validation.Tests/Volo/Abp/Validation/ApplicationService_Validation_Tests.cs b/framework/test/Volo.Abp.Validation.Tests/Volo/Abp/Validation/ApplicationService_Validation_Tests.cs index de9067e2f7..cd602c07af 100644 --- a/framework/test/Volo.Abp.Validation.Tests/Volo/Abp/Validation/ApplicationService_Validation_Tests.cs +++ b/framework/test/Volo.Abp.Validation.Tests/Volo/Abp/Validation/ApplicationService_Validation_Tests.cs @@ -180,15 +180,19 @@ namespace Volo.Abp.Validation { //Valid ValidationHelper.IsValidEmailAddress("john.doe@domain.com").ShouldBe(true); + ValidationHelper.IsValidEmailAddress("john-doe1@domain.co").ShouldBe(true); ValidationHelper.IsValidEmailAddress("ip@1.2.3.123").ShouldBe(true); ValidationHelper.IsValidEmailAddress("pharaoh@egyptian.museum").ShouldBe(true); ValidationHelper.IsValidEmailAddress("john.doe+regexbuddy@gmail.com").ShouldBe(true); ValidationHelper.IsValidEmailAddress("Mike.O'Dell@ireland.com").ShouldBe(true); + ValidationHelper.IsValidEmailAddress("admin@localhost").ShouldBe(true); + ValidationHelper.IsValidEmailAddress("j@h.c").ShouldBe(true); //Invalid - ValidationHelper.IsValidEmailAddress("1024x768@60Hz").ShouldBe(false); ValidationHelper.IsValidEmailAddress("not.a.valid.email").ShouldBe(false); ValidationHelper.IsValidEmailAddress("john@aol...com").ShouldBe(false); + ValidationHelper.IsValidEmailAddress("john@aol@domain.com").ShouldBe(false); + ValidationHelper.IsValidEmailAddress("jack@domain.").ShouldBe(false); } [DependsOn(typeof(AbpAutofacModule))] From e3fce5578a89001e075c17f22b1b6158114fa943 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Halil=20=C4=B0brahim=20Kalkan?= Date: Mon, 18 Jan 2021 21:32:05 +0300 Subject: [PATCH 047/217] Update POST.md --- docs/en/Blog-Posts/2021-01-14 v4_2_Preview/POST.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/en/Blog-Posts/2021-01-14 v4_2_Preview/POST.md b/docs/en/Blog-Posts/2021-01-14 v4_2_Preview/POST.md index 28a42059fb..8d769b52ce 100644 --- a/docs/en/Blog-Posts/2021-01-14 v4_2_Preview/POST.md +++ b/docs/en/Blog-Posts/2021-01-14 v4_2_Preview/POST.md @@ -8,16 +8,16 @@ Today, we have released the [ABP Framework](https://abp.io/) and the [ABP Commer If you want to try the version `4.2.0` today, follow the steps below; -1) **Upgrade** the ABP CLI to the version `4.2.0-rc.1` using a command line terminal: +1) **Upgrade** the ABP CLI to the version `4.2.0-rc.2` using a command line terminal: ````bash -dotnet tool update Volo.Abp.Cli -g --version 4.2.0-rc.1 +dotnet tool update Volo.Abp.Cli -g --version 4.2.0-rc.2 ```` **or install** if you haven't installed before: ````bash -dotnet tool install Volo.Abp.Cli -g --version 4.2.0-rc.1 +dotnet tool install Volo.Abp.Cli -g --version 4.2.0-rc.2 ```` 2) Create a **new application** with the `--preview` option: From 0ac632fecf15a5d37048e49148f455b903b2c1ed Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Halil=20=C4=B0brahim=20Kalkan?= Date: Mon, 18 Jan 2021 21:42:54 +0300 Subject: [PATCH 048/217] Update POST.md --- docs/en/Blog-Posts/2021-01-14 v4_2_Preview/POST.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/docs/en/Blog-Posts/2021-01-14 v4_2_Preview/POST.md b/docs/en/Blog-Posts/2021-01-14 v4_2_Preview/POST.md index 8d769b52ce..d16afb4244 100644 --- a/docs/en/Blog-Posts/2021-01-14 v4_2_Preview/POST.md +++ b/docs/en/Blog-Posts/2021-01-14 v4_2_Preview/POST.md @@ -130,7 +130,9 @@ abp new BookStore -dbms mysql --preview Available options: `SqlServer` (default), `MySQL`, `SQLite`, `Oracle-Devart`, `PostgreSQL`. See the [documentation](https://docs.abp.io/en/abp/latest/Entity-Framework-Core-Other-DBMS) to use any other DBMS or switch the DBMS later. -> If you select a DBMS other than the SQL Server, then the database migrations are also created when you first run the `DbMigrator` application. In this case, do not run the application inside Visual Studio (or another IDE), but execute `dotnet run` command in a terminal in the folder of the `DbMigrator` project. +One change related to this feature is that: Now, the startup template doesn't come with an **initial migration** file. This is because the database migrations are different based on your DBMS preference and should be re-created. However, when you first run the `.DbMigrator` application, it will create the initial migration and create the database just like before. + +> See The Initial Migration section in the [Getting Started](https://docs.abp.io/en/abp/4.2/Getting-Started-Running-Solution?DB=EF#database-migrations) document if you have problems on running the `.DbMigrator` application first time. ### Swagger UI Login / Authorization From cc1c1d3cd1dc19bf66701d12ebc02acc58b559b6 Mon Sep 17 00:00:00 2001 From: maliming Date: Tue, 19 Jan 2021 10:27:05 +0800 Subject: [PATCH 049/217] Localized exception message in pages. --- .../Volo.Abp.Account.Web/AbpAccountWebModule.cs | 4 +++- .../Pages/Account/AccountPageModel.cs | 14 +++++++++++++- .../Pages/Account/ForgotPassword.cshtml.cs | 2 +- .../Pages/Account/Register.cshtml.cs | 4 +--- .../Pages/Account/ResetPassword.cshtml.cs | 2 +- 5 files changed, 19 insertions(+), 7 deletions(-) diff --git a/modules/account/src/Volo.Abp.Account.Web/AbpAccountWebModule.cs b/modules/account/src/Volo.Abp.Account.Web/AbpAccountWebModule.cs index 303963d24f..4a806b9ae2 100644 --- a/modules/account/src/Volo.Abp.Account.Web/AbpAccountWebModule.cs +++ b/modules/account/src/Volo.Abp.Account.Web/AbpAccountWebModule.cs @@ -8,6 +8,7 @@ using Volo.Abp.AspNetCore.Mvc.UI.Bundling; using Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared; using Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared.Toolbars; using Volo.Abp.AutoMapper; +using Volo.Abp.ExceptionHandling; using Volo.Abp.Identity.AspNetCore; using Volo.Abp.Modularity; using Volo.Abp.UI.Navigation; @@ -19,7 +20,8 @@ namespace Volo.Abp.Account.Web typeof(AbpAccountHttpApiModule), typeof(AbpIdentityAspNetCoreModule), typeof(AbpAutoMapperModule), - typeof(AbpAspNetCoreMvcUiThemeSharedModule) + typeof(AbpAspNetCoreMvcUiThemeSharedModule), + typeof(AbpExceptionHandlingModule) )] public class AbpAccountWebModule : AbpModule { diff --git a/modules/account/src/Volo.Abp.Account.Web/Pages/Account/AccountPageModel.cs b/modules/account/src/Volo.Abp.Account.Web/Pages/Account/AccountPageModel.cs index 3e016c8bb5..c4461bd512 100644 --- a/modules/account/src/Volo.Abp.Account.Web/Pages/Account/AccountPageModel.cs +++ b/modules/account/src/Volo.Abp.Account.Web/Pages/Account/AccountPageModel.cs @@ -2,10 +2,11 @@ using System.Collections.Generic; using System.Linq; using Microsoft.AspNetCore.Identity; -using Microsoft.AspNetCore.Mvc; using Microsoft.Extensions.Options; using Volo.Abp.Account.Localization; +using Volo.Abp.AspNetCore.ExceptionHandling; using Volo.Abp.AspNetCore.Mvc.UI.RazorPages; +using Volo.Abp.ExceptionHandling; using Volo.Abp.Identity; using IdentityUser = Volo.Abp.Identity.IdentityUser; @@ -18,6 +19,7 @@ namespace Volo.Abp.Account.Web.Pages.Account public IdentityUserManager UserManager { get; set; } public IdentitySecurityLogManager IdentitySecurityLogManager { get; set; } public IOptions IdentityOptions { get; set; } + public IExceptionToErrorInfoConverter ExceptionToErrorInfoConverter { get; set; } protected AccountPageModel() { @@ -42,5 +44,15 @@ namespace Volo.Abp.Account.Web.Pages.Account throw new ApplicationException($"Current tenant is different than given tenant. CurrentTenant.Id: {CurrentTenant.Id}, given tenantId: {tenantId}"); } } + + protected virtual string GetLocalizeExceptionMessage(Exception exception) + { + if (exception is ILocalizeErrorMessage || exception is IHasErrorCode) + { + return ExceptionToErrorInfoConverter.Convert(exception, false).Message; + } + + return exception.Message; + } } } diff --git a/modules/account/src/Volo.Abp.Account.Web/Pages/Account/ForgotPassword.cshtml.cs b/modules/account/src/Volo.Abp.Account.Web/Pages/Account/ForgotPassword.cshtml.cs index b66b53c913..1789a6ba2e 100644 --- a/modules/account/src/Volo.Abp.Account.Web/Pages/Account/ForgotPassword.cshtml.cs +++ b/modules/account/src/Volo.Abp.Account.Web/Pages/Account/ForgotPassword.cshtml.cs @@ -43,7 +43,7 @@ namespace Volo.Abp.Account.Web.Pages.Account } catch (UserFriendlyException e) { - Alerts.Danger(e.Message); + Alerts.Danger(GetLocalizeExceptionMessage(e)); return Page(); } diff --git a/modules/account/src/Volo.Abp.Account.Web/Pages/Account/Register.cshtml.cs b/modules/account/src/Volo.Abp.Account.Web/Pages/Account/Register.cshtml.cs index 065573c137..eb6307e6b0 100644 --- a/modules/account/src/Volo.Abp.Account.Web/Pages/Account/Register.cshtml.cs +++ b/modules/account/src/Volo.Abp.Account.Web/Pages/Account/Register.cshtml.cs @@ -1,8 +1,6 @@ -using System; using System.ComponentModel.DataAnnotations; using System.Linq; using System.Security.Claims; -using System.Text; using System.Threading.Tasks; using Microsoft.AspNetCore.Identity; using Microsoft.AspNetCore.Mvc; @@ -100,7 +98,7 @@ namespace Volo.Abp.Account.Web.Pages.Account } catch (BusinessException e) { - Alerts.Danger(e.Message); + Alerts.Danger(GetLocalizeExceptionMessage(e)); return Page(); } } diff --git a/modules/account/src/Volo.Abp.Account.Web/Pages/Account/ResetPassword.cshtml.cs b/modules/account/src/Volo.Abp.Account.Web/Pages/Account/ResetPassword.cshtml.cs index 13370f5fbd..c961fe7e14 100644 --- a/modules/account/src/Volo.Abp.Account.Web/Pages/Account/ResetPassword.cshtml.cs +++ b/modules/account/src/Volo.Abp.Account.Web/Pages/Account/ResetPassword.cshtml.cs @@ -82,7 +82,7 @@ namespace Volo.Abp.Account.Web.Pages.Account { if (!string.IsNullOrWhiteSpace(e.Message)) { - Alerts.Warning(e.Message); + Alerts.Warning(GetLocalizeExceptionMessage(e)); return Page(); } From e9504c58ca57615a7196eaf6d60d806fab6c282e Mon Sep 17 00:00:00 2001 From: liangshiwei Date: Tue, 19 Jan 2021 11:26:21 +0800 Subject: [PATCH 050/217] Enhanced topic already exists condition --- .../src/Volo.Abp.Kafka/Volo/Abp/Kafka/KafkaMessageConsumer.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/framework/src/Volo.Abp.Kafka/Volo/Abp/Kafka/KafkaMessageConsumer.cs b/framework/src/Volo.Abp.Kafka/Volo/Abp/Kafka/KafkaMessageConsumer.cs index 8ae81a2a26..bb7e2d66a3 100644 --- a/framework/src/Volo.Abp.Kafka/Volo/Abp/Kafka/KafkaMessageConsumer.cs +++ b/framework/src/Volo.Abp.Kafka/Volo/Abp/Kafka/KafkaMessageConsumer.cs @@ -86,7 +86,7 @@ namespace Volo.Abp.Kafka } catch (CreateTopicsException e) { - if (!e.Error.Reason.Contains($"Topic '{TopicName}' already exists")) + if(e.Results.First().Error.Code != ErrorCode.TopicAlreadyExists) { throw; } From 815857daf1fea19a0cf7e5f8e12d33a464177e63 Mon Sep 17 00:00:00 2001 From: liangshiwei Date: Tue, 19 Jan 2021 16:19:55 +0800 Subject: [PATCH 051/217] Add ConfigureAll method to Bundle system --- .../Bundling/BundleConfigurationCollection.cs | 26 ++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) diff --git a/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bundling/Volo/Abp/AspNetCore/Mvc/UI/Bundling/BundleConfigurationCollection.cs b/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bundling/Volo/Abp/AspNetCore/Mvc/UI/Bundling/BundleConfigurationCollection.cs index afc4ec6a4a..a18e8bdd11 100644 --- a/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bundling/Volo/Abp/AspNetCore/Mvc/UI/Bundling/BundleConfigurationCollection.cs +++ b/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bundling/Volo/Abp/AspNetCore/Mvc/UI/Bundling/BundleConfigurationCollection.cs @@ -9,11 +9,13 @@ namespace Volo.Abp.AspNetCore.Mvc.UI.Bundling { private readonly ConcurrentDictionary _bundles; private readonly ConcurrentDictionary>> _lazyBundleConfigurationActions; + private readonly List> _lazyAllBundleConfigurationActions; public BundleConfigurationCollection() { _bundles = new ConcurrentDictionary(); _lazyBundleConfigurationActions = new ConcurrentDictionary>>(); + _lazyAllBundleConfigurationActions = new List>(); } ///

    From 4af52a08d0e7c787925caa76cec6b09ff491d2c4 Mon Sep 17 00:00:00 2001 From: enisn Date: Wed, 20 Jan 2021 10:28:08 +0300 Subject: [PATCH 062/217] CmsKit - Refactoring TagsEntityTypes --- .../Volo/CmsKit/CmsKitDomainModule.cs | 11 ++--------- .../Volo/CmsKit/Tags/EntityNotTaggableException.cs | 11 +++++++++-- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/CmsKitDomainModule.cs b/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/CmsKitDomainModule.cs index faf258f923..a60cb0d521 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/CmsKitDomainModule.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/CmsKitDomainModule.cs @@ -38,16 +38,9 @@ namespace Volo.CmsKit }); - if (GlobalFeatureManager.Instance.IsEnabled()) { - Configure(options => - { - if (GlobalFeatureManager.Instance.IsEnabled()) - { - options.EntityTypes.AddOrReplace(typeof(Page).Name, L("Page")); - } - }); + // TODO: Configure TagEntityTypes here... } } @@ -56,4 +49,4 @@ namespace Volo.CmsKit return LocalizableString.Create(name); } } -} +} \ No newline at end of file diff --git a/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Tags/EntityNotTaggableException.cs b/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Tags/EntityNotTaggableException.cs index d39c81a127..8787fb16a5 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Tags/EntityNotTaggableException.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Tags/EntityNotTaggableException.cs @@ -1,4 +1,5 @@ -using System; +using Microsoft.Extensions.Logging; +using System; using Volo.Abp; namespace Volo.CmsKit.Tags @@ -6,7 +7,13 @@ namespace Volo.CmsKit.Tags [Serializable] public class EntityNotTaggableException : BusinessException { - public EntityNotTaggableException(string code = null, string message = null, string details = null, Exception innerException = null, Microsoft.Extensions.Logging.LogLevel logLevel = Microsoft.Extensions.Logging.LogLevel.Warning) : base(code, message, details, innerException, logLevel) + public EntityNotTaggableException( + string code = null, + string message = null, + string details = null, + Exception innerException = null, + LogLevel logLevel = LogLevel.Warning) + : base(code, message, details, innerException, logLevel) { } From b8e1a969be953097a9a67715ce5f34f76c598a72 Mon Sep 17 00:00:00 2001 From: liangshiwei Date: Wed, 20 Jan 2021 16:46:57 +0800 Subject: [PATCH 063/217] Add CancellationToken optional parameter to the Auditlogging module repository methods --- .../Abp/AuditLogging/IAuditLogRepository.cs | 9 ++--- .../EfCoreAuditLogRepository.cs | 26 +++++++++----- .../MongoDB/MongoAuditLogRepository.cs | 34 ++++++++++++------- 3 files changed, 45 insertions(+), 24 deletions(-) diff --git a/modules/audit-logging/src/Volo.Abp.AuditLogging.Domain/Volo/Abp/AuditLogging/IAuditLogRepository.cs b/modules/audit-logging/src/Volo.Abp.AuditLogging.Domain/Volo/Abp/AuditLogging/IAuditLogRepository.cs index ad0e0d20c2..cd7e22b9a2 100644 --- a/modules/audit-logging/src/Volo.Abp.AuditLogging.Domain/Volo/Abp/AuditLogging/IAuditLogRepository.cs +++ b/modules/audit-logging/src/Volo.Abp.AuditLogging.Domain/Volo/Abp/AuditLogging/IAuditLogRepository.cs @@ -44,9 +44,10 @@ namespace Volo.Abp.AuditLogging Task> GetAverageExecutionDurationPerDayAsync( DateTime startDate, - DateTime endDate); + DateTime endDate, + CancellationToken cancellationToken = default); - Task GetEntityChange(Guid entityChangeId); + Task GetEntityChange(Guid entityChangeId, CancellationToken cancellationToken = default); Task> GetEntityChangeListAsync( string sorting = null, @@ -70,8 +71,8 @@ namespace Volo.Abp.AuditLogging string entityTypeFullName = null, CancellationToken cancellationToken = default); - Task GetEntityChangeWithUsernameAsync(Guid entityChangeId); + Task GetEntityChangeWithUsernameAsync(Guid entityChangeId, CancellationToken cancellationToken = default); - Task> GetEntityChangesWithUsernameAsync(string entityId, string entityTypeFullName); + Task> GetEntityChangesWithUsernameAsync(string entityId, string entityTypeFullName, CancellationToken cancellationToken = default); } } diff --git a/modules/audit-logging/src/Volo.Abp.AuditLogging.EntityFrameworkCore/Volo/Abp/AuditLogging/EntityFrameworkCore/EfCoreAuditLogRepository.cs b/modules/audit-logging/src/Volo.Abp.AuditLogging.EntityFrameworkCore/Volo/Abp/AuditLogging/EntityFrameworkCore/EfCoreAuditLogRepository.cs index edb1f3f599..acd1912925 100644 --- a/modules/audit-logging/src/Volo.Abp.AuditLogging.EntityFrameworkCore/Volo/Abp/AuditLogging/EntityFrameworkCore/EfCoreAuditLogRepository.cs +++ b/modules/audit-logging/src/Volo.Abp.AuditLogging.EntityFrameworkCore/Volo/Abp/AuditLogging/EntityFrameworkCore/EfCoreAuditLogRepository.cs @@ -125,14 +125,17 @@ namespace Volo.Abp.AuditLogging.EntityFrameworkCore .WhereIf(minExecutionDuration != null && minExecutionDuration.Value > 0, auditLog => auditLog.ExecutionDuration >= minExecutionDuration); } - public virtual async Task> GetAverageExecutionDurationPerDayAsync(DateTime startDate, DateTime endDate) + public virtual async Task> GetAverageExecutionDurationPerDayAsync( + DateTime startDate, + DateTime endDate, + CancellationToken cancellationToken = default) { var result = await (await GetDbSetAsync()).AsNoTracking() .Where(a => a.ExecutionTime < endDate.AddDays(1) && a.ExecutionTime > startDate) .OrderBy(t => t.ExecutionTime) .GroupBy(t => new { t.ExecutionTime.Date }) .Select(g => new { Day = g.Min(t => t.ExecutionTime), avgExecutionTime = g.Average(t => t.ExecutionDuration) }) - .ToListAsync(); + .ToListAsync(GetCancellationToken(cancellationToken)); return result.ToDictionary(element => element.Day.ClearTime(), element => element.avgExecutionTime); } @@ -148,14 +151,16 @@ namespace Volo.Abp.AuditLogging.EntityFrameworkCore return (await GetQueryableAsync()).IncludeDetails(); } - public virtual async Task GetEntityChange(Guid entityChangeId) + public virtual async Task GetEntityChange( + Guid entityChangeId, + CancellationToken cancellationToken = default) { var entityChange = await (await GetDbContextAsync()).Set() .AsNoTracking() .IncludeDetails() .Where(x => x.Id == entityChangeId) .OrderBy(x => x.Id) - .FirstOrDefaultAsync(); + .FirstOrDefaultAsync(GetCancellationToken(cancellationToken)); if (entityChange == null) { @@ -201,10 +206,12 @@ namespace Volo.Abp.AuditLogging.EntityFrameworkCore return totalCount; } - public virtual async Task GetEntityChangeWithUsernameAsync(Guid entityChangeId) + public virtual async Task GetEntityChangeWithUsernameAsync( + Guid entityChangeId, + CancellationToken cancellationToken = default) { var auditLog = await (await GetDbSetAsync()).AsNoTracking().IncludeDetails() - .Where(x => x.EntityChanges.Any(y => y.Id == entityChangeId)).FirstAsync(); + .Where(x => x.EntityChanges.Any(y => y.Id == entityChangeId)).FirstAsync(GetCancellationToken(cancellationToken)); return new EntityChangeWithUsername() { @@ -213,7 +220,10 @@ namespace Volo.Abp.AuditLogging.EntityFrameworkCore }; } - public virtual async Task> GetEntityChangesWithUsernameAsync(string entityId, string entityTypeFullName) + public virtual async Task> GetEntityChangesWithUsernameAsync( + string entityId, + string entityTypeFullName, + CancellationToken cancellationToken = default) { var dbContext = await GetDbContextAsync(); @@ -225,7 +235,7 @@ namespace Volo.Abp.AuditLogging.EntityFrameworkCore return await (from e in query join auditLog in dbContext.AuditLogs on e.AuditLogId equals auditLog.Id select new EntityChangeWithUsername {EntityChange = e, UserName = auditLog.UserName}) - .OrderByDescending(x => x.EntityChange.ChangeTime).ToListAsync(); + .OrderByDescending(x => x.EntityChange.ChangeTime).ToListAsync(GetCancellationToken(cancellationToken)); } protected virtual async Task> GetEntityChangeListQueryAsync( diff --git a/modules/audit-logging/src/Volo.Abp.AuditLogging.MongoDB/Volo/Abp/AuditLogging/MongoDB/MongoAuditLogRepository.cs b/modules/audit-logging/src/Volo.Abp.AuditLogging.MongoDB/Volo/Abp/AuditLogging/MongoDB/MongoAuditLogRepository.cs index 788b6995bb..ce3c0e18c8 100644 --- a/modules/audit-logging/src/Volo.Abp.AuditLogging.MongoDB/Volo/Abp/AuditLogging/MongoDB/MongoAuditLogRepository.cs +++ b/modules/audit-logging/src/Volo.Abp.AuditLogging.MongoDB/Volo/Abp/AuditLogging/MongoDB/MongoAuditLogRepository.cs @@ -124,9 +124,12 @@ namespace Volo.Abp.AuditLogging.MongoDB } - public virtual async Task> GetAverageExecutionDurationPerDayAsync(DateTime startDate, DateTime endDate) + public virtual async Task> GetAverageExecutionDurationPerDayAsync( + DateTime startDate, + DateTime endDate, + CancellationToken cancellationToken = default) { - var result = await (await GetMongoQueryableAsync()) + var result = await (await GetMongoQueryableAsync(GetCancellationToken(cancellationToken))) .Where(a => a.ExecutionTime < endDate.AddDays(1) && a.ExecutionTime > startDate) .OrderBy(t => t.ExecutionTime) .GroupBy(t => new @@ -136,17 +139,19 @@ namespace Volo.Abp.AuditLogging.MongoDB t.ExecutionTime.Day }) .Select(g => new { Day = g.Min(t => t.ExecutionTime), avgExecutionTime = g.Average(t => t.ExecutionDuration) }) - .ToListAsync(); + .ToListAsync(GetCancellationToken(cancellationToken)); return result.ToDictionary(element => element.Day.ClearTime(), element => element.avgExecutionTime); } - public virtual async Task GetEntityChange(Guid entityChangeId) + public virtual async Task GetEntityChange( + Guid entityChangeId, + CancellationToken cancellationToken = default) { - var entityChange = (await (await GetMongoQueryableAsync()) + var entityChange = (await (await GetMongoQueryableAsync(GetCancellationToken(cancellationToken))) .Where(x => x.EntityChanges.Any(y => y.Id == entityChangeId)) .OrderBy(x => x.Id) - .FirstAsync()).EntityChanges.FirstOrDefault(x => x.Id == entityChangeId); + .FirstAsync(GetCancellationToken(cancellationToken))).EntityChanges.FirstOrDefault(x => x.Id == entityChangeId); if (entityChange == null) { @@ -194,11 +199,13 @@ namespace Volo.Abp.AuditLogging.MongoDB return count; } - public virtual async Task GetEntityChangeWithUsernameAsync(Guid entityChangeId) + public virtual async Task GetEntityChangeWithUsernameAsync( + Guid entityChangeId, + CancellationToken cancellationToken = default) { - var auditLog = (await (await GetMongoQueryableAsync()) + var auditLog = await (await GetMongoQueryableAsync(GetCancellationToken(cancellationToken))) .Where(x => x.EntityChanges.Any(y => y.Id == entityChangeId)) - .FirstAsync()); + .FirstAsync(GetCancellationToken(cancellationToken)); return new EntityChangeWithUsername() { @@ -207,13 +214,16 @@ namespace Volo.Abp.AuditLogging.MongoDB }; } - public virtual async Task> GetEntityChangesWithUsernameAsync(string entityId, string entityTypeFullName) + public virtual async Task> GetEntityChangesWithUsernameAsync( + string entityId, + string entityTypeFullName, + CancellationToken cancellationToken = default) { - var auditLogs = await (await GetMongoQueryableAsync()) + var auditLogs = await (await GetMongoQueryableAsync(GetCancellationToken(cancellationToken))) .Where(x => x.EntityChanges.Any(y => y.EntityId == entityId && y.EntityTypeFullName == entityTypeFullName)) .As>() .OrderByDescending(x => x.ExecutionTime) - .ToListAsync(); + .ToListAsync(GetCancellationToken(cancellationToken)); var entityChanges = auditLogs.SelectMany(x => x.EntityChanges).ToList(); From 5202d8e7e0533dbd4bce3d346e7e320c21d98c40 Mon Sep 17 00:00:00 2001 From: Erol Arkat Date: Wed, 20 Jan 2021 11:51:17 +0300 Subject: [PATCH 064/217] test --- common.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/common.props b/common.props index 5254c91876..11da9b9971 100644 --- a/common.props +++ b/common.props @@ -1,7 +1,7 @@ latest - 4.3.0 + 4.3.0 $(NoWarn);CS1591;CS0436 https://abp.io/assets/abp_nupkg.png https://abp.io/ From 9425585a64815def3b4064363a45fce12e89e7c1 Mon Sep 17 00:00:00 2001 From: Erol Arkat Date: Wed, 20 Jan 2021 11:53:34 +0300 Subject: [PATCH 065/217] test --- common.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/common.props b/common.props index 11da9b9971..f4765e5c7d 100644 --- a/common.props +++ b/common.props @@ -1,7 +1,7 @@ latest - 4.3.0 + 4.3.0 $(NoWarn);CS1591;CS0436 https://abp.io/assets/abp_nupkg.png https://abp.io/ From 16056ef6f9dfd8a787ba61239f44dfab76b168b8 Mon Sep 17 00:00:00 2001 From: Mladen Macanovic Date: Wed, 20 Jan 2021 10:03:44 +0100 Subject: [PATCH 066/217] Move GetEntitiesAsync into OnCreatedEntityAsync and OnUpdatedEntityAsync --- .../src/Volo.Abp.BlazoriseUI/AbpCrudPageBase.cs | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/framework/src/Volo.Abp.BlazoriseUI/AbpCrudPageBase.cs b/framework/src/Volo.Abp.BlazoriseUI/AbpCrudPageBase.cs index 84ab0099c5..65bb82feff 100644 --- a/framework/src/Volo.Abp.BlazoriseUI/AbpCrudPageBase.cs +++ b/framework/src/Volo.Abp.BlazoriseUI/AbpCrudPageBase.cs @@ -362,7 +362,6 @@ namespace Volo.Abp.BlazoriseUI await CheckCreatePolicyAsync(); var createInput = MapToCreateInput(NewEntity); await AppService.CreateAsync(createInput); - await GetEntitiesAsync(); await OnCreatedEntityAsync(); } @@ -373,10 +372,11 @@ namespace Volo.Abp.BlazoriseUI return Task.CompletedTask; } - protected virtual Task OnCreatedEntityAsync() + protected virtual async Task OnCreatedEntityAsync() { + await GetEntitiesAsync(); + CreateModal.Hide(); - return Task.CompletedTask; } protected virtual async Task UpdateEntityAsync() @@ -388,7 +388,6 @@ namespace Volo.Abp.BlazoriseUI await CheckUpdatePolicyAsync(); var updateInput = MapToUpdateInput(EditingEntity); await AppService.UpdateAsync(EditingEntityId, updateInput); - await GetEntitiesAsync(); await OnUpdatedEntityAsync(); } @@ -399,10 +398,11 @@ namespace Volo.Abp.BlazoriseUI return Task.CompletedTask; } - protected virtual Task OnUpdatedEntityAsync() + protected virtual async Task OnUpdatedEntityAsync() { + await GetEntitiesAsync(); + EditModal.Hide(); - return Task.CompletedTask; } protected virtual async Task DeleteEntityAsync(TListViewModel entity) From 2bf5b81662204d59dbab8aa8cbe1e61b41eee15d Mon Sep 17 00:00:00 2001 From: Mladen Macanovic Date: Wed, 20 Jan 2021 10:04:09 +0100 Subject: [PATCH 067/217] Optimize StateHasChanged to use InvokeAsync --- framework/src/Volo.Abp.BlazoriseUI/AbpCrudPageBase.cs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/framework/src/Volo.Abp.BlazoriseUI/AbpCrudPageBase.cs b/framework/src/Volo.Abp.BlazoriseUI/AbpCrudPageBase.cs index 65bb82feff..99d0f2a4c3 100644 --- a/framework/src/Volo.Abp.BlazoriseUI/AbpCrudPageBase.cs +++ b/framework/src/Volo.Abp.BlazoriseUI/AbpCrudPageBase.cs @@ -269,7 +269,7 @@ namespace Volo.Abp.BlazoriseUI await GetEntitiesAsync(); - StateHasChanged(); + await InvokeAsync(StateHasChanged); } protected virtual async Task OnDataGridReadAsync(DataGridReadDataEventArgs e) @@ -282,7 +282,7 @@ namespace Volo.Abp.BlazoriseUI await GetEntitiesAsync(); - StateHasChanged(); + await InvokeAsync(StateHasChanged); } protected virtual async Task OpenCreateModalAsync() @@ -295,7 +295,7 @@ namespace Volo.Abp.BlazoriseUI // Mapper will not notify Blazor that binded values are changed // so we need to notify it manually by calling StateHasChanged - await InvokeAsync(() => StateHasChanged()); + await InvokeAsync(StateHasChanged); CreateModal.Show(); } @@ -317,7 +317,7 @@ namespace Volo.Abp.BlazoriseUI EditingEntityId = entity.Id; EditingEntity = MapToEditingEntity(entityDto); - await InvokeAsync(() => StateHasChanged()); + await InvokeAsync(StateHasChanged); EditModal.Show(); } From d569511af7ad3c07a3d1b504230b862839d6c0cd Mon Sep 17 00:00:00 2001 From: liangshiwei Date: Wed, 20 Jan 2021 17:05:53 +0800 Subject: [PATCH 068/217] Add CancellationToken optional parameter to the BackgroundJobs module repository methods --- .../Volo/Abp/BackgroundJobs/IBackgroundJobRepository.cs | 5 +++-- .../EntityFrameworkCore/EfCoreBackgroundJobRepository.cs | 7 +++++-- .../BackgroundJobs/MongoDB/MongoBackgroundJobRepository.cs | 7 +++++-- 3 files changed, 13 insertions(+), 6 deletions(-) diff --git a/modules/background-jobs/src/Volo.Abp.BackgroundJobs.Domain/Volo/Abp/BackgroundJobs/IBackgroundJobRepository.cs b/modules/background-jobs/src/Volo.Abp.BackgroundJobs.Domain/Volo/Abp/BackgroundJobs/IBackgroundJobRepository.cs index e12aeff70a..0fdf15de4b 100644 --- a/modules/background-jobs/src/Volo.Abp.BackgroundJobs.Domain/Volo/Abp/BackgroundJobs/IBackgroundJobRepository.cs +++ b/modules/background-jobs/src/Volo.Abp.BackgroundJobs.Domain/Volo/Abp/BackgroundJobs/IBackgroundJobRepository.cs @@ -1,5 +1,6 @@ using System; using System.Collections.Generic; +using System.Threading; using System.Threading.Tasks; using Volo.Abp.Domain.Repositories; @@ -7,6 +8,6 @@ namespace Volo.Abp.BackgroundJobs { public interface IBackgroundJobRepository : IBasicRepository { - Task> GetWaitingListAsync(int maxResultCount); + Task> GetWaitingListAsync(int maxResultCount, CancellationToken cancellationToken = default); } -} \ No newline at end of file +} diff --git a/modules/background-jobs/src/Volo.Abp.BackgroundJobs.EntityFrameworkCore/Volo/Abp/BackgroundJobs/EntityFrameworkCore/EfCoreBackgroundJobRepository.cs b/modules/background-jobs/src/Volo.Abp.BackgroundJobs.EntityFrameworkCore/Volo/Abp/BackgroundJobs/EntityFrameworkCore/EfCoreBackgroundJobRepository.cs index 1971faf380..a4512a6e16 100644 --- a/modules/background-jobs/src/Volo.Abp.BackgroundJobs.EntityFrameworkCore/Volo/Abp/BackgroundJobs/EntityFrameworkCore/EfCoreBackgroundJobRepository.cs +++ b/modules/background-jobs/src/Volo.Abp.BackgroundJobs.EntityFrameworkCore/Volo/Abp/BackgroundJobs/EntityFrameworkCore/EfCoreBackgroundJobRepository.cs @@ -1,6 +1,7 @@ using System; using System.Collections.Generic; using System.Linq; +using System.Threading; using System.Threading.Tasks; using Microsoft.EntityFrameworkCore; using Volo.Abp.Domain.Repositories.EntityFrameworkCore; @@ -21,9 +22,11 @@ namespace Volo.Abp.BackgroundJobs.EntityFrameworkCore Clock = clock; } - public virtual async Task> GetWaitingListAsync(int maxResultCount) + public virtual async Task> GetWaitingListAsync( + int maxResultCount, + CancellationToken cancellationToken) { - return await (await GetWaitingListQueryAsync(maxResultCount)).ToListAsync(); + return await (await GetWaitingListQueryAsync(maxResultCount)).ToListAsync(GetCancellationToken(cancellationToken)); } protected virtual async Task> GetWaitingListQueryAsync(int maxResultCount) diff --git a/modules/background-jobs/src/Volo.Abp.BackgroundJobs.MongoDB/Volo/Abp/BackgroundJobs/MongoDB/MongoBackgroundJobRepository.cs b/modules/background-jobs/src/Volo.Abp.BackgroundJobs.MongoDB/Volo/Abp/BackgroundJobs/MongoDB/MongoBackgroundJobRepository.cs index 258c9310e2..88d28616a1 100644 --- a/modules/background-jobs/src/Volo.Abp.BackgroundJobs.MongoDB/Volo/Abp/BackgroundJobs/MongoDB/MongoBackgroundJobRepository.cs +++ b/modules/background-jobs/src/Volo.Abp.BackgroundJobs.MongoDB/Volo/Abp/BackgroundJobs/MongoDB/MongoBackgroundJobRepository.cs @@ -1,5 +1,6 @@ using System; using System.Collections.Generic; +using System.Threading; using System.Threading.Tasks; using MongoDB.Driver; using MongoDB.Driver.Linq; @@ -21,9 +22,11 @@ namespace Volo.Abp.BackgroundJobs.MongoDB Clock = clock; } - public virtual async Task> GetWaitingListAsync(int maxResultCount) + public virtual async Task> GetWaitingListAsync( + int maxResultCount, + CancellationToken cancellationToken) { - return await (await GetWaitingListQuery(maxResultCount)).ToListAsync(); + return await (await GetWaitingListQuery(maxResultCount)).ToListAsync(GetCancellationToken(cancellationToken)); } protected virtual async Task> GetWaitingListQuery(int maxResultCount) From 3da17ba365c4b9f582abb4b2d1b9a542b0a00f32 Mon Sep 17 00:00:00 2001 From: liangshiwei Date: Wed, 20 Jan 2021 17:32:32 +0800 Subject: [PATCH 069/217] Add CancellationToken optional parameter to the Blogging module repository methods --- .../Volo/Blogging/Blogs/IBlogRepository.cs | 3 ++- .../Blogging/Comments/ICommentRepository.cs | 11 ++++---- .../Volo/Blogging/Posts/IPostRepository.cs | 9 ++++--- .../Volo/Blogging/Tagging/ITagRepository.cs | 8 +++--- .../Blogging/Blogs/EfCoreBlogRepository.cs | 5 ++-- .../Comments/EfCoreCommentRepository.cs | 17 +++++++------ .../Blogging/Posts/EfCorePostRepository.cs | 19 +++++++------- .../Blogging/Tagging/EfCoreTagRepository.cs | 16 ++++++------ .../Blogging/Blogs/MongoBlogRepository.cs | 5 ++-- .../Comments/MongoCommentRepository.cs | 25 ++++++++++--------- .../Blogging/Posts/MongoPostRepository.cs | 23 +++++++++-------- .../Blogging/Tagging/MongoTagRepository.cs | 18 ++++++------- .../Blogging/Users/MongoBlogUserRepository.cs | 6 ++--- 13 files changed, 86 insertions(+), 79 deletions(-) diff --git a/modules/blogging/src/Volo.Blogging.Domain/Volo/Blogging/Blogs/IBlogRepository.cs b/modules/blogging/src/Volo.Blogging.Domain/Volo/Blogging/Blogs/IBlogRepository.cs index ade8d1be0e..37dbf85ddd 100644 --- a/modules/blogging/src/Volo.Blogging.Domain/Volo/Blogging/Blogs/IBlogRepository.cs +++ b/modules/blogging/src/Volo.Blogging.Domain/Volo/Blogging/Blogs/IBlogRepository.cs @@ -1,4 +1,5 @@ using System; +using System.Threading; using System.Threading.Tasks; using Volo.Abp.Domain.Repositories; @@ -6,6 +7,6 @@ namespace Volo.Blogging.Blogs { public interface IBlogRepository : IBasicRepository { - Task FindByShortNameAsync(string shortName); + Task FindByShortNameAsync(string shortName, CancellationToken cancellationToken = default); } } diff --git a/modules/blogging/src/Volo.Blogging.Domain/Volo/Blogging/Comments/ICommentRepository.cs b/modules/blogging/src/Volo.Blogging.Domain/Volo/Blogging/Comments/ICommentRepository.cs index 88ff91d516..65144cf5c2 100644 --- a/modules/blogging/src/Volo.Blogging.Domain/Volo/Blogging/Comments/ICommentRepository.cs +++ b/modules/blogging/src/Volo.Blogging.Domain/Volo/Blogging/Comments/ICommentRepository.cs @@ -1,5 +1,6 @@ using System; using System.Collections.Generic; +using System.Threading; using System.Threading.Tasks; using Volo.Abp.Domain.Repositories; @@ -7,14 +8,12 @@ namespace Volo.Blogging.Comments { public interface ICommentRepository : IBasicRepository { - Task> GetListOfPostAsync( - Guid postId - ); + Task> GetListOfPostAsync(Guid postId, CancellationToken cancellationToken = default); - Task GetCommentCountOfPostAsync(Guid postId); + Task GetCommentCountOfPostAsync(Guid postId, CancellationToken cancellationToken = default); - Task> GetRepliesOfComment(Guid id); + Task> GetRepliesOfComment(Guid id, CancellationToken cancellationToken = default); - Task DeleteOfPost(Guid id); + Task DeleteOfPost(Guid id, CancellationToken cancellationToken = default); } } diff --git a/modules/blogging/src/Volo.Blogging.Domain/Volo/Blogging/Posts/IPostRepository.cs b/modules/blogging/src/Volo.Blogging.Domain/Volo/Blogging/Posts/IPostRepository.cs index 9a49590015..b5446515bf 100644 --- a/modules/blogging/src/Volo.Blogging.Domain/Volo/Blogging/Posts/IPostRepository.cs +++ b/modules/blogging/src/Volo.Blogging.Domain/Volo/Blogging/Posts/IPostRepository.cs @@ -1,5 +1,6 @@ using System; using System.Collections.Generic; +using System.Threading; using System.Threading.Tasks; using Volo.Abp.Domain.Repositories; @@ -7,12 +8,12 @@ namespace Volo.Blogging.Posts { public interface IPostRepository : IBasicRepository { - Task> GetPostsByBlogId(Guid id); + Task> GetPostsByBlogId(Guid id, CancellationToken cancellationToken = default); - Task IsPostUrlInUseAsync(Guid blogId, string url, Guid? excludingPostId = null); + Task IsPostUrlInUseAsync(Guid blogId, string url, Guid? excludingPostId = null, CancellationToken cancellationToken = default); - Task GetPostByUrl(Guid blogId, string url); + Task GetPostByUrl(Guid blogId, string url, CancellationToken cancellationToken = default); - Task> GetOrderedList(Guid blogId,bool descending = false); + Task> GetOrderedList(Guid blogId,bool descending = false, CancellationToken cancellationToken = default); } } diff --git a/modules/blogging/src/Volo.Blogging.Domain/Volo/Blogging/Tagging/ITagRepository.cs b/modules/blogging/src/Volo.Blogging.Domain/Volo/Blogging/Tagging/ITagRepository.cs index 8c076c49d7..12aa0031ed 100644 --- a/modules/blogging/src/Volo.Blogging.Domain/Volo/Blogging/Tagging/ITagRepository.cs +++ b/modules/blogging/src/Volo.Blogging.Domain/Volo/Blogging/Tagging/ITagRepository.cs @@ -8,13 +8,13 @@ namespace Volo.Blogging.Tagging { public interface ITagRepository : IBasicRepository { - Task> GetListAsync(Guid blogId); + Task> GetListAsync(Guid blogId, CancellationToken cancellationToken = default); - Task GetByNameAsync(Guid blogId, string name); + Task GetByNameAsync(Guid blogId, string name, CancellationToken cancellationToken = default); - Task FindByNameAsync(Guid blogId, string name); + Task FindByNameAsync(Guid blogId, string name, CancellationToken cancellationToken = default); - Task> GetListAsync(IEnumerable ids); + Task> GetListAsync(IEnumerable ids, CancellationToken cancellationToken = default); Task DecreaseUsageCountOfTagsAsync(List id, CancellationToken cancellationToken = default); } diff --git a/modules/blogging/src/Volo.Blogging.EntityFrameworkCore/Volo/Blogging/Blogs/EfCoreBlogRepository.cs b/modules/blogging/src/Volo.Blogging.EntityFrameworkCore/Volo/Blogging/Blogs/EfCoreBlogRepository.cs index 564d45dc7a..d5397a66f0 100644 --- a/modules/blogging/src/Volo.Blogging.EntityFrameworkCore/Volo/Blogging/Blogs/EfCoreBlogRepository.cs +++ b/modules/blogging/src/Volo.Blogging.EntityFrameworkCore/Volo/Blogging/Blogs/EfCoreBlogRepository.cs @@ -1,4 +1,5 @@ using System; +using System.Threading; using System.Threading.Tasks; using Microsoft.EntityFrameworkCore; using Volo.Abp.Domain.Repositories.EntityFrameworkCore; @@ -15,9 +16,9 @@ namespace Volo.Blogging.Blogs } - public async Task FindByShortNameAsync(string shortName) + public async Task FindByShortNameAsync(string shortName, CancellationToken cancellationToken = default) { - return await (await GetDbSetAsync()).FirstOrDefaultAsync(p => p.ShortName == shortName); + return await (await GetDbSetAsync()).FirstOrDefaultAsync(p => p.ShortName == shortName, GetCancellationToken(cancellationToken)); } } } diff --git a/modules/blogging/src/Volo.Blogging.EntityFrameworkCore/Volo/Blogging/Comments/EfCoreCommentRepository.cs b/modules/blogging/src/Volo.Blogging.EntityFrameworkCore/Volo/Blogging/Comments/EfCoreCommentRepository.cs index 6c28b521aa..801ef07825 100644 --- a/modules/blogging/src/Volo.Blogging.EntityFrameworkCore/Volo/Blogging/Comments/EfCoreCommentRepository.cs +++ b/modules/blogging/src/Volo.Blogging.EntityFrameworkCore/Volo/Blogging/Comments/EfCoreCommentRepository.cs @@ -1,6 +1,7 @@ using System; using System.Collections.Generic; using System.Linq; +using System.Threading; using System.Threading.Tasks; using Microsoft.EntityFrameworkCore; using Volo.Abp.Domain.Repositories.EntityFrameworkCore; @@ -16,29 +17,29 @@ namespace Volo.Blogging.Comments { } - public async Task> GetListOfPostAsync(Guid postId) + public async Task> GetListOfPostAsync(Guid postId, CancellationToken cancellationToken = default) { return await (await GetDbSetAsync()) .Where(a => a.PostId == postId) .OrderBy(a => a.CreationTime) - .ToListAsync(); + .ToListAsync(GetCancellationToken(cancellationToken)); } - public async Task GetCommentCountOfPostAsync(Guid postId) + public async Task GetCommentCountOfPostAsync(Guid postId, CancellationToken cancellationToken = default) { return await (await GetDbSetAsync()) - .CountAsync(a => a.PostId == postId); + .CountAsync(a => a.PostId == postId, GetCancellationToken(cancellationToken)); } - public async Task> GetRepliesOfComment(Guid id) + public async Task> GetRepliesOfComment(Guid id, CancellationToken cancellationToken = default) { return await (await GetDbSetAsync()) - .Where(a => a.RepliedCommentId == id).ToListAsync(); + .Where(a => a.RepliedCommentId == id).ToListAsync(GetCancellationToken(cancellationToken)); } - public async Task DeleteOfPost(Guid id) + public async Task DeleteOfPost(Guid id, CancellationToken cancellationToken = default) { - var recordsToDelete = (await GetDbSetAsync()).Where(pt => pt.PostId == id); + var recordsToDelete = await (await GetDbSetAsync()).Where(pt => pt.PostId == id).ToListAsync(GetCancellationToken(cancellationToken)); (await GetDbSetAsync()).RemoveRange(recordsToDelete); } } diff --git a/modules/blogging/src/Volo.Blogging.EntityFrameworkCore/Volo/Blogging/Posts/EfCorePostRepository.cs b/modules/blogging/src/Volo.Blogging.EntityFrameworkCore/Volo/Blogging/Posts/EfCorePostRepository.cs index a5a84fd340..a676816dee 100644 --- a/modules/blogging/src/Volo.Blogging.EntityFrameworkCore/Volo/Blogging/Posts/EfCorePostRepository.cs +++ b/modules/blogging/src/Volo.Blogging.EntityFrameworkCore/Volo/Blogging/Posts/EfCorePostRepository.cs @@ -1,6 +1,7 @@ using System; using System.Collections.Generic; using System.Linq; +using System.Threading; using System.Threading.Tasks; using Microsoft.EntityFrameworkCore; using Volo.Abp.Domain.Entities; @@ -18,12 +19,12 @@ namespace Volo.Blogging.Posts } - public async Task> GetPostsByBlogId(Guid id) + public async Task> GetPostsByBlogId(Guid id, CancellationToken cancellationToken = default) { - return await (await GetDbSetAsync()).Where(p => p.BlogId == id).OrderByDescending(p=>p.CreationTime).ToListAsync(); + return await (await GetDbSetAsync()).Where(p => p.BlogId == id).OrderByDescending(p=>p.CreationTime).ToListAsync(GetCancellationToken(cancellationToken)); } - public async Task IsPostUrlInUseAsync(Guid blogId, string url, Guid? excludingPostId = null) + public async Task IsPostUrlInUseAsync(Guid blogId, string url, Guid? excludingPostId = null, CancellationToken cancellationToken = default) { var query = (await GetDbSetAsync()).Where(p => blogId == p.BlogId && p.Url == url); @@ -32,12 +33,12 @@ namespace Volo.Blogging.Posts query = query.Where(p => excludingPostId != p.Id); } - return await query.AnyAsync(); + return await query.AnyAsync(GetCancellationToken(cancellationToken)); } - public async Task GetPostByUrl(Guid blogId, string url) + public async Task GetPostByUrl(Guid blogId, string url, CancellationToken cancellationToken = default) { - var post = await (await GetDbSetAsync()).FirstOrDefaultAsync(p => p.BlogId == blogId && p.Url == url); + var post = await (await GetDbSetAsync()).FirstOrDefaultAsync(p => p.BlogId == blogId && p.Url == url, GetCancellationToken(cancellationToken)); if (post == null) { @@ -47,15 +48,15 @@ namespace Volo.Blogging.Posts return post; } - public async Task> GetOrderedList(Guid blogId,bool descending = false) + public async Task> GetOrderedList(Guid blogId,bool descending = false, CancellationToken cancellationToken = default) { if (!descending) { - return await (await GetDbSetAsync()).Where(x=>x.BlogId==blogId).OrderByDescending(x => x.CreationTime).ToListAsync(); + return await (await GetDbSetAsync()).Where(x=>x.BlogId==blogId).OrderByDescending(x => x.CreationTime).ToListAsync(GetCancellationToken(cancellationToken)); } else { - return await (await GetDbSetAsync()).Where(x => x.BlogId == blogId).OrderBy(x => x.CreationTime).ToListAsync(); + return await (await GetDbSetAsync()).Where(x => x.BlogId == blogId).OrderBy(x => x.CreationTime).ToListAsync(GetCancellationToken(cancellationToken)); } } diff --git a/modules/blogging/src/Volo.Blogging.EntityFrameworkCore/Volo/Blogging/Tagging/EfCoreTagRepository.cs b/modules/blogging/src/Volo.Blogging.EntityFrameworkCore/Volo/Blogging/Tagging/EfCoreTagRepository.cs index a92ae780da..0a33207374 100644 --- a/modules/blogging/src/Volo.Blogging.EntityFrameworkCore/Volo/Blogging/Tagging/EfCoreTagRepository.cs +++ b/modules/blogging/src/Volo.Blogging.EntityFrameworkCore/Volo/Blogging/Tagging/EfCoreTagRepository.cs @@ -17,24 +17,24 @@ namespace Volo.Blogging.Tagging { } - public async Task> GetListAsync(Guid blogId) + public async Task> GetListAsync(Guid blogId, CancellationToken cancellationToken = default) { - return await (await GetDbSetAsync()).Where(t=>t.BlogId == blogId).ToListAsync(); + return await (await GetDbSetAsync()).Where(t=>t.BlogId == blogId).ToListAsync(GetCancellationToken(cancellationToken)); } - public async Task GetByNameAsync(Guid blogId, string name) + public async Task GetByNameAsync(Guid blogId, string name, CancellationToken cancellationToken = default) { - return await (await GetDbSetAsync()).FirstAsync(t=> t.BlogId == blogId && t.Name == name); + return await (await GetDbSetAsync()).FirstAsync(t=> t.BlogId == blogId && t.Name == name, GetCancellationToken(cancellationToken)); } - public async Task FindByNameAsync(Guid blogId, string name) + public async Task FindByNameAsync(Guid blogId, string name, CancellationToken cancellationToken = default) { - return await (await GetDbSetAsync()).FirstOrDefaultAsync(t => t.BlogId == blogId && t.Name == name); + return await (await GetDbSetAsync()).FirstOrDefaultAsync(t => t.BlogId == blogId && t.Name == name, GetCancellationToken(cancellationToken)); } - public async Task> GetListAsync(IEnumerable ids) + public async Task> GetListAsync(IEnumerable ids, CancellationToken cancellationToken = default) { - return await (await GetDbSetAsync()).Where(t => ids.Contains(t.Id)).ToListAsync(); + return await (await GetDbSetAsync()).Where(t => ids.Contains(t.Id)).ToListAsync(GetCancellationToken(cancellationToken)); } public async Task DecreaseUsageCountOfTagsAsync(List ids, CancellationToken cancellationToken = default) diff --git a/modules/blogging/src/Volo.Blogging.MongoDB/Volo/Blogging/Blogs/MongoBlogRepository.cs b/modules/blogging/src/Volo.Blogging.MongoDB/Volo/Blogging/Blogs/MongoBlogRepository.cs index 6025dfe3ca..0ef6b70a88 100644 --- a/modules/blogging/src/Volo.Blogging.MongoDB/Volo/Blogging/Blogs/MongoBlogRepository.cs +++ b/modules/blogging/src/Volo.Blogging.MongoDB/Volo/Blogging/Blogs/MongoBlogRepository.cs @@ -1,4 +1,5 @@ using System; +using System.Threading; using System.Threading.Tasks; using MongoDB.Driver.Linq; using Volo.Abp.Domain.Repositories.MongoDB; @@ -13,9 +14,9 @@ namespace Volo.Blogging.Blogs { } - public async Task FindByShortNameAsync(string shortName) + public async Task FindByShortNameAsync(string shortName, CancellationToken cancellationToken = default) { - return await (await GetMongoQueryableAsync()).FirstOrDefaultAsync(p => p.ShortName == shortName); + return await (await GetMongoQueryableAsync(GetCancellationToken(cancellationToken))).FirstOrDefaultAsync(p => p.ShortName == shortName, GetCancellationToken(cancellationToken)); } } } diff --git a/modules/blogging/src/Volo.Blogging.MongoDB/Volo/Blogging/Comments/MongoCommentRepository.cs b/modules/blogging/src/Volo.Blogging.MongoDB/Volo/Blogging/Comments/MongoCommentRepository.cs index bbbe60345b..cfeb24475a 100644 --- a/modules/blogging/src/Volo.Blogging.MongoDB/Volo/Blogging/Comments/MongoCommentRepository.cs +++ b/modules/blogging/src/Volo.Blogging.MongoDB/Volo/Blogging/Comments/MongoCommentRepository.cs @@ -1,5 +1,6 @@ using System; using System.Collections.Generic; +using System.Threading; using System.Threading.Tasks; using MongoDB.Driver; using MongoDB.Driver.Linq; @@ -15,33 +16,33 @@ namespace Volo.Blogging.Comments { } - public async Task> GetListOfPostAsync(Guid postId) + public async Task> GetListOfPostAsync(Guid postId, CancellationToken cancellationToken = default) { - return await (await GetMongoQueryableAsync()) + return await (await GetMongoQueryableAsync(GetCancellationToken(cancellationToken))) .Where(a => a.PostId == postId) .OrderBy(a => a.CreationTime) - .ToListAsync(); + .ToListAsync(GetCancellationToken(cancellationToken)); } - public async Task GetCommentCountOfPostAsync(Guid postId) + public async Task GetCommentCountOfPostAsync(Guid postId, CancellationToken cancellationToken = default) { - return await (await GetMongoQueryableAsync()) - .CountAsync(a => a.PostId == postId); + return await (await GetMongoQueryableAsync(GetCancellationToken(cancellationToken))) + .CountAsync(a => a.PostId == postId, GetCancellationToken(cancellationToken)); } - public async Task> GetRepliesOfComment(Guid id) + public async Task> GetRepliesOfComment(Guid id, CancellationToken cancellationToken = default) { - return await (await GetMongoQueryableAsync()) - .Where(a => a.RepliedCommentId == id).ToListAsync(); + return await (await GetMongoQueryableAsync(GetCancellationToken(cancellationToken))) + .Where(a => a.RepliedCommentId == id).ToListAsync(GetCancellationToken(cancellationToken)); } - public async Task DeleteOfPost(Guid id) + public async Task DeleteOfPost(Guid id, CancellationToken cancellationToken = default) { - var recordsToDelete = (await GetMongoQueryableAsync()).Where(pt => pt.PostId == id); + var recordsToDelete = (await GetMongoQueryableAsync(GetCancellationToken(cancellationToken))).Where(pt => pt.PostId == id); foreach (var record in recordsToDelete) { - await DeleteAsync(record); + await DeleteAsync(record, cancellationToken: GetCancellationToken(cancellationToken)); } } } diff --git a/modules/blogging/src/Volo.Blogging.MongoDB/Volo/Blogging/Posts/MongoPostRepository.cs b/modules/blogging/src/Volo.Blogging.MongoDB/Volo/Blogging/Posts/MongoPostRepository.cs index 27f4ad4348..ec40e8da4a 100644 --- a/modules/blogging/src/Volo.Blogging.MongoDB/Volo/Blogging/Posts/MongoPostRepository.cs +++ b/modules/blogging/src/Volo.Blogging.MongoDB/Volo/Blogging/Posts/MongoPostRepository.cs @@ -1,5 +1,6 @@ using System; using System.Collections.Generic; +using System.Threading; using System.Threading.Tasks; using MongoDB.Driver; using MongoDB.Driver.Linq; @@ -16,27 +17,27 @@ namespace Volo.Blogging.Posts { } - public async Task> GetPostsByBlogId(Guid id) + public async Task> GetPostsByBlogId(Guid id, CancellationToken cancellationToken = default) { - return await (await GetMongoQueryableAsync()).Where(p => p.BlogId == id).OrderByDescending(p => p.CreationTime).ToListAsync(); + return await (await GetMongoQueryableAsync(GetCancellationToken(cancellationToken))).Where(p => p.BlogId == id).OrderByDescending(p => p.CreationTime).ToListAsync(GetCancellationToken(cancellationToken)); } - public async Task IsPostUrlInUseAsync(Guid blogId, string url, Guid? excludingPostId = null) + public async Task IsPostUrlInUseAsync(Guid blogId, string url, Guid? excludingPostId = null, CancellationToken cancellationToken = default) { - var query = (await GetMongoQueryableAsync()).Where(p => blogId == p.BlogId && p.Url == url); + var query = (await GetMongoQueryableAsync(GetCancellationToken(cancellationToken))).Where(p => blogId == p.BlogId && p.Url == url); if (excludingPostId != null) { query = query.Where(p => excludingPostId != p.Id); } - return await query.AnyAsync(); + return await query.AnyAsync(GetCancellationToken(cancellationToken)); } - public async Task GetPostByUrl(Guid blogId, string url) + public async Task GetPostByUrl(Guid blogId, string url, CancellationToken cancellationToken = default) { - var post = await (await GetMongoQueryableAsync()).FirstOrDefaultAsync(p => p.BlogId == blogId && p.Url == url); + var post = await (await GetMongoQueryableAsync(GetCancellationToken(cancellationToken))).FirstOrDefaultAsync(p => p.BlogId == blogId && p.Url == url, GetCancellationToken(cancellationToken)); if (post == null) { @@ -46,16 +47,16 @@ namespace Volo.Blogging.Posts return post; } - public async Task> GetOrderedList(Guid blogId, bool @descending = false) + public async Task> GetOrderedList(Guid blogId, bool @descending = false, CancellationToken cancellationToken = default) { - var query = (await GetMongoQueryableAsync()).Where(x => x.BlogId == blogId); + var query = (await GetMongoQueryableAsync(GetCancellationToken(cancellationToken))).Where(x => x.BlogId == blogId); if (!descending) { - return await query.OrderBy(x => x.CreationTime).ToListAsync(); + return await query.OrderBy(x => x.CreationTime).ToListAsync(GetCancellationToken(cancellationToken)); } - return await query.OrderByDescending(x => x.CreationTime).ToListAsync(); + return await query.OrderByDescending(x => x.CreationTime).ToListAsync(GetCancellationToken(cancellationToken)); } } } diff --git a/modules/blogging/src/Volo.Blogging.MongoDB/Volo/Blogging/Tagging/MongoTagRepository.cs b/modules/blogging/src/Volo.Blogging.MongoDB/Volo/Blogging/Tagging/MongoTagRepository.cs index f0024b37d7..73999628ce 100644 --- a/modules/blogging/src/Volo.Blogging.MongoDB/Volo/Blogging/Tagging/MongoTagRepository.cs +++ b/modules/blogging/src/Volo.Blogging.MongoDB/Volo/Blogging/Tagging/MongoTagRepository.cs @@ -18,29 +18,29 @@ namespace Volo.Blogging.Tagging { } - public async Task> GetListAsync(Guid blogId) + public async Task> GetListAsync(Guid blogId, CancellationToken cancellationToken = default) { - return await (await GetMongoQueryableAsync()).Where(t => t.BlogId == blogId).ToListAsync(); + return await (await GetMongoQueryableAsync(GetCancellationToken(cancellationToken))).Where(t => t.BlogId == blogId).ToListAsync(GetCancellationToken(cancellationToken)); } - public async Task GetByNameAsync(Guid blogId, string name) + public async Task GetByNameAsync(Guid blogId, string name, CancellationToken cancellationToken = default) { - return await (await GetMongoQueryableAsync()).Where(t => t.BlogId == blogId && t.Name == name).FirstAsync(); + return await (await GetMongoQueryableAsync(GetCancellationToken(cancellationToken))).Where(t => t.BlogId == blogId && t.Name == name).FirstAsync(GetCancellationToken(cancellationToken)); } - public async Task FindByNameAsync(Guid blogId, string name) + public async Task FindByNameAsync(Guid blogId, string name, CancellationToken cancellationToken = default) { - return await (await GetMongoQueryableAsync()).Where(t => t.BlogId == blogId && t.Name == name).FirstOrDefaultAsync(); + return await (await GetMongoQueryableAsync(GetCancellationToken(cancellationToken))).Where(t => t.BlogId == blogId && t.Name == name).FirstOrDefaultAsync(GetCancellationToken(cancellationToken)); } - public async Task> GetListAsync(IEnumerable ids) + public async Task> GetListAsync(IEnumerable ids, CancellationToken cancellationToken = default) { - return await (await GetMongoQueryableAsync()).Where(t => ids.Contains(t.Id)).ToListAsync(); + return await (await GetMongoQueryableAsync(GetCancellationToken(cancellationToken))).Where(t => ids.Contains(t.Id)).ToListAsync(GetCancellationToken(cancellationToken)); } public async Task DecreaseUsageCountOfTagsAsync(List ids, CancellationToken cancellationToken = default) { - var tags = await (await GetMongoQueryableAsync()) + var tags = await (await GetMongoQueryableAsync(GetCancellationToken(cancellationToken))) .Where(t => ids.Contains(t.Id)) .ToListAsync(GetCancellationToken(cancellationToken)); diff --git a/modules/blogging/src/Volo.Blogging.MongoDB/Volo/Blogging/Users/MongoBlogUserRepository.cs b/modules/blogging/src/Volo.Blogging.MongoDB/Volo/Blogging/Users/MongoBlogUserRepository.cs index fdcf4d0097..c558799a86 100644 --- a/modules/blogging/src/Volo.Blogging.MongoDB/Volo/Blogging/Users/MongoBlogUserRepository.cs +++ b/modules/blogging/src/Volo.Blogging.MongoDB/Volo/Blogging/Users/MongoBlogUserRepository.cs @@ -15,16 +15,16 @@ namespace Volo.Blogging.Users { } - public async Task> GetUsersAsync(int maxCount, string filter, CancellationToken cancellationToken) + public async Task> GetUsersAsync(int maxCount, string filter, CancellationToken cancellationToken = default) { - var query = await GetMongoQueryableAsync(cancellationToken); + var query = await GetMongoQueryableAsync(GetCancellationToken(cancellationToken)); if (!string.IsNullOrWhiteSpace(filter)) { query = query.Where(x => x.UserName.Contains(filter)); } - return await query.Take(maxCount).ToListAsync(cancellationToken); + return await query.Take(maxCount).ToListAsync(GetCancellationToken(cancellationToken)); } } } From dd56dd405d2292fded4b39f5459f97042e58f185 Mon Sep 17 00:00:00 2001 From: Ahmet Date: Wed, 20 Jan 2021 12:42:36 +0300 Subject: [PATCH 070/217] Page content converted to nullable --- .../Contents/ContentViewComponent.cs | 32 +++++++++++-------- .../Shared/Components/Contents/Default.cshtml | 2 +- .../Shared/Components/Pages/Default.cshtml | 12 +++---- 3 files changed, 25 insertions(+), 21 deletions(-) diff --git a/modules/cms-kit/src/Volo.CmsKit.Public.Web/Pages/CmsKit/Shared/Components/Contents/ContentViewComponent.cs b/modules/cms-kit/src/Volo.CmsKit.Public.Web/Pages/CmsKit/Shared/Components/Contents/ContentViewComponent.cs index 129bff61cf..6a2a4e5a13 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Public.Web/Pages/CmsKit/Shared/Components/Contents/ContentViewComponent.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Public.Web/Pages/CmsKit/Shared/Components/Contents/ContentViewComponent.cs @@ -2,6 +2,7 @@ using System.Threading.Tasks; using Microsoft.AspNetCore.Mvc; using Volo.Abp.AspNetCore.Mvc; +using Volo.Abp.Domain.Entities; using Volo.CmsKit.Public.Contents; using Volo.CmsKit.Web.Contents; @@ -25,18 +26,26 @@ namespace Volo.CmsKit.Public.Web.Pages.CmsKit.Shared.Components.Contents string entityType, string entityId) { - var content = await contentAppService.GetAsync(new GetContentInput + var content = string.Empty; + + try { - EntityId = entityId, - EntityType = entityType - }); + var contentDto = await contentAppService.GetAsync(new GetContentInput + { + EntityId = entityId, + EntityType = entityType + }); + + content = contentDto.Value; + } + catch (EntityNotFoundException e) + { + // ContentDto can be null, we will render empty content. + } var viewModel = new ContentViewModel { - EntityId = entityId, - EntityType = entityType, - ContentId = content.Id, - Rendered = await contentRenderer.RenderAsync(content.Value) + Value = await contentRenderer.RenderAsync(content) }; return View("~/Pages/CmsKit/Shared/Components/Contents/Default.cshtml", viewModel); @@ -44,12 +53,7 @@ namespace Volo.CmsKit.Public.Web.Pages.CmsKit.Shared.Components.Contents public class ContentViewModel { - public Guid ContentId { get; set; } - public string EntityType { get; set; } - - public string EntityId { get; set; } - - public string Rendered { get; set; } + public string Value { get; set; } } } } diff --git a/modules/cms-kit/src/Volo.CmsKit.Public.Web/Pages/CmsKit/Shared/Components/Contents/Default.cshtml b/modules/cms-kit/src/Volo.CmsKit.Public.Web/Pages/CmsKit/Shared/Components/Contents/Default.cshtml index 29f7bfa6a3..0f1ddedfe5 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Public.Web/Pages/CmsKit/Shared/Components/Contents/Default.cshtml +++ b/modules/cms-kit/src/Volo.CmsKit.Public.Web/Pages/CmsKit/Shared/Components/Contents/Default.cshtml @@ -1,3 +1,3 @@ @model Volo.CmsKit.Public.Web.Pages.CmsKit.Shared.Components.Contents.ContentViewComponent.ContentViewModel -@Html.Raw(Model.Rendered) +@Html.Raw(Model.Value) diff --git a/modules/cms-kit/src/Volo.CmsKit.Public.Web/Pages/CmsKit/Shared/Components/Pages/Default.cshtml b/modules/cms-kit/src/Volo.CmsKit.Public.Web/Pages/CmsKit/Shared/Components/Pages/Default.cshtml index 28af196e39..e10fa0754a 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Public.Web/Pages/CmsKit/Shared/Components/Pages/Default.cshtml +++ b/modules/cms-kit/src/Volo.CmsKit.Public.Web/Pages/CmsKit/Shared/Components/Pages/Default.cshtml @@ -1,16 +1,16 @@ @addTagHelper *, Volo.Abp.AspNetCore.Mvc.UI.Bootstrap @using Microsoft.AspNetCore.Mvc.RazorPages +@using Volo.Abp.AspNetCore.Mvc.UI.Layout @using Volo.CmsKit.Public.Web.Pages.CmsKit.Shared.Components.Contents @model Volo.CmsKit.Public.Web.Pages.CmsKit.Shared.Components.Pages.PageViewModel +@inject IPageLayout PageLayout + +@{ + PageLayout.Content.Title = Model.Title; +} - -

    - @Model.Title -

    -
    - @await Component.InvokeAsync(typeof(ContentViewComponent), new From 746dc8a1e03bc314d5c7f9e0380329e404db4446 Mon Sep 17 00:00:00 2001 From: liangshiwei Date: Wed, 20 Jan 2021 17:45:12 +0800 Subject: [PATCH 071/217] Add CancellationToken optional parameter to the Docs module repository methods --- .../Volo/Docs/Projects/IProjectRepository.cs | 9 +++++---- .../Volo/Docs/Projects/EfCoreProjectRepository.cs | 13 +++++++------ .../Volo/Docs/Projects/MongoProjectRepository.cs | 15 ++++++++------- 3 files changed, 20 insertions(+), 17 deletions(-) diff --git a/modules/docs/src/Volo.Docs.Domain/Volo/Docs/Projects/IProjectRepository.cs b/modules/docs/src/Volo.Docs.Domain/Volo/Docs/Projects/IProjectRepository.cs index add77749b4..4893ab4114 100644 --- a/modules/docs/src/Volo.Docs.Domain/Volo/Docs/Projects/IProjectRepository.cs +++ b/modules/docs/src/Volo.Docs.Domain/Volo/Docs/Projects/IProjectRepository.cs @@ -1,5 +1,6 @@ using System; using System.Collections.Generic; +using System.Threading; using System.Threading.Tasks; using Volo.Abp.Domain.Repositories; @@ -7,10 +8,10 @@ namespace Volo.Docs.Projects { public interface IProjectRepository : IBasicRepository { - Task> GetListAsync(string sorting, int maxResultCount, int skipCount); + Task> GetListAsync(string sorting, int maxResultCount, int skipCount, CancellationToken cancellationToken = default); - Task GetByShortNameAsync(string shortName); + Task GetByShortNameAsync(string shortName, CancellationToken cancellationToken = default); - Task ShortNameExistsAsync(string shortName); + Task ShortNameExistsAsync(string shortName, CancellationToken cancellationToken = default); } -} \ No newline at end of file +} diff --git a/modules/docs/src/Volo.Docs.EntityFrameworkCore/Volo/Docs/Projects/EfCoreProjectRepository.cs b/modules/docs/src/Volo.Docs.EntityFrameworkCore/Volo/Docs/Projects/EfCoreProjectRepository.cs index bf92a8a795..294241c992 100644 --- a/modules/docs/src/Volo.Docs.EntityFrameworkCore/Volo/Docs/Projects/EfCoreProjectRepository.cs +++ b/modules/docs/src/Volo.Docs.EntityFrameworkCore/Volo/Docs/Projects/EfCoreProjectRepository.cs @@ -2,6 +2,7 @@ using System.Collections.Generic; using System.Linq; using System.Linq.Dynamic.Core; +using System.Threading; using System.Threading.Tasks; using Microsoft.EntityFrameworkCore; using Volo.Abp.Domain.Entities; @@ -18,20 +19,20 @@ namespace Volo.Docs.Projects { } - public async Task> GetListAsync(string sorting, int maxResultCount, int skipCount) + public async Task> GetListAsync(string sorting, int maxResultCount, int skipCount, CancellationToken cancellationToken = default) { var projects = await (await GetDbSetAsync()).OrderBy(sorting ?? "Id desc") .PageBy(skipCount, maxResultCount) - .ToListAsync(); + .ToListAsync(GetCancellationToken(cancellationToken)); return projects; } - public async Task GetByShortNameAsync(string shortName) + public async Task GetByShortNameAsync(string shortName, CancellationToken cancellationToken = default) { var normalizeShortName = NormalizeShortName(shortName); - var project = await (await GetDbSetAsync()).FirstOrDefaultAsync(p => p.ShortName == normalizeShortName); + var project = await (await GetDbSetAsync()).FirstOrDefaultAsync(p => p.ShortName == normalizeShortName, GetCancellationToken(cancellationToken)); if (project == null) { @@ -41,11 +42,11 @@ namespace Volo.Docs.Projects return project; } - public async Task ShortNameExistsAsync(string shortName) + public async Task ShortNameExistsAsync(string shortName, CancellationToken cancellationToken = default) { var normalizeShortName = NormalizeShortName(shortName); - return await (await GetDbSetAsync()).AnyAsync(x => x.ShortName == normalizeShortName); + return await (await GetDbSetAsync()).AnyAsync(x => x.ShortName == normalizeShortName, GetCancellationToken(cancellationToken)); } private string NormalizeShortName(string shortName) diff --git a/modules/docs/src/Volo.Docs.MongoDB/Volo/Docs/Projects/MongoProjectRepository.cs b/modules/docs/src/Volo.Docs.MongoDB/Volo/Docs/Projects/MongoProjectRepository.cs index 91f1af9b2a..1e9fe1be4f 100644 --- a/modules/docs/src/Volo.Docs.MongoDB/Volo/Docs/Projects/MongoProjectRepository.cs +++ b/modules/docs/src/Volo.Docs.MongoDB/Volo/Docs/Projects/MongoProjectRepository.cs @@ -9,6 +9,7 @@ using Volo.Abp.MongoDB; using Volo.Docs.MongoDB; using System.Linq; using System.Linq.Dynamic.Core; +using System.Threading; namespace Volo.Docs.Projects { @@ -19,20 +20,20 @@ namespace Volo.Docs.Projects { } - public async Task> GetListAsync(string sorting, int maxResultCount, int skipCount) + public async Task> GetListAsync(string sorting, int maxResultCount, int skipCount, CancellationToken cancellationToken = default) { - var projects = await (await GetMongoQueryableAsync()).OrderBy(sorting ?? "Id desc").As>() + var projects = await (await GetMongoQueryableAsync(GetCancellationToken(cancellationToken))).OrderBy(sorting ?? "Id desc").As>() .PageBy>(skipCount, maxResultCount) - .ToListAsync(); + .ToListAsync(GetCancellationToken(cancellationToken)); return projects; } - public async Task GetByShortNameAsync(string shortName) + public async Task GetByShortNameAsync(string shortName, CancellationToken cancellationToken = default) { var normalizeShortName = NormalizeShortName(shortName); - var project = await (await GetMongoQueryableAsync()).FirstOrDefaultAsync(p => p.ShortName == normalizeShortName); + var project = await (await GetMongoQueryableAsync(GetCancellationToken(cancellationToken))).FirstOrDefaultAsync(p => p.ShortName == normalizeShortName, GetCancellationToken(cancellationToken)); if (project == null) { @@ -42,11 +43,11 @@ namespace Volo.Docs.Projects return project; } - public async Task ShortNameExistsAsync(string shortName) + public async Task ShortNameExistsAsync(string shortName, CancellationToken cancellationToken = default) { var normalizeShortName = NormalizeShortName(shortName); - return await (await GetMongoQueryableAsync()).AnyAsync(x => x.ShortName == normalizeShortName); + return await (await GetMongoQueryableAsync(GetCancellationToken(cancellationToken))).AnyAsync(x => x.ShortName == normalizeShortName, GetCancellationToken(cancellationToken)); } private string NormalizeShortName(string shortName) From 590176f221b55ef42600dc6aff3d556643fc0f3f Mon Sep 17 00:00:00 2001 From: Ahmet Date: Wed, 20 Jan 2021 12:47:43 +0300 Subject: [PATCH 072/217] Added interface to page public controller --- .../Volo/CmsKit/Public/Pages/PagesPublicController.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/modules/cms-kit/src/Volo.CmsKit.Public.HttpApi/Volo/CmsKit/Public/Pages/PagesPublicController.cs b/modules/cms-kit/src/Volo.CmsKit.Public.HttpApi/Volo/CmsKit/Public/Pages/PagesPublicController.cs index 4d1c5391c7..a9c6cd70e4 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Public.HttpApi/Volo/CmsKit/Public/Pages/PagesPublicController.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Public.HttpApi/Volo/CmsKit/Public/Pages/PagesPublicController.cs @@ -7,7 +7,7 @@ namespace Volo.CmsKit.Public.Pages [RemoteService(Name = CmsKitPublicRemoteServiceConsts.RemoteServiceName)] [Area("cms-kit")] [Route("api/cms-kit-public/comments")] - public class PagesPublicController + public class PagesPublicController : IPageAppService { protected readonly IPageAppService PageAppService; @@ -18,7 +18,7 @@ namespace Volo.CmsKit.Public.Pages [HttpGet] [Route("url/{url}")] - public Task GetByUrlAsync(string url) + public Task FindByUrlAsync(string url) { return PageAppService.FindByUrlAsync(url); } From 630c7610cfbe8f1086cfb6e6c6bc71fb0dd1dc5d Mon Sep 17 00:00:00 2001 From: liangshiwei Date: Wed, 20 Jan 2021 17:50:55 +0800 Subject: [PATCH 073/217] Add CancellationToken optional parameter to the feature-management module repository methods --- .../IFeatureValueRepository.cs | 18 +++++++++-- .../EfCoreFeatureValueRepository.cs | 26 +++++++++++----- .../MongoDB/MongoFeatureValueRepository.cs | 30 +++++++++++++------ 3 files changed, 54 insertions(+), 20 deletions(-) diff --git a/modules/feature-management/src/Volo.Abp.FeatureManagement.Domain/Volo/Abp/FeatureManagement/IFeatureValueRepository.cs b/modules/feature-management/src/Volo.Abp.FeatureManagement.Domain/Volo/Abp/FeatureManagement/IFeatureValueRepository.cs index f5b5c85da4..800424e901 100644 --- a/modules/feature-management/src/Volo.Abp.FeatureManagement.Domain/Volo/Abp/FeatureManagement/IFeatureValueRepository.cs +++ b/modules/feature-management/src/Volo.Abp.FeatureManagement.Domain/Volo/Abp/FeatureManagement/IFeatureValueRepository.cs @@ -1,5 +1,6 @@ using System; using System.Collections.Generic; +using System.Threading; using System.Threading.Tasks; using Volo.Abp.Domain.Repositories; @@ -7,10 +8,21 @@ namespace Volo.Abp.FeatureManagement { public interface IFeatureValueRepository : IBasicRepository { - Task FindAsync(string name, string providerName, string providerKey); + Task FindAsync( + string name, + string providerName, + string providerKey, + CancellationToken cancellationToken = default); - Task> FindAllAsync(string name, string providerName, string providerKey); + Task> FindAllAsync( + string name, + string providerName, + string providerKey, + CancellationToken cancellationToken = default); - Task> GetListAsync(string providerName, string providerKey); + Task> GetListAsync( + string providerName, + string providerKey, + CancellationToken cancellationToken = default); } } diff --git a/modules/feature-management/src/Volo.Abp.FeatureManagement.EntityFrameworkCore/Volo/Abp/FeatureManagement/EntityFrameworkCore/EfCoreFeatureValueRepository.cs b/modules/feature-management/src/Volo.Abp.FeatureManagement.EntityFrameworkCore/Volo/Abp/FeatureManagement/EntityFrameworkCore/EfCoreFeatureValueRepository.cs index be75e600d8..8256b08c2d 100644 --- a/modules/feature-management/src/Volo.Abp.FeatureManagement.EntityFrameworkCore/Volo/Abp/FeatureManagement/EntityFrameworkCore/EfCoreFeatureValueRepository.cs +++ b/modules/feature-management/src/Volo.Abp.FeatureManagement.EntityFrameworkCore/Volo/Abp/FeatureManagement/EntityFrameworkCore/EfCoreFeatureValueRepository.cs @@ -1,6 +1,7 @@ using System; using System.Collections.Generic; using System.Linq; +using System.Threading; using System.Threading.Tasks; using Microsoft.EntityFrameworkCore; using Volo.Abp.Domain.Repositories.EntityFrameworkCore; @@ -15,29 +16,38 @@ namespace Volo.Abp.FeatureManagement.EntityFrameworkCore { } - public virtual async Task FindAsync(string name, string providerName, string providerKey) + public virtual async Task FindAsync( + string name, + string providerName, + string providerKey, + CancellationToken cancellationToken = default) { return await (await GetDbSetAsync()) .OrderBy(x => x.Id) - .FirstOrDefaultAsync( - s => s.Name == name && s.ProviderName == providerName && s.ProviderKey == providerKey - ); + .FirstOrDefaultAsync(s => s.Name == name && s.ProviderName == providerName && s.ProviderKey == providerKey, GetCancellationToken(cancellationToken)); } - public async Task> FindAllAsync(string name, string providerName, string providerKey) + public async Task> FindAllAsync( + string name, + string providerName, + string providerKey, + CancellationToken cancellationToken = default) { return await (await GetDbSetAsync()) .Where( s => s.Name == name && s.ProviderName == providerName && s.ProviderKey == providerKey - ).ToListAsync(); + ).ToListAsync(GetCancellationToken(cancellationToken)); } - public virtual async Task> GetListAsync(string providerName, string providerKey) + public virtual async Task> GetListAsync( + string providerName, + string providerKey, + CancellationToken cancellationToken = default) { return await (await GetDbSetAsync()) .Where( s => s.ProviderName == providerName && s.ProviderKey == providerKey - ).ToListAsync(); + ).ToListAsync(GetCancellationToken(cancellationToken)); } } } diff --git a/modules/feature-management/src/Volo.Abp.FeatureManagement.MongoDB/Volo/Abp/FeatureManagement/MongoDB/MongoFeatureValueRepository.cs b/modules/feature-management/src/Volo.Abp.FeatureManagement.MongoDB/Volo/Abp/FeatureManagement/MongoDB/MongoFeatureValueRepository.cs index 21d4784f6e..5547997251 100644 --- a/modules/feature-management/src/Volo.Abp.FeatureManagement.MongoDB/Volo/Abp/FeatureManagement/MongoDB/MongoFeatureValueRepository.cs +++ b/modules/feature-management/src/Volo.Abp.FeatureManagement.MongoDB/Volo/Abp/FeatureManagement/MongoDB/MongoFeatureValueRepository.cs @@ -1,5 +1,6 @@ using System; using System.Collections.Generic; +using System.Threading; using System.Threading.Tasks; using MongoDB.Driver; using MongoDB.Driver.Linq; @@ -16,24 +17,35 @@ namespace Volo.Abp.FeatureManagement.MongoDB } - public virtual async Task FindAsync(string name, string providerName, string providerKey) + public virtual async Task FindAsync( + string name, + string providerName, + string providerKey, + CancellationToken cancellationToken = default) { - return await (await GetMongoQueryableAsync()) + return await (await GetMongoQueryableAsync(GetCancellationToken(cancellationToken))) .OrderBy(x => x.Id) - .FirstOrDefaultAsync(s => s.Name == name && s.ProviderName == providerName && s.ProviderKey == providerKey); + .FirstOrDefaultAsync(s => s.Name == name && s.ProviderName == providerName && s.ProviderKey == providerKey, GetCancellationToken(cancellationToken)); } - public async Task> FindAllAsync(string name, string providerName, string providerKey) + public async Task> FindAllAsync( + string name, + string providerName, + string providerKey, + CancellationToken cancellationToken = default) { - return await (await GetMongoQueryableAsync()) - .Where(s => s.Name == name && s.ProviderName == providerName && s.ProviderKey == providerKey).ToListAsync(); + return await (await GetMongoQueryableAsync(GetCancellationToken(cancellationToken))) + .Where(s => s.Name == name && s.ProviderName == providerName && s.ProviderKey == providerKey).ToListAsync(GetCancellationToken(cancellationToken)); } - public virtual async Task> GetListAsync(string providerName, string providerKey) + public virtual async Task> GetListAsync( + string providerName, + string providerKey, + CancellationToken cancellationToken = default) { - return await (await GetMongoQueryableAsync()) + return await (await GetMongoQueryableAsync(GetCancellationToken(cancellationToken))) .Where(s => s.ProviderName == providerName && s.ProviderKey == providerKey) - .ToListAsync(); + .ToListAsync(GetCancellationToken(cancellationToken)); } } } From 07c4d157e8af4e79fe2c2a18536eff8c0a5ad9b9 Mon Sep 17 00:00:00 2001 From: liangshiwei Date: Wed, 20 Jan 2021 18:02:44 +0800 Subject: [PATCH 074/217] Add CancellationToken optional parameter to the setting-management module repository methods --- .../SettingManagement/ISettingRepository.cs | 18 ++++++++-- .../EfCoreSettingRepository.cs | 29 ++++++++++----- .../MongoDB/MongoSettingRepository.cs | 36 +++++++++++++------ 3 files changed, 61 insertions(+), 22 deletions(-) diff --git a/modules/setting-management/src/Volo.Abp.SettingManagement.Domain/Volo/Abp/SettingManagement/ISettingRepository.cs b/modules/setting-management/src/Volo.Abp.SettingManagement.Domain/Volo/Abp/SettingManagement/ISettingRepository.cs index a1e40f3a14..ee8cfa64a8 100644 --- a/modules/setting-management/src/Volo.Abp.SettingManagement.Domain/Volo/Abp/SettingManagement/ISettingRepository.cs +++ b/modules/setting-management/src/Volo.Abp.SettingManagement.Domain/Volo/Abp/SettingManagement/ISettingRepository.cs @@ -1,5 +1,6 @@ using System; using System.Collections.Generic; +using System.Threading; using System.Threading.Tasks; using Volo.Abp.Domain.Repositories; @@ -7,10 +8,21 @@ namespace Volo.Abp.SettingManagement { public interface ISettingRepository : IBasicRepository { - Task FindAsync(string name, string providerName, string providerKey); + Task FindAsync( + string name, + string providerName, + string providerKey, + CancellationToken cancellationToken = default); - Task> GetListAsync(string providerName, string providerKey); + Task> GetListAsync( + string providerName, + string providerKey, + CancellationToken cancellationToken = default); - Task> GetListAsync(string[] names, string providerName, string providerKey); + Task> GetListAsync( + string[] names, + string providerName, + string providerKey, + CancellationToken cancellationToken = default); } } diff --git a/modules/setting-management/src/Volo.Abp.SettingManagement.EntityFrameworkCore/Volo/Abp/SettingManagement/EntityFrameworkCore/EfCoreSettingRepository.cs b/modules/setting-management/src/Volo.Abp.SettingManagement.EntityFrameworkCore/Volo/Abp/SettingManagement/EntityFrameworkCore/EfCoreSettingRepository.cs index e90d2fc63a..4bab46315a 100644 --- a/modules/setting-management/src/Volo.Abp.SettingManagement.EntityFrameworkCore/Volo/Abp/SettingManagement/EntityFrameworkCore/EfCoreSettingRepository.cs +++ b/modules/setting-management/src/Volo.Abp.SettingManagement.EntityFrameworkCore/Volo/Abp/SettingManagement/EntityFrameworkCore/EfCoreSettingRepository.cs @@ -1,6 +1,7 @@ using System; using System.Collections.Generic; using System.Linq; +using System.Threading; using System.Threading.Tasks; using Microsoft.EntityFrameworkCore; using Volo.Abp.Domain.Repositories.EntityFrameworkCore; @@ -8,36 +9,48 @@ using Volo.Abp.EntityFrameworkCore; namespace Volo.Abp.SettingManagement.EntityFrameworkCore { - public class EfCoreSettingRepository : EfCoreRepository, ISettingRepository + public class EfCoreSettingRepository : EfCoreRepository, + ISettingRepository { public EfCoreSettingRepository(IDbContextProvider dbContextProvider) : base(dbContextProvider) { } - public virtual async Task FindAsync(string name, string providerName, string providerKey) + public virtual async Task FindAsync( + string name, + string providerName, + string providerKey, + CancellationToken cancellationToken = default) { return await (await GetDbSetAsync()) .OrderBy(x => x.Id) .FirstOrDefaultAsync( - s => s.Name == name && s.ProviderName == providerName && s.ProviderKey == providerKey - ); + s => s.Name == name && s.ProviderName == providerName && s.ProviderKey == providerKey, + GetCancellationToken(cancellationToken)); } - public virtual async Task> GetListAsync(string providerName, string providerKey) + public virtual async Task> GetListAsync( + string providerName, + string providerKey, + CancellationToken cancellationToken = default) { return await (await GetDbSetAsync()) .Where( s => s.ProviderName == providerName && s.ProviderKey == providerKey - ).ToListAsync(); + ).ToListAsync(GetCancellationToken(cancellationToken)); } - public virtual async Task> GetListAsync(string[] names, string providerName, string providerKey) + public virtual async Task> GetListAsync( + string[] names, + string providerName, + string providerKey, + CancellationToken cancellationToken = default) { return await (await GetDbSetAsync()) .Where( s => names.Contains(s.Name) && s.ProviderName == providerName && s.ProviderKey == providerKey - ).ToListAsync(); + ).ToListAsync(GetCancellationToken(cancellationToken)); } } } diff --git a/modules/setting-management/src/Volo.Abp.SettingManagement.MongoDB/Volo/Abp/SettingManagement/MongoDB/MongoSettingRepository.cs b/modules/setting-management/src/Volo.Abp.SettingManagement.MongoDB/Volo/Abp/SettingManagement/MongoDB/MongoSettingRepository.cs index e81e76dfcc..fc01f79132 100644 --- a/modules/setting-management/src/Volo.Abp.SettingManagement.MongoDB/Volo/Abp/SettingManagement/MongoDB/MongoSettingRepository.cs +++ b/modules/setting-management/src/Volo.Abp.SettingManagement.MongoDB/Volo/Abp/SettingManagement/MongoDB/MongoSettingRepository.cs @@ -1,6 +1,7 @@ using System; using System.Collections.Generic; using System.Linq; +using System.Threading; using System.Threading.Tasks; using MongoDB.Driver; using MongoDB.Driver.Linq; @@ -9,33 +10,46 @@ using Volo.Abp.MongoDB; namespace Volo.Abp.SettingManagement.MongoDB { - public class MongoSettingRepository : MongoDbRepository, ISettingRepository + public class MongoSettingRepository : MongoDbRepository, + ISettingRepository { public MongoSettingRepository(IMongoDbContextProvider dbContextProvider) : base(dbContextProvider) { - } - public virtual async Task FindAsync(string name, string providerName, string providerKey) + public virtual async Task FindAsync( + string name, + string providerName, + string providerKey, + CancellationToken cancellationToken = default) { - return await (await GetMongoQueryableAsync()) + return await (await GetMongoQueryableAsync(GetCancellationToken(cancellationToken))) .OrderBy(x => x.Id) - .FirstOrDefaultAsync(s => s.Name == name && s.ProviderName == providerName && s.ProviderKey == providerKey); + .FirstOrDefaultAsync( + s => s.Name == name && s.ProviderName == providerName && s.ProviderKey == providerKey, + GetCancellationToken(cancellationToken)); } - public virtual async Task> GetListAsync(string providerName, string providerKey) + public virtual async Task> GetListAsync( + string providerName, + string providerKey, + CancellationToken cancellationToken = default) { - return await (await GetMongoQueryableAsync()) + return await (await GetMongoQueryableAsync(GetCancellationToken(cancellationToken))) .Where(s => s.ProviderName == providerName && s.ProviderKey == providerKey) - .ToListAsync(); + .ToListAsync(GetCancellationToken(cancellationToken)); } - public virtual async Task> GetListAsync(string[] names, string providerName, string providerKey) + public virtual async Task> GetListAsync( + string[] names, + string providerName, + string providerKey, + CancellationToken cancellationToken = default) { - return await (await GetMongoQueryableAsync()) + return await (await GetMongoQueryableAsync(GetCancellationToken(cancellationToken))) .Where(s => names.Contains(s.Name) && s.ProviderName == providerName && s.ProviderKey == providerKey) - .ToListAsync(); + .ToListAsync(GetCancellationToken(cancellationToken)); } } } From 3ce47a2525d44ee96b2cbad81ba5f978a198488d Mon Sep 17 00:00:00 2001 From: liangshiwei Date: Wed, 20 Jan 2021 18:29:32 +0800 Subject: [PATCH 075/217] Improve --- .../MongoDB/MongoAuditLogRepository.cs | 28 +++++++++++-------- .../EfCoreBackgroundJobRepository.cs | 2 +- .../Blogging/Blogs/MongoBlogRepository.cs | 2 +- .../Comments/MongoCommentRepository.cs | 8 +++--- .../Blogging/Posts/MongoPostRepository.cs | 8 +++--- .../Blogging/Tagging/MongoTagRepository.cs | 10 +++---- .../Blogging/Users/MongoBlogUserRepository.cs | 2 +- .../MongoDB/Pages/MongoPageRepository.cs | 2 +- .../Docs/Projects/MongoProjectRepository.cs | 6 ++-- .../MongoDB/MongoFeatureValueRepository.cs | 6 ++-- .../MongoDB/MongoSettingRepository.cs | 6 ++-- 11 files changed, 42 insertions(+), 38 deletions(-) diff --git a/modules/audit-logging/src/Volo.Abp.AuditLogging.MongoDB/Volo/Abp/AuditLogging/MongoDB/MongoAuditLogRepository.cs b/modules/audit-logging/src/Volo.Abp.AuditLogging.MongoDB/Volo/Abp/AuditLogging/MongoDB/MongoAuditLogRepository.cs index ce3c0e18c8..e0ce5990b7 100644 --- a/modules/audit-logging/src/Volo.Abp.AuditLogging.MongoDB/Volo/Abp/AuditLogging/MongoDB/MongoAuditLogRepository.cs +++ b/modules/audit-logging/src/Volo.Abp.AuditLogging.MongoDB/Volo/Abp/AuditLogging/MongoDB/MongoAuditLogRepository.cs @@ -52,7 +52,8 @@ namespace Volo.Abp.AuditLogging.MongoDB minDuration, hasException, httpStatusCode, - includeDetails + includeDetails, + cancellationToken ); return await query.OrderBy(sorting ?? "executionTime desc").As>() @@ -85,7 +86,8 @@ namespace Volo.Abp.AuditLogging.MongoDB maxDuration, minDuration, hasException, - httpStatusCode + httpStatusCode, + cancellationToken: cancellationToken ); var count = await query.As>() @@ -106,9 +108,10 @@ namespace Volo.Abp.AuditLogging.MongoDB int? minDuration = null, bool? hasException = null, HttpStatusCode? httpStatusCode = null, - bool includeDetails = false) + bool includeDetails = false, + CancellationToken cancellationToken = default) { - return (await GetMongoQueryableAsync()) + return (await GetMongoQueryableAsync(cancellationToken)) .WhereIf(startTime.HasValue, auditLog => auditLog.ExecutionTime >= startTime) .WhereIf(endTime.HasValue, auditLog => auditLog.ExecutionTime <= endTime) .WhereIf(hasException.HasValue && hasException.Value, auditLog => auditLog.Exceptions != null && auditLog.Exceptions != "") @@ -129,7 +132,7 @@ namespace Volo.Abp.AuditLogging.MongoDB DateTime endDate, CancellationToken cancellationToken = default) { - var result = await (await GetMongoQueryableAsync(GetCancellationToken(cancellationToken))) + var result = await (await GetMongoQueryableAsync(cancellationToken)) .Where(a => a.ExecutionTime < endDate.AddDays(1) && a.ExecutionTime > startDate) .OrderBy(t => t.ExecutionTime) .GroupBy(t => new @@ -148,7 +151,7 @@ namespace Volo.Abp.AuditLogging.MongoDB Guid entityChangeId, CancellationToken cancellationToken = default) { - var entityChange = (await (await GetMongoQueryableAsync(GetCancellationToken(cancellationToken))) + var entityChange = (await (await GetMongoQueryableAsync(cancellationToken)) .Where(x => x.EntityChanges.Any(y => y.Id == entityChangeId)) .OrderBy(x => x.Id) .FirstAsync(GetCancellationToken(cancellationToken))).EntityChanges.FirstOrDefault(x => x.Id == entityChangeId); @@ -174,7 +177,7 @@ namespace Volo.Abp.AuditLogging.MongoDB bool includeDetails = false, CancellationToken cancellationToken = default) { - var query = await GetEntityChangeListQueryAsync(auditLogId, startTime, endTime, changeType, entityId, entityTypeFullName); + var query = await GetEntityChangeListQueryAsync(auditLogId, startTime, endTime, changeType, entityId, entityTypeFullName, cancellationToken); return await query .OrderBy(sorting ?? "changeTime desc") @@ -192,7 +195,7 @@ namespace Volo.Abp.AuditLogging.MongoDB string entityTypeFullName = null, CancellationToken cancellationToken = default) { - var query = await GetEntityChangeListQueryAsync(auditLogId, startTime, endTime, changeType, entityId, entityTypeFullName); + var query = await GetEntityChangeListQueryAsync(auditLogId, startTime, endTime, changeType, entityId, entityTypeFullName, cancellationToken); var count = await query.As>().LongCountAsync(GetCancellationToken(cancellationToken)); @@ -203,7 +206,7 @@ namespace Volo.Abp.AuditLogging.MongoDB Guid entityChangeId, CancellationToken cancellationToken = default) { - var auditLog = await (await GetMongoQueryableAsync(GetCancellationToken(cancellationToken))) + var auditLog = await (await GetMongoQueryableAsync(cancellationToken)) .Where(x => x.EntityChanges.Any(y => y.Id == entityChangeId)) .FirstAsync(GetCancellationToken(cancellationToken)); @@ -219,7 +222,7 @@ namespace Volo.Abp.AuditLogging.MongoDB string entityTypeFullName, CancellationToken cancellationToken = default) { - var auditLogs = await (await GetMongoQueryableAsync(GetCancellationToken(cancellationToken))) + var auditLogs = await (await GetMongoQueryableAsync(cancellationToken)) .Where(x => x.EntityChanges.Any(y => y.EntityId == entityId && y.EntityTypeFullName == entityTypeFullName)) .As>() .OrderByDescending(x => x.ExecutionTime) @@ -239,9 +242,10 @@ namespace Volo.Abp.AuditLogging.MongoDB DateTime? endTime = null, EntityChangeType? changeType = null, string entityId = null, - string entityTypeFullName = null) + string entityTypeFullName = null, + CancellationToken cancellationToken = default) { - return (await GetMongoQueryableAsync()) + return (await GetMongoQueryableAsync(cancellationToken)) .SelectMany(x => x.EntityChanges) .WhereIf(auditLogId.HasValue, e => e.Id == auditLogId) .WhereIf(startTime.HasValue, e => e.ChangeTime >= startTime) diff --git a/modules/background-jobs/src/Volo.Abp.BackgroundJobs.EntityFrameworkCore/Volo/Abp/BackgroundJobs/EntityFrameworkCore/EfCoreBackgroundJobRepository.cs b/modules/background-jobs/src/Volo.Abp.BackgroundJobs.EntityFrameworkCore/Volo/Abp/BackgroundJobs/EntityFrameworkCore/EfCoreBackgroundJobRepository.cs index a4512a6e16..3ae5d2a409 100644 --- a/modules/background-jobs/src/Volo.Abp.BackgroundJobs.EntityFrameworkCore/Volo/Abp/BackgroundJobs/EntityFrameworkCore/EfCoreBackgroundJobRepository.cs +++ b/modules/background-jobs/src/Volo.Abp.BackgroundJobs.EntityFrameworkCore/Volo/Abp/BackgroundJobs/EntityFrameworkCore/EfCoreBackgroundJobRepository.cs @@ -24,7 +24,7 @@ namespace Volo.Abp.BackgroundJobs.EntityFrameworkCore public virtual async Task> GetWaitingListAsync( int maxResultCount, - CancellationToken cancellationToken) + CancellationToken cancellationToken = default) { return await (await GetWaitingListQueryAsync(maxResultCount)).ToListAsync(GetCancellationToken(cancellationToken)); } diff --git a/modules/blogging/src/Volo.Blogging.MongoDB/Volo/Blogging/Blogs/MongoBlogRepository.cs b/modules/blogging/src/Volo.Blogging.MongoDB/Volo/Blogging/Blogs/MongoBlogRepository.cs index 0ef6b70a88..2577b8d3a0 100644 --- a/modules/blogging/src/Volo.Blogging.MongoDB/Volo/Blogging/Blogs/MongoBlogRepository.cs +++ b/modules/blogging/src/Volo.Blogging.MongoDB/Volo/Blogging/Blogs/MongoBlogRepository.cs @@ -16,7 +16,7 @@ namespace Volo.Blogging.Blogs public async Task FindByShortNameAsync(string shortName, CancellationToken cancellationToken = default) { - return await (await GetMongoQueryableAsync(GetCancellationToken(cancellationToken))).FirstOrDefaultAsync(p => p.ShortName == shortName, GetCancellationToken(cancellationToken)); + return await (await GetMongoQueryableAsync(cancellationToken)).FirstOrDefaultAsync(p => p.ShortName == shortName, GetCancellationToken(cancellationToken)); } } } diff --git a/modules/blogging/src/Volo.Blogging.MongoDB/Volo/Blogging/Comments/MongoCommentRepository.cs b/modules/blogging/src/Volo.Blogging.MongoDB/Volo/Blogging/Comments/MongoCommentRepository.cs index cfeb24475a..689e44abbd 100644 --- a/modules/blogging/src/Volo.Blogging.MongoDB/Volo/Blogging/Comments/MongoCommentRepository.cs +++ b/modules/blogging/src/Volo.Blogging.MongoDB/Volo/Blogging/Comments/MongoCommentRepository.cs @@ -18,7 +18,7 @@ namespace Volo.Blogging.Comments public async Task> GetListOfPostAsync(Guid postId, CancellationToken cancellationToken = default) { - return await (await GetMongoQueryableAsync(GetCancellationToken(cancellationToken))) + return await (await GetMongoQueryableAsync(cancellationToken)) .Where(a => a.PostId == postId) .OrderBy(a => a.CreationTime) .ToListAsync(GetCancellationToken(cancellationToken)); @@ -26,19 +26,19 @@ namespace Volo.Blogging.Comments public async Task GetCommentCountOfPostAsync(Guid postId, CancellationToken cancellationToken = default) { - return await (await GetMongoQueryableAsync(GetCancellationToken(cancellationToken))) + return await (await GetMongoQueryableAsync(cancellationToken)) .CountAsync(a => a.PostId == postId, GetCancellationToken(cancellationToken)); } public async Task> GetRepliesOfComment(Guid id, CancellationToken cancellationToken = default) { - return await (await GetMongoQueryableAsync(GetCancellationToken(cancellationToken))) + return await (await GetMongoQueryableAsync(cancellationToken)) .Where(a => a.RepliedCommentId == id).ToListAsync(GetCancellationToken(cancellationToken)); } public async Task DeleteOfPost(Guid id, CancellationToken cancellationToken = default) { - var recordsToDelete = (await GetMongoQueryableAsync(GetCancellationToken(cancellationToken))).Where(pt => pt.PostId == id); + var recordsToDelete = (await GetMongoQueryableAsync(cancellationToken)).Where(pt => pt.PostId == id); foreach (var record in recordsToDelete) { diff --git a/modules/blogging/src/Volo.Blogging.MongoDB/Volo/Blogging/Posts/MongoPostRepository.cs b/modules/blogging/src/Volo.Blogging.MongoDB/Volo/Blogging/Posts/MongoPostRepository.cs index ec40e8da4a..a2d79c9466 100644 --- a/modules/blogging/src/Volo.Blogging.MongoDB/Volo/Blogging/Posts/MongoPostRepository.cs +++ b/modules/blogging/src/Volo.Blogging.MongoDB/Volo/Blogging/Posts/MongoPostRepository.cs @@ -19,13 +19,13 @@ namespace Volo.Blogging.Posts public async Task> GetPostsByBlogId(Guid id, CancellationToken cancellationToken = default) { - return await (await GetMongoQueryableAsync(GetCancellationToken(cancellationToken))).Where(p => p.BlogId == id).OrderByDescending(p => p.CreationTime).ToListAsync(GetCancellationToken(cancellationToken)); + return await (await GetMongoQueryableAsync(cancellationToken)).Where(p => p.BlogId == id).OrderByDescending(p => p.CreationTime).ToListAsync(GetCancellationToken(cancellationToken)); } public async Task IsPostUrlInUseAsync(Guid blogId, string url, Guid? excludingPostId = null, CancellationToken cancellationToken = default) { - var query = (await GetMongoQueryableAsync(GetCancellationToken(cancellationToken))).Where(p => blogId == p.BlogId && p.Url == url); + var query = (await GetMongoQueryableAsync(cancellationToken)).Where(p => blogId == p.BlogId && p.Url == url); if (excludingPostId != null) { @@ -37,7 +37,7 @@ namespace Volo.Blogging.Posts public async Task GetPostByUrl(Guid blogId, string url, CancellationToken cancellationToken = default) { - var post = await (await GetMongoQueryableAsync(GetCancellationToken(cancellationToken))).FirstOrDefaultAsync(p => p.BlogId == blogId && p.Url == url, GetCancellationToken(cancellationToken)); + var post = await (await GetMongoQueryableAsync(cancellationToken)).FirstOrDefaultAsync(p => p.BlogId == blogId && p.Url == url, GetCancellationToken(cancellationToken)); if (post == null) { @@ -49,7 +49,7 @@ namespace Volo.Blogging.Posts public async Task> GetOrderedList(Guid blogId, bool @descending = false, CancellationToken cancellationToken = default) { - var query = (await GetMongoQueryableAsync(GetCancellationToken(cancellationToken))).Where(x => x.BlogId == blogId); + var query = (await GetMongoQueryableAsync(cancellationToken)).Where(x => x.BlogId == blogId); if (!descending) { diff --git a/modules/blogging/src/Volo.Blogging.MongoDB/Volo/Blogging/Tagging/MongoTagRepository.cs b/modules/blogging/src/Volo.Blogging.MongoDB/Volo/Blogging/Tagging/MongoTagRepository.cs index 73999628ce..2030d47f2d 100644 --- a/modules/blogging/src/Volo.Blogging.MongoDB/Volo/Blogging/Tagging/MongoTagRepository.cs +++ b/modules/blogging/src/Volo.Blogging.MongoDB/Volo/Blogging/Tagging/MongoTagRepository.cs @@ -20,27 +20,27 @@ namespace Volo.Blogging.Tagging public async Task> GetListAsync(Guid blogId, CancellationToken cancellationToken = default) { - return await (await GetMongoQueryableAsync(GetCancellationToken(cancellationToken))).Where(t => t.BlogId == blogId).ToListAsync(GetCancellationToken(cancellationToken)); + return await (await GetMongoQueryableAsync(cancellationToken)).Where(t => t.BlogId == blogId).ToListAsync(GetCancellationToken(cancellationToken)); } public async Task GetByNameAsync(Guid blogId, string name, CancellationToken cancellationToken = default) { - return await (await GetMongoQueryableAsync(GetCancellationToken(cancellationToken))).Where(t => t.BlogId == blogId && t.Name == name).FirstAsync(GetCancellationToken(cancellationToken)); + return await (await GetMongoQueryableAsync(cancellationToken)).Where(t => t.BlogId == blogId && t.Name == name).FirstAsync(GetCancellationToken(cancellationToken)); } public async Task FindByNameAsync(Guid blogId, string name, CancellationToken cancellationToken = default) { - return await (await GetMongoQueryableAsync(GetCancellationToken(cancellationToken))).Where(t => t.BlogId == blogId && t.Name == name).FirstOrDefaultAsync(GetCancellationToken(cancellationToken)); + return await (await GetMongoQueryableAsync(cancellationToken)).Where(t => t.BlogId == blogId && t.Name == name).FirstOrDefaultAsync(GetCancellationToken(cancellationToken)); } public async Task> GetListAsync(IEnumerable ids, CancellationToken cancellationToken = default) { - return await (await GetMongoQueryableAsync(GetCancellationToken(cancellationToken))).Where(t => ids.Contains(t.Id)).ToListAsync(GetCancellationToken(cancellationToken)); + return await (await GetMongoQueryableAsync(cancellationToken)).Where(t => ids.Contains(t.Id)).ToListAsync(GetCancellationToken(cancellationToken)); } public async Task DecreaseUsageCountOfTagsAsync(List ids, CancellationToken cancellationToken = default) { - var tags = await (await GetMongoQueryableAsync(GetCancellationToken(cancellationToken))) + var tags = await (await GetMongoQueryableAsync(cancellationToken)) .Where(t => ids.Contains(t.Id)) .ToListAsync(GetCancellationToken(cancellationToken)); diff --git a/modules/blogging/src/Volo.Blogging.MongoDB/Volo/Blogging/Users/MongoBlogUserRepository.cs b/modules/blogging/src/Volo.Blogging.MongoDB/Volo/Blogging/Users/MongoBlogUserRepository.cs index c558799a86..5523af8394 100644 --- a/modules/blogging/src/Volo.Blogging.MongoDB/Volo/Blogging/Users/MongoBlogUserRepository.cs +++ b/modules/blogging/src/Volo.Blogging.MongoDB/Volo/Blogging/Users/MongoBlogUserRepository.cs @@ -17,7 +17,7 @@ namespace Volo.Blogging.Users public async Task> GetUsersAsync(int maxCount, string filter, CancellationToken cancellationToken = default) { - var query = await GetMongoQueryableAsync(GetCancellationToken(cancellationToken)); + var query = await GetMongoQueryableAsync(cancellationToken); if (!string.IsNullOrWhiteSpace(filter)) { diff --git a/modules/cms-kit/src/Volo.CmsKit.MongoDB/Volo/CmsKit/MongoDB/Pages/MongoPageRepository.cs b/modules/cms-kit/src/Volo.CmsKit.MongoDB/Volo/CmsKit/MongoDB/Pages/MongoPageRepository.cs index cc07afcd4b..af72da56c8 100644 --- a/modules/cms-kit/src/Volo.CmsKit.MongoDB/Volo/CmsKit/MongoDB/Pages/MongoPageRepository.cs +++ b/modules/cms-kit/src/Volo.CmsKit.MongoDB/Volo/CmsKit/MongoDB/Pages/MongoPageRepository.cs @@ -63,7 +63,7 @@ namespace Volo.CmsKit.MongoDB.Pages public virtual async Task ExistsAsync(string url, CancellationToken cancellationToken = default) { - return await (await GetMongoQueryableAsync(GetCancellationToken(cancellationToken))).AnyAsync(x => x.Url == url, GetCancellationToken(cancellationToken)); + return await (await GetMongoQueryableAsync(cancellationToken)).AnyAsync(x => x.Url == url, GetCancellationToken(cancellationToken)); } } } diff --git a/modules/docs/src/Volo.Docs.MongoDB/Volo/Docs/Projects/MongoProjectRepository.cs b/modules/docs/src/Volo.Docs.MongoDB/Volo/Docs/Projects/MongoProjectRepository.cs index 1e9fe1be4f..99aa5a99dd 100644 --- a/modules/docs/src/Volo.Docs.MongoDB/Volo/Docs/Projects/MongoProjectRepository.cs +++ b/modules/docs/src/Volo.Docs.MongoDB/Volo/Docs/Projects/MongoProjectRepository.cs @@ -22,7 +22,7 @@ namespace Volo.Docs.Projects public async Task> GetListAsync(string sorting, int maxResultCount, int skipCount, CancellationToken cancellationToken = default) { - var projects = await (await GetMongoQueryableAsync(GetCancellationToken(cancellationToken))).OrderBy(sorting ?? "Id desc").As>() + var projects = await (await GetMongoQueryableAsync(cancellationToken)).OrderBy(sorting ?? "Id desc").As>() .PageBy>(skipCount, maxResultCount) .ToListAsync(GetCancellationToken(cancellationToken)); @@ -33,7 +33,7 @@ namespace Volo.Docs.Projects { var normalizeShortName = NormalizeShortName(shortName); - var project = await (await GetMongoQueryableAsync(GetCancellationToken(cancellationToken))).FirstOrDefaultAsync(p => p.ShortName == normalizeShortName, GetCancellationToken(cancellationToken)); + var project = await (await GetMongoQueryableAsync(cancellationToken)).FirstOrDefaultAsync(p => p.ShortName == normalizeShortName, GetCancellationToken(cancellationToken)); if (project == null) { @@ -47,7 +47,7 @@ namespace Volo.Docs.Projects { var normalizeShortName = NormalizeShortName(shortName); - return await (await GetMongoQueryableAsync(GetCancellationToken(cancellationToken))).AnyAsync(x => x.ShortName == normalizeShortName, GetCancellationToken(cancellationToken)); + return await (await GetMongoQueryableAsync(cancellationToken)).AnyAsync(x => x.ShortName == normalizeShortName, GetCancellationToken(cancellationToken)); } private string NormalizeShortName(string shortName) diff --git a/modules/feature-management/src/Volo.Abp.FeatureManagement.MongoDB/Volo/Abp/FeatureManagement/MongoDB/MongoFeatureValueRepository.cs b/modules/feature-management/src/Volo.Abp.FeatureManagement.MongoDB/Volo/Abp/FeatureManagement/MongoDB/MongoFeatureValueRepository.cs index 5547997251..8f5a659fd8 100644 --- a/modules/feature-management/src/Volo.Abp.FeatureManagement.MongoDB/Volo/Abp/FeatureManagement/MongoDB/MongoFeatureValueRepository.cs +++ b/modules/feature-management/src/Volo.Abp.FeatureManagement.MongoDB/Volo/Abp/FeatureManagement/MongoDB/MongoFeatureValueRepository.cs @@ -23,7 +23,7 @@ namespace Volo.Abp.FeatureManagement.MongoDB string providerKey, CancellationToken cancellationToken = default) { - return await (await GetMongoQueryableAsync(GetCancellationToken(cancellationToken))) + return await (await GetMongoQueryableAsync(cancellationToken)) .OrderBy(x => x.Id) .FirstOrDefaultAsync(s => s.Name == name && s.ProviderName == providerName && s.ProviderKey == providerKey, GetCancellationToken(cancellationToken)); } @@ -34,7 +34,7 @@ namespace Volo.Abp.FeatureManagement.MongoDB string providerKey, CancellationToken cancellationToken = default) { - return await (await GetMongoQueryableAsync(GetCancellationToken(cancellationToken))) + return await (await GetMongoQueryableAsync(cancellationToken)) .Where(s => s.Name == name && s.ProviderName == providerName && s.ProviderKey == providerKey).ToListAsync(GetCancellationToken(cancellationToken)); } @@ -43,7 +43,7 @@ namespace Volo.Abp.FeatureManagement.MongoDB string providerKey, CancellationToken cancellationToken = default) { - return await (await GetMongoQueryableAsync(GetCancellationToken(cancellationToken))) + return await (await GetMongoQueryableAsync(cancellationToken)) .Where(s => s.ProviderName == providerName && s.ProviderKey == providerKey) .ToListAsync(GetCancellationToken(cancellationToken)); } diff --git a/modules/setting-management/src/Volo.Abp.SettingManagement.MongoDB/Volo/Abp/SettingManagement/MongoDB/MongoSettingRepository.cs b/modules/setting-management/src/Volo.Abp.SettingManagement.MongoDB/Volo/Abp/SettingManagement/MongoDB/MongoSettingRepository.cs index fc01f79132..aef9624a4d 100644 --- a/modules/setting-management/src/Volo.Abp.SettingManagement.MongoDB/Volo/Abp/SettingManagement/MongoDB/MongoSettingRepository.cs +++ b/modules/setting-management/src/Volo.Abp.SettingManagement.MongoDB/Volo/Abp/SettingManagement/MongoDB/MongoSettingRepository.cs @@ -24,7 +24,7 @@ namespace Volo.Abp.SettingManagement.MongoDB string providerKey, CancellationToken cancellationToken = default) { - return await (await GetMongoQueryableAsync(GetCancellationToken(cancellationToken))) + return await (await GetMongoQueryableAsync(cancellationToken)) .OrderBy(x => x.Id) .FirstOrDefaultAsync( s => s.Name == name && s.ProviderName == providerName && s.ProviderKey == providerKey, @@ -36,7 +36,7 @@ namespace Volo.Abp.SettingManagement.MongoDB string providerKey, CancellationToken cancellationToken = default) { - return await (await GetMongoQueryableAsync(GetCancellationToken(cancellationToken))) + return await (await GetMongoQueryableAsync(cancellationToken)) .Where(s => s.ProviderName == providerName && s.ProviderKey == providerKey) .ToListAsync(GetCancellationToken(cancellationToken)); } @@ -47,7 +47,7 @@ namespace Volo.Abp.SettingManagement.MongoDB string providerKey, CancellationToken cancellationToken = default) { - return await (await GetMongoQueryableAsync(GetCancellationToken(cancellationToken))) + return await (await GetMongoQueryableAsync(cancellationToken)) .Where(s => names.Contains(s.Name) && s.ProviderName == providerName && s.ProviderKey == providerKey) .ToListAsync(GetCancellationToken(cancellationToken)); } From 5a6751f10b164e89c0f81fd6760c865fa734ab41 Mon Sep 17 00:00:00 2001 From: liangshiwei Date: Wed, 20 Jan 2021 18:31:51 +0800 Subject: [PATCH 076/217] Improve --- .../MongoDB/MongoBackgroundJobRepository.cs | 6 +++--- .../CmsKit/MongoDB/Contents/MongoContentRepository.cs | 2 +- .../MongoDB/MongoIdentitySecurityLogRepository.cs | 11 +++++++---- .../MongoDB/MongoPersistedGrantRepository.cs | 9 +++++---- 4 files changed, 16 insertions(+), 12 deletions(-) diff --git a/modules/background-jobs/src/Volo.Abp.BackgroundJobs.MongoDB/Volo/Abp/BackgroundJobs/MongoDB/MongoBackgroundJobRepository.cs b/modules/background-jobs/src/Volo.Abp.BackgroundJobs.MongoDB/Volo/Abp/BackgroundJobs/MongoDB/MongoBackgroundJobRepository.cs index 88d28616a1..56d0bfaff1 100644 --- a/modules/background-jobs/src/Volo.Abp.BackgroundJobs.MongoDB/Volo/Abp/BackgroundJobs/MongoDB/MongoBackgroundJobRepository.cs +++ b/modules/background-jobs/src/Volo.Abp.BackgroundJobs.MongoDB/Volo/Abp/BackgroundJobs/MongoDB/MongoBackgroundJobRepository.cs @@ -24,15 +24,15 @@ namespace Volo.Abp.BackgroundJobs.MongoDB public virtual async Task> GetWaitingListAsync( int maxResultCount, - CancellationToken cancellationToken) + CancellationToken cancellationToken = default) { return await (await GetWaitingListQuery(maxResultCount)).ToListAsync(GetCancellationToken(cancellationToken)); } - protected virtual async Task> GetWaitingListQuery(int maxResultCount) + protected virtual async Task> GetWaitingListQuery(int maxResultCount, CancellationToken cancellationToken = default) { var now = Clock.Now; - return (await GetMongoQueryableAsync()) + return (await GetMongoQueryableAsync(cancellationToken)) .Where(t => !t.IsAbandoned && t.NextTryTime <= now) .OrderByDescending(t => t.Priority) .ThenBy(t => t.TryCount) diff --git a/modules/cms-kit/src/Volo.CmsKit.MongoDB/Volo/CmsKit/MongoDB/Contents/MongoContentRepository.cs b/modules/cms-kit/src/Volo.CmsKit.MongoDB/Volo/CmsKit/MongoDB/Contents/MongoContentRepository.cs index f42b0890e7..1068c352d5 100644 --- a/modules/cms-kit/src/Volo.CmsKit.MongoDB/Volo/CmsKit/MongoDB/Contents/MongoContentRepository.cs +++ b/modules/cms-kit/src/Volo.CmsKit.MongoDB/Volo/CmsKit/MongoDB/Contents/MongoContentRepository.cs @@ -54,7 +54,7 @@ namespace Volo.CmsKit.MongoDB.Contents public async Task ExistsAsync([NotNull] string entityType, [NotNull] string entityId, Guid? tenantId = null, CancellationToken cancellationToken = default) { - return await (await GetMongoQueryableAsync()).AnyAsync(x => + return await (await GetMongoQueryableAsync(cancellationToken)).AnyAsync(x => x.EntityType == entityType && x.EntityId == entityId && x.TenantId == tenantId, diff --git a/modules/identity/src/Volo.Abp.Identity.MongoDB/Volo/Abp/Identity/MongoDB/MongoIdentitySecurityLogRepository.cs b/modules/identity/src/Volo.Abp.Identity.MongoDB/Volo/Abp/Identity/MongoDB/MongoIdentitySecurityLogRepository.cs index cc926db139..1ac54cfc82 100644 --- a/modules/identity/src/Volo.Abp.Identity.MongoDB/Volo/Abp/Identity/MongoDB/MongoIdentitySecurityLogRepository.cs +++ b/modules/identity/src/Volo.Abp.Identity.MongoDB/Volo/Abp/Identity/MongoDB/MongoIdentitySecurityLogRepository.cs @@ -44,7 +44,8 @@ namespace Volo.Abp.Identity.MongoDB userId, userName, clientId, - correlationId + correlationId, + cancellationToken ); return await query.OrderBy(sorting ?? nameof(IdentitySecurityLog.CreationTime) + " desc") @@ -74,7 +75,8 @@ namespace Volo.Abp.Identity.MongoDB userId, userName, clientId, - correlationId + correlationId, + cancellationToken ); return await query.As>() @@ -98,9 +100,10 @@ namespace Volo.Abp.Identity.MongoDB Guid? userId = null, string userName = null, string clientId = null, - string correlationId = null) + string correlationId = null, + CancellationToken cancellationToken = default) { - return (await GetMongoQueryableAsync()) + return (await GetMongoQueryableAsync(cancellationToken)) .WhereIf(startTime.HasValue, securityLog => securityLog.CreationTime >= startTime.Value) .WhereIf(endTime.HasValue, securityLog => securityLog.CreationTime < endTime.Value.AddDays(1).Date) .WhereIf(!applicationName.IsNullOrWhiteSpace(), diff --git a/modules/identityserver/src/Volo.Abp.IdentityServer.MongoDB/Volo/Abp/IdentityServer/MongoDB/MongoPersistedGrantRepository.cs b/modules/identityserver/src/Volo.Abp.IdentityServer.MongoDB/Volo/Abp/IdentityServer/MongoDB/MongoPersistedGrantRepository.cs index 2d4728a7e1..9dd4f24af6 100644 --- a/modules/identityserver/src/Volo.Abp.IdentityServer.MongoDB/Volo/Abp/IdentityServer/MongoDB/MongoPersistedGrantRepository.cs +++ b/modules/identityserver/src/Volo.Abp.IdentityServer.MongoDB/Volo/Abp/IdentityServer/MongoDB/MongoPersistedGrantRepository.cs @@ -21,7 +21,7 @@ namespace Volo.Abp.IdentityServer.MongoDB public async Task> GetListAsync(string subjectId, string sessionId, string clientId, string type, bool includeDetails = false, CancellationToken cancellationToken = default) { - return await (await FilterAsync(subjectId, sessionId, clientId, type)) + return await (await FilterAsync(subjectId, sessionId, clientId, type, cancellationToken)) .ToListAsync(GetCancellationToken(cancellationToken)); } @@ -57,7 +57,7 @@ namespace Volo.Abp.IdentityServer.MongoDB string type = null, CancellationToken cancellationToken = default) { - var persistedGrants = await (await FilterAsync(subjectId, sessionId, clientId, type)) + var persistedGrants = await (await FilterAsync(subjectId, sessionId, clientId, type, cancellationToken)) .ToListAsync(GetCancellationToken(cancellationToken)); foreach (var persistedGrant in persistedGrants) @@ -86,9 +86,10 @@ namespace Volo.Abp.IdentityServer.MongoDB string subjectId, string sessionId, string clientId, - string type) + string type, + CancellationToken cancellationToken = default) { - return (await GetMongoQueryableAsync()) + return (await GetMongoQueryableAsync(cancellationToken)) .WhereIf>(!subjectId.IsNullOrWhiteSpace(), x => x.SubjectId == subjectId) .WhereIf>(!sessionId.IsNullOrWhiteSpace(), x => x.SessionId == sessionId) .WhereIf>(!clientId.IsNullOrWhiteSpace(), x => x.ClientId == clientId) From 63b74254fef7b38c965daf571c9a362aae80041c Mon Sep 17 00:00:00 2001 From: mehmet-erim Date: Wed, 20 Jan 2021 14:26:06 +0300 Subject: [PATCH 077/217] add a community article named How to Use PrimeNG Components with the ABP Angular UI #6608 --- .../POST.md | 343 ++++++++++++++++++ .../organization-chart.jpg | Bin 0 -> 25247 bytes .../organization-units-menu-item.jpg | Bin 0 -> 18993 bytes .../table.gif | Bin 0 -> 401280 bytes 4 files changed, 343 insertions(+) create mode 100644 docs/en/Community-Articles/2021-01-20-How-to-Use-PrimeNG-Components-with-the-ABP-Angular-UI/POST.md create mode 100644 docs/en/Community-Articles/2021-01-20-How-to-Use-PrimeNG-Components-with-the-ABP-Angular-UI/organization-chart.jpg create mode 100644 docs/en/Community-Articles/2021-01-20-How-to-Use-PrimeNG-Components-with-the-ABP-Angular-UI/organization-units-menu-item.jpg create mode 100644 docs/en/Community-Articles/2021-01-20-How-to-Use-PrimeNG-Components-with-the-ABP-Angular-UI/table.gif diff --git a/docs/en/Community-Articles/2021-01-20-How-to-Use-PrimeNG-Components-with-the-ABP-Angular-UI/POST.md b/docs/en/Community-Articles/2021-01-20-How-to-Use-PrimeNG-Components-with-the-ABP-Angular-UI/POST.md new file mode 100644 index 0000000000..1fb438adce --- /dev/null +++ b/docs/en/Community-Articles/2021-01-20-How-to-Use-PrimeNG-Components-with-the-ABP-Angular-UI/POST.md @@ -0,0 +1,343 @@ +# How to Use PrimeNG Components with the ABP Angular UI + +## Introduction + +In this article, we will use components of the [PrimeNG](https://www.primefaces.org/primeng/) that is a popular UI component library for Angular with the ABP Framework Angular UI that will be generated via [ABP CLI](https://docs.abp.io/en/abp/latest/CLI). + +We will create an organization units page and use PrimeNG's [OrganizationChart](https://primefaces.org/primeng/showcase/#/organizationchart), [Table](https://primefaces.org/primeng/showcase/#/table) components on the page. + +TODO: Gif + +The UI shown above contains many PrimeNG components. You can reach the source code of this rich UI. Take a look the source code section below. + +> This article does not cover any backend code. I used mock data to provide data source to the components. + +## Pre-Requirements + +The following tools should be installed on your development machine: + +* [.NET Core 5.0+](https://www.microsoft.com/net/download/dotnet-core/) +* [Node v12 or v14](https://nodejs.org/) +* [VS Code](https://code.visualstudio.com/) or another IDE + +## Source Code + +TODO: Source code link + +## Creating a New Solution + +In this step, we will create a new solution that contains Angular UI and backend startup templates. If you have a startup template with Angular UI, you can skip this step. + +Run the following command to install the ABP CLI: + +```bash +dotnet tool install -g Volo.Abp.Cli +``` + +...or update: + +```bash +dotnet tool update -g Volo.Abp.Cli +``` + +Create a new solution named `AbpPrimengSample` by running the following command: + +```bash +abp new AbpPrimengSample -u angular -csf +``` + +See the [ABP CLI documentation](https://docs.abp.io/en/abp/latest/CLI) for all available options. + +You can also use the Direct Download tab on the [Get Started](https://abp.io/get-started) page. + +## Running the Solution + +You can run the solution as described in [here](https://docs.abp.io/en/abp/latest/Getting-Started-Running-Solution?UI=NG&DB=EF&Tiered=No). + +## PrimeNG Setup + +Open the `angular` folder and run the following command to install packages: + +```bash +npm install +``` + +Next, we need to install `primeng` and required packages (`primeicons` and `@angular/cdk`) for the library. Run the command below to install these packages: + +```bash +npm install primeng primeicons @angular/cdk --save +``` + +The packages we have installed; + + - `primeng` is the main package that is a component library. + - `primeicons` is an icon font library. Many PrimeNG components use this font internally. + - `@angular/cdk` is a component dev kit created by the Angular team. Some PrimeNG modules depend on it. + +As the last step of the setup, we should add the required style files for the library to `angular.json`: + +```json +//angular.json + +"projects": { + "AbpPrimengSample": { + //... + "styles": { + "node_modules/primeicons/primeicons.css", + "node_modules/primeng/resources/themes/saga-blue/theme.css", + "node_modules/primeng/resources/primeng.min.css", + //...other styles + } + } +} +``` + +We have added the `primeng.min.css`, Saga Blue theme's `theme.css`, and `primeicons.css` files to the project. You can choose another theme instead of the Sage Blue. See available themes on the [Get Started](https://www.primefaces.org/primeng/showcase/#/setup) document of the PrimeNG. + + +> You have to restart the running `ng serve` process to see the effect of the changes you made in the `angular.json`. + + +## Creating the Organization Units Page + +Run the following command to create a new module named `OrganizationUnits`: + +```bash +npm run ng -- generate module organization-units --route organization-units --module app.module +``` + +Then open the `src/route.provider.ts` and add a new route as an array element to add the organization units navigation link to the menu: + +```js +//route.provider.ts + +import { eThemeSharedRouteNames } from '@abp/ng.theme.shared'; +//... + +routesService.add([ + //... + { + path: '/organization-units', + name: 'Organization Units', + parentName: eThemeSharedRouteNames.Administration, + iconClass: 'fas fa-sitemap', + layout: eLayoutType.application, + }, +]); +``` + +We have created a lazy-loadable module and defined a menu navigation link. We can navigate to the page as shown below: + +![organization units menu navigation item](organization-units-menu-item.jpg) + +## Using the PrimeNG Components + +### Implementing the Organization Chart Component + +When you would like to use any component from PrimeNG, you have to import the component's module to your module. Since we will use the `OrganizationChart` on the organization units page, we need to import `OrganizationChartModule` into `OrganizationUnitsModule`. + +Open the `src/organization-units/organization-units.module.ts` and add the `OrganizationChartModule` to the imports array as shown below: + +```js +import { OrganizationChartModule } from 'primeng/organizationchart'; +//... + +@NgModule({ + //... + imports: [ + //... + OrganizationChartModule + ], +}) +export class OrganizationUnitsModule {} +``` + +> Since NGCC need to work in some cases, restarting the `ng serve` process would be good when you import any modules from `primeng` package to your module. + +Let's define a mock data source for the `OrganizationChartComponent` and add the component to the page. + +Open the `src/organization-units/organization-units.component.ts` and add two variables as shown below: + +```js +//... +import { TreeNode } from 'primeng/api'; + +@Component(/* component metadata*/) +export class OrganizationUnitsComponent implements OnInit { + //... + + organizationUnits: TreeNode[] = [ + { + label: 'Management', + expanded: true, + children: [ + { + label: 'Selling', + expanded: true, + children: [ + { + label: 'Customer Relations', + }, + { + label: 'Marketing', + }, + ], + }, + { + label: 'Supporting', + expanded: true, + children: [ + { + label: 'Buying', + }, + { + label: 'Human Resources', + }, + ], + }, + ], + }, + ]; + + selectedUnit: TreeNode; +``` + +- First variable is `organizationUnits`. It provides mock data source to `OrganizationChartComponent`. +- Second variable is `selectedUnit`. It keeps chosen unit on the chart. + +Then, open the `src/organization-units/organization-units.component.html` and replace the file content with the following: + +```html +
    +
    +
    Organization Units
    +
    +
    + +
    +
    +``` + +We have implemented the `OrganizationChart`. The final UI looks like below: + +![organization chart](organization-chart.jpg) + +## Implementing the Table Component + +In order to use the `TableComponent`, we have to import the `TableModule` to the `OrganizationUnitsModule`. + +Open the `organization-units.module.ts` and add `TableModule` to the imports array as shown below: + +```js +import { TableModule } from 'primeng/table'; +//... + +@NgModule({ + //... + imports: [ + //... + TableModule + ], +}) +export class OrganizationUnitsModule {} +``` + +Open the `organization-units.component.ts` and add a variable named `members` with initial value and add a getter named `tableData` as shown below: + +```js +//... +export class OrganizationUnitsComponent implements OnInit { + //... + + members = [ + { + fullName: 'John Doe', + username: 'John.Doe', + phone: '+1-202-555-0125', + email: 'john.doe@example.com', + parent: 'Customer Relations', + }, + { + fullName: 'Darrion Walter', + username: 'Darrion.Walter', + phone: '+1-262-155-0355', + email: 'Darrion_Walter@example.com', + parent: 'Marketing', + }, + { + fullName: 'Rosa Labadie', + username: 'Rosa.Labadie', + phone: '+1-262-723-2255', + email: 'Rosa.Labadie@example.com', + parent: 'Marketing', + }, + { + fullName: 'Adelle Hills', + username: 'Adelle.Hills', + phone: '+1-491-112-9011', + email: 'Adelle.Hills@example.com', + parent: 'Buying', + }, + { + fullName: 'Brian Hane', + username: 'Brian.Hane', + phone: '+1-772-509-1823', + email: 'Brian.Hane@example.com', + parent: 'Human Resources', + }, + ]; + + get tableData() { + return this.members.filter(user => user.parent === this.selectedUnit.label); + } +``` + +What we have done above? + +- We defined a variable named `members` to provide mock data to the table. +- We have defined a getter named `tableData` to provide filtered data source to the table using `members` variable. + +We are now ready to add the table to the HTML template. + +Open the `organization-units.component.html`, find the `p-organizationChart` tag and place the following code to the bottom of this tag: + +```html +
    +
    Members of {{ selectedUnit.label }}
    + + + + + Name + Username + Email + Phone + + + + + {{ member.fullName }} + {{ member.username }} + {{ member.email }} + {{ member.phone }} + + + +
    +``` + +We have added a new `div` that contains the `TableComponent`. The table appears when an organization unit is selected. +The table contains 4 columns which are name, username, email, and phone for displaying the members' information. + +After adding the table, the final UI looks like this: + +![PrimeNG TableComponent](table.gif) + + +## Conclusion + +TODO \ No newline at end of file diff --git a/docs/en/Community-Articles/2021-01-20-How-to-Use-PrimeNG-Components-with-the-ABP-Angular-UI/organization-chart.jpg b/docs/en/Community-Articles/2021-01-20-How-to-Use-PrimeNG-Components-with-the-ABP-Angular-UI/organization-chart.jpg new file mode 100644 index 0000000000000000000000000000000000000000..9d18f35ba1c7d49faca4f5abc245ff84e3054c96 GIT binary patch literal 25247 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 M|I0|e+Zp)308w;`W&i*H literal 0 HcmV?d00001 diff --git a/docs/en/Community-Articles/2021-01-20-How-to-Use-PrimeNG-Components-with-the-ABP-Angular-UI/organization-units-menu-item.jpg b/docs/en/Community-Articles/2021-01-20-How-to-Use-PrimeNG-Components-with-the-ABP-Angular-UI/organization-units-menu-item.jpg new file mode 100644 index 0000000000000000000000000000000000000000..dc6111f5533c49b5e5df6b83d7bf8c9c62075e11 GIT binary patch literal 18993 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 literal 0 HcmV?d00001 diff --git a/docs/en/Community-Articles/2021-01-20-How-to-Use-PrimeNG-Components-with-the-ABP-Angular-UI/table.gif b/docs/en/Community-Articles/2021-01-20-How-to-Use-PrimeNG-Components-with-the-ABP-Angular-UI/table.gif new file mode 100644 index 0000000000000000000000000000000000000000..d27dcb26bd0aeed40f7bc005d22d4e80afab94d6 GIT binary patch literal 401280 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

    R|9k28#Ys233;*w=reS`+*NIY7 zsbz^HT7}f0nLhT(w-?RLH;~`;3BPeaAOzX5#yY>c%YQcY!){%qr5?XsWg7{8EAy`O z;+NdpUyw%7wZ9o7t#alz6XBzku#esMjswC+O-&0ikb^_vk68FxTsTVW@i7Lzh=EM3 zQ1xRS&K%*irxC9~c93QGG6sPIVCw;)0N#5K6e)TdDaI5f(I%WF6?H8zN@hlwBsXeh z3buzqC^ALg00W9(A=aU&wsd=~YVRd!q5hU=gWN~zTG1*p(MC)$W@cg2)6w<4F6O5( z>;CW!u`q?@2mlX7Iz`T6W0!Eyjd067EL4gFw$lJT$VTW7xmbZ?ALlylh=uXUAcY;m z0cj*Zzh!uKtO#cuWEnk&Ba6%k zLDid$*tCZ40)VDgLW7g-j%N%6c@MI$A~Nnq#B^UUkXUt-5UafM9Ei>?QUF0lr%Zty za{>&AzioCq=*UKy-#~gx_1XhXCDB5hU@wM1NUgJwJx4#(b^H9q5jyU5;lFKn={Ggtp>Sw2=I>D1Djq zZ{Cnpf^|lH8FUvNm-8xiP7Jn;fX!i{v*GC}W|>Jc(R@Ma>a&^Nr<;|rSoA3fcyK)%KtwEnvaM$$ZZ2n81__$Bi#R#QdT1l3tFnJ~XIDvh zS~|f4XLI}n%-orC>BV#FC33A2a+fu7UF>s{AnpkQmQR8N6Kir)+f6K(bHgE?z6pX0 zt$BGtc?u*CGWhc=1>Bzo<$tz?bIuB`Y9co=7RL>VrRKB_HTi9M#*1UnjqZr)?)XVO zdIGnOm~+~hMNR)aAB{ah#RuI^*x%NB;Za0Hv7&bB5gb`I*kW#3T))U4#R1I_4vP9^!c-Vv|EJM3Y zIN#W^Iv(OxAfi)ttGeW?L;--eaN#XC>o315_^5tM^f1r33=C|DdA*e`%XuI2*VBcs z5YrKL(SW-cmx@~ycWGL$IOi+N{*`WJVnc}@EhYbo8^NX2wZ>WW@s4wqCOlAzp31(~ zry~jFo73vSWSD@PDX+@QG^)z7+whL6pv(zkc!ETtr z{9Ve60tysmkr=_6HqC0K8CXjGqo~=?lpw*P?MI2Vc|}{`8j8Gv;9x12*lR47#dtW9 z>DkM{NBG>38OIPyaB<<54cCl07cxI2p~iIM8J9Br2wzxp8!A;@*Em>}8IRrZjOX%- z6d{2{VW9pp848W1H9GD@L6+MlbQb&Kxvd3BYZce^TH1Y3Dh`~2DWVgH^cf>NUKi0f z76Ci;cg*}^UKjoKWnnUgP~bwx=l26^Nq9VXRqn=+!-HYpO)-86tVlw1P`K##^?bAfVP`Cm=;OQ=td8f+ap`wee<@`LkDp z7D)7Pz_CH*Loo1thPIgrrtrQrFQJicxg~_!>=^r;Uc4RB16#I^%l=(W6l6Vp!pJk! zQaD)JR0gfe7Ic_zH+z+LZjkcKEM!gkF1G>sIW7ju>qIC1MuanYHz1fhob&}4AWSt$ zjVEx~bhH%Q-3X}og>B|qPU1hMSkFQ%5r{_XT*QnFSYaH_yB+v!kRDQ+s)@In73jQl z9Z7U#5vy1aFu|uf$zYvVzYJ37knMEKsg)`oZH&xU$2w@!oFV(<5HB)TqVu7Fj0r)R ztAS)6lZO~OE`~pV^t30%wcK~Ar1z@WQwk$SC*NyW(hJ-_WFUt$l1ihUlrUjZByCM6 z$tJ)9u`w%gG#RZj1&t+A$@R&+Sb?EMr_*GcNh8U9ob63cn&KHdc80p96Vk0yH^91^ zmc*4FNhRP(*0kOO5I2%_=CDG<51@|^0eZKCngx?8;o&pZFy2SOk7mfr@FXHO2?~uA z%7qAVv3IGIz#|z1aNnIQ|AOH1j@-2@pKsQ~bP;{D%ef{vIC7{pdHSWXKxW$l>S)lC zT?g4OkJQ}_NW2-grx86YjB=Iz_>3P_juxvZyj!4Mx0?g!H^ZLcqO7#Te%H1(IfgmLg9vEBuUZ>FEtw*xN(T7SD1i!4_Yvs4Qwuac`e z)3;wQ2ZWq<1aaw((upK+%C?w9M6kU1xal}R-+7nGjb3f1O z0y`!me)rPzwpRrIkgN*$uycCHI=ra1aRu+#cV@eXA5~Z$=XfsKRO5gFDlx!cdzA?% zbaTk^VQ#~%MHI%<&uS}v{yiA8IT^SQt};OO2>4#$#;SV39l;Y$6tC%fN+H*f^ajui z42-O`;3ns%YGHQ@Q_oAUOX)~v0ME#1=o@j!1A#iI`^ePrQ}>j6xu;{1G zeurTGm?pV^Z=qDuZE@q4(4&y0?LEQ8Kf;v?B6M$HskL8r_5#hH3k7+CZ*_w8Lxf}T zNj_&H`9-1-%dZm$kQ%%Y=1uGq5#gc*k-ti+hPSxh`1ATZLDr{5T%+{&V@BP(O5l`T^0 za?d6ey=0<>s_nJtv}S17`pS7BAK#PA}b8+z{s<+q%2n z{&>_yaotW-^n+65=10+Xv`~GWh|i_u=iVV(;V-WUwT7f%Lu#-QqLC%PKZMMfO%YU9 zYtq-NZ5#cW*P7B_Hb%aDG_#NxT4%XAJF2r)xU^M#v2`-mh*{cjyezDGSELdHZbm^k ze+zyT6q0{TCG?Z zq+hb_F1TB`q*ZN}X7S_h^_U)XPh9Rojmkj{7YCi!4)xc#&|h#)xM#{7zK0Nb@PTnj z=*q6|)&W6JMDoYuyP=02r29&Q`)y9b{(#7&>ELACboENw;L8z)8}K$`k+JjG9CyKu zaHz$Nqe`wGKn!H9FO)k*B^>v}zuTEs9Q1LeWb@;P`faEz4A`hDrf-Dp@ieQRjSQ`1 zDVkMmm{znT3Hy8)TLme4GarR3593ra>CP^j=2_ z%V!YeeOe@?TsULK*RwY(B?JJbi=|JM zqUweGr~%_K^IE;rUi}P6kDqFA?sgFw_6n+Ph{7tBf(W;}0e}r*3{=KJ#%_HEcy2>D zAtL(}D{s$e#n1n+!vZ??7BsDp0NE{vuD}`8gc8M!fqC3|1b|Fn1paT)R&V5H3yGMG z0ke#2wqS%M6&ZaObMF7!?h0aRCfz;y+xEIzjxh z+5C3@x|e!?j9NZ1vQr68BXOF#^Ea~d+{)g?5f0F}(1n^cmTPFy^V6u1P;`^^(%;pi z>#!N4Ql>T5;j@CM*O_EEtZ;ksDTuGGR39`UT=4c-S)zykQ zDw9}bKaO$$$TkzWJ65M0=68*i99eFi5T!|Qx&w4aVhdyDK6_EJ-#ztQ=}*3ym2t+_ zbDgG?wS%_|N5KYRV-h#3z%9loag!L_7K4Xx+?j0@(t>F5G6wmERbe0+T@3+#k)mI&jx`N7MbXhDQAZ=hRbrVFXO_`m-FP$&P(g-k z=YqZO>H55TSxXJrJuO4Cz{&>s2<{z%f~)~+jhfL^-0_#9*4nUW#P`)bw5TpW1qHhf z4Oi(kMgD54w%dU9Ram967A0_CcC(`v-xG)RPf@7_#azRqq@&fy(3IpMuESSRz-EKy z5rEfyotw??^dug2aDWvD0v!mYpMMq5hF{(i9LEYAYz+)V)|Fm0x+T4SB%=#d12=(K zPv0m3us4EJNfi-`rTh32gWad;<idNYcirL$epT6{sp$LjNu1ef*`7A#bH4{F

    ;DdDM~}+89GBW;jG}Y2ugQk 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

    @Nh@4F`lG4;%Vub&fmrotS>mW+%%j z1?8-RNAYhHQYk6~!G8`<-e>yPx}|L$M??d@VEYCXo_+cGM!8SnlyD?Pzv#6@BMVKgA<>@Pu2h>wQgoq|(V%e)DHU~|S7Y?=j$NP`IK zGw}@5)uPOzKH(5ESIC;@b#t9j&(h&G)5pij9dPfdhJH?KBzwPD;8MD&{8@BE|F!mfEp*0q*eb)%?^!#3cAASp=2b}Ni!U?6D5Jg z0S*!G)@QZzi2GWD#IJg@#R%*3y}=U*T9+yGB`q1S3M38na)GjLVwtOubdsxN1`%X2 zV+EXE@-mW9fEWiwVX&MSF*Zd3k&fg11pTCmIE$cDS9f~JICgX~ShikY00+?1rWg2| zGYG)b&L9jR1|{WJY#)#~(Ri|mOn)cjg9-zJ_$ugu;nfZR^EkZr5s_o`!{JXdm_rRj zuP9@{>I#n&s-i$nn-Q2#j?ihD155_>I9Px(ft_=n@x56mo0c^*GM<{!b%H^v*EA)j zyAEmjs??Bk7pl#GfO`WV2^nh!nF$I6DFZrzq0omGQcfuK>$9Cl(#fHV=`3iMjUTXd za!V)%K5LK+T_{n3Qxxuv?me^FT>IL>GK;D6y*^U^>1eem%)8%kU&19p`AIRWA2gnS z0ZvqwDPeYk8X;d;AM0zC1r}-Y(y=&inrJgDfR!k(6wexybY@0Vsb`2ik(WcDr%@$kAtNhhAki@tZ!x2~nY8c{<+&`a@_n`{PA~sv8sV&3 z38b3#7Uf4;lAX7QspQNGE_;HaI2mNVEhuFq%1mB%VKbp%VA&&aVs|Jfj;6pm9s3q! zZh1@Bq^`w5DS}qK58F128|-j2F*Zsc>f)Vot@Eax&S!b6in?s4FeZ)`Gl!n0U0sE2CeQ>i;LKZYd-)z% zt_)a6_t$P2%Z9sG1{XN3n0vnTn-==vn-H^my;{Q!siA|5!oO)oZMH@dfo9Yen3lME zI>7R2@sdt9Iyb``%T^Plq-HBxd0v+ftJoZTR2ZWvJq zX>*=0WxdXNXUY(+1A51V(gT^?d((DpI&(t?I7}ZG-V?rQMhSB<+x$CU;qm2H+h*5l zkABM8R|Zks!eN}85a58k_^3zEg=IjPkHd{11l;R@3x}i2VEQ?@4i4b}&UmQ)UHIid zeY65YoRPq9Ce)zn@k3PrQRO#eI6O#`37)5nf^!%y>RZ2oT9{k68n49DjD=_bB@f10 z(;3`aai#;TYrRR#P`=xZLSc8DeBbLY(}qz7c+-9!2&oMn}>z!U2c_&s{RpMt?06Lm|vOdw2=*rxX=n}`e&C*jwx z()T*VEGkX=^W{MuvwF)X!ay{z*%Rfxq|!T_1W*~p&>{>Fwx~WoR;diN7*)ZEL1t7} z7l$59|A3ApXXyOK{}km42Pg56x%o^F*t&Lvj`iXPY~MF(yQ$VxL)%Ymnd?TNSuZ7o zw5Vvr7QRQvYzJpVa&|IkYQ+m~0uZlXhUizP$mf(V>t?jT7_B_8I@ZM}ZudLKJumHr zFv+~ShuV|~BpD$bHevGhR7N`zR`hrYZU|afj55#{d&+`m*RG{wG^me@8fHezP0 zXm7Cc?C$GJZ)3!6(%EfFo7f?ewc5<|{6EWtx8WX*zsgx%!02x2^XS`>$o~%?_pg~CCP3N}0HPfFmFGJx;F^+! zW(dHD0F^d4vuC|vl*%X1&*JIN(I1bnaPN?56nhgVBmPQZdaS%JPu4%88=WaVl&&H> zT&w*=!YrFNY3HyykXClpy?!>BKS=gchUIB7Z&`JBJ4;8arwRv?4+m;4v}czcoccOc zeQTEPYxVew-NV2e!U=NRk7o+4{=86kd|%^G%y&f=Tz@xv@!E6t;e7LOZlIsUAy>q; zuj>AqOVrmg*M3WGxLnquLgwJft-Ly^cXfb8}Q@j{kH{HA|JMlzKT7#ejO%o z#(RAvE_OFMrs;6Coi)?})4Q!^?+LVBK?WSJJ^dK@$X1i=ee^Yy8p84Uic1LnPR@MP z@iv%GS%NN;q$o3E1NLc&d*|PEFJ@k}36~@ppUo>xm$l@R$hnarvz%s$v;Ul-c=z0LrVR7i za*}t6ws@}Cq;`3sZbr_4A*!mrF0U)=vO0_m2v!UvMA<>pKBt$K#F@Z%-&cXEOZqxElg-@_%{A{AH8E z9eSpL!hHQpLoY0FaI;S`sZgaymM7W2OD3-N=b!?iBVb7JJ4@4$>Vw0;w_01Zfun{Z zifXUVr*-&`SoR727_+hxQXjExL~R%cs(UK{vi> z&HH$rZC$<}c(ng1{lvA1&m|9pBNj^yzqPJsU0`cpuPYrs`106GxP7f{JT-Ft`O5JA zw;b5_$W4lX(xEU0@H^L%9whes7sRvVoWXdg&7W<+?WOL{cy+SnX?Dlft_vnKa zueV2gs|B!^zkfcyuD8G2_xSA5?~P9{_I5Tz{xCpMM}NLYgU&b~fvZq-Vk4L>dGfK? z9)(GYggbE$Nw2a>VX^az<6#kHF!ty~wfS{0jgLFy zekvtz@VZWB-n%k)wTJtIo(5a_V}qYHo0%+qT$>6OepTpoD{zl_}~u%MNj&bRqT2u86@Okz$`ZscT%mGjS(>9qFFELCdfSA9wxFn zqr{M)QsHJ9gTMH=?0cnR(K6?3Z`)*-1eJ3oteINz+vHWKRVenXT?o{wm+coH+b=wD{ir=bnVjWatgKnL7^%=Id zx5{nNZ`$nYXndSs%EprjG~!B&tJnmYc=e)fvd?M_FW|?h0B*l>mtydUXi@80+%p;6 z*(uV1Vw3}v?Jp^ovR988Uh~R$M{_r^WogPfB|@3=o?U#(;0JV8zWWcFpdj%aRBP2 zuC~4bn0o#0QYi-$7!@R7zR2ITUG!nh$BG8eCMp+;x#SXIfHOvr#u5GYNCdIFF6CPT zz;Cj?0TfA0M2m}xkbEx$0CDB3u4K+;+SYdMqh8#Fdx%L@00jVy657Y2n_4IXZe@hV zdkM(za-#a`;ZJbR@d@!-t#nWlG|Tx+wxTB%8{l@1GQG@?tR{n^l0E z6B3O&vG$)F`$A^h? zuWCV5`D0jOE*tW#11Oa{CxEN{JX|7r5Ovr2l-rjV=Z}sz@v4XZ0sA5E=9JUIQykOb zdX#oCZ;O7K4Im>T$lx9@vg8nsWhP%KTQ#oyVw5d9eU&U$TY=oLcli=@-^#8wYcg2j z+R3d)kwVQ+0Lr${qxbFLcaI*8xVh*F+cV6n*Ls*nPA>}YuJyipGTsygr#>ZXTjo-}v9BXyB;3dD;YxRQ0 z#~pq?eY`)C_TpEi)t`08<11Y+U+g^llvy1R`+h5zaIE_UarDFL%^`>W@$UP#M@8hW z_5lal6*rBfd%q;I-+z4i;|~RYV%HH+6+NE=-@&j>pjgL{tV5e#JqAil{VeNT81|Ov zm>#A)q~613}NJ&xjx~GF_wtNU-^OHbr96yB059Wj8YbP#sAUwB|UitPIrC^)doAy>xJQ zMgk-7?43g+7)SvFv!vMf=(Kwp&L`?2oGu`mN}H40>rI%PHH9w5BMq$W`Mt+w6%6Q8 zVf5~d(zL@61#$!haw(}gNTy;akPQGIM%evPh~_CmDS(EAXG|_%-I7Y;5=|75WmmH1 zP?Al|Fhh`t8GgsXOlg?R#~G|&fW)$!elyB!^KiBqGVSwA{MCHjG(7V{e})B9R%2M^ znN~ULDn%VI-Zn30$2o4>8g@yGb}G(xWdb${G1vFAWLh{iTCyqwvStIa6IZjH^0K$< zvnyR4uY15kT62P`(cb$xT!`Gq?712qxtcP$zQ(zCUt%angHkw6LiKpGpsf1 z&FjL^W7nkQL^;v^oE6N?V+uWc7JS|>;n&BpF?Ne5Wq&hoq4mK#gETY|7GLEG zIP+1d59$maDCWi96;&H_ip4rj>2lF(w{lAO5P9S5PXo(n_|yDPi8azJ>q0|u^^6a#GPVDi)wdu2&>(JyLKx|*#AwxU{D7oU zp{bbrTq;a&Z4n(c_qmGi0~?RgQ^5%}_x}n_)o1prUaNpSc0m_`xE}1?iraq=t9P#< zticFt54e*WIDf-Bc8drDKKkbo!%THO?5wO_q{UlgkS$xPnf&*aSiu!oz%hRy^DO&- zgZ#tr@P|63r|na&<}?+pN2ba>*3Xe|-#eqN#ay}D1WST#0gj+xd53+NxIEU<@kvs` zlUEtAG`S}rEoL`Dn6*I3*G-stQk>(PX4VR_Xjt7Z`!YrU1kDpA#Lya_$got0d%B%$ z3uM}_T4nDMk1l8yYsd@x9lYar?@m8k)eLSP1Dl}~=Oi|8jy{b{Lhq33#6Yc_oow^< zgn4S!ST1X65|2{L)5^Z$rV`ecEV-NQtta_w|J0{8^2L1Ic9O7W_%q_fRP6G@4AF4< z0S7j=$&{|1Na)DA*_ZYXb;4}}*?6KBgjVawxnAF|y zXVUD#Kawc6=d@2eN7}o@Y{GsbVa3F2^JP+({q#!(Jzh4Ali2EdQbU%7)zl!>X+ zz22^|3DUtd%20y3&81K2EVvc&E|KF$k_x5%85o#D!a|OtdRZ%&ruiQzg6J=x=-!z` z#gV-@{OMw*utKtFnkRrq1@H?<^0$G0HEy=G))Gx9!?0P(zH?kqQe?RkWiHUK${cY@ z!7163@d${G@Cs*Z&oa{PQWs^DUn?e`0FF%&rcq(U-?2ya*RArJ@0=fW&#Nd!DpxpN z&0BNb$HeX<;~4W{CLVFe&mPlXi29iWhdOW^?K>_3uvMPi={uC!j@-1h+zX@CN7}Kg zXCCFQJb>zqDDJ&UZG-*B#9WIEpAx99osC)CeNzE>wd*vR&0C_Mv2F7ycVyVJAfC+A*fV5aNLOe9)O%9)Gyu*Uxx2F|IsoMR_#25ZP9&b)@+gT4#<0j;z~ zyvlO>MS+2;x!mC5&Z>X^+8w6j6$-@97t2$Fg%Uj+{l*o{ZQR zp3E5I?xx0^{M*#_fP}ae7~hJbt9I-tihU_#Ry8Jq7Ln2@ShDotT3oqGn1p?Xe|oR_ z!K!H4CvnW-?@W+!^0PP54h%!X=tplohG(6xMM`$m)z}nY5SDM~P~1nx-nz!In8PML z+ekmO0&UCjJF%)b)ta+1-*T&R<2YKrs@{Hd;els+Y?4-)ZaT{huCXDYG3-qC+Y}yJ zo$T%1HL~z}$=UVYkp{Cz%j?e|XU`xQ%+sG`KqwiIrYO1KvxtKhjaYy-+Mz8)8|_CM z7;0Dh$Bpi5U%cpnzDM$759MhIs8HLaiMqUXQ>GN)K1VV1fK`6#nnI;;6|DmG=>?eU z9~G!2AH{#GKsAmft=TLc`LX%L$iwmW6S;EOR;J4*r;dc>r4C}|uF2m&6Fp6^Ex~}j z>Nij5oxBAA-(s%5*>nkgBzM$$U8r@qO0~-}sc~4g$LpJqXx>RBUKVx`n{oAz_L85v z`h!iIF7kRSqQ|}ogxf#wdMrr4P*A##Ft*rWyuWHhw7+aNw%}UDgka&xtGf{+cOh2p zr#@oz>=rQftI!ALne>aeT4iUcU=fp9^0PjTTaPadng8pxuf8R zVZH2A(dfEm;~V8`jR=4Ht=Hh!OIL{RTNk(f#oDoQ59NGe049woY;z}28B*iR6;4hQ)29Rg z-^D;3D!TF-9`Qk5D=mdZ{Wi45&x7fKpJJl1YxXOQiFI*na_%qD_~9sV54mJJwx=0)rMctt`%jdHd zufB-qyY%^QKJN0gC=(#)E|o2629ePx-}1PYZU$aCug$upY{cM#?~Lh|)O$8Osl2#MP%DWe`;!bAwuMU&G*YwKf5f)S#XR$K+@H1`fA^*z=@- z$@6qXI(p1YJw`~3b|2i^P*3`p_EwU6(_@Sy9pqu>uzmYoo%ppIx$fP=*ptV?EQ2H$ zDkC5SW@E$zIg8?aPnva}>#MqbIuIJ*yvpzm1<|zupde>cLm7HmGI9@uI)M+{yvImZ za%y=u|1smep_o`9o*(+cPuE(2rnPZ4a`A}cf;zln=HjJG6OCP;B8$RZb627Ka?Vw< zxB%jOyaq5Lb^q`zgNhNtG-!yWoEEc9RO6+KD>f*j$3V-RZ$KfqDP%vE=pb0tW8g&T zdX1%kc`-X7O#QTgOC|Me{0-MCd`Vc?5t?P_D8{!3HP*~OUy)o)+4$l#qUREfUt7_ zaLa*80W(PBXPfYq@@F5jb;`vPAsJ=f$QdVR+Y$sRaP6)YsD;fAcgJrMY*j4Z3$65X zZG;}fqpbBrlpCm;hZ4=9)eHxKUpAQk;1uXMJ_AzX!V=e}$OG`3O)XeN{>8^Ne%eeV z8*s)1OA2b1PgXu*a=0j4c8{OPLX8n1dJB3s_7&k3Qe~Wsm;y?YZlrnBr&e^rigK#N<#iNjVXk=`U^b%b`hfC^}-J^7^-wmv2{pu|9Pv4<^49EfJ3b znDk^Ii^?br4Fk?>f%itF+ytTgAhLdDRl20lJr}`cEmNHsA|e2abpBjV@DrK`AFXz4 z&G^w@Qd{;6HgXf=YBe*_P}Pf+NfG*D4LRTKd;t{(f|XF{(cK`JpV`L~^Q&ey*<<%A z3x)Y_2lSnx`^*-p91re=zS&^HSa5EDjeSdHk(LR%*ed2fP?l8&N?=!m z({rLg@)-=v{9P*N`SKCUx8ue2#?4HWV-U%=6X?XuyW=WdC*=Da1STuXKreNL_St8db}Y45iAdLX6_2KlLKie4a!&by13?ti=| zsvccsbbe|)^NgC{epR=TQrl&dB5{$RFlN?`ey|{)B z>60e4v=NAo(^Lj6OvlNneT#dUpC-Kwek4&Xf9?BuQrk@PW58@sxA(kV1-C}3Xkyn# z&T37d#f7gcDDl_~63~x$J&&fnB3ejgkdzTkA5F~`C3Dqz^0`8B)Eo9n zSa%5p5R+M%M)Q*%MIUdk*$-^-Put78edCfG@tfT2EQm+`#-~XGW`0fF<@a0`JyOG` z=$j}kAJ8`gu1=!G!#{4H1nx0o8r(VYeIH7~T?|rws2cItCB2T66#GiTmhqg=Ag_g*UA zPo6p|9#7qT-z^;?6#1*Qh@G3aM+xumwIgtYKc}~2z0N;1xZ{TK?o^*1IDnLJ#!XB! zu-DimAS3Je!{Swi>DN|x)#Orvn{qT1>Pl}wc5}zglcCdZu7d+}d(OD4=1dRX68`C# zn(VIeY0f_yh8TD#eGDJH z`*f>NQr9!@@{<(Iw?KiFQPw-8;H2BOuP=DXAue2qPb#kns#Dzrt4bNwI@jRZH9v&u$Jar-6tj`wpO@z9? zY+z$)>=v1lGSgmFfulw6v*0zTZd>s;yc-@FBg22aukj0>d_!nfS+wQB^Y51l5|DPg zk49R4!^hdQpp9?abSFsp8xar`W7(ymP#*vQ#SNU;q%)E<@QVqJn$(Yj2Jx1t0cfNI zCol9hhzz=?DX|DpL4EXW7)fi7lUdHt7#UO?6zWR{&@QH8KBhgp949j117$$y!eM&^ zWZGuf#Bwby*zU%1g15iFYD=-OGYRPc{6O&nK!9?*#Ye;?IC46!6~+45>DfRRY)%Rf z6%*4mk{d|aF%U)ht^N3B6 z+*zw+C2b~NL85n6J&PB#f2Q`CvvL-^nCPbuP-HpPUMU$itK24f_dl^NAnuef$((s5 zt56_Y`bxgrfZelEVd>S$U$2xHx|BJ)R3y4o)w)g@b*WwMQg`b*)(Gm-EK~Uv*QH(7 zrSqigba&U8i7wrxF54zrcmwaO+@z<*kXNfWlRr z>3%p96?utrE&N9Tkh)8BfOAn|E=UhcJeFxl!xORV7o}PJvTaDoSQ1Eu%)N0#&T-0g zIh-B9u!+`p68E|+231g~O1HuUJB%^TqYd9L(b*1o@)5o6o%Bp5GH!AKyv8_EoG?6- zkvD02>nxy*i-9sau1A2G`fdN*?*7Rh+rHNdlF zYIDBZhF9p^Ugq!mRBQ{Lm)gcpiuYZ5Oaka$)6=o>W@9}_G!*U)A2HXTj+w#;1p&7` zp;tPpV#$L-7(g5Vq^B^_RSgW-4w9icO^GNPhHZfMYL?LfRcCm4^U`D)aVTB>4J>2* zOFW4gzDLJ|!S!Lz9AlMrABXb`fj~cRRPb11l}2<}NN29k4`N5MIlPQ~)WfN1Rk{g2Eoo z6pf1~VrAgqym+J5I|)l5x?wM3hFFK3bK&hW73eBnE`UiWl&R3DTyMf8liW*GHsN#}!uk|w zW;=eYe)E!w+PIEG_RZJ$n;v)t@A1>#i7u-)YwS-b#o)`7aT*_|fAf@_x{9Fqgpuup z@y!X7;E7!FYtyWWbLA7~nr$ORZx{*LHX6GKnx*z3KE7Sww``vOKW(Op}b^4d`o}44bQ6N`ZR8 z-6tN#l6FF+=s8=1-?D*QO_Y5w0%ynP^f1|gpmRdaO#aEb!Q?2fyl?pfT14Z(|4JO? z8B&3GcTXLbL72Rh6edCBZiM(XL6}tKwHq%v^UHIvPxkUcX_kIp6v5YHikn~lwzAeS zFopM~fbU?$IaKXza4N|49{$iNMgN14BfYLu7QRYK>cgTX^AJ$VacJA&+1Q0#*?70S=xiA znl+SPV@ZQuRmd21CR%6%vE}sQHZ+!`er_6!7DzA?g5KgI`k>Ap2a94~SPNe-M#Yjl zAHT`EcjFvRE2oOazN%=6^n>C6x<~W?_bNn*jB(6h+-q=<&fpy%{J!jlfM+<6%vNM|_5@yG4d<)MCjE)I&JG$6Hwkg!a9CcvJK zn+&?|L{uQ9u?Ylz%)Y0hm7Erq2rY*#G*RHpiJH3P~jFfnpN9$M*YkbuV^l|e$f(F zwYWKTgH%kxPGP6Ti89q4(}rS2f*liCL<2qq*F$#ZaE4eU)-WJ>6G_b3z{ciUUJy<~ z@y5jx*;O_P=I$%-c>4(<;&Bm;b=iA*`2rzm3Wjv16Bz+XtY*KiU-|tTGf9upp<-D_ zu0D1dnK7;~bjGr(FgfN8uXsS&EO;vNpW!heT`f-I*IIu9b=CwkU6@{DX+QlWsEz^f zx`s87BAwm0#E;-A#9^#c&i6%`$`>F}fL7`~;^9qbew6m~pG;?Qo+>HuZ~hgJu8chbN~Y zYTN}mg3ugrMTlDB+HeC;GdeMBl;vV)DxU4r#V0u+$92~%SBvf zlmWvDh}C+dkCv2J~kBAjxG_!hM{VKrB)^p?=J^F1iy zCLj}doJO1zzHtZV_k|-QQN^^JzA5|K*k$(7%Zk^(U!L63UD+~L|8N!(WR$;wlKy3& z`AhBVJHtLh_V#Dq9#a>e&-yT`bH)W4KQpwoPQX%rVUY=l7^VikpbI>~d3*Ya7q&P~ zZ(qE!ZF_6Gd~eH+5R3@lMpte-Jll5c+je>%9CKp(>hAV+$c{75j*D~%N5QtMX~?{O zic#CFTj)+=RUX!3=N4qVU9tG`%c2X&jNg{9Xg~c{eyH!tj^A#`^1i-5&#Qo2of)W5 zqDQFT_Z|PV(7;=v!M?;$z0k;8(5T0u;VYp5yP?5^-H?}|*tffw|Bv@^RzjY-(*xkp|WD(ND66uIytAhvE4~k(C<*^YJX%Urr z5mk>Ps$WLbh(OC8M3jDtcz7I93yZ9S0FT~AJXVUVw~B1I9@(h*yTSDLGvD7WS0Y=V z{ch`veEKr-`P;~6-y_>rep7ZMJ0XXinuo7U4=bz=ANd|&S6Os)Mp2|g6f%B5nxQ^7 zYT(%+wm<64%frFK7 zqK;>HqUT;l&%TZRU==+n68-u?^!)ChNyyQHbj(NC(Q;_aXT76ktE2g}==rpx^|vu! zOk=)P#(dX2nt>gE5;I`85N+{GACBGtE%&{3$VTPwq9Nlrot-Z;&jP=H`*V74bD=L&$@l2Y z!LN1Ne(Lul-NU_~E8~xSkIx<*9_(&?|9-580WoVKv5fp-NF0+~3o?#XXAc>VIIks| zz~vAois!rCB1#a7*b^m+-qjLIl*|tkyDMAMB9^4swkMXXGN2`%qCOKQo~pgxLc9Jt z*b^t|Giytv8}o-tWSo<0mB_Tv*_XI?(T2-h*@m4L{!hA*MmW+!r$L~<(Qqa~D1bo$ z1?)a@{q@CN1i1M5LbHaFo+RE=w?FhZl=h_|4etv6J8+R|-rIQdQBLdSfx>f5{{$|q zh;On%^gB&eqorns?h0LaT07n3Fx=?8LC%Jsl-&kAxq!_yZ9rlqQ5SI&N89x0x?CK=>%KaHU@X7EuFb-A3j_Wji?-%I z<}70bBAheN-4)sE8W9JQUDEyfJgXK{FR}vZFqQ-m3Iwo_4E4R0y8&q-A@m63kKa<7 zG|#pF#?*U9CHcSc|2G>40`4ttQ&Zeqaa&rUX<0U~)NqC)cgaw}jia0urRB&H%W`Ce zqqJd>nW@=3Y^ZHYD>aobpWp9%&-wlhH=G+@=XGB9bv>`gWAy#$(05fAyu=Vp&D4nNcRP!Kg&sWlu{*FAyO2huwTm zJ?N+k5N$g=?CHDRS{vwo+4||S&S^doi-H9b6{J@eF^U*05#cEX2($qcYmwLI3?Th| zdGqVpho7$XAL&~3{01Tc@~{wbJ;9<2D2D)X!dkGpb(OdKgtOO}mK<{5A$R2Hqg|e1 zgMmcIoinis-q(LGJ&WGR1`}*ymR=v+Ca6o#Eae70#&X~2F`nAKIk2B-$K`wOvW!(+ zE_9p5Lk&G|OYb*HfAh5nWxARoH|F+`#6VwO$Tv+o4ohs7+=9+aE-;pEz4$1xv*wr3 z)ABe1sO|cwsAk*;=G{o_{g|o>cpj~59ra7DYov7azdK<1dXrK5#C}i7(H9Pi!znKg z*liGBCO)9we0em@C3T!^_$|r(9Qk5_;q{&;mO$*^Y}u&?m#+T(59=UW_?xn)F8I=0 z#hoL6=k~6>3l!wNkhg!&@-|0aY&Zu?UCKF(lvmSZ}entKP!lxiT@A+D+m&UG8>0<+F(TE>pt>S z9$VEuLUNfrDsQF(%I82le4bp~bB5ST_mYCN%&_d&n(td0>&xWQSyumpxRa^cCPr1B zp_uaIE=FAw_E|(5o^Jw^!g7wPa2F3aL{VWv^UTU`1&E{tUSt!Sw0{ zp6{u+(+0`2x*DIR9@zGmpEsYy0FR!a0WNZEzr~HZ)j$LD*kAtnHNsqdX~P`lU;WWX zIve`c7QSZw-NED}*BeRry3cI!NGz>9C*RrZGPh48kNV6%uL06VuCB^aFH-0Vvn+y( zvIl(zdj7ZRobyO6Hg&r^fI0EMfs4S-Cqr(y-uKSRx!%d`(M?KsSa6rWPfPnIbUw18 zJtGQ@avD7AReuuyk$wizU3X!%qM?Q?`{DdqhEwqrQU}w?B9I_Wa^JR?G?Ix$%i?$> z*Y~I7xV{j2Lo4(v6Jtn6XFvI_x%cEt$1TP$Z~fPaTVWdlGb8LJd7*CP)>!w+naR7` zo76oTpq`V@iT6}(^>!o`(V z^qhr6)7BIIG4B7WN3TV;r|hc&_Wi5=PZWLP`ZfK>XQtN9?6!@#*>%-FK`or+V@*${ zQoReK)DBDz*qY5w$0Rr3E+>0c_Z2zJ&o74`{AzhQ^~Q@UX(MXoo@7Y>gkDFc+L1%c zg=u#_{J!eov!DHJ^3z#f-j@-9n(~rj6ZOxf7t4OtIK-gCt~N*X4`8+uXroeo5hQ2M<@uq#1c&D_Ga{3XeR*nZT|d*-=0OQ3R8u z-`YpUEO%9ee{A}2OHaVn&a6-`FFw;N>WDjaqhTRn!SVI#)AXmwJEPJ@`p?*?Cn_+d zyl+Lgbi=enLGxc{=Sscp`m}OwUOD$+@wGsY#t)m6U438MQpgbX9jQ!LJ`HuEVd#K( zuipQ_{`Q)l3RH63R}REuFsWb+*5H_heHxt&G|@;OIN>? zSzo|yZHVhl4kAY+>%C3}50>LO2?toYu(@+lm;aVj?mD6eM}Y>x?h0E=^wOhs?TMTT*)%H zGm(|#RpNiYNUe?LPPxBid*8VI!pfirxwt1`hu$5N-Mdd*K4w#ggLdyKk8!{PZv?|S zik-nM`+P@CrsbC{K_BQw@8sr>`rQ-<(F59xblEMx7F}esSrfj~(w%^fqSvQ{ulAm> z25X1;L**)|jq0EHBO)7h%d6$)B7;-&DWLP!$w&Zz%vWA6pe5gSdYYj1uV?hqw+r)h z&Lg#tAJVWt4=gCjrsd{*;G-Y;5Oy%FfBX83>%~vu!(l6O+1-2p1N>LHC|DOohe4c> zlksRmfkSE6-=_+M(F@QcIxlvfKSmD-B>WGT&ZAc>q0az}9RvGdfegnMZ~C79;nKVR zF!t+Z!Y-iwYUGy|?(g(hfvSMg{iDzgk7vB18qKBJvgDlg^L7Wy{N+jq9ASq2bS`6S(OY6}Fl0m& z$%xbxeUWz167_IKy6nd)$yS_ASmFsWU-77s;)Y$`;Q>hwwSZIO*{$o`%E2x2bA#Ne zmsSe7%0<`hiweq5-AXU&sVU01blCW`Q+tcjtR(Zne;nGLS9-aexmLw|0U{$mJkY#@@ekf0PER%s-AL{S#K8kQj1 zi=A6`Uc&9!T&aB6J$|ur5BYw zij}aE8&){zP`hi(rKMXP?H z+kjPF)4saP8FelDJOu)oFH?2bR_i|0M71tU)&H&j!;}#ZV@Gh|Q55*y)p}kATpS{b zA~rmThDTH2BfSkzrW>M!a552<(~Et=mDmuX?9a$v%za{{_W9cq|_gK}01g$hiB-KIb19w~>9PpdX-Xz>h|4;K)XwvEp%Y9>>+GPv&5zY~*K*u_SPhnuNM=@$$CBXva`M z9y`CUIW@C6J*IhIFyYTHi5mhEZ1_CEAtlDnNn^B(?%1-zJyj?oH(m3??!Vu(^ATKe zf9sjd*3d%uG*GGOo)T`H{M$Rh@26D2IOg4nw%b!A6s=fcqRh;|vJRsZsW0R0C?y6R ztyNv=D?G%EY5B_Cb6d52ZTMJ?qKtRlc{Ob7jy3qM!V6E=+WD$i#~rUeuWNltGy>hi zX6(iAxERK*GcIW?^`BC5;em73feYKiKeZhx4RJd82Ys1y;NEtp!TlXh(dfuL=AXWf zcOR~dw4qlWD@8UP6>IQ`OfIsXOU#7x3s9TDH3f^5RsPk9qdDNmav$1~ul_-w=N$M$ zy|S*_ekTS!t#o}ovtC_FQ!~_Hf$u8Q#>K1M*t@-zOh9dji1f9E;wLP}0{ASnAe_cDnn!0MS^amWK@VaIFO+2ZA& zp|vs$c?`IEzZVX7y1{Slt-iG{#_*s3pL|cD&uM@GV6uPyx{y4BsXVQf2n&H}%Z%AI z$|j~rwEMP&-Ew@?vMfaV^1wUT758J?xhXO&Li7TDa7zZ7yNvou9pt72_;MhwT!{z% zNOxkt_dhgKh$c|uxf7@@(P+c|jNH8IK8`U;kI%sVwI3(J-MIBBIM_DQ-GzUgJSt=_ z>256P?r|bqtb8yN!h;*`<_S5^9^IT6l9`T?h4#m1-Ny)1b+90c-p^xIDGrH~cb*Mn zAawNa0qHB-vDTl73lBQIoNfz*<{}XrqD6wK0Z;*6YMGA|v5|*_=-mXcIBa^9h!C+Q z^Eq%44&F%VKP1#?BqB0-o$?%L@jAMJBWC3zw1nsrLYNq)uTDko=ORSnmJ}b|h?fW_ znKK2jf4q!xZ)Xu8*)<)f)Hz%!bq}CI@(2jA79fuT3nCyQ0XT^d+TCzJhyu$KfOXk$ zFCshw2P0ALewT(<{^O9%?&)#OaeHBAC=cO*x;jl>b*}ETIeasTp^=W36dg?#8EsXl!7u5Prm~Y z0uLf1zBfA|NL2tMa6$S)kckj92|&yNFpUIO=DQ}$;ENLwRSs(+NJ6L!jw{fh9V3`jKE{#czrFdnu3neULBcQ2kQNv9;xBqDf82-!Qzbz& zaBv$6N?C|L#05KGU^D?p#07hcz297rI|rO7M6YnA6~q)A5gtYmf`aiNq7Yocfx7ZQ zmndKn4&q6Ce1H$OBSA$3@L&lvp4c^a`c7NT@Q2*`$7?-t1Oy2W*2ckX@nBm5Jlh3q zFP^=@gJJFnv=E{p0Mp{(8U&~=X3mxmdL@Kt6Ong%;k8+4D@3P;J5xq`29=m4K6YN+ zz??gX@e^W_04(N)yNv=_|lN+U+f`*Dki3#wj+?Z!a1-T~EM z;8rAX7yx;}o_#z92_Yg9C%_&Y&;b%O6{K(@;=Us z{}pq?Camyw5A;8f{7xvX1d`zb&eoXQOZh~90}8^y&}^ug5Mo9_ohpH-u*bfdOk2mI z8uMkgi87UJ-vz)x5Ji%%EDf4Bj4>2elSVLBB%OwD7#+&PjEL7kH%|TGphOsC2oK4f zfG6P#lc|q)p^=TI2oY7{2^H1IN7qvW4sekooWv`N(+ox8l@OiFmbu7-y`Z2f*pCzW z;wJ{lWI$??_b`qBdw_>x3(=|6-&Ho~23W^mxiY219y6y4vAAauBzOb?9+(aLdH~Ko z1dk;=-HUs$7kC;We0o|mrwc${QO1huFCB8~*ani68Su5g;JP8uQFY%73y`3`#9&>p zwR(~-2-xyk-@=vRAO`bReZ@(W+uSahdBFdf2>n`!KB8|UqM+^9*H>cph(w%_H)wxS zCAYs3Po$l@Q>@`~3aS$HVYKY6U(|>6ppT;&O8^HV>^Rze zT4OhuM}FGin`s@p2~`bVBwq9`(e$nh{^Xys*$@tf|PJM}b zdTwvZ!G+qe?x(ZP&4)TK`o9ite%ikCdEQGErL(;WVIS*EzSzXiw5_>reNk<(_2Ffe zXJ?a{Mq~A~)30hei&v%RA4N@ZFOc)C7M>n&k67`Gc&BDLfd^v@6F!Zfy&?fq8y6gc6Dh3EO)KcAgK*H0gx#{|Lla4O#?Ph0pc;EL25UT)-5xvSj zMc;ylE+2zu$gXPNAo!gQ@0(aM6OLpsOkC(1mEkI(P^*(-+ z_(=NSz|Fmfw>HIgpmg6zT|KdR-DD~PWTLpQdH%@cbmX^+TcMFfFhs-U1MA-B1wLzg zf^FAKZXQs7Xw!(%A^K|<6c~eX7Qpolo2EAQAc~s3G{&_h|NBiooD&O?n7QZm$bW0j zziF?!Os)KM`;RdSh_(a2T8-bg9eI4q_{79?XamXSmj8RUlgz^V$^i?9hN-%k+M{Q7 z!>5f?q`yqwaSKVhan~USzIK~x>u!W&Fg$txSXNr>Xh^T;?GmJ z&Xhbn;aoWO`P#O3`!8K_YFm+I>PFrEcCl$fSV`Wz@c)W3?tL+UJ@}6<`}YO|^XrGu zjuJd898$?qx89UDXV@t+v&MS1tw}80;jC>j(9Ky-3`+s*LA;0KdygG#`hHh45<}FZ zHKo4R8rZAfAp#=^1QMD=4KcS~;_~E?7?sShb zKTlQDb)>XA*i)sAlE0-t+$YB9k|8Kh)y?#R?nmk-x^)&n~mw7G! zokuw?&}h#(QnBQn$JTs)QNrUHP83YDjNPf*cx9(bZ{q{&)Zt>r{zkQ4E62W@p6c3a z+g&$rjojOEEQP#2Ivv$`?_I!?STB{czOoLoZky$7-0FL+kn4WsM9UMan1c`Q_H5hf zVH(Q-eSGEUu>JoF0(Vu&Ut(?FBR0x)R5>j8(zl9#NzwhvL+PT2H z`o-uA$Lrex?h9R)u5I!MWp`Ckx1aqjAI|!!H@3S5K6HM)ja&C*Nb~KKk9?XX z`eO~$7Jj+oOpWJ7@K)snYJ9YTCC$&R2kWdgdU+ zn|U3%nz{E!EmlVy9Y>mqhnKZBTeerqFWFe0iQW<2RO)xyI4FB@K<&p|o^DJ93P}HW z$!(SCsu^CG!)IuoTJ&-F-dS=YeMoJwg>F{mxrZXCQgx-=cX@K*bn=rcSF63+0`K1l zzWb+guU$=uZ@RuLTH4mAd6X5fle*hLo+>Nq84S9WKLSL|)dT?eWx?ry zDE-Q92it3iV8pztu z2dcvXJF5$jD3ZI3Ed~V-o&zW?0Lp;K*dkBDR8%xaZ~b@>zS~N*6DEPlKQdL!1M6)} z!2v%C15KnNR7dFuG8Zri=E!W2c|aWn0TEJRyGIA4HnB8gFOHTq?uX`Pr&tpcI#3-$ zVPEn(Z!y$I!ttvwE0~ zm9DG@zbz~>d~(#uDe{LNh6EO(4iw~&?jP2Cv+eEz{do3|D{p7T zqKurRbE1;$qt|CJ>4OR~7u;?}X#K)`9MpIHIhP)z^^cSOz~*jMl=ac~T8NBMZ`Y)X z>e&y5z8Q}~?k1h-p8aUf%y<&%nq2p4cHT})0#8jW3KR5ichtJP72uVWLv@u^?bfzl z)|Mw3RVrQ)+M7g`mxoA00FP&WM$VSSd!AhUbWJ_qh~8P)oP4s{=h-NJ9s_5yb#%u_ zd4Br?rMe)T@6z)QGg3Q#7cXbmU0M9+yMC@bGCNnLEB%s{xJ;K8`d;f|4;)Bh`=87C z08$=>KrLlg@7!jnXaugGyJ{g7HudhiiuSng83C7dw1&`0i3uwjikAxtd?v@Hc+H?9O*6ra(NQBttfE+62xT{Rqhl_`>gsfL`1|m{TUM!I=uMCcD z$f&z)X>lZRzyUWZD)=KHtQ}JZVVW&eEEqu@^np8tE?U zmqP6OoN!PB_8n&^l_2yIf5HJ^AkVX>%)XC=t7!a!UI>8@1kQHIxOZt!Sc#AtrXC^L7IRW*ukJ6+gyT2zo?P}F|9j|(k8QUzv$#_G84@Wh)69V@2g8`sL)^E-QlE^9fKEh5o5IHyi3Ysr=L~gecyRx&J3KXH=}GK-4ZG_Fpl6I9^!8 zA1hvD{)cQI3O49+HjMFu^|`lPLn6chF3M~!DneYW9cy*|wF2a`z$!QT+ zT?^y!CTGQb-)+p!Cy3lZc-9omms6kgqB_Bzow0(5!NI;~+r=9dU0)1XURM=9$&WLV z5(Xfmm2*!C^C@3g*Tn5H{VSqm{1wY@`N?%VPLCEcRU27XP+5FPAC&55)St{_-nytp z;ft@yJ7UC4qQds_@^4Br<5!rT_WTp}@^I5;6~cd)Z21N3YTNOOg$-a>x|1(cIvK~GpoNK+h#rp5vJgxdCfvT7()sz5Rncw5Ax zw!VE#QD0!$?dih(1ur;!Mz%2j%sWr9-HCM?FJs>&4+C_$00{_DV9|2eAdC@h%OVrH zfzTC*A&ra>90)DWNU*>tdr-CuO%?|-7c%=U8u*roqpQrV9DrCuS7gz12z0ekur42D zjD)1JEL`xpIvkM4>t`rR4UETB#ej{;AQMcU(ow*uCSR=v6itR`iuE#7X3722OMc88 zfQDaTD)i72T4<{FxweZSZ6R30o^ITeZypNLUO^ZGV3ig~4n7wJ0P+-S4gq9LrYi~Q zPGpca2{5n8qn8{Q$t%4z!0fvYmS17wIaE(BU6D*bMWU;5!6JiEknxJ8Cca~r5na`Y zo`YxRtbk=#n37Y}oE56Mkfw}>n)HA)DO4wF$fK)ZRX!NUreh5fD^(rf({#MV$+|0S@NfM%Kw+R9UI zV$*)e6=(urQYhVN6sbo9y@yh5#cFs`uD+1=4f@8S1@;^a1o41)GJWIH0U7cu-I~0d zQJ5T?5o0tO*>-w~GO;CnI)_R#G6EYU0}sNnX!PGyN49GA z)aYR`nDHiE$!Mo45vf3TqibwZ#jWED~G;3%m{JY{ieib zKq3r>w$Fmrmd9{sO?V1HQaF(6B0|cZhMEG$w=jZN=yF1)BS6dMLFHKgDRQpiLSYi2 zG!z+flAj-R>T(-trf`!f#{p|kfoP>64xykN5?zx(+p!{c71A|Um`BWZ8m|DF$`A|{ zMC8-ZLv%$pbml%)buk7v6%t3BVYL?K;A!d_5UesoHJzqp501M8G6AScJ+r}iAXNam z#~xH`1V$Ty&4g4na-OPDj0u(IM2wW062D4U=YijvF0vfNdvIi5IL$zrez6p+;t7>& znbioTx#Y&EvisXk!)sT7=NnX=8iq;@NUnyi$vG6rqTf3~d8WKqveZD% z3Q8NGzGvj-gkCSjKRAE(y1`VWeiQBCZVyFbkX#GIriYO;1(>f`n&UvGLO_KFUbq9n zEHX(%h&&5y!^_R#10f))0fBakV;ub}n)91#zeqz1!IH`h2`U)dlW)61%@MS#@x?z4 z?KvvOSco_o3WM3xvqJ$bAze}#A~8yrQ-(?RK;!|iNedW9C6Ht5k1PRt_*X_GP`^Gc zO!1vqV}{{>u*K6-H5v9sG#4&i$s+25icv8FIhA z>;%iOAUFXP&!$?mPz}VT;wgyC3iH2@ppZH07UWkY-cS7Jn#y0zTd2mkcr=fpzbIbGpj(i4`WTP}k{-YX z@7MzYzW{9TG@VeIBMYpuf{+okafIsqu2s2tmSKy(UD87|c~n~=t9b=*GXiV1Fd`3w zYyi5#Xj{f}s`)5QB?pv-q3H@idPs;&3q+pJpu0RfR`EV40isBysS?LOf27&k(_=|c zkAHNLF&D0k2iZ^|3t@Cy?yVev{zGxr@H@yJXRVE-?@p(kcttnme${k6AEqt;kUZ)x_Ip2mK;60g`TsC_f=B-A#)23q@ldFn+P#pL};@muXdj+vqu-1Hj0k;x1$l}EEv`P zeX@#jhwdorrWt)3K2HfJ-rEmg(#4H|u_ICtEQ@xS57)qfTL0T4yK-Hhvp5Myl-xO~ z8HI5A#d@`)GKYKjUgVU1$rgb1EM>9vcXxf!eKmHxS}HIthGfJ8z`EKBdX`6%u?7mT9cNc;Q$2Z0qGj-PYMs+K#l zG#`KPZoK1IB!nqLbxC>44*a&1_P@p? z?#0KtcGNG>-ppTx3rpVE(%J@SFW_eNcV>G)-0x>@t5M_r%W9Nzu+JSV=G+8aMhCGRYi5j8S+wzOaC3k zpr~IC;vn$o$M?$FwmUu@sgwwb4mqtG`RP)kD6mj$V6ofh5LCVYkcw<|6n$HL(a}d4 zveo#fLwaY-ZcQ85kDX1|Z>atDDay}){vxuTo}@DF2)oKKY-+jh5LNeR2YhCSt3g%d z>9YMV-(}@Kbue!Ixi1gx8h^HM*P-ZJ_YE$D6-oka>78;xhcZyXv8}&uKK$a>f47c! z?Q55fxNENQdgtlK7iSc?cRZ$JT<_1@v~v@l7w$UU@1s`HR&)`%wfmhx{jMIdYa_ww zmD#`VgrWT9Z%3nNjQ4fz>AhkCWJIc&bzIr*gdc#ZW#b1WO#1OdD5rJ&FxKDM;=V#y zw#5UL*nW!~If(MqVOD!<*E4Nx7yb*0yyVgseqncJ9KYbcEj(X{KoO1ymHRg2oeO+3 zOE~vZZ@dvwkZ+ynz2tMte#W{x!h_5x-f2JA(pXB?NJZ|P+`rq!a9ktdBuDV3KlRw? z+>@EE`)y(|(Y$uJtK>o>+mdfoonz+sQ7^Kz@Z&kOSK&fK&Na!;?K!`;EdVV?dKcS= zPGv1zjooyZZ)7Iio(DLt|Gq-r+;tRQHx&JQa1K%SZxMQIXWzG;>bob0R02cB|LWyE zyL0DQVes9Mxn`BS{t_iQn;-OU9*+EXA>ZreKau8(oZx}z$-_yndklFXSuPdsj04NH z@L-l)noKqhs%tbL5hOk^_T%7IEd!_{?U7s6PCMu+v?5OtbIq*~lG_wL@=voPH&h-< z?nPdbZHo(1YY!irDZlY>l&y!2DM#(7;b|rq6ARywB;9-P>hqt>e6n9O#f)CZziH1? z)!XUt$h|CU;;Kzr#?urZutP;$lxFCYBMzB9*B82?43B5X01xaj4y9g2wb+rq1F6ln zrxLwWir;I=B{gS_mY2-C%VdHJxc_=rO^itP6h?Y-GdHL{#YocNnB;=&*h}&jzOW#I;(-*>srz)oyL z#s!q4BYh-ZJx1fnlM%=M#8RhmSzsO?Bt|al9hzxO5bzPUEue-Iq*#3o#%?F)AiH>$ zr>$WO^UYv+UGYSK+NHp~Zz84*`BPSAk9m#dGgw^7@{YRQj}i8351xLCw~OppLlR6`v${o|>wy;zId2Dko0wwB4eFjWu`}pV+?r z%?cB}lR`Hl`00Mck^Kt=r;n$IJ|F`}N8DIzWr&UUXlE`R)3UuhWwtR})pOoWK&312 z1XzvL7@yR-@;ejmNaT)>ZtYk|&u50I7mTiuLPV5Ayw?gBTSut;eHS*5cBxwU`~G>3 z^&JJYR6jj%`A|5OBVEN=nF`<5u_ z2`U?U6mGHND_=@2$w_xdmM!{HTir2w>vmTT0bu>l1iCR>K{4UZh}&g+o?P*OlrwBF z>UX10sls@SA5M%iFrB0+Q`F3SKR{Gc{v=2ieG3OCJ6(xS#CtR zr~fo%Q=p1pLB>RTu${5a_4Xa{y;{ooGJDu_I((g0_o<;XN6X9cRF2kJ1qepKL1T&G z5}yP<)XJaetzL8D2KJB@c6cxAiTHrRW*`b&Nm5py5)DeV z3!!pIMQqZ_h`1{&K1wvcycD6-rfCh^3ZcP0Fd*q8q&yVV9eJ2DfU4LiGnn9M{l!D2 z=>XWli-Qo$PZd)6bR92uhzpybyax|QBi$jTqmiStHUBX5K(W9Gr8< zx?5*c!kZsI=$G$ zFf*7JK#NT$DHuNRkeCJ3zq;Q!N$~L+SbhVskq6C#1a4h4iD4SLohMD6b!#9f@_~76 z8a#a}rg-YXl$K+*0+L05j4Dg5Gi3QZY!x7PU`T%PP0$8oGIIEGE1_?d;5JLeklg2B zG$eG7Q~(XlB1j9x^(Rl)Wf5w0N-JD!Pp_gvLLtbASBOxMN_dwKf?p9QSe8hlKF$hldbYtNj^r)@hKi@P};83UA;5;gh_``WLiC_?p%v0vn zn*S%_$&qTDti#-d~UfsY>v(o?T(LaB=VgeNcEvDV%6Acz


    `R+UAAe*oaD0l1gD-T{bYu=|f_o-9UBW0N8A6@a(U;6@;X zDOi>T$gdEjR;Z01D=r>r3e?mO+OAi+?y1lu5ML{44Kg4Tl#SlQhY8X|ce^!E?a4}o zP^u~s*p@$_#3HQPxc{fG1}B1~twHdv0W1$BolTSM=OOw5rG^MOp1WKC0ZXKbzYZ2m z1%g2UiLw_z~g?AaRZv2FwRQjLs4 zdMOG4z?vq*qapB@)oUW?@ieSy63)7sae!nERdtqN z%_B(g0o&Q3Jq3o$)E0;Ru&@&_fJ0ETSC{njL~{tzqwYK!Px*iXhC)R`2V@%nNu;|X zi@MLzQyLkeCa$#95YQx=>?jCX!;=jaF+idU?T`I3Ptns>lNY01cV` zK?*-~?iQ7H%3WsNQ--)-5Y0mf30o%!j{Q_5A24dCnxxN3Ks}4;JpE;YTCqDi_k$iA z5#Q775}HSz04aQcWQyBvdc)$Rt|XP9zz0jj5oE-)WA)af`d%^-ppaTBqJfGgct~XP zB*@?pp*)OBEqVmx{s$Pas0h}1N9C`7m_N;;_$DtVy2dZQJ%C zSJPpi_Ti|KkoBSXEr%`0P}AlA+`Je*q}=ip#eqjv)?}zvRo?aICO+a$EbYPYUDGEI zOo!(ojslZMn-H7D)20z#wq4MWH$yJuA?k+b!*}BcB6Dq;yhk=6UIeHqIags8Kt;H_ zN-JBgGY%_mAk`F-sWTXLYo@{S*o&)vRy#zqVu*YKLGf!RhNCXWn}Hx%=?4!yXAv>v$n@zAwC z+ec;?aOP9d!>tXm`q^GR(vLXuQf;^~mnKG^fN?DY@+B4NTI^|G3~8Hye3A5VWe>S7 znx*z6Oj`Sp`6CmHb&gy~CywMNgN|Qj=1aC6OY<=DGRnE6${81uB~EvyGy0m$zI?88 zTOLbTflMzCIS3fCe@dK3hf>6+x#4q5cg@!y9ADD;;b{8RK7Gi3WyoO}6`#RyoA6xC zXY_@7zs)vZnTL$?eI1)TS06k8`yYJEJ?#_c>GD7T#@ChS8Ivo2a-E?WH+Z1H zb8@A_t_5PeYM$uq_ZEo%d@(4B=)bP>BgBj4lFt2^$#rY-w}kmdVS=R9itL?-BQX?z zfhf?)xyW>1Tw8>e=ugSSSP15^xx(I`98-UHN`i@(1U|(A&j(wP=?2abS^3S~Pa%>S zR~)*&#Ro*F9rjVXXCYbpUX5`@gYjk08=t5yS<8WkYR&noLw*{KiAA%W+E$;`55qC> zAu2`WN9&C8E^W@VX_lH#4uMqU~;FRo!XhZ{;0hWmjqC=oH-+W3~YI#E)(>L5haV zUT_s&-Eetp<+^ag^@o+)-y3csD*~d6fVOs5T0WOM;kHg!%raa2RdcVZ$lbTgYnQe6 z-Y)OM%jZavKF6(n5h-D~6jO|c6}u203jQPU;HO85Z-=#icbES?>wuB20J&w~?p$+L zO0NvVAlK|N$Jp51$_{dZBW-0bbu<0Qk}dkCv6EFG;%1QAi9olT!FI{JciHUrwF%a> z2^4i%?Y7xtc$1iA6I6C$?_ryL$v5|y-wdrj5z_cOWbcVk#?5`zzxSD+2)kl)@WzSY z+ctaO-rUVFByDB*9sk*2J+w0?SK9pe9CxPAGPS@Vb;C05sQ;g%yHg_$e?JmtdpcV5 zC-Ru>ZI3@uIkzGismJ!-BG>~G1C3XY=!#wZ>q?Sy1OTf`Iq`CjcO=%>)B`D=+5-D z&wOjgN?XZ`O)uQlQ~1L!|F|8C@wdRvzVLW@XP1|s+tAiou=5w|UAjwN#+)tvVB;DQ z*sum%Vc1(?xLR)RP?79W>C{{4yIQ%sx9YIN8PC-%4fG1n)e5`b(??gUiX3VWXVg@$ z)}&?BWI5D@In-ZSt=3&VQ?y#2=1})`wetPy+4H^SOBr=mt92b2^~r+`kjw_P-gB=r zE>`xQuXd=($>6+oFr`}IpH-6F7*3BRl(kZK)mut-BBwc+>D)E_%C(l}j+RPPTXp7| ztZ!S#TI=JX7CGN5jS$I~eOKy-+KxTH`nd1vjlPb*;&-lbt23`XTkFtu>a2IXp>+E? zkar2R^tv+2LCS8G@PWnMe##BF4AD;=+i9J}3|dY`RbH_z&Fy4|amb$$2kn|no0 zUETk>UO4uTtlf&e-81CW@gqhtOK6Ey(@ix!uUypy*o!d^gpE)HqCE0W= zx#2vwmTmWJ99n#uLTHq9iR~W=OB~7RA009uxw1T3w%#d_JyH1xe}Eny?tBApj;da7 ztLh(1UiYldek$HWnp2*=6{88##T$I@y7N=!3jb~YxVg&IJ5y>d(@V~;syANMpPU&vG|8}^DRY?}Ir;kV$yfd-XR=QA z<~sLv!OY?l7XI`oYYp2sTg@rmozrp^V{YG>yS}&E)Oc3u@x{KZ?BPO^BiqS!{+Q_Q z{BhTXw7UyAoA3SmNp?e}5ZBa7gT>~%pF3Q?bl?4QZ`0=egxktVlYmoZQbXZs-6cO< zfBe1sL*yz%+!LbRek$Gjspa;|@ZK+Twv zuMZ;ztuVG9cMXNVs(6^}w$^-at;6l#6%oSs)TgqCCyElDbl=-}>$bUYZ`0RW@r5g4 z7K~?;+!+Y0YTV`4aW~2$zqZo8{D^mvl10=+Px(>bGA;Lfd54OKZIy7TZ zd-`hi<4pOjkR5cBw<=oig_&3o?Dorrza5k7Lpr9L(O zb$8;zpS$y16oJi5y^)*@T+RQz&P=%G$CB^Z`=r$6;-Bxb-MggG zo3~efy&t=(9LhQ}ALB z{FBM%yMK|EC%Q>!596IF_E5v~p~&dV3bckVaoRgJqnT$FrneN{S12-ms;OL1SAPHb zy6C5&R;tgH=5xwLjfqBTdxrykHGlrZ`l%hwem?p?G4BIhSo`yB*-5#U+qN*9#_ucL z>&HIUZ9EX92RXp<`E`^LAklSfTH z&W;CoJol;!@ctArvD5cv+zr0tk9DhO-b3xlMCXP6;PC*tn<=|I)k>BEwM6@T9Ok!w zjXUEO)p@xtEO9L4)xnH!FJB#|q4rFL7i^uJI$FMC&vayM{N(hp3nhDIqFYOB)m&_& z;gg{+D-0Ce;1YW=?t@!j%_fa(c)oFaup{kF;t&jqIq~N7-UIHFk=<{y=QO+yW&Ye4 z`ppJ}|?e8UrsA8K*`^aklJ)!e#^F7mt&qER%$mfn{ECwA=uhBj-OFC; z*UhgK)&g?&PogZfWY@CwDRb4{i71*L3*hiT;}qQYdL4O-iT&5(K3e>AeW3 zR0~ad7b&8Wgch2FCLKZ%K~X^wK>tD&hLO z4Qu=LA??mS2NlFRuEn@RBruudz(2d&U}{6r*u5{z!aQw=qwhq>1sd$ksy3?+<7#*D zD%{$*otcr-#nVZJ7{PUqB~jwU>V?^_^|W(6kxO77abdZvqKA818?UM0!e$58KES6Z zT7=GXl=2uzS*9mlte-ztmur9zNKd}JH_zS9V<>+&J>{Ch0`G9Hq2iPDRR7S0<8wSl zssrhFZ`3acZ08zjeoIfgy|*9);x*PmW>Df37KJf+#s;z(>8XtKKT%;`6BEmfjO_YF zarrzGi-3&GqP@ivI=rUVcQdl?D=bM_=b2u7l9By5bm^oEubIO@#=RHyOZebCv&-Ky za$5G5P7!&{U67f%?-Z8h)AP))$!6w#2wgr?%4^|mnVJ8&ep#_D&%!?-vtVX#S-G9p zlJWY!a7kfBbvV!R#*@sVuc0gIbG+vw2QrI))URl6=bgL#EwkkB-ij88&x(l5qB1Ko z0+sTu;$*W**>9}s3G-PeT4t3Ud$DRDpKqNSkX0`5W7SB9&nEqDR)x6Ynu&G3P4<(l z`}iAcW-ff^^9Hgi6<@4b1m~YG`j+)T^T*mbBHx8lWOkK-;<_~^oq<2dW>=>|y2kVQ zJ`?|aEUh5G0&syv|DmM#Pw+vh)b-*{@nM=K+Ef&-)SAmbfI&t&4;_IpB`NuY;F1db8De*&?oSpvTK(& z?96Iut$%@gF9#Bo|T? zM!gnNRhAh_ipKuxLYg*IYLTMP_0Jjb{}M}UWhk}uPqDO1+4dgQOZP5?tu5s^$4f2e zy5I9&&hx6QUd}IH>Rv7g>XJGUN%*Ja+OUD%D=NU=vvxMuy>d^}eX*Rhf|#!Gju;)W z_ZjN%yg$8#F(=MTn*6-{Q0fA$=DC#7W^FnD*}3{p0}rYyAFlsP2D}gba4@DW;3rii zY2?++X&{T^xMs_*hmXwv!qqnGdL$lgKI@lGJokL8G{#bQp3LNb{c!QRe`2cN#@Cm$ z_>k;2{7Fh>zFzdM(ptqQbeC;iJJitQ!gM+{PjJyfcMwbs z)cGQ_h|nvO)_-PsB4K3Lr}&BFX#+PeQi(xOZ0TcN5bF&CIEq*rVpJu$XMkW+^daed zTKRX{CJ*JW1P>(#snmD1=)?hc{e?3FUsvQ0K`JL{71GJ@V zy5zj$I<7;vr$KIFT7ZI_Q6CfG!C6r9cul)ITe4jh3n|f=zf&$D0}S`V>x_KN#SPqpkPkIsqBNUU3$=gF1Z*_Ks45Ov*>Ylzpjq!8x>M7Vo<4ApkhDJd0VCro-x9d|Nv`zs`r zdwVT!?qpI^Y&djH-rFDhu3ZW+a<{!GJV0A0(4!~SJ@?Q5Vj>efGY-#swYN%qBdpVr zN4Un3=sj&du>y|m@(Wv~#wcg81YnD(#qFAO&)u@h4AI5Se<_Au-r31%8ihU%w z7$PIt!@__1Lrp)e@~S`l0>}!+b;*(yig7?TVAW$%ut2z?u|1~jsT^l47%?FYgrbQr zUQkP5b0Eg4O$sUYBKryW!j&{IES3OP(6ch;B2dt6f}PpOy0-0QA4-&mK?s7lF;z@Z z1UNtX!zQ$KZvg~eI{6yIORC}G&QOhIJR*5@yT?UHH&M_X!i4Y!kA~P~0XvUzj=9yY z4V7rlSZf%|MEf3Rh(ioTNhW7k)aw{&>O~E}f{5(&Wha4S4nl>mpNB*EGaMK!PQd-& z5P*}Fux%&?@4DO*c$G9uiui$hS8yCgV0|VFEfzBhsDF^L>`yJi?KF63oZK4ZGZU5b8EP`&_-O|qngXejq|uR zDonhR@n)ZrzVon~Pg)7CtZ};GqJkI;f_Ga-x-ngzGAu468KigNk2AnnD~n|Pu*C=N zW7f2zD;$s=bUc2Te#|Yu%}x|n`FKdVcl(pZt${>UT^53R=DWg~w(EXJHB`T)GbhrZ zo>YfS{CNkyYFLtj1%FW*{HFMY;`qucBa3yLf?p$5mMK=S!FChZ{QO7YBhG zJ+HHGb5WHb{AQoJw2HUc!t3$;a?K5PJD8vt_}+s#GcUuMxDrL~*e~2^iQQ~(zr}9y z5)t&sGy2%@G#{ranS5C|o^1z}CbW1Q8r{R@9skwwDKi3~T-PzSRgb;&T;{J;y}?0p zdZB6OoVK?ra2AMVIu-kh9TDUU8Y0yV)Iv@GZ?&4e(_Av|2Vf7U-mrxrVi(JBip*`J zfk>`LOwO|~-fQK6TzqsJ2=3NnB+aHP3~0<{U*tC%7MR~7nG?k%J$fc5xgn>f?8N<7 z<@LnEmt#{(!%ot`WB9jZjAt2U&hX{sb+UcTo*SCFBoBC8LQm{0b)!J9{6UmztMf~6 zb_b%6DuE)uIr|h<%BgR9$u54p7{lxm9L7OT_XBWU(CrgO7~Pq^({{oI&OLNTj4qgy z6V4xO$lA;f1~WK(gyNQwYMA9M0KN{TcMj>BadxIU`ip+PGIDyVMa9A)eex&1GL*Bi1a!1xg122g4nQyk!lH? z7~RAnJxzP`4GJ621Frc`Ojit;gNGd1D$y>4tNv85TO91kMRbij+Obj5G=WQ|5(1TX zX5@H1TVe`yLx*}@x7Hy5wHFiOZr$Q0BZR?!KdU&Qq2zHaHyy1l7>kw!Sk-7Ci6Itf zx`&YU8BX1E{zK6$I_F#&sq8~c83eMEo+mRg>dR6D43pqD904yiocL+IPmvSRLv`7( z-x9vemM%24f~3qRJGUErX1wKgVJ}l*Wwj4=KEsBA9oQOTPPDLW-P^UUjuy&-R z9s08f67}rDGVX?L1)2!~oF4atF>nNiLNG*uVLU5bQFl}@b8=_+9MG)^=+B(ta7JET z5Ne2w&b^2JsEdSy?#9-gnOWrRYDnk%5q;doB}}k1kX6`1tx089E@nD5Q&2v$HZ03H zFUz#)UzHTzY#Y_=3l7<~k=gcn*^W)wmnO2Wm>eJ6%9fckaLvPH2BS^v?+FpZeDW|L z20wcUVP*jUKn4dO08X&TKicfT8L)Qk|F+E*8~3Z|&6NDNHrwY9GcKdQK;_@sY!(62 z|6-dx^)l#x*=CzJ2DwDVGcdyb#=3uCgvE?Dd#Nv%ff4rqf8S5ZqiS_NS?>S7&E_2y0PgcK+8>$xoX-Ovg1x4GDbB_>rc7 z`eAj-GZG#8p*24^{i0?B*gT63uyQ`8LgU%o>OdRGYz3_W+%vN{!xNA9 zKAJ0k-TP!^g#R&e!Os83XM4}bKSnQwfBiA$oPggSchB+PpWvBcB(Y8dgrF&)CN=E* z;~~|bGZ8BcjPTY^`q!Ud2r$_LS}b?K!5sNSYo6xn*5=7tAUElH^bQvnaUVm)=^v<5{JzrUD@w;t5G{CY!W{>rLtrVOKBzy?LeaemP6v zpY5I#Pyg)nD}Vp9J7jd~@7{=A;NKsP$Ap?R%Sp&ro|QL+T9+R@>sC3OOS?MsGxEm3 zp+@D6Z+9Z+MHRHJt~D}7k14UBNcM;d4x>VA7D5%y$6mU5?QN0*69f_IGPg%d zDC`lAg&?}`pKk@fGWg)dWZVmaS;|qK=@Xfl5223ID`j`uyu5@yWvfq@q7b87$o~9F!^in==xOD{V(pm!`#Lk`^{SP?#JWrdI%pl_uVp(q|NqsQ z%S|o*QviX!VR>h@Hum@XM=MRZ(wrY#aW;wPgenW;=<6HjdTDocS${K2(g+YPFB%d4 zAL@*-*)NTd|7@K9e^F=dhyG($cf8`@^slq}!ZrWH6mD_;w=)zWKu6>7Zs2777D%^D zj(0Zi)+}T|&8XqiK+r*~s8urdA+)-IMMQ9&6QruNB1AopEGtcr+0gbfgYBPCsq==h^KA;r*+2T9?C!?wjf6U zZsGRrvQteIH#=~F_O1EK=yhbv!SbW;t$+46zP|xrGFxpBZojQ|_=$fS=av75I>S@m z@ZlkE_;kLo;D1(U6vq5^Kd7wK><(yrXVx1$@fgcCgrCWQnynxw8j*2yAe@xQDy zE$N#3IQ@N%UGn4oNxefRiK(DBo%++EWB&iW&J_LoI+Nr+7OynPdHOErM8ZeIuz3!f zCzJ(flBi`ljpj3{eC=ec#n~vwVyep5Dyff}YE^oiX`LMfiXpXGNWmJ#cTfb;^oHsZ z+q;2Bh+a{Y?pHtA9nGJ6ZW7k5=LG&Irr7>pm|}TE=Uz4Kfkgqp)0u?^bS(=3<3h5P zh&~y665Pl$?9!1ah!2BQr;EL{;6J0(34eCYH0_k)Ge1>%iTBCU2Kg1$HXcSL>dJR3 z4y;#u%Tyyj)-$d{Y)WN>=Gmn7q((|k)|uX4JG1_w5>JdbShs#?_rNsI@>oIGSGyXo z>JZJftj8D2aKeH`Q7gi5ZkNKl9tN`?sWiGw1Y0B~YT<>|J<5pCt-^`1sU9O`7rKSF+P_2R6 z`3mP8>oXnh`9;0-U2k@}GoYcVw6^gyN|6rDJ02eR;hoXcsAl2qn|nQ}PnAza?QcyD zn4NzxeOdEx2J7!B5cowghmTOaw8H1NU2SwJ5>SGFiR^2F2?w^}ja+U#Q~Wu3efY+M z(mQoG?p-B){$Y1KaU`|dA%^Gu375D%hsL>-T?4pV;(_W*=NniMQwqMpUc7>$Z(84f zTKD6K7;p|7xtOkR8d;IvCWH8xWqMjwT+Yd3P2AWl1fiXGH9k=y@5#b$R|bdJ|jKy{<&bs#|x~ysPtzA3iLt2zgjl_~uBu z=IK*Y)3pb;6*o4Y4;h~PT0dgz`}M`R$D^+e(_#Pd0B*Bk|`Uqnk{@)#e2d)%NS zl%X#r^MyU)0fG$JeS35%ZS%4JIDq4Z!lFCD$Ep}hP`}?M8w1+BgCTRzr9lZ|;5H6) zma$@d&pX-m!9=u^5v#;AQb7F{H})`Izh6F`S9(ck-^)ZxjD!OCOYg>m2+RNtbw;`k z^V=#(v;v-C*Q_fduvf-7fHU^FW-VnvfvbsOP4Iv-TSBfa2QZXsWW4CcJPt^T&7%=u8+Rr~Mr6*tB)D<~uuGEGl$@+?ImH^sS`nFQ(C_o!@nA@WV{lm0yONei3L(n(&n91Y?G(HvI&B+N{}$87_&9I=#VD&Di_{Yc8r>k63IGJ zw#EcK#Fh=kK0|_OC*kh;-6blte~_~)v4-@o!s(K6+Hn9t7cIenMnF0Z39{d?i!BDNG~D$9B; zGdJ~ zL(tuS#}w~gmM&d68*|utM`=!D*##BF_G;*t?w&rUz^Y*kZ^Mpbw;I2N_ZhmVQ0|>> z^-XbP@P%KW1O@B$H;L>%R(gCNy$pdb@7O%3`Mi2eFKX2N3@zPtIr7`M&+LH!je%cd zlov*4U!^1N9MdZYoE2(wG>6C;r}?oUn962cN+PXetbd@P;pK;~0a3rFXh>yXKsrFS zLG&@8^77U2?QbC+zMsE&R6JX-2t4yreP+W$`PIgUKsoN4vwx8h*B`JG0?k82XwG;5 z`;9#?w$4;rTrSaHR1U|-gd!1=`46|ctkDTvKxtcsJK~K1R5(r`{w`5{D zOEEs)$dVyx?ocFi zRRIK@(ML!C-W(!AckWgze7yHenF0->7+;Olwe(=P7pi6E$L0|NFGmhq)J<`(ZW>(99(&P6=Zj|C3ib6Bke^|ZT+XD|VfcA<-uTgMIn z!j-!j5H*T^zjF2E;2v5YKxQ(&+d5=T8`^1nIxdFq;|SNtKA{3j{9gKgWIjfJzUjfZ zxM}gNNA58K*e@c!FXZnAc`f{!(7v<%H0{x1Vnio#fJEe}BG&2=2tNtEU3Uh{yd=FyVv?AF_>fa7F}h+g z3ihY=34S9aZ_2XYD%EhGfTTn5DPiW=xKQQXSmsacGi?n0j$McufL^=3v?B9~%P0aC z0ji4K4MAP`3?B`F7s!Rsfs2|$b_WEOSc=JT2s{7|pQJ@?JczrLd&-fSG$7))9~2Bo zV&-V!z!u8?2WPG=IY-GGAb88#C#1kn5$F*ChqcINiHnKCcYZd+#KB_@YssnOiQ6Ra z$u?hrW->VDJzpDGoSTHc9=MP5{}LXs*@nahCqDFwd1xD-FCR_c6#EB;~O+ zp0+IM`L~wM(8~j%8WRUibXTTunaHI8NRGrLZeIB>RYYC~uR1tcz#-#rND^R$9LOc9 zNThx}FhAyPqQ$0#tfW9ufS}vwqGB)9uiE0f@g;}7+C97l>GtHQ9*!2(5Nvw!wI3y{J{BvL$n`DGO&oG^ zD5x$saAmZFeqRdZcWX8VzH4Y{m5rM_rWSETZ z(0C2Hd>(erejpS@oV-Ml%4Sn}a6=6fVZuBxgl$*G6eYlLI+Z)`F2<0VIZCes6edA5 zMwR+cfn0U3m~ri(7%B*`0x1(v6ISUgrnV5rfU$AxSK4iW7K#-HYXU$xi;aT35&0)) zhpE+@Lr$A)=4QjHDOJoxt7@E1mAoS66U&3AnMHUI^Er^+%k!2R!KhtonabzLOVXHn zHFhKF4I&&!&$2vFW01gx3JLzorca<1V7hi>VK;}Ia}}@!(xJtC{$=lU2w|JT+I_|f z;=rYH82j!B`kAL0oOO_s+7YVB`Bk-y4I1-hc$!!V(B`}Tl3iUI^NkjzMX!gf-^>-= z(5BTQKPf#A?c~VhLXO?55U6~9K+)wOvUFZ^#9=5xWdD{$lwKm^J1q3DtJyfEaMfM}ss2LDzgI_2Yq8JL3!P+M$kW=mM5B2A6lA7&n)3j`Z45j@h3)I94} zUw&(9tcsFtpS*>cLkgjykv!&X8gG(1W9tP1ew&+a8I#vzRl`&_3giFjko1r*VCuubXF}WR%sLfK_)JY9HUiXZc#6=#}Dy zgWp_WPQK4}M7!7D8*3|{am&FhuB&iZ!k=?JY4PXnqJ31zs_A@p8_Ol_vA%}U(I(8r zU>_U^M+L1=9OFi_-QyB|hjZ7dAkS(b)h4m`ve*?LH4Qy`>@LnG7U6$|%ue4j`&?^3 z8sC@VG zg4eGg#FZ$|!!7sAT(89JYn~c+lM3<8>OJw(+|RvFWz!2zIrkSFw!Ka8J5Qm)=R@F> zT6i+0^_wd^QH5~v&ncB@IVx{2gZZweAkEkD)7_4eg|cxna&ud#zP5Olm|J?Pw)U_6 zu1(?VR4Tt`u=qccn>fkd)X)c6h|ZDIduslEiR8UJgsLRyiA3SqRx?Wf;D16{pU_YO zj&i%o-otX7th>GaDd%hDSdMD@m(084luWcnP|LMFe>2)QE)7bpyxuPy{M9@tuuRxa1lAk^vv=)HbMxm8MR2~Zi)lI$#Vu-_wZ1c0fAZdy)jLOp!+b5n=~E4xRAkN) z>;2AQvCAL%9_Li3;n!+ExK2F5_MJ)tmUQN;VcjErxWz zQt#c*1e^`hHc@&lBf3S|WBtL{5B3GHVSvEK4e1@Q85w|fkImQt*FV8ODe*FP!ZK?2SP=r_j4B{;~ zWQvd;xA7gfzcd#a{n@i)fOt_?RC>V`-(0g1t9iLw(zz*t2t- zSLV3x%<gbdQ0H9?t=(CIZR~8NLEE=C(=ETxm(9&SYtn1lj_tqDur6%x&G;#k2--fGawA{s5<x|^=zT0BSk@Rh3m%vVY@^z;6 z>z>HUInX9fc+T%JUefsGp&Sa`%}7EET71H}416niJh;5HxMJ&tlets-W0CbG(*FiB zdK|00{=CvF>Da{cj}4}0`ozVJDuTjl4J@Ww zav1-?kA($rs@3B#+u!NfM8TXD0A00udv}B8l%AV<`pdd$U9g-n$42dI;#qag8JB}z z5_TA@)}8;XF_lKsf+&ZO;m8P1Wb!qXPbZUhTfIFKuob!s5bnp?%km9E#jZldzF?Qn z?qEyT84&qr|8J{;E8oC9I0H*P6#jkyJ~y81ehQA#WP< znZeyGz)mgOAx*zf1C#&Gs80J}gt>uZn*!oL&oIN^HJA#~P`mZ^sWj$0az=G1)+{-w zM;835od4?9_l(Cmzu|aZEsQ@3ivoZ~IgC31I1e%Yq~Qv4;A;S&br!RVT*0URS((ql zTf^Sd0pth;k?D+F+tSk*hQ=z$&NSK+JFSjBAxujVZdUBHHB{kr@KxO2&}pN(huTM( zn*d0grcGjI7u3(Sn$wME7dRW+6Lg{d`azXTZX*Inm6^1Mr+}z1g1jo=JPwAmAyD7~ zcD4(;Oh9y&@t^B<=z(N;@I{uzVGaWH)LDRB1%eUSh;#7$1^P8((C|NW(nThE}2n9re5PXb-8IJqWK=hz6#tHPdp{vnLX)G6A+W9a{jR&!zGc9 zAkw#mDUg&{BZv(z`GGSVrw!}1`gq@>irSLjr{R3{z zL!~{Lrv_w0m0sjAhO?oucVjmIcsYWYVnf35$}l;b0s|fF0D4Ci&P#N@wW{$5UbY|u zTvCB2_;S8q$BC!`RLlLK3#;+Rp!w%xJwpKkb1FPvif(ws!&$`+JmX)5#Om@HBcrjNVlK( zuqs9Z7$Jb5CLrw>IAm6a4phtIEdt71Dw;Fd!(F?Yj% zap()PoYt{0y8av8!C?$fsC(mu?vUqzn)X* z25^z)cP|393oeY+D1DszrT1MK(Xu*Ybk=FXVZ#@pfHS4oy18w+L~qW1sl;j?Za|e! z5{Tmq=KD*i$?kVz><2BCmX4!Ga`P`9OC(!J=gK?)~T|SJ~-6bu) z=bu@PR~_=yCDN>LYL{Sn134W#d7@FUVHcgGs*dAe|M&^LZq+~69*HIy2K{DgJGL7d zuUOd5X6GKm{UW0+3M0nEh;-vC{+Wv6>bzNL&C^kva98BXIcXD(FGx`B-NRDRIMvV| z?BFpyU9OLmQr@^d8*zP-Gdd0}=DMn$B&-U31Hd`^ zS}h1)Z2AXNJm@=j62xIf3dM?SPJGfCaf7P$JG<$6>FBUYn*B3VT&ZJTYD~QFEV~BV za{>;wh}-hYB+%7|fVht!88)%(O=qLi?-Fqer3)Hp{uBCPAVN;Xr=rc@-6t}1(2mcr zg)CV3*B&OzxRG5$re@?77He&y^MdPl{i<-=o+5+hw(5*0X2?{Lb^k&1`)719RYHmWS0m9C-pjo-~`sSpRsbVnY|cRG_M!v&of3tV9N z4Yt7>`p@r;)U23psL`a6FYbMQ9BAO{a4bwV+|QM(DW>nsXpC75?c+ULVLu(VzG4?H z5;F9lnjY0-#oirzUCT?PLO{zc=}tsFBPMdppvdvj^P5}G{UN0nd2L357R#}#e|-Et z^}hU-C&Kr8J3;HHv~qfXpQ^C^H8AGnG!5(C*oFV5eb<+Aafn3@v6<#_(zCC3N0k5G zyG1W)o^qqr@_^;uclrmzxr;3BP0RRGLAR5qe@H90bbNTM?fRf~^ZjV+Q?`?5?XR=w z=8~{EjSx{tKirs;2b&hrNkI5HGmDP5!3=|9g;JcEwd~t4cRFL`3tgDbN3<2vAd)~` z${_zdzE-5e>0#esUq(FoqZphlrGtna%I%V0?o0_ZN9(acghoQ)iCWum0LRk?6bBQJ z(Pf+k=s$bFvbEYNw-&|pz-=rNJ?W>2&Lnf*-Ym)5yUKI0?fQe(cdwty95!@#>BsQZ zUM4HJo=2A&qH}?V(<>UqEyr0$8KtJtShYHMT>tx_|()F zXm}$+%0D<~YI;TK<*A{TfUuVZQ(j@=%}bhrH^-)Ce|Ckp{%8rj^K}4feYf!xM^c*T7qBDI$xAo$!+ee%wI{Y7WKZM-6$^BjBP$4-uk--!Xek#`u zYYdKM{6~!QsQwt`-`Oo8?j7Mo+09zO@q4Z6y>*k>MRsDN#EhQ++BxyRVon$BN6d>DotOc*ylrqfU|H9 zT`xkeuS>U3wXu-Sx9uA-q33aCxr5q!L5x*o9E*k*ktLt7jU{Uxv@&(JYytm-4@&jq zWLpD@E^PxRk8v2kIk!!O!zn~Gl5texM}0%&fs*6^F`m}Njug=#f;BIEd^dq({1_xl zCmgF4o?jw2&U8VT0|NjyJY+Q>c4Z1qtYTruko_8=;czH%HSUTEDVM>cqGK+uR*L3A zPx6ulK7n7`^F|b)@NlNz1?}=#ufifI(az1$PPOoeD>>^pTu%n>w+i+5N(eZ3b&bjwRGZLR_gbsIlV?Xa!HjaI z9TrGSvw#4&*PYg#yf@CMnt)H-u!8O6N}LgUXBTVGw#7@ddS_q%&I!WqVx@9v@!gfZ zcUK`@&YWE?VqLBZU2gh@cGd0f?p+?CU7oRBURhn<6rN zSO6My%P_DrE`F>1hHspMGjot1vlBed)|uJGIj%?*?kO4PIBqz>5`VEV&Q>zc1|45t z+7QeM_h@92A4ij%nTbL1wrIGcB>AR-F;Hbp_i-`||Jdc!7-t2@kl@U|R=Tmy(8bpc z85+h!f-&F~7p}wYfhLa;O-MoUj*U+-q4B%j#^Ircx|( zV~jZgDrfWsC5|BwtOqOINO)D#U?~Mh%b5T?V4w;d?q%$DNvFT(E_W?(tcQq_jQcf& z1t>kf>Sm06Z^6}LKtyY~7lC3{(ae8fZ6M>ol5&#v0 zLoXqN`t&Ej45RpMH=ABTeXp;mxxYP_ONHd=%-jdZ`XJ&@5Mq2INE_}Z3`kLu5F_Cn zCv!kDvL`905GA+Fh&-0T&*E&+0=S5NQX6}D&^e)ZN>-AL%h?zA~|a>3~D`x|0LekX^=Pg?~1Nika*Imi4tRPB?M_-C6`OzfG@7Ze+5 z7e3qG_-q&V**^Q?l-orIl7ydqyhqh%ho#SckA!?8USByj>LNaR`?{>p)Dzc>qt~vD zdfXWGWbgOP9`(LI>hofh0acteq4>X(30ttWTGS8lHxR_UyC`B8lARRzb<|A1v(d}$ zs({e*X9aPjs_>R_l2vM+_sKY$)MxoZZ0o!w)d?vas*d@p$-5_FQdQfAL`$|YpDES5 zpr)O<u)oe)ONyU*c}h8J-&9VOPP?DLk`>y`}8BP;Y?6%IlDX%p9% zFagxbLLBNAPeL$yocOnRJJ0U*cF`+`Nga+UlS?I$7LJXQ4!^BauWvz#6er?%{66T_ zcGHxd9(Qn?K={@~SR3_Fm0T`9VVi%3{7gk)y`a5A7_9(9hjvDyAu0zjzb&ZJPW*?j z$lE;vLF5v8uA?UI(k6&c=e*>_he8r%*-=6I1`0yIHsa;&p%Djd$FY~c55t0jV4s6w z^q?N7Uxc1kVqSI2GiDc8mGhoJ{dguDspJ2#3xn(Sk*0gO*Ky-28Kx_o;G`knns zIF6YKLhxg_+&$1Bm8%b#37tigj1O^R3)+-=X`H$Jx4{)ZxrA%f)~8IbxbmF>tKtK+ z6Pg6zfk90TH^|4|mcJGd-kiap{Hkh%;rT@BRjaEu2N2&LyZnh){T+5T+Hp$L_T29; zB$Vahwh0Sn*`!?dSUG1RU=37#d>D~4ork-LmcIBF_a?dhv>us&f!~ya^VustI1b($y#}aj5B@FSj9wVXywIB zpmVs>jA5C57@DujAYXOZ4zeh;_UOiV<;4tRak7-N1!En6!#I7VMV)I4hKPKfW(E86 z=&WEBNnTQ%XRB?dGcgy!P;m%Dp|cF?Xxv^4pn-6V8nfD=XS$?&sLe+unoGj_#-Ru) zk|-D7>@N-pc%>N^{4$!nbmr8%la<9hvAQncJ6@WASBn&!DSDOY%#wC|JXd*>J$hW@ zUBwk*5D>#l=2L-p8?%W8v8~4u<+LwK)Ut&pr6|?%EbYYaI)fwtPvHYRPY+m;E0vux zL?pPosE}N%&zd;s@ooX7Ai$p55#KMcGM`A&2FLpLsNw491!ibZHAygtFpCC{ci8+X zC$)$n6y?vwwhB*{Y84KBV-5b7myS#gNjgZn9Hna8ci;b6Lx%e1>IkekZGMk2}~(Do2O zg>k+;e+&SLI-hIR=BdQx6Ujio8QWli1+WDObHZ7NNLnr*BxvnF3cx_)laiVA`>pkm z!+4gmgh(v8=~%3CzbjA;T1#Qlj!3*VXT?TI#1BDLv>WfbWJCjToV^L$xdn+V1@i=@*jABnL+0t@#6O(m4NmaLt+UZ>ByRgRGCT+j`7C*h8(dA`rt+ykfeiup zdHIbtCy;Call26FBb|K`O&;coFXr(hH6j^^twN_dp-Y2>4921bqQ`jx2f*kyUCvyK zTgKhdv~whYnKdGxj%(aVM|(J&2CrWs&I`gNaGAWaoQi~)=Zn{XwiKeXc7O!D#j=te z%>+j?%}Wx^wyqz;z_kOb-hcohe=s{*w{MEH&k1iMftt72eH?~| zs@~49%!|N9L%e{gW`wZX-oKW^OFVu808`EYnvAJ{Fvui5Lt-_|6Sl1V#~L` zesS`%+q~^70>d|EYpnCp=Yk_jsp4K=dE%Sja)3u&h)NVnvbDGFv&s8M@ROwhz!vGX zAk&vRs5Hak4N5VtjdkZDJKqn>mL%G#D#FiUi2^^UA@sZs<#cM1yVhC%k zb)w(fJ1)$j*7RY{dXmp!z#ub_3zf;-(|HC1`qm%EsGt^K=gv&x->$sA@AWmP(C>8m z@7~#j{iu#xl&D5{La=jGwB+No&~MLA!Gm1?#16%09i^MWYI>o-^EXd2%f;!JbiTZ@ z*8jR)jF!2&d-3WM?@6NZRa%kb5B~(^!esxUQly9~_j}oQzCN#tSfeOq?{Cmi!aMUaH*((>0NihU=r)t{ z7LE`AZQ<>NS~@lQLlNLMj{*M1BrJ&FwDMs}Icj`acr%_IPy@t37n290_)GO*Pc9>dUd(` z;M6tL%GRomDVS|j}~<21{&w-RP7FWUDf{p!j&Uq7lHu}NlWYza7y zf7uGIef$Kb^T_|jvQ2W$lQA1sylyX_$@>={`1GG9?@#`I;z;KaOL@i&TT9cT!}&Ac zo>ugeV}#O(ZJVJ)W4Aguk7w0s!5uDbzjd?juj>~6Vq2Lm)_oxVo{rXA`3F;c=7ZwY ztuq6vW5yK&n!o>?89KkiuP|(I{Ia#Lp)oQ|zFeq?IT*QGq{L@#Veb|~P; zPa!{Iyk58aDR6K0lxF;5X5&Zyftu9_QOYPZebGa;G^e8~>miH8iy63qg-U--GJA2* z+dQ>${gt2_qXuA?Pwd}0Ocbikt7Zf4n#}s?{hE=oiLcg~6H}z>C=s8h?wu-P(xA@j zv$QGAk(mhUYhIam)xSx~ik~xivD*?q4_P|)JK;?BC7b#22NsF+LF?T?>uQI`*9_}( zP|MzW{Fc>Lmsz|h-{WEgnClX$qeiJYRZ>FpXd|0Z(A_ZpxTx&+Jxayh7}KS4VxVca zCM`xQrjSWUXN|0nbvqdr@lI_@&seR}?cVWw;?X%1DeE>l3~NZ1e7DXBW5|s=cTYosX&n62u#x%dcE(MdI~K4KV_hjl$213LoDx3g(43L; zgLhFHK8(}d;)zKG0T4NzcAXJtirS@=+uV9R5Oy0jI%7U#)>-Wq`;c3HPaY9@y6(bR z4JmL;8%`o+2*wHEQhd=IfCj6sxM?KCey{cp70XH=8_n=bk%g(S2Tnn(@3s&wfPdIv$eXh2kY69Ic50YVQ|KtP&E z6X_x%h7N)n5D)|v5CjAiMVbOR`OVBa^WXc-IeV{JXXkC+Br7XV^1Ywyx<8w6>0~@b zr&c*{ZVz5VEl(z{&tq$-Uyg~wI5~Jp{0!Ly$nm7ekR{j*6cCbZVXP;4#nAvmT&NR) zNmg~M9H5p^ z0><7BViD0~E(K6A00By*PGI!`eYP94>3|4%F4#{h&W;&44&Y%#6$DSt9}qEI1y-Rl zc%e_wF5$HXK zxw?c~M-UhoSw}iyDBxlSglNQl^5hBofr4rApEipTc+V_nRCly}M>+eg&1l@F+2F16 zFFdG^0APfz-vJX~RV`ru%$t-{eVMa8;rbYK_lHM*kdh(Q<5oAY^;mBZK(BO^yHU3M zQYMdzU43yv>+fd9wfqUJ%nNxy9gl`?zI19z~1;%KaF^J`lo_x^ZniK_~Ld4U}eh_;X&`-j2Q%Xg};euK? zbWjWv8!s0yLI})kt}eHv?cVkEH9QMx06BuynQV>gaVE?JwkKCvxzNU!6>ma#>mzu% zso==lH=w599q*Y~Ji&=~5Y;*&UK8=JblJj4+kBu2J~WYZ90b7baP513d%3b8RK&*`%f_IfM zAv5NQgY#U5&}2yf_|&BE5H9!y)a+^zV|S16T;%yWFG~{GF=B`DHG}|8A=3gzhGS<- zhc+}PM>(}up-Kcpb~l0-z^PJr?==``lK3HTXh7i+9QQHVtLI6vGcgfC8|2${*>i<{xwqaqn^=5nbz zm&P2x5|ch=yE*p=fKkQFa(VKt!dU3iEY@@p;j0|ybOuhFDUofF1ak@im0IbwoO^Ya zv@(T#{C**Qv+I)NB>^SpEVDN{iOF#a8InQiWWCLKMkKaOc&RNO_v=pIodTnD=aE=k zn6$*~)ECK_&4KUiF^OtoJ;DcOxq5ZW?00*AB{o3yKfUy&+{6kWdMvot1~)2bIwaQa z@4*Yu6?SgvWg@HtaeBSNfcIzIAc1=iV#t{3#3u7h_voFA-y`%fJ}*)0VjN-Aa?x(D zt>0bPzA66TQ{zG&H&M8q8_8)Ws-4@hC6HX zc#t+^_V!Su*J0C8rxFsop1oT|H&iDH>o(Iki->xgMy#Z}kQ$UWz);JV|6IzDWi8S&xFgL<3zKj+5yd4^7o zSbdr0fAf(kV6I>pkv@Em+1!WYaqa8uk;JLwxZBYQvjU{`B`>RFYvoscwE%L~3VNxa zzjkwhcN%iX+#G!7m#9vG=DS^NX=+8OBq!?3n^_sBg)01tyC| zWrpC_K^-Y7N+~Ce-zc3o*GKQOt zc`0JP;UQpM$9&5LP8y#%cg`$j(c31+*ss>*b#tD9NQ&L0xcvhBmNY_31^#!lJlWgq z(&*qBNoHq>AuGv;PC*jR{YLlA&7C41x}-{2x0l}2O z_U4S;Gv4PVuS7^XzoH9eA&Rb~O8V}QUHdQjR#f=GUc1*-_;*SM2pOrYItENu1e(O1 zLd*t!mki#i2tJYwdF35~lnSxu4i%CLgAH}#=Q2o_!gQs=Kaj7QNL_PUPV_NwV#&W2 z^vK2UN~RI#rI1HaA0%R>@tITuy)(oc)yq+>QXWUqQUD|i0N6FRJluy#BUn^6;OQ-ErrX5LBV2mW2 zOgc|hx{yqUWNB5#NtsNws!Uy(ER(7%8<}jUs_gSJIhU()f@JPRRNcEHlN(o+n<|r+ zQ!l1l`S`^F1L|==v4jiyllng>WU!QM-kPJ?#NcgRad6UR^?Pz70Fgt zR9Dx@*0fgFh?*-vduk+o^@0B^^aG5C!++HFP6saZnin&kg>uaPW-c)Vpu#3rZL9M= zL@ta?hYzjPlw6?h$F|=fZjz3*%&+yqd@;$ExX^u0W2D<4$1bBn*FC#A`%I zORKl`xWaPJ3;p=ITDR|}FGDa6ty6m?v#*itVmXKR8oqoevQ9cWXRl%~Hl&8K^*H$T zbFsn}LJhp7x!L&wgb;e|+<2vLbnA#7H~ao)K+;6Ioay5~o`06th)*M33h%6~J)1w$ z`BDG#@_V7xR{p5Y=?ITo?-ZT$uIAz5X<=JBgLq#KnCa)>R&O6x18O)TIgTG(Kca-X zG$j%*9EWg-lW16>Bnfp*O^{L7%r3ehK9WmQJ%2`t0!lH`7gMO{1RCX39C&h3EL?1cRLMOUdWEhrE-l zE6f)29jkmV-_^p)uOVQRucC|dq$#3=HzZCl8WWQCG=lC&-w*R>|tDi2r zR@*%3xAwU0YxP=P$IiF4|0vp4@L4G!tjpFLhn18^6h_ql$~TWVX{9ue+E_krd98bY zqj@A`=0x+@4Y|6;shsDJ+gAPfzdzfEx%s{2Q}y4I&$rvPf;+x;-+$6^lu;8*{k)U( zgbE0s+iaixHC*3<{5-Sy5@wqm(ua092x-CmsA=duexXCLNsu$($$%*FpgI9K_!%#J zr;TlJgn)%M4c}bsh!+NC58$s=cLlbDHGeQ(kIIa8_^9?@w&pSQwb|b^TVZQPwa|G( z`JJm&pz3>@n=e!+J>RlzPiWYtG*4g1v~HQQeEuSWcJa|i)tPJj9%>&$XXr0>r|~aS zB0t|?eG@r;hacHCtJjkfHGlO~QPg6f?WeuDw3^%d^FD^1&lZdPt=qnqUI|hK$Q|v; zLV!!@&{}@D=uIicT#L5e48dzjwY{$!+GzTV>{##K66*N=lHXSQSI<8%_K4h%Tfb;} zcRRL+FY4Xi>T|X|-2Qw;_-JP=5~aI4dNZwa=WEi-qrHvHCwKN&AK2>s-F|*oj{zqI z(+_}y2f+3*eK3-C7sd!*KU!wC4Ol<|ZLu{l5W!_{A*NG34we>8afwpk;a|i83b|eE z5t~F2BLuU93yv#4gv9GT56A6wb2DyD%Qu(6Y*)Gj`ZwcF&WfyQcbN?ldG`(iY`$&+V5hQcOB8 zAjbEwvj22rdTLOXn854G0WH6VG@Dv6Y!AX%?}j4Ja8z%N%FlS|Y6I?aY^<1w%#fC@ zQbuNPxr9vKkj0zLjG_aqw3hiRYrkKa1uB=Mb<`~!b2zdeab1%2eD=zvIV0yu)+KpY z4NH&7Upbv45~m`4htDIo?)A${Dn?(o@|5Mw8@7^Eey}>?>*kO@m0Y1#GGu*4bMg4& zF_NLTNK*W|*D-|1BaKmJ;F{)Q!K(bS*7T|kiP}{7t655Ci(k@xA9IYrN;^@jX~{aVlA>t1RqM9Dr(xNWQ>;`XIeEk zP8`dq9xqq8U1fF5;$7OL%EQywd~Mtl?ap(pJWRC$u-ILXxFw z*-G}zBa4Y@w`~WZaI&gU#zcMFLQO&p6F^~1)^AO4caUR^&xKC3wr@W!RQgu;jfQez zblB`UJguQWrRr| zH?iWvfHc_0ae)~)3jlNlIKV+;zDZ!J1qhG5u2{}|pnv;@K$s60HriFn;|*&71p>?j z!<35v^XKUg!Vl)r7UR8eV5*-j(DLIqH)kh$9o69 zJ3{Or>S+NE2v9jMJPr)#z%CJ)_yJE<$(?S4>onFzf+mU8-Y{t@T%)p9ONAxls)S?nx1wq;-SG4GOWg zdZHW8!N8N94!KiSp*Cj$exTA$p;fTdDd2u&d5_K0_KzPNQJo9i7mU^Xn${A%q7*We z!*}J{Z*)igo%wv>c4Vhi?T;tl+~*qhPIte5y%{GpNvzx?Nosor--)Ey@thh8ud=!n zfAio=lg^s!;qYW#v-6?^UGEv(xbs&A@nA_os=Djq{HOTw*~OEQgRifA`jz|lU|Ap4 zPK&qsUCOW18L!?xcJJhc5T(OayR`Q4M>gBl?uXx8-nLIZeY0J6^KcFSAWLUmG41-| zm-W>Xj?==8JN3^$ep_>aSJFbKpUw!b9Z?xIxX=jul*8`?y&IoF)YO2pWqjksaVq8W zReh(+j*m_G%}G584-|(of=i^Tn0aKk!_k)BThr>o`?B6y&o+u}b$VuSm!Clh-^)um zw5Ce_e3&`fX?y$Pd*s`{pZ*H15lyu|=-uD>%>QzYsMq=HsnD(YG`0QVG~J2e)Eler zFXs>SP1U>4a0Z^86e(z3r>ixWq+GkDC;a&?`7{HN3aJ$q$hQ8uy?p9IXn?TbC+wE# z&OAkw;YlCPp(#t8&AaGy{ksTWpYwS3Gt|pS5vW4z1tS>eulHU6jRh5rtji_{n7J<~ z+$1(aHE1sAIW%uQqpJ%Q?gHKXiWZ$iFHmm?suNq6AdIBS2}wvO0B9FqMtDMn=Gg#7 zzK?;cHh_P@fm39(D#hbsJp>Vo+`uwAezDDc0NNX)br~ZE1KcKKgc^v*66hHk_zxcJ zlpEK|Xjjr;l}i`{8p;U(TnS)CV^Wn9iUfhR7^yF(bItFNDx2tOM>qYC3PxcLGi{7QUk-h}T{UXLcT#Ft8m$TPP)%x-rNx*~r@0{GxGkfF`1$j&|9r4qB zSwG3M#JzBUjNVT#`4yR{FP%c+&L4!BM4>7|5Xl5FMl~l1jhI4HepjYpuV>z)mnJN` za2|%Bc8jACAaI$nXvGwYe+mUs=iDQpE=HnsT)jtpGSxM*E0kgp(WrMmm{9;&24aYf zS(dIz-cpQxS~*p}*v*e~d?KLMD5yZ+oDg&Qp?D$Gux({x&i`PnGP$d|4KZ5-@9 zz6E-bsH6AS{tyaYF^69|9T9cBaB@gCzL@>pD&_rjVP!_)jBDX1x<*k6`2JS~N}74B zK0Kw-+>_g+2z##(p?H&WJe>G6E6bH*f%$~@+y<;we_3g66aJCv#hXK^3%p*{ut z>Oq1d10_g{%DeC7%6;*DF-k3BzO4|CV=pUCMc(jO*<|08lE`u9X5tN4#UqzPkc*~w z-0azM_kBhFoG*v-m>&yYokJ!TBQiG2GVIEPma|lbq|296RljBmMQ52klfj6VciFqu z3`vtU0yO?$wh<5A{G^@RAD;j75YJcPrCH(aR^hD~;eg1oJdSjcK`x-Lo%gM9j6)Sn z`d(Z{eh+zc{R1kvDtwE^{!zcoJ_DKa2$i{l_Dw{E%0B9*|0+5(t(>bb`(BJ%A+Uc7 zL0Xr+k0LA%8~*!R0%`0a zYTkpc9~la->E=iR6qv%6&~1FzM$j^vc#z8G6)KCo#4C5CB2=7!K1V>?O`mpV6Ocok`u-yO7#II$`n zMMb0$?yIlM?CMio^JQcA<&x`L)oLa36%Irh}sBX{fBM1J-){EAGYxcbfZy(Q<-8pb7mb)nMO+)<76>5E$JWy_;tMW^nK~BztXO?(J1+3q#|?b z9HK-k1KEH`BB0ktWIvwEUqMH9PD|e$k!Gus382C%yV>s3P@mEDNeix-jFcw}4>6vF zQM(cPiwQT4e4HEC>EnpMo?WBu_;*AmF>85oNv(n;+n3IRB`{y`9ci*j1-Z9Uz&Re{4ep;y#NIPRG`%-~N zxTFH*IsX2AfMfP;MDjH^cLEj9gGw$9X5)D|hnaYqGPRN);O_Z|!pbN(Uq85JIfUG= zpCG|o%Qz-quVZk}U7c@_%X~wb3pQ7Hy^j>U7Sk?mt~1rB#B%Lii7qY@bfd&;pW2w5 z|D^k^y%$X3Bli^H6~bd!sH7zRob2b~Xt6(|x+zJ5R;6=xoS&$nBLv+3EJ;V$gVuI(;!!KaLRM^0aS)nsisTmVp?yj%> zQT8J;!naE8=~mr!0hpP4t}b~m}M>fy_c5}#R_Rp*`N&=0V*yw@EJB5uEi1c&L zH%4(Am>+qyh%@YOuQbp9yx5}d$|C~i_i%1WL_d63g#xjlFm==0Oy>KDFWDZFUomyZ z>eYgB=dGpD=VMT3V9pAh%;#ausc5F7S)OQEju$eP9X^Qd%d0O%iPT&)mYFHcDm*ORy<1^Yav##GcOb_i%3t>ji~dCT-6*D zGC}ui003t96(3OmQsvIU`yI2Ih~{0pqO&1w&ls3(V$7+lLO3Y$3`{6}8f_!92M1DO z;r2XnNY5v!#-LnLc$+HcH8Q$yX_+*rj2H#;biplrFtR=%ybqiQ1d*b_zWWt6p?jO8 z7@J@au)@akYMg($5fUZfF#RaT4M@h^P1ug3WfMLBrdOs5;kXcxQZ!k}2x=#>ius2>1K(UE{~J4?!Wj&y&_ z`MEX3=(pu;54`{T3mcd%Bn=nrb47gSgewU06 zYTE^AOTS~(39Q2NP+3oi2n{4+hX5#}2plZ6Dy2dJR;AXf zJ5Q9rFu{Ul!mnJHQh*(9G6DE?1w80t2>6X3MrsZ%1-K;!VP@+7`lA5l%{bj3=+gvr zZBmDUN5Pw;jve6Q*d0P30w@7^hPMB>u47uCrsE^Gb%tVn6`m6-gJt;-_m7`4HASI*Pl zasJv3+wN$6L}!rKv0q#M;WZinedHsAc3Q+PaTf{6HO-yZ3^9K@&syNRb@@%9&Rtl2 zkVp5UeSpNe{Jy|D{FtJW$|H5pwb+mJuhBMx6(xD4{v)+#+A3(9${}AGN3CJh_X$&r ziU_oRzuvUh;eL+}=3_*7jfZmG%Hj47aS>DcoCO=v9sESD-6US~@2x-E8=sG{aMO=s z_Y@$N%L2gQuYi=(x0Hz~kTeH0K$LwYDZm6aBfw2N=1&>2pI)ptMCp~UWS-M+{_$v^ zVrWyRYJX1gS@FoK5kiDx5Q_907gID9j9hFm6@KtbQMwAvCs86I^GAjX(sO7SQXK*7 zYXApjh-^&(b1eLBBTM6OX{z>MLEX1sjaJInxZZKOya^b5nS?Ze5hg3M27CY5c~iQG zja92J5Hk~BdnP5enDGyW91{n2_21rFLm0k7hA45e2_E257|m9YuaFb~&*KRPM2BzAA<_(8c3Y z#*5Kg0UTC`T-6V}klo+U*yJcb^~~efRr3T)Ku}H-q3h*SKIKeLMNM`LA?&ByHsaqD zr-RD}NovzZw7By-EA-V$jVjF&BXs^`b4jU&&x++qPZGum9S!BMkk(iUD0*k}JfP^h z?%(2uVO_0_7O9NC=?(lh+ygC+U;rBEDAM@ZTlFw5--jy6v#4}Q)nO`lJ^fs5f7*wF zk~jA-jcmDnu(7SuMyZrJloeswXOzQez9vT5|ga>oC>BH1$(I^rgDxr>JajL%+ z@y8r?{Nkfn?>F>t#5@+E97RF9(MVGAPS+&6We3U0QjYumYF=>$e3R%i;TG(==O!xd zE)i`wN9S>4Uy8noT#8pS^5Vb|Q94l&<&F>|yG9TpusB{?G0#W}8A*91Phx5C8B{{X zq+Km2BU>0<FVlDv45%iJBAvB|?0tYs!xaKGdD!lYkH1v|ROgFKZh8IDVBDA^20ED zTTMZ;V2#j-{bK2Bu01|h_9FUtoP7=@O;x5`_?$hy&qHBQ6!7X zoK+umZYEHS_R3V>YF{znC#x^*Lk!>NiP?@pjP!n{%P%|KI{W$#$if6MIPhQ_A1tUzdBdxpfKD#0JhvJmiVLzV0kM|2mjwN?1m2*Z8ix`TN7YAUhPKHV@B>#51#*=M~fb)#S#I6(C z=EM{LQV1H^ks-ok))nnfKnoG}uxjTKWb=8K??rX+^_u~5AL#sG#wfLzCEZZ&b{<+{ zMT`r6UHHQR5ymUoMp(tdRiLo5Xoa2MAV7?ahYLDg$oEg6 zM3xfzn0=Lj+K`kJ!Pj#3n5g17Y$8*Zfrv7oU-Dvr$h5wPWex%WH<=jWwTlJ$x`XK` zQD$I-`qGI&K}}A9u>qzT@jgcGK#8k_*n0r zY42RPJG-n0zd?)D4KF?RamCd1#+b~Y%)`@%caAhBRb#r6=QTfm+vq9QslcSyL<-)K z_CF!loe`~1KW+ra-<)02jcm6Sca3!Bp>KXV3#{w>u=@D7n4oCtDM$U8D41zbL5lXQnfYjuFcA<=)R<6!`7Z zZqlD@H{ER!c3&pd+^#zZ5FP$rouwPQk-#9`P-uYT-ZSZYl)<%?h?m^#cI9B9D(~~M zhi!wlty_}e;Y@;agQk-rTb1`uK2Uthnu7ZIGjj=bSFmD8R}=j%B`E5Fti2*!ZQb+s z4}V$&TZ^x*mr_scf%ot73mwGcx^iLcA{peGHgerc{3K0p#-IJBzGSFte1bv29kUmR zcD)dqJ|Hd0J{u>iq+eVKS)Ymv!e)=}#f4#Y^7Y9zdqiTTXs{b9xIS~?9p$foO1N2U z@002L`SR!68Kmixv0{70y6gtrVJ;&h( zKyRxXu3I8>RpNOy5p37>Wye!@sALT-fvGBD=v?U%o*YhA_RNc|H;WZbX9@KbClMe? zVQ@i}jQfdLIt>O;nUl~gARO7X8+n4UqH9HT(ZN`Gp8$0bN@$BFZ5~V96X#OMS~Gv4 zwjddcZi!W|R|_)$6eJik30%l|meQP!m~DZ0;kazb6ayqlpv{1`Co^uOKQk zS!L9r)T2ou4NELa?)P?>OS6JiJemX-*6O@we#GqJ6r zJvX{qE5*V!ntmMu*e`$;9oR(n9+R;5BoUIa*jSfW116sElV?Bx8p47X=eY_$Wr&d7 ziy_gVJM}H3+*ZTfhn5CptUf|so$Ra~o!d4@!ZKD&wg}cnO9Bni`%T@0<|LPxyHhbq zi)9{v&C2Eoz7AvqFu_SbMoXU@X2fXj5sE;7J@%OD+{v)?SYi}oUfn`ckI9(A0hKT= z3!WlP1TQ(^SnjZ^-{6CQ{!%oAL?s>@1PPK~-O`75DtF#e&k^Pz-rYR)97@mu2&j4@ zbXXe5wFCw$5~&I$BYeQ7dGT}~_Ik7}co;hzJ;v1>OEDQJ}(e3UrcB zw1^owe#I&dQ9%>1Hj_)d_zXeNAcw8Qn*QlN7JvwwR{<&^xWT&EdP0;pq7h0MHzI#v zyxMoL%1lGfL@=NFDFE@hN`Bz6xK%8E@R+&+DOUjihA*viSjZU10Tz7qF^{dtqI(3< zxfmjqDHd(Jfg_ccgRje}PH2-a8j+8eMY~uatO!7HdFvUj7D24daR~6l%B+H7?zdnU zXB4YmLw=vD$m$dAClA7FkuxrmWkTRc4{?$mL`xlEY=HQp^5j_tBCq2$->VU(!v>-c z1T`lnw?`NiI0mssuu&e9Hlue{ICTri)wiVBT*$#t0-T8;6Qx84D&KCFfTUC{u|%bW zddA3`95Wo<%VtXA1*0m>i>96^0x^C@h**^~v74k){k%J9?hpHec>qBW>);uHXgW7^ zLxaq$Y;WXd&)og|l@E~zXfnrI$C68PuE%+3Atd+AdP5cCjK~L2z?iYYbtGNvC(2d( z713_ug9?i<4RY6?tf?>Chf#RLP>`1rd}kUCIao9{hf2sXZOulpwCJsF``F67=URxC zaah>An4vM^D_f(rJ>p6~$)LefS4~w7BFY6t^aeeS&LgNJmgHdvc($SOFrCb`O98 zN06#F%5H4(QXhR^$2@!a@KCsFNvKq`B>Q#M-^@f|FGSro>-IXwt)O2<;zeb-SXaggIh%* zQ6H#>vi4I7gE|PuO2dJcb4SHI*99M>znFcqJ^PmFBaQpxsKm!H?snE$HcA7o$-pBP zQ8g);GkH6+tWc-A*e${3V`)44?DG$^f^zh!*pC%c9fxz;MKs+H61oHKB1zsbhyI0mQAL7Kn5>#8-rxddLed{yBw6drpijzh7*%? zQ0LmIqf@XqItWVR@y{PITfoacAkD}7K|m$jiZR)VO;%gUaDB}t4((#W9DkENv6uxO zOoNs9xdbcpLRww_y#7>OAAgZ~dOzh@i2}Z=01>;y*bP_8*=9B+(;Cv^39m^CSgO0V2lZFvbaMpK}gT z5E4HUjz5V3E3UxJ(O|JcaP)KHow?6w3*fDXbdHkPyAn*@N==RgWQu!zmr zZX81DG1>MqLVS>9)fUg0ioLJ;P}`}2L;$_xRlD03uR3CL-Mc|*iXg@c;m(y3p#d$) zMV>=oq`DO;WKcwhe3)rb>z zUQ99fkUM}m5h8Mle3RfAONL*po%Mq zE>IF>s?#5l6W4rPKSrbaUEJnq{lO5?plD#yQW{s zA6e4BX(POYAgAPFRBtPBnyrxVzWP&MjAT7>GoQC|NKaWn<}%wYJ9s3%7OfDwsy$lk z(!)t8i>dL`00BBQVlg?vWH0`@4f(hsSyQ^=-ev6lk8g=&qW0J3<1V&ZXEsKEJ$oZoMgX{wZv$m^t1M0paMp-t5iL>@+6YCzEvMRq+^DNQ$c#~5_FK74!5cO%dx@@laB-vV za7Jx+FMgdbSdnA$&PrlfTY7OdW5HOWgL!znSxQ}7d=3@%VcOC{V@Rz!?k=TALrxMH zjN!}e57>k&Hinb1#~sYsZ|Gl$joKy-uEr{y6w^&)KY~w1mj&#t5b^vZDlDWeK3qRV zqcpyqobb5n*p%XIoXgu^3L^CSJb<}W=I2;Li_4|s@LSZ>)O)Q{WwC86fqutHe;RwI{dHUWArs3;dI9~p$GLCPbbg(8 zk29xhUOs(*dRuc-e7dt{;%4n_8BOMrDyfeLWg`*wRqU9VM&p+<`)LDLcKhildNJpq zu*ZGPoW{o}KgHW5#BG{z*&F!5`}o7D_s=SFZr3EP{Yd}(;r$`KpYaE7>hLrCXztk2 zywuUc>7y^EM~lu!OIMD*MjkE4AFbRwT77i%?dj3lz|s2qI|rc88}ZfOPiI1dwrs`JjJld)*|KV@d%l zwE3pXZzXka`ur5_Pv$!vw!ZRHY>*;qnj!D|OZ-)qtn=l7{$CHfoF21{l`?HfzA4a* z{I$NiB}FUdy)@P=^ILkX+~S^6;5P;eQEC6k{;}V->}0Lm)3A+i+j9R}+k4*_xVCd* zwk>RV?6Lpu$xj_Oc7JWG?Vg&W#=tpG2J9&;O!g)oQx00+Q(PR(kaDOC*jM^Gl7IT@ z_w{|{6-M+m^JL&3m2czK&P_oZe^l3}8n3*o3;e70eYQPv>-)yv)0=bM|J3#l)PF6$ zx~Clc{XpaQ%Ge`^CqajrJL?~wUj6a?P-|~wiTo(h#Q&@({}8!q<2L_KBG;8)!bGy_ zf1k*G`dZmm_hjQxq0Y|W&`049^*yPDGuB{&-ri<{hX$Y>hAxcxPg92x^)>5mc_dYk z$*{Z3W&&<}_%{KpQY@jwRPSr<7vC#uKz%X{x=$~&XKyrcl?vZ0P+n!9=*sV@9=s0d zbKVF1*Bg!%a=tNhJb*kb8e3{YHV^)b&@oKYdvn8mMl?y?l-RbCY9dv!`X55a6UXQ` zYkZn3(&9+sPDX#w%VkyYe{JfNTsQdH#}GPx_6tP*V|Q`-^yB%%U_u!bJS}H zbv4Etlw`J}p{#b|g91n|Cb`639(V!`*M<|f5AoqHQTTVe>!hrJNmH5SNeMljROt1? ztuGc}8ME{@-^f_2^8cI2l}~z)DAkRPdMpg=^`FLPw2GE~aYBZc8U9hn1o%jMC^lPa zHHS88D#T@TjzRzz0N~^B4&=Z*G;7wkNGe!U_1t4)kCG@nbKS_vb7kDm2%0b80|M#~ zUa`(9=3Iy~atfKVmrZwo+V-K-mxo|E2cyGg`I(Y}+RG*(kKRPIZxwDPKhj<{e|zJ@ zR?*(bBi%xH$&1^f;)O?SD+b*^byEx88p z2DQ{)5MJB*LgE0E_|K|{_KJfHrjBP?laxKucqsVXude z#p||#Y4c}UEdFP4kp^P^x2yL5hPWsg2-^Gt{~yFfha)h$3M*x!_bTYM+y zyff9~k9&5x=5gIPnv_<~fX(a54~vxpohBCi9;*@7=l^k)*1iizj)Mk;|4l+8%qk}8 zE{DaY>9sX0#tZzLgvKm9ve|=pi-{KjU6gp!w?O*xRv~236E5^0;-XcU&{b`FS|7JV zUx50)!n>aXQB$7(A)%=+W8%e5xL@+Yy&GXudTSJ!73h$jj`yI{ruj=zEe=8~T0 zJ2nUwWqI1#U~CLAMD(Vvd)7UflNF%jO$2LmH0*MzEPu>!Y;-F$LadUC6au0Jyc9_2 zWHd|`5hJcZh&8N7N9hqK`r?+juSSguFb3yrQTRl?_2{5bppQkZ7|c!_N+)Jsl0wQcqcwftV5mW=slq7v7i&lVw@>{`iT(|4B zZ;E?*!(>9LF>5Kl78I{Diz^d--XmyM;nZ4p%{#EqP$+)~6+Q(KJJ^#oZR|_Eg@+)o z5r}gz)2VL0oqDort-u`R^er~)C)!mx@}rCZ3I0oC?(16B%Fz?UmwAAKmN-?VB=*su zoTl*=6VaM$&V%2)1?$<*Hc#Og1&y(sXtw4PK|e#?XTL=}?Raf^pKn0vJ>PEIpmkl? zz2Vufn!C?vDRtqG{wZkewxe-E5lvyK8#i{9;l8w&^>L?1=8-q|dK#*DG&`H-`MehErpSHq{!|FMjHGu0AUt4Oh^>`xYgdE;i2AS! z#j}%roEi@N1gk|+{{2BSo5l==t0bwlKV+BMnDxkNiBZrnY7!^Qw`ikI%3U9ZgOsxy zqF>8hC~p~3M);4;&Z*Vn{lzp=O>l$|$xe+nLFFzpP5^)d0;NbO&OlNr6y;?-1?7+C z1T64qn8|?6iEc2^=1Gw@yTJ(4E1yjXh)&}mF|(s6Hj|FQ+Cfzyi=f|1Ob6-~L~U$HKzC;Qv7)&CG{^$lHw-um4Yp z$Mv2~PLqQFN5tc6-xfNqL$Kf5cOM9oxaqaKFAi*&m|F14Z-pKe>}*B`k!|&sVsro! zy4>#N%i&u`|8ElM#_AShew!Eb|C>a*!${vz?4mDaKapwu=S0)97nqRhLpGVG4BfF=n_MovXK13( z7EFT^&xMXtI7u|r;23*C2nBjR*~+nH1>hYJK*PIF0wTa>EY4tk4g&atu_oMdg8`03 zcN#MpKj2WMerBs?1IjS)YEB6k#MpAduZ$=G8}LwWrsla?Ylo^IDL~+o4to?LkKZ^4 zBp2pEHNX`h>7KN=jD||=n4KdlK}Xf_#1MzhVm*ji3em*`gbFOg;rOM~?YL9{!s&S% z$2BR$LW&`>{h}Ry$ab&CzMZeCS;y}j6@D4c?A-vdm#{505PC2vF z11q!rM%jSlMpKXnPkRf=31t3JPc4K`gSyKZk#99-0w1t4(%^?~U$F>P9wn1gZcC9b z#r`kK?lY>XxNR5wP6#9c0tvkns&oPAMM4KrDbhhH(h;PIpa@AQ2|e^8Vkjb@B1I8I zBs4*ahTcSJ0s<<6A}ErR=Y7wdnRC{BnE9TyvXYhZ-}k<+>qopl@_&fOKeA#*szkE$ z>&~O9v&X?$(ccypW5*H>+n)Af4|20pW&LtU#~EzEl5}DiEROWn(_J^w(?>Fto?%e{iej0Xz-mc##X4ckT@DBXNJd}Rg21S!FC$HnG4ECq{A zo#9i_k4VR>tr|ZjBjqicMuJ@TOJ_%FG+w+N4ZXF0cZv0()_~=^2&OF;2_vD0FUJs( zekR-q+iG3G2!^1Ph;r@{$?M+O*7xy$_U{9TS`73Y6)*6U47*Tk#5+Vy(fL_{%&aw$ zfLM4WH>s>ELp7!+Y{H+d<_N$g0aX{$`LDa=+YA&{W)6r7sF7?7V1xlAJR7tGD~#zA zyIOF8xzJNW6Agp2Hor;NvMT(YWI=D8kzG`DUZ$h!YOiCQ>t zihgkx=Q^mo+FjMP2a_S#>|hi*DAf z3V)^^4b@w96juK^^L4b&e*yfpZeqjnQRG#TWI3Lv^JUimUaPy!)Vo&jJIOLNrWLMU z>Ew7y16kJ^nLp3`M>;inzbV|kag9DptU4Jv zjPf6U>2b9Xv7ok5+JT$7c)8>AR_YU{Grtv^+ao@-r0%zVi;W8X`k>vM#=f`^@ni4a z`@7bnANEbYir@F}U>DR2*`g*U{Js<4a=h7rxao?0^GnSo5P0c?j-Y*M{dl{%saajo|}42 z6lRZ|rZ?=7BfA4q>18VYvb-7Ly)uc9_eK;5uOdbjzq7WCs@^}2e6O|tIC9KbR8j5i zx$IZr)QbZ`KgO-Ch1IE!T_Zn7?X5!grkE3MTggw7a*^oU)&B-WVww_eI`?K>jSfu02%ZaSpTbj=mMK zf4{v;5j=e?f(61X+j64BJAXn0D=m#CZrc6(1^9I7A50{Cx^r0OOrMi|j{JV-&qnb3 zlf%us>|KBNo_ZJ@{T_IF_T=yOr`LxE+oJyP0boIPGf&^RlN(OZov#;oETA+>!{^s~9Ko;b1~z(hthC(ZWR3TN`5iLA73`h_xa zzRs9_6+9~avR)N`dt1M-Urwe;k_7+4W}kArZB|g9gwPnVSNqLaX5fca0g&Z@9J5_^ z((zT{e}m?_g{Yhxtd&aGZen=dN^U(dS^8=Y(vGx}dv{F|(1Q7+ zm}NBe5u>FitwrAd2ca08>akAP$|Hk>1B{sEsEJBy6?9M5m|M=42%aSKh6I?&>WmSi zqpC!n%NYG9>t2{&C4NW7(jmyMurlfack&l=YXQ5G8nqh5{x4RMI+u#3^B-z{t-F}; za-x#sS1tO2+=YUzOEqj$bw*zUOuC?>xHYaDPnkTOD5f)sm@EpU!k+u7iXB z0|)2fmyS>9S@*Ea?Ps@~QBG~%;*(_JWm|`g(9L?fGt8*K)ZvsyF=`-Qc1G z(n!cC$u$_KtuflUA0i)P{G8sK2{1R}E~w$eU3blmUePHa=S0rEUlarB2pCXHhe$72 zaLa%p(iG$7-2MhU@5oZaij*if3S)&;&QSrd0PkxSp!Zk#hw)HrdJ#sda)r28F_9hc#0t@`W&Q@Ff;ha_N^Jn( zFWJxth9;&uGo04OcH2d%*rd%L4tqK}UG0_{A`WSap#dy7w+tC0grk|k+Q33*Xvt`kqaG=&qn8O>PyD*358Z)%^Udn7rIT|BfXA-mN8wVPDOqAVG zijxp_Q49J6IxI7ZjFH5@{+cE`zK|Ng2hdLiLiB&?>-HMsZSU0Eq%Su_n|O&^Xhj;i z-X(c3V8PZGiH)bm0U!X)0XWlnFIArlP=VK|+7wYq&*h6g#=~!ZC7zbSBqw>^nxntQ zhMCcC(QXgw#Ziw8j_K76$Hvb-21FV8H2TEZSBV_km{r-@W?lo9ggPh$&B==INih;U zn_5s+fq2$`P<7Y2PKWwQ9=8uYe{*G|+uYsbe0oi`M& zDD5}g7JmK=p!^DLnCW1eZfKzTco~SeKo-;=2bkZUTNU~JS=G5Eu`ryTB4(FD<_U!xDBsW zoT$^5s5hH<_An9S?8?fQv^~xCm4q}aPBMo9W)?{ks(u$`BDZ*x?GJGm29wUUB{?}K zyTh=nn#q^>Qu=PPuP-I&d$BJxB0d2L$^l^jz&1y^zK(HUAtTg5Y}=$1&hP;5S%T^d zwv*p@&Tv085(kj**DX+lHz|r<1UPM(joa2TzE<8?E0uVIg^qB>G68PN2y0~@fZ}Cn z!&Xv^L^6fyheQ7rFkC`1!z&PfJlXa=Q=buow;Pl7mqFaNp#T}8Np%$~MDi>Jn$d^+ z0HA_F*&{(NB%~Ao93k1Zsrcv4nQhYy#wif^4A)RaOQX!EYFWhi|}0KSly0 z@NC-kDHD*!1T2serk%5MG(0)GFVmA#oQ7TvH5m`Vj0zOOfisD8a78GE-X{$?QTB8U z1FOODvsJg&FHhl6JZLQT;lwMC1geipX*d%yOKD zr;;pC3bDDNv>WhjY~Isc#EvJS`g6)El5Lrcm?t5kEj<4E=4Z7f$+zd49py*!73jT{ zv#C|oVM=i*i9hg6q$j>FX<-3$p*I}ZCB%Ci709%4X|xqQj3`)$C?swcx|bCGYAk%{ z?dB1{9^GCPRp%UXRK$%ce#%j-5m2ltQ+(aDIPEQt@Wm}PP>z^doXPLxdQ=o2ON@+_ z+bk+6aw%yqKo-DCtJ_1XTuR5i*-ydbznh~rF>Z9s*rQl(%ikMrTUc9i_sck9(Ua{| z3?j=JLFa1iOXO7B+#Z}N4y(I67QsF`1$!C+vl(N5ph3)=@~Dr1&BI~yHhD4a1;cO4 z#%QYP8L4t&gGC!8r06cY9@-X;VskoVhs<#tIo&_hOrRFC-zR*rr)Tz2ONdCle7ufZBl5*Fjzv|4N+fTkI?SFARba4}U5hvkV zvT6Pw!}ua|)!KMa(}5$8K-KU~zh%o(LmhZ32A=PkkU(Na`mve+sruJm;wt5e52(2o zv2|W=9*G;$4db#pJ47YpHAlSF!@a!j6ncSY@1=w>70XdMy0nexaeF+k?d?JYv34k}?6Mvwl^x}frQ z-MK3s&AXuH=brveOTKJgJ8$_Py;wI@Vb%B6SAmqz{5E^32^z%-|ENI^ZWW(|71Okv zxCNVNl-s+3wL3i3T+3zeTouO1jf~pyPyw6In6zhm@h1b}C&-5?HyagcxW~_%ON)wX z4PNGz$wg``)V-dm{VovIj!%D|msk~cOHV#ULyNtU+vY`O0S##8XnSVV;cP0eaI{ow zz=Ey9L=$J8NzSv;NYAv0&s`QgSp@J?uJ=vnIh-t7&}lI>FIx#SwI*|%J2r%)=~|b7 zB!}SV;!Pzt{@yt7%nu!8b6kF?$j5d_MhM?3;kH5rrN1Ehvd_qIWLTkgkZgf`Y?%U? zbHK}(ANYXVw}f@%=do^e;;qHom0k1f+cI~TH!i<71)EaYM+=YwJlR~!FMqZZJc45- z!-6_Z({zHlg`_!p1Usgr5`5~}-@2gQ%OrXzd%$x#0dgj%7*i^Z%K6W;^5H2sgEU+q z2l)!-Uf|O*`ZtGr9ZEy9@7dh`<(ds=e*UL1iwoDl=>@i`2#Cg@n6+=8o@EhKW&j#X z%L|d#OC3U3p}#>711Ff=0c9W1botVA z0+-7x&ZZZ{BKEs(s3%fjE-%Kvj0`Hu_w7lIT&Nra>Fg%>1M0RTp@U0sm+`v;=R+po zohSF7)D{)Z5P=#Hrx!#8o=QJ;>5($H46kvam}SElx~95;-EPY`SN1aGcO(P|1BU~z zxN)xmlHU{Q=9Za`3MQa(cYsTU!rcvuEJV5~qh8VY7~odH02Q%E83_5{SsM0aZ;nH` z5hCds(x(Y~p@BL@AqWrV>{+w`jW6L%5QdkCykp;GQn~!CL<}`!qL^KS??u}SMBC$Q zi;-bZ&!f~7+%p0hPk@A*!LckI1;&=W>SAnib%+Wb6wMrEB@_wzQ=#}H;iS>yV&L=O zp%K5-nkuyN6Zgv{?RAI#z1NEq%mNZ=gr|U2+@62hFBeYQk=q);zR6p>>Q4FmsyO>g zu@$bKrk$`W)KK&LKKvzBF=iz5CHr4&yxZ;ADVDmrh4|H*BQ?A|v=3t)J!5IIz3PT| zUboS&18+p`To%8~X&4-HqdpORndG30TB1=bzsM${HOCZxxJzAVYuAV`sAlJ=&mH{C zUVE!)#WSFOwnV--9aC~h0X35l(>|E|^8JNcKPiVMv`Lls=z zv)B0&RoY&DEJ2pmAZ}&OOsiin)h|B8WIxtJ31HZun(?a4j}9o0N78uD$#4iEgUYAx zsn?Bl7L7OrCcaBW&^*0{lu;K)<5KP+r|Np2r_>bx^Cif-|E3~JpH$xK93S>i`o6`6 zDn)L1j=wQqaO00(c4F(4t!kqU#ksm*`xTQ9$m~UphI2b8Z*Lf6Cki?5voxR9&*IK-An$pqj0-qepFyH@}vAFHR$)B2b~c!T}EH(!Bcf~ zIT+p7p!%S7+$|vtdb3fU|FPW0d3Yvp4?u2nRlp!@Kx@3B*~hw{l#2bw@-4s z0N6%WF9|ta$HtE6vGj&=n`nO@ZyR1KmuuN=>AYOJ8(;76s!lJ}g*Y{#ASe2%u4F*& zkzM@vgR-iA>htQ(?c>1RnT?M_FWO)FF21zkHXzUgrNa&^ zgfa#1GKF*aE???`%3%&Fiv8uyo!T|C||D9>^ndaj_IP{-s$0C<0*hdPLtzvj849=@-} z4$v)JAdE?qb`W`*L+`YLHJL&$dP!mj9*~e^5){B34kXAQX(l+3U6+Udh}*u3Hj6f9 zmM78N-U;1Djs_Gq3NlJk!$=PQ&Jl+0BB7Cy?R(rOgN%Szm|ydiNXMKfBFE*+$~{fq ze}NwWg@W^;AgdY3NJBx15mr4d62dSI^47+L(6C~bB`muR!a}pnf$%rL;8iG)uL!(m zHTlVb70Oi)v4d#ZjCSGv0>}IIoF&r0R18}Nm;u{m0PG=-BeGUHGvoDAjsh=!a17V% zjAs;d+%fY3N;6IGI(~I+4Y}Sk^bkeSj+<1bfEz6lScQ4HgW6igK@7XX+4Bs$MtvAo z2H706)|J@ta#guN3c2FFe@OkC4DqpVRnE=l|Gp&bEC zq@sbdo)4UThd<-cFh^w-oK;A6JapO+EWzB5kcTNXReGbjfIj%2M=cfN#33w@UmKHT z#+arCUnhpQ-*1f?`TA+#z6UM-M18rkWk4iT2t*MMgf)W!ZVq>G_9cN;d~yL-9Wjj+ zaHhA??RdQbgDOE18pa^a1g4hb{-`iw<9oWzA6HS%bxRAr+XS%44`Q1F z;A6@U1urV^z?@|Fmd z8S;c=Q7I|yY49Eil5)%@F4fo`z-irv>V(joPrZYXli`hnr^~`*jKne$8pkD6Sh0^R zdIYipa?zYIa-b~SK{YN#XM}OtA0NQCS{M0y@zPQX^wg`c-homr%B`&j~D^TaKugbt5^)P@D{9x^I`~u^F2D1 zSL9|}&vG`NSFcPqLWPbK1kgkl(J+|ycw6aOqHAX4nAy7R8GLo4_|-}nxa5psmV%YI zP>F?U`IKH({&MVb)8(_pAn3XChD=C8Yz?RtIvjY@jQU{<(~&0BZAznbJp)BkhiFJ|XU{sYlrTKs#9IFNs<7uIN#gmEFsUz|y(dY%qVKQ_G8q^K^;$!gOUiwy z8g%Lm!iNng?vjS}56Vc>sFEAjiH&=7MdxZtS*gQ1oA2c|d zlR^B(EZWA3&ctk?;-oX~&-JAk02KKbjfvG^$W$RVTSl?C3T6fr+<0dE967o#8qyx< zGWBx0bkj~LK+(_aL+L=qB)4#X)FZb9ZKw8GhlbQ=kFG?fT13tkNRSVc&#LYz=L)rm zTlb664E|ao-(GYSFDTgYRev;^wiBViZamr>Fg;>UbW?HdYi$&W5^j^~ThcTZ>X(}xMM7lhyT`>GVVEquNef*wT- zL_T2wb}kmZnDSN9Dq~s9XuHbU0&tvF`@{XoRNgf=>U7+vN5;RWXI}qMJeL{c>)v{J zRUi!cNO&ES=d=!DM+eTz^vybT*{ub{Ka&>&g*}@WXqD#AQMS|*%!;!Yf7r{YVsrDR z<0X?`SsEWtnnT$NcS}q^S71}R1M4c!#9_Zsj&r(u?Ri!EMA7F9Kb)^e5_FLeNprth zg9uv1lej^?evR@U;9!N%f)m$<92@qmy^q((AFkef#S&gD>iWTpt%oZgb4GHKHP!st z5i0mfTVrKNfWb7SRXzU#;#xus zdNKZ>^?^AlXdz1Ry);pcO^xTq&FaMvv4f5})SAa%wb|j3#(d3OUxgOZC)fB0(-Zw& znv5v#_}60Ll+O>7q>m2w`cp$MmHBN{&&{>TS2qro&S|}pSfIq;on{nbeujy)}0qx z)-~LFeN%a1ahEXjB}8z+=+=v0iL)|sVkm>yq27s^gk$s9+Lhtjm1S#6gyLaPBU`r9 z$Da?){mvdYWxCWmNeoF1S^KGH}8hx$Ebe0KV*@gH3dJ0Nu1I>RIk6qoHk4qyua2-C;kp6VahOQFCT@Vm5$nVETblFUnkRe3y!Bm_X={H{<09ff_h$;wMA_i~Z zCmIgEiVHB(_c3kj(2`|Aa1D27g;kk9OAXLfTX0Kf4#+V7P+$_=?^&(aF9GXcNO{we zI>?Z&I+>E*o04#tY;_0?YlMFEQt;|~qf@W*a`klS9+T(tY0r^2;n#{E>gstcaDVNA z9`eJ&B?oRMnKwF@;bIza#RD;Y194m|bVoF8$@~sv5X&`)lN`jW4JMilCfN@r`wWUN z_ogHb67vUBs|VAb4bsy41~c+?|0ChTm>vZuH!WG*7ko=*NCE$Vd1}2)eU#k@+8)+vT%VuA*v?W!fVKPY9hVI?A;;RwZA0(2CY)K~pD*`rs~AASBmK<-kCpbh_el_Rsciq97z;8EMh#ATcvQ~mGSZa<>Wr$YLMfHIr9@``K(K}-@7bfB0*R= zNuoF(Y~wLZ69PyaLhXu8XnpNt`E|JpjF3IyZ+t}FO`H%2TUJskKuYS#X#WiX-{iyN z0D93m+ZG0?2^iAHI?R;h>t9S~k}jzHCA^vCkf4kqNR{^_*hJTeyPWJBak!cD)MR^W zE*yxxVuXVqHni4$@R$gPV1)tPX%ZmQhLU>1p|!)+PA7WQA-Fhty&PT3wZO2F#3*RH zg1YvHk}!G`+NHHp)E5|XmW90V#)E z8{yg(icRHSN7VE%O&M}KG z&_$@vCOOO|`_87&_o_{1V>s%f2UBRi0V#Lx%x3&b`&8YI+C~Q*>SuD#(6zVEAX8wyfIhwBy~G!uH?a7>GQd}{c~lP`AS#jN^@V97d-O-xuz96-#lMadB?O7 zaJ_$du$uvUTEdL1E8l>GDl@m#nx>n8TYy-;`p;yx`Ltj)v3{4bTZi-WVe{i{Px`e9 zkrpoM^@)C%u<~XZO3&d|A^M1BC#7Vq_biRXZPbmq=9>D-VN)FEJf1r|7DQ z8Q%KvBIrW`=8aF!?EN8KlNI5O?UYao(=`i8WSZXf!;}}}^sGOWztptr@GQMHBxE+l z6pS5x;HC?f=&65r8~v%$MFQno<;_P78cw-}6+09|hdD3K1xiLzQvQZWb|yY7qo&xm zDG?0`Au_!PONi@}6hkl}Pzd&WDuv#0c^jQv0|1QiUQoxS`#DS*u8aT8;jTV_!IeH4 ziGRX5Ga0rK_6j7@EUwJ%dzv?UHZCoArlkWpEc%oO(Y1+H6a#$Q8{BM-#~|EJOSs`z z`iulohw>U|qS8KGuKC7TzjXti`!`Keqep8D=QU>)$OxE(%diJDg9p_m za`P=ux|225i8+GpaWI6~dHyUa&W4zWtIZZoO8wWy1yI|LXPL$ru(oKDW1z{8t20Hj zMSK7VRZK7a82(x1!%i-eYtJ~E=r%0S0$7kfrOVoj1qp%f2YZs)-%H#%ZPG!~O7^YrZ`MtM&|)THrVjnSkucYu9G|5~%naOn?$25YM+k zYa)YwED@z@bN!w19hMjQcd>AMvXBr1n+Y0mVgiI+!c&(ZjOs&GvIU&$UjWAhF=F>7 zZbiWeC}zWaC29wNgn=~=6oLFe;+#sw1EatMn@e~Msz;_7N9B5orW8@RKGhM8FFmck z@sOu2r{D__U0YE5j_=zZasL^2Ssx#OEOztCz}044&nF#=1Y zjp&x^Hut#61Yhj4^taxI^Q>3PyR`Tq8U5HJ2CR<7>fn_$>#*GS&!;+PnX0ldI^wgp z&s2KN;SjZ8opCtZOND1S6;Wd&8!uWc!PtgFw3fd$?kXy4dk;2+LF?cJxgag zZ>;dW60wI)*&(SEP8;i*&oCC7CpgmenA~@1Bsu9p=;~&0nrAScj5n!C7T@i(^*x{Ao}OaNqCYElP&If0gvv%H3me^v6QWi{$c8R zdy;nXguuQEjdKps-6ehI@u$nbXKRUfnzD=&D-`&0P@+WI><=i!sfL(bTaG|zdE!v0 zdn3-FW7^EYGVi2!S2q~2a=3uS03425j6(;pj?0`2XM+d&;}7Kk}RI3YfL?dq?QkUDTN=yZs-}s_K7GFcBzC6a-w(mD_>{)RWvTh zD%pnW<|hUQ;Q=uA-1o?-oEvgB!koJ8ahr2#T2KqCNFXdJuz@&4-u}6304-(NVqo*# zO+ilXo!%wHfUwv*Zjvw-8-!<*LrllyT zq+*_4a9j1p^VGFhpY^0u16m`}h<=6_^UHAeX*N&c*ZH6~h;4JRQ0T%$8cFQKS+8(U zXcw_9!TAt=^@e51&6g~CtVQ41mCR7CpEAR$$8JBm7E{c+0Xrk9=liFF+W4szLx`sQ*q}tc2~~aeegZQ{yIj zeweU`f^H1HxPSdmW@GF}j?heE=K&+)N@{F3!PB6uYdYw&>iNLxVXdqXiU(0 zvAZ4wYixe!(blzPfq&7HK{KLvq9j98KM`p~->!LBsSQ4bpXh9TnAw_q0e^QzZuxZQ z1J(F@H|SaS_#)rc&4(xYkN+#{?mzcvCO++&cJ(Kw>$A&|F~yHgeJl+=`Ic?rV3UmV zq#ffT8nJ2`PP9MP>GAjf6{p|%yFojF!T>OoLm}XQW!-nh`iLB->>mFo>+Z+*|B`jr znH=1s6Sb=TRsqH61Ulka-Ax!B1IeJNm0@)%K~-8(zRiPtnQ3 zED`?r_hY8ns{8mnVD{#QwqUZk!MQ&m3g3|peZl=7 z1%%;B0qEw){O%B0J7vz|o>U0^TGH@tiZ_^RxcnTxi(!tF1;D}jdN5aCHQL<2Pz*qs z30M{iN12VP_3HO0oWMv%m7$MKu<^#@>1KI1>j^n3ae+MFP~80Iz`uz2>BQm0BLeR z;E6#$k7Nt024{XU1`UvL7&rDPFd$-M+hfQ9DB~~~-pMy5@Xwy4sYlC+>=TH$exHJ7 z|Maex+Zn$E&w+F7s0PFEXK=u9(q+sxpfcI5^O% z0?}hj5K0>T$A3VU4e&Z6zyVN*1^SOesNp3T3C zjRjzSe^*;i+B9&)>sPGZ$rv^`p!$u1zDiF`2(5!cJ)8YhVZA)k(~Uj(r^QD3^Ysf2 zHE3pB)~vU|#3T@zO_C3`96&OA-Gp&#Oym0%%Z zEh(fPWrkONdEOfGrBq}6OTN&t1YVEF5M837sIj18~_IK7~C5`@kG8w!}_+m*;p z4u>+7tTJ0*k{v);`fxJ|bCC*9fV}lU$`d7-y$yh$686(k>0}5;Df$jAO~A?!diK~> z?Al?K$W#Dlnm7b|leu0rt6~5{h6DEs9~f~rndxiV0pNS%$ZRSm@BOl+~l{TF@Y{0B*kpkU~ zg_bOBc51szRC@@Tv%5^LuI*hxY{_X-E!lVUeD4c>zM24DHrJmN>uB4n5~qa;0MbPs zb+i5v^)Bx;mkhI*Gnqs?QmwWASh5JKQ8UQGAEp*NK8{ab(gWzUud=Qz5dHMsjb6xpS!~pJLJg*`UEhMK-VOlVr4<+ikb}s@ z%uqdZbV!BYz0W(yQ`s&;cYav7ZDj;He>0V3iAPtp1JDu{&qIiNvz*C zASK_<|A7MUoM@o(y=^g}=R1jg0Uw~PE%&~@4sctjQKCf~?}~5Vdi6)F`{K{WiBS?G zL3?B?{`a{xz4q7%9;pZ(w$257(Vc~=h)?U9hR6D-TN7^LJ52XGmj8WAT;+|4bJXgy ztlT=NH+fey3?)PD+EpUs425ZJ1F34ex8Bb!Y4?18EBdi_-t^UHr3CGft4jMN6R*}a zoZ!ROS0CQpf3fh;@@x>P z{AY#1oln0o_RT=$uf&XIw9V<;t?WG+3`fS2*05FjOHZ+Kb3=%l-rbJ2YaNjQEIV zTPL%9L$lKtJWkL^rV1pR7>cI?B_hTlUBRKGBgUyw!Fg7U%dCRyq8PVh1@{#(9={5n zP%+-<3f_1zzLW~SEHVDV3jT62ftm_|hKfT*W97yQ2ovOgr!&?5C!MJc7lHv;3~-kt zRBo`bqL+Y_I9F!TRN0@-cP8k=U{lpVHrhB%=zk_d-8=WZe(I5POVHxb^G7pJJ$uuHty&+?wFFGmUmk9K zvhX5|9y_vn@t;1OeH~Vw^G`p~`*i-knqr+S*T>WQbk6glRtHEDR!VJO*syMSXM#WK z-7JxKM>bA3`>XKa;aKgZM^{E)KHnbei001M*VXu%(PZepU*2Qn6dv z0H7Iw;eyC3z5LS9i=8?PI{!RNRQqjt-}v$i*U>66>&0TWHz(2&zwut_5v-3Cp+Ey# zCuKqM;O@rmmF_rz3*>41N!e#8kQ>;|)&?Z0sro2i{HXCeZu^Q`e15f)D8>g@IkZ{1 z{jp3RWSwnzXk68dz%9=_%QVr$Uitwp!z(9jAh32d>jDDEVP{PS(f<=!NydgD%6-5o zVPR(~^k3Lo_9MB4!N$ z1mkJ|D8knksm^Y@KL9Z*bV7m~_a>-?VO*2I)3rjuoNND%BV7&d1EdQ$R@4!@`qFXB zNK&KC886MZCky6Ia6>AOF?zdE>#CObBH2-)rSe;!o*|%1mT}rHL zN9QfL8GfiU8ZusXuVgl^uZ?h5sL?vM8Cd{fq(j>KQ_eL2JJ;Mp+wU=9sl|Q*dt*`S zG9TohYVoGG(!0XWWZAC{MrAQ7j{clJZ(wqxtjYcI^I7-w%%5}XbiL(NDZMj8LGdXo zc3$uP&*$L*8&7T;zxzegzgHmbF!v&P;%i7-%Ig@2*0LJt_2DwfTY~s;UuqvV{MmZ^;@h8Xp}DK?_4e1Uc04^d_L20h@pt)*&bCnU zyF0IWzZV%C9j7Vk|K7AY;If=hJx23jW8LN4uv*#cnk|e%{)=-@KnE&oT)vaOb?|~ zk^TUh5ugIbjy5ucMzr`w0F<}WV&JX~{SzI-)x-yuBup;B0btb(<1k?K(Z?=?+D(q4 z2N~CTnHdd1z+*akh?V04fNnNr+ddh9%n8ImD*%#Q3YH-aID{y$z8%U@-V{a2TckzJ zBKb`E2)1c_uUxe`FWBRYHYn!t0o<}Tt0jaNW>Ylx_89@l>5?N5AV+8)adSCS^2+}0 zX?{B+&fML*$6mz!YIuM6H>I-X)ytZ~-tVsEN(wQ$_`|ySFUHy>mH&)7WvyyKGmej5 zOB9{lxOg0E1h)&50KU?VdpXYA@A8s>@=)N*1ji_YqY6` z)siyJDAXW#zNE7B)#QAFV!iN`dF>XpIH?uvEXwtw#MC11wgMQ#AU#83`+ zirO$6QL-~`JZ7}qcKy9Yir5X~V09TVIyyI-z(&9ME@_To8J;B-_X;h;2J{+1>{1#B z%~D=acfoPTk)DR6OTW&Y#SchkH%ux%{H1V3q@%EL+}9RluXrVfFf~YPE>v){+jhG+ zN17bcPL?WMh3|TovQ;RN+3kC=DmwNnb zNWP!#i7ej>_dpahiu{V%G6DKh<7L{qnf#bd_tQQSlU}rOA~vwb61w&eLcm_CWDTRFyI)eTQA3A*&vK1(eZ4%52o z>}+qx#u`W?AQKk+_z$wtwdB;>;%3`WH;%Asq`q0!plScB3AL6Z+Gto-OWDTx4V{G} z$>zM(%L4*gFVc*K%#HW%P2t%Sq%K8&3xig2FS2(R28%2L#pfYXLgpjR0yZFwz@DJX^KQBHtuoTSRB64D+f=wWC+0Sv+q_^k zlX6IArdfCmTV`P}2Gv*^Dd#;%If|IkE5^PNYqv&x75%|E3-aNp!CPMUQ*0WwA9hqK7Yue7Lmd=){2KAYo1HB&<64 z{CpMmoEZCc~^{w{01++h!FB8VoB13Y5A3&(ELP^e}fIrT0xiR z&cwfG6C>}Nv4H?ja@?4ZO4zki=5t>e2&eoBw68lqBH-5yML+WS&q<8CZ`?M?`gF?N zfT)kjm&p9{_#6gD+Gj7s;?7mLFplBG4~-KXk>A2#Ezx*`>KMifcI9HO`3)}H8UNvl zXr)>%V-3!1Wq2Mn(IA|ixz*3c%f+u7_H*LKf7~=GUatE#XS0>wj|jJAr!m0WLnU}9 zI{Ki919`~#s5;Ts_CILa`MqTKWxZ^YXpmMwb0QlZP4jAXkp|iAdwPfv{cZA@>yYYh zI3MgARx24E$F@YbZe}t-B+3}I(m3_%$mmU*M7y#0%$U^T;?&Z%R13q@h;HlhHvV+( zvnTaFT8>l+?%yhj%-|RfTg~(z7v7y=_h=1XU$V`o_^6|9 zYv7Uu!&TACOpzq0*s{Iz52(UwWUw~HGInR$(I?|cY?LZ@nI?jaSh#LC z(={932ml&dh#F61*8XjPQqk*;JYTyXeIwlIuz+`KlXJO+JA#U$Tta^K!q%7(0DICq zlk6K!Ok3R~V3%bRhN48~Y?GoCrddXlNjHA7oVPH6mdAYY? zsOvUJ+ashOkYghTWq@;kqUO_0$aO8$HgG{9h0SkWC837SnV}bvcIOJ&Jot-5w9Emr z=O$9>>9og}VEu6VceEHOR_yQ=dC3KNsr^5k8NP(;8I_m5X3OdYjln_@UQl*i ziJBoEAl=%{#lM4~atcJRGiI$|ZZmojEN1BO3X3Y6JfxTz=NRGxPT9y*@6%FvmESog z4wYm(jGDMrryXaoCld#*fHQ~5=f7C96iaB7O|b!pk$Ho!a1L2Xl`2NU0CWlKaz@^P zV;;>%J2X12fqi*CjPZ*l3N&R6!hxw7q;D7_t1S#zDq~y*D>aq@KqWveKI;W7b&&%a z3mC;pE|E+ZXG1h{ZiP^ccP7|R!A}+LBLn!DW|9Acwmbia`tSS3{~l&#_OTOV4WSXq z-q@E^qeT=&Nr)_2qs)wLEY+Ya*|(x7TehST*=Z=dYKW|rq@r!U)8{;n<2*j+^}W8= zdAqLfCkO0FPM(OY(yszkdvS`=OF?r_nLqYf!RcGB z@*2I^>QU?o7H{)Obp^q%z&Tt4MpQUpy;(kJdvoC-r~&{aYX{aGNzpR_>$0%&Yrr7@ zFlX_8n9xPnBFqp3Uk$beStCK}xEY%V>*}Fg7U;bL&e}gbZ33(By3d=3E4r2_X$zWL zlh*+tehoB(RYA(y;AS9rdx#_e%y**Om_)Rj8VNY-EfFYG2(qPM13E0Y1*h!^=~&rg zK*6>1q(T%33en_4RjXp#pt5WH@~#O6xU4W&*dPOe8nQzVDWXgu>R3M1r*Kt}OX_!Q z&r_^5;E$XEmCj+$9>-d-axpltnd?4mn?GboFdteWS(3U+J!-D1|F=;rr`EhmChvMWSDYX$PM0};M4Ee-b=X4&3EF;?*OiT_yDNFE&PgC(X9kTQI#dC zknaNT2UD=y*;N$+KtA`|wY>qQXcNA2(^|k?DOW*mg zSePUZ$WZO<#(q35baxRKyo}vO;^Q??hys8-r`oD8>rMJSY#~SmdqE0s?NCS1DXIhj zei2uBJPjN+jNM)kZPkUWE6j ztghj;7zSc%4FeDpY>WmSS5m?Yvw-v&;%saR)BG=~@u88B(1ytVej+hwV&7ykEwq`d=9J$_k~zEWbAF zE;RTis|3G@!8WbJp#<2=tu=~A)K1t$^=@kL4IU@EI z5PSHxegd5W{+*sRa;fN1HbEc~cO6oN_Lk|WZNmq&2^F?)7xDRl&J`-- zEVO;ia$z|aWuIm0h0DhhLS$RF+gB*$5I*lXdx}^B8Pd2Bo_jC{Hz_D0UUHfi>RUtT z(0L@{I*oP1!lMKve!8RW@k~+kuG{RUlbR0NEmHfPQZ2(pkC2#3%N;VHmH>OxAZ~@p zzPq<>^$HhLk-xA`h83m=qHCohtyZYQwV{+%{L`^0(kD2)7n0I*&!@M& zy|)}`SUio%t}?=aslPsVJK~(auOXgsWM-}6AetS9Ca7x-r+K7^?>4J+wGXXeU>%3J>?ZPz)U)auV^he3QJ^n@etbHf zlK=}{Ycd?d=tF_}OyONm6_D@9jl6{fDuT&zKZ8TDRuj!T338Lg*6$L9akV13MF9mx zL|pCZ$v?_*0Slf%MliRBGqB+bM*aDs;c5fJsxDZCZQ*G!gbG(3r|$9s6Y$~&)i}dH zHT<5*Faafl0!)oWKC}o~B#BNEaN{p<`%$=q+whZw5z&qTK@kz$#$Jq+F#jf_V(W3p zv+ESMB$K<9QDOU0lv~p9TTDu6pPTbo$mOxH+_6iKc}(=!m0x4jZR2#K z@fer!xXa^=Uy^UZw50d6l_2{&!f|sq#%~R?2(tF;yY0WOp{7_5Zsf|&Ko0s@j6tC2 z@N;=+**t)ifdn0N-H+SQZOh*#u~`6n&CzV(Rh6`n`mJKE1c0=v05ww?j0vQ<@zN&c zOpwu3Do*j!JM6FkAdP)R2oQL>g_T{zo*RvY@3@ZV2E6Q77rR2im3iZ;mT`XCI4EEV z9n*4{13lgLx-j7Wp=!WkO))Nz-%bHOEtIydE;i)<8q|dwDDC2=$oPK8o!A9>eF*#W zvDufOZ<14_6o~3aSO9=+6z9=x9MH#iD1Qk&JXG!IhIplNKi*ihR0(d+<^TZ7ikgIV zYgk(g>>&wSb5M`M@y849CvY(P5wBH@MU#pQ>xv9tqHwJ!+%Yb70brVli`3MM3=sUB zjWeGSWwDV3-YCrDJhX}6Jz%+py>yR-tN@U;B*98{K`l$*DNCT1B$WGFq@5_xRwZ!T z7+DF3WuSp}63i5j8(<0Gh6EmxR@?9INW8N2v0eaDy_nD@dXK1-Hk*O178vD; zgzVkK3Q@o}_u&SKA7!~_f_1zn9kmQu2vTSBch-nu-dHU-<5GR4-CG51Q2%R9& zV;}js#O#y}UsDR!O%P`lXf@`#uYL+!L0SrM12qYJOa$E*NdcX}@H_aUj$PNmaq2x! zfMi+LJ08`@JPCXqD=EBp5Km zim?h-$KC_Oe8BMO2Nxu_(&Uj#BsC#0vX^Q6u)wSQ{$nJya5C35Mvxw* z3lySQWO^F_z8K0R0*$KZ zeV504nO}~sj#r?2^8T?-^r|&h^4JIG=HU0QpJgBWc(V2Kuip?U$2Hfdu_zhK9LGYOHWtNHpAY0`Mf||`#N+C9YOT@{ZsS#Jzm_=RjVuK_tzCaX?~m?h5SqU z>Giz8-okUlpM!X88=p*tH4BAM!?rQ{X^f8LcV^Z3QS7ZwX+ak-M=MBL;DaH3F6B;c zNC(cUivzudE0O_;;j1D?L9UJQqdn({N^T0f@_*A;x}<~LTLL?GfE@2w2-%xg^u*HJ zKU#199PnOiSD}LEHU$u6O&VxkdRP0~SPLc@@f`%@?zTtX?^cEds^`*r0|vNq=sVwi zvc;m^KMfI|WHAoy*jin%opERxmbS_@Umu`#fD7`Gg@W2L{tgfzo#yb$BirVTvuE}N zJ1|iSXf5pd+3~{W>`OIYKLor0s7BRe#AG9%~ zVZlU+MLeywRv=S+@Q5i=p6K&3F2)f-nd*w4yx}FvW{R)C}oEn5sw*X z)|-S#`cHzW5=Ws$gzOX5P78;Lcdp*FIMbJ)guUF-(Gp~cyv$zA8j7=Ki2$9V-#LZb09_E!3tEiOr!`7<3jxOg);0xbvmvtP)LJ_h z@W@<@lY<|Rh0rUqwkZNJoWou14vugf5GLmNSq~;qRCM3|RJWi5^t&~zeSGT(1n4MW zEsAXAHjKy+=0zXh8M#B*X>cWCQ9Kg=4s!Y)$5e{Mlmuu|$DJ8EmZG@#sJV;$CQlIz zI92^+fUJlkLt$123-@s&+H_2ji^#P2mwu}HHF(_(lP7^OkiehKQ)E^>7KbcB(+lFv z)!2GWR$CB%)|bDU^;%3etl{EaOaA&=tS{fXAQBu{2kL10fo7*!F~IiB%HT3=fXd z>^9v#Phz?yw_V4GyXw@KSpfdDlw_%HkP4lyy2*dqFzekZZ72ar1_xkO-k2|zTlclB z`x-IZMC+}YIqTp+kPBlLI&6~|`B~NyOPkdg60UEnrrLbBg2scWVjSM>9|NB-u8NN* zAMhoLTcZJ2$l?r1j*C?Z>LjG<)KM8}083AFmT~VgO<=-Wj&R%NZlFlvd7X+ya%N_R zY}0MO4oMEzl+*a=G#?R<*E^^G@|I-i913_9xnodu_HG5~>2~8<#uWxix zu83dD87@La#K_-^He0qhnZ09OSM}b9u&%IEiVx?V8N_P2(Ryl~dWgxKqzOH>+0Y{8 zhj;(uOHM+i$&ftX?i9JzhuwDXB?*vI;A5yfL=^p|urKqy=?#3BlzfqfqFke1c~N2k zdUd9?WckT!y#QbHoSWoIemjoMQU8K*=Y^B8>F+Z&&zzag5{|l)UcVG@^z`^O*@?w2 zLA}7p8{8Imr9Bfp2jc>7lp3B@JvPyMtTQnEVavR7vAnf2^kU}o0Q9A+dJY>!qPZd) z8U7^oe!thdR2<-d-gRb-f9J(KhA*RiV zVy$RlW_OjID1x-nA1+-=L zTuIKJ7F4-%M0YQ_7s*TeqBni<1`FVheNekAUe{KP70foQPaGfyE-Bf1Nk1`e6FRPk^FLfV zld`qjVgq+F2~0Z+k4YG^Ja8=&J}q~ro^W3puR_0JCU<-Pk}2z!1KRQ91#(zvwoD)& zG3e^sP8B^9{j-UME~$p#D4mV>WIO-hHN@^}?WXp<#GlNVkv5riVP*a4x%oXy_cAa` zifRY2vGG*$DV>*HyiOkmt)iglG;qee;NA0VV|RQSTr60-;ur&NQif}?dI}Kfx@0a# zwj9QKPdFow&!Q5Y!b+jUz(*wI@*=GA$s_lEDfnFPg~)^g?WcGI1+-L9V;mvH4NS}=NRRnPEGOoHMUCq}s( zV@I;ycOXi?(1HqoZ;yGbPrJhwoh;0yDc_~7(LM?0$B!r6bpoX?Dn6WTVK7Z9*LFn> zi3x^*_Q9KJoZOZPNuW%{U^&0GDD#RnL^h@=i2+?D$pYilT0{(?8P44y0oQQdHrfO7 zu~pu72q~FGvQWN#g$W9O3ar?xwhre#*5q5Uk)N~AnUI5XB9KasihweGJ&o491gV)# zjmlI5D6MAr0t}o_;u2ifRZ4DMUIQqhQTVK#8O@*K2^3Wzvy~R62#~-9+3;<%gmy%{ zgrue^BK{5;w4cEu!9`vf&;-I6J#w)I>}UoyCcc|C;~5j>+7astQt&rhWmhRxNz)np zxXrxeTiasIXd)yzo_owMmzS`sl}I!KNUf6NsvSd3ZOZuF%Ek9mqj@i?us{(_nMMqg zteq^0S?OZ4nRQth;^SWkYLNowNvJUBR8 zDhxd51d8sUlUOng;?-EJvF@f7W3gmE8FVbXGy_aMD#0(qNwZr_;4pVa`QLEVmi_~C zg&}}(wI&)|rU2Zb3EHoGzp$85bm##_p0OlxE#-wipbU%XhKYKqhjMb6o9VR7NB4!` zc?l4rUNY|kVk8mclE88py3eDzLc3M{hM*~ltdtdTpsbO`NehIRO4}r>Y1`rW1b1i) zi8jSYu%SNPcSR*~^i<`48MI0ifX)ZrXj*}Fs48>;+I+&%L?!)wmPtwEX9u$4XZJySeiRKEhEeF-*VPUo-0j8 zkWlYgo4QpXntcY#h1f8KPiXF#!Kj|y4XfVml%1k+b3pm#aGE4m^#{_(qVr^N(&41x z-NH#~7AfbV)53LkQ_~(o5igD&7P2ngow<3~Xk?FiwA{DALnbbQ;_dMgib=8oa&mnz z@%0oj!ici{Na-iUQPi%)@gq7*NA{nU9HSN;|8k@b7;!G$f1fyVc=u6R+K8+AsO#mU z9tk4}Ye!GL8aWp`>Une2>pfbuWc2**tJUW*KJ%ldFYX^(9Q79-3s4*j+&y;DVl3$B zSn%1gkl?Y<*s-viW8tM^mmZEqJR6G~8M{0`cIC@h6mOkKc$}sE;F z6B9h%Th$SNb3CDRd~O~ab54O_vKZq*N~&m#EiD^oeo6GePNe=yau`P(hs&n@$2w8$ zMCQ$ZTPGTs$eo|a`!bOanJf^VEL5B<+C5opF?No z_iVCaWU_L8^8S~}2au^M;i+oHshZtWwH8x#N2ea1ovII>YKWa`ygAiW`gc0>%hVId zG)s88O>z3^?&)@m>5ik*&(2PF22XdzPIup&?kSz_eK_6sY`TABdSL$Vbms0?FNC$P zl3$%e!T&S(Bh9OXAO1%ryzhhrw4mUB0cpwcbCmx^vN(m{h5j@6bI#-95?YASYl%$_LNUQzoVgG31UqDSAOB#UVI5fCY8HbM4S>!}xEtO|tgd9BokSt}q zO88E58y?A`Jj+l>|34#HoH)+q^XbkZ;$wfoSD7c*>(RgyPqLXPki3sDzkteN7yi*Uwgb@_ylb8m4Myx9Mti zx6-}Untq*?)mpaYj`wvh|3F$2m+0^7r$biWH}FUnUM0L`*ZE@}Vs(~Hlspxgg0n*) zvh1qIH<@F>nL(zKCc7vfOTcpCbRn)tvWrn*T-^r~LCIC#|9)0#pE`u@)SWjGJ@zk1 zD_(8ATOq?|y+`>@#d@z=!)i_4*N&e`z^>;~pZj#%-(A;Vj)^`$=uimTUC^E3>y&?& z`Ztq7SIPEieI44j*T~0Q3Y#DBp%vf<$wSzvQnFZL1V~hYAD9M6R>a6V?nx$3k6d`E zTIl&d3I4?Kd^3}kM!`oG;^%_uEXG}n+4ou=`WNX=g1;h;J$)+_6M4z@h@oA%ls13m zH-L4m>P$6HeQ+dGPOLY?=MQ~WIKA`t*5aK9zrU|GeEj`mt!pRu=f;>H_t)kVg^1tK zSN%^$-(-p(9<6?K74Cl+>SbjhrKDWHd7oHg4L82xQRQO|u@lpynaokJ3Wl>dZdva8 z5I%lcDjAK-Ov7sX!PPXJk0=nGD|4uO8M6}RPm7+E$4$SN<=%#U!GevEjkux+Llbs3st7PaZ)N!NT4Z=5{4_l-Nk8U*^!tA+?5c>2VDUw_J`{WD{D*SV+WZ0{*RuIXEd};P0&`w#s6b{qQrv=5N(7H8D~kvKK3C+i~VxU zI&S<5GI7A*@vAjnq&qC@mX3NPnW=2zU95C|VY6LQS7OkHXFesDFXaEHJ|Q`ucHQGE z5W?IW^1JB|LBV&tG%o!xx+rfz>$%Z4|4y_4c*qQMr|kCK<+~O2%gguvdDVFT7ky&& zkN))ct0rlrX!y@n1DlLS*ZU;MqxGi(cW4ApUi+g@+`jjrc~#E+njZM^)Q6Uh(eoc4 z|D`|u{JQe-2>?_3m)V!>t}CS4@=_0N)iMq`VqGD`e?-FE>=`}B>(hZ0Iid9~g$%wKN)^o{rsE^Q{P|um|V>Si6Do zl&)dLoAfWE&Y|zWjJd}D{i+dsucANo5QTFc?~vO=GYwn#^vd}0Er2Bu3A>W1OBcPc zIm6g~e{(i@&xg&oe`O4B9J{b};4@2*dIucPx@8y{ae=v*bf&iE$qGdf{qSsx4J8A% zTfa_%dd_{n$upwDk5`I9M_?xV>~`7g<;4B)k-sp428=hmeV@HRTm_M}0qTxQId55B zn^RMj^W$Qn6!d3=u{m$w=*~s$K#!5lvgbC~>}kxZal)Hm^1lfK|2`S`y(-e_y)Fa5 z398Qj>qzjQ<67F6LE7sr@o$sC?YnvZd&K77kL#Fcb1QE$c*g+RIqi)1Me7-j)qh2T z|1V4iF5w1#uK@;k<-ir?s+cdm_ZG^Dh3Q|`-uC%P!e-*OHk~xa`N`J5x&I(G|I2ax zGa0m&JeL>#YcdE~ocaG@GO+#j4=mQ1p^)(}V$*!Qc?8s-J=q{s$MG<+`rtI)a|C#t#|LGB~WTs9|?oL<1+y zFZ9=6RBO3vj|?31{q`zsq4L}7$ZwhNzrCTtG&VUg|2VFVPB_5}*Yw6+&s6KscEw&Z zIv?tO&{S~;*z+FCa3m8IHE|MFVmH@F!4Pfz+b?;x=K$#lZCDtIM3fN{As^&pP0ewOf7@N`^+Sl@d zFrUCe)SHXfIqTW~?%@KwKgWOM_cak68|9ok`?CSDjvH9O^gs?^ox`BWnKSS^_!`BA z+}abQ)kDDLDGE>bOKItJz-!LhUf;R9#z#+6sW(a0;#NudArGs3gFV+uHtiRCiuA&V z>%0!%IaH`7GmBK=;l%kns%=Y`w3Y{MtJC5vmhJBzyJMSmKsY<({jmzq@<5}d8IbRB46ZH9GM{#kCP|P&wI>=6ts8n@-6Ly$LrFZ z(tRQt&M&u|xH4#Hq_ed0AYwNcnk5HMj=jLHx<;^^S@qOmo}1{#~ZSFBO1; z`0%+DbKCHe6qXud_=fE+Jw?(9k0nLxeSrva)~UDzrL2?23AeLM=vz0K$LqDv-mEuF zIGcM4?WCAP7}9%Z?$_&7mPbiU@GNxsTK=x!>PZASH9^j4E{h3O-ClHg7EzXVI&R4$ zJGHY(sj$RSpsXP2c4B$)tqRW^|Cj9a*R%D%cUYey_xx*&KW6w*o9E$HAC(9-M0H7@Lk4!s?6ug{ zDIcFx)3qaXdc9LA|7T6NW}2Z^@9uj!T73qOrnUNQbDaa(ySR2*LpqXIwTAVz25Mgz zo1r$ImRQ$ynMb=Db<3!GJq{i_ei4;AcKXaVopGlOb=-t!l+o7-zdNt$CxI%S{Nd4e zdC#km1@6^vlm0&jLOIkG_04I<$K1`C#65#N1cd9dXC_TjdW(~OOe6eF#?IGGZ}ZLW z>%Gf9Jh-)(SB(BXlHs`eeWj{P;|D8s9K<3)UhGfPX!-ox=VPmZV2j2R{!@`3yI^lt z*Lny$TRuIPmwCK?S#$5>&wXb3k2j_cM`e6@b>`ILuWv7&YW?Owi)!6`llG={>tpc~ zMR{n%Y}e}M!UOK_%}zd+>;NYpfc^1sNp7vW|KZ`v^%L+Z5bLlu!Gt4hx=;(Tj)F@< ze?NFasKXV$&H5?+R@Ld+qJ$mJnmBK&d+hV$P#pkBk_frSlO!xq=etdrtl5~qJX}#I zEUJS~xC~&yemqUG2FT*i17~VgLGcQFECTk1_3pUtXBx}T6R;<&1eI#&7wXnT@mq1` z{hBG_s`D~mJ#F?X&@q5i;k7srZ&j9q(NbmMeozwSOW>);T1@4(Z4~i5Tx;*M_9_-k zxV{43MjdcP#%DSZ0QOZY>$x+KaX?vN7E`*}Cb8`kYj41!*q+mMZ*LhR=FrPq}9i#2zFo%sPn$FmB4OpK~sM*+U+ocSJJ zJ@+D2$&P7_Y;iN8Pj1|P+k3lx6oJ=NekOqMR|cIF!0#J&2QIDgq9KI<;BO|U%w&)h z4<#Fv+}QpZK%f)?uctEs;B}SUfi7DI-=#XY_q?6!)ozM}?Hm{wR{)fG`##-Nh+)=U zbCD`go(~Sd@wzz~;YR@l*X#H~Qs7p*%aN6O;P|I$1W zrB*C~8*z2d=yQ&BS;nOK_P`b89GI>J0?Sq4vpc#4(W@O)0PniSlNH04HZ?525>umE&L|#kQZzmgnAXrg zABHOGb46>3Zj*htD|@To^FZx>P}w`3M}N!j4~7kXc2O-{Fpl18y`nQ?_|6Rzfox`f zH{CE7+O}vJEndIQgCeB%duegyWiqdH8LTRz1CD%uAuU~JzDh%RQ_LiWJuQJZ&yXGk zx5Ul(A66LnSRQaUCEQ|(YHff3!@=)k%!gLS%_)d0!e+&Qt9Dg}5u1^^O9~Hy>8{2m zCve)w`UmUl8wTEAi1;zZLGJ+uRWE4N%U1%r4b4NBKLoa)ANk->Qp4Mq&}uMvwc@d- zd1b(lBzo!fFLc<&w(6_Ck!Ml~AlP|Ofxll^yOf7rgO2ARe`c8jN9-$2HblJr1HuItIzTpwcl4!*P{#1%Vf%+kqlBK5o_xXUjGbGUwT4 z@7krDjy4U`bYThp1&W864EzNkwe>iw44|5fZXZ4dZwZv+x_0U3Jl?3;!-V=5An*X& zmdQsI2OL2Fi6@xV5R06ucFBM^hZB7GUwB|z_`U#C>jQK53=2){_V=dM9dt(=47+C@ zL)`2oFc(ibpV`sBr`#o=o0A1F_^p}7DfS%pdgFs} z1@%5csP4_}`mltL`OPn9qupnl?u;wicE7`rX^-Ib}uLQfu zAHe1n?q=N|*i)x}_G;z2Azj7El z(`N;yo)|(`)TQHRd{h?byOhl}b)&zW#&lb%XF|OOlkU8#lRT54ciBtga01@(m~nrNgK;x;wwIk6v|EkFP=~zyR*r5hM1oO{zc)(`G0T zegO`jGXv*DChIlKY+U(Hv@#Zk2@TsdBuczr9pwrQF?GAV~vloz)i=j zu+H1x6q^b4)3;{q%)}&iGjhasX5L1%K!LoC$Xq4#kI{rOxaKzx%<#L*3!UgyA}&2M zad&1Sg#UyI`c-4y~qc3{GMNyW@$w_5C*^VSK9C$as|I2oRAx82#Bw0wF zv2~Gg{$-4_L(=>m&kYLt4e6TP80ob+X6uC)QS<7aPRj93Dogi|_Mm?D98Y_|%_qIo zjaFgo#e#i*h%wRfs4g(`^w(=Y9j^tBV)`gC9&yZFj-J=8L-?Fh!0m7jG3AbD3hwPy zaYjlkG>O`sqA;=ZHXN8|Co40~40T_7Zl0pp<0ht(^d3mk6`^HvLW~xzC|~zli!$w=MpDrS{L`Wo3KQN6EaYOp`tTu@g%SPJo5p)fSLd@Umo)PT7|-d z2i7VlI+*Y_bKnHtss=xvsh7n>z&Xs!#v3UYtp9)y{R^I6Di;jP&GAE+dqJ4YQOqw= zI>3&N$;4#Dc~wlr-rc(OjkBNUf9UjN2u$2^89%yuI{CWrt(kOQ|D0gg5%fGuJvBX} z4}oxRL?4*2&Y!@a>rrPRoQ%Da*a=t1j^t|gIInPZaQF@NM=H24)?V*QbGK(O(qdxA z>G50Gq^tFLGg*5xy)?LNw7%E5d_ell!`xg?%y(wqHIMvnJ><@ns^joOUmz;=DH!0NRArA}jp){{=A*t&6`KwqOI=ry9 z9SsdH+Ae{Hh@$1h(G#rV%bLDW0jH%Zbq+c9GN?euRx?^DitBG;qU)Ka&4X8t-qXV! zu{zQka!@;k{+miWYrz+|$I4?a*Fp2(H-7xd$rApUq{TJN{Dj&`BChfX%#DcqFsJs- z6`d;LluChU5)lL%0*|}I3zoZojWy)rvhXvGgF%>7kE_i2O#3Ekfc_mqK*kXcQXLmb z7zz&q@TYs7*`tD&M?wiS2%+sFkIa$A;`9nYzGERL0K60lE&%|-?DL^2IJm6?-|-7K z1n}?Kmw~k)yeyv)00b|G1cCvrbHdN`DT_=D{=1O-$D3B!YJ!IAcet4U_gUD%BmpP-7$<%$p2d(S72+YbB>0$FJAH{ ztFB>gbcGv&_~Qfs87$anJe#>2Gs)&de*qJw@D3w*-dcGf3Fp`q#%(7oHdpa)+*?Xd z!1aOUSnk)>tk<{*pe6mv6tfsVgKqt1wr}lzTu+Sx7`;OBHQZ-qsOdH1?`t*bHs#OQ zWSSCa0v%_M6G2RAhVSD!jHy?lu0;+lv|@Qv2-<|&P{AEEz)+` zecF%4pA8SUDcb9JSF@VxBQ)A4BQcYr zxB#!Zedh!s9>IbbkA4X8>LdJioNu}p_@jw3#o7Csib;zT*aVWe)TTw7xLud_NoLwm z!yadHLmrQ1H>3;So@G&*vM&G7yETAsc{)WRFYafOum6YqK%hM#7CH{Id2tuiEl$># zJ_0-Za9|^xseL6;|qAc|GRE;6LfqHGr_4X6I7pYa(GIjkB!ETuVJ1XK_xwFT?@{Qg)%6N_T-n% z->?DY!M^TDj|bNIAArQPsg|=!_4IEgpDAd&%%B%dX8|j3@5p_zw=o&i`cU5ee{l5d z0|R>3a$>Au&qQk7jmVw>eD>E}&0Bn3%~=?O;;0P1&6}W$ z9jLciMLs+K_zwjouWK$>1h+4q?%^l=@gIE3NZs3SoGI<P@`hN`a8_a@Ms;=pF=AH`y$u^kJ-q}X{GvPNnQ4j)O>Z5p*cCa*#vuW zICe$VU}kTo>h`5z~i1 z@K%yyy#t5NybtUg>_ls>)_y4Px)t}*?mgPYg4qev5EM)2`A<$2LvQHl*V>3Q?4vh< zZSMj{*z2q@9vOj!kJGQc;>!m7VG&fA|7BRIw_wT?9sBSKg0B@Lr2* zhJ-7}EKb0a6UT{#@KPj@{C?+R%k_=5p=*K~b4ZQ0W(}Su@qHF~O;kPNm)b=vtWr%K z*N6aZ8`cI5FOf%R8CQNr-x?I@s;z~d=VH^GvU9JS z_fW7>#LuTCR!!7HO|J}=lAn?CEu|&`Mb5ufKX<+V>>0S#hxc^5We@Wa;iE9RC^w6DgW3j6+0M*0 z`2Ha#C?|JTvH~v>U%P0$1~^kh*>|&i2}2?8x{bV^?ZBnJJHcdJwVJ|Xu0AAGXRNH% zFY(G9Ub$gf!-)Z4LgB4lANE=pj}OIJLAhR-Zl8zhpo85gz+qYK{0DU()`acQ46w$3 zh(-7hV`AVJG{*(*w+20MMPp_^;UI~B*P1Q+6~2_ipJGLL@ETuOsh%0aa8HNFX*9OR zwWe7SAz*Ac)%lSbet zt8SlHeXHsmaYYQh-9JqQHPu&FS>d)I7g9E(J2{TI`oF)9soDXqcexdK>Y`N{s zg9d$=e*x6(f&s<<-qut|i;>23qa&?@^7{qCwh(cKf_lA#scgA&sw!Y;mzD1r>V-P_ zcN#|uD!9X_X_Jf!TEODD)d#{L!0X8h0`7CS0uHpnN5sMvtM2_KBNz*I>YwftOb+xP zAmpO}y-CdHWDN}_7+`{RNH|#*!HY})Fo3(OMhF#FY!qJE0dae+h9M=);{$wsKff2i z@5TW0s<`)ezka$EqHo2=zmGsg1IiI&1RTF|!P{?;oOHwqTOMz}9gLn23T=r^!cj7KmM`QGHF0S7xJh`cW-w*(A2>?e~e9BceqP+JZ zSdB5R2-@f4PuF<9=K^i~$%A=4o!Y4c3VjAm&L_W>2iQd&C{jdDK103ya z;>cwu5JK5WObbI`V(hTO95e$zEMce)=~L}J-| z1}?>C1&`v@FAveTh3!mEOo3fj3Wr>PU))B1QV+x-eTE?9M3}SCC(C#ZXWcrW<{a!N zU$ku$WNQ%0IZ}YQa|*g_>6<3)G?(877-%+dW z%KN7xVNTQq9M2Zy!FdJHK58INYS8p2IV>PO)L9^6h3i(?&9Tc(>|-8Nuf2$R(+Fnmr>Cc;?>i6UJ97e=CCg(&m7ChF=?WnC0`hcKJDR)-ka3z| zIv-V!UAsL$^6vBnN5E78?sWQx$%0J;xb++{2>1Zw#Ql8lA$|FLY2)dnogr#QbUUZp zcY;T0o^G+)P*zTOzov*|Jj8UOm)`nmkC~@9UVys$0=lpf^?6g;x+NpNtCvP5?&&Gi&Rt|d3vsK^TG-GMH@_(V*m zw&FvA1cxvMp?X|9C#@XxdrKkf9i(W9Lc0QTwLL~?j{F|01kUgWe2{da;hN`Igk$y* z$Gux9lTu0Mks z+hZ5^h4B|k0VJ)Ces};wrac*en40tBH4`j5koY9AXThX^sG~u%`1nle{*tb3*_jrp zYbKB4Z!Df35t9b4jAxplVuHl9AZ_&BED(M!VV7E=2*0HjP1cpCt;oLs_QPm|*uZ=-x~rtqu}D zI$Zb7M`JkE$#@Y59FVY&^fWt}YOX8$iD4B<$eGpNuJ=suKw$mF+&S$9{l^o7RxN3HUxc2#4|( z3X~mY#+fh^UuGajhzBf^wWE5OMItwe4iEu{N?E)QOYJ<CW<6hwhkwoHaNx zIXYV3@XYr@@S_v2zm7IMu~7G+892|1j5Q)YJqx(`$oU=L*qwpc3qhp@F3S#M&126l zggkuY@*!mG(Hn?g*fWEZ>&KNvfU14rBacpgtsi^*F?J_r=P||a&1z-$v>8VP15W`j zj}d=f^`k<5w$>i?Cw_Nf^fc2@8K{yr{y6^_mveiVSt9NNSxmC4(j_sI_@<{vlgW6_~x;3xkLH36mQw1WQeJn_i5>Go2Cb{)Rz^mdic{h;|Xs>iZ4rHKp?5(40@z9RT1sEq#i8HD)SCRt&73d)t+1!L!3MIb~*tHXIKXbSZYrXSQKnyn!DK6{Bs~Bak zV(++upnO}=UY}=HE*{HyJnt~HH$BoZN~xp=+%sfaBC-Aqt275Z4C~$ZlVdL8E_u0x zQXc_%d)mLq9dHOAl>9agd=!>4nt(nFHr}XL%y_(d&+l@u1uL>K+R2>9ft=dq)MKhs zBa_PGKn9r}K`xChdl;nQN5TK%Kw3lU8(#4^5QEO)ZK2I$uRer!MZEsf8ru5pRY!f5 z1qndEasVJ}O-6=(G!XTUC|E41>&HyM5H|ens7MH+Lwf@STp*MP*SbENJ>ix_siO;r zWbw$EfFue$M&zEqrHZ%gX4_#cv3rdcJ8bO*-0HY__18t=S|5neE0P`Ju`obg;Ax^0 zAOj5Ec|RSjym_Lk^%EZgQtW*S>meroa6}YR%l8Zi1nu4A^LnG$sB+Lm;W!+6oML1z2KVN#Z3Afy6B#EK$;HYtf3yY?96Am{Qa}nhG}IdX)!ogO&P9C)f%%kV^3iKN2)3oE?WjX$>c{cwCQVFfG$0% ztVO%75*m}gOn@s0!S%{TW8Tv2-;$>Up3pY0c}iY)$~L95=(0GtB)nZ(NC+hck7<8A zG7N$_3aT~&5*6x?NpP$+<6{|Ls4JxLu=b9hHKJ93a5oL397|S!k5gL5Z#~oyVi1Jj z(#&Tu`~aTyNeRLC!~mz|;isdi zGqX+gd{Eyi@^&P@8guW~qe{7#af+_AKW2ln*5gxal8ht*D@1PIl34>49lh2`> zzB4RFu{(t;#-Pgx!7Yx+obZIC007bdDZL73$!h^$GoR**<+WcJbDq%4&>7kS<5=ii z^rI7C>Jt$4=_5!n^(hT79TDgql83LKk5zDj{1SUqRs|`p5_Is7&!arv#@BM%4xU@5 zo+AYh6@$9@$MarpY0Viv0Pov4Z~Q8;tNf7JlM~49Gkpy)`^F>VL-y`*ac(-zUVSoS2{(-sv z!3{eG_UUt>fgy!~VeNqz=KGUyc_Y&*?@sTJ8CDrpfCtJqOc(CIu_I}$#elo~Kvjh_ z`F(&}H!RoB7PiwW;Y23#tzdhqie{zcs)sVrTi6Q1;IEnoX-$JpdfAw2c%dZYhRyYP z_X8>h@bs0PgniAbP4QPq@r=XO)$`PZ%-?lH4uYccNUB9#(#5{S4fI@3Km@Z7@5_dQ9}k3Z;;{Qu zeX)5wy$ezxO5-Fn6$+mh9oVSe{PItWlONP@J--SEQflVsG{iveutWmiRCO1e~&4!}(IWkI<$GY4~` zvuDl4FT#r=Si^92ab+Cbu@CA))ayJi6bit03CH_jV`4NVeGQU4`SN<$aYxM#SDV0g zTL?y2$2=&5x@~1dVI}?9uwBofp~Tp|$}Fj#IPyRo76N#c8Da;ZeiWD=%bre(_lbV^ zwO{9=W8Cu|oy?xYVzu!n+YX6oNq)bS@U^ZWqn16P0M`(P3#c+qWg-vxC(QS!h)mTS zy=%B`ms_V@q5uKtt5xwFdzfr}9vk#amljk-j`n1~{RFgim&X;v$B~d1?HRai>Bv$A z+g_N=Hn@&9LrT}i);69_?u=P8-ky+5rwn7Gll9l)ef`Jn*^1n@f|6N+`34_=qSlK6 zG=jpDT}MpS>QKG!4>syVCB_mc@7ClLq$5RbfANr56Q6BmbtC1$fvIelq^7S7We`(Pp z%ItG{fa27AK|qgaf(@qM76c5<;Bs9M{ss_9P&sKt^mWsYkS$Gp0+a+&HkiT+6414E zgwa1w5>_BiAlE^CEov&L)zK$c6!JT{dl)H#n?rEuWY1Zc_t)WNu$#PNE}Ac@Y| zlZcS&;-^_k^j`oV#{o{0(sC3i$2SWxwK?5Vbak^`W#f-PiSkz&k1ZwXzCS;E8%tFe zLn|wwS~0n<1r%2WkY`d)ioRgji~$x|yV-`A4RIO?076L) zhw|mRNXh_IYYq|NNYg%iUD1fNmxD0EK;HM}zAyxBh*XJ${M`b8X<2qO1wxYtF(V|N z;hgEpIR+no)0O>#_U$0yASz9!B<~4f4KNAjZLpN7MTe+5$rJ5Pk~p>ogAgRaLCR4~ zN}7K1?~b-n+aH?X(dgFdF0APTqKvm0nR6#rir!>McVwhXkoLKl2^f+Q2Iv*kTD9MG~X zH%(Or;oX#7nNYp1??wYK(lhEX4r)|P=EK~V)de+JUTHNbGmO>Y4L*KClAx27ERJIs z>EZ*V4cuehx%8^ViX=wwt99B1;>}M|^bi4}oHr!@z=?epbca!Dr=VLe20WWU6Zy(o zJA8Y~#(|QlArfN1Us=mBZ@T0`WW=jT{MfjzE03l#Qe4vZ8Gicn`EMHQ3hpDL0qJjB z&p*8s^~OXR9K!DYxR;(I5fyTgmQrjRGKv7OSwh{k&X$>Tc$$Nr+Q?oy*$(XSuZ(jX zBPGz-F7ydy?Dku#Rx8#29G>+^orF~gyVP(Jf>3!%%l$d@XukJ7grh7K*=dJhDS13L zQlO&|kpqh|vlVqhi_!d~m-p^Nm&B*K2ctP~Z&7}d3~`q3ju!oJ?x$Oj?owoE|DZA` zcl@z`!`YCJ)Hu+b1is*tJXbF~5~JSe^)0CXy|7WU8rYty^^n?at`mMR$4Af1hqTEt7RLQ!17Rr$w>378z*eu~%NL-0&X( z2%@igM%SMb0%8|U(YzB;%DM3Q!S&CUS&OPM;pTrA@03@;fwAtp2es)3I?ayk0>?-O z(v2~P_?dHze<$<0s~6~ewAbBh#p9Dx)TtG(8|8)66`$%AU)~Xn*Dk-4S>|t9KIcZ( zchXNjKe8>fDE=Jm29~W$4Bb(?+%acJU7pk$OJzCGoxU2r3p~b*Bg>{mX@efctKsph zWVVE_GR;vYe{FPC^|8=Yf&jO1{8o>f=)0Q z`%9Kda69evt>gUo*cxOU3i&z4v0>VM!xzicL3d|agbVU@4X;|u72X(P*y zb_nIILB6IG+q6OAP=V)<{ZAXz73Y)Ch-9C~?-)jVJc`l>s1t;zbvm@fdPMcZvJQEJ zva{F=1jMV;psjPF%@Fk+=FdCR%7p*~O=uCBM~wjxu;*1RYMGAC{EzfUj+|>i(2@vC zv4HE?#f#gLbfJOwIVAwPaGUwMBFW zL&96N3%&(_$pD1#!u)-@^sVD+m7$%TyEDg&PwH3Rm0^}$fi5rIh)fu{Z`0DP+@R$j6iYcTCVl=1Qr33{SoZ{)S3yeoX5PMQ*zp$z3r=>z+>)P4nQ z9u)@+fU#f*4kVVPjJ2d43GY)hkHH80g7@WrYcf;zEg@R7;ELjrpzq60;{n`tz*lj0 zxkVT#(gsEZSvSS1FLn+3Jb3fBWNUN7D8$(DYoM4vVWv+75U{dVM5H?~PN$2;hy&aO z(|}{%-p23Y0AWDf${MpO1Kfc$2>?4nKDv460Bnkw-aDLX);U8@hKS`o&Xv<9Vl!44 zd4M&EqoqSUqhQH+hO`ktu(eXgFO^xL0cdbF@EcRwQfmb75E!%vqXHkS z9O7d1Sb(=1`qImla|6O#SQ&vJMDk&n_^WL%h48}0zI5CPaIYcNWHQ2sS$3W{wDFq1lj7o(dQ6t?jsF8>_$vUrjw%anh9d-}j# zsP6!B!5?p^F)#Y$R8K}0@CHxPD?-NG>+^hGCPwBf@Okq#zS8)}BjxVi11 z7RG))6(N54+u)d!yVE1953o}!xi{uEFBRG=i^jGI72RyPeil{&$XoeI3iK!wWp!(n zx1iBB>AgP)fYq6TYSiFdHW961Ok9*_`l2OISvT;*>NZy7NU|QNLq^7k{L7<^nUm ziAYfx*5>d}jL4arSZLzRXVQEM-O6#^wyiZ}z#Q9aJ5yo^_ zzfPam@=|VOM61d+(;g3>&L-i%#>aoPlf56!S0|cP?Ea>Cg`3=q+pN-H(;cmtA!45B zHnlno-4G5np|rW~977{a$Cq+=(*Qy3Q~fOHfI#jg1!=6$$sDM8Dt2xwLhg4ZVn#&QGwiL*QK%K#Wuo>8_w(qTPj-4pfBMuoZO`@Xzm{cl({3XAOT#|MggFR;}W zr$Gr|a<|->)j!wpu84hz-7Ym{tqiInxO>*9kED1SvjBD;3F}4_`o?IC$#z>^Dp84J z!JOu?G_$s)p>tUjrwfv^b5HVe&i$}av6}tH{Nb8gfV5S@#_C$2FNxvF`PD*OKa3YU z@?MF}L;*Dt-bd3u))n!dVwBsi*^iw6Sl?)JKiY_9Kj7;cRcZ6!@SUGNOSO4XF|7~b zQ((!0*6^bTPw$0jo;FK`dT-HPYL5*cUn4J%WP&AE& zI8%4Q?!I4Fsn<-zUi;wXp;J8@tcJ(Z-q)W->^HwF*--lN32Xn(u--c!_tl;^^xYS+ zu2_C)Z8d!4W4ptis`=MH{k<|VzQ1B_=uh_Rdc6b)zY^Zx_0I~9FP%ygbDy}@m)2++ zxTGX`%qe#Acd5+lpN7Jf+xl#XM12$d0G2Fqk1c3i-;8uQOx$tr3&O3wMY<8|wwYN7 zDijyVZe!^-2GcjQo;C48?b_*X_ok&z*0&j4Hp&Vz_-gSYp<{2OQO<=jmG=4i&I8*< zjC8duj6_41{ej*21@~q&bFa2KUEW<-WiYGj*6`M|ad%POy;;Kx4L$zbyNg>5z8MuX zybCGvKGS#an~A>M-XVf<*;j+_``$P7#Wfn2FTVOrB8oMXVjL59a&`7tAf3b3>@N&n-M%FzBsjNl*!TUn`!O{}k>THv^6z~n z{$4b^A8xzD{AGDmOpS!|52vFWAKn+nR(Ne$*nOf5GB3y6y=WM5!a@H16Xn>twB?19 z)#fAbse4MIk|SI%lsesNSuK#69#8jj*94PR#C| z#$k2+Biz5LZLL4IQk*>t0Ix96gN`ZE7o*7%nhKd8w5_D0qN%(5ro|Ba#b=U3Q-3uj z`N=HB47p5_*__^NHfz;ZK3|yo>Z|72!cOA{=ku$_XJA(wdc}4wm%M!S4SR53U&^oF z*T4IH-L=-xLCN`>t}-!=^?LDM$R(y??bWmikD^^_kwF2i(U-X|jy3LFWo1sF4zIVW zbd(o9zLvar>R{qnb9v!|yGpvD5C6H2xWv6unEiF$A!Bl)Z>^I1deO1s-&|^0x}*U#cpr6)M}R7biiSFh7}Oz<&X5{}WF#jht>f#N@v#AU^(AsKN#iP_cKapPy=_NQ$|<3LU6)pqH72 zi>yD=u+PIBDZLje_SOE1=E)YneSfOnWf>nek2&;M%li63pUG6AnD0&H$dfJxwFT7< z6oY`qm>{Ne6nP<@sj{ z35}z1Cz9S9d6ir!v7!x}|Fge~5GD?H_;U7HaOe)}rWi1bssLrZ+l@LkqDoVtf^JmJ zM{|r!<>rxLIx5yN$QzuXSLOsPC8z^dltODIYImgOxi7m{vW^x;&Ne@l08rt@vbnNp8CVW&zX zm+#CnQ>DY_{*Nr-|85y54ym2LT^9FazM4tZ`%!bVh@U0=zl#3emUqH}&Q%MKdv+VY z!@e{7XYk~mr$zRYL6;-5-Lzna)JRT`}dB1)>T;W&4B02Hb)5+R@ zJ72E6usHkbTg$bFueS5=o^ATFn)$E^Q1Rou7+>yTJw<-`%y|PpnibuScH4}8D)#&C zqc*vduZ-%HBqAPms!=v;(}B$;n#$#Rk*;?{j6hva;>;_W3NXHj=rvhW{G($2oBwak=oeWT-gh+n$>_-f=cgk_ zUcQbS2&$ei`5dcoV(-Mc&%D=bql7ov@n0_O=!^ewSpiu;ey}w=Vd}!J@`Rblqmx{A z?%m||sZg87hMDp+&h_6aPe+*m^j9yklmYL`?w_SGYKhw5YnOqACoqDAcKxRZ-HUbq zkgpb6{wTlt^+w^S<#Oxy#>C(6^nWKU4;)N+wbB!GF!@ir*U_z&FQ-+uSBK(J2i67? za~oH`Wxm z+Fdw==*^ubH=0r5xg>^n0#;gK1_NM=n?>U|6jfVL$j#eIvNSqXHh2nQ#ch#ljHVhq zsem7yYgX*wP(G(q9O<}Qg%bQaYCB?StwTukczp7%Skyg#9 zN9mr5fkMqA?YfsAWt_59lRjSDp943Rf2*d$^l@HJRH3?JZ%wB~_@i8xd+L~0 z(C*+RBk7)mw!3?lXgamlQa3Sa>Z-ck7XP`%x82m#E$Keo$H_0>#OPQYdg~m%Tu`>> zl+J#$!yZNASE?mX=>;^r^?s6H^sw-hfzQ4pCq6D0HNMl_6(82)kNk7B!$8Z3bkQk5 zPokv9Nz3@g{JSt;x6+ZU+j}dzoll$3$lV`GwFy?uq%8!>fU4E|28DoF^O>@FgYOoj z^De1Pb=Q}lXz%|c#3Lqtth@2g@3f_0#!>S2`x~3KHC7Vx0~e7WDg@K!tQ2bdX`Xxd z-D)*bWNyAdF=xKI-=Z2rXSh;_F_m2lZ22kGotj;m<0B3@Z&MgaXXtKn)QvbVnW6tHEhX2*iNweW(ek`UF?9gmp^=b)I?uPV1*JJF)mDZ+EzrNl3N80X@lk zk+d3*&)<~79)0SKdLB1Sd6>}dbtQXj;YFpaa@LH<)K{j$n` zzB!|o+wd+ugX3MlrfTZ2@10WqpVBu;-*BiG12mVvl?q#Pj=8^8^ZWkZ?vW{T$$jym z+GVBo_|^~a{udvg^G%V&t)B$c%MtBUsKj?c%Il7amyX1)(w-zQM0akOe}w48`0f3b z@ae@t&J-%;=5_Z|{V&-C+wlNPou7$=o7AX^h9%T4^@dXSJTvFMH9nyrL~7IA8Bj~8 zZ{-xBk_Y}g3jcmvSnl-YmvdgfIdR1$zW|oSotide9BX^EzW?>F`2K&B|F+j|k z{1Tqt-KsmI(zyJ_pF3;u=4ZRRRQd?leTb))lY%IfG~=Ld|*P-ay&kbPoz8+(1!zPHd>Y? z=(j4SIB*)N3Pq|SAH#M0uU*n zD{RyRegp)*4T~07Mdfl~o0{ z_@f;RK^*|_#2Z_&(HIu2m>tq?XR(Nbq4G||@;GQVo(yn=0!?T|X705ssL|oe#E&Fp z2uwNe#9urSV4|cUXRhiPl;VZ%(AB>aQ6(!WaK7)uK+bc*CK*0Aq)yzRqVtP=Zosn! z+cWQT_3zE0N4>H}o@bTKqDcs#pPLo+DeKf)Tz9D0kat!C^fC~geWxp{cP`r)lEbda zwy{h8M$b7Wo;-Lu$NE-IduUP@O?|;Ex%+!gt6I(%dNNp%s~3>HIg;H=&-FNWQrwXN z>INZ77!lunXuDChv*>R?5L%AmF_<(D&(7~+D3<8Y;*s;w0V?U}H?hdqveGYBE?ybQ zGmz6GRfDNRppQ|8B|2@5AWY*mfo5co&H_n9QRHYYY&75YqHYzKYchyhi$-bC(HN|+ z#&X6Mp1egM8k105eB2td(9Sd4#;1@Frsq#bbDOfI#YFvT$Q1Gw@A=G-wJQN~SMMx~ zddi9OLlHk2sEfK+lMWg5(vV_@kYS&S0AgWM10#8#{x<@0stNgrD9XWRJVF$Ul@u2V z87wqqM^n*37fa5SBvXC#FA0eOY{sapd-Z&Y(evWAz$+e4;~rm)(I6Lp0 zxj{sZFp=K}VnFZO)Z3I(UOq<iP=C;uAt&f<5f-XU#Q6hu!0D=`)-{gd6h6}9E>D={_+@cz4JKINI-*#_9LQ? za8Dx#?^=B?CqQ5WJ`%p)&|j|Jv$<6hPe&`FANn|?WwZ$Mvtl=eS#B#d0vsWjj^<^= zPEMiSuo6-~`KNor!r&$4CFo%Q2y=|Nvd3C8@5Gr;#VQrYvq=KyK!Dfz$lWf?k2i;A zofcEcM1K_|RlTS){&aa8n<))JP8044jK%YDm=GcQIyz7ENL|LQ^zHDN`8#!NhcvI_ z;$QJ+gLR)i9WGfwX9ezf;wW=%XU4L+OqBOSXn}a;@W1FZ#BCL; zry+4COS!0ZH1fUI<)%{9wSV=k$BJGb7UJiIEahGzAwtqdg86VDi;J3Q63S`UPetxrxidkysm60a)r?3@ zpz}Tf_f8Jb22HLH|8q;dR4XK(!25Jkg$NnrgEP@_$H$^5>8R@sC}=S;_KcV^0N~<~ z{Ugs8_1*o!rkMfMXeLeQEz^HPEbLQB@5?57+H>Jhl<_q_R`Z;rAA9~<3G$Ap@V#b_ zE6>=N%bMIu$N21;yDfDdiT~lKn9uyyP(_5;luSlRI(nZ|D=D*v&r!7;ZX>;XvB7## zvCOPK_MG}7Ug}=krxnnAUMHam%#AMdUeH}b=bbIp%U{>eV%K{r>i$QhVzlK>zkV|u zS_ZAHJBHliE7}?QEv3z2PP!pII$@u613lUw9{UeUrMlEv#}iM;W%y)_ccvbTiC;g_0_Zz{m6G1!XFRohYOM35j*OwI~j@r_W@eppB=7?+!3 zUO93RWpub#HXQZ21o`ip&ZF)s&?;pvt8b1#?3P0QT}z%q6NaHokXMC#+XT?qc3LzKDkv`anQ^ zF^#8RAIZ2rVjdp~-ap`)P{Tp78FeaRqtA3`ouM8Phl+k}M=7?Stz#i@O zle(gq`1AFojY&K&T4;ogimRT;ocOZ6^(AvF`E9SzwT35GEp;ZG$0As8kw*Aw4jZjJ zB|6C#^Pf81#71qy!-$`;R$tz5K52@v5tBWySr3018c^hsJe*LIR?Q-M0;~LWsIy4# zm(VaPzWs#GDK8Y4JrRMQ#3|2ACy&WT`6QnZe}k1)v8q9xn?`@{f3O_kF`TUHXE1YT z+Mut<|4@$K`SW#@Kskz(q+^-0Ba{Q*abPN9@>|sQH{@lweBYGE(hlXkWIyEa zE5Cqh#tweew$#%7^!GIVa#1d4md-1mV;4W$!m&MtT1{LNm41AU_Mb00FeU$>z~zB> z+=JN2^;XZH=xZLcZPS$nPC{kQYW+yMs|JiAC73)zalNe?lrV{sOY@0 zYutCtnDB$KCz0^en9tSMr$io(l_)1VAf-7nl{$dUt;H=_*ew<{-;K4K;Lgv@E81~8;{O6#fs}Tpj`;Ao4 z#M=NO^SomDw@v;<%jZXT9zdF55??kNf`-(XX-A+pI;DLJS|M3 z63{h{GCn#TUPW6Bq2BAyHkhK${|N-4{P`1)7Tu-Z0(q+_y$9(%Skb%DFvo}K7x%p= zcsP9`{F&u)ew0edCPb0z(;lZ;wM4i&=z2wy}X2Eyn zYU;5XFwZZtwEt%`TY#tc02Et%S>H6Z6x3+uBdrSMA7;kR-UD5I>o(9#4*Fl|iIapY zxmf?vQ-R8mLZSg=^0|mxA@i^}66fXW3AhN!OYROCq@7UDet22;p z$osLm!>v;#SGKiQK*6Nr{hOEot=Y$jC_;VomXl$RX>@>frCqj`B?6EsHI10O=M!`r zkC3rd_R|fzEh39OGs!qaUU@6EH>RUV_bXp)-a`Y*j$Cs8HFy^Mr}QKt{+E>-P&4n$ zJ&PtrBVJ2BJMP}^4~)Tg|CbjjxaPs}K>iis)YEZkt-M%k`BM zeQT_`kc>TJIzucPQ%OPY_VpP##v;LYRb#e~IOeF!_CV7pO+kj(gXnOQ4*w98 zq@w|_m>KffDQ>gotjbRejrD^@`AJ*5J;70deFzfGQ@` zxV9)Y^beG%n1yqMX(G+}NC|S|v?Q=?)v4U^t%O!{q^3dpXyU;7_dFR-*(x4QhTJ5O zuHdVqMoS?8OrdxU!gQ)!EjTSN$s|mvNE3CYZs_8h`jrz$=I=aYE=>J7sB<;^hpxHg zJ4~vGypv6fN<`DtClzzRCPU2L5qeeRCOWUpbj_4J{{T?{;o-xT`zf>iV@ z`KHdU%K}V+)B{`uuuo!R7857iqphOtBght?<22KTY2HnN6uDCN6jgyp+ykcg58$YH ze%D31Q3j{^y-o;Mn~K2=d1pnQlS}*<>AB7B2sxfI2Id% z;h8tfZsaLhusfhZBNP6qF$@VV&D4Hg+&VQF0=y&gViWI-r0bYkix&-~^1{R|+=sJu zAQ*9km5Yv6flyR(h1hu`0l@DZBN1~G$-<5+A=R?0%+g%|9K789mUcrMpIq8NXabr# zG4(bIjA)0QZ=195n>HeGp#9GLrQD+;UsV#gow95;Dy3@*%_4N@Zl4nl;R3?O^;Wf> zQb-O&^Qgk>WJJK)mxMkVOp(96&(S2qH7g~eQgLmdL+h8TQKea*8q-n2)z&EcwW5>4 zZ}TZ3TAowLUWtHiw$}k}aPAAmV1-g1MB{l5RJQkKmGS7NgO=LkHqGffDu22h&38X` zv0iCa=6O4q4>!12o=O$oJ=eT@BLL|!Rpl}LFX)D)dY83E09*nfs{aKLGBH-RXP7W0 z;S890!mQ{~l8&q&o2)S|tan~QGb6B_ky2bmGjIYWzN_Ua_fb^seP~vD{$y*KzrStT zuABeyQBG=>n%wrFVn)c->Q32qMIC3y@{A!-l607=g_7gJHaVSfp;OA%MhNp~=W?PA zG*o^z>G^H0e~2v(QntAD-Mphy;s!uSvYT+SdiT808a;(clxRbj;Xz|tO)K&Jtqu;7 zQt8su6)G!-9j9tbYIg?X52t1Eg6zCMv{zP@IyiTk+L~RB;uIw96O0VC>yZo1k@i>m zbJ~n&{W$08$EWKF@(27skB#&_3u2FS?EP@~^Q|zbdF;>PdwrdS)&Nsj%GgWTQqH^K zdd0&tm_gDAgDKFxSk)g+KkWS9coJ{jc4y-m4eeE%3=&!D#)tojCq@2dZZr!;2};^+ zVHl(V24vUf6lN#;%y{J)Oq+0YlYol>r1K>KZaUHoaONo!W4l0Yjrv5Z#i5o@sE=bG zTUFqXBHemaQex_jYfF7E_Y$NLP(Va2aA)8t%OJTMQz926=y95sS9hqiDaJqQ$Vsyd z?%N!Z#3f<7S9xh!iZ+qEy7ug1b_t!-^ICs>#I`dD;_KGerQ7qQbf?nICX8-zfFZ*E zLh1D@aKX>nUCt4Dz~#*l^G|Xo=RiH{KWp&pxb<`H!jX&WpGc5 zZQaNf*DIENUQaW}MmoS>dtMxLu9OQ}GjwZxr~Oy#L%7>5GCY8~5z~x!2LEcf&swgYfH_5R16rKRUC$wx)9p=W^o5zpDIBIM6lM`PWy` z7*^|By6eTV@!ho9!Q=+FKFp7|f2(8>^Uo;rKV7J6rG^# z2yFpfOtk%Q>p*O+*TfI6PIC>c)r%M1&z_bvu=f8Fr|n@jFPwI;knh4#pWH}Zj5Pf> z_Qi!-r7{y(kltYhCh*gPWHCC<_JgifIt7@Vb6a~kn2qF8I1|5#GL}=b`CJFimJW^9 z#x_I&L#`v=!IDqk8;(bW1V4{^FDz=u@cP9HI660`E;9{Y_cxK4|cZ zB-WdT(1UveMc{=y5LsGf?@_<2nuMP;?PzNf`OqXf(}eungc4{*OE!yXG>h+PmauJ> zbZ?dlZkCR*DjQ3aDQuRz*(@sZTE4AW@k6uHOtbReW)*=JjAV7IoVe4fht! z;1;cz7VXp)ox&E~n=QRKt@AIem2AL*uZ`M6Efky2fpTY z7bC)dlvDWDV18Xig6=*Tajz|C(Pm@(xAou?8Et)$lriI~Xk&ge_=ve}1E-o&bGvc_ zk-~=})NI>oiZ74e|8vdoEUeAtudP}$Vm}A|a!SyFo)rNQBUuJ-xriIG6l@Lrmk%O| zU3-D9Z3B>_0b23l_Sg}st;o*L8*Kp^9q$Hq_#YOzgcU}ywYtsH)B_=c0{|Qki~oV} zHy1m|AjJx2rLbr@j~)j~cAgv0Y$jwW1!Q6OWhirUQA|=wC{djW*%g{9Ge=UMLr4;! zDjc#X3lQNTv_b)t86-kha?{3fQ@t}S*s&^Fw2MiqY@#-FApxQ|Ptp+(b_7BIqHYZZ zPJkjp1>jv!fB+T12*4SlT5}MA5t^0jmFS4B5`nf*yh9}by)c-i*@e)k!_EQ_SuR3? zExL;KT zSiT#Lu?>)bTBM4E7k8x?%v56YRp*i8;DRTz)LG;l(eXAmdd&aHeci%btnVMCv zwR=I}nbePN+{iUeoMU3G6{4u84-SK=dr**5l^$B9y5V6cr3u~N-Y-j zWv2Bo1PO#RAMdnNP%6dy7B5wn>RFt&XX{k}I*s5h=xg@gM3kZz3XAl16OI|8$Wr$e zXNItjRfVSca@_#O58EO`2kkm49TBRFL#ZGjs5!zck4^E#>zOYk`ESSpKd zx(_t+Ca1E9W&lyNDN`g^FnC-HPsmEMqFZuB!!(8E>IF5W_8ZQ-IWb9CHjY5NMIjO? zBSl0AaCT|fPioKy>z2wURuW}XM% z_m+rer-`K9A|uR%Wtq?;Qu~wn#4?(s6#7Z5%}3Y~oWPNi1%dL&>t_f)Qum<%-ZNGJ z;_6L2h7m@U`tFz^3F1d6+-x{Nj5|@LJAgnCK2d7C0Y)m4?5R%#RJg>~%_g!q5}(?x zWR1ocen3Hqjp@YvBoc)7^5FA4yQPO@~MYwdXrS^sh+ZA zIh+?jhp0zWb-FNSW^_C#t3#(~*9aPbutN!C-&m4vH1(vRrz(uu%>v54wf>W%nVK<$jz?>vyIP+#Np7 zqI*fD#mznQ#TJRso*>}?@)~mc8mI&U^^oY4q0#zD8~Kk^3!vsq1ZoI2&r$tHv)Yy>n)$b~*9to{-yimINWU+4vzEutdGU zfkik9M=%jKIJnImjh{!1D5jAC1fN8TB~u)tQ+cPju=^YB&|ABIpErzZE{GeTMq$%z z(7u$cv_otGH~gK8I<$kg5p`p56UQ_gSwUwOB4Q-O42i!KrFDK;J9hd*bQgamhlS&4 z5hK*g*i;{kKq7}44${gm&&AX@?XQ73v(v1wKlsth$S%->3HP&~JF5fU-;IdChMchu zjo`FLc2Oh0rYetp+q*zL?>KkJX>J@!jN;bbe<#v&Nu=UB_R@e^a{cX;0m|h$)tgqQ zAHazbU3BU;!n#Y-$F0VEoBb1GbkO+hr!GUr13`h5=cn_5!w#|e{U?NghCKp zP@h4P?W*D_6G=x|g7w2vmhGk}DT+j=ik0y;Ixu zv`I9O!=Ng#`Cm!dOCYJCuSgq76%H=PaEaZMWElp`q!^;_P4Z-tWte=67xG02hH=JjT zZ}O|eSbxfjs)8V8CoHVsXg-0$Aw?!ZR589PbI(!;R7DO^uZt{&g+yboYT~4}MPZ^` zn(HShnv0O6lhpu{8W$?f1^5D`W>HJdIq{`Ugj^F;S{5!(gy=AcyuD3Cy(U1fK30xJ z7OjB_nWZ0L5oHG;BBA_#9aq?g*g8zGUFIE`+Bn&GH#62(pW$J_k`|l4ZNdLN!ngCR7;*l^r4O>Vl}EAv#S& z14gkXm#khxQqqB<=uku#6vZM7;h=I%k}AW&{!I=)E-1|{Q3pr{O+fcOsAw0&ZXI!! z;d1XN9;yi@6UkDJG#|5NZ2j%lM#ztD3QrRaaRNxKv#}{Pu>DP`DQuEDI_p?BD3Ji& z@kzj>2{;HsQ5?vq4msWys?0_B0HiYOfS90Idtjco~zKv54u>*7U3}jc#0tAI5q$&uw zsXS|2v;;54*6d#rhKWJ#1S3z$ceab!UHX@89H3;>y9`8G$UtG*}TgD%0vU6wQ&xo}@S55jgSJy0=Sk}}E4<}+NC;=lQL6jx-T#LA? zcSVP6^z0v$&~Z@KMhxc-AtKDVbm8T8n^R@oxL;kwVp$4lGQ5)! zkMcDg&M9!35!y+A_5#>*ALFAfM{V?d${4M?7nGNjgzfyQU>G~w<$hVW)I33{AOovI z$X)m)6lzcKBSFROo2{)v?)W@G^#e77)}rpAd3L7OT;nupOj{FK$2Szxv%{cf%1&%M zSVRe>;ZDjPcWzSc61VBIjPA`lE*brN63U_5HXQyizIX4|djV~L!y%yu!d%-KQ)Pep zB~Nl~9L3hUhy#OTF_QuycI3Ro{NBh%D_YjXRu{8z`6T1zZv8KX&SUkk3EOep!TtNM zT`0&o0Mx^BoUbMBa$UNT*}u3fMER3sw$Iemb@iv|^8y+`xN_iJLf-|b2vh138|FS^L%Mds0akGu1rT8XGl68cfFQ=- z>p$LWbz^hp>cOqW-}~7tht`~9ul^>t*+>pjg}Y^tpJS?20Bq-9|E`?A`@6h)!w|4@ zE0*zW7(aZVB3VU$b@AO-g)c0Gc_S$&GD2Npb-;cvD0y)nM^INKKO56vJYEKVba|u=wxqj<_VeJ4jr%+umvUXWI zq#;#!!4sFJV+Y#ri`(O>*3r}Hm7L*G^DE|_P#di|v?#YWhu440_i1?3tG79+)WSQ# zw;Y>Fy*)Db3_eIcp+7UD=ke-URXSC3*mkx0V>;bN?VKRa%ObF0>-9=SZmhoT;#)DY zT~S@A$r-y+$5HZA^y3@19K)23dnZ|X*2Q1x+Uc+Vd35O6vuCdjqb}V2JhA-jdE=I0 zG(~@$vNx!{WB<_0IgAJ*tcUi?;iWYx3RGMgN2n z0s;xWL+B8C5di^1ktSV1iXu&D7}IGu{`p{GWoM#bc~lI z2qP&96C(|VayThg_0tOMaXLM|U|aI0d<=ytfa`^;)J3QduS8a+zxzrf1$ge;vVCuP zPuHxYhQ3!ze_l{{oIH?tC4D^TM@V(XNW{g{4-Q;!OA0@)J-Jmzh$r1GY}@3Qbn9}X zIV``ExqT{~HbsahHTd)XYM0>SKX&x)J&Sl6?m%{MZ%Yo^*b;ClgL`!4cI19y9?{hw zO3b=Wp5V;jAP?C>UXGjToQk;R^>smpOy`@o-c03O%9g6T+iQN=k0ZMO!&8UK+4NT8 z%z?sBZPNo60OdVfy9ufIDYR>{m#N-h{j^5dYwz&#%}8JI&$^Wl9lDeTnYJp}&1M#Df)v6{x>wM6@-3^7-27UH$#l_lu>oS@*FJ z@gKO~zT28N6ep8&o_dM2?-)FK_SXHk)1phhvQN9>Y(upV`4`_kpOLbUJzp*7quTc! zZ(Lt!AEg&8X+LoKcyL~rw^&}Ywc|Uc@c3KxuNS|3zXjpnPGwM^cHIe?j-z?%4v_pAZ2dSVN&a zJlFiOvri1J24`1;Q!aC}!-*JiAf9Cq0!}Po15&Xe*2Ix0+K`$o6Ic2$Nz0eX-`QNLUcOQfr|8E~eORU%g;USspdL8FuWM@R z6=)oe0!vUaMPQtKsYhH32HJxkJx~jWB@mF(28sfH%n?B zOAa?{aUN^+zltXj*)bD!F^w`xvhzp|WBzqKDLh{&jz>5(UpQw~m}ixHcJ^mezDNg; zXn(%wD391|zSt6v_-4NNS00Ize2GgQNpOKAHLnz7ffOgNv_OIMhkW-YjEoAetY(3% z0q<3_f~(fNa*hRZ9=z9l3$6w6%7+)o$MGtp7AWNKDi#+gR`Xuh<@FHbRq8KL8s$}< z#TO_q@v3YVsC?y>T4Dq)d6D2kBsHHZW1%W1pPE3SnmC`jT%o!OpN3|kh5_GAv%;I! ze437hnjU;wwCnC=Jlf%f+Hrh3sf9W@e7ePjy48HQnhS4r@agpz>W%X0&lc)0@fmCu z8hkC(3F0%n%vU~9(b(Zp*fP;4hIU@uo}uOi@}S?pj?tZ=?=YAxXCSnTK_@W@xdQ4U}9 zD7@GyPQW>}*g4A4Y@x`dTEMlr*tJ8zt-si9RKR`K@m@X8jm=_@uL6%xiXUGJc!Ia2 z7R+oJOP+8FdI^+xi3@tmm1v&ldTN$DH4yYMEAg@3dWzX}_7HsLTk?+0xi0p}5V`IKqp@&(ioyp#*SQ0<~}=V_71naFPJNEJ<8A zS*|QuML0#XEX6?hrCHfaYvEMKvQ!V@G~cqcAmQ}zvh+CNjMTD>9O2C3vdn7Xtmd+; z4&m(nvg}deSF>fWmV|RQ%W}R7=bn`1UJB#DqP)1gyc$u_Twc+EsO&GV97R;k zmRBtysyEB4zanZ*%4;qWwcv_cYLPm|iaJh_dVz|1agheOiUt*tM$L*w1Cb`PiY9B3 zX2*(V50Tft6|aLtTEZ(@;zU|gD_V0z-V|57sTO(LT=BL;q^-ZAZIs+Kxtgb4(G~d* z>A=4tg3BNn2!P-Lg(pM+68vbiIpBk!#JjO{BG$wI18MMzO6A+v>!Qm6SGWw?T8`ER zl0_bjwzYoW8ZWq&Yta7Y=iXd{>pvL8h8=BZ-?yg-Fla~n?_UIIFxRlN;}5|g-up7v z*@^!*X|S9>?%EOnH$YQb|3FKU%}gza(g}MeFwPm3a%*_GZLess1qkt|UYX`6QKgS5 zT~#})++K~A6rVPTk)3r~ib#j@KyYqV#Pa=LDWA0Xf96`K?TO2t)h9yTI9*n_ zuK*}{!Loz?F&*gSc`!d%T##b6Fd>&3ck&ls*uA4|w>=TBu<4LFuLy`1fK)F_@2FR3 z_2bDoRJMektNT=J+8~~A0^_{`Z^0sN8e5?* zlV?CQDvYytB(Bh}MOUb5 ztNQoXHY*l`@%9S7otf^CP^gLvV~xr2hls+>_7N?KKR>4LKK}D_uA;B@=CGjbnA`I^ z>!Yf1HsC9ELtTZj%gh4sO!vf23{8{O{=!16p?LZM`pnc6#!_Lx#PZX&4gm(LEKDfqyBjrm)76n6*SF}^tr zlZ?rue5BpOx^NgSKb%MXY@mnp{4nA#ybK(s9Ze4=`H$f6UuG~p(SO?vhO0;MIbA_< z-T0@iLFfCb1dvGKwR-1&zBT+aLi)Pq3t?;cizolTX$JrAw+0!~*Y0e9=k8iOsZ`~% z%GqhBxX^Z=O}*Dpcs zgGO~D>h2@|9^7Ie&_$Oni6{%(IwfY8mp9PmP+6fb|Ht64^yQjh`IvA%q+;YHp4j#2 zA3gbhZ3h1nLi(Rv!zgD-4fyuIyM|?3!~c&NEZ1lFPiAoC;Xk>CZby9t*YK#n>tv1d zy=N7LwB>+kNUs7W?(aPL{|iEjFIA)9Bnf=^N>jpz>@DEHtv+d_CH8ar&RzGP|8;Bl z%%E(r*>kMul0}t1a9E7%x!2J09|)=Ne@00EX=}La!6=#fsDnlfAo-`&LqS+QWPdwY z(SbzBTHL=nSY=POrv{RR{^4M4D|LpU%w@d)j}F%V&gzM%stnOLDe>c45+nJT?qVLkGuY42mL{ZNkn+vbDC7Vo{Kk+-kEed!AMZy&4|#!r^oK(I$0 zf%DLJ6tmujH!3k0%i5VQ-%P3Tcw2X18FfdjmJCpXX@Jm_jxP;EV48msz65bQjQKwi zzHvoky!^#Z3BrixzYf;^zgEwGK3M+;tH&`en9$P9;88vQ*G)`Hm?A7*+7W_l(o+o20Bv1PFUlg|q;^{_8gNyg~ zVZ8U4a?LD3+@{YD*{g1gd+J=%SJhx3zw+t(06~MfvR^-JISt_-(ft2fJ=?`sDp_`m zPrw}e%~lI+HmIY1mPfVS;cZz5R^u#B=Oo{;g^i;nIs=dVjoZNOb(-Ar%q#C0Oz4ln z?-JU(!9DnD5Ryrl{Rsvl{1gClJhY*lV`CD0s`;L@@0KU6BzC;#M(HwLFEp&M^7sKK zudEs?MVRL}sh6xYDa=%!Mq}*8uZ^Q2dIi-4IVw=$bD|@tiTE}@No?vdUXs;8g3g0_KLD-Gpq#UYyfrM1|^$Rcy z{g$oK9LY;nFyP=u4bTvVFK@EiWKYzu`L^as%sVvbk#Qsvd%oExJ$nJ$7cIz1>#uC^ z2xoENZPXm zP`jJL@({y3j00aA=%#*t7y>6j$_5c;5QIcSh4lW_!ODJxG6o_I5+O+xu7H5m_l*(| z>_+N|jy zCK9~1w?auH3)soLF~R#ZLLdF?7%#O4)L4%buzH0A6?8yT@i;LdrjSoiXHeJjI4OO& zP~h6&puzLwWE>?S#;&6~J;DS3hnqj);{Q)P(9C3h!F2P(fP@u_Zh-Zp7)w33yvg836EAPH1cVu zGDn|WlzFdxc%}S6#fSB&@a-gn>pbqlR~^j^tPGn)&u1z=l;3)rT6ivVFjDqtk?5do zYRjy`+nzHF!C149ZTP3-s@2DG%RH95!r3SVzfxuvRLT6@zHR*T+dh0EFU+*yGz04@afY>lW!i_r&2A-Ze_kje>AxNc4IfP z>aNT$vHDi8PYsdZo4@)$^*AVM)xtwRFM1svzZ%Oj9plKbv>Nbs+~ zpoWX>w^Yw8QT;z;D3TyB>9Mv z6U2lTOza|s%LnYD#dDmZW5^SQc%wunA*fh}6{l4Vu~`UZj1&=)@21vQdA=AW0e|}_ zHQIT;6y4e0wPa%xfBuAt-gKTB zg`#X_-?GhDj?&Is>7GO%9MeNO&K_m!=0rYxDdyg~ndyIC_9)*&+R`c2$3wR`HR61` zti)sW;eWFigwb`sZa|=dutCZFx7lLx`kvnFlrqD;L&F*;OIb$k$CIuS9p87a0G(%- zSwJw&)dD0^kQh7Wq8qwx8BKD24VMIFj!h1~qd!_e;I+vL2pl*EIlW~Lh>_?M^h8$PN z%{qsFjNG~9emp}F{Nk3#bV3pg{-W^Dd#<2HD&&Go!-1BX=eIiFMemP+zdk+g!M8tK z3L4UXw(R$dU>S!mid|cd_+IsEHS(LX-&%}F904%4|0=)Y;i}TQ@yh%1>`USm>*t&K zxt!0}3e>;0?!LT5{dTviVDx;y#+CE!&YP*Y7rX6Sqi0{!px<5`cCkrZaH0TDotDI> zJncWoobz?mrk~Z}efgmscdZko*6P$7~Pa?^A*oq;^t<;gxNM?cC3bK^_^ZiVtOwugN(AwuP1g$hrXuMXd> z4Oge+p>;3q6S2;p)>uJ0?-3Lx@u3&?9DfG1uBXx@`cUSJ zqq?zA%2t!gv0(!Ci7=Cd)ugO-K0t~5gTC)^a)#`NkTJ`L+o>kW)q4D*ch7WZ z9f}Z-=XEVtrBmD2H^hAuZrL&>r?*z}OA-{02Vg=kh?1jBY{u{d#pI0HLPyz(vteho z@0pXso7bAi4Ls}`vQ~c-D^3j>Jbm*$`;c<$dQYUfnk?_Vw{xU79k}t)q3hnce@MD+ z2);86-c81VIGofd5aS`@vU${`fI0)h7)vybV{&)W6jq$T`aUh-Y!XuYs~03SrGO_; zNXOL0BsKqO5kuIHmLaQ2MzL(MSl`YqZ^hebvneIl4$2II-%RDx{w#&-BlKVH-Y%w| zDN{Re(&%oAd1mpm+8ZTY5Jui|WNlBwyVB2)9BH)d6YUJ%dNy~gL} zGkdEMM(=1F6>SLmDB2~1>V7rWn|n`#}2usOT{37hg+gfe0>K6IHF z&^i^nd2vny*Z{!gVFeNUllV-%eEu50n`(}c3%i!T-fXQ}>qjNPp7O0j=#16j=6xh0 ze(Fs?IvAj+MeEC=c`OgL)Y<^xhIt6x@z1Us0$vcH6a@Ux*JcnRA`$3PuTSc$#xM;p zSFiGOG0-4yp(GQf02IK~p{lklnMj&W1kjY~psZG-FaWYsSwU3|y!;?)y?~A!jC{(b zx5nD@Gw0K!hasUfC{i+y$2J`c1#D3401ouqDH23$x1MPP0KajnY7jU!(wtaA0o85t zRLUr7;dIEx?5=$`{|D@cYus=EMU<2c^J9nOxv!*aXSybZ{4wceeR3%dI330d!)?fc zQcVt8JF4r8^KkkJRYSYw*t+nui39_tI6^lAw^8pTQ2S0p@*a)YGzpYTo4^ry#)jgM ze3*`dDB;P)NGE3C2M)rn4FHet$W6A4UTqP$U+t@rCs?IFPy<4u1qIiK>74;U7Df(; z+7Oeo)E5&|eSzHRfzsA`3fAX6Ts!Y(qQ|MJNyhGnN+LgQ8@zr~Wn!9$o#DFNCIK$F zEg#D&a!Z>_tCSlG{XK4v6KbQTucc0kx z?p>$)TK0HR%mM3cecJtfk7vK1+S`8I9+l^=8Rx?o+uqfuW@LOKA^MTb&~N&<$}|TV zred#@SUI#?`J%>uMbOZHdUwt=Gv=#knQKKuR$y`<*Ygc6!}Hge`=%Jd7q$wyB4ZI9 zKWgLK&0dK9URYeZKhi^M#vyV$&rKO2wl_)&rv zS-y=wpZhj=ry+jNf4GP9aH`31$~H66A9ko=ob}}|)ZEtH>;&@T@1nyvC;-0)Ye5e^ zf}V|2Wf+O|jk|zatl0f9@5pT5Gg6a-sFx2#2PA1uacCj)5IMgP`ScLQmJp@65S7!A zHbrAvoJKUOU_kfKg=U$Q9RL`YoizbK0sy3tG}W9F?3SgHkRHv30`KJb_kK$LCkki zd*QV$UF4}(VAKmZs(GWNxYOhqzfeA%q#OPzUg;@UTM>GtVv7A?`W6@&bLh{*P(mY- zMaD~DJZR(5OEU}1Evb;(&IrR+F>7b+Lko*9~t_>~^pnx5*Pk>(lo zVEAL?f|j@VQ-p}9%|_v<#LrUo2eaB)#A^N0lQN**{?z10Abb}w?Mv8-WEdWQ7%yfU zylD|!vsv$5tIw&X1HWCDk_RjHX4Mfuzx zUgXS+ukV-@nOm_u3Xq!1-Oz$=98xLm=B-b<)SZ}t&+`VJIZpa#*m*{Ws2f=?Iz~}_F?%xx}gV$ zCGR5AP9D92o|IyApBrvN8egJM$4l$3&G~sP`nC~qszk@@ll2wSVRTE`%?wN4Ora}piRG9FU zys(n8dqY0K3(3me)T=nElamrtp-`>pMjo0B$047S!(jv- ztE^_PhtOdJZP0a^eHisaX6oScn0a`sUpL0$)^jRFkp+}hnOalS3)A>{=$3ru($@X4 zn?yIqp(8J0tg~_Spf?--5yn=2e4Z}t{819F4D155jo06l{tPlHhZ3~PkyFeA$p_?h zZNPFYIX5_RobC@YuaLkZ2#~WT!hZXaylkxR#78GGY?9&O&|`QT_GPYG1$0ZB=CdM= zKrMZgBN@GMLfv~zdo75N3(DScCO;yn9Rj5Tz;zTz75spH1vHWj3z(&HONB*7cUbZl z@o*O%bOmRE-Ma`^M@E|^a_eW?39ql@2*33?8*gElu;f9~nAJXzgb}ankY4K2NE0qf zn{oL&1++1y{%`5o4oSb6(v^ULQ5%N2`FaU5ch+JMoh=Ds2TQnMDS5`w)40*oPzZYx zcmC`GVBOc-%zyi;LTk~FQ% z#Fx6RgjCJ(a{q&v`2F~^=shS-U`SWNgZFr!RD_JO{;xj?jBbRT*U(Hurrt3Q}re~)feGHJo6 zjIKMFexgU5DHpmxd$9%m{V+v4tEm0c%L@exqP4-|pXqUy!Gdk!CxW3e1HlKDHQi~& zXBKqd&aBn}=te}^v|HzFrD@oXRlX91)99@3^KWNO4@AbU9+mvAg>HOo{PxK! zt0HJQVkr4p0qN)Q?swx5#dl&f7)saS-K{M_ZM2%X_mWm7S1pn zTH|6z_ZZw?w}OLS7D9;>lLqh`(Af{Qt2Rze{t*WWV`k_HZg=tgd6$H)!oQo=lG=9$dkMQVyzS00gi$`3gD?vJk981cDQ@iVAuvGW3M*2&%Suz8NbwiY%!NS6m% zM|v)kK#s8o1}ur*>u-J6pNUEie!Wx}>>CVI3M^mhW6?owBi=T~J0mqe&87*1{ z0P}yu6vU`LhOB&2OHD&rQHd{i*#*})Q=p1^>Uq*)&cD2s4nu808MnkN$b%=4wCie% z2m`-bNeUshbxrDwB_DHwQ@wj%tSWHbh;ze4W#f+Z#@6I|bXj_S)JFa4;_9C)?R|ul zrC6mK!UFN&BH(o+YxBgM2>tn{isC1ScKXp>#Bv%n%kR1e625Ca5ZFmCx{ z^0#N(fAxYyb!FK>%GRyT7grHHKz#Q>8Gvwz4sB+RsGfaZxFGtY%xMR z419*}$!uFagq(Y)l&6utyLxuCx_A|mEC~roAYY&cwxg=Ye%{-r0Q7aqS1u14**3)z zGZ$*R%2&bk6J-7X@WbPqKMdmU`OP1gw%4xM4BDs9gM6m~NOEChP~d|&?Ufrey7za=j)aH~6u8xSUSUY{=0z#3YQt(OZ-n~mowp0-6B(TMR zBZH{Z7~!W26%&zXX@YHUBt*=*H{EzmGmb+!h=j#tT|0?iKZhg(iYl`^n-k8y2Hnuh zu?81WbA+q;<%6hw54`{%X>xw$Xo$U4O zon z1-Ap^&Iqmt9q%K6$-IX5aaZL%_bx&5WVzn&1|PlhIVaZ2t|M_Fd-a&IkQ%7ryQsMe zTtCFdZ#WBRko)Z(0c^UXXu%Cd=+5xLszD5UzH3P_-d?OnX%hF z5QCL*yQcEd zq=UD}%thTcmN6d&(Zh79-c&>1>DB3zil>7x$dj*b=>h^QPWW*#{aw#IC|RaKX>gaV z8q3R$aXTZ1co+>5y<7-p0Zv%9*`%Kx8^aAtSEMRQUwhfYIE*p>*bhe0@8$fGbMk7;B3 z=8*?%PRa5YfDJuir0>^l;2m=#4Q6=++lgK$Maob~x#-D+3WRKP2VX?urkp{NBq%*{ zqT4J$>fjXpEHJ>w2#inY)deffOD>O;*P9mbT*(iK6R8GzDDS5^^xO@712P1N%xf{3 z9g3NUGH7iM3tk6V5RUbF0ZO&^MlI=bv^ZH*H69)$alFRmO}S}?Fn$YW<2OGZq(KIh zb_0xnoG~#0_pV*B<}hd<%u1jDtzkWU4Yy_3`372!4d;%(nxKA zQ-;X|2l5E>U8$?U4}18}V{$4_NXUAX0U0R`5zt~oB2@|m5QD;&!S6_1EUd$?z9L`yZI@1h@WcVBrfl%Mck~^;VVdZKD{O% zL8waRBeDBv%10=7IptGrM9ba^UE{Duk^sz7FbTyyI-pil8U%~@fKdx1KHH8W!9*-7 z^(OW)^F3}Jhi;Tsch_j11V z!|&T}UYp>HRFWnFqYLw3+8}@hrnV%F_0F=X9c4=orJ?$%-egaefBn-D#Py-WTM%=AF{YuoH0o_Jh*?uXBHDdjoZ6XBk$uoE{)hT77q2v6r3GRbM^Wisv+c^CQNAL$P-)MXr+ zC~Cy>cU-A8KA3<7Q=Q*kEfIRd8@p4L*(6^Jn@k%c*OAG7c(6%3mMLpaGt%f(`BIEY zLwlAT8!!ehOyLfj(pN66dfC2To1x}DtTG%IUq1a1J0m&A4QWm$a`$+aWyKf%pd9dA zKx5f>S2bCUFisw2HvHIxc^~~KqNE`|HeRkv=De2&R{)2(rNbw~f=QrGJT69TFi;s|w}-doz4+9)>1rYHONws<(mPCB2^Rr}!=*F%MUGAE>J`wQ7^ zW6@_H?z+dNPPMriJn^5mv;OYct+YYZ-8!N#1~a-)w)pwXDU#enkA_O(Pe}jld%`e#&7b|-ZoiklUEb}GxIE^450nY$afb4YOVb)Z$aLgd>V02K5Uox#=aGD z&lUOA9(f$yrO0xF;*$y)Uq(Os4}N?Glib+e^6$%aPadMY^c9(-F#G$dv&s&p*CB=#syYd|yc1C|QQPWM2-hH^= zZc@|ZlhodImJ}gPi9Go_xSEy8dmlHgXKq?kSDFcy(15u3w_~_n&m}%{5r-9fX1Mwt-3G{=B ze1l1{gUK3$DR%~6It->h9ZU-yOivliC>+de9L(w+yhisjZg?=~$6ziA;YY1*)H>D1 zTr9FeEVQe48Tla;=+6uN5Vo!p`n;*ZzM-VB#(x{^=A;`p*Hua~RI9<5?G%fd#(G_V zUqG~-x|6>Arcg>QlcX7HExhG$6yk0a`4G#DNoNlgiYG(giam@79!SPMugBnM5l2y7 zl|%iML-+yEV^Ib4GHP%d5-TN&CSbA-g)!#3?@2~V^+ZCAcrhrEE2r_Xgfo-C(Hf1U z&_XzClhwL$5;lyS+bI(hL}=tlac$B#i2=TJ8q-&Yl`;pG*db)4f`BB~G%G|5%P2v3 z0)vwQPQvK%ER1~U8VMj-PaImBx!v<&nQ!cLP6w6@CVQ@rh8x5PiC$;T4Ymo(g<}J; zH_`z1ar&3>WwM3jEW}74RG>E597!aP4pB81282Wh5fBC< zz#WTlgkdeV!+3?ro+qT+v%YE|6l$O3TXEhZ?LIj+0-G6 z#*iDJDfaV-KRww&7fAf`wn@2%gXMQ*dfCTv8px1?U{9f}V?xhvE!Mzu>PGwI9q0EP zS=64jddQp8NYnQrI}tC;8`6>KoEGmjitZ5IA3|%l=+4|>U;x`5-n>JPHTXPj+(g01 zKXd!$%pKDiQ{`TpTJcycZg8iyQ zF@$Oqd2=9r4j=q>M$OCAjUmj5AJVR47I0M|wolnEs(h0f(w;{OEQ9@GB|YZMfG*N! zFcXYtxMjjskT*E(fZSs_oGl?ook7Z#0sHg9*h$}PgB5GVjLlGPefq}yFP=T!EVhU_ z)CSYfjg2NEIN%~4S4f|E!kLMHD{rwZ03g3QVd|nEibdNRS<3gI6cJ&?-9l2QY=kF6 zDl0^v5>To8OiIga|!{VnJX@my7)M zb2$%7NJ}whv{)Wy2=8`;5iZO^$UN+wK3a$$osJpUkehiGb`~Q77K2QZqB_JNP*MQT zdrGz{jh%Vb^kx4Vjq9w*fRs)xC;2X#9)>No9A!-iO?%kvPfGNR8N;xO+U16PrGbb5 z>gX0eK^$<;DYugaQr*-Pe46F&!Yw!l2rIYlXP}~m^uO*bGA&y!>d&yegEM==bF1L! z!}&LBMVNF0U=9R3B_c-=U2lB=bm?z_0M=R&0A>suD1p5o*zB0vKHyVw79*m}W9lP% zpbp$3478Myzk$GLWgwIE>=lfPdQ(4e+XX z+7AaV+>R}GXeaG_ZiRN5eYj^YD{!w9VX-&K7T0G0)RJ}{-yx{%c%yq^h}o18?7jvz z;y@1X9%l;!KZB5Vt~z*qUN_iWi&CC>)VFT)2jZeU=vev|uC{R(9HSh*VNtx1x%}F) ze}&4){n*9US(cOWi8dXB}LF3p=!N)J7L z54&z|dYo)N20wZr_sLUW%S&#{TXXAa$H24fJ3gGrVQl?jA&*iLwrcNSy`3rps$=7} zb*)0C5}rcBC#jypw=pUvo29YH-@0-WJd4^+yz~(yG!b|NDfz`*L?9Nc(5Lf4GCAOD zQUs1m%LRft9VyR_1Bn&p_qL`>MjTQ$21$}hvhDmPdQ)(x^l}fU$p%RojR zwnw}Wis-xJ z-K`~4>Y-sEPxMJ3^BWJh(#;u3hTctWLX42fB(nPnXZbUSqJ`q!yJ*4&64|el;2X(? z{S$mjUEDKb6Q`(7ZiPC$A-lWGT*Zb>HE25aB-N56H82v3kmF;|P@pD7IoUuTW8>`P za|m@P8dizE%g`}8hy_*%HxP#$4ir0SfhdNjqE zz()331D#MYLjpvD099eF-eWSn%K)eqoyJC1!(e%tw#+wUB(w zeN0Zw{in3OX#sN>!Bz?yl5+SlNXA#n3!s?ZR8t&sV9_DWa4aaeG>;cfP{Zk*Tlf&$ z->G^GhXkE?AL;+XFf#LfGwwb8whh!Rw=mA?I4$mBB zd7_^`Bcvm^KFP0*7ddba6zaYE^c{p@vhl|Fjr?j$?xnb2s0u=00WM`9G?2!!pjTrK zl0E<2M}D8h5;J~v1w=svOE3|Eff(Tetm9~2p%K~DCz3U2#eAuxca|7=o58{9=k!sJ zx5*Uq$Xr;6BhR6D!~ps>Eq~}7@$jAFs2e}!{ip$K6^5B381=EoA=xTO<`Nh2qAQmf zg%WBRWtg+(M&{a=qe;FlLkP8`hmn(K5gnp@q^(k4ozbe1oUCvG^c*OOD4Btoxa#UM zqX{uxDM&@T^8WQTMoFTdq`ZK9F|9s(u;luoJNk(!ktEL|W&lLP03l>R`IukPoAAG7EVa`Xw*Tu~-H!{0kAg7(J076LtM5@0a4#BxAS={uHwJYLS4&<{ZTo4Wv z-Q_SRK9~rFj*ubq4B&POVNB0+iYEaMNucsCcskRxXtA^?G=%3fH6z#X2Ku_mLxC0_ zbm=E%^Xw`uFSNY9m?uBlDJy3zGPx{mbB!#30F&Og<}gyubc3}?qI0O^3F+cFJCYl(`!o(7eQx%Gpd@_pR> zjsWUMlaHn3oz11L4YkTG~j8xi459u9L7<_sJ_Fh`qC^sQ-NZZ!;EoMrjitBOTz zgUXROno`L&fmSt#gqNyvwdQ?S3Q+xoL~_ICCHkp^2RFoZSt#uCDP<#gnTrk&peXx4 zvC{Eqgls(}I%KMb)9C{crb0E(MWh51XuSZ0BSi&m5I#84@UnLETwu?KGOIe}Y&f7(xxlTs=E>HI=**A{ik}0kqOOrmYUCD5-M%_}#KWIRd&pU%FKMT`83RFDb zNrUE)AamMORyJNx-}yO~rGEV0STIzDwd*k5}HNZyb5HA4>fB3DA}Tj~06~H}jbI&xzHw&y>@#3SZ((6 zq5LXkqkW9Yn+%xzJSF|8!qW2V*i1*424gwL`Upq4g{Lx5*N8-NAW1M|&>`{U-We4z z?WVAqzUUU>kOnxsnZRW-3fm`ak3hJk$j-F%3kjjKKfZG2T~ z@1=(&yV_Jq>Z0}~FU&PaOtp@BC`9fWb+c&g^SmPyd41SVAJTTDiigO=93!Qke2VMY z3TyKkKKqo7>jscNlDcN{M8ErsM8t?YoU*?%9OPYNjGi*SrF?b9)GF}mtc7d))sOdI z{JA=38?7ui|1c|1Zo#=CunOt=_K)1BCqv5DKKm>N{+j=~T6}FOFk+xTcb}-~_X#%#l>Tn2a z5WqvfGAn?vh>qINT#fOa>J{>;i?+VtVeS#?mrAOOaa7`EojR2R%Iji10(jZigx)Jm z*2Vd@6|kIzzgIr4i+8OEO^uz8ht9c49YL_^*m-%oeX-L@^+~C1v%VB( zP1e9FU0DmCkU9(hol`V}EiqV>h*p{{-{aJRARC3wyL+OT$(EtJ20^t#7lZMRMHUYVYvJrQ$hODIv0r?)`(I-g_ z*_%p&ic@8yKJ^W+z6J;?tqG6$Pd4P7v+vb)b+2FJdCnq%ohdT}V@=d?MDXv4HcBkhVHvGBK&KP(WE&_jdW@%lgJ5@jzic zd&E@6WMi>hyRdGHe6ZMj;>;^PrA7-E>P6rCu@w2#>p!X=s)6ugg60k_1~OP1#)%> z;fpkoMeBhWsLkt%fbr^PYuDxXMKjB|d>W`Lcpp!Q3$p9f7Y-5vPZ+)a`iIqNt#>|T z>ogRPWXbeaUzW#^6lNlwW-rwSa__i6!=^SMYAxW&qM6>ojf%leU%MLZlDwz;? z(tDP{J4y&V8T{5ODw+8Az|-_wUxpOr>v9J%bw>Tw?Z2D8eet*75O=D|JIt>J;Kabt zOKa_9l>K|h4O=Z9nsY;1srirAR;U(6Xk)0mVoWs4lB0<_7xsm-eik<@? zB02Uy@Ig zhKkhKh=KCwHjEKQV??HY1;CGU10u4a2tQK)HRIC7PiH$dU1rnU>iZxYfS%M;5(G#! z0*SyACsnirxqLfnJ;8i?z5An(Y4xfbwg=a#vf5P<|Ro4)!))npsp?Ze3y``U7ymI z#q)(wsbp2V*1u_I=zWDKRH7f{FPAKgLcH&@`_K#h+{OVoOr~17m7Y={$NM)@7o7ok zyKsr%wfll`@7j<57j5qq)ztg0YtIByDCzVXnl!;6y-DauZ_-tY(gdke1T>*{f*>Fu zhAQ?TN>S9HNKv|gG!>Alh%^yU$Pw!y; zIoDdRGoxr5pcPoDj@laLs0?#KE-Ck!Ih6lcepQPwpm>BIcW7@ZNZ8-Ladkj%+!o7y zG==>%gK;tdW_S>$14xF*w!9J12D<6ce-)neZ+kw7ezukOU9MaIwdaE*{5F+Dh-pWp zt|vzgU1!*K8~hkb6JxnEp!TRT=RzAn^hi)8vhOHo>S~f$qa3`D!M<4`ED)w}ie|z^ zqEiG2MlhkdbXLz@s)XByoCQE^cuoTWo}?3km^9#lS!XSkDTn|7UV*vn#9bl_r)ztq z(96X1@@iq9!_^{T1`vQiwD0lm&J(gvk_Kk71(ilccr$PokM&_GiB;%Luarb8(|I>; zk0ziq5g>reG8+tNfk@GO?7#zWxW?`JJR3<$K8>>{@xZGgkt&nU8IWj{375(ml`m2m zGLj<2BI9RFoeRTFwT2sVf@6FH_hq^_N;508MQDoeVuR~Q5F{f*M1(_Tbv`aiz)<-|xx*hXjUlFK$O@x&oiG zV)RD;UFwLV-GPRwy6UjlUb{iv$C?W9W5aN3uKaXFD=eC?0b_*s#*pcqW(w>hy2C6s z=<8;BYhkE3nFsijU>l`hcCRmShA~?ru(h>@QPEbwxcb`;hfd#qZ-@p|`VjUg19!+5)8kBsLhLCp41-s(jUnty1q?N8rifoe~g^aX=gS$8*I zRUc2&><>cQLusR$Ghv%-2s;`8miF1i%$XQg$xXW$YjR%eu z3h@A-D1@`9_n6|AB)^+lW{3qiSIF%qqX#qVUrJ_Q(wy4skLho$_}RO3ERQuhX8WAm zD?8_~^y&bcoh`R@C7SPCzwla2WX-R9mkWK>f{=m?^3;&0@seb(ka?OK9dkB%nMHWq zwo7y5f}>5badu0!O@Tgz>d(`Wp%Y`)kq7~E7sA^_Zq?nnCJuImD83cew>R#vrKp)k zkE>(U3=Lju$$(|WFMD<)HY;;<45kkCoZB)QgOh~K&g9Z>OFT~agE_f>T&UzvlNA;L zoQIS;_ZVIMyhMr znDFL%gE&GE`k*IUM&>|r(gQ3*KanlGHthQHTX7i}9sfGt>7q|h-~7X~`ZXU`N`6t< z88MZ8?rU^Iy)$G+dj1fI7MY&?N{nCnqW$`EThuOJUYxKNEi~)t+?6Qu$6d7HBgG4_ zD)q0cX7Xcu<~t9c{`nS~_jLN?O_x+s#2U62cA9}x{yo!$+lvv|_PY2^DKC8c{)i(=8Tu*@UiOd5=pgZkrKvi4yl-`_ZKs5bCF89NOGLAQi`oV=4ABA zTtePfIwn6f`hpkiCM}y=-`Zz5@VEe5XwC_AJv#C$MW^I3MX-{raq=lYCz zQgaV&ivLfs80Q(F|-x*VR0!?#1q67zQCeS4*q8DE0&C%i@vsqyF zt6SUGF!?69A;k0$!L(NA6W#evojJr?DeWOqxhg`S4%^b`%nZ9SjbRR|Mw6j3H4h`S z)Dd?8DkqtGd^Q%b0gYToYqA4P{8@ag$RbYwL;>=NM68m3Nr&cz&dlKvG&m8p-Og!k zj$z-odxpk{0w#+jP7pibfCpo-k_><&bq0N}6HOgN+g6Ed{e&2*NL&P@E)r|2uGT@5 z%k!4e!JR$`FV~U_sO!cSSb)V)<#38PzJ&Q?tEOeiXvD3tVS?yrK{hCIqn@Any-CD1 z0stZa3V;$9C@z>_wD}Gd!X{n5g%0I|j)yuq&_(_b;GRzCQ?|9-WN|OT%}LKI3Mw3y zE}{%iguviYm7^@4Bk0yK^!Fvn$KtgFA~=&6%;Xh3azY2x`%c>W5#KxfDto) zY@irT2kkgv%si_hUNA%@3xRI-JP;Wth1&c9nkCA<4nK~Wg<$O=m!dS@wMxVfn_b-|DXG3-C(R=d%@?p&!nCk?qmvXVlD#LSm> zxFrC<>KEFAv4}1Sbp7MWoSQo z4((7f04TVkD=C;#67uId#1H}uEnSCH$y^_WURZZPVcO97{xUE1>N9*cy3sm<$ZcC> zVJNDBhUgnaOM9TN3Sx%r=pM5by5_6`4aL90P_Jo+V!xojze6b`Vrb|yWrK*HR79bz z3u5Rt&W>J1KyVG6nY3-@=JF9ZbLz!NDSw!gEhm;fhS`if=JL4skbaoU#v_qgy+2CV z&>)?iA!$TokpVOp7%bi%>?Cqu&CK*Y!}l>s6C3t+dC{(kFW0W-aGdMpm$qORbS%-ZlH0M)B5(DJfe|rTo#^i zHb`pldj=oJ&OT8Dokb>R8#D#6>qB`0xO?7s5m~!xP?)?wMCQNiiIdVfQemyZjm$4J z^DSjvyvtop;{0RFuA2H1x!N)_pO%b1A+*LC)(7C+2gR&Ws1T z=&a7-G^z}JOem7XqSEI?cD?7w`KRI9Lo=b66kPD)K<_FyxearJibDGNcRI8IZp2il zA#MdL5c|;bL?p&*h+AxEZXH!j8sJu`iceun@ZxzL+P6yWHQ0{TCdV8%#FaC2utCIr z{1EDCTap__!r}^Q<(J+*CqN>xQEbopkgFzeZ%y*gl#sABDI8&>Cvs${KY$%tKb{@R zRu~$4Ee&4seiWjA@m*%D@4bs>K8%*!jHTemuwi58|DZ#y*w!N0inRxSBRyxI{xtaSu(V9t{W2p;TPow0)R*{%49VJpEF4 zy5r<@XTo&%_31ayrh7k3_y3t5C0p~!d`N=Z2ralRvyKnuh(zjOcp0^)`Ocy~(GdCw z=O?&PqCu}aL_IW{(Wa(a{oin8UIwIde;p)dRGV0I4KEDFFu}tg!|+6z zH$LOU%=9%`?IVP2t3r@r6egjL>lntwRU8)g8kH+@$rgh@hmq#MWWPkSpOV$3wg_Jm zJ1vjni)%s8!Z`=g=?!yq3__yfo}m6ouDf*^edyrBscPqid-TEY4Is+7_xM4qxEavy zB7)x>v;Gxrer*2MP+%e&^4T6e7|J@gieBeHoiE~SB(Z*^4?s35osdE~VBIHRU0x&x zg2V*89wKRCq@OQpB_i65ZEvJ?Uc98$!qP?V*NS#szQx!oNq@ea{c$<>V3{Jaa^=`c zA=5K@X(d~QtC>=-d6X-2b|ue?1E3?Y?YyP0c$?`R0{UEK`W%l!Up}ONxkKl?3vf0P zIDna#5GBrg1dh80Jg@NV?KJjBH1;+mUmX&7MS$tgp*toy@1imHY&m)=R_PB{>T*Mr zF7g-H4QiSS0qE)#O1;b+QdSr7E778t$PqSV(n~=uE3yxz$;LLUAU6O$3hZMSeQyfA zhOdPTnH=&#Gl0ZwtU|@a!&V=#_QWp(U`x z3@12b-N)hu=4?{fa9_)(=#e!T#T0-TmkJkIxbqP!W&a(7D$+qNWudd*O?HX-8B0`&&1cTdS21xh3rTMeZEC4E4NU zy*s>B=kxp6!1TpUmUr4wAtJQjSzkYtS)dN2;}iGuFQ*3MBL`P{MIwO`X`%Q@3=Eh! zd=yP$LAXhacI|%7(qn-|a$bkAtol(e%Oxv_vTcbebtFEK;51CM6jExt01$>6unMbP zbU4RD>FaSVTZ^J`P1i8`d%u;j$JtM|+4bBOnyS-|1haZx=Wo|s7mR$q*GXspwwFo` zmK2J>kB`W|!-qZ6gxv`3=kGS2J1=Q=BlIPRUPhkbPZu#f43@Ty1I%t##nLh&80NUG zhYd!FPu}|CO}Bdv3C6{MNLWXa)et(lGkJkxrz2Kxrnwc~Xlu}(!36{!Lxk}V;lsZ4 z$n#b(p+ue8*Gvi)Jd$d6>N@PY(hIi8>oU(Wu;oh4?NC9V<{pz9=Imb{Rw=c+MwT75 za}0b7XRO>eNZe<`k+d}+bnOVoKR=uRc&ywM`Cu@WdLdfe-!>x0=)OLZhTpE@mKz?; z&x9Xz{cMVldl8l zncSYTW>_E+9X6OK{>JPznFI$f%Yo2O%1v8`eTL2h<6z*l(#0o?*(|19fd$#YXZAjE z96|?6vWG`J;pYTPaRNn@Z-Gg_@n&#f(myFB^#wA>8*oEoNPPR3yb4NC0%oO|<}Gn} zu~QIw;bj5IRnb?m03BJ##3eX{b9@NO;+^NK_65ve#^CQK#Khp`pT}^cyx78@R$bOv zlaxrvZXx4!0nb=jehq?u5ek5J!1xbhndJj0d)U!Ld$oxwgh6s8RfgRhG~Q1WM5=Wn zh2dFTe28s)P2F2QQ()bh{&?~RPCo}H@%xQY|AUw*D z1w0PS2vqYgS;v=l5+w-`oJ&U%k7frWRSkUvAo{UvbR~md=_hs{f(a^>@+~@3B)BRO z(lXiFas;##Uk8{aHj$HSIVqQwLT2HgVmA;YW(%#t&E&g#w5o{Nw%IbcD^p@(`T61i zDV$YoM$8Nke%#)GmlcAun@MXs9QZ^7bkp#)`5q#l7d~1AF62nLa`e7GK}AQ(RAZu< z%-JZeIp}@b2o296q5wh0a=J21T>l7Hgv8ikI26ps(u$G1#IjeW4>zH}E?$voWiA`; z+MyGSw(J8#UT(axMz+7VaB z46tYnYEs1rVM=hTgyv%`M)F~;)iNe7p)7JWT!3B44NfNtM?rZQo*~KZzTgh?3 za`SgYnTb zlq_JXcMy=rD1lZXf+#Q{>|<{3q$h9*ntc(FT=zvS%W8kWuUj0(IT?^N#$%e~O%Bl2^+OAi`OVR}Zzc_+F} zO~S8SWwf0+q~7|wP%FM8cpN|0aRX(qC&cD4Dw zD|D4@ALlGvuoUPcEJ!ql_Lct#;=jE*F>o0gNi7)8bY-6${JUq=-$Z?KC@(d#MoKrp z+<9`ixHGa&^;v**^yIr6&^c-(jOsDGezk5buvE9bU!mkuh&r6%e zzB%zcyr_A4;YiwEg&uZ`2lj7Jk|F>*@CLL5{KaSvo)Cai{|l6)vN+3(%-=Sv|70}l zM`5}CwOQRdbgP1x#4c?9=)bdBU3GHy{ZBTl7gL6;{t05;^#pUMaLAuJtnQ?LlEG(D z@&5`XX~Q_b)F%jp&AnrR_|hu&e`<2`je!4RH2Z$$n)ZaexLnAw%Cv!*LAyZdBmwEVqiINmxwJ!3AVltY2|9}8V$85I6;IF`X z7E~p9gL-90k_nLXJ19!hgMcu#+OLCOCBh)&xp}n_E)8v$gR{A zIt8xOmiPt^>xBfCP9|l_%-srn3)or*ZI@iUUHfNS`O6(zCqwS*-A4~oZ0_BxOtLnZ zqo&FG?agn=N9S<Pny9Qsn-9_uo(sK!_`H&PEH)f7ia0h2w002iGfQGv*EVXB#=p zi`uoWFJJ740CZO$VR0cc$gyp)*C!VbX0@dwMnbE?-64$XPIm4XiWT34n$%36h@H@V ziHm2HNCFMxmMZQG;F%1OjQRD~M{nqSaB7)7NHQ1C$gcX~zQuYDrHXo@wd1~9|7>R} zv@3YIBWA^o@*#Yw@5G&p-}@YoTT+O_(QdhaLIt&&4_5itBXH zVg(#zb`11U0PVGtN4gh8xoXAPJf)JR9;ttn`Mw53uwIEbYvPma-7~m{W&gF_b%gPI z`+W%G&+gI##=-BO-K*o)=T@M%BRHIKHiP|be-M+!TS z{|p&^=&uP^Tb@ZenZm+^#U3gi(Bl3Nu-O0kgk%3kPX?VWs6Iaa7OI>+gt}V2(0DSJ z34EPGFwk7A#nl1tUcy*2u2ie}mqz94wULv&$}47Z)+I4JD@!*>P`PDla@94PW2F;Y z@AVG`C+5{k2`}OPSN2`4HB)@m26TQ-zv99a?l zI%!~ewmGET&F_rq0Q1$-z>70;x0(VLaEr|io-B0D`Kq($wcmV6%HbWH`P`@Zwj$a8 z>9K2u3R=s*9bjz4-#+V_tDEvXk5_{v2x#4H&lG_np5)}0ZhaBUos2UQ9c-p|fmdut zvy)`X_(U&s@^dd#*S|7dr;!DI$2jyMf_DuK-dO5_fyc-U2_${;_ZEcX_s9?n>h!v; z=`m^MV=0G@U+wY*#yUMoPerKGkaIWGkfJx?czv{PhZ=#>73Hc-LrKQ852ymm?-YPf zC03(aUx8uEZ@S~VATXOGm71%u;<2@$_3KOU35~P4n+Ums5nQhJn#`9L=epkoHc^W~ zB1N*SDG@i9>wgwy>n|oFiC;UKaznqI;)P!e4%^ckqV%-sqNo z@O!gY{rm5&!T(EP_j~YXXFB@(pPw^nM-F!9i9VV6g&WUrl%5@c$c;`s*NX0WJPx%&XMiksir=35e=A$~HxVfwtDAoj)sYxaz_KOO)$xGye{}!1CN(uv zT&t=m(1%)Q-PEr&n;bD95h>1i6nOj5^Afn! zgf>Md=UIp^*^}n2m4mxy|4CGTs$<%xv1F+%G_ji$^hP*m>dTw3adOv?ne@HwVN3OI z+wW}kgwxc3WM#!c!N-}DVM_@+FKS5W>bbdmS`?yMK?RNX)v_+$P|qy+OI4`{rO(tfLTKmQoztv>T0 zpQ_wd&EC4zYBC%ny#J-p=EL#|??e)ED0bQ_dORF`sc}A{V^(|iZb4tOaA={W+-k$X z$L#m?B;7Pg;U#jn&=ZG{XG>MiHqVx0(ud9EV{C6cT^|2*H*RNaO6mDN{lSr@IrzP- zHsgmZl>PAt)}uyzS?QHV_}K2#A~i6&u`LRdPI(1LVdy%K$S~#c_UTPL+Yd-pBKuvc zFxV>%v?zuq$D9%ghv^O|h$o*d6FAnb{30WgLu?I5{etC%BT9%|F1vK05lWg;MWKRZI3~UYHL_)H- z3zZe${Ys362Ls8oVE0{s{S@UDS1+EE4uXOZ^mfQ93WG87VW!h#G8I(kO1LIqvWgKaIV@;I z48cxi2{RyYS^IjcxHmE)`>kua{G{+2tzD^{io7uRk{Qi~Kp&C7PUsa5^Zi7j!$+a| zGx`d|8Hn8(5bJxFm#`)}h^L#%j!$prc!GX|ng_8SGF#%f8=8(H0W2OAeYlY=gpWSM zVn<3ADsw2H@t(d9uGSnNlw4wpM-nJmnK&aYQ9}JRB*aN>*CiSx#1K2) z2g20YmXH|XSB7lYps=8MmS-zgX3j4JdPj`=spJ`eO$ALpWL9Z{bQuO9EC~zuE2eCp?9|Y~l1H&Pr5K92%)G ztL2&oenB{hE32uLN3#>%8I!v`G2@w|k;u}|Hi3I6qOf9px;12s$d@%aT66@qA63z* zJiIwLyW4{@E~IkA`ewTRcpj@nyH+E zd{tVov&+`=zvpF~Y+Bzq_iq+G{k=fQYwh*3-YT8?y{Iv;_uC1>ncB_d zSQ5?fk;p6Vk~RDs7|77Mm+bb3|E$>NJsG)a{o}U#pD!*0PsW=2f83Az^VJjebi5D8 zaqHjS88E}x|Bmi{Yv!g^8Nk<3hz1O-%K@|UbX#$wbgVqMg>T5~RfdQ{6zi>g$(L3_ z%4!|(hiA?6j;KBi(o{P1CQHt^wC0w*ujvhK_1v0WyXBrL&Dh~b0S-6qD-Vm#amsGX zj@*!MFt1%v{?b>cKu$IOVt3p5ruj8%?y{(F&UgK9h3l>q-aAo+7ZbT2*IegLQ;xl@ z>;6O5vjuRHJ=K=!^q?zG%3uvb8k5WDxnf*V5?kdnPz*X#$LYz_-Ib%A^jl|01?a9S zSa@@{wK!<>k)QOd__)ZR50B%vcn-?c7J6GF_4*S^RczcI6}T1!#WkP%(&m1tUq@GM z@=3K=fK;)t zBoMT5%hV$lP=kMpecK8X3!y8RdR=&^`g1a3=)%p)OAQx_PA883a2CuM$?0-U;(H_Q zm9p*HGMl|+4EM>{)ok{>fCaH+D>S)C)liJgAN3wJ7#@)XY_PHO`9|ikHTm?zY{P}- zM>VAg?!GHhW)|UW#A~NhGY(xlbu6RqnttM5A;qmpdcU-kH54MaI3W9_U+1=@Z0s}FAn7HK6qemzH&1`^}kJbUwgXV`S(YS z@6UD@@BAlTr~e>t(fO{zl(#gT5Qx@6bcy(JhIfnV86WMGNGpHXB_BP#*?H*3?}yz= z1v<)aRPU54ztw&^t=wyV-6MSPD8o{DNKG(Dd00!iukqb6L&WyW8nZ`TMoDLMyG0cO zo?UqF7J<0(-rGl5ZQQk30W;x$S$Ah5 zVRt(H`}N(~O!a;y)17freYQYQWN)U(Suyrg@sW?MpKlo6*IX=f=-*qes7CIO7Q3we z{my`XWgJ8&K;BsuD7I}K1bu(5&C#a#g5`Al_b%9{)%70Sk+zKi3DIYp2}*j;w%!`v zc(y&|aJl%$2cOf=c0NZiD>qK$%g=W|6?}TW_r3aslms+xu50ygcLuwiV7ge}%#FY6 zCkS58|M5m4-iyQLL(F2@IWimv6S>;(k8Ckn$bB1kt`1MQu-Qv&Db2gFDns5w2@^;< zlQQ52RRe%5fv7u7Ft{<|T(<#*K9~HL*NMRkgP!3r{Zxvkerd-F30LmGLpnAIL8}^-;OtD zlQbY%Bua{2r%C~w8E*sKlur%dOB8R|H(B-DiN7fC=H;Zb*bf^aV3c&^Ln4m#u)g^3 z5;M@3L6b8FuW}S-+c_%i8Hkgs-ppULqzW^)jdYdp0w6>KsfXqi8N4X&nyD6uM#_k% zvwW&KZuql=bPgcF?qts+HuY07gdD|pla~+4g0RAa$!ypRvif0{!P3b{kBLY=?c;;I z@{&wiI-X>q?|rJej?=+{}AL zbF5R#=`vf*amb%pl)P_P9iBgliSk~hN75WF z!G$x1VQIu$J7R1&AchHXtQNTY!!+nmLv|q1F)7dLemHm3Ej^4dwux&j zb&jvm=ry}+`sv@3&2(XpO0j(ZZm4K@>4RlY(uM9UmsJ`an))DB{r8a%uC+ z9-}Wbx3PT5a!HGs#*V(lTJdvrVSjTXd8>r^K!91+|N3?ir@wuJ_uJX`Z_WvS^?X#* z^E)rzWncI^t(eLEUa^kQ7{oTf)avyS0cO?wpm<*860bmC&c1iFk2HSGd^Rh8@af(` z7_iRw^_2FQ$lkKaq1_YN*cn*e@%|}H#If)eLElb zYYLE&Z)qLRZ3I)Nm(`+MyATf?8_V*$FEzLIw5>(lbpNne(fs_G&T`E6U!UGWy40FB za*kWG3f+bPFQ3gKB1$%E2*~S=sF+pC}X*PLH6#VQxnu88RTi zhcyF|$qw*2CWyzS(B-8!QBil3CQMOrECB$l6b}OK{gwer#4vbIPw~Sff1dhYQy|?- ze2VsH{O5h5E`Yy+o0YZk2i{%TtXajmzQj$+VZ_$|Y_KxB88eimjxixXf8CUu?=<8X z^FBm?Ps&CLvt{M&EOa#H5HJT|tCS#(_0RFUoFxN zRRu;K9QdSN{Jo^d_;t_z+gkJdFBavN7e9|J@4ojr=(msjRp;^_6S_ZCav8A&t6Z-;;K&D+e$m0=AzfX@@?m!1c z_?8#?R^~TSrdkoH2%47AknirB|1d2mmq9gonuhV(JQh|nP#X1W5zCdN{ERTBP z4|rNndYbnk%<9i1XQ`{Bj{ZMnFid{;3An;2#rRdX7hE%BRLy_IGiyWxGu4e-A;K}m z2)1b6+0ZnZ0IOvhf^!KmK`I_O8oWb8z+A)c)Mq%g=c?$#aqaMJ7HoQJNje*R23^v^ zmG5iDMp=hu0X42ERk5W%*R2>dq~h^n zuxsgw?h~tXSvgm)ed0+Mr%Yw1*|FK;IutTW|msT#5FxifFd(9e)PEC4M4<8 z_4-wR)IPc*d$Hns5Ak_yX?l0sa5t{8H3hqI-RHy&P@vU99rDXM*D4-4Ne``$30Y9P zfoqM!w^P;6q6YlZqP+rs?Bq*5saTc8K=-JPuaF1hSotT^SwiS6HGh_ZP@Uu*TD*~a z6*&b)T8{JXu2ga1{J;D}@fIeL)s7bcfR1V@E{p{rIJTwQs9+Kg0J4uUSRMc(&X|k^ zaBoNI;mNfoT0~kpk}-I_Zw`VTGQWU^VmGY&!%>SsK%Nxa2{g+U0;U9yDU-&S;eDOE zaT&6h>;=o84C>9dXG@N2l7ha};WmmKXE+raY!tjAVgRhiZIAvjj<^facrpYh7Rz)W zh@df=R8T;1lskYG8a%6G3wm0F;AEqE*WUQNn5{5`9EAZE(irhU767;zC~XR$Bb;XM zKvIxj~w?`8wo66Ak)QM*Rlo zW5mH{#4b9Zo`kC3Mdfi+c+^)ltB|iHr}du;=>OUlX5s2Chr9@npI{Jf6io59ls!cx zC4FLLTZOYxNbqz5<~s*AT?!%JWjaA+E9!Z!LoQdVP0b>eU@Kqza=%uj$*wTu3{Z^j zNhoB~?k#@R8s3lVcZ6iravswi(S^uYoksK@tM(aGu8}LK|;zC=6*jy`+&x zol?fvQ7;@38LH2Z#a^{h@{dVRR_HZjHtkW-ZlkHM-J>#BnH1uZmJV%S_qWkzTBrqL zvT<{{>taaN&g*6s|NT%lFL%Ga!87i@PXyt2>*~AG%M}b5W!>4+hi?TODJ?s4_HfxA z@G8f{fkK7Pg~KT{c-GAGHE%en{<0e-416fX6X?A;(8NP z*;(SX_?<$^g94`%>RW2RUttfwL-;6ACaBhSzya7W5E)It`!$M9>wD$qJ?`w849_g(;3AFd@3a!KmT3V$2jSzMsIb<$ zm$KzXCr7lekN9d5UzDFYAu}{G{AjVN->Ko1$0+K0*=T&rGo>B<_hqPN{;_7+(z_X> zv-anI0i_Jj*dxW;7*0_^B2c7}vg~u-=>>`ZVFuctZ zW#gI8#9L3mE+gvxABN~~fQ?ZjYW&8QBh_*+kL!em7o z{MJ4AYTU#Z3wZK+O+H|PorSmjDQx{yIFlIko&rk%fOZ8;`^o8-3DXIKu=Av8+z^cZ zVH%$gqf#=4jvhb14ZBQ(O+JH-Kl|{J@#n*g@W&|yObi7!ckcs!_JdP|stx&LM$wgR zro3aOK0#?@8UG1O{-jX($;Vx>4nI0v<+n$x!|Ts{dQ#V*aXgnjfTMrrH9sF|~j$ip@qG$WT;93PCj6QeYu-olWcq3q%nX7m8o+8KH!3Q!c3PZM0lt}i1FDLHn z9ULB15JQXzD+bvrO2qN*(>TKhZ@oOP$Up#>{kw2pSz(qd_Q!MYH(#n!JVH)I7^$NS zT~?wSz71BD&D+oSSIzpJ=MD;81t|5SiLm~I)zyb7lQVAp&_{Yt%^$@equ~L197uI7 z%=MN4PTBAon)zjyfO}mgR)-b26u;#!qKLnOh`-WGq`vj?1R#&B4=cX3A+I%^Q&>j= zU#ww<_t%CD=09J7Va3?O8J^mJr*=5=bz2D*LE6IWZ>i{EbWjRyYloW(zO*PRSv~U_ z>c^Q9FjdEKGc$VZdYH>_WXyct&fr^{DeQ*iH(w4fW4g)tt0XiXfucEM(R=DERTRKXx%UU#JISih5VUxxgaU87t!@{Hx{!15g!xnbQ zkDfV-t>uDdjKWWO*7>sk5Yxdli573di_sr*&Sm=7ZaWJnOs!0s*GjUC5Fz8lQ^3Cd z;G%ySY3&rFO!4v&j5G=xWDCdILC?~mA@rX!iEu#@gfYXyLxqM9!U9P#(SDHZklR=> zsJpr)5N7l`!``b7U_yZDLMezYm7tO|c7v4D_$PBbb6x0I zAfJh9O+EzRNKpc|N$H>}SV|w0_K1O#pecoB8XYln;;0ln;U$?5>8)q2AbR56uD)23 zIAD9%C7d>!nJU>rd$#N)0N@0<0$E^+*m9?< z8vTycNuXwGWP>UlQmm!O9WrP3&%Vx;X;Z4A2j*RaWOH#Pf@cgXM{Wa-r#t9IV&QS@ zzpjA?j|d&3td6VJu#)1r?AJuCPLX8Nowy8W(kTaIVx_=s01R*gX8M(QbHFo`1LS{G zILF{{KOy_cx>;tHBj;MH&b+NZvP)x^$OeQJUV}ARE^&7z;N@fg3nV!49WAmP3EmwMu&ffAbvj)CI=n4RjKAa`Bo?b zh%ut?d5arYk{_>E-tE)aG8N;O^O$AL!rz{?2HXH*S>$lL|ARR9eSSb4?JglfAiN=! zWqGtL6FRuOC2OAnF-QiWbHCFtmuOUP08#p~?wxVCGhIJLqS|&DisQN++J1zni2x)# zEW}bXJk7{ilXERZh%K$zZ zo&B(Zm1Hp-*2PgPG6a?W2X`AP}p8iw_iTyL)ts66j&QoR0GTeTP*0WOu zWXvsh&ZYBf**_wzeAbL2b&mpKX-*?Ekb`;y3^Ox#XJbR01V{pW5s!7o$ztK%EaEeK zaHD#PdKN2y=bR`>jkJ+C*1;r#wD!zWCDQ9$QVqr$kOfqqaKVilgWj+lmiNRi@w>|DHoeXNfd%4LOwe*$?H`W{UZ5PWHp!WE1d zW(1juae3c)vHDuL&uo^#^HAP09bgqnC!vWTi9#9Gto{~h~`h4ctk5-#Y zJMSdzvc-+KYGp{~VG_)H;>&FqO`KtUfM8j47{&lFzeR3&4M4CV6 zmq-Ufk+CEeTnAp?0&MCWc6aIc+KNr-SYcfqDaGo-Wd6sKk^+FsS(^ZX$5$N{>YSds zL8UP1#O~0WHYtIQeKm%+63vV*C&CRht45ia5Ygm^ffP8E%YM2XecTmO%z0sj&kz8 z>)Y%5);jB)z1JFJ{{f7VAGmTqxu1E>DeI!$Fzt)-uFVdTb+*W0{Y&7T&BQBZv=e(n zxkKR1uY0G?=h;M~_C)%bH`qg5;G>84tA(0#jWQX`I-k66{M_7Y#Y%_G1Y_>5ES-9M zz2V&5JpVVV4zC{#H-7pR8P@W%`Nt#9&^tFb-X&~MI%OUbVk<+#^&KOBglT+;y_ct; z&prtYKQA&LeM~i8=|tSgJsiXD+c(Y8$vF}}n3x=M2>o%gB2Z~;Vp(dJl;4A>+nIK_ zfz)oGqB7b(lhsn$qY4Qc5Bno`Pnf;ISM%D#xP+6Sdt!~R`mRCLEU=ejg`U4C+(N^6 z!P^(2y%O_p@5-lgYCz9R zWIOwae^qsl3T9uc$vxqB(p=#gjYa>WPR)w;Hy)99y)q%MdE;MwYA9u%-#(41qBlz5 z6~$B2wrAN~0834w2Y09yLu%mfyQktkszB*s7TeN=a6cp8FpY&@_oMk!DOUspwenb* zUFOC_$B_1#In3^fGJK-%J#>@ybeY|l&PDcZ3@WdJSlvwXXBQzi6slP7;WBT1{0_l3 zuD>8z2;LHYPxdFZxqC9tG(Im*lDozrwRsYh!!3FR-%IXbM2A9s=HV=g#I-0kiFfaM z^J@w`IhJg3mtF`6SoHSrWKV`_%zi#)3%zUj?=<$cLjmvf53|dcdL9k=ws>dn&910I zACKV9zD{HLxO)Bi;qa3?rx5VP(nnlm!_q8p)ulzrLy9*7ZbY1nU zO3C^r%8H+wZ1H9E z!|`rvCWr=AU@nBu8!MWc8iirOf&eCN1OyH9M3zNow9>yI$M%LY*ivsui6}4fu`BVH zD{QNtD8sFavjhMnAxeV2#+j(^1Ut~71&T;`65-3w#dIK2yPX3M=|sv&?=h~!adh|y;yFPD32qCKFt9$*X+}u&0>jMcY=Zd)E#+)X9xR z_j+Y9>jGp4WTjo?N;uJ_qWS)>YekWlUwSK&yjvW^6hpn6JWa26SzRuR%3CbDVj0vO z9niBUDdA6gyL|+0YPk%zp>@|X6%b-s$^!mEtHDnl?^?LDc5L>K{t(Oi_`JZ<8 z-k3$51OS5BB*uR4{oC%Yn}qI7_)m8C0p(j2I83irRdrwHjBYkfUr-Y)&ZjRcoH^D> z>xC=M3PVS7qq_yenPYG@894I_Hsas9?aZKm>b9vS?sRs&`}H((MV)vI9nK3Por{a2 zy0#H|xi1ft=~&vYLt-BOF~38%&x zVe1nx+tt1d69z;+4wFMy;+8T+CZ1XaZOmdrK>$QTFXhPK83ro=GXwxm+$zX~7C76$ z^+y>D!04<~aaJ(75;U>i875J|m?DiXFeTPn0bDMy(Nr3G0AS^3#3_abJ9UC<8z}mv zP4`mph+JJ^enF&0LEp_|TI}+@hUQM{&oxe<9*ZZ3-lYNfR&Q<$giRM20jqk!NBRO@ z04^t#F=r_KR$3H{KbmR~F9Q2pzKd5Li6Ew5|aj$IL@;(++!Cn=ggzlWZR;e0HmdB0I@Lo|R0;)J5 zih)mdzq&L=QdFOT9EErf9laLZK~SX?Hchi%9SP+uvIjhf>R6&geTWnWWSUd?YBO20 z0j6r!ObZJA`Hrw7rxMoy!^+) z_oZAGz<8M!yOg2+9x)%XOW;FkoIC*tf@n5g6N2-dkYmWh z4Q4I^i&6M}(NMy}il+>$gmDIjbeJP**|!^p#D+lBL+6;<`RWt##E&(hr$ozW0Sx2# zA|TZppWXn&n!~c^u=)^e1a*%VBg~af{q!Mb;;UJf;B)nfx8E>s*u>}z5*7Kw=u=^y zagJ)oj6V+{=>-I`Jg2ldksk=Z;6@am3mKfE5ir(JD{3#?BwU6G0F*F>pCLn(dsfI0 z4{lP)#+k?`)hAgEb$DVZdupeM*Vnht#B_a~xkuo~TJ2t>wPpsWA2wwO*{-xqPqp{x z&|!C9e2b+pscxO6)}C4Ote9Y6T3cq`RCNFr7L+<1ovOvCbd%{TN&scRU zlv)dnO$Qp>)SMMk_p=-3>oLZHrV$EAypkHJYZQ~_ED&H=+KhmHy$tg9Gs5lb3(kd{ zw&be?=vns7hNne=5ie{p7qJKo&&df_jQ`d|9JIWjMG0lJAf7gZ9ecp6>R~O*Ou-=F zq>P&lo4elL4Wr8JalPCDe9#~HORwa&@T&_USG$uzxKnfap`dV^JKi}ZC8Q@(g!Y~< z(&|VGUP=)pkb@V`$w^iU5pm)%Mu3CHLZhct1MmMBq-QOPv3}w*P3z13z+rDzJE*|KsRKE%{MyrMD z$E!_?UIf{GymHD}zmJ(po@qfN_!Iwqu5yf= z$SwJyt=Jm_Y0MTxo6b{bW-?tVc}X|+`8rU~(CM>%Q2rjGVw-2s>Oe|2@tSVdtF4wz z7h=L|xfVn>TLa1$rC3gZ_z|*VR>;Vv}jSiC#~kUY6eo-czxF*PO@;e+m7C_fjORWE8Avf2(;@I;J9C zs7+X!Wbo1v@KjR?q(IvCU`?>@AP~V#XaAbqRiA*>$6ppQoke1&=9P!FP3E~#i7=8S-Qe+|Q`F!#Gmj`#bm%n6=;=?_II(z2E8jtARZk;%k^<+yGz4`b= z&24YUW#)mYAdcqgg*Qs$%zx%?-V%BHsVPi|B&~di?r#5PO_ojQd)!)mvp(*|t(Cg( z>n0rG8WI)qN+`s(2;}WAM7raa4n91!-MPoWL zndHv8S+ITX&(R>T$-4ZK7<-|YBJaLNrAv#93ysTNcBI~yQSI*QYdg}E3cH?oS=U{e z>5Ad8D)(=@va|IMSH?JJ%Fcdjdc3!_{%!Bv961!qe%5UtwQy4YxkY?83VwT{D|$GF z?oy(>);pV46+C}swPVQ48(B!*S^nkGZ|1N0WHEA+wD#obA#O)7P&)Tv&ePwyDQr@kAY^vH57~h1r(g!LPiU~6 zV&a*(IQf3OlrZu0V+efW4)Js{)Gm_iQD}eEsXIHdYVAJ$_Lx8WqNHca8#;-q63oAb zud|MF8^s~SAF%mxGy%!VB@BCuDcJlj|_fqVwLtg=^GjDNzP`Q~@31;wotaj;}ewPxnhRY*m)eJQy<-np#tV;D( zf9dPy1t~;D1)J;5vVg2~nd++c$Zr*IHIB+E2hWm5l~eMz1v zul-umc(!ru zWWB-vK9=QZ@@prLYm;1$K;Z0;xZv9lVZdRT*mCN%+@Oj66RD`at#@Y&ZA{-?=yBT~ z(3&jU9#mdYo)}Wwlle8QLFfK!MCX*i#Hjw6^rEqcmx zEsl#6`viACic<y%yflieBTp5|RO_tJI0k6tUXd!Kw5@9oV7oRsg)1)bWs1Yq}M z0~W$BdF+27NF=f?8jD%@Qw6n%ngr8OxW-uvg z=d7y0oedIZ`rGbafxp-!4EHYT5ZJ09Ts;;>gh_P%Wp}@(EW(yh)G01s8S$6hJzt_r z(zr6xyh((sx~NO`zp%R(bt_c;C%e0-;C9j9cK4^pqDUIaUUjxA5?+~VcQ5YMmZ#d? zgT%x{CHr)Z|FXM_ojzaOXYjBpA^VtWcbDupimyt1sVpvKQrvGwwY$Fx5|^=;d}nDj zMzy;)iJ$c@es`N{cW*fsNBzU@-mQFE{=aQ^-%e`N!Ca~3M*MTHkILEuCjU^MUvgjQ z)Xh-?09v-$U-Y?}0Ikq9{ra!-9bp`-hD}Z*dDn@ViY`nCm15W8kT=rHoLIkHOA^1^ zZlkoFKM;NX=4Bt3vqn+3>rDG9?Lx*TZCNTYT2eubSlQxXO1~PktGB zg%Q8srF)@dG!9djw{ATlRbE%~crg8jKUcXKa9{k!u9w;D9oUbnvy8y&jyuiAB2N|H z<;~V{F$?V;$)#ww0J~=)7#?A}0l_O*I?H%aD;>>hgjZ$O8`oRCSWVtg_H$%#?yuh5dhvg}zWb6_9|beW|6cV@{`>%HK=DYXX2ASPOwFj_jq=*Ts~PJx z170(-HDiyZUsX|(8_Vmzy6|l@tcM0})P5>CI@`GO_KIiIa(l+>ra$qep5)KFQLo8> zkj>`X*{ydKweZg~o2`(W(Oz8$lVh)1)*q#nojiA&CK4PjFQ~WmjYviVoLCu7@#rpYi zt26Ej9}EMV72ewpGwn<&-HfT3x|?87OS#e5>^EXx_)%fTm+$t)j}K-}n)jwKtug+e zA2Sa5Pdw#=*UzeU#01QHpUVzdbies&e=fH4$-%snW=q3jwyQz?a-O4y0zhnf8!ZS} z=JkC`_Yny^18X)M`CdbVxpJod!>hja>LYm5_x5eUrj1slkmFJaaYN{6^dWrR7u9eo?6OY&)Dq=T{u*R9lU>1?^EJN%-& z1x4MLs9$s*iK6_2MLkzsDq{`HM3EgZZPmweT<-!pOE3H+NR()BzChwcg(ds0T$PVc z=zJkAnbxN_v>Bg$jFh;d+i&2qm5_PCK|)1Q&n%fOsgT1#%C@23vL-(Hb)tiemC}vd z@3)d$2E@<#JHNXF-%jb4IV~6RNZ(e9J?)+T>GRLO4mewzq*J0_Ud-(?aJ;<8Q$7~1 zc~3ZsKt<_c!i7qs^nmZ>#muiVD_5qdeJ64?wL@`6Wt*M~o4v1oeq`gQOc!}G^w0S7 zW33`}cHWUk@QGYH+^RZX$uPnELf)yYB5lxHBb;7hu0Vmrb-ByNG4T`mJak`mwIj#k zOD0~Ro)qh!(i@L`f1%)#ue0H;Nc0_!Z-r{iC1^r_$^D77?C-RzDi1oNUY=$sUeT8_ zD%6`SvEDHe^dTw;#!pt%FO)`v(ouD%fMw7mXA=>pZS!FA&D)*wEcvxpYa=X{sqGxb zY_#8o>#swn9 zga8S!li312K)s1RK|ukw5&A$ZT^WEaw{yHPGkvnQ27~GLXjY+%WH6eg016Aa#!8n8 z1M{V+^+KteVR{ptP=M0S{@Fa!BofUO4edk~TjX08iYuA&Vm=kV=DS42DN+w+6!Pn)R$ zR5}9?w4`M`f6xO4a&7@dfH0hT%PAAj91cUuxJ#(}oT27HZXNVLcW-wAVZ%8J!NL-X zSWPJuh+snz*7YNT6|o4Ua`*|a4g`DZG{6jK%?Zc&!sJh*>B2cc!j9cl)V)4?pWQD) z1$WaSB#j^(|{muoev;XR=f-!QlJUSx#WttV>e{gYzYhi!`ELW%TFA zW6?*i0CK6ykA6mzOm@z82q48#=1wRwn^_icuKY0QQRg=q_Bx=;A}MD2``bKj!RSS% z`QMSRvQeJ^=)T35<{$LiN2SN717yIjHvOo3eGxlIDdk-Hn{zXt1;jYIZ^+-4GT~W3 zvK+V#KQ=$9s+C?p5kKfN*-($KJ6;r_?)61PZd%sw317OdG$0Vao!%O>tj6+ogkbn9 zkMH-YPV5ii_@Q4f-<`@d{QunRJLA9-IAAY$pmXG8;JZtxdGg(>=kW4-kd%+j#f^Xu zZ&f$vS%P0=nK}$N&L#Zu2P#DQCW{~nMZ(O^0VO{No$wdlT;A_Lf18g!q*MH?Z3(8n zV>6lM$;fu4%gRdz9>=GRs}?^t{Zi95fQl={MV)ZJia)#c!_6E1!$+Tv{_K%IJf5F? zwLAPuWxp31IG-?l{EFrIe*W#J+l8Jx)uq{ol;8l>5!Pp36Iy&pzQmJ4*+yn}CwqbU z;p_WC3(TI%wERg14|Z41-F@IAB(MSfb$xf9BqA!-3rraA-wk^sOvhmb}FQ>)-GBbq4%h$;+N8G)bU4l~uc z#RRBxRoaW^Iy~8BRa`~rp=|&R*vu0Dri&IBffOyVYK*X$1ArA43}EOK*lFP)@D(h* zhq+D7IQ+sUV#*Bqqb}rdlOFGYC+f(Q?66GLK0Q2H31$J&2*%z1wHXZLuyBD~BP3+f z(exQa(G@I9+R{@91lXWbcbm?iNLJ4|Z$HN)__%MsO0}w4jeNc@oxO_q;2-t=LsaGx zA_NMwaYuXXMLF#GH9E0&21GS1JON128LLsPu$c40F=M^an&M9=MKQ)(LBoU?jjotF zouF=l=qK(cJ}pB8l2Rdsu<$XMl~IH;I(!eqKp?{u zLt(@USO}K+c>mc>eVqIw$s~zq3ZpE0CtfVPLi&nsn+Hk7Tg(7A+b1l`Hxi2@eX@(L%sT@7 zLZhR(>td<@AD{_g5jwsCdv;B zFitI{l}E&8D47QM`ZpY8)Uz=+(`TytvyfJO50ROjl0J?Weh(WmNBX1)In0A;q|rxN zMe=5J76EjKAHGyJSO3nFz zgMS8sjYA)qsbf2m;mcm|70lD+Lh&wST5fml4~NH?N*~P>_(l#a5=nnqiXO%AQ1>7{ z+V1gJO9!Q|teQ%R8EnETyfOu5>CqyoUDxu3K(RNh3-BTZ=II62ZwqXu3+@~iU=9l$ z&fu(_6X#J$3rM&LA<5R-VSmo~xw+rQ9Q>hP;crs1{v{Ub4$C2KdF3HTWSGPRW6Ka15JvoIi1N6jLR_!Dj3a>q?U@ z>UP4fNZZ(0-yV3hB2MGA+rKfr6EWV9zYUPuj>(P?{dZ~tbIEbE0jxHVo1XBynWcp|_OzMEO zSkvh^0ueb^f3>ncW|O|fg*6rHW(=nP6_NB{8hQQ`OcSGxnNN?Qx3G_%xt5iy@buf32G&Rv-!AE z795|{rmK`y;LE3%UWgx?$7183g+ik@VO2^U*$-JxbP9^MQd-+#E_@x7@~t(aoHCjgntCI&ljvkqb3hBIYQ5=_N0gcL+9Xe(8`sSejY4Wm$CI z0ZSqIlwyX2aX>Da(iX)QT})zV(37?-emQ{Ztl#Q%RlZdQFa#?1QquflX!eZ zf-$2{&=!8IL$5f^8C3zxDTOtDXKip}E$5Sb3GGy5W2}gjcs2)9)aZI<3=g4V;3Ozq zeQ+#ja9nv1P#aXNa#E}cDL<5$wUHzRrLCg;>y_BO2}AxVL&?7WlYEldD634n9`VW{ zA4e|IL&&|1DD$0usds(fcl{4%CESpb_tiQqaL~K^8HE5aQ&$QgM-@Vbc}gqc>Z9)% zpk&6(=8B9mo9Dn_|18hg?fy}tJvTGXL|Ql2EvmhjocPBD>URP_6Zg_Mce|@!3$S&J#M!x9mKAZ?p&UMyYxp|%Z8-nrB?edv9hz=8r89@nCg*!2U^7g>`{pT1Gwfl-N8lu9>guxnhjoOq)U-LTpeiKlS5xSv z+ZKIgZ<7uYIh%;awA*(9Y%J=|l!F~!fMTlj8B3pc9uzEbhzN+t^DYTSY=Rwkp+A1J zj-u&^X;gF@o2@Yg0CX&%_do^2Qw;($g23lzi?{HwT*z%ogNhTl7K`vB=bIv-P2UmU zGVrjtk8oB<6l!QsiBZ|j>aTu8jvKQajU@n=-b5_KAhewbD|CP$V2DDLvmLRJa&V;6 zU=)%@iZw*Y_7zOMvdEVd1qM6%fv-Ne*ZvLh?2JPp8#tbsU5i9}3L}}jj$oTZ+_qeS z+k!36R>FkA`L%R{2(Tg;%zZM)DwPxd?dz9ibl?^MgpX7e?1R-#zuxZx-}%Ez&9GCu z5ws9MZ4)Fux&T*Sy8{49BVqc673iYWlbqZJmto)Uh)j#-%);duaVk0lHW~rDLss+c zRxLIWTAQpr%s|f_NpJKgRPHkV533C@_W};ckwBViAPw}29YCW*W{&)WxLfhsIuc$B z?Jp-HEP=+WKOOI4X3;F_l+KSOvty)(5_+lr{Axopj6!=}4|m^I@Z zsRbKt5=!L5S>hnVe-OqbN$(M;HwDWDTD2sBp+6AZisfq8Uc+pu-tR?tr5%ef%>^Pt z(2M!g4j^8c3AX?N} zDlpSx=&Cvm{R!d%itYl!sqQbFn66Ji(i`FF9QclpH-7$C1a ztgxT{WLdlo3OZX^ErtK)oU`J=g1Y#X>lq>!;Od)Xxr@qR_>HJ|{P3I=G+Y0RgJY?XgweEAeqOTg(XKC?LSX)aS-dVmgAJ22Sjz1OPnPs|Za>I;uK%r)Ai7c3Pe_&GekS<{GnM4J5Qu=a zp4?^sSkCqcar8bK>bE&1X!~chc(mYSl_KMeqH#L!>JZS^m|Rfq!Ys+lJZd)oM=&HA z7#-xl>;nLZ3#sUN4Lq~J)$r93{Z5>#1QoU?brQl0fq}l%5yReSQQg1Q=X%Mqw_Cz_ zOqTW2c`6S|(@Y#Sq8O)4XZsMbn#!7C|4^SBs4ltinys0Zm>8JAQ@TT~Q_q!TXy$`WX}Kmj6(nzifE=GV*KJ>iawDKrejS`^M-eJD=YYMvZj=Kbs!i zPylsjT5aDS(xJyQ)}ee>2>GNPniy1`k~c))R%2m$?O5=Ozt!hQevN+LDdL$0SA?CO zJdgZHLq2=KH)8+J#29S5rpkck<1Kwm)y6@Znyy!KKgP z=M9xsUQ`=i`O$g)rpn%8^-a|i+6!oPsCW%plSTW&iIMgxhZ>{nLbwaYx@QV%#z^h3oW5>m zOE8m?12j6IHAE@eGeY*ldhc^QnM7prgcCT~1OnCa5oc*4=q}BsZH{(i)CD}C&36MR zkSu4-!=CJh_;Bi*)LDbV3}3RdxlQm1u2?86M_&i?n0HHUEPff^kRxK3gr$D>F>r1zXA*+~io(Mei`T76 zJ_uf^I}tqvHS3f2G;~ zb1?L3z&znhOTd@d>sKEwr8u@cT6uoz6gS4B0cZ4eu<5G7Ensdr7t_M{=P*;!PCIw* zQznkfIvu3Og|SR?NU{Zh?p#~zw1TJn1Xl4>GpD$_(oAf4sTy@Y@Wj|2lROhi`329C ztB$lwt{Q+Q`A(Q1yX4uJ{G*Fc!W3`x?wfbM%;#bIylV^(9iG+}oQ5WVS(xlbff^gVS5hO-Ou%aG> z@6CB^F&3h3%^J2bf@HDnAGFdLS5KESfks`H#MKSqa9B2VLjYz~x5Cxp|L zgb?Hq7B)o_g_-Sij9>h~@vNz*PkdlN;sJn3ZBb*9+?^|{MSlpxsZU(LLKUR3LY%2T z^+!l%@w#D<1Au`^g!Yu$J(6hvR@1sKa(!M$2tb9x{Blm;0Fz^QK>)+AB9aZ5%rd7I6yup;)8@kW84&iNfdmX``)dH0dR|Lls=)Xn{;t zKu)b4m4}3ek=u~DC^3$O&2VdsFjIU07=9Z?=Lj1me#l+j4^kV#@oQv3a>2R=YX;}a z7q0jtY1zj@=;XlwgEx%2*7Vb8PS{KM%rP7)U4#(3UtG#=+6#668S6^bnSVbIgL{s) zQCn>SipAQp3!*C37Z-V)x0Y42N27x)+68J^=`OuA>aYqz0OhL%8ZO?F}4dY>Bc6WIfUfiWm!(M`uP3JguYZ~l$ zqoBmy!?*F)r``8;t#lq*=V~R$+3^*{F3Bls*R|;u#8Mp?@54nl)qqhN<`9UY>NF zL#()1992OTUrw?FY%X74X&`*%7(4f&Ir2Kg0bZ!W2;pAyg{2iuR3fp%AJo_jKf~lI zRfNQN%$X~Khk8tP6p-_exlENk8Vew zILfsptu7-5HMb0rhV4e+w75lumU*>Gv|U_(hmA!$OBa-h6rp`1+eTj8dTG_5woWgSc}SI``<*6Rto z$6Oj=C=S4_P>1`}m?@z6fY1EmNXm{#^0CAzxP0pUp$Za-12`emFg;S&eCA9NMcvb> zIt3SFd*}n`honP7+BSH$P%PXYg>D3Ug%}h${6+j4y;A!?1f96W2A4%YNs(Wr_TaruS zsxT3zp+lTAfpKDB4sFl25ut|GFL9ffUbTtx)`QATi0t(t9#Je0kg4LKG@-1ah-jj( z9n8u&)I}b~=a$Nkg7w{iiS9$$0YIn;7Jqn#uv(LXWMZhna-pvRIuc=&P#Az^<_>*6 z!=r%+Dd9`wm#^Pa3gI3h69AC=K5wv*3bB{(r28QeyA{f0tA^ja1fW&KP|bK3m^LrX zvwfxSMVbJDOrlUpKyDrstV3NqjC9p9Jyci`6s@Knma6gI8x}r(F?B!vX$5P2s#au9 z>O@FLkw~Gs1UZ~S1CVo*zk*bv($s8-4FMO=0qr<$nqUg#Gx_{t2czIYSol5|pUNYv zQ{?=X1_%IMb!sM#gc2kf>*l%!=9qzr2&w%J98v;D>_|M4$ht+84IsK$62$k%;t%LUAF!QxRn(`Ed%cR{?Uh)9y`T|H(8$@UXSaynH`>F={C*dR zNdw#;oKJ-yV7G2@dIN84D%tv-pbyCSN4@6>`*;^d`rFQ@tiQe<(veenr;}#c&wYS@ z@*sr}km5n93)i_6Nz~(T)k{Xa_88$ZdDQPK(XW4izu$1y9YJVA6W!-BJx4g*46*cr z&cWGYSTbT&Er0xUMI(NrS(!(P+(zuOMjR?eL>(ip+eW9{M+pH&JTXSRSw@5+qpU`J+4$cez|M>VzY_Lpo!u~6V>(c(@W#(bfy}d z6B^nRnr0JH1~AxI)Gf6fO=P$(bGTmlgeKWkzji{84y#)*VK8WF@NvR$XTpFv9IZlY zB0hPu*3{I@?4~%aiSMKl&diE=(n8h@-E3w(IBEXT?8fa$%gIUoE;IAyiMvY^)&k~6 zbmk5_W_C+v_9|xgVx$~Z%$?ld-)T0#Z(#18W$w0a?wmF0#%bZgY<`RGgUinQ2h0|> zPs}~cK0Gw|;C=hOX^gr5NAo~&i=f};0R^MyDm7^;t>E8b`>Cv@ zsqBA&?ei3-^R=g6m`xWrOuzJOqbM7mv&8;O-`3DO~2ZieoZ%1!8ubY zK2xPIQ>{HyV>VOkF!RQDrVck#pET1@F!Q!{rm<_LX>z7{X{Kdorj>4%%sJa8KHIJ^ z+o3(%X*S#CFx%}r+k>0!O`7d1nC-8feb+TRFgZK8G&|&;{c6ibo&H}8-V9XIrw_DC zHCCMfN)Nz*8nP|y|JUGs-=?<2;#{1B$^S}m*!Lehz2ib*&U>%T_Ei`DPYm8%YqIFT z-I}Z$bsnboeC2(s-cb$SIa#!zk)67V`3@rcf7{@F(YpPO_t7BOu54W}kZ!83SVFnhC9g&(sFmJR9^dgaZec~Jv6UG5XUdM5Z)TrZ6WRWQd zS|hS8{veu~;^2G}_Ww?C7;Ec3Q{G+u5~~K0TqJ36IWNZPoGxCB*Z<4ljlL$ilxS-1 zyp&{lzj%q7;yC!IyuE0Wm(o9F&yv>vJD2&&_nfp@F}8Fp+`(udi-qsSqcnpEYC&l7_Hzfm0h)#Ac_;{sbe_HypSO@-#lxVcIFuDurek*eMI>X4>I$#vG=13Ie{k=){yz-f-TeOFfA$~=1Gfc<#N#ter}qwM;OcQ1 z@;7~&+$>b(Ke%lVDn2i`CaARceS28Zh2htT)){(wG5S8U8gptxgIPgOU3N75hV){r z>M>jD5A9rx?|<#Ro#^DQ}en< zjyaL{eq3Dj411Puvs=M?VPX(H%`q;s{Pp^PPa>WA` zhX4OwZ9})seFg&X|N6$E&LmyW(&$fQWO#g1x!WAnp|m`%xtP9F^8r77Y#o#&H&DJ$}pV6oM?6Rn`O~Fp5JeEo`A&v4|+OcHdp|u%W3GL zsC~ZPpmzX5`&yFQ+)#txtCBDIk{eNj`ULo31_~&L^bv|Gs$bZx>{A05 zbPlO}icdd1;=Vdhlw8dvp8hvnugK}d=|I9ZQbN8Mvt;99se0i2-^TSChIC~tq7aEa zm1Yh0I9heuP#r#Z#05yTejlrj`W33vlS=(m&_RST*mdKF$ORA-C4&rQ;msK#Gk(X7 zbT;TZABAum4UDJ>6y+F0>A5FDe;7w%H?-T=#{34suzZ3ypU{Ri!ArM{xS8nG50um;*u&}OXMwrxHAurY%cZ<} z&7+N`|JBp^m)eHid`FXQiH_b#YLWZ40x)&&`5^J?1)rO)ha_&?#cC^c#6>aV-1dn7 zIG_wb-amp@Ay57{Ih^Z+*b7hoHHTC1QXR0X{lAdI`FlVgSzDc||DT<*Z`Nn(z5nY@ zh7$1LQM<;UFs)?S^AnWNzn`-I zVL+2#4vW%H-`D#uf>-~80lokCS*Z7rdJS2}`X(Aed%(WHDl&i{RuXPE8iCwhz2*St zFF}vcKcFmw00TF$h~zpy504@pE@4K=&zxeI+4OfOqxYYk487Y|cO|VUf8}t9`4LGb z@B;kc`C*kk%wGd4g)=OAVaM%M98_Lys5n2n-FuO)_#|?zjP;@heR=(V>SS>Jm%*#@ zYqJR2yT}iI-+1Xi`7K2VBEthY*_T}=HQpNAq7e*0c>9J)D#8a0xK7LcEwA>BSdBjX zL8cwQ-d9d{Mw?k-OebN}I9lF?RK{ZQpH5kstzNMdx2-;j!m_P?8E6J0VDm<1d*H&~ zr|e4E_K@;lr>q)OmU_yba{o2@%>Y9;1}$eBP`BzulUiua+J4E>DQF5vb606FjQ>}s z?7&hnMHT$|eyj@ZRM@jlQF9?MAbHrd%M4IBp2aB5w;9-73@{K)L_{Yjb}>jm{v{Ge zeK7qG!gqS$j3EF7S@)u-e}%Xto~gqMXc1s%G?e$z3tG>3qL0{7of4Qn}Y z%+$+{a7dDMZ&*%$bXe?|=OJ(HlR z^Pu&Z;rk|;%U`*Y%y9R6WjBlWz-EtlRHj^)TLUtLriX*FKbWcq<)0sW z4=Zk$d5>xe$zJHwi*0%^V%Wp~bL{3#0fiCs)`4GxrZ?QTCK-YQZ%9v&;t|Ne7r%Ri zp4Kp{O}kXDU)S*ZQRz41{o%>ptY^nbv;U{3?+pCs0`{mDc>Ij)r8&ZO`QAdr50!u~ z(bCVT>UaAM#d#0cs|`z8-hU20$1&b{yqx!3@bQ;?&5ee&q#N+YwetL-!|$(M1slJ< z9e)1vGo8~@$`?zO7yjt75!vY%a|9En^;yV0ie>H=p^=Rw$UDboVp4V6Z9DV!TvcLOH=r=7)?a%KYPe96;Kae6d zu*e8@TRP`NWS>lbniR^Ih@_EQB{P|Og`Hv&rqy<8V@7OcJPmpsM|R6%qQ%5n#i>Zye5;#|3lY%Mm5z2V74bclr(zpy#_=; ziiA*AkbsJSqM?WpP{BeGgb+#s1PGusTPRYL60E4Gp$URuC<0;&ic-~ph+rX;Z|>YR z_s&}Lm+drKV`&2iQ^3>OD2>_v*Jfn{Ni@12j*nSHK?dcL{dm$eigC-hj* zaJj(_)rt?=dQ>9{^IS8u72nKt<5PU|BfGU#h8bPko(<<6d;3WVw4>KZ+^-a&5bV*j2Jzv5;u zU6cJAJAI4%O74YUH#+%xXV6E>lE*Wj&CYJy6(Uz$_MlN0PjB!#3>Puz4iQ`O%3mC| zD=r_eiLko4@!}ZqN5#mCFE)3@cAp5ned*(Bt=;JJ-De*DxGa#IweQMyAzEo4d^8Dj z3)d9pX3U(v_7BQ+((m+1T_|RQR4GJpBVM|hRV5k*xX2p$GQeYO`QsFKL%U%{+?i^% zy9UJn81#}0)mrBbcI=DvE2%njT{d&x!$--lywqX}erupyl(I@DVU zFe3mTxW}|ws$sJLinTi(r!pRn57V+6xhe_&+=x#Kv6DhQ zsIub*-O*^IAVVam_gFV|`}-RQkO5#*a1*Q&TTtOurQ4F=MvTawS_t~}aQ5RN?;IBP zjLr;F+Sf%Rpa*K4;Bprzg9GB6G;gaktssF1u^j-M0@9^desZ1kMDx0O5U}d)DQf_R z>Tz9e74;t0E__(BVS3dlckCi3xxurkrrTKx{{fsZ*ffbi6Dn==v4 zKb$jDEiDEooKY4D-@ATZeLHf(M>J5$##d^ElrbO}=$gZ@ymK~kYJ6(j)o!*(Vj zH5l0e5c6%+4!<)Nq@1bs0kZ%8unygRM!$`w20#TDUB)J;Xb3eW$~-Hgiqil2bt}bg zngJ9+fuROj45)Wkl?p}Kzj>`8GwkdW%Fk=f+8Ac-md_WF!J4G*5rEU_ia&@m9fM-j zJsDsiCNG0c(4jr~nqxTfCYz!Ftg?|Ro&a!iuk}dV(AGA+;O02jO8qA9z7|oRT3>(W zh0HMku)>M~CS-`1;;mW;>H~6b7eTRibUt^Z|+qPP=W3Ih1& ztR@zNAyNDHQ*Loo3QTBUl|)y2!AmFN|C|X6nV1{0)okJE(0oJoi(U%lV$Dq^5IzZG zD^2^Z5;C`kITSVyEHoyyBu?x5B#tdiir~|4CJj+HZ(llJd|v(BXAhs>_i4fVX!=PZ z+pZbEq(52Z6g>7%GWj$0=6&$s6A^=+nnX-kTxrKV5#0U!XIfdf-skgVrS#?BFZRL> zUcr;qI-xOtkMQ^8_vd?W7c3^e=u%q~Y!|NAZQabiaP7~WPpS`ZI`~LanCe2o)4x$G z1<8{_)$a)AD5z;G%76YOA0+T*GZk?TG5Rh)2kZxO+Zr7IX zFqwY+B6U0C#8)0#%p$|xGXub9INO?r-ODhKPuZ=IsZyV@BO$}nGt;ju^B*FGRG)cB zA^8^>{bxd2q!NE4Kz*H{K@cKSK58uj-TewZMKz+YWyYwH zR*CveM*k2n8W~ZG)J(@|kgVnjfDLVt10CXm05a%m1QZZ}0W3ro2MT0ibpb$xn=Z0x zO_R*FafnM6RBV~($j%kh%#)2ZHzpsH?f_#WV00L8XFR9{4u~XQZ^)@bZTW@PWa*CJ zN47W_f9X36c@j5&z3jyIo{-NaSZ6*45&<*vhb04mOqST&>lBx@LnWg05l=jH#-yV9JFrM=@IhMCf&cF z6iC};k?xgfhxtEt1nywLOoX!-P zH1wS#m^p4{!>JU#60CoD`HgZj5l#JtK%0nRyb@p*Nf#PcXpeNyomMQlsc8C(cQ8+2 zLcQAla{~$-zu8P!lm9JF+2tt}l zDgt||wEL5;&YR6___G5JDAJRqBg;N}U_J{_+r_J9Mj~6+{NYMfeen?^f#nu<|5X4k z;8Xvr07Rf|eph{cel1WpD2a0YVC23L681oU@{XxX21=>_IFfbq$zcyG_%<28USE$n zXT}83$A1^cM(*1dS$SEd9IGSVEU1e@tGtVf+aP~SD8IyrU~tmPX}du<<)iS zm#!VXQoB-TYj=e-hrIK%G)E~(HO@=C zO{w%F>&a2)=tXw8Q~^>1=|10qD;6A-t-LW1h#Pp_ycm=j@k? zWR5G6J_V+3p``xfMPAG)-K3U&-^PI{bA+s<>0@>Ca@8`+m!1Tf46|F-ktx3vNuPPy zcREx4l*VpiYt7ny)eT4z30#Qc3q?@j%qiMkI9rymHxxi7=gs|n{!{$y^k z#c*Uv_itSg0`)4a6y;uF^*t*jigd`;g+!I2nF={3g&B#2MHatfL-TMcE(fG0}Wbta~3OGrZCgC z74K(*U%G+ac$mS9Sf#jp8PG%14(3lpl1@zI<5$^6QL-v}Qg`ehzWSN6_Xg%+Ag*_v zb{KzHthF7W=80*-vw710$dxtvVh}wsr9$k_1n9-^TTg`&g|c4|LJiD{M$+d6=7!jv z-`ISaw5B~VK6)IPoCt)>a6xM??J)2ag+t`V-6djl3s8Yu5u@^<~;GwOtkpN%PzYx>1^Bk`>L``xY&_EO;JFs%NI*k8#tXN00H=aKD%J{< zcFwh6wcLRN?=&#S|Mp1MiuKxEH3dO-2?^j)x#aYiDCt=6+4?k8cD{}TaODzq7yjBC zLZ5Y<=plJUd1pF-#3b9NhaO0J!|LxHcZACK8?@6qUzPgvF<W#q zoWeFpccjXIy3ORTVWy=1&SL)jEOvi%{c-ZezuUyYpPs+EUX~k_YWyN=%_d_@U+SEA zOUJJivBGPg8)#46&;nA*sU3ssQG+p=rMKHFrPCU|i=|GhG*$n)dT8-(TA=j#hnPR4 zlwG?LdnM{G-Av)r2dejX2>$XOedHx2b~@r{h^Q9}vpv}J!7}fpE$kDHoJ*I=D{!;N z@wq#uHfXB*d8W$;<&WQg08hDCg8>Ws3;RA}%Fb~UhxAFPHV7^B&d>xNl2;nvD{YL;6WCRj(w+UBN!v z=)9YCopC&DyU&iywg$*5OyLTT4jpH5Pe|cv#_1C1z(G>Iuof0`Z8=NRI|3553 z&{<=-oUz_eWS?!x2fx?zp)Jearq@{F^ZdrP&ijz~$<9;H-$|i`9LaeJGx}shCjG5F za`f&<9U|AH0RUd3%)a zelX<+fSD!mn91fPgI!?{0OP|0{dZ1b<^`AjG_?Nvd-qQ!cACUFeW#IiLPh_5M<6IdkKl((b zaq4FKxtq0{CBuT6y6v3C_Y2K8bNYiT)_{{M2N&<9EVi9k1XyC?@lSIH={c%Po!gh5 zn%$n`Mb7@NsjEV+qJTUe@`ag{XsV$VJKjzdY0@7yhKi5c8yB*YTB>d~`d$1*MP=c| zJ}n?$KKZsZ^sShTOySmK|8R<)i;Y`L8NO_k+``125C<+TW*lBm*uYHkSl?|{>N;1$1@I^VyvS+e!r_gQ z)QyWz;e}2c6$Kktg&U<#h&Dou<)hno6symFkhU)GY`FHj{^zf1**4>EzZS9RO|Il6 z{*3j5_1vd_+J%3(n7`Hym@)D#W~$KuNo2BuA7yX65dP(<{~K}oH+J~ncX-sm^qcW4()GRy4HWw$*t6b-U#MHR#^)Vd91K#lw!3XTQGhxwQZLA@&APW>ive#qDY`O5OeK zvftLH&ZR+r<-d+PU9oRD^vuD>*go#y<5PzoM6(Z!T=%|aE#a%>#>);aVEznRi=N^O z@k3Q6#cLCVtSJX-ALTfK!FQI1VYn6*#9Sk31%!9Ix{^@MlU3Zf6 z`it^F9w zJ(z~0p5e99uZVYmj;dAbJQ9JYue+vb~FmG|{oj^RS$UzVR zk*c->3Ftn|cHiFNvqSTJ-T*rIlDAmUDV>aSHr#vqfRQW^L3(wTXA;K`VftrAZ5>L@>Fd1a zZ+?8=m$SDzkM?=2W)JBk@x-u=x8G}kCGEKDA(NqERq1H!%ZIAxx0In5g(%CI7!cjE zD(+#x^*q(w{D$(lhf|!MFBK?SXWpFBrT$l^gCESM#FP}=;v!YWZE|SPljwZi!qmYR zlw#Yz09hsv{7ku;+C^x?{h~0I(IB5>!P;0dW7%&0nxvd>eW`6BhC+SSBtbP@4kG7ybMN1FOXcm*pC^& zm6Pl|X4RtF``^`QBO*tF>@3@=u!g{T%c`0;UZ5Y&(VuVo2-0#_aMt9q zpkXM%F?cdWq0v9fvabN;hgVXqiOH<>CPl+Vq3^Z~Lm;C-ctYP9p0M4PSjp8=e+&UG z*QbF30J3x>+ga{TYoS`Ss|10|Km-WVjsbj_78eQEa1)aX50}(SaF(>Bfq`|ZwmKiF zLM?*;(JtEm_}z!LV>$3}SD03yvwI^87v0EasE06vXS8qqYBy4Ov+f~L#-U4%fnZa- zP83-KZriSb+(+mTHIy^W1Nbl*R+rP4>f0|WyHy8)fubP-9sL)Ow8n!0q96->a2l+= zJ_Ac3WMI!wkxmI*q@4gRmPJ+GPdJQl=hKY)M&O(!g1$Wosq&W#+cehw9nIcp*alF4 zN{lPr`%!Qj&&YV0@g>@eQF{%<#R0+?w0jWVU6vUumWXu0g19gdUWrq#B*Fpgv&;A{ zu%Z|ZVYvd%yU?j^Lm;|~P}KJ68g)_a!s(oK(KtYrx-`Ym8!yMHTy=%*L25ge&J~jW z)#^Hk(VZ@X)te?=5=;eL@$F;;&P!Xujta)+kf9n59Z<$PSn}RR0qTx(VUQR?J5cJ5 zj^VK))jqBy0Cc00hhd5a-AG1^sCIe0B;XVLxA^c=G{7#qn9RihR0zI}3$IYoGmpj7 z{+tEm_s0qp5AXhuHK_m=s2A1iQ3VrS$r-A&sIF9q6ZKlB48E11xoEc z!@+4XN0FiHRYG?{tUD8*c3DXb>T!=tV*)sB4Z$vF5VkX$;cD!0jOD?oDpZOKhbS~~ zWvq(w&BeFUH3Og7uj^j92#9&EGrW}dUC&Ep6C^jO&S;VVW7N)9(lBU1U*&>#Bviu9 zNu5r3fPU#zgwr7qwPL5%l~j%ACQh()>4Q`prR_hL3_;V61vM1$q>KO3P~yWoejedU z%D2%Zh+U0FmKy=C{7APF(9%HnrjZQoDBT%)0_0QRlENTZn&u7iFK&s4Fx6~?TQ z!OM}Vs7q@v7t=nbPGW4HadY57siVKV}MF~*RoFji!IS!Ro|^_7uD|3dx)zeYDXs%v+_X-8MYqj(%GBqrgdL zV*_qyU7BDJ4?UABw46&uT>LvWe>4s4^zcts`8Lgs+#Jx0_Txa&S%o{z{PLLfg7=l^ z7|q-*2_-}>UN(V>_DtW(AskVX2wyh51(fQANHI9*R*GCJz5^BJEPJrz&Sbt!sI>Xb zC(7L&Dld?cbJoj@{LV$w5B&ze2o_E2rcGSLhn1$YB!ce2&gjW3=jVvanpW?L*~6@k zx2Ptgi;UBVUn??B7x)cB8ISC?5xBGE*IE2RSfuU z;GXJy*9>2Bh-bL`u=8r9>yC`xgbN-!qPtD!>E{XJ$4#D{Uq!#~aDu#0hO|GWwm;o~ zY)Nyie7CLd?SrR(Coj_+`mnFBq|G2n>oAe<_iFHMCz;>$T?z1b11sg3+>S*JYP4A9 zlB$vgU2jicwiUO;!L#f|-`@bo3kvGumwPXd?MP%A+q7lH+1eM*^j5yj(>|zjwjL9F z0CSeGGve*#4P;+U`<3g_JFnLi)VKFHNFr)y)Z!;I0u9>A7|KNg&nX`3v@JcE17#u+ zaRBiGi71k|dAHFsT@itS^sM$>fy2An#|9GFaCeR8#kNuhSGld85{sT*-L4Wn(O%CS zBzl=%eJT~EzAm|dd)1iNM1mv}pGld#;6KcGG0;A&Gx)^bd(6RmRL6VVWN<8SFrS)v zYOJ?_oAte~3VlnmlvP-3o0&RC7mmpcP3sJeu4Y|{%}$$ZxDr0}^?8#>kLQFf<0%%_Kg`3C!yYx8PIpo-F)b`y*$J_=uQ!aeuVU`1`2xx_2xre z$l2Etbu0<#Rt69&4PPt5LuuHsl$&pjv9EOSuw3x4jP9^P=CJ&}VOiB-OV4zbYKCpQ z@nSMovJx(@=vQPg@=9@pWSFh}3aNKIdtO;g|2pbxngiQ_nQ$6+jFly-JelQXX}&=NBm$F~1HsedQ+v0bH_`L3+_XG0}Tsh9SCQ9Bv=;6wwKp-d@2f8RcE4c9|9n_D*rf zekSZK;qGEiwpT3E_h-HexcDmY`o4_peVs|KK90Q#{`~5Y>28h0ea6vaA-dzCpSM<8 z`Trn~g&!G@I6HncbDVN<{MhyJ$h+fFJ>!wVPFYRnzuKQTz+zHI3MN@6xLIrVxWwW~tg{U3 zC*#L1T;^kJfrvrR9C*fIrF!lwAiD#+!uv}|yN*)v=g0%YdnGE1?_I#ev1Fgd6hmKZ z_q~g4zZ?{poo_eI{Mk44li##-=XJ}KiDUr;7QP4l3i<65Z$7t_%S__aIR*hqSwpYIt#M+pV1xz}z;i z6a?1f0b*>B_@tI%8Gv1fDe$RqTW~p!CeBBwQ-H%fsu%+tX$ul>1Em5WI0Y1`k(R^; ztCfMp1ypl36&XOI2&iI$cG-HWd|BzL_IvT&`%NiU`3mWv~cZDF3Aj#Cd5@K^lZW zGvuYg1?ez=24}!E)~PBaYAA!MP!Coji0U3R2o?+>h@4~ySKJ|?gn!tRxruwlS@9Kz zn0@2|1Is*e9aEHFAj5#km&{4}8z@zp4L6UW8pQyqZD|U&X$BOC_&P#@492lQaNvUl zHUnvpqfMqN;DJ;IAjt>GwWX`E0mXHyLLWkk0P={SN%y763lOmSbpJ}K_*|MSHT@S1 zq{hq{2>x_9-@gZxW>En~KV!i7rtN9(=Nv(1)t2fks%bwmu@f0h!l7CG01~h@Ky=6e z6a-X_b((xWpyml^5&-owz;u#)ejTB~pr$gY@_lKdn1ccbEX@to^Q0_Co%LV^1Mt=|n#(#=FJ{)7 zK})7UH2HKjLYhS%U5x_Tx=w%6N=s3I$YH_e$aIrFgy=-8z=Na!G-=W5t2R<~$EVz^ zs8H1b|JEx1`LF_H`$ajiTtef?nAtdd&cQ*4?uydUI|%>bto>IU9;q!sy#`NH_eJ#Y zi|uoexiQ!FEIRt^>%7S&qm|FhIo#_>-#UFGUB&Kw)-pO1!>wMeqg>wc;p5IsEPPWOxL->sKXUN}hDt@0| zz5@JS()Z1^??Si$kQadT1z;Ni#6tj$&u01y;PC4;^TO9rWxv1B3fxm;E^~CK)D5rX+PCeR;^E2AM&8fr=zNEh^K` z0H)N7v|xj6%ixb1x}|!N5eY3Z3&^9KpCC>>f3;&r5-hTFs=y!h}FZD|@3!Rp_anT#-QS8dX1cwSp3 zll3Fy^Qm@GLd9U&TwT;T0UL~n269bC8as>jimrhh3$R8niN~0L7K+bM;Gb0K28_T| zKWZA21+u_a4K=wQ05Zo4smwBfh{={Lh}Af5z3^xykdmo!Eh0Ywq*nG`ViL3{`Gdt> zX0p=NC?-Gv;Ee#~<7p}Xws0TkV%)o&5 zI{gZSda`B6{iQM1JhP)X<5Xyq43`nb0AZh5?g)rYfr5*mU^Jsqs6ncl=tLT`kjwxR zeKv5AWvMxZOdECn8X6B!sa~gOs08q0&8=XkL(GJxgQ;mo{H(K1F-8D2nU)s+FfIBe zWBdIfwE(K!dnA&}FlSLSMt?5As0kfNB`Sm&BLXc!snt(J1r?&WR#9{l6Kk3BcbTcs z4(EcI3Q5@uNGvHm)byJQG%NTIO%FjOe0YJH$kGk?p9K|Lu*RozM-yna{H%ZxBfuoTuhD(<3_uaN#bHUeAfo=w2_8ca0JbZf zzohOi9)Bt65p2X~l?f~d3C}XAu}qEg_p_6Pz+C0g+4G{?|B=#@{xOJZgSbNj0xLwe z+5*yO)}x{q8Lt2jiJ_A;{w>(pF5FLHa$u(Shwk<|n;0JN`=4g3;*;A|4sM7&kEP{NWHKK+XZu#O)Wc2aTI21_xuwz1#17mX3J zfZZ9>+2QI^jtX_?hfL?0`J%6%`#y5ha_4!glx$8|*Vd!B@=%qN$V&8oSjf(|CaItL)G4d>`n?i0U5RN2pvB{7Y1+s@J_N1%_JRom)M(cJ=GS5 zGVzE^&vT5Fkyf$(LcV=;+m(&i`i@Dz+m2p+1MmlPexHSn625Y3QHI>Vd(>?&-YI-p zc~4CI(ze>Ox9g6-Cyx#~OaiRB!2E6FO4c=v_r0wb>npPzUnf-8*}Tr^+MP81T5tEI zsfhempN3Z;Nsi43RI4h|C!Ml&@sL#K=>mjrJax4DtwB`04 z=4U)49r|LRz%TO5J))IsE9vN&g10QHiDCswbu;`&fxJc|wL`|T3?QIl5;$p?f20FF za08y80IQrp_Au5+0J@yIK33;RYRqlvL8xggV^AtoKwMrWhL`Tdk3KpU3V12PBsXVb zTvWHIgk&1-X~*_B?plrMvYh{`-6gY_NZyGvr#KJdwypDhG^_*!)B*lq2vJo?<~@_z z7BHQuXT!s1D-pX%J%ts?d<@__Mn$27Tf;50u$BSC1+oFy%%RpUll6ok*#H4XgR6l7 z3}~_jzM1m)X*Dm~_r^=h1!~X^^$(*ESp!Oe#CxjJBuQDn(V1qnH$>8ed;mjcF$~8# zu)czH$uk6$IWP?mWI4;!w~DNJ0AN!F-Wtw@L^aN4SW;cKQ@Jz?Qnjd<*@>f&tS(1u zNUlP-Tbq|9(PL>2QDL3Zn<1e6O}z-BMvs$18Yop}8t%{s0!ZA9)R|9V>gx!^SPTPY zTLr6!bV@%HV8jJgr*CWL#H;+cZ?u;Wm*Kdetz(c<8P3SPlU#WNY^JQnSM~BSX9+77 zLfxw}7su;F++c%+n(Y9bzLFmhbIcxKkYRe{4!jZ;Hofd~+=EAz!*jD!xnKyM-vOs; zWNFQ@;TH$M23yIQ;^85s-jRra_S4+d=t}T5HbI$6O(R?;OSsj8fp&75ZZ{vUCIg0_ z!KRDPXd?ajREJAEnnrySLZ3p!(lj7whBLyE?2NM|z@*t+@xTDEB$Wk`kpY3lHfWG4 z9#~C47B@zMB_+iGMJ`or8#50cQVAqjm)ko6aR*fja6z97*h#G(gYCND1k_9*MMw&!7g!IpAzHq3w&ePnOj6M=OAT>rowcD zJx>HbkYK5daTA{bqL_f3p$IsOo%lh-C2-RW40sX`4v;0fsW5c+G-nSX+|vW1)^=5RMvdp9j|!^2?<5y@FI-62`~pFQOxp9 z0ft#AevVJIf6@q%T?df*Nbra&F9TH%LQdZl1l|yUyaJYA{t5tX?;)q@u>j@FsB|TO zm#)2|0$i0sL%to(P<}y11Tbi_XGkz<5qW!X(pmCJOa`6>0EZ{JQsIPj6)$I0j~qz1 zm5_d9O9yl(RWvBa!xi6(KFiMuo#Su^K4IQ!idzEQ_pY@0pD{j~n+BKA6u$FT3Rz`S zAstc+(2vN>soP<}kH2!#EC4Pdqz|MAh+7e2*ot!NU=;(tqznT<*ReXJa(vUQu{M^0 ziCG6!im~4r_fV$PG)ba!=6$seERhO2Q6TwR+pR+aD1!mkg%HJc0_t(_1J%7i`i*A$ z%dl{|jlq4I#Tz1Wlj0(?#G@&BrAY+NdEgef>7rn>{7fTFC4iJ}Kn6)%ka#BT#fLdmtVU*IwdCDqKW)LJUtq0+} zEV3RP*DmrNVECY_S*MeS)n`csT&!g(0}1rx+5jsc20~|mL1U6Yn{+#&Dy~%bGa1VWv%jI8^6n%-KBli zgD$Al%JENP_&;ogZI|5DOieGCOxINEzjLPVHtTuG3l|&0M-5^X!$C_^?XYcf;r7XN z^-#DSe#gU&z8p&W(%7_3BSe0;gnDgdrNKw*y=6A_y*Yg3j&5i%9tkA7)ag7=ypwLN z5LSLCR5~c^QX^btcObJJ3b1m%vXR@dAGNExZnLzl?rAHoWaM%fX>aLKwnA5jPMDYN zvm?AuN9y~(XI2N}tNSc6oX|B+X0Fbg+7ESIlO$`>T)SUr=+Gw_Rdd}6QsJWp{Yl-f z_j%AB?iM`V^~SJ!=M8f8o%A;-S7Q5&c$M2%Aj@_--6dtTuNAWU zH-Goa*n#!;J;~wQ@66cf>X6qz`Q7OE*{m`98ZH6XgAKo8&J&gI8nDKeXkZ$n!_2BoqhrV1t^zBH%Udh9ox@355 zF!eH7t~NwXFI2BK)J!kz8!X2vBJ66{HflPRl^s!^e#lKbMb^lD!;arTsv>xp|`wyfyYp6@zYReRh_%Va^X90)yx)D5rI z2UuX`24+7mgIG@_-qCl7#<}#(y0AL+lWFJ8GH&wfh^uuj07dkbBzboR^#(YJn2`ns zQkwNe|6^b^muBsnq-T&MRo_pdB;5d~oTCt#U_-9HdonKMhJH?SW|+)#=UR$yLN;+} zCM5ZKu2yX%!zJ%aef~F!Ta8{xBeEbr^Dx}7(7nfPoRKIeZ19(CD6%&6UD9^aYAD`q zc+tP%;vvJ5h=!6AhNW@y+E?mJvl`0s4a-X!%C8z$)HYN!8(s=EEWT%W`I(__@{3D{ zG9&v9uYPIpIVkD@H(cF3mVe7Vf>*!qAXr=Uq&&yop3Fv?MOK+*RPWYcx<|T@BCE}A zxCAWJghpOJwQzm=jVjB9T3RHLvd~L1aw&^!I2C#0+(LcCjhk1EZW1FKn~fT@BAY%g zG~Kw-+JMHwSd0>g1wYtc`Ce8Q(FxdFS4Z+vuoz_r=>m zH}8esypwX{7Hv^vCpQNOS9ZD?>p%^bW>YMokM1oJ+ZXlQgo}?xj2}%Iw;N@&e_U*T z7WMe|;$v|16TR*y;?YkR7N2TGbB&g`q6xC)QioJ@=gy^0zv!;*jXmy-UAvc_`A7F2 zGU*Ln>WysdD~ayA+SpqW-Ct$W*W5U8&*Vjs$w2?oz)19q72_c#lP7u^>M@z72Cf>= z;~H4-u#_ldqsHNC0$IyG+k?#A&cy|1qqn#O)Nz5Ql7@#Od$ zu-SX1<_}X%!|-n(R=&Q|JMrGGnV)Yuqt!fP{f%$g{88%L+aTdL{&rJ9foK94&6k|; zhC)osnirZyhb+kA6SJjf%}YaOU&oujzBl{!rTN=8v+rxo-#5(!@D>5ud|9q#S9l^*IM0Mpy879 z|8BBrUe9hFX)b-RxBvgY$<7)m0YTPo*AG{F78?ck-)R`FBUSIbvh(hZS2qK0N51R7 zdvl_N+?Auc>t5sQ+mz88!2|z?G{Ij|&g*|l6NK%rB*(5g(nRJHFL~UjUY7Q*h_-n& z^+55KsP|s+<=R7Rm)zZdysp;`*YCM`Xz=0P#j!_mvKJift-mr`Nza-e|GE49Lt@xx zGfGpXpsE=V)yW4go<7v2sE647_}m-2f8=t@9$)!qM-){Xgq3;X^*?{iJmY)iO0e{2LfY_N(AJ=m757udzZ`u1y1+%lR z&huriXqO&EHYi?9?m~|f>==luHW^O)h}guhB7v{~owu=yU+Sy(KnODsmk>a-fP&1B zNXn8H+#Mcpxm9N;m5oo?nR4GKpD%9x2VuB50x<+QFiLTM;|Nk?tJ)Esr|;bYnED@HXAGDEsI@HII`y*;7*-I#anszCTi$${wlb#Vgk z+2@is#{iAThIRTj!TR}~k5_U|wqZH64a}>YvMq)srA(E z`^Q&az!Iyn^{)0=o_+yvO;>juQ5K5OL8|@CTmI<2V^SB>_uB^ZnX_}b9$Ch_i>C{1 zPHcQGJDL)rx7Dp`W0qZ7b7rol^u+J^`nu-d3yt@`{a)nsn*CY2GhtTbxb|X;&-QlA z%?sa9pp$=tAk%6Ub8T8z9 z`R82Mbrg|x@YIey9c{(uf3IG<_|j>TBqeK^DSlWe3_gZ%*^G4nbWR$!^{d$feO$Pm zAPvi8L-jqKZ;)H!AO9%$Zq(=8LvBgeSY=c32_2{`K}Ov06(OmQ_;Z-93Ay>w`c7ru z*>=3Td2}Uu&{8sMDP8ln5%PjieC4XDQmpAAj=Kz%%TmI-B2+#ypyYM7cF?lXE`ZSb zgd>^|QTHk1=s=6-v+Hbez#RbOl|C|Q>ja2oU`M4&CyjBrS~bk1S}m3c1MmdD=b?QC zDt_tu0H3LB@k&iTTYA@BXGA8g3cC`LNn-z>w%MHY&iY?mT8w~(G zrQ!T@tJMd~JyHp@-b9o7oG$^zJGP!H#N_Y3s*yME+V4D?HMZAx)7Hag>xkw?2eI~j z%~h@KBgow{g$&dKM7%;P&Q&86m&SeOX(~SEI0Es(Uh#DL7K=$TXwe7;`&j((?Mac0 z6|II5-@diJ3ViURYTrdeH3?e5IWQqbvP0HhZm#f7?OlzNc{j=Ge)*caX_||D3uO6S zB+$<~#thydOy5|vAJbNuE<;%JWB2u+8`oLlM7ezV{d&3yUwQa>?{bNiU)jT+yVnPE zk4&8Me<-wCptcU?3fgmCzb&(g5BD-HZMjh%YRGW z_i(bu)2i`OaK~FnY1wFR+@nhh@20=C%y_rBpes>74()j?fB{MGa^J7V#kYOIA9MCR zpr0sL+N^WC@IRF%g+OHluZuUb*F~~aSH8fIc}O#ktRO7?ajte!qDxjzh2C4FM!4;tVRWO`R|UQzH)dP4Pq8zLO_A%) zc1ZB-roq6n7m)304YfDRwZMTevjJ6SKeuiY%i1G;(gtVkLhP|K02^whlKW6Am3a=t zH+s*bez=Y!sj8mg`P>`YchCRB1^?cmQugnjw-gFEa=NC(|Dp3WW=7i9k3=1ldS~X+ z@Ug^E*9!{S&Ms7q+JyLih(E?*c5k~oQS20i@Yx)aDqZ;=u@ z)5K0)kG(QCpk;vIYV;KPp9_0FICJZWbIrT?vOjEbVM68Lfp1(Fr|>i(qi`6+Im2Lf zX)5ZU^ApUq$E_o;q8XaON9n~dPiu5$c6=;Us;{=)JrslcjlZNR z$IhbR-{q-?QCdp%=#$38E>V0<^>-WGaG0?^Wp$j@KN~tMnmX= z0A0}brWX@3gkF7=m?Q6U^o=(0-BJ>?U_sx*sq6}Oqi*qU*k13kER;e-s$**$^)u?u z1tk6dsK)ra`7;?s7t?*B#*d(BTP{edabpzXv3 z!D4A96xS?&?6(-?Be`^Ut3+5O#;#1}^Dmh|56bYKc-uCaoz~K#!(wqvhEps?O7AFX zI546E`Fl@X1zwyVlWydkEVZ)BA?-U3y*nlB5cR{=%X6u1M3jLYnKB0j~6P*#%AU1k;Qn>&&43ux+J)Ix?3^Z|je4@aQY_xtUru57?;773nSiUI7xkAf zo}PwJ5b~s4EmPJpU-_YRU98!(i$R9Y?h_Y&P)karQSwzK(Z_P6G9-4rcCHrCwc~Kl zyX>RNcH6GyQjai4!!Q$c`wxQuLEC$-wdhfjlr3(lONU_kQgCJc& zlF&jmbVR^Vq}dPeJV>=!qPsP|n(H}^5`#NE~bF_URjvV+21 z-vBK`XLu!=H%f7JtVq#`(CBLg#iH&E9+%6r00Is4&JFfowTd`t2VGvJN6(_6;V<~$UjNK2nbMp*aKHoU=A>JN zj!G1!t25j$(+#~yd%y$e%6qrVN?kMJ0DyiQ)KtBw_9~MLHMG`#%;PD{g^!|-dg%FOh$sy)2?MAEf9O#e zETt`&V;m+505%L|j6ES@Ah2W)z;7DMV;ExQ1{cP|#d|OzHkiC7R)1<1%Q#eX!5oPN zi-mw#gzjJr@1U_@|J1TGM%AnJXTISt2x3sVr(_G*u;=ku`!VCq0aP~;k9sJp7<|!^ z0gy4p^3WKdA*LQXXr%}>*=XzO9epSx@D+m9T97^K77o~$a%|UVJgj@W0S15vC?zn9 z64(F$F3w>VHL#I4Kob&BmMriN6A)ZfawP%vwp#c6n1t(O1&g6)oHItjh9S6#!7unO zZk&Pi3{&lm6(kD7cbTE$vfw2$hnv}F5I|qm{>X%#wvkcYVtaIS8C%%J`j!z;!C*xe z7|(KhRN)M~%B}du6cMKE##EYdSZOXupL*7`KMxc>%|iQptKiLM#UBp zQ9rk!$NL}HPGaUs$dcEvaMv^x$PAn1BiUoH%XR;px8U*>Y&b@r-S*b$tR~!e#j7#a z=r3d7{)~+BS0*HIz$@@=O zFCcp+rEKYOOS{e!vKDs6rjSGud{1yt59#J%0cL!?Z@JRqAJt(OdqR^sT(=FC)9ock zFgI+FFIZh`B(byxkh>DMRBlh^26SL9Eki+{eDdq^%fwogI#>24ws($w!va=K^7^1B@FeE{HT2m8~Q zDkd@f_(A~?JnDfRMuYUV7xh@O}w0`2}X#`q!=G*=AItsJ#mDsqC6CYG_8Mzv=spWbWlFa2$5k<6bBk$IC7Qu zHby@_nu3+wlM#Re=f`IItvE8kdTn4muiqFmWS-n_?55ud!$FL<+AyozyEQqk8O&LY z#rK1)@4@;D4CfbM*A@_^3rtTISl%t5{w!bw7IFHEQc7$sL~du$_I7ZTUa zS=7tfLT%&e9xgIuZW?0&@XW;>Oru>)U5d<&0FXF>=^bNgBrXLhv6N$2?hu&oP(Kib zmHd+5tonHu6Ly^Gk?XPvN|sZ8X|I_HN?Ob!ok@lZ1H_dL;-cgdDqR01(R+9_(*v>h30{+hs4E?jwqnvSuJM!0j7-M zAoxSyHD&kgMxd)9NEJJCpHqKKLVpX?Y%#~`CK?-tR0IGLfW5o07&5+LQhqN@=?hyH z2x`lq=n9>#-;84gB{Klu&VwXfMa$_PDTNJEH=xIh74Cx8BC*T>6jhJVy;`?WE#WuD zp-2R~0ryIte1VIQNA+AP*N_%e@Nrk< zBSi-5gfnwY&`M{FmBTk10DcnB9d8YOb@#5fPoPUBBG(bhEB@zvu$ zpRYAv0zb`Iri7QxUt=WkEb};Sx%SA5Egers^R|W zg*vq3fvOxqf50QOOWFUC=~$RwLx2w>k3=XGKCH^#Ecpn*dwY1 zR~!-9BsSY29Qv6bnCK1A%Ch6@hH%O@>=%>uk$QSHDPcuhWw2A1!2m_}YfX8g_&j$_ z(#0B34la?ZNuf%j>L5hEO5a@?OLR>m45;F+;ko6PR+iyh!CjLg%#lZeBy5ha;zMBN zyUu{P9)b-(37sf&NVY>{#bL=k1EHACM{dUVXbUu6T%9|O5k^l_apG_gFrZrxCgSM} zQ20Ksh$!O)zy?I*2r@KFCw*jaO;Z4ExzYGJ>Uzkzm+lcViocst(&B}UC2bPYBP3yH zltp)03YN*^h?a4u=^&9;>O2LWvu&uQSlk0P6$Bh5s|(_6XhAfVG}@wI9FSGugcNcn zm2nHzmEFC<6S(8uefn229iXl?v=v`x$49Ki9uPA5qpWWGe97vI;(iwGUyNnaX=OP*`d%~4J$J^9%th7EZ&G~-MKk-hMdKZJ@zPh97K!8 zpXS9~OnaiFV0l+AHfdQ<9V?u_5Q#i@8Lx&}b4_7u)|aG+XcC;uSXg_OXrYeP23qfI zO=}RhcvHc#H;(I5zOtBh9>}fvcAYlEE`(tW6#F9S#<-pV8-j{Zy#i2AnxTd z6x{IEvA&f@Qh=*B6JtE~Nqy%Hse8z)@r4{-iVq!-3`EA+!j4fRMc~PGSyOHbiywRD z>&IR~JcJ>nXg9_cp!u;S2&ZLAq$b6ng)V4P#1*HKR@6iTY-KGK!TA_2sRZu46Np4> zV1PX^9qZI}%;^gi6HF2E6w_rsekB2;uyfnOQm5kBB<2yxQc*}ugcI0Q#Pp5VczVqD z;IPVxPl(HD^4*LJd}3^Yo*RNa+!P@m9K;TAy%tAwo#6YHsw7N}rsK}=m~v!0G&7@x z0a&0Qa)M(J1y5tlJT_sL#v$>FF+7%~&%RxM&A4LnlV?crIS1czr5W$;5q`-aCgtXN z{l0>C3`AYbH>*a>t77Ei42_P5sIQyGI-kSP{4a-vF9pPxFyFXve5TwQpj7aFr>yDb zu?n9St}F=%F^^cjfe8)s&__J>4hF`M0jf=9i0zl^tAi)^J44UEmVIv2mQ@hHxyF0s ziHKWnpkDb=t&C@vRJ8T1oUBX{SGsu4#w+#J#Jnm&v47m&@v=FEiCswTH=~Vyk>sr> z3}W`!QR`?PW9p2u5<@(~y~|j`~QtuUb{h$!Ue> zOd~nNapdvvx!COMCg*UXVXyt2_uGcsoE!K9q5kgd?T!QLQxC8ICyt{Cy7C?x=wqzo zJdr=uR2?gO$)??Ts(I=WiP5y^ypGG<)KqgzKizS3)v4yozc`MjTL+DUF6XtMT~(ic z{4y~p?6%Iij}Fsq)BQmakJ`_DiI{GG54{xCuXFxe{&dHh@ue%T+uyllq;!5wyaam0 zb>U!2BeW>WXnnK&!XM#fd*dFXIB38HJ!-j`B5yGHga3k)wk(4yBJUi8=X=a-T~i&u2LwWnuaL=J?O{^;=5|2g|I4i-j(>iHbwoEu9v z2`gvs^fA$x8^4|uRw<_EYjI|7qF^AbO0Cn^I&$vSEm(Msv7XjnCqc{4XX5YdbVr!)KW_JIC{3oigL0rYqu=r1mO;4BY}M*H8$9a8yxG2DQu=)cGv zip^C#Bn;L5oeO_WRIKU0HRAky;!F@7wR@uF{@eDb@BhMuX8}w!dj3uB;8DjYyAWgf zxZxuGF7@#s@^RzZOZtdYz^bijE-A!AHnN$My1GT=+e1Z-M`e3-4}fo~}CO z^C3fXwdTWrL+-G#Qs9~-wOZ(z@4I@#r>b_fD4=;`)q9~sYOOeI%KV)mKsaVx8gah` z1w8d39OuICN@eQ}FNS88eOp;LX-H6P%hu@+>?OmYB;gISHvu1g?bZ^$ZSDe-V zl&k%*?r!tPk9X<^j-)@`b^dc&^4=_|h9cbR*TMp<^qHXRyLWj`8~o<_2SV3!334xd zot8t@+_!2!tH1A)<}UIsN#;xIa=!nU$Lm#pmpjOxeEUS^K|{`{&b;{U>Ycw~r@#JP z?jY)XBADW0HaO7DqOrNvi!qhm?qmBWcKX{54-{SQAba^Zl|UX#5K$4&P@S~Nx$OOC zulKXz%#*+54*w%|TJN5onFtdwVWQC~s9&xv_k(oZI+hK#{bk1oBJOl<8i$m_CZf(4 z1n$oIRR7O%hkxV3kN@U@UaOcfS{Olry4d17ZN?ygs4Oq1yJL5{4|Be|tK{#pvs4x! z7}CW@!u-jVgE5L6INeFO{2xc0L5H9JCU@xgY3(p!aZ~-JE>uYGx|StmO6vO0Xx13N zkf25@^*LIj?uFcUWf@9+*{W;-Zs{Ake0}c%T zTb2Ls?GJwi83M!`{@wmCQlNP94;Uj=_5A-g`@_krN&kI?%l}!Gm)`3Pd;<_=UcUQO zPd=O*dD%vz73|X$E~awH_~hS!a(@>;z=ow)xp>V2nMHkl;eP>_M>uK<=hGD~ymaP! zs%-Q6Qkvp`Oz38+sJ}<&zb+ikdRS z(-pzacWN7s?5wpO3TV94{W;&ut+RcDgUpXd;hHRD`g^z+VnGBegk$SmZ8dsj*vDiQ~wWD{%;DGzr*E~Bac)==y3U# z&2J-$gZ~v=-prpFV#o?~8BZ9!#Ug-tI;s${?`f@7sF?q-6C-ig8D2y zP(J>e{c&SH9Q|WoFzxj6@uif6CZcpI`<~qX@_H)auOP$y{ng^gFZ3Wovi!k+7G!vS zh2dWy^nZ2Gp?{iH%GIA;7XlzLjTYsar*JFHU6WvSZ~*r65^ToE&h8Q^nWy~ z+*IZN%dFyJL^Py}8!p-IA0KUf__vTyDZPWPj1dU@kw6v*D-hN&H8%%0FwXf$ni&_xiswtNaH&(v=-J zK(!%V%)5UN(xt#Nh8Zw8+eY^|&`Bz1QE4C`A?xd2Gm=>V&qkxZ$*uLaTub=iq4Sxg z;HCCvedF3c%_{2^ocpiDE6c-shyAF8Y`Ua0?3I;Y=_%(q{X>f1$6Ax}_>XlKJkR{R zKixfIwbuNpn=Ntd;gh;g)D)YBPY=5OPiu>pN4u_#URzqHmSj55+x``USzvb12i7WV z?*HNVhaTzQJ7~{yk8NFqljZh6F497L(8{(#91x6;VPh57=|=-BHaQKpW*z@!ZAskQ znXt@hw@_rE2ema2&ECF~skEn%m`*tb)= zP;GS+;Ofi80LQG00kdL?jj#~~Cj)Nf8h7hW5s-^usLc}XvEoxv??W_Pw79OI))1hj zB>pT-+PJ8)_LP_DEgg-_%01il;c~6$i6-CE)u+m21(#T)cBCe6$vm{Uy`l2)d6gU~ z$@rsf-I;2O8`kVMBR-$G>r;DKZzK1feK}r8pyX;xl}o)!be*2d4=LAHz(MMKN2Ut z=#j^8p-WwIrf%U4YCq>f$HS}3u00ITzd(Nd;|y=gWX7OVJl8V`x5OQ%*2VPi#t4s; zJ*^hka2yDdF4ycRR!KFoXc|>MHZds*oWw;hXBk;US7vp|GEU@LC~Ju+x_E7fnVq=I zNVst!DMkFodHs~C8;0clT&i=k>czZf-IR+Z7f??0k@2|Js?nuqPBo=AsVP2X=XPsX zX&L7k3E3&aPRlo_FlmYM*d@lA9QULRubbHekHyO>O_*wEX;rDU6-8f;9<$Ws52Q%e z#9Z6(tt~38t1GL#Tvt>4^pEu22M;VPHmYOQ{$Cp${`1E4Ke)yIy?EHp=zdk@^1l1f zo+nZlIVj-Ga(PJ5z*u=eB)Pa@P$qKz+kp73UkyV_Il3y()b13kjOet_tBhKdoV`4z zd}OIIuFjjGGNG;Vyz!O(apX=x{O`fc+ZP*0aNc#Xtryp32p%J?}KeE2+af%r*oZ=UkCWN$H5;|1N@aCA;%F^5-R zeuYw;mTdcRz$)c=FSM z6!&EBea`zQ`(G=biiyCkE)8z(t;vFZcjA-e*F|4WyNJd&7!)Q zQ|!jbY#sO}8*Cct;G_#%pDTjjtOr+A@7`FRB6C&=>qqoVeCZ5R2Y@u5h&y!nzcJE( z=oqzYDS<$rXB=_D;BkFm_8NNH{IDm@3?Oj7yu8>b4N4XTcd=q}&D4^H`sF{qOu@LA zGK)8mgPOKDar;R|qe@xa(kp_yKIR6ZWHi86mYD=1(s#kpD$-rpLz`5QN<{XVj$^|7 zJLSTh!)AULZKaH<2yIcExg6lil3eJ(3XEl#nk{=kX8=jjCG_pRZXW*aE`z9Vi7Ad{ zVzziVE^B7UdG1?2y(%8n00}AS-O>y`L?cnW+?kkT!gVngjH1VgC&;3LB{VUBC1u3V zS>^moe4+fUQ_WT{Y=xf|4{@?|K~7B=A>mXCs)4}DAZsZ6tI!Peam>W?Pj80YVmEW? zsUzgMO?Ubit*OB+Y{HyG+yE%ym{@}aRT3}Adc#y3R8LHa>4LnkG(Y~ckmwH(;dj!P zk>3mxQ~2zJ_Y&5{r9e3Tu>?k33Q0rOaja-A?Cfk9myY=ur;I4wh=3=aFmyLBVj-Xf z0HO{X00fyaKylbAqtp<1?l(^Xy57s^%Q&v|N^hzL@{Z%9yjMw&jte8|J&yZIX0ZaU zIRFiyL(Cu?TSj#_r!H7jgE3%4v;pu{_8=-z&mw{8cCnfJhSt=8wnH3ar8)HXB3i~P zqzca+Pe=Eo=xl$USqjt#L}&Z&ec)Rgf|>or_NN`^d`Dbjjdf&+IH0o!PqFnej*V4s* zwoE9?X9y;Ex#+>VD=~a1&2h873zqaCN#mEoTc_LcbvB7o+HOpz`982uSbAQq5VIrkjyOE zmHe%}p%X6}@;|6i?;kx6&TK4Rvs}}rC+s3? z8A^X{t{i-uP554zthb3>H~cg*#%j28i}Ulv>1Y1@pIn zYL4L^!qsaGk-laX+@Kgvl|nZ^FP7)8>fhCKYh^K7`G7Bsj=_N~u21K6rUdraO~m)? z)6>C(@h8^mhC&w4g3TEC7V0^b#mVUNGKX_BFPfWMo_`LydiVyAlxclDli3KS&9AFR zJ|09quxq@THFT||W4Pl>Xtm4R)zX$Hox1B$Uk~4pKnK;Ew=>MG8Tjg;Ku_l)GPH1e zevUTWWk_}=x}44GxXt+GSZr|r{nrZ?Db1&JqqqH2+L!B({GmXQ&3K9>gh`)j#@i&F z#i#p58rk0~oJ)(Bq_~5DEff7wl6@{OKP8lkfIBNgQzSuv2SW-pl?mXoixs|_*d-(J z4IObee%2Iy72*rPi|`=e-Y-d@PzZ~6brqH+`f${Yn$kxB!f)!EW`5o$=mGd_)TFx)a_=ehvZr%(BLxWrD1VZU3spW#!E z5(kz5T)9dZn`T1Cri{Azvu}O;R@7^4hc)C!*F`V=Q9I$H>@>2r4NQ*q%>TuG{H^$L7iw@*> zAO~tvw#dmV`RGqHf15n6*)x}vkA{*Z3ejXUN-mc|eigC}29$=y+!ROcJEYJMNCzSI4Wu)faM=n zpCxpL5$RirX>1kA``?rO?Gl`)Qr{-~?AV~**Jt3T72g}7_Zxlj57X7AY)(ZHTQ&cJ z^~)N2{{`#6m^Ru<7NQtnmIJ;QUPp-_2NSNlMr7{HWCTy4N5q5 z7qLL2-dd+(JuDGLL8`?MZ0y$7g#qujOc((qa9u=^WLmiyRu{ABf~(O0v5+cJpWa8L_&->^GOvGV*S`=b#92 zF%R0IR=VV<90k3MjAvU>CbMP*v$zYxa;+PV>Kmy;j2Y9D#Zt9rH`KAX9l1s+>}N^e z8?tHut^-2)L=0vXE^sZ%Gp?bKK?{= z=EjrM&2s=iSFMOO1Oh19btIis#ghL3BoAY-3;=|BnoRk!?}QoPNw-b33H21z(OAjz zB`9v(A{+z5ZCk&%j9vwNuZuC-V<6dz*g`z^rUcdu?{#K~9yi3MuUP&(qE(MvEHu|5 z27Ihy-OjgLV3B)xQqCzT z(Hu^O5IQwgzUW7g-a=XRkc;ud#%wRza>$|O#g06NV4X=13H!4DsQsYmQ zQs1<#_1x)?q{U*fdChH?#p~~1CB#X#pCpw)!<*}2?UEX|SRNt&d_eADd~1m4nmzP& z=F+n@IgaEL=}qgR3v> zpeeUm{@CRAXeBt5WraGOh!-z@2@7O$PJQDYdvh1IrP+%UOObtY@wgpAyd?z z=tt+BRPu?UBq)rURk{?RBb{GY^}9r*Zf>9o3tRhiyj(^i&9u=ggaqT3VyD$huc+1}0$M;@8dz#MfU%HH- z)+5puo_ujf5NqPjvMB1$E9T!A-u=c{OGO?3DEF$`Sw3ApLsxNei;j3tVuHkIb323- z2l%~_t7*OcHJj=39mRJt$QJcc2Kw)g;_;TzXRGeMe+3AM$1ykMAdcC!zvOa{7)dvN4A~o8)t#e19eE6!vR9 z`X5sflwWrhO41q_-YVE@-WShhe(g@{XqP*Acg#mujcKk2aQFDjHg8(@z zfBDUM&iC`Oyn*cH!$rRdIZ;Qta>}tcHA`M8Nfs%UywcRmG~%?PwCzm?-Qc&+z8FPqjC(97UEPp}yovm1DXA9RF5H9v|RaC?q9HXnJ9PTZr zN>~lBfViwT9i}(Un#CAiG96xmkTnWZ`+X0OMMUFg=m>tmW+pjshSE8c`gSJe_YCVI z3_lLX8O|o3n=Oo;Eef11E}2bH&qkS}H>jx0InIy`=L$J&?OWU(z2+5nCaLH0Zvxn> z_00A5CSGN~sAlgGo`3U%zrcXmw?}Wj4{3X4b$p^Hf*v)e2hP2=V2eGl2_!Ia?(J0U z+nJKL)4yS3pRaiyaa{WaDH=_BGp(9`makyGfn{0kUCEnwUw*%PuIhgwDq^LAx;ZW`A6R@2_fe1m1MA}YjWRypcgTV*i1Rjce1}T z6wRlz8j0D<_r^C%ZvWs~0vjQ3tdC79-(;1)%$Gj4NlrbW9(z@yXzm^DTIKz#@%HvG ztHu6@1aTjkbH_+UDK&f3`a$TGB=jE)OW_uJ$tF-wUhZ_M!CN_c(EY3-`tE8nGlnb-QV6)VzSfX9x8VE&)@0Cb(G-P>MEDvoqcpU! zC9S?JQkNI%E#e$~?+u!8pOcTOsr~~ry@WOOJf9@eF&%vYbD5tXu>dte?JpXZul`w% z%S5kK(LRkWwBMoiWM+r|kv*WUs~WMduLV^3uXm+p6d9C>WF%eySaj7 z4iAkyvi;&~y|Od=@uU1oaXxgV&opn!=IR|s%zYZOo?PZTTtF!UptyB(ZR_wF4EA*1 zAq3_>_ST>F^-}Psd1ZKlb(XO-7GEF!t)3;+9IW!=gh|2_Ua9$(4g8vS*Ri8X>0-x> z1*n%_6;`l^74$Pi>UuCY>PcG_#lZp#K#b(DCu>)5hDbXia@qKNRz71`3uDa_-)jnT zozD~RXQCLdf$f|@;WU;70&EWzGet=@bT*E3(2x|QUz}v!H0bBs)@R6XL zHGuOZ9;(_RK(`KI%LYmJ-Rh}mm}%N15fqFDRJ*Jrpun`>UDoXg)+{>!Lr^#Zz$5_R z0ZPehmU1EYS;xQQ39OXl?ULFT^WQ+4ncxfBSVihVq!Lon6+HQX&Et<8fMw|-kfA@Q zH7YhET}r_)2V0Qq@ouK@U+jH_wjL(26HE8{dh;7fkZu&W z?TavM<3h3jCXm2feR|!d+&DwPxX5nfRFzc;PhuXrMDOZ4p!p4WAwuME0&2GEM5%=& z9w5f)p$JoXh9uvdhnJ8@B8dj zIdT&?_=B;nq*N!Zsq*2@qk4EQ*fDKQvwY68I{>#hryWCKLoiCGY*31=xN7kdLc-CzCrtzhi# z-wX~pNjkA#=DQT2jb}xCV4d#uNl(+A>8MN~9q)ggq<;g=Fw7%^xIyB0#VE+~1}hK+4@3bLQ+aV_*kNkk1hIBh}dCwS9jP{0rojLn4Bcn>q16@Kh3hrS3V& zd5oQ?qj)eNeK>*lLC{y)DbDE*!b95R`$vKf02jCN^=?xDVh$kjO2ASOi$HhfRrrhfnfJtJ-dz&S^PkI7C zs~XT{Dz8%nQq5UzO(ysS2-phsX3>)9hX82L?e{6<=>-VxCW^h1OcmDFsddzI@koG) zkte7~IkB@ZUfS~-EGO)4xA@UmHB#t>-mV@X;;l9^SdYI|mo79ay;$0~K zvz^`r!lVQhzSHCd)ZZcI_l~`A3_VaOI(aF2c~(-ivV}Ri!oP1&;%UtH@v`~cWx$c{ z=oovfA+`foHeDH2Aq!U6*n8yv{7LK?(o?SXK$FaG#Ce8Yp(oD*yK>w)t zU8ZAV0;!jhbVm^^DW^HB_bA4mwk6c{tTy>-bN zKW?^5_|{_lCom|}(p)4@xKG<*BHP4nUQDT>4bGmBqqM&)R#SGpBKER%0oPDQX=|<| zm=5Jv72_NBIWBttM2`6^6etQgab6tCf3#<$e1)4gVgYjf=^mqgCI>5$`@7(EYLbqs zC@*BL8aHt?Hn>zLrCkOU<7&gf)f9#YM9v>i?KSe&e#=_7&(0A0!cXvEZu$vnG_>?{ z?wa;Dslv#)#?swM3Ei(Ls4L)w5{8m$6T&ugEbVK&w(pvO{5DHuLVZc7FsqJ6WG=KV zI|35z6DwboEBzXq1$DZvZQpk4b`9=0P$&ZIslL)5Z;FjsS|j)zoGe?P<&2Do!9beqa1D%(aTS{NKj7Fxcc&y$)ir)sf!8ou{1t2Eol>hOdN z*hO0BH^08eW&ZrDWtnNrp2xX}{!iz=*G+eDcs_{fzjNWI^vn}K29EE-qPF!UP5q$L zlIf7jqjUL)YE#w8hdi@9+OrEVV4*_b5?jk4T*sP7u)H3$ob8WFMbXZ9CuknaW+2*3^dHodS27;DC6c#yxPv1 zO;xp^8#S1@q{hcYOfZ{lhq#re$!W( zkzX$FqtwS)T5H8Zg zYs+o>?yh0yi?tmuzs6&WJX7i{= z!JB#Q;bg&Pp&J)z1^DfeA@`>bQHC7-f{tPoym|w&+Y`b!2MlUF$;vzm8uLgA+&d;Z zpCBO@)EoN>^~r>1_0qLlZSh$8>fX0aA)@KHIco*2cM_`@} z1aP@fUKWbn$U_^M=nw#ar9SH+#5MNDu-W3cezeG`gXe*HNoSY!F@k;4VyayTibXO* zTqPKg5**UwZ~?Ow-v&8!4YAHq8%b1PhXKo_i@+66+&co$S4rJ%`C&D|@1gW(N9~oo z2OGUaVE6Rc;UzY_(#+3dJeMMAEpa&>F+{=lfdTa=sQ8%Cklku$Z9~2>2*>zE&0G9f zfWD!q;ACNg=yLkhsqhfDB_{Ub{1ZU6c*H}>kSSg-7&9D|ky~#u3m;FPF+7qF>(yRtbpIeK)05?MwO5BvQ0G+>qfP^( zj+!n*A3-+tN-d|DsJfw1pOGlV%ZE<0HF9(9D-1R=uI#gD>O0ZbXF1ttwcKaD(|3}g zKTo*JMzsHwYX51YemlE1I1KbF)EoG-Z3R6AZBTOXGFAq|DfEhf6#Z>L4X*iwK zykP9OGmtKWOIjEr(-homyA@7TpK(!q>kY_&-dY!h5R77zqHx)m%g7`efB>UHPy;4Q zp)v8sxG}j9xSQMOBCFztm2*bGoTE%^DOu@JB!Qu4q#5FIZUhW4QFt?)>q_KbHwTDW zq;=9V1dsrL^2reqfM`QYbSg|d%;P#m0~*CcwrSHUG-!tatq`Kf z9^6gTQrX`;uVIjcA0e&BlQ3BebY$a}?q=(Wb_U|@$%Ys{j_-JF0KwU3Cj-=zIxSBC zLy)6NJF9@Z%9)d(&j29ZO04B;oEkwKy+Zibf+IBtZ6-6>Hy(4=6DfPdQ)8BPAY!7$Z)SnW63r;GjrEgBVy=IKH3Opxdz{>kWY;LLW^0m!%^e4uHc4W< zxND;99@*59oRmV6#K2s*DC3qAE#y+b2_nkvtHF9IQb|pdZ3wXylt5x zrPlcISEd^V7Kwlc0q9Fjr*-ccx^Eh*xQt{t;{d4QtS-QdD$LkBwDOb4``tPBRh{OG3O&+mQZm|t9G$#EJc<_4Hdv2*eMNC(^ z9Ii+{8apVt(UxPtLwBh3O7l)X!xjl0_Ug4Mfal;*!DlKY&&XG%4rn5ShRin2lCNep z2(YT{l%=97lP@nQ*ow@k-4z+AJ##f29yyjI{*l!wRL#CoFi&dcC{=Cd`~?4u6Wp;e z`BfC|>g&^}$62o^G6N6cBo)cPrI~Cb_mrX}Z37-=_Q>(DBs-QhZ@c~qm>5e)&wYL) z21pk3%a56H409AN=;e>BWBO2|ct^5?oLB+!zY`tELf0+?0@n*CU;+4a_g2A6z#GGF z(*d{P+q{(e#5*>MS4CX14hZ0Roz2;MVwQIKc++EaMQXoaq zHdMxKJ}JNvuC|bns{#+;nqLCokqa;)YvrBK?DfdJ_D=lisA5Lk(;&>babx(UEyWA3 z5CJpEMhlN7yVS<|Vf8;?DJ5uT3w&Tyb_ADBFx4*ZA^*`;T2e2DJrV-w4c*94L&eg1 zggfwliduY1^BO#p&2`R$>(_DAtO-*55`>s~6C9@qefdh0ce_CRRJG)US;ZCsuz9`x zoN}eTxkdOTxlnczLM+&BCk5xes<=Q$whK@|6OHf7sISwzrpRLs`&vd-^@t2A=^g~Q z2_Z6-O%~!%YeX5?}@5wgBQtL@wLnNPI^1->2)kn}ck9Noq~n$vCmvM|r15euuf+>3Th;%s?u$-ErvHWtC>>8QpZp zEJYe|v8JBlunO(kTePtZt;HE+j8@yXSrLMPbPIc`54v7#9_AGn85&w2>fBk-$@gp!WiwJh>duK>-0c z3Ym#3{)lOdI|#wTGenY&B1;oJpXxIo6Gw>CNN+?a_wN9*H6)%^khmm>O_Z`IfWXWG zbj6w0R?vQzi1mJ(VkP6XeQ_sUa)UD#T3l3~2_&UUk*bEtrlj90= zWw)3MAA{Itz{4VIDTWMPXCHI>kRG_?b6^U^g5li3FRFXVvD^rAIt6!+^UCVGqq5*y z`)37lTe%md;8$7^rmYmI!cn@6%$nv71Y?eRAN%gLmA-+6_!J7Zh;h`AC>XAc!gZ@x z7*yHw3{0hw_;BPHCA&ibHH?s!r4))Ff@(C<0c!H|>fP zhi@eXZo$IF%Hu@LgEcc4g@;ijTrdzEZt*D4CtsQazTKWPza7Dw^8WBSe=y~}J*(Wc zLk-J8+OLPnN!V7xH0b$^CFgf1cU2$1G?tpUcuwqFC6tllYc4I&|hD| zBX5NQtx2F(%I%-8x%e3&$p_q&c`c_0BYc)?8XtT(!e(HTi8F`c+<~sifj)b8en;}k zv^ak69anM+?o?(QC};C1=6a=8Qr+`AUwx^T}-CV_=>d2|-!+ zV%K=3ayfm!K)%k4#odxEqHi#3!ju7m!)czDQ4exd$v0EjPdN;bV_$1$5A}bS)eB3nvUfA z2NCgCsvCdDk{y$SHR1Iu8gUOgZ1%O6&6t4Ne0gkU(Vp^>RZ5-NcCKTixOEyKWHm-J z*WI?TBJ-GKs-ncJ5^H{CV@X!8SGVomtfBQk7Dw&~90{>ieUqJQ^835N;cW7sU%wAE zB7^2TuKfJ=`O~z=lc!`jtNh*R1;eA>R8Ezk%{`^%q3rKPcLJi7S4Xeh^8K>8uj2FQ z`>GWm|ADGsM)B#!pwDfMzCeZdOB1d`wJ-B+k>9_3KGfJ+=t*W(2>PY@ZTVS&$|d=R z8{gL_s!u-%`mMdYIoA^U^~-Oay{)A|dbF=i_h9E^3s?a&w&xUdGUgO2Xq7E#hcx*d)BQN_MprXXf z4|wB*9{cdd(toS7z9q6aIv00yc==+2$~gE^^eu@o>qKcX2j1|zyhaPD68u>wfL1XjD*2-DzK__J&_;WJHtTb*#b_xmHdOCQR_zX1XVD~IwQ^qb2d*)lB;!AZ` zP&ootZkHbY}6lLZrtvcyVA5f?ti8EaJAve$J3+ZD=i>e zd2}l!djPr(BGQQd1eH5Mw<9&=#XFcx0>nSFIyH)a;q*Td@8pS*m+0cl36SU(df6z^ zQzh1LBGD_}BY*Yl^@)J1-(=Prul6Y%pIq%%qE)yypvoS2ZBSjL>DqTqxzlSu?rSJq zAJQ`kygqE?)O3Bs%>VTIsAY_TV zz~fUXVhHUG>Dh4hAnCa%k!IIBlg00sTzA4t9mK*4?c zUfs&D2?n__Q;>N)A%gfOl5u-_Qqb-mi17t=2w1p z(`Y&j;<4279A=>etE#k}&TJHjIA= zSG=$B`J~b&uzJ6uAdFP`m^1-{&gZ#;_FzChf(~PR0waHst0%W(En?PW$uLjk29Rt75&LbvAww+^!l0@!Q99bSMt%bh#HhdPe zw)SE6OyO7Mw(SVl$~$(S<}oj`fbZf4Sx>W+BKzHcD|BKU=&A0^JbCxXo>sZVgH$8P zPFC3~0k;|DiR6v|KZxL~T274NY8@TI!#&lk4Z&0Rf_TeqA6`HLCukklf{5x*yb^(* zPvY?sER4G}Cuo%_r#n`drgJxIK0&LzbTC=b55k{`J_OSxV6vhXV-1;EZKIUaf7ryD zw{<;=(JWS*&(pAWDnN z|J@K_&9LKIMcrcg+Uv%>)qjpa6tmq!gEb4+t9vA__M&^Gk40;G_2uGf2DCIPYQNsd z*{JDtoe--T^b>hqJ(}K7QMcmAzWHGT=f7DyU4DGIVYgoHN#kN$&YQ-wTtFRR*FEgHq&axyr-`NA7|QXU1IY)5hj z)zNkKVo?-td;I4cBe{Xe6Y8(m_c?xZ%l;z$o@*2G9s}~nbTxz0YmWk&;BtLL%fIRRuw@_J?vRXjT+Nt8ie~MoMnjWVzjevf^$AaQGs!8piSwrYG0ev} z?-@VZZ{9zG*kN^(H$TPs%s##H+-KfJd-{Nw@G|gl)?TIg!~An6&AP<`yT{i7d}Dnq z7hqV>wU+I{>n{Lq(&}HYA;-uG)Q!CE+IV{mYg}*p&DFU1kzHGU=hITN|F2$=UjaM) zH-j5@d#rB;{_Zf)KHZ(M<38IP^oHNqAMj6T-dl|Mcy_Rn@+RnTB~Sb2@oq!#&6C5P zC+8=?Ngl9!L6HpBA529G;*=~ww4MLz?+t%R1;QF0%;B1)Bd8KW5)FOO%%%M+vT|KUM~jDF&KTot9yVFhU&?GOs8infvGWj4wDEb?4D z#+>6KTT$s}sp_P75=Y4Kwe*XeV^xCItBa^lVAY#`;>C;LWZG#0;_c954*Q+)S(INq#P^=1Fhf?)J^rhCE4>cJ53)yNizV~BH0@;P zSt|y^R37ofM3OSvV4f100SMqJJDgce(A4)#vLJ%L;DoF~$5e zWlQ&j@0Z*iDmUJJz~zCz&Xqh=SvU7G3P%Yff&jySA*M!rxT>k!(7XEGif0n5uUGrw zhM8@Qy7ZQs6x#x?{o0X^7y)6O*~I3y-AcUXy5*;Bvd9_&2ds?B2n4{w2%mT+bkuJy zS|<6UE^z~bWcGS<5a1!H%>hjf(Dy_9v6Qa>Y=xDb#>Dvf>M9tl{zau)r&JW9@)AH} zscs`FGr?r+S&E(1C$osVKia8*(a&@)8dIyr2KwivU5td7M0CpwfG#tN`Jq+xAQ_ST zG%@+6Jji6se7|Wc?n()c3Oi@Jf6-hT3wtO*6;|ol$gB>~YrRZ%6wLUb8y)@tREas1 zJ!nPTNHylfB>*!S)l`ajvVa0|3Tq4*P0MW`OJ(RV2*nQ8SBJ@0Q-rk;*!N;9W9{x) zbAamj^%MaxfCjh>DQK@Aejx)0CZvuP9?~ZwlV~zD42%+W5mfRJF#RcPa@d{c(&h-l zhB20qdKaa!D#B<`r0FP+x)+{I8jC>5hn=&jQDHCe15n@=ktfa*EWxis8O8|WvHM(2 zpw_hZ*!#&{)O1G$*n&p31AyZJ_4StR1RD%Fdm-WTlZGT(4`*xkkDh8$7;(7Yd;$A? z+~=E>NZOShvd>_d+g>T7_J$ah@1t1NoAt=J;9KPEOzFb;k(%pcmzjV?y$%&oOt>fh zJ8y%IljyzK?+H4`uYs1A3ctE(ALKGHwNU}WjIUfGOZ6reIUTA-zCM2MH5B^Br^6sE zZhXDIfQ2h|o^JLu`t@`4G(de|@U!U`-Kr1?#T3VlD=v` z1}rMV>-!_M{uHpEE~_Q{;z|DYr?}@ru2w?*j}ooja+A|l!@m0A_uqD3`=731;0>b! zHgNx5Ypz4JV|z`{y~vutb=NOPvcn)@4^zoapON~TTeI-s7tbEr^feGu&b)!ji|j+C zRM$&+pbkFe+h6S?uDz2z=)P*k4hbPWpjnn<>OO6y!vp(&S2->f)3DkFH7pza+VaZG z+5{@)%1YZ|UX^Eib$v~n-hIc@$7lO3BYv|(ulM?1D;#uE`_HEIoxFzU9Tb`c{VsX3 z`}XDYqtRfWoBham*B`go(>(F#C1MRw7kg{Y*}gjm+;h+;@)R6tnr?ebS1jB-xH&he z|J>P|P2|0JsR;}+x?$-LM?(I1V?!4yhY^&I7ZJ*U^|9(BbdnXml0syd1|9-?9ggKt zGnv!z548#bgFvtlkV%UTcdIR&hYZF8dp#0@wl}#!ih1^1Ng$|!7II-QaC-|O2LRsy zK!}tlAtFRj!9WWRe4l*mI@L`uu+$H`!V>yW&4dn6Vy?30%eM*KLrO0r?&_EV7&1M> zh<6>No-3--1th6$K_38&uw(#+@;U$cLMq%E5RXH=*dC+Ze5auuTYv`{Ph9& z{<$lh4Ua&fjW5whpH_yP0$6ki{6NQRADg1;6)P^2qU9j0i$@#~W0{dq9WXA`D)lxb z#&#rC`!KC+2MVyzPh;V0iEukex}&;iPbBPI4d(DZjWmDbWRy{71zSYG*3s}$0G`I; z|M)P$OD40q4fYLe2S%oa9j1=l$*9GpBS64OU96I7R*aClkGkkBb-gbF{u!+9Pwe26 z7hqXqBKr$zHz{EdhpfD=$3co=IA1*_?5A|tqAP3(6SP>u*MZ8) z|D6BJ#t&2Fp^^dHB!Ht)5Lsaen#NuIFge!BZ^h6?W(BDtlbS=%qrfIwq?aAbo7r)@ zkQ|WL#flI$mUcRD?MyvJnV3c1WE?r_G^Y4ImY|x z`|`H7XaG&=zJPcu>)DGClEr|oW5XJ0L{Z%)FmZ}YScEASar3|qwq2%V_Y4CfZ;)Xy zW;R>v59~3{yi^_mZUueM_U!H!9J7H($i8mjjl@t<>$zFXMSD)qA|9X__G#X<<7h73 zE$}HOt@dzL1NDm!>Bl?+{0@=zLo8~F5kO+_S@)~4>t$e&KQm7yfHrqDF69t;y0!!_ zvPTk8uu>Xeb<7(eWIU9KJlsn7WnA^3gA{w;u2wE7=CaHLuwk+<>3`}x(N%w|UzEAN z}3R%abiXOX$8@%AQd~54v5qkhXM8F25f(o+Xo(=D6CDQWlLJ|Rp z@P|4W2*NB*nM?%)AHb(tAh9iA;X`DZiv39xBAQrtqpB`$3(`yjjAAjFSZ7@_$RC@! z(&TDx9;&-u7Cni^{^L*)VfR0TD6;|Rc_*|W8qrt_ZH6?|=@v(kzPk`UnI^{6q?Cop2LMGcSS!oB&IS?P&ZhZ(cuhk@#QPfFJ9)4quV~-; zCH9A=8rZ$W;KNF&aYN$+yV^TF3FDaNeOgg1S{U(t2t%|-mtYRN!?8)+XCa)d$U;ASV2evf^Hy z_B#3w7kQIc08OB2=jeHsm&d-%hw--Z!HQ`4u2j>m^nfl-aMx%_(+ojd$bWlDL0nvGL!!W?aedm{!^WI5aQ3P*Y=dy%u!fk`qikQcF(&s=OtNW~VK zRe@uG`e$uK2>I0kg6>)7JOgjc^5OU0shqc{o@{l&-DrTy zzy=yX+>GJmJhzH%4RKZM=_&xUwD?NNeTh{b#JEw}wG46%&^9>qaNjS!uz{Q``w?ne zsxVcpqfyhRuczeD!pxIkssO(yLkjC-TQJN}`2uI>AK|)|ZYS^!%oj_$)b&KTwTq8M z%y3!3TQvo^@iR~7RrrI`w_c}N4>(6FC1~8~@^4srpRj%dkF}ILcbDmUeKzr$*=pCz z@6MjIvxF%x$&T&HMu+qx3pC!*$i1xh>ITc37>AZ#HTvdk<1Yy#SR%*KifZ@nS0Ub(wmK>?M9lhp{6~liS^eaKK@lim z;0k3X)uWT-?EF~+fSGBNLIB2~r9)*bOMAoF=r1{&;0zTfHw0iJTZkJZ3|iGba)}b) z0<_SG3i@MsA|X7HpA3y67akyTS-u75hZ@H7CSDbknoPxPNuhdx;KU$#hzK~Ej5BeOISFLdv$Uw=zXJea{nbSWWQq}M zT(gv-Eh}94WYV3mRz(cy>Wy26zIF@obCdKJkX!+eU{kErDa|}5-Z-sWWYiw ztJfHU_bAl}Q~=@{TRly>IenrN(j3?VE3I)Snpqsv-anTk6b`lWxh=z5&0t81vwkx6 zEqi8=nFxY1SX$&eQD`;};fXf%B7|KeEDE8+z}w`KL?kZ^(Aq+LGG{VMK$!hP+=Axv zIwPrQCV|A)!sty)&>zoAvbY~B0PqLEMqE`29kZd_8HX!!GCK(S=L!tmP$HK-M_fZw zUPIUyRflpTDIp0$KcG~x@dynBn3;$2@)klGd(nWfZdSDmcUu~9Ah0}vqnS61;}Q7) zbJq~u0-Yo2jI8u?zhXrFVjW?H4UgYP8fKZ5mV`h>^D{huSt>obbB>JbryaoL06MSU z>_prM6k>u;0fZ%1G?n2QqHz;p;7Vn44p1?{j^O!Aqh<_tD9XoL)Mg3mYi0SLM{?7f zpdC|8BLV~18Ky5r-G8|JrFr{m0`LGxkw{8$LrG35n&)OXl=H^J(c5r<@fO9Pr3&IF zyR03ZZR0^P4`&E#Uq6o#qUa8usjwPR!%hLQhPJ6Qzw=s%X;^tVw={3q~pAG?m@8)Sof1n1u!b0)%PFxIka$y6Z zeb2M77dx*|OtIh_pikP}SW=6okyvQ6YG-%eAW=l?X`Aqnj*d?$j)(k{8L{ zG`gp@|X2cN7vJmgouc<-%_HuBy8ivH*K3Xzc4 zek-D19#Ue5T5oGQNz&c-T*(W@*nAt-_Fkwput+Q1HL#52duM2!peku(lVS7D$SyBj z(%7M-=$*0Cn+{16m-h?rOrCtClrnYu!uQ_vX`iZ;ndgYjKT_OM=Dtfs@6G*xbx2tR z?(<1~-Ttidy(3hD6ORd%6$4x1x}8!je}g6K_#!E@S+MxS4r%Mm=YE~?F$wMtT>i~t zw}}O@JBHS22F>^6ND|te*0ARk0^AuTZ=bw8TaWQw46%Z(zISCKZ^;p`c9+R5G_tK< z!EFtEvIl(JD9#IkyKq*aCW2ciwyt(a@;R4;oC#8^;Rvvf$`mPj9n9VMeeKX!}p zE7~@CoSH5Mw8Vu`{Jdl0@$(v28x1aT)A%icQY;$;7y+S7Zw))p0IDdIu8`?1X8v^q zPc-HgjycLXT(M0jT+;qx%BSi=#Rzfg@N1z7)DEg*$`Gs`uUlOHrCAl+EX;PG8s*0b zzH9)(dQ9?i`ZIKL?!Sx0p+lLQ+^K-fqp5j8}PEX9>b#+jvlDH7?=@P-rJMu6Zy-(HI%ZHGrb)CZiGpSKkcL z!Jz1M@K;L@+l^4}C=N83nw_`TUW`D^tQI2Yghp_ov{4UH_&Xr1ye_bl8NM1)LpDa^ z96|6#iQzf+_8W16O5FJfHPkb_CV)~##f7#i;l^JX1`)*o1df)m`o6F{z@uUl&f!}G z2UwIS(`LsT-*LO19@2|gf_J8m)3=^!F%=^uf`O-VuDS7HUca!6bZhx#{3T$HxxC*96>LxP4A=n64Oo3w_|NjLYX$D69wzU z<7~gRr33ci56h(0LY`Og2mNvV4^FDI#i^TH?8n_48ncTmy{L*<&wFCQW7ce$qi%_B ziqJe4WOz_}Lmy+$|D%%{F&thK%j4q0s77H+UzZs{{u#jSAJq-=XK^h z)S+o(Q(%{vy(&#D+y(gilJP$IM0SA@p-HgOA$lQ7Cm&+trCLJ zY#6Lo*1+AO)rl9`l6(DMZ{CV4Qyj6E_iT>Rt-g)8z^R7GoW6~3=B;rp-4Z&K9#p(M zRXP)P9D!S_YU=)-GlM1P_;@c|@m&(M&ddch0sbQ2n-uSnNZ>F z_tYIsqPe?pk$tZ6*2_vNtg^Q82tdpnUNn$!#uPrfOO@;*yUF`NC)|r%{JQMrsdycm zpR?mAa7zd1DeeWi%S7gcVjIZSm^KW1XYkGtRdVVoBL&AA;4}EljJYCQmD}hi>6uR;N%ftO8|=+6~qxiV`GA*{X0eiCfR)$YRV3eNwXHR~})~ls1ngO2N5QGr%n3@G5EMZ9j9Mp$yQLbZHMF?1q zOh6uurzOKe5MWYJu!kIgq7*af!Q%{I7HI^V$V~_j4N?d6xlk}nu{qTBGC&Z3R+4$~ zf~O}EX>>vtHEs}*U@u(A84oy!w?!B$m|Y+;2_ZXozl#?|3k=8zhh^fJ?7=*}t$kzc ze+r{$?$fw#HMnmTri9)A&tjcA<#rjs4YFXr0$~MKFgo`pt`5{Zpd4^Wo#@_->sJ9P zRpc9+Lle1h_#%$1PdL|)k!m3@U9q=i4M*s4w2$fEm zx4a#GK>h(q(ojIAis03!Y$(GfoDMk+>T^gZw-X{H6r}>-$r9&2v2O!?Y(n8^9$8-S zz>2US0JP)2Xe;G@9%~502n;yk&ewh`g|u+O4{)(zV46`JD_9jk3q+1Smqm3NHAWS# zL{d{=uN+X%Ai!*{>@DPg^cJNV4_*$yp8Zs6S#5d~dIP8{32Dh)isBjRx{+BK8rrYG zF{TRGlj9zOFEQXn`*E)@5udj~&N}%Tv5BS5V2=3)Z3O-k1G#WNe^woV>E81YHPAyw z@FilzujHGdsLxTUQ6d8pAwIXWzmo^|Q@KeaRHPBYEh+#O^bo*41+X5Mz>hiZJ|jXt z|4<8Y{n9m1?JB66wS3RKsw<+uC*+`r_B*wknzB_D)3e;DMkh#BZj?tNM{6aV$ujc6 zTX@r@lqwKl&jx0vft~M+GlYRPW3!+y7&2Z2L_NlQ^F4@;7pdDmWby~7i!Opo6r(Fz zqyQcDkkUF_OT=R|dj%_N$TAhTvRuhQbSAA@#rD zd=D8x^|1Hs>tx_LVwtm!+U{*9~p!n4FPzK+8=j4A(|TxwOkfJNb({lmq2kIHb=^5&QjVknvoAgXH!KPDsW*d6us$dJKK891@vZ&n9 zFy5c+yR8`BmgxZwI}BsTI|S<6H|g7@={ry9yHw~uKGlE11a{gOwuc%#h!$c^n%UwqUZEd`1Eqx^h(k6YVGt|$MpKp^v1&U z=I-<_%9$;unQgwAo$E8dRcHR_&FtFD?0L@YhtC|O%^ViZ9M#Socg&m&&73aGobAq> zQxXAYB8Z%ljV*uC?zKH^zRyBN^xxNkd&fAb-_7=XudnC>jty{i}ige=4{d zv48vO@6PPn6iUmj)mXRvvol4+;#=eYfq|Z<{jvGemlQrbqAn#lp6(s96F12{Mb9)Wfg# zl7LtVHpG0wU8%}*qf5CooIGUi2f06&sVwA29AV+*uKf@<(IpU|>6|PmBw;Jd@d60@ zIVm$3{jlTa?O`Fa8*BD!>wnXcFPw&o)z^qsgB!LkA1%Jv{#PCOi9x{T1e@%#;H7xn zS^VuMt&7)jTWxK^KU@xf_O(LjU**<6dcUzZ;rc~vf6`;bWq;})2D)?8*@{#}=#H4Q%PNuK+ia*s zk=9(S)HmWwQE79gn?NT@M%T~uKi82r55Ea4(J6|AgeNl$1CJ~ZuLGpN2u#&6k9w5g zWG!)Wn>E$1<6ijG-4*OGcyhWs`X$O|?}~c4_`c9=sCG87;a1S0a8Z=x(fa#eXUAJ# zt_0^SkAB)X(tdsDO^mnfW|CwnPnM}CRT@81VP9GPY`sZ{!w=AiU-RL*tw_4$oowMf zMX4dvQ`CsB_Qze>A_- za^0&Vq0axqE#c|f^w);>zh+wglPy6HH}MV%)U6ZEaOW)gt`-Nsg)cDvv4S=or#zkR zG3c^v4veMS1O$~U+fL6pcgg=BP-lJn*>H~8u>8PT=jGYRP7;%jzw{TFE?8VT_df*F zaaaJQ&SXp@qk6T@v$L0q;`He};!=NlpSRMx?^?6nC-@F-OBRc5{xoIlG_NQQ<|2on5-v-nD zNsGR~db9qWO%yw;4FP#2aZv5kYlAZu8pRujlWV{Jr51tW!rxKnV9pz&ZdT=5rVlll zFAibJD7I7F?n48d8AW+Bod3Bc{BOW?)3QVyb(1jWmL;08ov)9D#H1@3l9EPJKzrn$ z+nXn!;siJERqPI%dT;Fh2QXd5CPCq@SE#1s*h5xI#G91|6UfK`1|1!Kn(j)5ivXf+ z=cdTkyaOrQ%X3IU`PZo_iX!3XU;cHSgarPV>x7xxflU4H#R75JR3Q9r^*{0R|MAiJ z-t~W5A9Am5OJ8J-PQ?8G5Byx+ZMqSJuxpb025+MoKL4$CR)oVDSEgC?>B5fpuSm7z zox8Pi0m@)qLf`qL=CgksofOP})rb7MVgZ{Yd5L_FV$=W6@N?Ev5OC?Csn8{+Z_hZ?w66_xa&My1G+$jGSmc!{pwS}tfO z{VxXn_fp}%C4a9h{N^rx=28f`80*SrEVF=L9h3h(`81)7R3GAKx!iaz?35h;&2LP0 zEsWutLW1)H#OrrdB9BO7tJ8W_C;va|L;7!vY>-m5PXA@GfVr$TsaRlwTefPPR39Rz zt1J5PUl??NF1`$hm34v0_orf}1i%|6vFg8g-L{sTXk+W7NbhjeuQcxd3VJ7j40*E;zv6~bip zwB|0F+J;9($&2x!>ga_jU7f4QYIh!y7nT1!Is^8VH}+?+)Rzy4VHX}t+lfwu#w+Ym zbV;{?_jfgQCJydilFame5bx)|GVpblF%an1LSGpRyIyC*N=0FeJ?n>QQU9$|fV8y! z9g7YD1W4E00mhx^*;Y-26ko0y61Wu!7EqQy(3!gx&nm)3=itWB8HUufZ4|8L?FkjU z*d{tQSo9@J$jz_aFh$^NlDN>fS28u1)Y4gE_D;&4l9r2t#SKq351|LiT5`NDLf38e zwM?|%i5?BT>@L@6NPls3b>nN9-2~Z2+4m*=mrt#^!iAaNjOS{fHeWXxDL2k%H4vhz zj86Y)-bDW``<^eU3oemC_&L*|gl!iS&l9aoqu;{ciiC`d1&?a%dYdFaZHnf2I*+`4 zQh3&T;9)mdZ(*Gdow&A?-4HUOW!A8;8dYI%bziLdgZt#$sNe54eLWs;6n(gJ4xgHE z-`;uFm!r)+`TN!eZ=Qt(oL$~!wLdg?KQQR+$#MhK+Zg+K_nMIdP;Y>8KVNw_?f+U& zir{j#;Z5{nSTwNoBHzoH4LIMWVntsfOGy+H9M`pq5-RVsin;vUJ|-5DBzQ4eWDtyv zW16*}yCpUZri&FPQ@o^lXH)u8tUSN3b+j`5*rn9F!|gv)?(6#UC92-YDohg6V!f1M zoh-PJpoKG9Ocsk)Uq}(8Sy_m2DUi9C$vY%dl&j!Xw)o6e!eJ@Xm8{z~Gqm~8F8A*9 zD4R4fmk*2CzDH$t1&<|+?bAIU-z`p$JX$U*c|2$H-wf3Mw~wE{xAIhfYL}zC+S}gK zduwkxN2h6L(CJF^?^RmhI}5 z_Li?|p|M!6`V4>CyY+=HCRe;e=t8X9C&AEHJH4WjjqYE?e$l=CDv@{cv`_l?tEU4h z++x?d?j|(4^=p0M*dEl@=Dgmo|FQSa*M}M|J3}-fJ(Py7zrAJJNNf9G|SM1M4{ZjDx87mS`0@AHF zrDq>I-T1KZ?CIIzOcJfR-(o=?m*3AqmCX;UX&SJG)r!JzN9%8#xEfaKzsLKpHZ6TS z+{}Rg^51G);-+?9(`2U`yMA%xMF{7- z2Q3i(L>z4@id=lTg-+i!^a33Zg{plkGP^QNkYX01m#M7YnQuuP>=3v0p|cq6zW@+s z>7L*}aSSF#-Z+_so--7vpjIm*ROoo=T}s>e_A2oz^1O&N`&)t%NzwOf<`}{|Zwc|= zkI~HKWoh#15XT{7%;XDMKh$+_+9t)_3cJWUvD}Uhx*zY@evxAU|4HWaK%B$mPd1SH z7hxLRgs>B9&eP62a_Pt|K<(w7aYm^&p8hdm^NrR`FvmRF4qX7AOsx`)*d58$F+wQ%^H zswy`pAx6*nDcBVbBNc=P6T*n(z?}mz)srJ6fB}HBt(RmRZVB1<3i#gms4Ck=jjtN- z*DuYPYepv`JTA?H8Sbl~3_B=9d{kR6Mx zXdIyUQ9(vYnTlu;JzvNGp;Gi&|J0N|LQqzp#kqYTNf$Y5J_J;ZgQ#}9fi`UcjmeBJnNDIOGnB}>jl_;8@kd1y1$ zvYnDcPj%bb+|Dio_FD-;C=3KBz0FB)1(ll^Lop60X54r3OKhKo(yn}3nM6A!ZmM13k^<0*|PwD2w)C1QjY1NvjBQuf1;N z3sh)!z5ywQ2nfvgGCBajH3S3@#gIc-tBc8@GvJ4x;PjQQ0@e98KaW~3FcOrN(Q)fx zXvL9bt@rg6x_U|YA?~wf3gC>#_{lX{9tlH<8|C-mB>aA$wDh(lK*H~dpV(LHyp{jL z?{mpnX>L-HbbLBbfWY#O5_@?*h9*8Ql&xy(_Vw~s*I*wN*0XcehXA>T&Gd%G&lPHT z?s2oEcl?j4lbF;MWO?oa_U;vpimH7gydL=vym)&O*DvcJ^&ceezCxQHeH9QH?w*!q z77hL|{65~;7$Evx8(A|WcQP=rudd`s5XEh<4OeHFtv~iY_OP}bS^g%?^QQk2?!Kjg zCXAWc?TY9KwYJZXoeI6@is3h`<&$3ZtiJMp<2x&$?fYYOl$5016fJXl`8FpoC6L>1 z;g0svdz_gbPQc$%CQqaacYfHP(EO+5T!i@G{Al!7*Tc67Yregoxc0VgoF9~2KZ{DuJ6_ff*6yD* zv#GG=Tuu0R;

    VG!}K+iGC|I!sAg%=%r}74IM|mT->JFm<0WHMMZv z%fdp<(Y(Y0haOBh^Pae8w3u_;Ojbnu)_rkpn+}A3DMWvB; zRAewPz~31m;bZSGO8+zyv8jVh^N6e`3yVF+8@?yi$0pj5pp@@h6e?5z2Q$S2DhdJ$ z_Hm;=r34-zXdwB}BMj{K7XB69X$>2$FbiVhc?=LJ-Y|pATR;E?^xT#L*dimfWicT^ zMu`YM03c;&*9f?Z(b&3Sa+L@Q$hNWqAqK(|$K-ZJ1Y^q3N`|ndjHDzrd>g-^0-~va z2~6;}y7(kX3`46~gEW#+pP>eSL8m4DAoKCB4$Fmfgc1=>Zc8bwPf24J7TK%p znWqE5WIw%|BCCp>mu0}}r zLt%HBP;d3nr-%BUA2L|+8O=o*#mO1ID;aLJsji3VShe&L-Js~G%!n)#$Sgj|C~Nt4 zR=SYbo+7TYEr>A$R$~KSZV4}Q58_Wp=x1e>XI&;m!xt5CBd++NE%=&FYS|91fzR(L zYx+x8vHgD2xGmvGfaz4nF+kd=FjF|PG8apL3S_0<>&j_j6?-|FQ92jm;tPXpgU(yX z>C+Iiis9$yI+52cgBOj03HHH>GSAi>#8wT%4=N*tNsc}U_G?Udu?)A`mANsNHz5&9 z#Dh9<0$0Su0r3wPiPThJRc1@nWBReSnWYz3X( zwu44l;h&k+|nZbGv1H}=aK4Fc8$gJ$;wUwp`9 z1cm>KGG_v1Is29-d@kozg8$jdDbs}(P`l?#je@V*2cPykrbTC*VKaWoR8q26o+tXxI+Uz17cy?=G#iT!5Z)Ys zgZ5c<7W$)V+JcTV+|Cfim%ZPJg}i*%mX(@Oa%DU@_Q;)oqO@V8WM=j0hjX%+KI_mz zML*Hw@T=1BN+zB6)v4z|6};}PM1$dV5z#|p$(4!VLWEcN$Xmv7*m>gH>-ZY=3CwX; z-eG0zo{BXN66Ahn0#}tKD*c<`6H(a7G9j5A3!`qr^+vB;1O>ydk>CYAm zv%n4rP-t`}r3TVC=N;Y#{zaHRNCUZ!fZ4LZ0<&YsP#=6+afTXxP+5_2tVtPfZS-3H zn{oK8boTU;S)VGIYCrsI8iLI$o)J_p)*8D@?SIMDv1uqu*oldQpT0(}erPx7VL80s z2>ImzXMwhWR5b$FI0z3_R6oNhCjW&1gq$D3mW0^#p-6jF{qdYOiD{Ag90lJ&`7f-- z9ztr45b=y56%Sms`70TtZK)Xt5~{x7nkqq80U&q90kTa|*#pW1068p3iOPa;7W6d* z5iksOPDez^`93@je<)1@+veBZ904MoeiHo6UBCWfOExs}Haa;9??9Tq zYEwhD>LZ0*$v-l+0_fHo0mfu>fZ!HP35~2aL5|Y`4#SQLrhaeO9RU=L>pkS236cYC z2dScDP>K;xd{aXOOrhW|CmnRfkT0^&#X#g5=Za+CnFB&yofzE6JWE5MQSp~(foC}g z4RqdwVyC1RX_I`$em7K6Cl(_YYGvX-k=XrZSb^d~w_syr+far+5xx=mF6I53dqycj zrVMi}N#lqzhSp$4Q2XTzdGK-ilO_1^Zp!V3qNaef6B!z^pIt*mnK8z}BE1oNQejs+ zgO_REwC)E%lJXYHa357+TRK7R>R%6>zPg5Iylu>92r2so37+MsDBOQ;zE&Gz#1L2y zKh_D-(D402TblDSh#1*ZXwbTK(%&%G@9*2DfW%Qd^{y^;AOg)8rx?WLd~Eze>EjYq z<&eY{_3=X-r$N8iw&?|z_aCT&(q6#H&byO37vPzGm2(*TTJ^RKLZ3$d0DHydf-%QL z;tSHi2ObO7=YawQ%QLj=UiJ?$5X4j}G^#E)wi0g=cOk)*hDkgJG7C9NByAz!a@ik` zJKC5A2+Wd5CLQQmBJABzw#Mw&Kd+oPC#vYW35>HN&da#VqaOqu?6QlY&K1MMluu$c zGY$yx&*YJ8iZBZ5AYPjCy_T1a(HHKF(&sNaeDh7FtMIRPPQ7}NLt^oni|KYJ2f89h zAeOmTOq~qNM$(bsVSDhCyt2m-_n#-b2V^fh&QDR6<9%^O|b^*)u% zenOj6ap4M?*s9ykfVUn6P@g}`Vp}KtP?&B^9+?lEt|<80Co%q=zH*INA{jTGMh%H3 zi1@mK)tkT?fua%ESnETvjAxhkglB&I1IPasEfOH-8YL#0F)8*Jj-S{}bjLq4_UUR0 zMVpBP`c-x&(*T4iV)geyR|WQOV&=Y(x?LiLx#-@0b}?Y6C@bQeRSIerc?kA7!?;aL zq-|Y*UQ)VTJ2h8GO;bKZHZJ9 zP@!8@rCjxfy`cX*u)6d5!%rdut#~_pBBQrv#?}W5EeQbJoO=K zU8ESZ)F$z>&BD6)l2@FzTrjJ|bMP#ZWn6s7T#<)6Wr)U7@DE0mDoB z`z?Jg&5t8v5MFyh1Ex#d!<(f$&yR-^KRy@U+`8zr^~(uy`6&SWOstX9$Pt(QrC^yN z^lFPH!FY$OcnDD^+AJ)}LPrmRNq+cM-?m-0^XsSX=J@H>6UM z+Q@!$WaT-28^-b*qJXZ~_eF}zi$<%{2B>D(XJ z1uAt~OY!NN^ope-Z^#vG5tk#l1{@#A_B&Cs&|r7!i}$Oy1QQ(#ztLC1OG~?~H+>f# zPycdXurf#Hgo|7Y-XBU^2Y~3ej|+R6Ch=TE4Vk2eQM=#f0!LA6UU9v&VVu zOqRjF6-|fSsRFb`Lo#87EAKzkz}6})*l4;Pw2p}AQicH-;V>xH?-jAqg5cA@;MQ7r zCbCZ#{BE)gydSkjc*cAGsFS7V$|w<%wD0s$_^Nc6745O0=*gEhD(6H*uJ&KB{OHWa z__+nc6U3G+@W1-H3%4fU|Kb1F1`A?i8#Q{PK}0}Ga&$^5EjqfpOSds#^aue_bc6ze zN-AOvkQ5Y<5(`umd>cpzBD&w+pWl7l`MvM|;o5OsJJ09q@d93-L9ZC2-=6*Z{t+=Y zD*fzRjMWr)P`hDS&9n2&v%`y+y_gjVcl5zV9snX@0Lovuq`7sBk7*7J^ z#>o>CyMtPGS9Li#G+WJDZIEf_;Aej)Y_3j9b4*Pfr2YK5FgOkqWgg3zRbztNZ4gB& zOPHV5);u`)CMlcm8fY1Uh7S;BY^`-ec==D$R&WBq2Dy$8OY!d)2jJfrXLUWlb7YC? zT4!ew!a}mM@@3!`1#ub8H5Xs;DD(;eQ(42*Wov7WT~Q6?Iv$LuNh=cNHPeU^*PDR? z8olor|173hi(kn3&}nz%5oi42y(v6G(+Y^O5~X-4I%L1A9F^gPf|e;bMFAUHK6|+~ z8c471SZ3f1bk`tM+t@W0R2Dfv;_9=OX_h(xtSMaTAo=CiW+{S}Eh(BSTMW<>7hi5+ zM9&ny0xpek+3Hm1;s&TV_R0t$&#fn#ZJz-sC1a5Yfn``I+T8eQ0ME_p4PEO)#(+2s zD21=NNz#0Mme1AhBw8CrJ%Uu-k2!h$lQ^2si8nQY7S3hYE7mxxG z>m8_I-w+-lq!%5Bk{uVoZ?oe^c4w8pUT62$4o*AAdmcpMzD7`#5DeC(Ih9wY!s>GG z9&F%PxL5sk(A+QixQ*qMtNc1xQSwryWp6P)h^z0KT&M)M-OHE~OTEym{Pl%(=ccAH zzyr9(NtO)Y1o-k$0@|q*h7*m0WQbh?knm7kNFJ5m48j-b%CAxLmc}EF0+Q<|Te&6r zP$cNln3?xN)Z!=%Y<2t5p?0NnR6_wi4eeutXVY{I-pIbhO z0Z2AOM|FF_!~S*nT8lXy=K3UY1ZA`4103vg0^$3|6p`~Lr5tq~TuT@}>M6*>YTF+d zf-hHU)aD*_FoZBV-Qe7-xNv}eRf{srsK8me-IWta2Cz`TvnTHS69!k=hb-m4{f&RZ zXFs?oUq^ms3afxf;_Q(w1; z@Ifslx1KP`*Sgj^AIeeBJ7lFf)qO%S8hi_y<~i_b3Dfz7O5wg$NqC2Mh zEyi7&n$$ZRM@Q{^$U~IMm`peuKGo!uIBdTn*@MbX(9y#dURU*V*LeT~v&)<2BgRIhyn#X7QY*O8BWhWE z(t2OyR`y0@8dr*|0+i35y3VN;wl|S}eW+rtEyPl5e0Z|ARMq6b-b#)On5GSveuOL8 zu6Bu(ir#Egx>{i4dflqBvK!CX%QiB4-fivh0rM;dhPUY(z<-Ttp1yR|YI4T5oY)=j z@H*tAmS}0Ypt;0_eq}-ztazgN{dF&dpPPS;Yn{ur)-$gW?qhoMJyAPtmrZi@wbcuD z`eiS9{R*wtjxUb?;7_XdwbGxf9_z#w;Tlzfel+%ZL|8s^y+*TSH7VwyY~60>@OOL( z1kpVw<0?BZ{Amj`^Y+YTnkMiexU~l?q|27F>YtCTrb*U47lT?zO%NlZ5?d{=Ye%r% zbn_Uz`YCIJf!-3FYHZOHxTS1z??m9u_=5CP>ypBEpJqqJ*M|G7O9zPT6Fu}6dh-k! z)Y?UV9{j^pltYYkFLFho2{rR(d0ZHuqf7G{tLF=4yDFi$AW>AWH#Mbz+1;q9<#u(M zp{9%HPEzxf&Y*KOKzh7d)T-O3uP@z1%T?Zwu{#x5^j&VN=Wfp@@_na zv#E08QlRR8!J-?~9=`QrGCJqz1v^Zz-olHgZrU5QJNJW){x2-L-sDu_zJD~cW>m3PjF>Ib(W<4fvN1ttdZA>jdCl)Ne|t>)`(A}ck!(-i^!&?tl}w> zjEi|e!^|){`+KIfI+gr5`9^L|3=VIFqd`u+*8+%_aH7k-FR?Clwg5>%i6{7#h(#83g$XMqcFFp-rE3WPwB#8Jj zO3083(lG(dFvPM^3V=^HgWmw0s8QI?Pr;;z{{Y#9gk6n6?eOK(Z;Na$k{L-zz$&qOGu*NLz0S;hV(zYLG@B|a5~n_efhWvP%~0AS`pl1fv~ zUcMA(hnIiS!}R^Pzi#Rxk#bw#=;B6a9{)_Kie7w_vu4~w&_J)KXH~Zy12^u+GtKl3 zaJIC_(H?vrvq!fcHp^5S>q2ZZ`3}mCarC2Q`!SmR{O0`vC;J5h`h^nug{l46ihhyC ze$noJ_T`$`Y`?^Ze#z~ADb4|$zyQ8Y^Ivux4z)aLs^&eQ&H>d-g%eW-B=2W?Ga;vN znnYr@LIlJc2X|xJ;){|L6oeX+F9;C=O*(Rw%82qui82%z5l@ zoD-9y9w0$wyW^u~fZ}77Cnm|J1IhxB23uOFb*{R~QF6RFz+f)|&QU)l6~#0Kn2=;T zyX4RD8olu|7V3}yV}s*Sz2xo-#x14;)EIqWgD-heGMGT~X1}&MyUg!j3k`uN1(=Wf z!Q~fG)I|ycASt(NG`N5Pr>b1w0>#&e;(@~3(69i0cz{%)1lcSHsfW;CzC7#=WY5z{ zS%!lBI(C$PhCgz0W}3A3BSt|azVA#yi##6i=HKkx(6Xz-m-(stmXcT zjQ5%qY2fs1XiBV>&!i{brTs0b3S#=a7v zAX30b{<*m553f8ioRC3QUd}0OGf@Ue7GyHvE{G~ibKCBe^dR-J+c+HU2%WTxr!BVT zDeA&S*^_qFdMMnLqJNQb3gL%XgXyEqRt;?fnnV~o3xbcDpU(k6TG%dRfC^FV&Jp%R zgVUg@nQ5d4MNpR#Ow5)cT-=P$QJ`@|(FHB5jVLsVb_m6DlyW46DmRsfrGb4@MwIW% zv%EvHF&yB>HgFP1FNl*gzop?s5McW@a(frNK!6e5p|ec^&s+2LE+i<_mJ%|+!Q%+5 zv7eF3UpA(kzpMZP%9|*}R_5JeU<=JwsTu=znp~WrG(w|Bhb%l9%VzX*orsm7Kq-)% z(}schk->?fG*gzWX?OL2dH58($I0&ZQ=Yjg#11Cy-4x%|?h4LnwA?gCYntD}871KC z>%w(@G$$}5hx_=n2qfQkbc!Rs&8-f~WK2u$OiQ_H!fQJ{IR1N3?~+R!kxQIW$evL= zKcf`bUDZAlX4ZA+hO+W%KMjXC%+|(xjokY?r`lm@gcE6i7ON;u@Gu%SZY|Ad*HXI2 z+-yFPtam??lxql)HY)4E$QIc<=egd`*|C8=_l1%AI{5Dyr77m}|I>Z^;&ab;?Iu1J z$uY1}>`;*!UFG#fk4< zY8*I^b$+nA4qMpAJ73iT+8ZMmp%K`*ldjjwI7?X(dt6$F7qb*$Y0C|h3@uuwdqSpr z{HRBcR&Mg7N5Te_76^YjRgk&CV3PYDDgIJi#6(6AKr3i;HbgzuUW=3B;dodrr=@zLpfzh?};{>`mO6Om6 zM1&U|e;}WUs2QVZ(L?b=8Vd2+vQs zu#3`H^I%~SZ1L?MK;VR2=P5Gt7)@{a**Q2Y8hiUmjcqrG{LKU&L!*VpcOMQc%<`ys z5kgj?!>q>0Az1BVT%AfY6bwdDU;40;#|3H^QRjYB$cFsghVTd5P*DasvXipQK~mhv zjZ{+!9Dv2!&~&6x09LY{ z2S|_;niKCqHcxP10PSJgFfWRu}AaN8~_FdF$I^$Rx2C93x3nd9la~; zu+T|YBBr#&fX0&Ox5~oaudH6^S-TMpToz>H23G5s!M((1+8+DEAKB4%(7u#v+uW4m zRDU17O{dqJu;S^{0L_}pe5y>c>$RszwDir-DQ3J71wzC&Lqc3Rb^8EWq%tv4g(?0cT>-q*PkGEKRMq z8km0d*_G!8m}``SgdxzvVv0;Wu4w-x#p*hkob}DwAn}oF!%_a|kShdOpGutYDN2qm}5UTODjTYM+X znk@i}#Q25Zx22+B^3CLi=XR88dgW-f@@YEv6xbF@D%9pucWdj~DZ>2Cb&V}NH>xk< zRHPrqA=YBPikAY$K*M<2pDafJelhYfRXfPT+iO}?CL6cLnZtCTIr;c4mFj=7%TWXy zL8YiTaTO+b0f5S5k`V1(a44W(w_W8yxcCVxMJbU1FIeXXXnDX zf>Nty)$-;Y;C8-z51I=Tn6nP&VH5%$`<^E5XH_LnE4v$YSq2e9I&b_tC%V0{5?F|C zhkcA$Onbf5oSzr92K}f@i`e*<4IzEza`T#y6q$j=07xu*79DVp9W7<=N4PKrEtuo_ zwI>tVE0Zcm`wk_=9je6KGH1LP-yY|l@*OTwtc^zNhd#%;=@hCQ$E7Miu&*zF3 zw`+n5aFYkdv{0Drh`^v}Q_`MSIaWc&kv4mIbG`b<#SMjwkS137vB=D;n{rKYD}29`MRXP5bx{t*>HEu7`BZ;d?)Oh94nK_We@Jx7j9g3Q`V0({cge@ z&Z5v0C^*QJDo^oRy!EH;Zj^@NmCj?|x1AMsT!IS>baqa{_)og;xFzqn=k9n^?RY-B zbG&KCdt~R-!j8|UozqPkZo4}~;V2?Z;xgu^e>9w-ofPoM=?wwqyvwj7O@bclXO7+z z?Me#c3kyHj5xMX)>`@Z-$WoX%d#k(3yPy{O>5tTQRBgpp+Gxs>eWlsscv#;v`) zlD+h2DfuHQSyy&*battq_6l}WO26-RKS21o*Qj%5JJNscNYgG<{i3#~*1$-YMp7?+ z|8;@&>!KC>vQ*lYBWVodw7OmShBIl6(P>w2rCuvZYr2xw{5G}aQQGxqX{`$TO$)zn z-rB!4lGgqqs`$vt?iKpQGK7&6WnuR55pI+*;FF>)tkeB@yC z?ZFeiKTnTjP8(-VT{(Cvl{tAP^O?e*#dDdnO@9_0GZ#kwuwF)I&If1Aeg8Ag_jhUc z&$Ft`MXA599se#r%N%n5`*tDov$40fha z<^OXlnnq+gZU>(;i(u{Mvi7Q2znWP4cUZqiSO*KNKc85C*{lK>hEWOGzztBjg*77n zR~B7VC+^Gt%AzZ~cSfvl%1u;j1kbdEZplBrq?f$;WqnIwieZ|IIUKgFIMZlbr4jjg zTWPl0rOD++*pBjio7bJVub+1gEw=lOlpPNL`9E0nSG{qcW^RP_qDz(b_PGc8TniL z|Hh(!J2JO9 zBCVwqnc`!gdu2)t_xEJzCfvtlOHV@h?Mu zC>h&J)*baj1=youuSPo>MoMsI`Qrbrr>EEtcLv_9x_ff`l1}sBF zur62j8Sid+-sIF^TWi~MeXiA`E9~`nPwT=h;$Xgn-R-s)T_Mk}`#iaQ_IQ+K1+BDsKqV@D- zU(Y|Y_mTuF4E43Y7Irud-+b`9=lk1K|5eqH8+9A?Hvt?6@Z@~_=|K^Bn8Sm#mwJDQ z7c_>Pg@*%0BwAQ?McmChTWe!E>HX~%$8zQ>IRJN*#9$=m_hfv^Eus-%aj-C@!+Rml z3j!SYBLS`iKS%Qm#4UO}#JT!SHdZy!++@Al9BDQr!T=?62~`XkLqb6$$;AN5JJ?^f zZ8+fXA^R#;QNhfa^?(v;5b8hZr5GDHGcqyh^SYIsnye)n0daN`|5GAq)Y5rCXMI%$34($3o8RfH-1RGiI;{@(J;{p~B~pBXPY zVFWd@xzDgzKA|wPzp(~@Y_wAExTHQX%7p4|kWqyUP6ca|>%?2h54K9aE03BC5pQMT zwizU~lzv3c1~qBAmgO{Rx-*@N=V*PV-Cb9dcwbHGNJJfSQiC_=OBTLM8D7ES-n=X! z8hiM3yQKh$Nf%W!hl#(VaT50!GG0HF?Epf@!*+JtMRFBG=K{B^hp#fY0ZX=>Ao{M5 zvPa_%b4G2iMUIa0|#js8Vy>siLrE(NJqz65=j0nFcW z1&&BORI9g?QanY4)s7kcXfaK%IV$tLO%ae6oi0w>Za8(p>KuVGlB&|2|Iwq|Mk}q9 zuh`)-u4vtS+~j%A>`CXpx>h<`Gx%Tqrq|vyUY0hRfjbD4(hzrH$=D9GInEDFW)52) z=AJd2;c!INS{r|h>X?`YkOcre1&wufv%)&k<^NF$; zn7!$9=uVNExr``UkH7?5^lIJwCrnKETZU`j;*hmw+eM%LR~%K<&qtE(UBtd#`F88W z@mprdI>grL6Av~ZK>F)~H+xCRy&u&=O{~2YQiZB+%68p4v*=BKuvz7>Xm=<~$>j{F zRgO{OfpTMAtP`AXkUUvCdQNwmkL$!@zx|jZ@vRtoTSK_viGvq^nbTR1$(0ts=PBFOD|#z$ zIxmLJSBMJ%pd^I5l;6DSmaK@Ec7C)SxLDk)i8Y2^38^7-e>(Q^*VB}zU6*$!J{gs8 zCZ}wNdks3f$I==?9e-|lZK$^gy?ZM0EhVAxcd19>WP=!_JdgZxnrQJ!c0$}XSDT3r zOkU%VSacdWHk)|TvC5*bx52U8gw6;NdYosFV*Qu`0Si{Z?@P8^YrP;1_JpWDkuY(w zcqL2H|t4(Ta^m88!RM-iKKMFyrX<;TLe%;(`G3G0Aj=5?8#%s*(KeH-!W zKevx#5I|sjW2IZ4$(2GXS?isttV**<;g{*q)aT|E*gO+667E_`@;C?Xf~m>VlXO3S zehH+GuA`-JsUL_Z8eszJ+cLKWs9Co#EE5V>+|}6HwI|YwFeYxO)Gf__Z1O{Aph@HF z_3GaYZdOX&r1v+bnQ;J_MJt^KwI|RD2k{~bX)YUU_mlRpCFv4+?J))S-jyYh-|V5x zx>XZl^*aB2u|72a%l2pIy+2=LO76Y#Y4XS+#eZYpdY@tOA3aze;s2E)xgBz$L0zA^ zfmwNNyopAFc4TrOd6L^3m&^K=YA|#X^~6!f(uiYd;PvujX`z*qG~FCMz8Z~BN@X7? zitqUU@we7SX6Gfxa$-iW-M94PL+`6y#0xQUC~B{Zr2Io}RmtZr9x@$d6aNzXy->4< z04Y53eP7?L`wWRr_s{Fx0BYkMYyWzS-{%cvN$<-MKHsOv?R%;D!e+rQWlUdxN#`v2 ztYBqaUCaE{^v{9+$>Xy*2yD($4km(c2y1fFn+WaMIT;(xT<5)h7e6Z8BXHY+U|3p%a8uxNcma<6(X4B4q9Pj1q zF&*P~rXzgjXOemqMr4oQ*n;ZfjNEPKwJXaxWnx%Dl1gX}>CHm2Vz@)(z2u!;wwBK* z(lBck+$}L$-lZYA!@RC6MIoXG)vKSI!Jw7VOz+1Vw9s*D8(Alu&sAab>vi)RJ@PGA z@|fh)FJVCpZ9&Sl{2PjtPl5%EA15UGUEj_L?h^RcoM^V{GK+#_LSEHRw3p_ef_(0h^{zw@Mt`j-vhEHkvsAA-gB4la$QRi%zUUUZ$ zF1rH1Qil#0b>J6d{bel8LF<8Ci@l6R!N1 zaZ*Mr1;QP&%KiUwR+;`v(^9z>Az~{?a}W^WR3_IV$d*K7iN|lnCMU9W%^bO&Km!>x zLOrMu&my08>Xda(M(>jj1vA;uD%58MN*p$A0)P^$a)4POSW1U{sGzwLF5oj1>eyUA z?{|LW@bhxTmGi=EaCJj4p2U+WeO_ReXZC6#Uq?P~dSO{z9() z+YLmY68b)ulL#l;=Tmlv693v%kgR_Q8)9WmBjg1G*Gb5?jM|Z3s5kPyYk-_3YXO<- zc4R3u;+TmStdUPFMeSpIt)VAjWvop8PT29(D@Np`1qf2X>eR$te!pKR|4=AOy%Ouo zK$n*B`a(@aDp;Bq(WRFB(}-8oYF1Yb-ZI^PzKDSMspobQn0wWEO_;StzNIP7F`V(N zg8b4{jjavhHHsh6QD?bA0f>>LA=Do6$^saz>V*j=R3Q7IoS)G_xJGzBI-1_tG0TJg z0U`zJVuh-ei-neYsd0f@Vyioa&|Zb|Ge(GHHNZ8UZb`dljJ+B`_T%K8C6s z^4}-9D}q5saPr3ED7L?<1_jbntBib+m^g6mNz|y*kxD1RX_gbJrIFt>4T3g-3iU(z zP1yZBrzpAQjV6zSht$9B>Xe421_yB#b$1@+%|uB#9hv~x-#FlWLL>lib-SU$2(3K9 z=tu%sCr$msK&%`HtT+HjSY?Wu#2S&2Zx=Yz8LdJqD%#GCykyRpSrmQ>WitihC%a3O z-Vgx*RREB{L3r^k_F?9i!;tB6e49I<6@t=GoDF)q8SM=5c^vfx#S4FjdIIKfA2tWt z;{@tJwoa&IO-mNa-+l1Hr-b9*x9Grz5vr79W?V3M4VCi&)pUoyx(1|*I^+We5NbCU zKcloaqLDvFdjw*k-1(+Q*H98d(IR$e6EQURuJYO_D$-jZ zCyDT#BOgzWsW(y1V4}7pl`Zbe}J9aM#R|R9;^4U`Z^XMNu=n6X_7JG~# z9TQ2vww(q|Ahwt)qs>|v*8Aw$G;`BXGiMWInq7A#lx3x%vbT%63$h_?FqL z5XYXEBM$@{NW6bYo|rGFhdo2{F?_u}L7vh=#5}Zu5<2}<09=<4dS9@5&UR=@>I>;H zuL;*DRylu;_Nd=|!Qb9~Naummz7-Nw{k$BmOkbg)so^ic@NS0?rT|kuHSEEQmi`ra zju#-2xadxS{%Ax_;ixr;+q<)05(Fm{qAtduP#v;7(*+pIntm$Yug^oR6zU*xj0tp8Q-o!Krj2}hhjr4O z{0ij@MUs=p6J1dsTMUxso(qvZsc!D^9}rC$Xr05)qse?}q*;K;^TPv;j?et1k7iBr zT^dBaA%xg{MJ=ToL(tG-(i4b49x`^$ep1M(KAL(6ElKaklvdati)G=4<7&HkeU;=p zio*{JpLIh2^g{o!MUO8v=Sp+(gE&yhDfW-K<@&(_00;Z5EO5FH>F2B6=DE`70|WzC6Ix9dy5N&7kldHH4UY zS&a!#_Y^OHO!U!71)8=DR3$-g*>oD}kqV>OIN#9iYY=Pkewd zxjqTJKuvS^Fh1BKRm7s+?cL^v^skhz+&E?>4lq~OnJbF#kQWUQzbSST1fJMw%LzI% zOqF{kS1Gk)Ll}(6Ivm8?D2ndZM?WQfI{yCM4JK;t9jf{( ziYEqf1u5e1jf!P*G`_QX_8Vof!Plt9qxwcjh6k_{!*)Jh1?V@1xzQO&v@L^A|MC|F z8TlX{z~fLn|Mb_i6^_hz98&Zf{5ojM8LI`hF^htu`njbgh1uU6mT~O`PD9psImaGGYX@|d^WenqsSDdA)S z+#YAlos1YQgN2^6>{a_-Ihf8nE&PMM{5YbTU?i;b2IYDhHM46P_v~{O-Z)a0`zuPO zhp`o;F3@F!zN)@@7QJzMn|E@9uMKDXioWq&jko&y4bPGl>C*SdI(O^O?KfZ9zy4^y z?d`r$RG-u!FZtVkL_crp8Ntx2`t!IW-EV)ZTkLz(r93n~czoty_}szhl>-k-(p4qw z#FgCfbLi-+`rA&(F&TrT1Jtjp`s%DdRpF)1@;!ebNVL)oZ!Pt|fgtylxBU-NPP|xC z`ZlCL`&LRlfv}_Cn78Um#gg}42>|Mj%LeH`H*a+9-g>JOzcs}^A3^#V<^PhunFS|G znkPUE&o+9fy|*rtJAT>xg3GFHIiHn_f#AaXvSKT;wbyqBC%{~&S~NI06yccwSy=%f8tKM(s)*ZSSLa5CMc`D9<> z*Ed5KT^Jr6%S=#vCHK4A5l6QI#qJ({We~qU!=>UL^-{aN+{*8$J1Xe()7s;2+7{J) zl*5d=^2FAUOWP#e_*&2OCMsnCnHp zH}Vc*V+mQ0d>p^T1>9W%wvUOv_>pK6GjZ|J>Wk+(Bhl|eAKqR#++c9J@oXR`C(~yz z=ZWQHO)jx z8_$=`)VPkUKReKGWhQd9EKeUxP#J5hs3&llLV`IlNBHYM!!8ycOn=NSRTWq2FI#JQ zGFECy4XI6ZDO8k^Z=FS38}@PH@Lt#>BA3gHS$s`c=0CY61F<-b^5nb=>CeB4=Q~&sU zo~jP0w5=sK2T3jng8~SbM`fTAR1gmCidQazwS@r08t>L0T&IC0Y-u+9MC5?06ZkyH z;c$N{6wuAcri~P0IKiY7mT`$Qiht{#Tj+|An<3>Hb?fd$I!{Nrx#IvPl7_@96>E$<)kleFvEZHtpMYU^>#?JlD;9KjYs;}=$?1T;h&m&$J1 z2uXvFayw6!Z?|yN2WHrI%c=s4?_6mWr}Z{@S>(GXT3b%8=iIdEbf+Dk8?xPW`Ys=8 zFBfabl>kHyeIDlFWWm&@$pRoiMx*c3cA*D0_G4Vn&xJj`P)5fE3A%FST;vmo`oATUuEId(7h1;HI}a&Lmw) zY4ksD<{Nqgf|PgSz7)8Bbchw%oLHIbuuqbYDq68%xP2?z*dr+6s1@-4b7%bX3p z*V#)$TYM3~mjSR%R3k?8-pP?M)w`^kDJ7cl`+0X}jnpKSZs8sm;}gV(t!;T_K!&o+>wOu3)Lh0N zd(APcuffrw5hhzFuiX8M!=_CKqYomf0DF?=5sHEx%hTs&`U7-<#S5Mf;C}ltO4VlIiPKJz+=Q2no*rCw4MY&nnsGRqeXKml)SNEQ;(~opkyaumm8+VE zUep=#tct3Lmn8Nhf<9_E@V?*>pPVjMJL)0`j22%^`DLf0_P&8uaa6m<#8GYK(Pv2Xw8>FaAPo^F9_2Q&P~^s*zEPoNbUV9kT)jPMr~yla~-|vVS#L zjVv{nw?wyC9u+xJgIv983?du~9~XIOZl7>5bloO6zpkdotVuv*7As}dd}&{x++O0O zb#CX0>uz(`-G{>5diq>%Ce5{;frNVu>A7`Q&b0+wgnP~Px!t}!cOyDG{M71x)BMET z&E%nQhICpj&Ecco!jIq+k3B2z3(dFZenlu*gU~~!=7QG=5v%|?ea~CBE2^c3;DK8A zJf9}97b`*{LoD>YW-8~qn=B&3T<>|!-=6Qel^q!osPDZrKY#nqP-Il%J?}R^=kGj% zM8#z5pL!>>&^z+r!g>0=Qy;yY`6siZ64smYtoF?N7KT)9z))Gkz=eC$bAx`t2?gKT z4S9i2L+aeUH}^QR9(>P^KKT@TW`BO+;cij%AusZozdsiqu^=%dhyf8SyvT%E#!v+B z6QMeb{d_qwR5=4*Zui9j;o+DZt^2;n&6Q)6rlhA0cwv>hX4Qo literal 0 HcmV?d00001 From bc4c631030d287a064460c1faa9af7ae09f48e4b Mon Sep 17 00:00:00 2001 From: Mehmet Erim <34455572+mehmet-erim@users.noreply.github.com> Date: Wed, 20 Jan 2021 14:33:58 +0300 Subject: [PATCH 078/217] Update POST.md --- .../POST.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/en/Community-Articles/2021-01-20-How-to-Use-PrimeNG-Components-with-the-ABP-Angular-UI/POST.md b/docs/en/Community-Articles/2021-01-20-How-to-Use-PrimeNG-Components-with-the-ABP-Angular-UI/POST.md index 1fb438adce..075c5ac898 100644 --- a/docs/en/Community-Articles/2021-01-20-How-to-Use-PrimeNG-Components-with-the-ABP-Angular-UI/POST.md +++ b/docs/en/Community-Articles/2021-01-20-How-to-Use-PrimeNG-Components-with-the-ABP-Angular-UI/POST.md @@ -4,7 +4,7 @@ In this article, we will use components of the [PrimeNG](https://www.primefaces.org/primeng/) that is a popular UI component library for Angular with the ABP Framework Angular UI that will be generated via [ABP CLI](https://docs.abp.io/en/abp/latest/CLI). -We will create an organization units page and use PrimeNG's [OrganizationChart](https://primefaces.org/primeng/showcase/#/organizationchart), [Table](https://primefaces.org/primeng/showcase/#/table) components on the page. +We will create an organization units page and use PrimeNG's [OrganizationChart](https://primefaces.org/primeng/showcase/#/organizationchart) and [Table](https://primefaces.org/primeng/showcase/#/table) components on the page. TODO: Gif @@ -340,4 +340,4 @@ After adding the table, the final UI looks like this: ## Conclusion -TODO \ No newline at end of file +TODO From 9fb4ad6e6c962d189f2ca568f00e5aaa5b0659db Mon Sep 17 00:00:00 2001 From: maliming Date: Wed, 20 Jan 2021 23:10:16 +0800 Subject: [PATCH 079/217] Allows to customize the English localized text of Identity errors. Resolve #7280 --- .../Identity/AbpIdentityResultExtensions.cs | 43 ++++++++----------- .../Volo.Abp.Identity.Domain.Tests.csproj | 6 +++ .../Identity/AbpIdentityDomainTestModule.cs | 15 +++++++ .../AbpIdentityResultException_Tests.cs | 10 ++++- .../Identity/LocalizationExtensions/en.json | 7 +++ 5 files changed, 54 insertions(+), 27 deletions(-) create mode 100644 modules/identity/test/Volo.Abp.Identity.Domain.Tests/Volo/Abp/Identity/LocalizationExtensions/en.json diff --git a/modules/identity/src/Volo.Abp.Identity.Domain/Microsoft/AspNetCore/Identity/AbpIdentityResultExtensions.cs b/modules/identity/src/Volo.Abp.Identity.Domain/Microsoft/AspNetCore/Identity/AbpIdentityResultExtensions.cs index f71f8f76e9..aa76241ca6 100644 --- a/modules/identity/src/Volo.Abp.Identity.Domain/Microsoft/AspNetCore/Identity/AbpIdentityResultExtensions.cs +++ b/modules/identity/src/Volo.Abp.Identity.Domain/Microsoft/AspNetCore/Identity/AbpIdentityResultExtensions.cs @@ -1,17 +1,18 @@ using System; -using System.Collections; using System.Linq; using System.Collections.Generic; -using System.Globalization; +using System.Resources; using Microsoft.Extensions.Localization; using Volo.Abp.Identity; -using Volo.Abp.Localization; using Volo.Abp.Text.Formatting; namespace Microsoft.AspNetCore.Identity { public static class AbpIdentityResultExtensions { + //TODO: cache? + private static readonly ResourceManager IdentityResourceManager = new ResourceManager("Microsoft.Extensions.Identity.Core.Resources", typeof(UserManager<>).Assembly); + public static void CheckErrors(this IdentityResult identityResult) { if (identityResult.Succeeded) @@ -41,25 +42,19 @@ namespace Microsoft.AspNetCore.Identity } var error = identityResult.Errors.First(); - var key = $"Volo.Abp.Identity:{error.Code}"; + var englishString = IdentityResourceManager.GetString(error.Code); - using (CultureHelper.Use(CultureInfo.GetCultureInfo("en"))) + if (englishString == null) { - var englishLocalizedString = localizer[key]; - - if (englishLocalizedString.ResourceNotFound) - { - return Array.Empty(); - } - - if (FormattedStringValueExtracter.IsMatch(error.Description, englishLocalizedString.Value, - out var values)) - { - return values; - } - return Array.Empty(); } + + if (FormattedStringValueExtracter.IsMatch(error.Description, englishString, out var values)) + { + return values; + } + + return Array.Empty(); } public static string LocalizeErrors(this IdentityResult identityResult, IStringLocalizer localizer) @@ -85,16 +80,12 @@ namespace Microsoft.AspNetCore.Identity if (!localizedString.ResourceNotFound) { - using (CultureHelper.Use(CultureInfo.GetCultureInfo("en"))) + var englishString = IdentityResourceManager.GetString(error.Code); + if (englishString != null) { - var englishLocalizedString = localizer[key]; - if (!englishLocalizedString.ResourceNotFound) + if (FormattedStringValueExtracter.IsMatch(error.Description, englishString, out var values)) { - if (FormattedStringValueExtracter.IsMatch(error.Description, englishLocalizedString.Value, - out var values)) - { - return string.Format(localizedString.Value, values.Cast().ToArray()); - } + return string.Format(localizedString.Value, values.Cast().ToArray()); } } } diff --git a/modules/identity/test/Volo.Abp.Identity.Domain.Tests/Volo.Abp.Identity.Domain.Tests.csproj b/modules/identity/test/Volo.Abp.Identity.Domain.Tests/Volo.Abp.Identity.Domain.Tests.csproj index 1771b68a5c..3413ff430c 100644 --- a/modules/identity/test/Volo.Abp.Identity.Domain.Tests/Volo.Abp.Identity.Domain.Tests.csproj +++ b/modules/identity/test/Volo.Abp.Identity.Domain.Tests/Volo.Abp.Identity.Domain.Tests.csproj @@ -19,6 +19,12 @@ + + + + + + diff --git a/modules/identity/test/Volo.Abp.Identity.Domain.Tests/Volo/Abp/Identity/AbpIdentityDomainTestModule.cs b/modules/identity/test/Volo.Abp.Identity.Domain.Tests/Volo/Abp/Identity/AbpIdentityDomainTestModule.cs index ccfbb85359..a6228a7cd6 100644 --- a/modules/identity/test/Volo.Abp.Identity.Domain.Tests/Volo/Abp/Identity/AbpIdentityDomainTestModule.cs +++ b/modules/identity/test/Volo.Abp.Identity.Domain.Tests/Volo/Abp/Identity/AbpIdentityDomainTestModule.cs @@ -2,9 +2,12 @@ using Volo.Abp.Authorization.Permissions; using Volo.Abp.Domain.Entities.Events.Distributed; using Volo.Abp.Identity.EntityFrameworkCore; +using Volo.Abp.Identity.Localization; +using Volo.Abp.Localization; using Volo.Abp.Modularity; using Volo.Abp.PermissionManagement.Identity; using Volo.Abp.Threading; +using Volo.Abp.VirtualFileSystem; namespace Volo.Abp.Identity { @@ -21,6 +24,18 @@ namespace Volo.Abp.Identity { options.AutoEventSelectors.Add(); }); + + Configure(options => + { + options.FileSets.AddEmbedded(); + }); + + Configure(options => + { + options.Resources + .Get() + .AddVirtualJson("/Volo/Abp/Identity/LocalizationExtensions"); + }); } public override void OnApplicationInitialization(ApplicationInitializationContext context) diff --git a/modules/identity/test/Volo.Abp.Identity.Domain.Tests/Volo/Abp/Identity/AbpIdentityResultException_Tests.cs b/modules/identity/test/Volo.Abp.Identity.Domain.Tests/Volo/Abp/Identity/AbpIdentityResultException_Tests.cs index cc349fd3f3..306ea16c91 100644 --- a/modules/identity/test/Volo.Abp.Identity.Domain.Tests/Volo/Abp/Identity/AbpIdentityResultException_Tests.cs +++ b/modules/identity/test/Volo.Abp.Identity.Domain.Tests/Volo/Abp/Identity/AbpIdentityResultException_Tests.cs @@ -28,10 +28,18 @@ namespace Volo.Abp.Identity using (CultureHelper.Use("tr")) { var localizeMessage = exception.LocalizeMessage(new LocalizationContext(ServiceProvider)); - + localizeMessage.ShouldContain("Şifre en az 6 karakter uzunluğunda olmalı."); localizeMessage.ShouldContain("Şifre en az bir sayı ya da harf olmayan karakter içermeli."); } + + using (CultureHelper.Use("en")) + { + var localizeMessage = exception.LocalizeMessage(new LocalizationContext(ServiceProvider)); + + localizeMessage.ShouldContain("Password length must be greater than 6 characters."); + localizeMessage.ShouldContain("Password must contain at least one non-alphanumeric character."); + } } } } diff --git a/modules/identity/test/Volo.Abp.Identity.Domain.Tests/Volo/Abp/Identity/LocalizationExtensions/en.json b/modules/identity/test/Volo.Abp.Identity.Domain.Tests/Volo/Abp/Identity/LocalizationExtensions/en.json new file mode 100644 index 0000000000..e8f68fb950 --- /dev/null +++ b/modules/identity/test/Volo.Abp.Identity.Domain.Tests/Volo/Abp/Identity/LocalizationExtensions/en.json @@ -0,0 +1,7 @@ +{ + "culture": "en", + "texts": { + "Volo.Abp.Identity:PasswordTooShort": "Password length must be greater than {0} characters.", + "Volo.Abp.Identity:PasswordRequiresNonAlphanumeric": "Password must contain at least one non-alphanumeric character." + } +} From 84fd1ea15896173ac60c3a7bddefa93034467b2e Mon Sep 17 00:00:00 2001 From: Mehmet Erim <34455572+mehmet-erim@users.noreply.github.com> Date: Wed, 20 Jan 2021 18:11:02 +0300 Subject: [PATCH 080/217] Update docs/en/Community-Articles/2021-01-20-How-to-Use-PrimeNG-Components-with-the-ABP-Angular-UI/POST.md Co-authored-by: Bunyamin Coskuner --- .../POST.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/en/Community-Articles/2021-01-20-How-to-Use-PrimeNG-Components-with-the-ABP-Angular-UI/POST.md b/docs/en/Community-Articles/2021-01-20-How-to-Use-PrimeNG-Components-with-the-ABP-Angular-UI/POST.md index 075c5ac898..40a62836f8 100644 --- a/docs/en/Community-Articles/2021-01-20-How-to-Use-PrimeNG-Components-with-the-ABP-Angular-UI/POST.md +++ b/docs/en/Community-Articles/2021-01-20-How-to-Use-PrimeNG-Components-with-the-ABP-Angular-UI/POST.md @@ -8,7 +8,7 @@ We will create an organization units page and use PrimeNG's [OrganizationChart]( TODO: Gif -The UI shown above contains many PrimeNG components. You can reach the source code of this rich UI. Take a look the source code section below. +The UI shown above contains many PrimeNG components. You can reach the source code of this rich UI. Take a look at the source code section below. > This article does not cover any backend code. I used mock data to provide data source to the components. From cbc4356e6580d2c50af5e153e1783934268ab46e Mon Sep 17 00:00:00 2001 From: Arman Ozak Date: Wed, 20 Jan 2021 18:56:57 +0300 Subject: [PATCH 081/217] add createTreeNodeFilterCreator util fn --- .../core/src/lib/tests/tree-utils.spec.ts | 75 ++++++++++++++++++- .../packages/core/src/lib/utils/tree-utils.ts | 21 ++++++ 2 files changed, 93 insertions(+), 3 deletions(-) diff --git a/npm/ng-packs/packages/core/src/lib/tests/tree-utils.spec.ts b/npm/ng-packs/packages/core/src/lib/tests/tree-utils.spec.ts index 6115114872..b4f8721f47 100644 --- a/npm/ng-packs/packages/core/src/lib/tests/tree-utils.spec.ts +++ b/npm/ng-packs/packages/core/src/lib/tests/tree-utils.spec.ts @@ -1,4 +1,9 @@ -import { BaseTreeNode, createTreeFromList, TreeNode } from '../utils/tree-utils'; +import { + BaseTreeNode, + createTreeFromList, + createTreeNodeFilterCreator, + TreeNode, +} from '../utils/tree-utils'; const LIST_1 = [ { id: 1, pid: null }, @@ -38,6 +43,42 @@ const TREE_3 = [ ], }, ]; +const SOURCE_TREE: TreeNode[] = [ + { + id: 1, + pid: null, + isLeaf: false, + name: 'foo', + children: [ + { + id: 2, + pid: 1, + name: 'bar', + isLeaf: false, + children: [{ id: 3, pid: 2, name: 'qux', isLeaf: true, children: [] }], + }, + { id: 4, pid: 1, name: 'baz', isLeaf: true, children: [] }, + { id: 5, pid: 1, name: 'quux', isLeaf: true, children: [] }, + ], + }, +]; +const RESULT_TREE_1 = [ + { id: 3, pid: 2, name: 'qux', isLeaf: true, children: [] }, + { id: 5, pid: 1, name: 'quux', isLeaf: true, children: [] }, +]; +const RESULT_TREE_2 = [{ id: 5, pid: 1, name: 'quux', isLeaf: true, children: [] }]; +const RESULT_TREE_3 = [ + { + id: 2, + pid: 1, + name: 'bar', + isLeaf: false, + children: [{ id: 3, pid: 2, name: 'qux', isLeaf: true, children: [] }], + }, + { id: 4, pid: 1, name: 'baz', isLeaf: true, children: [] }, +]; +const RESULT_TREE_4 = [{ id: 4, pid: 1, name: 'baz', isLeaf: true, children: [] }]; + describe('Tree Utils', () => { describe('createTreeFromList', () => { test.each` @@ -56,6 +97,23 @@ describe('Tree Utils', () => { expect(removeParents(tree)).toEqual(expected); }); }); + + describe('createTreeNodeFilterCreator', () => { + test.each` + search | expected + ${'qu'} | ${RESULT_TREE_1} + ${'quu'} | ${RESULT_TREE_2} + ${'ba'} | ${RESULT_TREE_3} + ${'baz'} | ${RESULT_TREE_4} + `( + 'should return $expected when $search is searched', + ({ search, expected }: TestCreateTreeNodeFilter) => { + const filter = createTreeNodeFilterCreator('name', String)(search); + + expect(filter(SOURCE_TREE)).toEqual(expected); + }, + ); + }); }); function removeParents(tree: TreeNode[]) { @@ -72,6 +130,17 @@ interface TestCreateTreeFromList { } interface Model { - id: 1; - pid: null; + id: number; + pid?: number; +} + +interface TestCreateTreeNodeFilter { + search: string; + expected: TreeNode[]; +} + +interface SearchModel { + id: number; + pid?: number; + name: string; } diff --git a/npm/ng-packs/packages/core/src/lib/utils/tree-utils.ts b/npm/ng-packs/packages/core/src/lib/utils/tree-utils.ts index ba6e3a5b90..8339929718 100644 --- a/npm/ng-packs/packages/core/src/lib/utils/tree-utils.ts +++ b/npm/ng-packs/packages/core/src/lib/utils/tree-utils.ts @@ -54,6 +54,27 @@ export function createMapFromList( return map; } +export function createTreeNodeFilterCreator( + key: keyof T, + mapperFn: (value: any) => string, +) { + return (search: string) => { + const regex = new RegExp('.*' + search + '.*', 'i'); + + return function collectNodes(nodes: TreeNode[], matches = []) { + for (let i = 0; i < nodes.length; i++) { + const node = nodes[i]; + + if (regex.test(mapperFn(node[key]))) matches.push(node); + + if (node.children.length) collectNodes(node.children, matches); + } + + return matches; + }; + }; +} + export type TreeNode = { [K in keyof T]: T[K]; } & { From 5fc956ec1edbfe30e7b7cd0f37e5b12a227e7074 Mon Sep 17 00:00:00 2001 From: Arman Ozak Date: Wed, 20 Jan 2021 18:59:39 +0300 Subject: [PATCH 082/217] use for..of instead of for loop --- npm/ng-packs/packages/core/src/lib/utils/tree-utils.ts | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/npm/ng-packs/packages/core/src/lib/utils/tree-utils.ts b/npm/ng-packs/packages/core/src/lib/utils/tree-utils.ts index 8339929718..235820abd6 100644 --- a/npm/ng-packs/packages/core/src/lib/utils/tree-utils.ts +++ b/npm/ng-packs/packages/core/src/lib/utils/tree-utils.ts @@ -62,9 +62,7 @@ export function createTreeNodeFilterCreator( const regex = new RegExp('.*' + search + '.*', 'i'); return function collectNodes(nodes: TreeNode[], matches = []) { - for (let i = 0; i < nodes.length; i++) { - const node = nodes[i]; - + for (const node of nodes) { if (regex.test(mapperFn(node[key]))) matches.push(node); if (node.children.length) collectNodes(node.children, matches); From 2cfc47ef0a9aee93d2680244f23b775409d1e6c3 Mon Sep 17 00:00:00 2001 From: mehmet-erim Date: Wed, 20 Jan 2021 21:43:26 +0300 Subject: [PATCH 083/217] add introduction gif --- .../POST.md | 2 +- .../intro.gif | Bin 0 -> 1058635 bytes 2 files changed, 1 insertion(+), 1 deletion(-) create mode 100644 docs/en/Community-Articles/2021-01-20-How-to-Use-PrimeNG-Components-with-the-ABP-Angular-UI/intro.gif diff --git a/docs/en/Community-Articles/2021-01-20-How-to-Use-PrimeNG-Components-with-the-ABP-Angular-UI/POST.md b/docs/en/Community-Articles/2021-01-20-How-to-Use-PrimeNG-Components-with-the-ABP-Angular-UI/POST.md index 40a62836f8..1e676bd39e 100644 --- a/docs/en/Community-Articles/2021-01-20-How-to-Use-PrimeNG-Components-with-the-ABP-Angular-UI/POST.md +++ b/docs/en/Community-Articles/2021-01-20-How-to-Use-PrimeNG-Components-with-the-ABP-Angular-UI/POST.md @@ -6,7 +6,7 @@ In this article, we will use components of the [PrimeNG](https://www.primefaces. We will create an organization units page and use PrimeNG's [OrganizationChart](https://primefaces.org/primeng/showcase/#/organizationchart) and [Table](https://primefaces.org/primeng/showcase/#/table) components on the page. -TODO: Gif +![Introduction](intro.gif) The UI shown above contains many PrimeNG components. You can reach the source code of this rich UI. Take a look at the source code section below. diff --git a/docs/en/Community-Articles/2021-01-20-How-to-Use-PrimeNG-Components-with-the-ABP-Angular-UI/intro.gif b/docs/en/Community-Articles/2021-01-20-How-to-Use-PrimeNG-Components-with-the-ABP-Angular-UI/intro.gif new file mode 100644 index 0000000000000000000000000000000000000000..5f96a65422e1887f077ec851f343133b344c65ce GIT binary patch literal 1058635 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%0AGDPcn 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

    &9{B)_97%=`w3UIqOOu6rq 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%0A069UmI}N)~r77HC%!Fk45Fn1+M45 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 z zrJGNr2n`D!rwd#f$k(d-YVlgo6Ck4TOJwr1>IvmF5}oC~neNX``F#+SL`?PL3b=Y^ zc*iR>zfN_x6!dJ3iW?9BJQ;E?&iKI12vtK|IF!KSQ8G#v$Mk*)4W$sQr>?wGBL<+?ec4K$+{XZ zKt=4)aQ>)hTe1jn(`Pm9Md3b&LOj@S^)vet+`n`ggM>`dFB4NK zV{;D1bq>Z~X&+J|7?rX^O3osuO|bI;#7rakOl`V|CdpvAGEMem=uXd4-$*7NU+4KS z#XnxgS}o|CBj^-E_y88fW5^xf5Io-c8B~?xzH-2N0CbGZ0Ene?T&_9Evq+pwBS5+_ z=d8eNsvrE+$=OuWsluJC7;6AXST9W^%lqEkBRu6JOr*m7GSGySf-lRMpB1)rJnafk zv1S6l&{1)6A|4bFwe<+uJv!MGU&I%y^P&Rx>NJd~PmY{-vf^jNQ@>SbXHuum&87R9 z{dWk^TdwjQoaAgu#iN` zN>R*hzaXsMz_rMa!w1t-E|D@+DZ(e;2<}s+1=DYi9>{2qr=7oZ_+2FwvxB_{$MLMRPv%Uxe*GDH&>S_91E2Pb_aA8Bx9DN$;OH zNbahq|Gs(#Gkody_M=?&Shdk|qmYjEpOdH#kNS(>gTHH{561F;&pY2ed-Kr$!KBsu z<1}XO`aTFAy&I=#@qaGqF-QH61|eaYx+-z%J`c%zxs*R2r9N~db=inb{TKE2gM=65%!UW|9h@F)6&iYULYD9{|AS8rK3;T=lOTT34pLs#p*=?W0)d6KWfa-Snr@ zR7avd%}$q``b||irn!KcmI(jJErx|wC8u%>uREwXYTE;M3QTKiltXo^@Um~!KP%a| zBxp{&zU8Si`d#ASi^i>D_nnmxglC|}%(RzBv`lS9Y|OHZUqHt;?BGb*i4nqtjehR2 zGvseYEUnMy-K(tl{}#tB<1Dk?16&5vIhMIcv%_x3DNVcG7WGglz*pQ=J$1EIIqg(U z-qE9Xs>`mtS+&fMX{)O$XufvOFaOHWJ;!{lQ|f+MLv5dK)n`xARYr}ELUp=FyvR)= z4vK3n4<8TRYS6QIqj4~&86j);{$03+6Eip)R{N*EXXWwNv29PUpM>sQg1`qA)n|sL zAekF{0q5EqX>0NQzMsy`nIDEw&4^)JJy@qJsI*Lk2NMUP)xSATuS&-_ z;cK;;h7FV6p6#gQYn1CvssDGQY54cAZ=Pd;A#-O(z1$L8I5IiA(azd?r5T*ngW#A! z>d8@WuQzvZXqJ)RLuv+Mzbl=70puSmSjf?T*Sc7sf7y-2mp}S+`Rd_@;^GnW>5s=I zTQZ-nR2K)ft+*K4n%&`(fj zQ~*3dYB~tSE4A#3;}g<8ieW26>q<9R8wo{k1HP4~SPUT@FV0>M{OWwT8@WKpH0|L@ zoP5!=A~2~TD6Ne9Ng1$K z)+@|j!r*e`vz_tWTIrWh zCWe`PnZAASpY9cYa>WUk-ROcdDf$%)sQo5;QPS8d{Tr+P`_0~d8av;mU%6GW-(v05 zc*27I&EIqT4}R_}KWycBo%YOr=iIF)cFG1UZ~)#~ag~#4Wl$w`18=JtK9Lh_P^~bJ zw>Mk$NIqwK{U1u*!6|&QxTr-F6rk#KY<2Q#m-pq@HtH@Bj#DJ4CoAI{-YsEu>ZX8U zot2V?M^5;3^{PR#K%T1QedJWFmEm2_yjAC`ZKI{GhWC!nYaE^tb-LGAcs)Q#^T=@c z%Pu8oJ-K)F$lKMIPr4qt0849J*0McIO${3^&TAg;|83VU@S{QSM8t9Nh}Yd3MQPzO zAzq`Iulucxnj?1ktHCaK-@#y`hvlC!Cp687W>H2hRZ5?CO%(^&Raek?`wm1LTRW;? za!a%B#{EOlj;~)W7(Hoqxpz`LKCk7IQES(}s546w$E2mU(WC(F*z0R^AFcjto4j$_ zelt3cfj*zSwbEx;7oGPt<-cbON;(&YBi?t_1;{Bh6 z|6cr_*Gc-iHXqfph^CHcvndf=K^5apa3CR7ah)q-ZQLbQNl4d>u=XT{MT(V7E`HzV=eNd*`mq##drEQ|EzyJBxuS>K^w5dqgJd{OeeAf4XPDC zuh?6gP8L-f+|rEt

    5$RsPPPb`L@7mTEd(g*Lq76t(JAZ8~!|(D2@|&#Q;KOMJ$M}3K{Hk)4!{IC7(=P&2G&E9QQ{`Y(>>TANH+56w` z&eN+`z9tEpa|JNQo#LnI8>uShJn(VjZpAMfnbzhDQa4){enoBOgqSZXyf^N@lgBGa zHD6N3m<&3d-YTv(U)GSj(0|O8TiR{@LGPx?XvFDn*B2{3XumfZPx$ifrl7@&6~=TT z=k#{9ip8hbw~eQ+f7!0JwpjJNX*zT7^!Iy;iRf=^(^u_ZzCTE{SP#aS&9WNe?u!Tk za63XEFaQA1G6!4%pafn30it{WP!vUK+%p+Or8WEq8d=?$a23Z2Qd3oLj{E^Bby3yo z{sOFZHp-#7X0RCVb=QBenJfvg4T6-+Hs2n-ZXCNhH~6r2JlFLySjn-aZlao0e79Z= zUes{nZi@O1$47T(?)g15Ez#iQy?hYVovq~ba_NfO-J!by!;kO3z1JpmJHUt`uLU>- zY`if1D2jQO8aj0E0rfvin_9ge#q&HZRwkX0HP_YWk&Uwv}|WfN7uf zq>j$Lz|poxqslrrpQ(1KPzv(^^Z{WBV%FMwcB=T*Ul&?87YB+pkB>cj`t2j9+Uch2 z^S1A6uOCLdAA8>Z^DDPIhmUdVc((Ix1^L5iyyN+wpBszAH{D)z{QdLm+uHl_7ccmH zfH0n$EF??e(nQtjxG4~$6>cir4$n(N_)>W3@?mwn4Ai+5UM4mJzd%>LLRrYd->zH8 z)_T0MkVELhFXkG&q%7tcf2do`H~+D+STNWre4R){%t{`!)!->IoS`i}g^4@dmr}h* z?-Rwdy=>$a|Bmls0OKA&sCtLfeTgOeW_pK`$N=Qd07ZR{4FoZ%IDjH)`tyle)Iwe42WgSk+O`@AWsonBrpREdot@j@%UuUYrXVj{>91l_mi&(T)xwV07~c6#So6N)1?T} zozrEc3g6jEypi+SYO-zF*;@LuowIfH;kfgSoFwP-&4T>0^R1Hlo%3%MU3?eYH51Mk z-y7D;E_Obg>|Fe4!M%04yFo2D#C8b%1e3rN00A5TdG_Vu$7K-WXk1^GsR!$owGXM(EjG}F65Vttv!&rt0Q=exmh!Yt@@uxbZ0&9DSSDvOj-l;}Jj55M-? zQs$)Ddut5tV0crK!=}U3aepH}0;rIO-uGryCl0_{pYa!%9Yz|vw942z;Q(kNdqo!m z3V*LiinXudYu5_nJOI7o@$OVRT@ov+VO4mF(Lk6%=^-7>U0hai2a?#tz-;yeRdsCEK4rr$s-BDjjg(~~pu{~- ztiMqESRd9Gs z&qN!|aYcw$i6v$4WT(V&B{H(annPo%$Mm==xxd6lw0BA}*Prh5eHs7e= zW_X3a;(Ln1eHke)GjzAIY<=npIkqE1`K#Pdm}Tk4Q!E+)0uzYZV2`M473XA7%-bmi zBQo zuW6L+aMO88`QEC?`?H;Xm#FIWb_}f$Fy>ed{t8XMDI<@TgmA~W(oG!xxR0D5l@I2v zI?nvGxTIF_ne*|6f!eZX{ofv3oKLh6*Hr{-ZClb_Oro^ws*?J*Z6q(IhN9|f^0mG@ z+`E{b9H^_S@Bi-n{9hBnH9-5|-!MQC(G2Z#1v;8-?;bMxtE5aypFfFgPX zApg%J02gUDs`8&k0G>$@JemsRQIf7!{a+)1{!;W?xc}cq09YxWCV2!E?|s#5^*=@c zoJ{-|0ky>wzea%7jU0o*O1sftBY+*hZv_CQr6Sxi0i36|=FlU+!@zrY>=LGOD#!p) z90~iX&z)bpkSrR?G|SzCH~HhiFRF45V*7Q%YF-F7)@+UzXkjwV`PalU$|l+2WaOx5 zBmpw{^ZoDZe*{#&CScV5@V^)V28|feBfx0!!~dU008S7~6!^UGT=wK@mnC z5Mgc))(bseE>I=)p38|3!uA8h0$_e%mJiq5^0*~!5<_5s)givH;LbXWePK|-2Dqb* z`({bUT2XPCqQKOf>eeVW$C56?UY_b3P=V$%z5xk-ncJBsB?Va4^K4YXNE71f%cUv;>HK7Ic08}0qXYlApJGc}e(S#aF>E5OU zAtFB0J=+#g)eV%gz0a5=H6(kLQ}R@ny7ZY1z2sm(>SX(15RS`x zIHXAV_;6U2qZG{zEVc{ho-Q0jkLt{XLT*=Hy6MRLGLx55r27F3 zm;GpIf$X_l*;7`smbpYt^e}J=zIHpo&2t$&nm5qCAHfop4kNsM4SjGby$p`)#fv*s zs9l!W0l{UCCl$2#-XCU*uj&6hIKI7%96%p>zYuEJ`nMxM2j!E?Jrqaz<$j;&kIRE0 zm0MSbV@6M|jwWr(ua0M*{kS?=2)_06bS3G@&$EsE@}KA1^*?@I>~`I{zC4`xJpz

    MF8^02(ar%)t7-IifSeH*+q{4nc%;T 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 z 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⁢R-F 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°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

    lDk_qhym1MFfM;!6NdqtOi>eo~B%Xcr#4~2S&yl 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�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

    9wP~wipsVs5f0LQNxg=VLp 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%0A1{8WPvBHG(*PmRFd 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

    Yz6DB_f_}l|rTJ zM&sc|)5AvlyhgggXX2OGV+xsWRNNnKeJjy+ZNFjhdO0IjLxo00nILgirLC5s zy-uRt<9c(0Tl+_bPh|{k+QV&a3L#JR%K1xkfur`dQzfe zS|Z8ExMQBDvUM1pgGFPKI@TCEHzYc@9uzLA(vBK;Vyin3hdYnm3QC93<*HF{^52uV zW5|**p!XQc5e)Sa26CZ`MzV|6r0a}(7hQ7Kx%XY~>f6&Q(P<2{*^6Cg=)0$UPKmii zoRIvqZydF|*3EyRM?kVi2xrnG;@%^g+#~+JM`EN0dej5I&?_z3D{Im#@7}AJ+^hV) zS2?+x`$B7*aa)Q+pRP%to_n8ua-ZS*KI4%-(}&Hol;tu~;4J{?k?+POeZKep^MebW z^G2TuLO(y0>~}EffA+q0SAzDgd%xRAzsFJkVp9L5k#0|u0YCSFfaK82lC7@E17Sx4 z2(^AMDq5BcgE8)dacZ4kC>sfr2UCs)k-Y6uN2gE>Lz(VF*{{)>=nnhjp@O5K!q-W` zk^?IYUrOD-l$%85p}UilztkLkDW&ROH2P9>iiVDDfd}sQYmH$Z#C*XM&aCZpo2= z5s51FfNoRQ(EE|$k&#i{(a89P(MieCX_HZ^P;kE;?GA!^oWHn#ZFKFz*oNfTmdV(T z``BLc820_x;mFwW(HOuuP5>PzG94%J7$-{^2i1&IhK+yWr&=)UzVr}0?AC2?aboK( z_*~5d!{`L#@dPvD~LE7we`j!vr|Pir#HXhUaoO=t8xX7p2L3~OeLM`uir zXUrI9&7rfFrn6Qav(_oI_iAPzjLzB~&)PB0*+b_XOy{0?%sHjZxzx=wTZ+b4Vt#?PZmn5vA6@P^UdAx4bVFBqO;|`5M`)HPDAO z%CR+S+!};wod&i}du#p7^L4sc>jni&44vyk)L>>X_`=va6Vt|TB|rclh`jMn6Zi2O z+UPFUHUC81$48&(i&%dU_rC)($%iO^U7un2nDdtvLdx&BWwZ2ttPqOO|L~o-XOMfl z^B3Y?w9VN618m?wBkujn0+GM-1->t6`+G7 zPrytHZpzia0%rcQpzS|J+}~Ug)P(WRm2^V)DYrDxq9endu&n%gaHrU|3{{sz#3cw? zu?^MP0c@pf^oY$2gL`z_rZs-ku1I_`$koCF>9x+=dh&%MzPNbEuAl0qu+A5%Zo0ey zoIuGa<3+-9MSSzFMG$)^xhHP{c3!vj@}(EMf{B?^n6dR zyu4S^I&95Ck>u2dLdceukT<2$r8aw!z%6x&CTp^<1T8VHaR|XGvsZAD=971Zry(3- z!~lMwwen{LhLc6oH?<#AaJ#Y619*V_5c4Y~Xryu#GDEi6uEY-^bFPqS1^yjfdEUEyQy*hrCVIFD$jh7Lszq3Y+S7>8;%J6=K_(x zY-sxnPQ#xDBL6X`;paf)_G`P)p8}D2rn{}b1|mr>XFKC1lQTa4=4V|$HVS<94pU1t zXQKeu8U6@FR%z9%pYeSqdE5G;kpU(~uOy3&_wLQMUjmVG&DQ4=4TtV)@04aX^4_y( z`!b5%DXVo~dT`3fXmU~SU4@#h-H$+|+|jb#WlzOMcc7lhu635SzwmvqJx zvh9UKvDN#TP=b%nnov+!jFrsMmIa5DLuve+7IB?(Ce&lLhZT5%Wq~A;Qw3=vsg#0F zqT;k%A~Wyd`3C%VzOS%LnX}H3O6Kl|-F7yFWTwp$_jD@!b~5?js>c5_%MG2Qp;%G; zWYQv~^p94@{UBLvzTzjdsS*rA`x$A>dk0W3`yHuiAIAQt^oT^2L;9B9$!|< zj;p`eR#TA==T}~Re83A3o*%ZYnEn4)I`?>{zxa>OW*f5`A-9^Hq{0-dlukMF$!ykNBwR$9Yx3Zpt zW*?krk=KK-bGW*iB8|KN4Q`YD&vYGtHb+zfUcvvl07{Oc9nns^)59gl_jhuY1d2RUmgsisR zAEwU@hx-?-Lh71F(W4Cg!&GE>8S1L z@TsL?>t8oqwMd}+@tBdBbi~%715U>`PJferIthNG6|p7~WqcU0~(Zr{-!{gU<3L_!!VcNean|N%dOQi!@PQK#HP*d}e%Om++%qsG-4Z>ZfBu z-W@u9pWC=#z`n*lL=q6?+JIta=(4Y7l3_f#NK~xnyzB&!AvX6Nz*iDpI{+A zM|~8*?3CDP;m0P7f;AR^qOPnirR{8}u4UJGuZ5CP%N%f^K)KL38YsmYyqS3&4RdC) zO$SPoea5>*SR2Vi-|W{|$1=GL3|-N*Su~#NE!9OJ>gOcv7foFU^~JzW$^}^=VVx4Y zfEt`k+s#-NZxH|>$>mEThbu1 z`Ox_Ri@9m4pbKwXv4&@xth|I4ies6JIv%jrY;H|OIr+#8?%EvmG0%ut@In4bD!sa= z2Eqb32Q_^qEgoW$v=bCz+mlu@3!^ZH;c?-=%N8N;gOfA|X2C49jXHdm;lTe`2=l5} z$Yr)Yce++-EzVq#9h?+jq#!bG+bf_I?5e>e%B`R+M7dlbiL5A=u?+gXk@z3BhX$!% zhR$S$)GGOPg0+$?f)3@w2$nwAezCgfAG7&28au&7lYMG3qXJHzK5~9&u$WIUKP$vS zG&4a3%i5TAWzO-}xAdzuO5HqTktkKhQNiZMzyJn7L}h?E{-1mraZmB!(q6x^LShQV z;5$zSct%1;a<1Nui|ZM>Vy&SP468mP9~I)s-(1B^3-+9A$(;GFfZRi!mr)S6zG9Az zh)s)Eq6-~o^Tj^y6~vPqM3n?&7uheR*UIEYJC0f6MaRIW*H3X! zuhL)w(lEp)^E~>o?3%_^Ae zT!%(vW55UZ&A^~l1<=OraQK!`_a+cYKW-UO`Po&T-E}2Zk`^c8@&{n2g z=HTk9GxFgobk*L7(JU8q?%Oe_SdLHv@$wm|GC;3>*xHCIGq(S?ZLj746*lv#OspQ23+Xs~Aq9-0E9fq*diL>`8?$r(+KlQR}c zA%N-=A0*e)x==1~kB0N>!l8nt!l8tAQ`85jk!!d}ry~8Zf;>Vi7af-k;Fp@_2)=je zJm^6#mD-BP{WHoD4(4`gZri2V?asc;%;(4cmj7k@F#5k4H-4!d>Nm}*tOGGEeX=;G zG}|7a?A4#3!vlo0|0uH}Hj~LR|2o0J%sDQJYAKyIntcDyr1W)c3QtU?Gns;Y3v0*F zjU> z!Py(pLmPZCIKiKy&|4g^3(@eVo=i0wRx|@UT<#?>3VXz{y23}TXrU#t__;OO#ZXdV(m+F0a2 zGW;JE!DgDg;X<+ju&Vp02@I^4i>PW6TCNkSR`KYeE$!}co!aHh+WcIV zMBP$<{PyM%G{_+MK=z(buG~p&c7*8Crar&7cF4SD%p2{MoTFxfc@#+l-!1K^EwgQf zqot?NK88An8Zs$?xUG=e4uU$@C52-^I*EafEZ^MIhPOY`bXoIvY-Z z13GX4pWK7NdP3%o>Wh~#t(xJpmjxBIUUi)Sc^9$@BwpneX4V%z9F*8kYorO^eRAe* zv*1B!)LrH81%BD6Z47EZs?lXw)UzMeh$Pgex}uAp9IZ<9-_)Wk;=P{D1!*HppopDz?=c(7M+ zs5uN`hzxHmgufvmBMWQV_H!E34?0#Vay_cNf~#xo5ksW?rw{v>@Rqcy7r!5Jr5=q* zRms>F%h=!VEW~-3KP0N7#u6S5wLNScg3seBh|$Oq`}<$0$mNUdFVl~LJc_@;*jq-A z9HWtSskL9EP~SQ1uhX^mE2YwDRXQ1c{i$g2 z4^r%H3{uzf!4MbT&3rgimw|f!*t`Y>xLY?-gCt2e?OTSyVOraSrX4bBo%Ljmg_MeZ z)LK))DbV?eZdjQ?F3up=6Og-P)Xs1A7Xs=hSM!QA%DKJX?o#t!4RU)L`E{d4f{t== zczhzJd25Ck|CQ+c6?xj>NrF0xM{OdVZ8&pFXC*=BR|0Y!z<$?&oS>n;5>S&s)H(pQ zOlt57&p8v5vq?qfZ8u4+G)vASPrXlH#2ks0zR62KZfvw(deG?7wr{i|J~H7iBH#;y zk5|#nj%_ta`G@}oo=HogUJ)L2v*2>JjaCj1ZVWs&zldV(?|-`qwYyXlp|EMC4*3<+ z@+Ai4Y>fH_Xj)7Np<$8VjZtfVP?m4gWn)l}-XjP6P`@zG{iU9U@(XmZP*49Lzi~Q- zW?o!<&;F8t>S95!V2F7$cX!E8zmqypcTqAQn%5FgYa8Uj4Id#_%Lk&wSV!?$J7_TcHuybL zXa%?bkL=pzz`rw5BL>Kyb%-|@q@4k>=03QL9Cj9h>?NZX)DY9?-f;|~og?I0ceRoL zS>V{Tk{=9W5OW)q!43#d0PR0bEIdEszEM z&_Zrp<4h)BI~BD<2CL#wECQsI!#|2cZL&ICRuI3@s3H;}ndv!P0#KM`oyxvrjct%0#0)G4MqN7@i-_vINVCfsK2F>{wt=0O}4G z9KeEauuyKC^S?Ka+hL$o|9wzNNS6in!=W-cQ-fTv2LPNHF1X)`3ap88CBxe};2|cz z7ZVnm@Vc5h{(A3~Mf4*J3~U#GY$X$1nQ{B1jC?QL+X&gv804-h#Vn8gSzhlzZoiw79OX+4Vo(Y0?Ikw+=f9=(CB7+N_yh*)77Ce8!={E<=2JAyf;2g_q zuh6H8m@rQqYM5p2H~}92EVLNLUq*n8aeaF^;2rYQ3p|e=i#o^aOt>x;b>14LMTVEG zc6?_x40y5Yv2a%c=n?tTlqJ%O0P|y_0#rZ>YlD3_Aqy^ygcIDkO?Wa9<{&O)G4nPB zm%7UWf4dj97PdrqYZ;gDLh9z1sG+C41W0?G(A2nb0@}o*LSBE>iqD>A$QQ= zQNmI-PUsB_yf_0bu0rh-Ua;YLr;G3WGmz6b*h9|1LmUi!bAdFp01KWtR)6%>j@Gd8 z;@uDMQVjGhZt~1Ic$dtJ^CR&6UN?q3W=J(vAe*`mdI|31D@{>>4LazaJyUGO3RFz0zHm)fqUSPyF$+j zOxXwSMf76$Psj;Y&Y(i}Q76vfYAQb)0BaxzUoD1pMF?md67-x2-Syw@%Y%iG1^Xw! z9USntgzY1uu!%5O9|1z=Z@T!n@-rEA#j2Z)K@Q=OU+b1?S!eQn!L=K~Gj9lD+qz+_ z%M!5elxRL{Y%Y{o7bBZv~cKDA4>SZOubD0HSPbSBcDyTaH)nXpU&p=f< z8`*##ORQE>O$Ue9iWE8VU7RO0PhE&v+pw2eT(7=-q>CP46En3PSWf|^lo+OWKKwsvyOyTx3YI6u!H^$Qo=Ok-;^$#b;9)6#L7 z+}+ubq1R@HY!n%L>)veYmuHxp{fb(7VG?^QlmA&rbX3nDLazN>hdH_$&rfiC>D3+A%a*q~b zXImql$zt1Ay&lrm=#uGGn8n)F+Lp4IvuyZzr^oke%@>eH67gU-=eI3e>?oB&&*zHC0sXr;I;dAq8ve6sg zFUWxp`cci}_ol360V?b|3!%e3I3nWc0@Wg>c2KnwV)H@OJStX-R7^?Jp-A|@n}2!7 zn}WBNxdur`0nRxYg7c$n4Z-)W*aj<0QP?*w?@EwTXwh7DBiCWxeZy88RV&$@|jR)^#c*V~09F=UG*1 z^&h$zsa9DOMVU=H7&~mIoEuPK2|X0)!snkKoQSt6@y6X)l)aX(Ln)5R&DPJ0O6T*x z6Fha>T8_^6Vr>xBy{B7TJ*R%ZXM-{_aQG#Pl|UO2zfMvb7bQg9DcaTT}U z&&%ysH`*a+qa<#@?z2YJfOl};;qn_4iE}ptDU~G~YKW3Z+4Kv=aht8slBl`hLiO^` z*{!_F(9|89d!V=37Yt$nOb^+zExz`9k9&)+PCndJLjW4yJKMCx)UMlHY5%sPc?e)% zZnGK#u!WXH?2LSt0f;0S$%d`}s-yzOXO+bRBMTo%lB7<5{yL0e+mwv(MnA8_?2ArU zo-ukE#f9(fROO;)`aTyIalK*$GYyg8a%=U5ag_6gyD`5mf<;rh57zlAg!iX97>RdIc{lJo#@h zP1#JpS(vCzod4~pBpM#pE%Ep6D9&98v4t4Tis$#kfWO>^!<>^KIb-Fh8)U03Yw77iFTAG?jG0WYO?M^gBK5K>DO)Ty0Tz$dN`DUu=g)6nu+$1e#O`ih2c8PBKGNo#86lbsZwk1fujZW7 zhO#WsEVwcL#W}Be{Qlt|*f=Se-u1j(_BK)NhAZr3@y>XqS#srM$i*j&Y1cA?kDpCH zSj$!DzpXxze9`s3(Wx4@w>77GFS<3govMv^``|qIl6$X_+mpPv4=)`0I-u!svi$b} z7XBmDuutc7+q<{5*Lp9V`_Xo~W9RMTc<^O1*x0>G{9PTx>avemyL+GhyZWpvt31b( zu;FHF(Q1|>_ZYtY%t*w$h7$0V04rmUvAlPUl~z|So@)1a*Zi*Oaq^YR{>Epg-@R*Y zikmX+Ju`LvT*M<3Fo>FL>^Ubs(b8`f6mq-Wb4h=q^>uPk*nMNK6}O4DiQb@yruL7k zDX#3!g*DuND_)y<6VE0>GRn)6O`x$USFYLc>vH|+Fe*TFt&%8_T@L%Qzy+C*xqm5GnYoyi_m z>)^Dh74H+pVb4*zlb7wwvqUE*`;PVnXNEuXEnCm)En+W|o=f{KS34M3ECuJ><~{RM zIXX26_xPT**nj@KRQkY@yNm4IQ8n)9?%;XIRurOwrNfAN?yucY;QWxR_B4BlCDUNG z&6jENJN@?VaApr2=9oWSP}=ZMB3 z%%O$t;Uw57l85>Gwe>3%v|dq62z_eIQX+{m>~G3{?RGy)8SzWwa868$dxGCzRNX1Cg0 z)pzV~%%UEpH9h{c)LEh3>B)Z#L$-YS`FtO#`CUkc@1gTl#`~fi*(Y6_&R@ijfOHrJ zJzDvr>%jsa<}33pm7Ge~`h*dp9jQ^;`Ob%2Qh$H!o{9)8l!tkzmIVt??&3UjisJ5A z*H-a;92Ckt5^q~>H0mCeeks$J=Flyi-O_hN`@*-_I|57JQ%v-BebO5$?*%;Kp46or zC>v6(3VSmXF%KPX4sz@g`Mle&Z84e^PNf}~A{(ko>D-LRb_?Ix=reN)PIYhLJrj$g z#^@;s3qJi;hGL;d)TGSQu9Zle5POaJ&;QG^Xn zUNj%wckkxxwZjcsuslq!_WEe%rB$tnE><6-XS5|AJtxXbWhkKXBMj8W&5 zcyx-1ZL%Q&!LL}T9gui^5*mYsQg@-GfTXeflxtO)A*__K76yfd(7-VEYwxCVsnbFY z@hqSV3F(WW7hw^nEI1Jool@%gD*=$%RPd-k*Qb-v7t)LnEP^UwK6eQcvdfU$gHkuz z~8eG?GD*okR*Y zHCaib9VD8fgoS9$WSFETdsQKlFIb`(`YO;#$CR7@X9VYfN2@93%)V{4c&zb zu^+F^n<5ewmp5A?$=SwfDYgduz8heNcEtm(60^%dZ;X^PnpV$bcvAUEsbH;TpgikY zJjOHv3(-i066s&PK=TQpA54Wf zuz(uNDMT(!$sjp06*O!M7HQ!(GvM>)@aqylst=DKzt%#{`{PMaUlyNk0uX=(>(0<9 z0sLBMn!7=AuqS`)zVPYJABmx#ZAr2tr1M-^G|goo9t{i>u+YY(_%HDL;%?ZYA-Vx{ zdwIGh+4Q^#p9==`p)ToZcin&TQ1xAC$TIDeJg9fzm=Lg0{6di)Gni<=jUq5E);#%k7%rQQi+CjI52>;@$0r8v2-mPj3@ZF~O` ztu<<(z&ilqNJzxa040Bw$nm#mCIGPkV5iii>ydDW)MPt@Wb6RcDc|nAC{2HW=60sj z7Cn42fX|tlWLHP?97ya)wH}W|7d{wt_vGK7&R8-nRv=lUGwI3Ft|Ly}p$5eis4Tj7HgEj+nqVgNMTiXC2>HzSvYU2|NfhWji6Cvz9k@UP zKY^uTh-3n=Pf&SINjnb5h#biJ@)Z@{*)ug$OC5ULWYYFQ{V{M)Qd!b8)E(l_RXpZn zrSS)<%O!lFwtEsl$6BC|6hR*^IlkD1h7mx+9|%rpaGoXIj+E(Y2Y$iIOw+}cnS;~` zAS@HY!%sp_wjS)%!WHBG&%>+3B zz*aL!`FqgwOnQ7O7(WRDVC&+U4D2rB5*HXpN||5-FO$;uOCXX2LmSZkQ37(>Ao)JY ze3l9(MfTZo84fc^-ne|MyKux8dJw?GW+v%rgMN9G^WR;tVyOAAIZK%)G+N_uW3FWE znO@t0L?V-Zmi*LM*DXOh)mC6Q*mtlngYwSW@@{`5_l1^?gLK1*i>S#RMR9awa z@&SUi69KA)9(LcLyH=g@ZqVgZEc9Uk$Cw~T0w~@#*`Xy_rUimG;MZWCDhZ?q)BzpQ zC$uLINRr=PTNqjm)ot#Cs#BBdu_@Sl{LXbkSi*@|b5O@Fbd?2kicGu|KzHTvpG@WV zB=^OU++X01+fczy0$`hgWFi3kC5+!8Ajy_VKQ;gi4B!t-09IX2bV%i#zI6JRkN)|~ zbnO-yUydCK1FFR6R%Y;P;GjCp<1VQws13TEgmDv{W@k$a0Dv`cf>%?4qz&SEG>ycf znZJb!%XlxG8;SwDv_NCHCV>)+OI4z3u_Y98Zagj} zb~4!wmlB6d(e6#6Ofs(IL*iM_0s+wY)MVEdM&KkQkOTGmVVumL5X&(MG=QEIhSd5& zVm_P_PZ?TCJ$Lq=@i@A9Trv3~`Iy2eBWNHQEx!NmJykf^A7J4kaW0VDK8A%jOHBX! z`}jIeB6NU}mN{Ii9gHUe?Im?lwGwOZ= zF$+eft!Bu&wsK$3{R=HR{VcUxY_BuZjayDu7#{m~M5IAii2@-B`O$F^1_!L0@u1$M#)FP`^=D+5$xkdQs@(=H(K1pcIamYn?sC&b5?#`DI$i)&Tz36rQ z!@ic*^e_3%OkL~17YOC?1pP7jMOMX1P4h+8(uK9JxceRGsPMQ3Vkt?koAKO$` zd)!ug|LJx(eSINoB6fRquwr$ndG%%A>M%t+=#Q4p`qvno+uUMc@~^w^b=TfluZ_E{ zy``+Zi&&dTS(}u7G#b=2HUk0d-tDMBbAzmS)6Keqz|tA<^;wnmIsNr{>-7b<^+n41 zQpEb_l=bDj^)D6cE6wX)`_@UWW&!O<(!;WB(<1@(MIweUAq1e1B& z=)2U@@6snqMNgEYt_E*8QKhazui1)I(a;bBs6_vFrPG_r|G^Gj!#1sc2cF*8MKdT8 zOFp(KmoQMt3!Ba1e7LU_Ll{&hC^kRV4-SB8@E%q7wDfw!!$hCOi3)0%)O8Qlvb6PQpIoz%}1x$b*B-PQGNr78#ew+tK;b zDQQ2W$+8cwm1y!aekG3+Z(XY@ctNc1EhMYNQe)mk$<%j3&$r0LFoTso!x-__Hdsjc zAVa?%S{W!+oO&qxs#MnOP{OQDconpU8clx!C1D7yf23mF_m>7_lE0m@vbT$tj%q3N zBM-ZB8TK`d&hL983~65dcZsH>kv7bf@G3?)Ng;}>Id}R`_;QNLRz3lUxLB982NI2y zfI8sJ&ta16(2UTQB*Ou4OiOWS3zzpEY%!CxU&A}NC!LlojWYl{0{~$hsAulal?y3e z1C9>3l$aR_YoI{*%EF*V<+p>4=U}CFK=H?(?WrQFF6?|{$%{Ctqah!bU;n2c1+dQ1 z4BS*2%2hx8L?-Z?M@N?Kg^>?;oX;8E;O|${qdauS@3Sz2`J#^|PXw+^3!41An!|Ln zBLvTlXPs$?U1-*6?|=CI7@&864{h^k>cvSf?&5SxZ9z-SZf;<=&H8yIU3Ng@@6(R& zpI=!UxzcV^J88yqiLATQU{j~CFmT|_y#^aAQC0QbKFOO0uX;8_zGu(2Poz&j5B``x ztC45u=7d@foOUpJ|S&AF4iJJ#x+{e4c#-lyJ3BC-98Uh>^qJ z2(r}|04_sJN#ItN!D8;#IDdOO$VxMf3AC4fBqM*^==}@`CKz1@>Q(b(cG<~15(pkK zoKN5SPtdhzzkQ0NLC$N_B1bN4zoE;Vh4$|vIwt2ub@?f!Y)6qnY+gV&(%7y!)Y%#z z7RCYRo|=JWR!A)3I?}-}ILf{6I&fo&)w3T+dNwsA_(sc!hHS>@&6? zBB<6L*4e9Fretn)@Qk0clag1XJW|S&%d}TgTF@O-BZUcDnXs6n$vQuGeFas&Ftcw~ zosm$q(R*g_1aXkGItoL0`tgmJKs?T5qszt>5qcqE!Z&cvRCBNtzQ+P4>9#wUDyEwd zVh<@Z0D?vHZ0UXVyE4BtS{GOHGQ|%sh&U+qrNiv8N=y+uQ4)2oR*ba^?0vE|5Ddd! zFB-FvW9`xV)IzA8gGT~b-h)Si!@TWuY?ypj_$Y~a+k*kQTO%e6Shj;sd9kjbU}fs1 z+N-=TA8rk6-|X4UGBeriN>+Hrwn)LUF5eo~?_vfcUj5k(NmHEfnR~6|q7Q-}T;AJ4 znerrj2IQAnZ;};n?J7DRWH5EZwL^FHv|lc`e91U6Z`%d?@X)sGxXGuUlgc#rvZy5+ z`8Y$BnMB4Jigip$b%o^$fKYtmRf|aPy;qTX>AI2X-Kr%UxxQBVi-3(2ifoq74Mjiq zkQ;cr)i)4TQX>$I^%OX8Q@#tkc|yAWkFPD3M9{FYzQZMh5yPt?L;e9cJ*;Zx?kyoT zuRWr*`i07SPNrRc=5*{1Qz0$FbN4{9PMM`ky2qVub9+56QhBmzNP-LU;Bu%!kHLQ5 zuR?vEU8aq-M&p4SA4iznjAlXI&~^I39CH|JvWf(%SKyN zT6(7svn>QztS+-nfR;CVj^4nvF=TP!E(Tq~aWg%_k>(JI^~dp?Y=+su%uO!?+JU(M zI*w_Tb|94ogE;gG&Lw0n-Jg@ICRv(3%;zt=H^(27U#94j4Kuu4j))Yr(v;CT=IyB= z2bi(Y+)31zQyG;0#O-@8+Lh*<4m$K7=jL(s@|rq?W2_@+ZD4Sow_rLJk7c7-)7=S8YooLoF4cmr8Dp=DF@KT{_;(Tpx?yo(+)Is$LfpDoRE73EU zURh)_!o|JpQc6pbVyrV#7uyZv1t3kAIfD39AZ(`22KA-t#7AZ~YzELPh?9rm$z?)a zfMPjHr@iAY-+=(zUipo#8@2&2MLd~A9i%ygT`DimVx~Mq3JYrWblvHzPr??`hq0@3 za*Kp+1KiurlS~Eip3>K*i6&RmQkEdG`aU z0vlZJ7nVsB)V?fq$Pm*j?<1Vyo85`>v`v;g7_93=@)s#x?icBo@3eIC>w9qsVEwJo8BSgR%Wx7rlxl8%Fnn_QD1Uvq=a*?Aw>=A) z>wXOHvnm4};<|Md@ekxd&+J6oZq;n#US$_=RbxcC^m;zrG*bR$yaZ9|R{&V8Cs8ay z03^55x~@GrdowJIDDiV38K+`=$k!2csLBLtyegmJR@8NnM^3>;$RmQs8zuhipD-)< zGA%TGrM6~DUbe}@re+kyE78_^N!}>$RJz$4w3T*lY(|7Y`Jq9~6n>%et6O8&LD$-l z+sS;HF^#`uD{Yf;bDcNIudO8(4R}@>STA_2#Qyz!sYKxm`dLvc^RhSWA*LbOEAe&p z5)Vcgx@>v)wN;vE7spz=DmdWe9apKH8SvrtQMZ5+;?zt4)NnvPt40|lv&)2FeVhy3 zDakU+8y}A3mo{Dyo0pa8XBf?uX4Xvk8c9r9>uoqUQ7+HR+(>D@TI-37*aHTg{RcMP zfDJs)EXejZ)f?-y+;^VY)Fecx@j|EM(Mutcx7%;2yy7dUsehZXmO9w;%^cM{N0;5+ z?KiEn$%^<;e&`Q2!_&zT73HXZ#R(1bq{d`ZK2OyYi2xrCaYi-(hrH&1F-x^DO zu=;E|Yw!GrlvOzw!2WR9rr2-Nxsy>A%EVW12G4U#JD%-lF1RMR9V= z5+-j=%Hv{JLEo%K7~?^5Sy7SJhb9ijns9Yc@45v5{DU@I#|{^SuX;*zc6)Cfqa#g! zJzl1pM2~@4_Ro@dIwIp%mUl^q-dSZH<#cnc_|s(uw-69RPdld~kiUtXq36tP8Nqau z5`G$HnoWPlF8by5AK4L;&i?S@zNg79+Mhf_jwL%a-iG+F5D_d`A9-)^KT~IGOFuGy z1sM@N192id3Gioa^I#^8XAQak8EW=IS1|rnMZa38-TkHAf^DTcfpRh)-g8tIY7=t1j%d0-l!@*Gr4_vSd;ZQ|20&cF4xO2I zdC*3NY@AEf=S~6jiFj8!;e)qdWXe@?nR1YV>dFD1;2i0iZlj09kwLn#>pQHQkE)8D zOl_I6i=9y&QKq6>D8~omZ>KPnbpA$?{7#vJCy`Go(+pSUf2>RwOVqP1JG#Kou(#A$ zPf^h?$2-j@S}M}q6_2=;@2tHsd`LWswAQyyk{g;c_~(6f{_DYNF_{;%i~b*1A6b zn9Dxir_}1n?;V(A6yzr_GGim6=xvZpeYsr>Vw_SkL^md(zBX}+>&-+j*!WiKgNkIf8^+QkAv zWpDqU+wSCpkP0$V#aq0>TUNzKrNT#B#aF+=*Hp#Ny28&%#ow*M|C|biQb7r#_stLprwkSb(O0-6<7bM zP$896q-wBuWw5Mjh)QLMwrZ$;WvHoYm~~}nPIo$7`P@IT%Y78bg}FSF;^8>e$dt;+ zOx38o%BW)1=!(kdTGg25%9sw-*uKix5!JYNm2sa`uP;?zpHsay)}t-r6Co=SNb!po zuS%4~(p0Kw+E}`N72On@WL=fygiUsN7Muo>^FGTJH<*A-G>Zf`zTW&PXNJgb>VwQTX~Y+1D&ATKar zJzxeNkYlQrYh9h|q;}h_`u4f%6CEnI^wn@a)pxF|<)>8VXQ~y5RObbK$=_JKDLys6 z3d+h=E9$E*8d1CVF7SM@S|Kv?a_zEBSV5609VU%XfitEuTwzuBh#l%igf7tp+3^E5~DF|y=w+XK_o2bC(kk~-Lb zk6~)su>Z!FHKx5Ev^yc5ZEDm}zE-IFJhiWWyhHEOUVZ<)+jJXbwoEkJU9MO7YHtw8 z$mzdFxYXDt`03u@wT>^=sSnSF$W`U6@(|U7g_?x}Ut8A^FPoRI{aYDEKDe=7I{fxh zy@;CWuKMhcho-R?Y!)64ebh} z0qfPXN?HNMbY0PIoTD2)j2^aYspBg4>>@v>?A~39^TL|<=G$S}8i|i>R~9l>ZAck| zOIkC1J>v^n)hZ<)rnTP4YJXgxy{lVmjb4BGdtt^@dwLY!0DLfS6!gKg_U#hy9tZMp zB&D`zN0Za>V8k@YRP@q(+U2>j%QgvX1N$=$TWxoH^?v>9>gJ_S&mVnoL40$m9#LOC z>fVjt0|sPwAKjpLO+T!sC{L(77}ph9old$UL08GPkR8a%seWX%M>N~J=wV`~JG`Fp z<*QQNnpqK1=|k@eO1B#4>v$Ml&#JhiodqYaD&>k7!%9sHcJ5N zCDnZ!(q8}c?R~NO>N~h9%Su~xcznO^?mWCr2GOm6hnKsRErI%bUytE=ClVZqN(No9 zuake&>lFj)>Z}91c8G5mXi8Yi!#IB2482?Tak~1-))W4|4(+WVS-pLko|P!(Y2iLK zc!HH&_m3#*PE#hByR(w7j)!<)waUQ znzOkr`IFhQxuz1`Q;8@(1v*mIy_i8%ZXeI^&pzA&FceHg+n8&UI+gZ7hL*&I=iRuI z$Mt1GkD`xrg^$a)cWHWBXp|;ahIgBp^sn6`K6yKA$RBztoF|8CCd%C%!mO<>|D|JX z3F_%YB%3By1UyVi#1Rs4A7nFI62v0uhX(-^R;RLU)^O{XLc;6qVGku-ce**B-YVZI z*Zi*vUq-YKn>m8;McZ~f3$F#@yPTDGncwYFmlJCy9rr*+nBEioVC*tT%F@E`;|<;M zuV!K9oBo|@5*FfnqJpV3cYD_ ziatDfP$2QJDDfcag!(gpDzi&zm<9{BSK6h?3ZIye3DDG~qlum!r zLp!a?hdmUbFotjVN7Q2;Bo$F)+dm;!OcsPc*jmhFucxeF9UGD+KIv^yMh$21qy@eM z1Bvh!;5{*rp1=>QQa;H5qNcNX_g=SbdWL-NnArwRr!f)VlY<@xJ-2&p)?*>E09@Uu z*J1Ig5w`GnqB_1y3E!o*3OdZR5MuE<$0(ycBgz5O((jMMQG_?G!yiAPRYP4w* z+O@P0qIL--bSZfLNIs5GElTK2!slN9R(s)$7x+`OYHR(HKdron*6uIf3vxmc`0B@nT*m8_}R^yB?o>92XMHyk zcAsN*CK1|i{sxJOg7DoEYW&-tSKYP@29<{4vW+w;FPd`f0kuY&DbC~`CHvyDYdVfx zij{@7sMzZ;K9?WFEB%QE0-*hcr=Ch1Hy9k}Z!?tZA7O!i>?UfMi<+==J@oROIYFlD$DvIv;wHvl2(%MdT+5}wRA0|;i0?xA6m3k|9 zl<9flw9+;hP#|n|#zHY^^pnCx@j$#R$=o!IPd@BrQg0`HmYHj2rRzn1I4N2~qATKw zq6R<$OTPT@DG?`<)BPt3pGi8pJovqwt#wznYk@@ZXCmn4z^4AR! zjd`;;Ez7khN}59o_`bG1y}VxG3{T$1+5w}mD$_WNAAj3V4|^+xI1>Ven>7Tn>h1sh z|MqM0KC|u4SOs?GwM|6w49;KVC*-=VtC1z*CUsDX&ZY9)4*pQ zY8hhxKB%30^ZS=kc-9Ae{IkhNdH+p3eIDP{BWCQMUKAYs24JAv8rU~wFBAAL+qx*; zuE#-zVpWw|!C3AWaLXsrhfHRT}dh7+#XQ$jXNt@(we) zUlf~bhf`8d8db&qy1d7@8~U#RlI!zC1R}b;p|d3ylQXI+8TD_lvgCWx%gT}KF7o%= zVnjA=Wad1kASEZA>JPUFs@*>Jf5_NonVy;t@Qr{11&FxHZL ztAZbLoJ_y*s9-wiWJUg^fA#5A57X^WYCKX`dhq&OlgPzM@8l-U2d8hmvTtcGR=)iN z|KMz%$Ca#C>hA-+o7_GG|E<|L6I5xX|IzQxk$1|Wi3$$q9;L73ePY*5Sq-pP?j2Qg zvb@nef$!x7`=K&7TXS{e_>cXZx;$?+G#f|TFMTiEIDX(<;0@&o-)FQRsWE2t-s>jw`}hRFRZGt;80kQ5Q2N4AO!a$M1X883BiH}f+SdQ zcMt9m+#$HTJB7Qu)?52X-+lV*b8dH!_oqAhPpBH>yVhKD&1Zeg5=2grXcTZXaEL3K z@+=yWaRvGwmSLA7DzQh=WK~S?;;>Y&SAAJhk%i!u>~=V&6ooWVP>3gc_yC4RHXJHg z7|Nw)04M{pDAP*z@a`*`3-jcqGed_ANp)zq#id+ z$gryxe}28#PFOsdOVAzSuY0mY-b5j5jinawE}wv~G)8tX;l99o+hyuS3OSMf(4eK% zWU9le*vqldV3(6+dNj(;vCCyDfnGzZsVbSLCh8%9w#XGG21FC&|3tCMP%@=vTMXDz9RHGf0Rjp}&{_%thaHjNn>8uvVdD>8>J4W^Mo^&<6*KgO5l zBji)uivo+tJl)f+mrYb!#X)xYQN3(0hH5k%1tSa0?Y6aJr~AwL$&%#0Z|fe$y{z{- zjJ7>BmD4DF*#wR%`i=$bxr>|BvluE0wA(Rc(2gzT&UEz*RH?no);lS& z=iSrgr5OUdAF-xhb{9sKW!vqV>OYVjE7U432;4Qdil0I6kE;0gF3rM?T4ym=B}@FB zxv`Y#^LB7_b)OxVET4zYrj~7)o6DYEv6F7=Sw&4}@1A{Ayf$H%N9|ZW&g-H0x2J{C z^}BZaPK!#<_P!H5jvY#PFYq(A&;0Xo{36W^Z8b5s$Hx&5!B#nXgqk>x8aAd_v22bKgl}~XaiDxHSQnV%-!EvJ* zf~Pqei6$?8#*GzxKF!moHGMr0H(p+GT40rEs*Bu@o2WlK{pm()rVojqY!f^y4ox(B z_b7g<@AFw{3a$A^wfO0=inH?KM04{`@iTL0XO&H~7FNOWv#WyV)kBFEc0c3ic0Zrj zF4BJbG7vw1T5(=~nE1(MKYro%?EDuRouwNj0f8lS(X{v)^8Hc5BBA|73j>{%uUf(q zS>;6=Pm)#Or-WtN^NS8CI_uEjgcTN{%Px&1>qsG*#fSEnJ^FMuu>&{LBjuNUR!KIA z`w8oh&o2ku=xkFUi5pLau7*OBYUp>Iu0CPEmyeEV$RF~+6GeTRz;zU6q^@sB7w z{InF3!Ejy;mFAEDTM?!SV}{xPoG`HC)`a{DhxS8SN`#Opp~x-3EXflP=KnKS>=qj;Xak zsQGuB$;AQ&n*yKi6m<};iiLFITX9l#VY{KA&sSBiqa?XVJddO)A3Q&B2nUP<;8_8- z$ENqcQSsNA5~}dOLEW1?&N{c`(U#zguIzd0q7&UV%C}2Wu0Jtr#4mqE+5&yF$1D^0 z>cfYYsB+9Pnql?}qh-YhAojUp=_4-Pka=NtWPWJ3^5(9+Ga|`>sE^=2`|>D*ID)hE(mnKsA3Fso)2Yb6<%%SSN;pO^Mlai&;#kj@P6$M zk{_W*&x#3Mk1<1;#6>m}3`0(P@ono)3CeApPuAh|x9}*zpKZ*wa7Vwcl6;pw{+-QO`JZK=ZPVc zH8%)TN;7cXZiC8WR-TQZLui@gDCB*2Ayx;TJ9 zN;Zdt3-nE9Ep-||zTRVYX~KkyH@^40^%qiU(v8Erjv0=ARD}LFl41($w_j zVjUkMwtx!J=KJy`A|#}iz4@SKk!o%Yy!{ba1@N4%@l3T=T#>*234 z?V|F3XFJO&O%MNt?Ob5;_fv*}1!fx2*#8^xcZ;cZ^V z_mmmIAhJpK=cF8haragDyHfhBR~;7M7SEcenA~LCLlb!mUoL5YO~os@&-gsOU5hhb z1x--T8_S9HE0L+Xx>LO#j9B)0K3JHZMs=9zx73IRe5?!pd??TS@=9CGw;hA_b-_bL z>j(Nl0cFkiMcBXd1cVaWT(rPYY-c&;C1MoYnN79W?`7}Oz1oYm+$+w2Sm7~BK1@%; z^87$D^a&|kGJ!QS+(*-TA$&EJ^1RrAOiPx;wNxv?0(85?YSK6!u8d)6z8$!PSjvE{ z3bV}pP8v@)R)|M?K5(%tFU*58zJifTzgEPRlih?r8giL#J6 zAlBSWgZMB7wpK5w8`Y zD&VRrzCj@aRzkxkwQ^g>UhhwKA}~5o-@m!m5Ib_G(R1C^`YSO zA1)A^pG^rTE%Q#B{j9YbTmqeZp0S-UKc910FF2ofKBwM2UvS0YxZx=P zTdk$T47+)9afjrpk32P>@gSh+!_gguFOemTt{U(y)+St70Z|n#A$l8*k9!JiF6+t` zqPt35bdIh_o`wvmh0Cpd?@>X5mfat}IJ1+b;Qb!jP3OQ_f*YgTU#_njZ&soh|8a{& zRbUx_e-N-qB~=jsI6Vk>TSwiM`OzP?eE8u_^+rW#Y?e)3V1{25njR*B2Tru&Egz7O z1+NTb{Q!>+WHa9$2TNpT#&P7LZ;q(t{cJ$yhDs#9&mGOISj*imtUKG<{@IBAV5g|{ zp6O0;=l#5$lHRZvrlo^mCF8P~0)+yjVV!>`bN};uDOm>r<7c(^sL;vH4w?#cJPw-i zeK8uvyUUpdAG7nCjfyQkB80s9H-E?`T|XrO~v@%Z6}IF;?Ovmg`U-$%yNQN($4?*~;k9m#Kv- z{j9bfQY}!(82gRy`F1HNMI~(9w849GW z5|Il;o65mbj{fCJs}v%5F|+G*Z;#iLy$eTJ0AW?FiVK$T;Y{1@(Lkw8@9&OM1tg?| z?9C?`BBI~N8lH_@=&8QQx&j4Y&)c(E`~BN< zg!iMni|p=177#hJL`|)AcGfvX0$O!*5cZY0rY%549CUJ9(hilfj0M zrC>I~?>PYFJw|A)A3BMsrM>7+qfJL{q+daC_3cZdE*WPjFr=%Yl@xAmJ-|&SgD;~S;AG) zn9No#Wc?3{gIx*IVK@q%(o{zwKFaBg-w$mAe+IR>hP5K@%i(qr zg&jp?D`#-L?CRF4If^U_$l&~-(DP>cD5|PAgUi0F=k3)|bR$6~H>68o;i0Bh1VIu@ zU~IiB@P9x@js zgpTdg0Y`hsYMyE=a98<@S(^d7E3!_gv-HI}y1-o-AIu3`))?yi2F}yO)nIH0d5odB zkpjO4;6dEg%vQ~kyPZsW_VkVy5RrEIk#0r=!f?Rj;n!Dm63g6A`Xn)kW72}o(~k!v zR~Lnh{N>(ft%T8E*{rxgr8iR|#$Lx7+PyZpT$Ipr-&~C`iu$+~Yn=IK$9`j(1RTK= zYLb{^!yl~l-V1G5eJ3^oqZa2^+9}W_1F$4g_{!Kvg3=^M-vC|DAI>?rf>$;NPz7pTR}S^DR%E`ada|vj&(RG5O1oE-ND;4ydx|`6 zec6Emypv#Fo;K@Xw#yy7UA;rko7)tC=^ zG@^0#^FzX653<17D-L(#8$cN!+g9ekn%x_59^D+YF5l8RV19HQjKIjCTI*>;580CH z&N{I^B2;<%;uPCTa`1G)(625f#{I`onE-omgUmK$1>!XJ^QB9)s{R`mr(M4Ey7ReX zWGM3EWtZ^FMM^V}MEL8bLfL)H$mg5$`jj zsWtT4NgbJF4wF&?$!Z2!6ZA&6V?v3!a9OCai5RpT^r4QVGS5=ku%(fOL^5@7wtML? zd2u|9#>D(b^z^;mk``mF?yk!)d|M@Zsuv-gscrr*n&il`h@XCcp2P6LNQvsV-;3H| zpk+WB&ANPt==5QbLvI@0d1r^j)gh{=t?;X=fip26f;maRnOBXAsNN?N@TNb{izm@s8pQhG0)TzpF$V>%*P{ zu0p8jIHm2#{jNr@6DT^QKk{iyGJucPjl1*bD#e?h5(l&m8T{m_0jiK z^*)o1KUQoFlnllBGq*M5|Ea_M60`J&%dY2W7dS9_V6`)C{nmbf-fnrgbmG+ekyhTf zi!y)Yk8QQ*uDZx!5&8j%U5V8TRV>iKWAT%-i!N(cfgchVH$c$4gfAEeMED|T_d!vT z=PQhORIL0h1U7hD*<+GN{H6ZfB)~|p#62$uGW+R-5oNBn=d4S9FK(aA@q-M!2c7s! zj14u$FPWC52HDq_1K}J`mqR46Kc;KQG@Q@6$O&FP3zHFLf2XD{E3z6X^g@I=N~hl_ zAxO_F$1vKcIsIMWyUecPSmoT!HH9|~>>m^bI7HSHS;nUBCpmvEd-ucj>&b^?PZQ?% z|0TDT@sv)IK1wtz==LOhATPHD*<~V0+Matq4+$diEhs^Eg;4diHk-zdZyu{LC&=@0 z#~Ikw4=o1gqg#kN&l64#xo)l?f- z{nN3{IIG}4DmHC+BG#@#h{PG*3EjLyCDOlg{`1UjECN&Gv3lrW0c-RkJ`Xr{$y-QH zWByc7=G-`fyo_!o?D*7PI^ltNuU;T2#(`C|q_ZD%wo{j!{g#cieEWSp;0MoXRjqxq z2J*xP3U}tUINw+fKlL$A5*&b!0MOvye)!7^8}}x14eeMFsXARJRAOnL`(jLanmD;nHq#GTI6dfn}MfS=8};h|p69kpE7G`sUY^Al+*lx}+hE=K2f(d@ql&0d$I|Sr_^+ zyH59;H*6vJ7Ce5M%6Q^X;=r4>B7fzN-u_w_ke$gEo%b}p;%xGQq?%an=hTaL*#9>f ziezk1aXbo7Cdl~r?CAd_L%kJx4XBP|I+Zhdqq}a%b>jz0N&yc&P*hD3oUYjo?MH+M5LTz@z;O z!3+4xsM}qZgCckZOE^HwbI0;tm6`-*+vZLD)NApppR&uJDm5O-HGlQFV5ZV?`F{ys zn=9e!|B|5cuch<9^v||7(n4f8Hq#@tOg1xO{)v;Zm6M&ByOoD}6w68D!YaOhUug2fx|~=j+|#e-^;a zC5#S8+!gH{4Y4jhfe7|;))Tfr&obhc(5p-f6y5?cTTig9dIV4Fk=F$`8JC`%&02QU z6VKVqm=n)_l0!-7h7a3>#PhcJ4MKn?b%W62rw4Sz%YkBdL@Rbmdqnd-+6@jXarS$c zC_jMfY9l?`;%f8Xuf6^%oykAl9Cot)ygBL>+P^s-lzVi0GWzn_w>dvXB*}IbC;E zH$fyuP`hOx3_Q~-ai;+$)E)B6po}55?+{v4vGV;7Kj072S>wU#2BYYb8`vXcnPt~l z1%_4>WSzep;-%xgS7Qv8j$5Yns~e`n=Iz|wz;GQkHp=F}rFw7xCix09a)S(T-4dkn zEAX+TTN}mH@X~|PDbuzcc%Yv^p|Ars*}YMo;M6`0;FpX749%hAUln4TSHIQ$wGekJ zQA`_qA!AYqKP~0{cHNozFAA|$8Zt;c?g{Pofvm{vV$dvEAN4-eN1{7)aE9_B>HdKi zTnEk7eV&U7@NpM8;qk|nL8lil)1|*b;MhcX;N$ht(t372@w;b4e++-OlgbUf50$~j z5J}sNkXHiO3@I8c-v~GiJ)6Ng_Lw`M&$gF@QHmB1H zk&^SJ3PVf51;!FPzML~{0Zun9-k)0JbhN!oA!}sz>(F`qFWxWfyiSWl0`rYnm8QD? zPVnlP>UTUV{kLncX@TjpimJW>3;Vwjya)>|y_IH{sLrc8RSK>DM(`R8EVRv1n%jDF z&UBjX4M#`+KPHSOPzhk7$N!15oYLa`cNUlXHJ8b3XK`9bFbu_lRQShEf?`1`*euq^ z3EOPVcKyzRWIo-Ti9UpBB+G|$pgPH>eCqARslVt8jxopOT$2ncGPtDMO|$GO>p}L& z@0~=q$A;r&rR6Wjaz%U7$y!}BkU&qx&xK#E7(%@t2wrjnEzk$5y$(FUZ$4H6boamT zaCJ5H_dQf9%SH?&Pql;UpJ&6JLkc4_3LNbyCyIXR=r70F?aq|G@K{|R`0c|$x(7bJ zDh-Q-n#p9gLSbFC&01f$Qm|?wVZ7Y8C^S${W!3pUqU8~C#{&F?a((=Vws%rPz0*lg z<>m7H>pIjX=GVY6ztd%$KvzMNmn%|3XwIzY-e2eD^!+k@pU~eKLjYtkwUoA z5LYdF(|QTdF`4M_(Z817kPGtc{InA<|TOV zaxs*SS8hq*dJyOLPLe|uZ~+`pxe6LwE<`baU!~dhd>mnxged-Q!hnt51eipiA*_2| z+h;`UpgSbF?y(!w`T_~B-p9FOPcuc{5Q5fCN^%4di57*6UexFkj`Lr}7jqJVP72sJ zG80PJjN-fN&*a#rb)I$8zl4h}Tjw5RwUe1tArCohUU6i339^1hIm;IXIl*623iai< zbK#mQ_k(K=K`a(r*FMw{&PQ*`1_~=b_!{1IZCA`PWI`266Y(WD6k6q!dIdUFl$ln~VTI;Se$FH&}% ztWIhq{z=}deuSN2#=QZv#Edp8d4`B$u%P_BanyCMbx^uDyJ*s_x1}k9xHmhu(b_~H z;^y#;lwnnXD*=}_09U4JG9o5mCVo;9z`wj> z`Z4BfZgts+Wk(-zz^P}LiF+4IZ9=*)3>l8=5nRY>#Xcr}WaW6+$9ldL(D8hpY8}fs z+bfu31DC^+&Jl~b5@AqTUZFK&w45GI_q_3ibP_Dl#LNoK!>se{hZnNCdOFXdG0RIh z&D8X2zftMrL3Y@uOIf@S<>C)}k@qg>oO%wqUL1_RL=MKSO(r@WB3Z(uIe68%pWtb8 zOR}49_PsK-J_;=#m>KVQBpGnvkm`6yr6?suobI{gM=D@EkT^WSqMfpAe1tl=hW43? z;Hj$XyO<^pniPncx(EHU)kRn=@eq zm6-MB0ji$DMze7@MBHCJ4UBhvUr-|Jys=GbmPs`a(2t?EFmWC=Taf_9gWgc8@mD+= z7M-pXtp~37uULiheQ7NWI^s;S<+(JKmzUlj`f55f2W9|pcEurIp;QAryKD?bbs{<8 zv%^5^h-K=T3t6-5!w_XAKZ&bQqMU<`P`x3X*O^C}+s_V=^$x z<>d9BynpoTvJZaH)H%}2M1Ost!s+y+XI`0wDULCNt1?n?!1w|EB>-@HQ$`!qtkU1A zPjf}T?tbeR29rixgWu>Y8#0E+PMT%%xd^FzJK3cFUDCI0_L;@mJe%S7XIxybu&D{x zn{mz(SBma;v$RRNSc&38Q%BN&mEijU%)JoDP*ivSQW{mxnJtY|G4TEGlD6C@L ztMgv~xX2Yp8G%lH(Fjs4awqRaV2fQeL4%4sS(O*@N>A00M#+yCqEo-6`|!zzECL(M$k5$ECsL;*Y2S2!Iebyy|S5H}F2+C$>_QxqJR>GNE{YOe)M8Zkdky zWo|U?_!v1}aRz~;dO9FrV-i~`ohZ1KBBoBwPwvxF(}43VCNL^-CclCP+!2d0yWLe( zb*SuF$6wEGs8-fY^zD7Fy`DP=s;paA*>{||p1BL5O&iAoL?0hqk49CATx?G=d_; zR_Hg(zetQ)eT*hIqQxM>5`P1BeWe2$5Pa0h55T|M-!P3ysrfJvpaCbJ88&f4JxXQ> zYzNi#Vd}1;PsUA60oxYxjPV+HAt6BLPs=bWQ9C`+e^ya@yK5O-JG-uWUNdvM=P*z^ zf8KxIaDBV)3aLZjs9iK;_|bBFby^}ExM&xk}2x&O*R=ZiE zMqYHPH5^3`+^mTqF9(AgPO{W)x3rO0lLHNBl>@hXPRMHnNuQvekZTQhzy1TIO5I0mLi)jh6lM(IMI^ChIj-chkuOnp*7qzs}k-#Pf~G*!CqK zl`8+DkXjO}D=nv6yhxbdia#q_?g(L0!q($@J{2Fp$C}hzUAjJC@mPNqzou++Bs+Ru zsjsGdd*Wg7edZa8irtwio9+3&S|Q!980KMTDs@#>mF2+?e(Rsj-dP(=Qxb}Gt~uSF zEHz!|PlPd-%(eIy$U5DT z8SA~g^0}w+Scp(&!3`=aPb8_Xz_R$Aq9G#r3#ywlXquUkrphwCm0FU!&owgO%{jiV z$Q~Q9V%60_8bpFf=-pu(#fSXE zcADRJ@AS{|ciO;wmBCew?tk6ATR&?&TaIWmjml5xy+V|9bBONG@(qY#?Ai=UlB=8y zJz;%#GA#RGj(U~z=+4P6Xf{Gcl zUk~kPZClLkr$^PF2mta>;y~X7UQn{abwX=QaVnbD6b95t{srCv^^oP&WVUz%F9_{@v{wl&@FFbPL-I)B%~Af_%H|3EVx?kT7z7qF9}>faVqr zpWK01feFSAox$>Z&eVbg@`Q)LfEyRc5$@dPatqQ$85aqbPq{wxLu(0`eX(LO0c!>*C!Gup z25uYtCWH{^mG)wOO@#L#OBz-p>#R$S&Fd%()s!*32Uy}f1EBs&0E}t_?jwrr-k~eZ zLWd#cO^XKj@uKTdyvKBXRd*k1*UCtRqcH+uaF=wsS*Fg*mOGx^paQptQat7DRA0HVjj@tI1?)(Y#(reNnA;+SlP*j_K5fEHf`WretvUQlY6{oZoo z?`ta4O(ewG>ltjFxla#o^{hDOviHLW0G3anrUWghl^aihR_% z)l=*nNp3hIFx9=c{q@_a_Y;g-so%h+ZVLnj#{1O+!*NAgnw6>;24P~&^|Bxhf|lGEpUIR1n9!2c~``m&1V z=Bb=G`fI55E78Y}Iwy44!{A2di;+(sy~Wj05z__s(ZV2sPbJ0a1{9cd30$fNM%nP*G9Yw`<{aJ%a#O{)0lQj}%Iar#lD|s)I1@J2=gZ0F7l0 zJb@vo?_cKrL?MwoHG+eyT3J;O{j_hECWEk*HO7zwAGXs;v{*9XzU; z3*7qSaufiH0Ms1%&pM^E0d1)uCJ>)?;}U`pgB#(#2B)b_6JRdsr!mKryY9e#IG z{_4qZD7qjU7x}I78`?uus+bi%XHpeJ~* z_&*M2Kg)aD$Ngh_qR6nLzwUX(?j(uG-b`O@<^DpW$9bmi>#D=$#@8sFkYL>K4W$!) zNYKJZzmArg+8fvX_}xkIN7B>Nx!POZ+=c!&kmRzzcCg&@Xj7NI&Sb3j#S`zs>05^} zfKAU8EtMqj8zwj#<_>7_1Z>BOYWq8P^>3a#H!Z~ zfPASY*;%DMkt>iBQirZ))ZU-c42)J)#eUj->mv6OiH&bgi zv>C)0FzD9HKVW9lC%lk<3=%gzP-r*^ncbKAfNrJ=dn&HsNi4(vhfJ&82#9sAwG;It znY#776SZnK3zU^X4EZqWUh%)iS#~Q1a$&@_6ZoMIEs36ix>-Oa>E<-UaCm{6hnN^J*0GYDp^_GNz_2jUX+V;P6B<^?8< zE%?*Mbv&_aVyv~kt^(5Rqd?ifmg^}0OX?!lXP=b zvL^#91oU_V4Z{WDL4V`wCTIqOnss8(bEbeecic9RUh+>Uk5qh|N6?@$l`rNEE8@J)jbawDcbqgS@HuiKb!mqNwi_(7%Vra z8-YIh#Xjm!ST6vO(&Qo`J_r-Vb#ilIx>u|x+{$vK=O!k+M2udIK}TxoncUL!}7D7 zHo|_6n&D!pIsWiF7q;Ss)NqBm|ATCRxJbR3ED4s*tL{$t&H=NNZqbWXr-?AQN}9j| zfo7x^sWdk#NY~3F@gd6r9&&Z9}06q^WtLyKMn4w!V8Tk-T>~N zA9$G#ZgS3yIULEYOnb?0az1wWxvo!H_g>(?5SPZFbDpIl8fqVZ0SYoAfpyw)d$P9b z;nzS-*`G`KY9iod&zql$yB7zjA^a&~FJuJVQ~an0N$)XwU@-%Lzvhiwa;z&Rk8O&- z5GDrB4>l~rr#+LB0GzA_$l-Xt*oThfkaCfBQhQ;4E%DF`5dkA;B59B!urX`OW8YZg z0AJ(0s*@sD0m<5AB>QQmH|nCMV)5K65fUo%ARY?o-~1ajbb1Xaw|O}YJTyEk1kWL{ zAX#?fP!Riu0ltu4i%~SXwi@S?vLEmVESkx9{eA>M(h-6Rfs2N{P=TuyP`#qjSC@!Gm+L|TKHn-y% z>{3-+n?OPuEbT2veph}^Mcs`Sl!tficMqrL;t8W(ivOrqG_gw6BNe;F?`)7LLRLGB zhs-y)Y)(sMV=vmQ^cVG_ZrzZ?7V0fbA)z2@afX&>I`p5!d)GH~Pa~|x8p(W`yqdm_ z6OK1F-D^N|rEZia9RJ?t%T5%argNT5+bJ{W`ck@%>Y=TR4Z|0Gsb0D4X8cYNHqV{w znoyk-SvCk8P((S*d6y*sz|QE-@SB)=1*u&O$-^D$023qkQI%w@#9>#wVMh1(nj#Ny z)cvP9slF{P{esR$FilO$genyjw92w2OqeB^;=uz)iz;e=Gnw-wBkw<$|pPcuol`lS!g z5O|73ZeUqaPx=76o-KZZsxjOtzAPPT4FUMq3i_T)Hv264=J#R30d-et# z0@z%bTA9T0?vbRmH?kbSaiIK&)|d*+2Cy55!s89Bc#p@&_Z(Nka-G=uK*^8H4J7K2 z{>a7WGp#)5YGN62kFKh{+U31L;~N-<0N@7BE->eFn!O#o=Rww+|J7vlWFPZ;h9A1J zE9QyY$b8ZweNy64IJxc!_peJ|1p=QRznB;9e{7VypMM-LL_fRRB|0&7dulptK!IdO z@AwX2Q*pQ0{pu@)uFM6PjK&U5#e8z!!`@7OurT^Irg2S4rNzd({$v%yATH&hIg@%5 zmbe=_NCyajKUzlaA9s|tct95pu-L$l%MLl0s?Cx>AvE#i11aH)&X4L!y1KpJ*7kTxNWot95d7`);9UPiCH-aB|1 z$9S1kd4-=~nuB;XS(qq%JZ(XgrKJSMe6kIdf)4;Rg9E~n1HAis=vv0ECm15pHW2qE zSBynnBV-x`;}}!bQa=KO8R_5~72_LIwzi!CN`;M!*P3x(3gaRRyqTCEYa94(P-5jRwsk@Ceb`j#U$E& zK1ceA4MUC(0{NqGZzhB9E`kBd5Ok3c%-11EdBdb+yvs(253l#^MTk9-q9_BAD5Fj4I~Z{dON2=^`NA{8nnu&6gDA_cS2mQ}6e zeVQVm8iwS`L+g3jCbXh_Vq<(?)7LMBm|n)b91;<8Cmm{HSy*H&XkiNQ4v3qIeK{Pv z*2FZ~L~9&~Qn55>LJ!)=7(BJ>EtQDp1Job*9RHG7OG zZ^7uBf^o-!Nzs^!ngX^(sQY{@Qhx1HJ0x4GV0i^0j4})MZ!Ikg4oIbVlc!lpj9rhGfjqq zCjjt_B??MR=;c)96JO<5TNN-<6?9z{a$Pm5?mov&{L($nSt*H72{LT?J3M>^T9YbP zldfHp=~R;)Uz1x~lP3oLq2%5P<61jRh}BNieh?$C0iM$fA15N4L8Gn5ud5fU8)kqu zI@Jy7*EQ7EHT%~!Y14M*(N5}vhY;~=MB(K#iIXX{Pg{~dh?LPFLklKNf-$Mc=JN_@ zr5fU%M76SWUBT>&F!sX0!>Hni+s1Lc!uvsAfFQRZ?n^D94k587WDu7LOS!4Uv}u-|2}KB|A^>UuyznM!I#EKr z+!DrwM5d(h6_9mG-ZG-lOsolJt%Dx>6Gf{NtzFCRI?~8nLAW@7 z!2=Qrl)+Q*T68N&0vwECg9Xw>BLS67`#AN%6MP>hkfF zS|u~+fjSf#0DZL;hMtmE4JF$JfMEbwhv7}YpuR`~pdA3Ji%R_ofKoUit?7*%>^Es2!lDCCnR0Ixd({Qq1;= z8&T|dn=>#+(>+W*h~`o`h6Wr11FyseD*V}o1_@XkhK7m=$O8%bTnUC6hhTFAJ%dAx zb3-kSL#>UW^bdzAX$f25!wh{xOuIvrNWu|8+L3#61fjK6_v#6TVX5;hL!FlbRJ;}Y zPNNG44HtS~Idia*Iar-`Z0&&X*)5@#%9v{4m~!IioBA=uzOgG{T&I3ay}pa#Flm#AU4@{~FfyW7a&#j?7RUgD*RuPU+fZWAMJ6F$1J zb&SMO1QS1$nNH-m8b3~m@${Q=#zWX9!A%)e(!evfOg^N z@xqDj!kNp$>lv^I0dO6-aGJ9K&>?`mg%frJHWy;;3pgbn{JT^A7P@(Wz$AijQ7#f$ zK=HnUDXkWhXb?nS5ooGOo30aQFeq{VB5@)3N)NIHgKixxoi{FFq<~53ASlrNu_J`o zqH|!8h@gM*J{TakSd^B4Lg<#^7E6$%m0}yjNZJBA5#oq@^$1u}mw>*cTg4+*3w_WvmWWg#(uLsj5d0xa$bK@4X%D`z#H&k&{Kx|zA1rOSLfYVX z1#mnRtNo}Eae;*5CtKoeqHyutt6mLjLSHw~r6B8Y2*hIZ0*=@0x~9YhiLuy-xg&Z_ zxB5~7fuRb8^)KXDY^mRE6}{bpFRtv8AV@9Rra}l;;Sf>_MCSZ<@!nS9-gf34S#i=< zXAt5w*Y+2*Eq(;(g$d+hknqA1a$!k$#Qk&90H)FAd(De$r-WQF_Z*CE0c^$h?Hz8oYxheJ?k^^F6FlU~*g z0GuT+URZ*ciy)$VClmBS36~Jy zEhOxCPyLwx?Qvt_!o4Ig{lf8EI#LPxlgAK>qh#j2af#)fu8_iJx73!p}0CQoP$PO4JZ~0&7F>7ln-LHapRjK@I&Evp#WZ6 zGM2D2s2GZuYKf;ih}G_TrjEcd`Hetp5K9XH2SM?3lCi8%;Cj@CRS!!Yj^_ixN==4P zsS-&eFO!j%%=9NW1;VTg1TBr70r>=h1c26$4nXht(DnEbu_!}#1yUug`gJY&iF_9Z zQRl|dDmv3~g&4!}bfCC7P{JG(!9E0!xEZTjkG?hp?+X++dJy{ng;q!I-=spZ5SF;M zaJ=Y2tY`$txDhuMhLaA(D(1%3<;D$%VzmP(Ts*iMfoEiSmyEapG=h}a*j8z*YM8tI z*hI|l`nJRTrr7z@)1St^e?$ue(LVlqGO4;EAI74RBonKdp&0T|x4{$FdZpTCr880K z1MiyZU)j|W>+*KPerW30dXvNHG;Q?{&ifO^><+tipUUyijVIinoY(1G#e=RT)>{jbTx}<}wJX_b=?bZL zv`a=l&&XAc?%K9&x;06alI3+7Sy-bY6+-iM@Y*&P@I{bFnx~8ydYXm$E_XwVE9(n6 z@-f0_pm$gF5?o_Z_B>|;enrmf?vA=*ytMr`yA>n0wU5ne;!Qt(T~!TpR;lE#oL{jh zb(*b}F8|e%wO{@up+ zQ6E=xt(tCoHqs4Ca5(*I^t93 zPeAw+jpg)puq>;X$%h2yovEij2B}rdcyAerzT+!}IH3Vb0h^2vRn<-ON{RcSZX|4~ z3eu#MnhZ?DY@N{6FnOA4=Ezqo@)<;`DF>!r$>!Qz!YzezRVd?nnJe zZA6;jk9}ksnoXF2U4l#mKkm6vg~>VJg|g>aYwI^MjtlX1RD`OxWf*A+tNY*8?x=T}LdzIi3CAKyjDTBBjpe3?A7cw^GRQrTcPs<9@8 z^=Q%EUrAU~h{|46vm;4qt&@=6K8h)e*5yDWiw*#^Z~)Z+w8=!5Bc92~ugP(89oFNQ zaxn_3#mYZi0GNNiwMZOClEa#BIw7xtTL-NR!q=qQdX2J*#_m8QM$d&}EuBnjX6lqK z=s`s~nYvfO-ZI*pA6C4RW=cD`lJ$^xw8WwBDiW0{`Pfdb4*&mXI`60?-+&E+hN*xLh4aOy1|`p23O_@?em$w)}@&43UsP`gO(MJc(nTXHni(Y zZj8Fr7wdJo^qMzVaqlg7y|_y!UKwV?_i$8%KBv#CP@V&HU`cljdM+LMX{{rU?Y!0< zjpYD!4)};zsc5J2<==_~1`v=2$o!*s@%!s9CvPN6ZRHkVebJ;cf=y*y`1f@Zxy&z{ zkn^8^;Tu|2VD_`y*8}sP^;qxVsX=QXwT)aSqu707;W#X81VuIH!iz(51tdoqp2p{A z9~Gyb<3%s?k*con?1UsO`C*QWbtL>5VOkotNG}$6TUs2nz_Ma+yO5jcqCis+Y`!5v zm2Yy$>Woy}Mu=~(wy0&b9X~$w{6o|x{%O`S_V|w!5BVcMAMW@MpZ!a6>1^F*b>(`( zSQ<`7y+G+?BO!JD&K}#q$5qFe^Jn>~y394JlCWKN;$K2-r$SfDfoJ5p2ZS(}SJhc2Gp>MND^EL&oTK|O=QNcnd- z!&>Rt&UErVg*EbVscW6fU0AgcC6@yU9TLV2xY+PA1-j`i@g@kZ9AtYf)0IT)j3W!h zH?b_C)xyTEQPLqq3{>Kf7&3_j;i1MY(h{_`L%VLTa!*np2>3Jh#v05G4SZ=A4v`I;WPvt-T6j@x$^9EELq&5A$g86g(7d*1CaB~G@Yl>*WkNF@t# zn=O*mGw)u9zW}lQtSD3(hu?>1in?@y0EEi!$Q^i5!gkc<-fb72wxf@&OBDtd*l-!S z=F@Z{6RUcOo2%Uols?@Aa+SW+h$;tc@be;$VeKq&BHKH_h0SjYjMvoBO5T-DV~)S%T*e0xR-`^HJ3v=1Z} z8iz)>4(D>nb23S&>mns_Vu0mZ)4xO+{Ut!yq^W@dBd$z7huz@njh8E$AvgNI7(L%m z%Y+&zWy1@PO8Eq_6#p~Lu{4^k4%ud@7n=se73`CmTz39AouB=cKLUEg#i~+z?4ElU zE(J%1f8P~`KxM_1jYJ?J03u>aCXX<~7JD@jV04KmQNb;{D0=E)~8v2oW?~U|GUy{Or0xUNmA5^JeV+$f}N+c&ew-R=hOQBT_ECrPIOShSH~#q~xjnO^A?qv9u&^ z+A0HMwgt%dUx2q%5rp)^tCS412VT8s&{Q#M)^qomgC#U&D|lAhc#ZlagJt-hp5|KX z?>HkHWl_^wyKlVCThBl?7oLPSEki} zItFZ*SzVNpLQz{I#602y;FGHiF|zsH_&ZEN@10bo&AEFA9@8aKq18$W8X)C^qRkb&JHo6&h{0V8G;8ky7deK8@B=hcCd}2S)pLVnH|;B8rb9Jh z@BuDm^D?1vWw0!_EBPfnY=7*#ZB+Y)%8?OCOq9|bvSN$Y&`|WSJ28*Z{aINNq%`;aSQf3A9$Y29g~xz&oL zn|7gha1Wp2!bH_LNMB#JlE1Mz}bt3PmA= zx?6C?Gq0s4bH6X^nk|Stm~nZ45*FPj9b?e*O~hoc;J+dn?AH#L4Ngzyf=kRPPENXX zF0MIoO_v8q2fE9Ut%3yYCTLYHoD%(>j9A^Qt?m9= z_~yjlD`{=QrEatoSK(2yH;g3VctTFJH+JPTTK2NI-;e)x|JBpQ50wgb7;g)^qo|3? z0^ovPI?}Lu`B2BdDvL+8Nz8?h38gk-|3q2;WL^JMYyXGN{^_y96HqzX$^OrR z1H2i?z^wMbT;E{;p#R-gUWVzwQqsVe?1AO7ft9*})z*QpMgt4}0~K5vl{xTTaF7cb z+|VA}M0))g8~9e3myR0zl{EM}dvLpK@K5YOI#>8-wCUfm!QF+yy{$oB_P|!B*VPCw zfaMU#X-F_&Xt#9`7&Zu|4vCZxiPn41LcE1{MV9UjNiGga{TvcGOcU=KqHhn$Sq|@W z^7+wTE}J3xIBr;xI;>PatXw~=@_1OaYZy8{thP9;{&N@x9?_5=f$NNDT8?NrjcAv5 z{)_gZb7^|i5k&cje*K8S;}OHI5u@>u{fi^UKSxZ!qo(qsW;&zhmZKIy}qqfO%)?k1Qc+By}sKdvKq74!3q6pg3A7wWt;WXxK zsp62~?|dc?^Ko?C-`_#U-|giXZr9K2@tD`H=%MrVl^nwzAM?{03-1aDvm0}93c%OPhFZQmQZ!DtediAL_i_pdlK1yH{4VU} z_~A4Dk&gpB?E(o!?~ad;xqf_i?*8~AZs3{yN1`6T13wx|3o61)6^OH{9748S-Tb2`^Ty>rfkM5io0mB z#GXhQq4WMZzeh_-WI`Ic-j`b*Jtf)Odi-e8%c;~eA2N&7+jax)N{XSr(H4VbE(o^T zsva%jgxK`ctov!qfN_>uC|mx>4LScVs$XaFv}4gUIv^x1dAjpu0Q*L0*~ie7mmjRZ z4Yci!N8gw#p-vwU4t=3EjlUJos2QAenMgvT;QIv2w`EkBLjIJzM@Nq_8h zE#PBChl#_*9-+XTBp)$;;jUVKY60>&Jy$r+abTy7_5@lH+4<0~pZ3>UL!wb{0pfGj zF@m&vbQdw5;7F6cWm?6hogDMrVF{yEg|8`BFq1uo#!7ZHXbH=+{55H%2e(15%A31{ zPsRx+#5Jj}4-jO7jsIT7D=T23SC0KD-@k`TXo?hDpF95N^D+4R-;QHELZivf-_hm% zFr~v~(^J_A0c3w|py`AlN2HAGM?xX>@?22>VIF<;!x zknm}eFq;I&Izyr#)O4{a&bfm5`ZLzOvfsyLih~NH9VvAAsi3`20-uh(2>KKt3q}BF zsX15X1&Hy>0tUI+S>8e(!BV^4Eiv0PW3Hvkkbt?Pp+IrA(Xs%~6+>D7OA8~`XLW!u z%j&Sb`q%x!8GxLx@D(3G&asu~kj!Xs__fOg^cXrtI*yu@+7n3-665=`P^8SuLf##M zE?nVepDOo9_ugzqyEw)mJD50Gur~nkzzu)mqJ%*Ta8NnN8&P~zike9{w&dvdP#AYwzm<}_Ie72<_F0c{Q8 zgINTuttQ3DH7E6#HiAP+pSi4*FQ`0ocL$MU#engAT*kBgTKC7PeF8-|H?b}ODihkRZJWh*^!Oyh)!u=;bZ+BOdGOH zo1jhE{&b2Pml8H%*_M9ezGIo%JH%Fj1j~tB3o^bp+(~_Ned3`mkJdAGSV@lID)$e@+axg9OuE_S!Eo9R_ z!9Kh|aLQh?mz;^lctUm<0b~H6y3SCoX0kg`g~qNqt~1}GQ9#cWlJgMxRmH*J;XoRP2PXqA*}T-Pm(R zFvFCV#i)3-M+=R37;sImxfpy00)Fo!QMX4c_(O~4N~~w-PRmav(X$Jq9{CKdzg}Gb zFQqU6@V!1aC%uvaWt`kv7x7Y{YQ+_WHb~ByX4?V4#`Fz05%2};Z2Oc#_lkt`$~mqm z$yi;mxdu3eQ!+i?_%Hj4TN8h)mohpeJU=7gkSplm`1NJ?5Bs>st-WOa6{lN4b>*IK zwFgI@6V|nS8!-F8iUXSS{yIQ3R+I)$#3`P59k+0?Y=40yUJpbvEb^N$A10E$hXi~% zITC=jW48p@%QW#hunXflFOwl*-%R#)CF6r^U4jZfFl*m%Dv4()XJ+OZGRNFq$=dV> z*}qf_0pJJ*nLyA_as-(xZU0iqG4@`~R=DR8TsSlL%ejN*#vvQgDb6Tx7U2AcHhs^K zVxf#%$S*%qwqJUDPAXqdqIaxh5ozx&h4#}y9vq-=Mf7!{>1?6%0GCJKKdgP0_WxRx^rgLw zvbGJKz6$dbBlk{TuC-6^&yhU6l<#hF`sxmDKG;YVkPhWJz5Vh1Cc?X_Em~Bk$V1VW z?TD{@>@Kc+#0zb9Z>d4~mVdQpsTkGSvpMU)7gpzc`j8*F_<4}EWue41zed;i-p2(J zio9brxGsU8$dP-kr`<>x$}MHw^U4E9``$MV`?=R?p3Iw5Y`*J%+p#}?oa)i+&F~H0 zqz#rDdfvu0gU4?jw(!mN{g&V50n;-loPYD?ov!?UsA!_~U&Y32CZ08fq-&7-g9mJ) zHB+@L)-TB;7jZsttuvR95mkG9P1F0&hhIF4MEh5)=@Yl1awTRfP9w62nxwMJ_Ql#| z;(FX6KoDP^0UB0+c=EEeN}xvqT(5aKN+NuFfvueXXZeSu{p+U9IX7;_sBFIFRLXpe z`1!FSvu=r639naNWS!Y>ZA%}V&FT*?Ti(LFm;Ewe+sozCy*h1*=hBY_hXtb*z#b|7^+HJty^q$F_B$dd~-9OScKWwR=D-0r6 zZin%zMsl@YIM$WexIfV!zUc+z)}6Rqbt$I&iv6M#k!zF+FH`hfkj^}idgYq$?$)S5 z+4T?t>`IKmpFz9dReudoiuR9-u7rlPE#{>Rj9s$cZXFRv4pox9F7<|_?Jq{I`g@q! zOIdq7?V^v4ko|j~#kd@@esk(s?D?|TmVI`j#H#g3L%+LfXt(+^iYj*p?*hGA8SQ}O zYpX9sdtQ_=^=ulw?gD$BA)b4kIcfIn%hcn#%lpq<#9PeSu8pw$FTPu^GN!uC-{Nup zy8HCL@C^Q5`6Y1r6w72kK^5@Is$d_}THJ2S-D{TZ@$|C_`wY@%ptb2P&fU&(9D+Vm zn}>R@9p`l9$c@tXR{Np9-kX<(Sxr@adt~)t+pWwC`G$B@qOHHMR{KNh*Ov!AXZ+he zFhdfzN6k`IGf{JShObcb|6(Um3#IP%d>|4ZEWaeb(Z6aB9mIMfhok)lx}UE`S+6$U zeP#3Y{);`EwdS{HQI`{HMx&2E1BQ`L2lXS+4* z?qK(`5Oyx@bMNi;^Dg6QJiG1L0*B1`_gOEc0pzGRyZmq|&wgj)EwBAgfW`WtJ@4LJ z32$fjAI|{*a&7y2STaMvRzqN4LkD=XhzLej>}evHqP|UJg?0@giw34-LK8)OM?(aQ zV98!;%GR}oi}^LMe)x{25*yKNc1l-mh2Zj+L)hOl2`UIp zk5U{*^jMEH7oSgmqiU&Daxh0UW6QP2X@*Zk57aKMn$%P{fZT#d(fw2YSDPe%iO%8vc2A;Q2$V5X3N#r5=%eJCOJNbE|-l#Z<#&RcY6*P)jfjK z&0mn?oU$1$i@$dZ+1S{hR==+bi9VrqQ`zf`LE>dD@{8S%NsrSB7FX9hr&aqALl%d8 zZ~ig*VpZ-mkfqCKSTE{LsT&Mu*!bT#u%V}?e8|#x`yGVBOmVd2vkZteKW7`phZ!yyqhgzR8y&Bu`Hc+zHGb;A!7@Xk_@L1tk?j z2)O%ZS;11s&HGBF4?W}KT)3#Ux8pmJ8}epaP9oQ3yTS#VkM%7cb5IU?od9Y27F>+(?7z4-h@RLk#WLnn;bNZw3Y8z3U~=m&gvNN;W1r!IZKtGmUi zZM9ccn_MpJ_jOMQ-GBmeh12H`mZU~J%?#ESKIL-PDY;HiZDXP)HC|;bv6bBhEq6&2 zFZ8?E##Za>ayj?rlOAyt`_L!T>3?faNg=c_jFKYZzPa4udF z0099oe@o2~krFWxIOvK@quqLSaY9uEbaAF8?c0WQ)fIN%R{-GDI6fv}qE>l?A)NWB zqFC&6aGjth4OzpPGJCD1I^peX@eaR~Fb#TLSuaXPUkpfE*iwtmq#fjho-}7`sl0DW zvaUpj>U(OdZMO+qUbI?D@O}>6nCQ0RQ&3QswbZ`QXHWSYeUUgp8IQ^_sefu#luA$O zT;(7=-d&oc*zb-cYmR%&YIp64Uu{D6)1;DAS2px#$EgEJ2j@~}=2a%+ ztO|WzOr7pTsg0o?pF6ET@}?%q_)|&`(qlv1&2>)kRz>%vYikR7G|}5hU`M1TI){La zQm~!?TXay%IzMR{?oJ5nPc`Xc-++t0Ot@$_bWm-hv1;d;E_`p&-P?3B+zbBn(V_X= zG-N)MK%j+g#g`=SP#~9Qimrvgi@tmkq<4sJU*C%#zug|Sn(Zr0M9o%Y^-(0=b0zGj z)1=Z-onpalLN`;6*JKgC!2U6M{OG4!<2hQepE@f0d5gn2@!K`x^KCNrbIm1Lb&+y$ z`Lv0*@Lz|lHO2hn1hZTomN|c`kyP;A)#o_UY+Y-imo*e{L-2p8p#+#trkI^dxpa6% zrrY;z8cefPAA0S%JW@u;eh64nri2yhLpec)9KpVT95MdfHSNW)kYOiNjd~&5-ndlI zn23Sh`z5S@PloD0frZ_VBO!@o`5+*~1Efv>s%V6FkB?Z3`XR#h<(sOQI)cEyGY9}X zxpCU8IkcjX9q7b{r*{~2P780711&+;6TUVJ6d4@aVFm8 zW-#G9SR)UN`8|+iKFel}rOy``X!F>Xp)CC-_J2N1{WXeuD8(!YW3*NEX_#${1X*sg z2oS6VlC4um<{JaGCoUaMSB7v|jZT!aee8=w@_{zv2+l zq>63Xic#p~3rDevxh#k1|5W7qFQu|i=?lC$PSQpQ017F3vJ=SIWcdf+rdq{vK!OyNYITxGChd;eBBax; zXvI+Sr!F8IMK+rN*=yfG5V01HXl+NPaf1#-#Km}9K&1+!?IEBa$JEAQjBtE^=#dY@ zAilfQt`Dn97Yf^R)~*r|jbq6|C|Vq#aws`APC#XgBx8z|ySE6RVk5noD1Tm%b*O*} zf(3`vBcK=r2dE!PhIRt=JXqp%0eK=wuSwIotY6)SB#z2K;#fL@x`9$SgCw-J5(}P7 zMh2m+$28TrG?O@z84jbJgf`>WD^#(>Juq@yj8+{+i?216$cBngv_dfoA|S{%-k=H) zR_Q!MX6JwD}nj4Z%8Bxp8|tdvAD1iUFR`qHd+9h$9&K#{fT z$gpiJf^YharCi^6EvP%1QH?_lwSJjbglql8ia~t z+Sg&UQDjpH1va#(vmm65$b~6U?AzEj4QwOetvV65xPNzeF5lgHJekOXGf4JHAeB%| z0E=Q1ck))Ci>)gbQU$V^rZ@zlk!v8uY>f6ANY|r-1|?}hFTKX+p43 z>p=ZwEYcf|_&Br? zm&cMy0NQhadVteL3nW+#+9>&I>u-Lqe>^2{W)14c+Z5+ACJ0>z0uZf zl#K)-zSdWHLBPh8ZRMz~Qbm+sVBf^xjDpbAFpvd-ZA@fYccRDhTpe=A2evT~e=J|| zja&e9E&;X=o8GPg>ITtZJ8W$f7(2CG)Jqu@*zZ=+iRh#pNM~C&@jke#f4jlJo{`7) z-KW~;P{*7p4bJ+u93X1!__=NY!+c$p(CVlKwl*VH6-PlW0F|L+^KG=lJ!fr=DQ!Af z7vWMm4bt;QcXv~?h*abn(0Uqg;E3)X(Ll6ewEKXgBmw0zkZq{^;h{@*acD)yZ$9Tq zrfmZ9IJ8j}St0^#Q^f+1s}XAgxyCL0@j^A0f{LZs^u;QQtRJD8^`-46PFg zMCKquT`&F>U1E@sxmbldjH(jG!I|tZ4M#E17q&sV-oQ?0kPS)z5=Vlyv5k_@IfYo5 zH(GsxB}rlF$Ntb4$uZfQv3hvStR1XZN0w;kIUBs{=Km@hi?G$#1oUK_DH0T|B&q+R*dy8? z>y#rGz75+BVXONTSHnOnkVCI$Cx?gG>2P&h*AU8v;w@3ArN-4e>t`$`K3M+h#Z6Z} zu~vIwwrUr_<_{JJiJ-#!aKM-^%_vG1CLsYMEXV4rtJb96F!MM`_VeWVFq=!4jLHq1-KRf*L0L}W29qRhQF|1uX z+cxxiIJ*MjxR{ zzw{}RKY}bGDr)C$Nxzsf!MV2rur`oyhto&B2D8nF`kyNO43noIQKzy_Tybh(%OBpx zjmgDd8!mD~IYn%zhP_W-45D5eh5_X?N{{Z>zjFVvtOgtvHZxPa8@M!#wNS#&Ojf$c zzAF?TgUyDVdQ*`*`oGsd)~QXgQ1(yqN33DQO+DYDnBBn0<9vxT)~pJ%aVWG-_Q<7U zM{JOa`Cftt*C@Vq2L_nRMIeBy8`f+Z1o;nZOIP)Xy;^n5Ju50D@}z=><@@A-&;rBM z#*IqoDW(0StIEoG)cPWuChYRHQmZg1t`S%_kN65l*&V_8UMcar6mRQqYt2X#w zz(m<;T>j_e#fd&{ggw6)A4;OCJoWfD76YnRo(MVq0-JFqr25JeRe!kb1TH>}fd2RN z=E3J*_j#r&rNjT(r0^&$Q3r7+i{#!q(c?=G(%DE?&}*-2HWMMwh1)x%cihJjAURu> zo-NDd8m+OaUHEeS!L*z#-=luNF(VbM6YbsSY>E8&d6q5bD&$3c;6c;LmxlXXyPiLq z?>Pq?t)toY_3S)TZSQ;E-hVo+cl6(I3!iEyoBq*uNO%`F+&-lEa#+>B*WGpyW;c4^ z<*0+**nxokvy=hD__r>0?@qjYch2s;*UOR5mhWjVCra!lY3=VHw(Ch=nR;mV;pxi{ zukEILUQQ3%eSH7&<7c~1UtWItZuj~3%g;Q!8R1tm(t8nq6vk_J_vyTvGqImP@M_+{ ze!=C{f|vc`kD;%Db{?y|omp4gFNSZYJUYMdl9p-q0j2gQst%L0_5gO?UlQ&ALce|e zEVrUc2iAM7J!2N1!Rfvbz3lC3q}N8ffZ|Dvfk1P&A7fLvZmfB~rqf5bFe( z%O%MJw>(lVExMJP;2*>)4{P;bQak(vcXISr=M6K0`CP`B=7FrC^z1T8eCzM4!yT8 z`}OPFgmgIA;S&Pekn`QrFT5`(Evl=dzZ~IxYL~XRxwx-V`m;xu+Sfv;+ zYMST(KoELEqspnK2SOkt)7O_aE%f&bsn&gG<=7{Q7=X~)rk$&DYsScoKKAX`8QeE6 zH#38b+?c9SJk~>HKq1ia8U7-KP?crNItOcCWxF7?PYe2B0F{Mj?J1jPh4*hsF23 zoBg7m*+#XRa+ejme`v>C&=H!FnwzJm*RbE#}=Jotjo@j%lE$?GRn_W*=j*UwJp z=^7{ld7SR9tj^MycWF!7hC}DCtR*}!Ss`EX2P_AV+akb+o){PNl=XblmsiZ4)&!uJ zZ)O#XE-Jcd|5+?MQ2~CxRIqtcmqXYQ(NWR$^!ffWmaOv=hV9nBU9i1gioBAV4O}$N z;sS9u&bP?uUAMimL%STgUY7LkMMx=axRt0w5i{_8woummUEutwh}$bHF=VebE+WHt zvP<^G-$uRl>y10NmCb7yHAV2RQ&=U3Po#f0T@(J$pe}uT6V47@>yIC#>7K;NdhX>d zet*snvC1Cv9F&tDOq4x-%D!1Z0kXf9;0!bWJLFQvPXKS<3~m@AD?WU|&|Ed*4Anq0 z{_ja}|U( z5hn=;`ss(yYF?L7WBBpKRn&hbw`RqCIyFU$=|U4YxY&hsQR!!h9KjT(I5OqF{9i8h zU>!3rY^PSKDnbYqS^7LnWL}O%7nan78$IOYij6iDXgR_QXCK$9)|m>47R-wK(#a0I zIGomAyyy`QQ}4y`!ZL(Mg!dF3eOK)#;RQ9c0tf)k}g4WcKI??lQzfvz!@?{$( z_N{2h)giLEiWoJ9=p)4dI4Nkx3!L046Yt6;L;11DBmC-eGXbc_puh85BPm{v>(uWK zx%#M=DSNA6O7y|)uHuAIM9r|U-CncEh&)B=)iPQ5z=WjXG8URZIH@|tZO>YOGfJBT zlr_zyAC{hlGIGi0IQM+3KCp48=Dj%IK%>M?{scY3$t1`uKc$0x?PDP|4CdO1MZkpA*p71cs5iWOy;jHaD%kwsl!|;=%Sc6|pMaDa|^7y*T=Fn0Q zJ{JxW&;l74&rW*tBb`MA+#=V|;m$5wu7;i?{_2nzX1hjmn1D4}(hooqHRYmbvUT>* z^TxOu*&GcveJCy;noAb12|8nhk^Y1&>)g3>!rz41 zBO``BbTqP^&Nk&tyJnPj|FTrt3{#+v#{8=*u#sa1wn{O zr9>`!g28Y%hgL&MCRM|8>7t6RLal1`WcW6k$*PE@_oB}*Bu=FAPumI$X491L` zFLaE7S7#8=MjVnfvacqcAk!tZ7{~RSv6<~AvW#lzg?{|_=OUpS?n}xsj+>Qx#vwWA z#*03EGplgd2?VKWmQ2Lq6}nsz@LCz^gi>%&hr*;o$}qM3ItWrco+Ml`KL)7JHJyvsn6 zS7k!Xo-^yR)=0df=v*ggn+zC_BdhRGPIhjkV&zKjP*twe{XZVh6LRI%T)mtGoo3_ATTyb`TnfTy zR?IU+OZv=jAr%#~JZ|~RBMc2E2NYTe84KDh=FpIy3~86XxlJCz1vWG*V$ccyFM1hc zTsNF!4<$jbdcQ(yZnR^AH03*7o$L#%+l&iA`<~_UIhx&hMrCFy^TimW6jFDq#^l_6 zLqUpIOGNh;UMc)Aq=6_tjlWsQ6uZYr&_#>4F_a(RAD02k7l`6q-5yu`1rAZXhAGEj zNb+`wo=?_&x0q1wtYYljC!L;QId|4NsKy;6Yog#ct8aD{cy)k|_m#RMQ?uSm$K95J z%>qu|f?ev_cZ>&^#4Rm0snFF9+g~}`H8@b^-L6LY!BERRB#FfEPPPS4P5k^!4)d@IM_k;K94sF(YDl~^0>jt5E_y3C4pqKjdLP*fa zdX1$z&qIsKm(8$B;4SSUrDOBZ-X&FWJ%=Sh{z+bH#m5@w_y^GoRF*CismdG?tM0|i zbHn?8`Dk#DtA33PxCnMo@-dCn4&urN5x=?vmSfDp$|r`M4pHS#5BrkuDpz0?EiPHN zkTebD%Eai0;+C}bX{v5e{5v)jg}-P7f-}XwsJO|gs?IAqY=&#g!M1?_LZ@QXhy{+E z`C!)0szn(mglV5gl(rZ|YU^KX(f1-dlqKkQ2^idHF>uk;>}Bzjj_@H_wUdHI7dH{@ zfZRc{K!o0hZ)?$Tqn_7|B?Crea1hBOrSUR>u>qP9|Cf?9)AEaUePIKTNmDWO49u;=yN+4!-yNLZbc3Bl|%hV9mneXQIQOM-IC`9DqniaFU~FtE1$Wqbw3F&&Rm7 zqJLYc4OK(6lQ3`54q9cHw?H*$5>|REaM}Vf1y{o*;oMqrhqrJ%AEZ-2l2dT2Q`nXh z9_f5M$@yff^O-H@c%(~ml1s3^nv{UkINX(rbmh0ePeL3V{Pm~sZr57ft|Hy4k^H2m z-HleYTVob?knT6f4vCZ9j$z!dCuy)+HQQSCJCZ!W828yn9@Iql$)v-N#x%yZG?&UW z2K>$1A)fP)!=qz|zP5S|wjMgC?fo#xRAAigg}>LwR_YU}ZxVhCIoa`rFu0K-kek|EH z*z$lKW$Uw<4r{L{0UeWbD6sJqKu|v9a`m9wQ9@wF*PgSs5$(PR!yBJksoU!naQ^80TI_&Zi8qQ z0E6G-&;kNf$I$Ag=Z}#zk4Kpw-~AaG_9UE%b*CixTR(}q>aRXPQcmf#D}*agM5#Q` z^>%7?8^sfDwBp}BCKLpQz5W?+-Rg)_>v3!=zFZ-+^cTK%C2+LHjg~|hho8E;b?TuN z?wWsW(UoJgTDM8G{Ulm#!O!>HJCA2)T!uUq(@d2MNh-W)(&4)bN59Rgs|2boGu2*M zxqbs4mwp`kxJ-S07AkNxUe7AB`LWs@-1XW1#Ak=q)|u)#S3b;G_+7VB)4ZxZIt#rb zqc#Twi~*A@52&a7R42DWW1hwg`m6Qg)#}cRK2tEXdYU}XjC%`IMbe)smPe{T00PQLE|uuf zvG;am)zF1%4T0a#1-M-WlmB%?r-7;szzdWzXfIPOw?&OpeQ|V_*j%pedI2`K&%x_A zlmkDi6Qtfzt<0Sz3I6uN&jo%UsT(Q6mf-4|{%X7-xa%TG`4;-bAdt8SC#eRium6t! zFsoist-SR+(DMShc7^Dr=r&k=;as-*FTAQ;GqetlF*(A2knbvzocu}q+Ahu~o_ND_ zc|V&fam0T9NB#??v%jyNzY#>9P0YfM<;`2DJqJeDx{+_U(Z2uCvAU2Q|66TaMEw&` zeI2gCMXNia)Sfrxte{o6v(U|1=&!D9|B~=RMs0~y!ktxXu?nJMbF8l_ zXU-mv?1tO|I^f6C@#M?bs$DAZL%wj8i^eJwwMtF+Ot1ib-zuySE*FA^Fu=)i60lxi z`ggSS-tti8E$!%uG=?K&b2eUeGLfe=VH{E|yT%lY#0Q|Zb=D7vKS+hSuDCAK9EO-z zBM-?|M+e$Z__sxrwtR&YKQvxHpfOl|#8vmwE?g}Xm)oPImJoXehgOEndX1r5_wWi| zYYzQFtMlV2C&0-M>F^I4%6HC6ZEEaRF6{%ETgK?j*!!q0N4rhI6HirmZt~^xx8!x1 zFb^AzujC{i?xqDxZ3qanH5A9;)g_o>&mEyP)#9xT$@L3jUTBd9l1eL4OaTq^gp1cW zLb!1CTO^4VhB&uc9>Lw-g3A*eRfq#(3&gBN1>1LcwF#11FAz3zB7;$#0dUMbIax-U zi)J#F%Bo$mNrE*RDm+uX)Zg3IuM}X68NmVO;w6$Imjp3Ft4Vo61nwwJJSmP_v>(i`6_#r&ul7LbLD8K3Q>I-dUZJf+ zOcM@S=y18Dm1(A&HVb?tK~nz3VBo67RhY6kw2(pXJzbz!3RC)g_04;!J!M9)CvdTR zxWYXmgq|xN2^WJh#R^Ttq1FFEfRJpW;#tw8F8?P7=8_s6MF!vs5xL1YJ^Ax%GCdNK zZ2&PSTs(m(W=s;R!)MO}C5Jj>iL)#1Vv-Q1oFhp{_l7bfLaxT~apf#18!ycZfy2_b zoCDj3e>0UnG-pK|tHrO}NJcTm!tW?4%*qHALK-?`Ll{a68VX}MZ#`%4 zqe%P%63>T=p6xrQ3miE*BNw6}S2F{FqNS!f~pC?G6HkT%6Ap%Z$P3dJ?6OC{mrEyR68=;3Qj zFeZ1O6k2JUFj9*?{}M80hgEN9sn-o7nd z4tIU1sNPCc=5)wHNjHZaY3)nr`u4^>(bEa=4hCcMi5her59JYv;;xRb=&n);BneJ6 z`xhf&0Z^C^% zv6B;8fniQiG#`pzsxFk7mI)uMMllHIjZ-h1U)ypC0b7 z^^H}{v#LQ^3UsYO^jvrnVXI`55gnJh?9LW}-Xjkb8~4K8YtD|;hxv1LfbZ&qja*7m zXTGxBWSgvby-Jo@Ny&w8}iGw+nPQGix@v~Dt9cU9$8 z+I9mn>KED+;Z#NJYUw-)yXGCX{zg`(m)fLVw0R?{DEyR7+8A_rUPwpbT2?VG8D4In zIGa`F38*!DqaRHW7E|n{C&=oL40XJ9BP2ERhK+t$v)-TrJ6Z1d;<(vEa*eIkUWy~R za-zyF7Dk*9S9U-l7mAVO0n4g50Z)bBNjWn5&lV^HCmVc{Rcx+ST^3ia;#3comJ(}9 z6mG{R9&*)2%@rW#=+#FoenV&9qDt?%3hCblJQ7#A?M)IA&8*VwbvP5cIp}_;@k;oO zgJ4U4AD5y8FU!wOS|vBgQillDfVx^Ki*5)=L79yk&C!aHj4DKa?Szclra^v4BZ^uD z@{xf!c&~n(^W0mVK>F;WaS;RUWT-PYEMY%G2M!=Zl}4QueITP8WP2RTgTD>UdaKRC zZ4Rd9%#{sT$5++T5UkLVLyFNT0iKxN3-5`1o$iGMQTuEp)|J21@u=Two`dgmxEiD> zrr#AE57Vz%c;u26+*<8v96F;VjQEH87kgu6Xf#(o*K$-O>(5UWalQLHm)#Y340OI- zf_Jm9T}=>^YSQfugj-W?$i3D7sKmZ%7L8-RDNn$)i1Rz`&FiOI^)%ajYd&_5$0@sD?01HQgq3RoeUsiln;yV4!p4-{d|YwhW{1leYU}9_6H% zPQsWYnw2y?6+;o1q!IpcrM(H;C{`gd6bI?ITj_HAOZnXM*c0b>kmggCDo;Ns zwtWxr>#JcCKlPcO@HxaA@Uj{P5pA{sG6?(4Bua_hy$?|(_kRy*mDv3zCQ2ucHY9o- z{xZC8@cZvRixRspRf#3G^UI^wYoX_)0N=mNu>by=sfv=eetV;~*bY!N`od;w#!uQZ z<1IQ@$F62x&hG0?(7@LlKR$UKU=BWNUksH_J5uUm{~*5TZ@t#}xrzS*FP?byQ8^C! zWV9#s{BPTg328`iT(+r^tMoFkBkP%8v3;+ZRC-FS`fAD{n@zNo@CZ(Qiz9sC)NT0> zjnd}}-#{Sk;I&W6AQD$+VEWEPhcQ;v$)I zN6WZNI%B9mO3HGBFW?+^=NaX5+Lq|O22W)-B*YwAIOthk+)2xb^**w&mwz}rnO3@* zd_y5h|84k(a;p!iYf22pS)Nljc8zompZ0mjF;1j3S&J-2YTQ@Zyc0`z_nMoCpg|bp zy$XqEm6CTURQkcw$ulo>Z?rkYIGf!qk}xXrd0K8=3+4wB@|ZtJm)~V!nuvDv5M=)l zChM9QIi6T|Wqih3Y@umv_#?sFjbO-y%_iPjVmzT`W&k~9;)-0Yo70(HKW=oIh z05V(~de+@JFa3mTFojCD(`sn@Y+cAQGE}OZDay6Z+9d|NBdSlo`DLHzq;l~^Ma(;2 z(}Pmaw(X}+eCk`GJ*I*h+fPJ%`#+mp99Fme*x9=)Fq^P{eY&~t1mS+=#^8$-l@6hk zt3Fwq^Se}c+g4w`_2pn*Aa^n;qw96V0cBb*7Lz+KUzERszFVLvJ1g4o`l3j(ZBC>2 zBI${xR*>K zEsk`WH0%yJ#=Rw96^rm5vJtIK9c5mn!=LZDf3G5PocwY2qG8)iw_U~_`Ks)e>FD;G zTI;RIHMpec;M02*0fbTOszN^Fkr3>aHjT=BK9oPJFMC9>WisgV5!YH@@jPnFe9LG0-ERHc*KJ$&-i%W$AsiAh zQQI~`zMqDkHPmKN?AUAh&Q4V})W40|dE(^zd2Y9%@jb<^bA;U7`I%HT-bRdj8B_lD z!^T#;vE3J4t+ktlVXa#V&%KM}z8$Qdww>=OL z(v44@lwXr*lu7r@q)tEbbCbQ=qWh}-aOm7`RrXQsSPr&xwYcluhEeRrRBUuxfga16 z@wbZ!C)blV)(;viA72c|M}N=r{JA3Sa<0?MN?U$YVb?$MLU%s%d+@@WYfj(frlwiP z+uyhC-Hd7eOtJS}nNM-soA}xXUtO=1wI8bw_he_%MZJskUL8J}&iDwu>ODaJWiM*2 zfAQwt@mr_%)!654TNS_Dhl;))JHKw*d9LSUxu|$ru(!T+=l$h8+4~bsV#Rflm>*w_ z70%E%e(ityH~df6u;z@@&e&7)FKe%$BwiDz z!Z3_)fm#54@heA9Zw7nc@HHRu^#Er6z&C5sFp@yjjX(jU?;8DUL3OXE-vjuNFCpuJ z0w#e_{vZ*PAUXbkr^LSUDc(VS26@D8KP`fP!h&U*OgpFjSiAyM*IsEB2f=X^-kDcR zr+)Wu2a6OzFD!yJ_(N3AUXI@g(Jl75f%NP4^e{XN99s*$n-XFe`*Nhu$JoTfsW{{+ zL+IQMgo<%!UZ0OL!mISLM+nA!w#ZYY*gNO3S9&ADm;o7ral3EgCC3mJX-pf`^df-Y zqj(w-d)qI@%lv_Qc!5c{kxO`Pak$2G$m^+aIhXK@Dy(TCe}s%d#C4a5?AsA)T3AIqt}qp8^zIEnCPAL=slCD8+b8C>MZ`(+JPnyvokkO@)(c_TO7naegLEYbTbl96uC2v0WzxlH9<{N3|f+6U8I zk5-V78i?KM~u_QUXgx9Pjb)e+UW(l;V zBulU~PqXy$N@+oOX-R46ns;g0X6ainwrqc_v|6*QezT<3v8=hY3>9A1x>@$#v8WAP z-lbV?-%{`@yu81(d~l!~F(4miRz5CR@%W;6(y?M%v!FA);`2a-oLR*eaOFa2-mGBd zien|6X60IG<<>y<#z5sB_$_v$@<8+LiD1@|^ zy2?q*s>lYbCO68Dsxl~qs;RZAX?@e7WEF&E)l6k?ehyT#T~@M^)o?jga%$D^eXih* zs1b6i5FD(zs#X3CTq}9MQdFz<#{IJE5w&t#rLu#yH`7azq;)Dn6^dGQY7r&3BkHu6 zN+bsB^jb?b$?EUO73*r%8~c_a(>C)=2J5pN>mQIc=#2tSYEm$3 ziVE>sXO*qkMl>m*c`N!C)plpE#LQX-U-R@PD>mz%%UQq7c8 zF4S7@RHcdg#g(Hsctj8HB)?jc@GCt{X3F7^$-lW$^RY6t?u*+f9&dSBzInJ zFh{-PxCOv2UO!O(2akZkWtDO0b|A?BkWaoCXJq5G= z#(#ve+)ntxboM7EOqaj&>U@8Sq|?{!yQ;PUrFDl}jj^>jOxPVEqkzM=@YlbL1~YZ; z*DS`e!#|JTXmK}UhlkT_800q`EMXk3M+^E{#02!jYh_iM-g*@H@>=kZ$FxZFnkvB| zHe0t{ei_DDiC=8KnkOjdZJm;(_vr2SlV%l?r25UMD~9P6r}ytSXJO7n#yW$V4$jy{GTJs($g-{W^I&h!r5tQj)308q*x}P}uZVy3 zF`1^uyMICQ?dtn?Fv!3{V(_bMmS6^zTA$p6D!spuT^%yI8F206)XnVVhq5>40)Cxu zmfpBN`++g>*5PU$R_;*i6crSuc#2EfI6Tn{E>hu&@k?F<+#$X@Lu%I!J1>6Jjwpzl z9O^0LrGACZxpb}mJSE_G?sv2tkJXd=fr0^i*tz(&%@rI-^?*z3b<73c{s9#8;|%iS z2SCma^wKN%%v}YD)&r&XU7&vRc~VQ%*#s-6P+v?CH2MrKVU338`?(elA-VmK zj7#c$va<)#UPF1Trc=>u+PgC2pabf+-sSLp!DNm9JIe>mUNKRG*lq!*+2O3 z;xHLqXM07GZ_vt+z`K{+;^ve%?5X)u>R4okb6N8RDELn;tn~u6N8V^M z6DxsR^nsb$to6tyIROo%j? zC$kMBu>cW}B7iEUBPb*6CsKY!8)5I4U-&HE@k{Y$>|zOR+!I?8{gVTD%j^pq#qPEH z_+cO0E>7O&N^QXh>^|01RB(*j-%bW#6jrL%SBBxYt=X794RGdNK|LU{O;?RC#q)6Z zIj^Re00xNDRM?7s5;+<~#7u&E*tO0>W$apWval&#h%=PPQ{uSUkCpctYbh$95-!e8 zSXI|i$m~9*oR&dIxcdWU(Fe=D2^rt5EvYWl4y-!$-za;!U(7vL(pYPY>b{+ABzN^} zT@WRA@}e0ydSd>```vM8viE?T_JP08zXPd`3^H>uYozEmCHS;eh29XZc5+UM`|(qZ zgHULZD*ddRU$;8kcxaKX^{nSFm@w&)>S)iQCDzNcJ~*TXh0tE+WID&FH`vJCt62_^ zlIag(=1aKY8RL;3#4fLZl*N6J=>-5RcUZ@`-8+qt&ew(>a^t6!NJD`HF6c{iM-Dnw z){z%%uj~3=;J)ImFILmpG)%vkD%PzpHO67WS}#6SMc0=<*4Z-qeDSeqq`uN~cwirXK1YUK4z~OKh{cd{3-E z@kg`4vqaTZN(@Agg?eEgqjsKD3qR95*0_D@5270AYoHGNA4bdt5c2D>3t~BW%r6xq zmB}Vnz0Bo!W(rAbt|U2!OF!YTn`VmGU=0amk{@N!OQn!wW@x$KUa(TH+dn2?I%mPZuteI1pZv#DM`6=+J&Flz(48*J%Hp_tS?Y z=;@cRPU`MsW`k$96-N_iq{r4k2BmcGbz)y&x_t%u_tjXW$5G!OE}67W(y2)M$s63q z6(sb@Um@Ci{F-K^xJY38IMxMm5h~St*>F>te*$St$m_=4h{a5RznE;YenRkK`~(io z81?2mwYDI}%G<`JBMSUIz(EA5MGQ4YV?`IFyosHY3TFU;%Q9YiO>5Y-K}?Fn4$0 zP$Lq`HMF)VKTI1*Nl#BD{{ixdANG(aWDg#)TNMiI+qgB@99lpPNB~@S^X@)m7Y02* zYacp8e2|cb9<~}7sV=lp?-)6w7tHvct>77@2$mnVJQfHi0s8e}-%*tE1(21hF#Q>r zl`SkD37tl>tm}s#=!fUf`{29SE_DZKbZCEKr`WUbTC?yX41n&zVYD}3%(q~tV-!Ty z5%;eJlEp^gx~VzGAv&tir-k9THuOyZ`U!w;j!`VJN8(e48m{9Ss>2+LA=t4fCM5{l zlnt%`P{lH$P@L2i?NSL4)}mcVl!%JP{HX#WNIwouQ>O951oSJ}3i5G(#LgwKHjsSC9c@nB5CMhw!8cHVl7}UK|df z$vM{&KzQD_4v+_TTG`jH2H2d@ZSW-GNW|}O*|ev6m`un+?AETI&J_!8 z^!KQp_X7M$JFx<^k`oj*Xu{ZiXa*2V(2)rwXUL9+ur4I1HX0EsLF8#ei91Li@@1R> zP(>R;n>7kT@i*Feb zw(x2_Q!?>@5tzaD*dc&L5;a}|S1P5V08GOZrdUVu^)WRkKU8ZKLa7d&VowI)L4Ywk zDp~3?iwN5kO1(nFJ`DPlE-Lvf&{aK1q$z)z9m3HanwygI6@U({+kqA!W2TDRXb3)s ztzYxq`}cy_Qy$~`R&PB%TgP0J8894OvG+HnI_(rPP8mNI>kdwU_Nv zY-q7nM^L4G;8pt~kU{Y}vgnCfpj#nC(WZpqtR$PUG*`AX->kIIr?fb&w3N|kZLGBN zqO^*!tfHk9#i8HeQ&tDQ(y^@7JX_X&QHEwL@02a?mc4y89cS3_bXko-dG;RU;MKL* zJVK6&g`?X|4zN=Co0x%Du0}qpmZB~yz9-#k!h)2+CG;QAzBiR1)0?zRE)?r13R_3m zR4J@oDW6XUW-^shNlJUUL7nPd6}s>O?8La#P`={!(qg=v;(j&V zrOs!cYR1-T=Fiovm(}b{HJoxaqTd5~oocw#YXtv}|6slzM@3p|o^#g>`@yvbts|9A z(=}GxQ}gDy`l9b6ciOeSlieI1948l>_9x}3>lw9F$vH(bxD4fQ1-z$tF1<}^8K z{z07y7{zCQ$liQzUIaCt6Jl>4;+|Giai5w`2r8e5IG8W4|J>Ss*@|X**D3d|`~JIL z-*=ewcLS~Oh9dL}C*Mg_zZw&wI=|NT(YI|Ty=}I&ZSHg1*UPqfEK~cUT>J9<_Eq0@ zI000%K4)EyadN_m_k3PcGkL@56oyq4DKmgnnp9 z?0ceeG-){+e1OIwHmKw~2q@q0e?}9VchF@R?QOkhVfJM!@4z4G;27fI^6MnX=oE}Z z3(s}(XLN`OcS^{2@iKSbnCp-s?_gj?OEPyUKIytT*C{98af`e|Z5ypp-l_4fL(8vI z$GmgzvP+7&TX3$6{Yi(3b|;pp=fRI|Y4ToK;a=~vfiD+UMG1UZSCIM z!hP!6eVXQ7V%xoIWqqrIeJfji%Vd~uW$mmPJ=T$Zs!#fKA4XzahA{f&7{hIhrEovu zNl%z|zb$$HqsV@@q5ena7<0egG~t0vzrLh7OwkWa!BE%vWmlkfJNfoNUPf>2T%Sk7 zKy1c9eEDGF6HIF4VEWJ?-xJ>kwH^RI^jFD20Y^XihR6J05l6|sZzWgf^~JEOg#TwU zxiwC5xMOqk)it-xx&BG3$V_;U&+?j{eJ6v$tM5S7RPk@gLGz7|At_LH4?)uHQ!iv( zY19?YqSf#xarD7pL&cwDa;?TciKAZz|3)U~R&J_7^V}m8dN`C)9>c1~sFkVRY)2UY z7j*ji2XQo8C4yDw4>I|0;^=QOd6o5GrpR55MV>mhtxQdZS~yFXCm9?6plcixN4qh<6X&%d>w>=PD^NYDh?`PzP6&fX@k}VY#QFmAl?a1X zFcF>lVz}=ce$EK7-Mdr4QXfsMBc)eYa>Hf5t0zY&5;-Iz`N0l0_a$|uVNq(=H|S!B zWCd2tm~|a^%=90YtR($GCbtL`SpAbsZeLik`hQF&2YZebW_WCt6s3j=mO9HR^Jn{l zqDwbR%NsT~%c^>@f?MTvA04+UnpR7ZC)=d+ilry*!nwh^rO>W+u3T_Ui**l zTYK*TV&Q!>0sWKxj=vE{xA(hXYQhKIG{#SGWO8iCsQeYDLft-ggzzDTJNe0BKY!7m zWb(s7u|DCWA*tynN5j%<o(B`vJS*0ZCW#JA z5~g&oe$0kz(I2xa(kh8?=v}JsTzhT68(cq5v~m;^V22Mh*!>!!K=(P~`ur5vNwD14 z>USdB^ko2;DC&z}$=UbMQ_*h8Gx$Akpi|G|kG?Lu;O}1tzRw7NfoxRnd8$F3>)9&) zEs#H#nfpTH7jyop-t_TckUxKeCoi~OP=ne?G@3+w>}G#99$XUt0oT~J>y0`xfqPB6 zh5RXgx(}`!ttZ5A5dU<8*1OSgmmhat5B3=xSa;LZvtcmOz9eOlK+zUB;1x+t<96ZpvpOT4e(<>U%K|vvS7qM3hh=6&Vn>@Oq-c!5cZIy-1Y+ zVJ!~)H0{`VlP+1RoqsPmWDr(Lisx&{@qS8CtL%;=-!ONbh{Y`+uEJRa8uQDsD9YZdzpx0JD@(QT|DWL>cNx^Nf89h9Obng!*N0B>+tb>9O$}UjBKEWi}Ww!imOE z_ZpjgZsg5hnnUgsO8KBMu&DDRfy<0!_X-Jv<*gjP12YYW4`yP8V ze9765z9SIVd=D}p0y2A)J2F5FRPSyn!E@eE9dpog1GlsnIba`1mvcG95tM|1?=^{{ zS%H*3-NeU@9%DhwYcs_9c+M2j6veSM3i5Z^j37QC0jN@u08;#a}7T$XC{y!|unJN4Jr)`?}x_hVX0@!2*_ z)a+C`O&GAO%c=Md<<>HNCc27-H6RT{6cZ?rlL~9oQ*O;Er5Kxe zNxBt%o+n=dj5kVESwnsj%Y3~Kb)Vy6Jwz6I-i?bk<-A+7rnBc`of~~t>e()uO6;>2 z@hEA(@jU>k^5;{D1~HwXNpzh9h_z!4@xnT&U7V5Z+6&0g z7|A9Umi*4lAOi^6MwMuYj4t!OzQ$Zj2i@qiv)&dNTI;Vlok20M_baBQ zts$l<22}B{RE&cJwgJ^SBhY=Dbt73mGd!g|ZcCS~G^~7-$o24@B zz&|_!1)v=_ur>eXzz!5+)yz<@&h5b=!X4-S$s;iDuPGQz7W+N0|Lzg={{s zFZf`f?hlXPZ-{W6Fj&VQ9s%DA0PnvZ*kr#wf<8W70zvViCUH}q2)rkRVm8R7!IWy< zk$*F=by^#CJ~z2-ef=9EoQzHP9S#xx&jb6>k>$6Mw${HP!u8tUogb}FmOUD6Z@WCj zA;Pot-naj}JUiO@Hv0ZOP8%TN$9V*F_VWQGyv6f@P zZ#4E7dDxudud~{ixPBII?gXt}>w-ihyZ`2aZCASSdth%AWrqrG7Uw59Zk7}m{@a0# zCK4(S)+w!v@t{^Xw~2ef(W)OeVrV3+uiHzvbLWmvFa-Dvb{8=lN=vK=%Ln}X1%UM> z_N(|g)tHyV2~6Sql&h{_TAO)#Fkg-~!)_JeDLn|U{Bgw60xbXm0wjFJ&*X`($iw7$ ze+n7iqdb$_gcyz;6iC*2_wD82}P2UKF9ymJ48ek<83m+_A`QL78i00 z%L%gD$MjueKWzvr?_#3m#>jQ!0lhy}nMgR^^aA+eFY3BjkMt38n+7qR3wg}eLh0)J zL@`7lfc58Ojv98A1L{j+5fvui$A#+Bm&0{0e9A&Q(#)+33Yyy`$t8s1=fKA?OK0IFOY>>`_ zKRkk!nHp~!%pZwhm9bz>*eq7o;hLc6s{a&P$+$**aQ`ph0>o(&Z#mMCNE zZ|@#u0Tjh>Vom)Y7C}!y*Fwd^@c>6*x2!G;dkG>cW&i6c?7jT_07L0`!0ma}nCR>sfce?A z52`k);XWvYM_uM5H%2TPPoIa*hH0ID?oQ*thf1H5G7E|_lRnLlHEAd1_Bv%|(*qwH zT23mQqsq+JG^bl;Pb$51rWC*}#_r1$+56ckax}!%ZJ=Y;=5>%_w>XqxgsbFxhMFh{ z9`t(Nnl<$2V_^{dlWR9u?S*@vos3i1>mS#$Al$deB*YL730=sG;68=!jz|+dTt83y zjL^#QrzkrbE=E`O9$S1z83+C@hC@Ka@zf0Bazi0xvJO{$I8}I7jrbf6|eSZqP z!7~3+7|tfdeW-k+CiL1>C48otUIK!D%$Pg48Por-W{kdNWGIa5zj?-()H;3vqt&35 z7XLd(A(tpAZpPfLuxGgIsI|7^x!z9~p7euUoq zd0acHcx@obI$B}myY)?_ixjS#zt-<8$7x^RSdQ1fEwGYcbkAWW(d7U2jL~#Zl*jc2 z1GqG+lX)wyV?dF9hha*w*^sE*sQZ->1Q-OnKY7u~%m4c*0-ngWvjsKTarmjVH1GCr8(n>PI*X`K{JEZI)2?wYBnE)?E=SS$J7oJx zZJGt6?Vy9!vG>n+7%EyA9+w~VGJ9?x{L@irJqHQ8`j*B`nLcj#tX0*<%FVyS{-hp}g3!Fcf!$AQWY@bVzmEY^<|no{imYQ~ zUHYO>3Oo5nUaHT?rq0zo5k?*(J0{VRvKWI`C!6JsyBAwkeWI7!b%@&|J56hqm%EMc zpB?O>iP_}0JLw@bmke=bnQ4vftHqqZz^a z{qGbpdp|2S8~1))?)P2A{y2Wjc>eQb?Jf4#kJCNemP4Km5UZm>pil=Q?Q9S|22CWp z9{`KYCg4-=0GsUxG7M!C-N1A}eD;Hq;~t*wFT}h?I{W-W_etd+#5{J{W2;Dki(dr9 z96p7zwUWSrx`PuB}Xs|8A^d z!mu2VU~3m`7>N|GgGc8y8M$H(Qwj(2 zapt{0K5lXLn#aV3$SqQv~OcBjWoH%7;>8@xPTW zvlGlfG6FP)XsPe;o_z9qarPXUPC6N>+-dz|adr!)fHxfeR=V^c%<$%o-;bJZip)_! zbyEbEO|M;EyL?D8{rBSR8(H<%?H$5-gF9%RE}U^@J&hUgYx^Cp+0BPO8ZzQ02M);V z$do9+!4QFFynQ33b8;Fz(P^6Bi}M7{{H^n4l{xqo(7Z7cw>Wd^s91&=g#Jpfw~o4; zGT{W|>{9fiUQ*gvD_$O(e2VR8E5y<22an>78Awn(w3CcJmud?SMQD+ z!|l4CZYDR2Emwq+Os-wOUzx=5F($c>^SXX|-SsVDn*poknB;NA|3jr~?ruG3uiLhx zb^^KINzUf({HN0O!-FFTzF;7KC$PtU&PEcj0J-+EzIWH?x4a0H&=IN}%B>O|oN^r! z9;x94u1}WNHq!1sq2^U2j;d5p{-?$HWC};{Ir(7nxZ>oax#!Nwv;{)s`;1NU)9;_` ziz>d)K55+f{@J-tyXR}!2+@o6{N!gB8^uMH7k_=!rk`E@`KY}+-Mz#;YFB^k zchf)raR4Oqf9t{oDL5S2CFkk&o#Mg3$L3pIeh>fy2LrDx*gVcamVu;_J<4zQhYCtHziz3>;xgS*m7rZUVTvT3?@cyF))dd zPMBrGIhUqLy+_dOAlzgqm#z`hBkFSyVL_h9(5K!jk#-PiubuZF;TmDmSfo*&z!%}@ zxr^wGeT?Xsen8BMU@klwP=CI%&hENC69&E_dP{Vj?a(s65#tZ#N2|mwY^sSfiozKifeq-& zD$mQwY;Sdp?8uZlGtptzlKB$jsibOLO)90MzaD$6vnsdeWKO{HbEO&XwOi%^?fR;n z(kas2HHW8Im|C%RCQ&oNxj#|3{JJ%ywff41=yghCVTp7J{Zt_W*PF}h&g`SsNUlR; zxIs7w$+N-moZJ9rC_#{48rdhG(jOf;mB$KN$OjF(b>B@=N!{c}=%zdHwlwjjmYMVF z_7mvS3Dg#ggd+^S!;L@!^(Cy1eU!-qM#W|)r6$9r_x`dt8wWw-qiJP-%}m`~cl)?) zLc}(Y>mu3D>1$BzV>@o@1C5Cpx9aw>9gaBx7%@K1^OMSeL^uE%3wccwW`RiTm%bBd z>}|siu!#{$?pl7tG!SSAA0QM)EJ^S9vD0;C_o*mcnsV!WWj%9xaHUPbZn zyHA*4wf}Rt=4(dagN&ul{ieR4b8!?t*D?pT0CSs&EG~XKkw@~pUq8Agp-6j05T|sB zyGSHC<*tZ~<_|s`Ih5*(q!x?+#ABx@sWnk>e*DOD%NkyU5ulm>+<<@96AnC#uG(J3MCa#I&O?W=Bj(K zq{60V^2Ov|!Zqu%C;7G_4rXezAFD#IRl4EAHJ2CDXh=g9Vuu03)Y{o5dQdI%V~dLT zFV_YD^Z+IxTpoY~3*eD3t5;=r1d&h+nq#VRy8b$tMQJ(=f_wj^1qJZ~0qT^1s`J3y z-xaM7(t+&A93=;^`69vJ6|EQZ;{jZi_g;|V6Zx|O9{yi6|Fod!wzEBKuK;@dc>J!l z6<>a*UfaA@#?f-Xk6pqmkrrtTdajU%LrvAzwH_7){)F%k>3viSEao6M>FOxXg3|R? zy4$Ij%0Ms5BUaxv_~AA#_1fy8>I9^L?5)z+g_|S7l!VPc{Z75czQ(IE&$jrKso>jY zWsO90gvaBqjhAnU8UQ0{Y{RQDNq|Wa5Dv((wz$~EDOxdR?iOm4T*^a#C|Zdukz)ZQ zW~4^nUjM0R1@!&jDOzwMfn}5`ox^ghI&aDU$7^HPEv}5D13Q2!FaK>psl2!oTS>8@ zNl}SrbcZN!X587XUM48puF1Jr8iiv?5=LvOZ*7&=0u~V{#W|1Gr;YQhsv@;Pjzao3 z=}j-Uo9H)GP_4_?OGVxS{(0jqq_?zC?FV+@BC;Q{KkuPo!&>_t5ShWN?@4Z$qdI{x zCzt}nm>lS$GaiBh{fA}Ry^!Y_!WeF{1f70vH%a}Q`-W37XhxR^*IcIeeg-!$$1V;> z#OROpMkQ4khb2H13ht5^)gbbTVd1X2NiF)eq48VB6b4d&g~HgF;SFl{%p-Ce-9e(L zrx3+&!cq4XeRFyJa_wgDBj%?I#2liq1#;?< z8bvI6aHp5B8ux|Ru2lv~5l+_5|A}yg>tdZDO1EY0-w);+r_?fY=+_q#D?OeAPuKdb z!Ii_quQzw!jtgByO@DX}ek-1A^HyLG@Z0`*mZTZ4c|AM+s=&ctu8ryE*q>+rbZs#1 z`;+`HuZ{aRqA6-h7)tnwZcQvG@t<^n>4g?j-S0vIX;c^{(V5^@Dd9kL)HBI#Lpg}D za_F%b0#2R_!y?qXIT;U->e{(f$(U|l*@H0s$p6(~rc@Q0UAB%?bV+WVPg0cHRd?&{ zAnNkM11te{NU%jZ(|zSW8b~(-`FNnBhXIocU_qZ>rA+@FLk$Oa$4ar2;9CArGDsM3 z&qVF%uLbqn4f$lbs2Mm001T;IU81w|T~gLG5@#rZe02;bAt+n{my&7N$Wt1b(Tw9) zdE^SfSz7{#fH5V=gP9%9l*QTF^G_{+njSx3BpunO7ys*LbYOs9Lm)|sqN>X9jRd>+bpuAp-IxY~243l3z zm`IDGv0;6Q_?R0v?yA4UwtH5rG?4@G1?G(>V4HU|eT+O4mr6Fh1m$bSqr4Jqne_V(n-OYh`mBjJv2NJJJ38H++3EaJ{`^_RKHEw$wF*{d)71z1YQOXLRwWwwgAlL0M8sk=eLF~ITgyy{Tn4H9HrN#*4LEBQ?}xwC zR8Z&UHGnyA+IE@)z^713E43!Fj{62H0-xvaC#rI=y+jAo0rTN|Uum79NqV##`RCOV zjjp7IfaT!^=Dne3?4~dh#|@{UHxM4C6@DUGlH3sfjKx-L6#?LCKu43?(KVe|Atd-& zSz;)z-TQ1;KooBwzB>;a5-ZJ` z)A3jqmq~189q&)5Xdue24*X*<>ug&wUCv;18)}k=x9#LEKaE8<)D`LMINraUof&Cp zP;&>LJWId+%i>$3lXcAXm`h1>`<>?L;a!i`%P;%UjqiT@e4j7Bo{coNpAPT6y1e`b zK%3CSqR$KLOp3L6y!7M+KY9l5ls9cxQSya$HbX@OQfhIo-!_SB1IN|>J~ z`7(PWH09Bmm>Ldx?iRqGM~F|_0;=$lpil+Un1kkU)V+Oa{hHEoX8X)oX{sHM+OL0i~gz#_%#NZ zLy@&t0oh~FebqproB+PF*AoDw&>2j?AH2(2)`M`t22Z@12Rw=8Ek?K^+F<3kl{_p$Qfkx^D`uhAuLWh zEWso!$tx@+B`mEeEMq1t^DHczAv{+)Jl`a|&?~$+CA_pLynH6S@+`cHA)-b)qRu3u z!7HLEC8DJ%;@wO{`&k5QMGgCl zIAnwO7OxVJ1AgzIckuXm!T$eZ2Mvk`mRtYksv718j%MAA{VfhP*Fd z)ybz^v=$&4zbqwuon%OQF@Q(TZJlgZKkEJk-r?aA{_rWz&v-!n;kJ6ZRnJIuE4g`* zyu+eZy;+shT$9^S`k;K@&kT9j=_VfArMj($9y=2KC47AsRZ^A{>p7zi5|8A3kGH?H z7QO!VBlXu#ZOqN{`S{TQ;$Lca{6W{(vjSyg_!oj;o!#@npnD9HA=Hi}lNvw@_ac(j zj06bf0nJ#3Gl5g|f`mb5oFSxyf7$+j;f>+Z0F1c*{4uc7j}Nb6?|3vj;2lBi|3E1K z7!fZwbWV_V|4IOnni2hSQ!9@f&;O&~!{*R!c94Ei<QT`RXRJu7`%txV=Ol zi3&;y2XNAc_10zJdxF?c_u@*_CucQk`!pEdhaM1>3aLL&Px4#llnF11dh^N4j^cYH zVaR<6i%97&*2$tQa&?;h=jq3R)M3=K+o=laH5OmokEKmH2{-5FTLoAcwTaQ+-oN@u zl=rmQXs6k2dA439&9F`hK#&elKQOM_nvCCimH86#-NAJ^X|ea|=j`|2&_SoXO>dhH z7Q6ltKvVn1_vT{%f7T~SaA(l|e>#IW6SDu)8T40U-*q_%NkN`D$Dm{}7)Et3DMKSZ ze<?y(T$Szu_w~XFwLA(w zq~Dw@{nA`#F;MTk)cMresPYSvo9LshR{}qv3q*&5s?bXJ15|%P66Q}u{7uOyKAyNW zN(__AfT*?m8S)JRs5cFbGGG-elhNkz4sR0%{ zi>+WTfZK-ciSHEJb+{t$4!6oD7ZrRma;bakrz)Wh2m&)K-!}6?1X2XRr1-O-y*BoX zZVG3)24V=WjP#Apzyq%WUGnp6O0KwAw${XQA}ejrG6>Ccb-5-&BATX)T@m@&#}{`|CnC`2IOr!{{SwOg#Nr+rXr9pVR8d>pnOXakap#e-y~HH z6bI&%^&$SQf)SxrFe3s*-^!)k8b`R2dWl zAB{a>obv#?irtzm`o7YOz`}=h-WzL)j_?MvPvrzV8p6~Yx0DFur0nec{So2|D=O+{ zu|W*iK)CpAOGCn{=WO6Te|Qmj;~pH&ket6vBUxn>1n(t& z1GVv|H3kp&5I?2td65!NKhON!k1SsX@WOZ2c}^k%^nA9*C8w@pDNNDpF$-?qN_b>k zUW<14=u-@__)d%Y6&vR;T78ZXw_VjrwQ*DQd4iJuSRgdp0)&>s+t0`qUKXAw=y5|v zqov-rZV$1qO~$v_UGG4=TMHyQH#IPy2Ig1ZvXc>@Q_pm0b#u_Gf?U zA1I@245I?BUcGt{F^L5$*MT+pT&%pc8X%JO31@r3MoQsnHTe07k$pm+w!-fx)yQ+r z^6(hBhr>O-XA-7Ra%x26I#gj~uDbHP)+X?0`vC)FG|;`Jm6P@12O z)65#I4l^oJm2dVdH+SG_NP#$?r8WU~l~6B3uN}mK#5%MehR0(kA3+vrkkmi)Ak9#bhgRaoRKusd$*fkmbcV`;tv0%Z{|J9aV60bi$BOmp8rJ z#8IZR#+sO$2KHJvj5>>Jd`&thPFLsaLAI;e8Vhylpsg%-B1Hf{d?#)w%*>q^G+eBB zb(XpmZuEwPLO|TKiNRN}JCA>*Skri5BFT{~pZu=9cB_M7^6YV;^l*v01>;0&+*H<^ z@e+N6=2Y&-;37o@d;I`2gFM-j68)%Bqaw`@rHT`g|4E&5aGy)<>NK2Q1So{&t`S{+W z_j*tF!9Ljg+1Io0^{n+6Na#Ccm8WrK&NAv~m@v#Hj&!AmlND!ls+#|f^%$9;tgOPD_I?EcW;_h@2e z{qnpEPuUodV7R))@?ZCuabr;a#Oj{Pe?8NwjltRE(M#1X9g80tLpcr7Pd}kK&S6bA zcEI%?h5vDE88=0Io>)Kc{qN0LYE#s{;g`$h|K47FXnOMB#QzEZy<0JE#xmB6hf7`b z!_&@eK8gO16OWI%DNK5DlPa=+hxK1GPEXB>r0*2}f5U%l4!|nfa|chH_-N848}-ua zmy~7tP5AGx5AXdsrP1L0$sGaJ|E*7U{wN~`jx%czR{xDVQneL~8twg$6K_O(yV`6= zp^ur+H>)&?YP{N0S-DqhM+`it)Y@0Q`twm@?I$XY;y{a)r8IEwXF21C0}Ol_H_J7O zGFm;jb+yEq-dI*fuH|_Hy7^ELx?N5B>G1aR-qG@N=L+(yH1pESc^(t_D$s`4-NDNR z#;JsQd2#ocMH}9$MH19mV20!N<)Y|(NcFxTrNPxQcaGMWCgM~26RudZzp&8epXI*3 zS1~JV#E+W)wonH>x?0`Rc+~Y?9BxlHv};qk8@Ude>eW8`HP(Sb6`tNOPnYiBlMlIS*~ptPqs zE1a^NqZ)I9@GSDGt)V?4fI{ck@iQwR`w=w1O&OZ=@i`ZZ-qmL!Y%p-Vb#xgJfeMm7 zv7)cyG`{<1oYUxKo~#MWo4sJ|Jt?^E2Rp6=PJP)7zTU50oxZ2altIc+$`ZxUw-Ws zarePRckra~c%I*%iCRp#fDCGnX~{M&=sMcNHz2wJPHu3<*|@Gbpqc}>f zq>TZ%C?nyd+0&||PNW@MSknN7u5wv$3#Fps!zc>{lFTRZ1B&DxqF>M?Pcz9gk(7s< z!i+GdCpB_JB*0?@|I`{;{UHA6OlmboU-@5{K{%0qP#D#L)Ek0cM0z0XFBq7$p!B~B zA1I^#>rT|?NIJ4XUaK1*VVBi+2~o8wG+rU;)AkRDo~AOOPmNVLFCH+d_P0wix{ z8FfNNOiD$J3xeizvuq|__%WWef=fE{fF$uz!g4OAEgrsD=Kaq!m4Fn6^Fqd^C7Un- z^Fr|9430aWRc084Q?_8PQlx5NrgbFI>>e3W5bPfpNx5kZQ44ucK;nK)NXHhev5aUU zpX?(o_Agf)*ojqyglJ$x*kd{cl1X70M(Qz5@@9aDSC%}mGKLb8w5ml^C#8<}cxc+} z?t3PxFG#U|#t39k7)X&9WJptCz^R*GpX<&T^Vs5&}g*7v9f;N%C!nz-zxaHS0N{2Da9hd z6cHfbTgli#E%s7QWZdgV043dcrS7fU$#n^b2HwwfT}&>kOj%x-tGuwZc_BU$sd!!~ z;8IpkOto_M!jYxgS*6<5rrIr{+M}@AtGC)`x!UitI)J4nNTnv&rY1C^Caka~qPHf> ztGbZU)&WsPvS}Y{QyU*qiz}>6>a9&7EZ3%8)@HEOWvSHV*wp1k)D;xg753H@E!UM? z)}`7QO71__vw2x6P+490vRQ%haqY{-W%K5c?C>C$PHC!}@L%^0#HIJu>;E18v#B46 zs2?k=AMdT7T&|zGte<9S_@vS>Qz!|(c)8eXZj&b&p4YHGZmyXp+4rYm$Hs7VN#r7+ zaksZ|cITONMfovH)6Z?{Q<0|gWv5>eO_#TvfA=>18-MhdjPvZW3A)1ar%>|HrkRYD z*PyqV>bVW*s+rc-s_IiSU1W>7P7_0N3!As)QK2AYrG>|kmQ%G=z}Au`vNf*-D$+;C z%F52Y(kc^4!=l>ui2#CvQBd%As7^D~5D8VWg(At@*;=5tHlQZcEhOG;4drdx3CBcift85uRud#dP!n zfCwC7stQ*yg%X1xkymhYTew158)Ia1D~kaC*Ji~oV$~~Ba6d6%N(MATpeWKbRe13k zlqiry0RV~tK*d88HRB4GV%w}@DNpax+%QF8}1*_qZ`>f-p83m zAO}jy$cW9ldNW`hwr_w9V$w_)P(}>Rg!P|w`iQpFUcK=`k#3QbgUjEMn2~i!^?H`Q zCB?vCt0dOI4`wO^2T<)DVE`8Vy?7zN3qL_o)AYvtcv(`G}WK2XSV< z)m1w&Xq5MgT5^TO{kX}yXf(EOgd=J&;(FBV_zg_8HQH{>as~3lZp@2N-|p(etYg!h zbUkXx`aXPeATMxKFnI`yf@(~^FS&kS#x}0O1vfc^AnrEP3sNU|zZckssGLDGqT5^5 zCfe;LA|eZ}#)}On$K`3dnJ~ku&+&lNxBwf?Fa;o>Mv*AmBtJ26V`&?DPUFu7S9BZ) z0^YQ!!gu;UEKPn`FZwXGN>^~*@Oy;%+B5^;iaRQrI(|L1@AD9thQb0NpC=xkioyR| zo!UE2h4$eaS||TgX{72G`XSa|Y1`jI9+D$dadhs#$XxnwdF+w&6#Ik_Ed`Jt37_wr zVOyKwIB5=68~ZXreTno@n1)DYe3CLHoQ&QE ze{^vKsf8eXH~y zuZ}&QgX;-27Idj605a4|#k8^_CMYs(F##M~=>guR&!%I8EhOX_#lJe`)A z;;E0`tRJtfyMGRx?pb#n75eqT$t;!nI{M3H@t5m{FNvcOOsMrG`cL7`BWt8fyvVB?(9+a!hR!n{Bd~eIdKEa>c#5$iL3U{gL=P zL>ot4%*^ZWOo!J7U{RuFk7!)Y&lT?N>Mve$ve7fovPkDh2HR5 zt{to4E>GKC%hMfFJE+>LU6b`)yMMc|`W{#cq_?^FpX2OHtI^t-6&`_g#f*WR`cXGk zc==Z+Kec^kijFAJj)wPT8!GKTi${$B4fkS}U#5s@oV`1{peYV5QCvfD( z1n2ocR>@(u#ujzLUTyBd_rguU@ijg72x;IXlUw`RbGmqwz=Jn;1vog(OKg~@h>bIL zAmxWyR5T^pP8d9BTT(yf$v}*Vq!B8h`)khjpr#C-RDFekCjW+a=O)@>lg)7J9SHsLk z?Vc;}+v`q}6q9n-r!AyTD~)t*X*L~Hr%)Qm?EoTOlg`^`ouJ#DGOO@6Pn>R@b;8(B z4^C;+M2~AG9Z5^+$iLjJnA$O)=%g|Emm>e}QW(xPN`+4-liA4aj9`JvSR%b0LdtvYTP4OtX}*TN~nsev>}8dgc?7n+yg z8PetqFc^hbZy+T<772d= zkj7C1rxO>XPLP^(ryL|jziC&z@Owurv&EiKq2SdaYuGlap5W7f>x;};Qb5r7iCkbs zELWX}U!h&QnZ=RiODlF-ZW&XuXii0qThKFCSbw?pga-Q}->ewWq2U+Y?O$ru8**}K z=y~^>!`sJy9bS`0Q!Xc~5Hl&(XpS)9WbeBzcMwRotUPW1^IH#rK&F)=xM(;u^1_IvT;IcY(-Lp{Q2`@a zX(boGM;uh8;aGLYUqD3_32>?tAteajNuc8~T$yu!z6%r>iBQn)bEdc zkwBO*5<(#Jky^N^uaE+E9_kC%3s~}K@CyvRY=tP+i;C70gLyR5mnX=gFF2~E$`L(R zQm=SqmSIRLcRo@{7XP7^rYB%q-tO}M!f(^BS0 zDu^T*wjAiN>@#U@i&1>-sgNnua-10o;u5Qhp;~CjF|r|R$P*>TqH=G$+7O#1c~6iV z#^@;oaN4L37$mf0fbj9@n3aJd@khrArO!#6>2@cB1r9mOn?87y<4P{IOBF!)9?zO* zdrSM1u)JQv(b@*LKBcqR4{#^uY*Vmw>6h8!k%;muo!sBfC*koTiHK^$o2PQd*rEesC zKb?%USPlSQW>WFJ|1+cKUZhugxy;5HXK(Nte`#@ui4T>X(e>^!K3EJ`KG?#H2k85J zd3NgVvGhBVBdoCEZjk@sm93Sg!tX!_kF}QLnLSE+Xmeke{(S8I?(diWn!_Lb zZE*zr-+--=^1Z&Aw@=o_1xAsUx*5NusoifqEd7M&mLojVeq!0`0P(Fv0=P;)KQOW) zegsMCFhU4cTOrXHX;B07oCbi~ZSg$rUDTmce2qa)6v{uSb>zv+jt7kh&Dw(OM{y>S zm}KJc&$KEnrol2$OK2vJIl$4KZ5zO=A64}QTf*7y4mmS)bn8fj&LrPm9g&CeP{|~@ zaJfPg8AZc}_#LVe*edK<|D1OsL(oaka8iw5-FjdvBF;Y-m8(!?eJyZndN|*-20k;L zVLb4Wn|TE<(Ydb3VPoR-75NpzzJ^I?R`x?0J-!FH=U9VJIUpOpDxsdCET_|)rnyx9 ziF0*p;vupf@8qK{F`g=H zB0M(}s$>?T(h7K9U$J{-qGk9BH_Nw%o0Ewn%~!fZ{UBA2RryinK;1!1kYEp$;i*B^ zH|CjA0@MSU|BU)K(OenH@0z(1&oa9wbcVe@Z%m_3CK+O;p4a$V9ZxL{pv;A99!a9F z!(yJ5gz#pkBwe`a397fMWV<{gVI^(Fvx}ShDBTo%2lZMMpXbzQ&L3*_VyGX(=WBIz zj?8ikEvqHuZ;sn*>KRzd;<4FSD|DG(tlq1-G-x=mxadAaw$PF#U+>QDZT&v!^}=5_ zJ~MebO1;kXMwPin#vUTn50#8JV8^B|JkkA_a*c$sn^rC^*d{}(H6RtrJQUzVaN%CD z9@h=!Z>OLT_mIx`04{4Q-SzQM7qyvAyVD*rBPPM1Wu4UWvvJ#pPV+4&I?T$Cx#ao# zJ{Yai`e`Va!wO8@iRbp5eH9f($uB6g&u&*Czvp8E1aRc0Y4(h*h_8IW;`LSj^xr}s za3B%(j&+^sfI(rO-alfd&*6J39%GV5^`ut=eu%9 zWRH_RFgOdyC-O{I8e;Xhz%)Sg#C_t21;c7?QulXM0>n3wlTHcW_5XCpl*{; zY+CTWWig1VnY9V)4?Emg>Vlsy2)Dk!cp5>KRCc!Q zAx*hM(yKE0Zr0xT!TrwXB0#^+z-p%dLsnqrEo=+~Bsx5|36UWS9m>zmg`*O0e?1Kt z*!>w)_*2*--1|QTQHi4G`AWp}w`h8S4Hqs`cNxle^FdYWS@x9LB)6VXw7GxM_f##n zzZ{?QG$G;yj*;5QG&6OVzj8K?7Dc!ZWb$R-dbdAXnE=Kv^7JyiGoJq0?j=SF4?K3$ zeiXZkIV*g__VeNQA-p;tcwuuTMs$QzZ@qkpqOlqL>;3~4ozrlwZDs;j)oo_OllDT| zXj&TQ=wWFEQ?TC}7c+K4)GcqTpgCbGGvV>1Ok?`er$epcyi!8d)B|JtXIZjEw3+N) z!Dju)-ZxmmSSx7Ax7N>EQjdBk{!Z`+Du2<@@>3u;AWc~sm|WjDE5E`M?|;Ei#v@~Y zwms!SPn${!oJW5AizMCe0@0Lc1YdvoqK#I1H>axkKC<1}Rz5qd3l<2oE~6-c+!)4* ze*iS;-7;UcaPeF?$pD<9P>iS$R#m@PrVN)*PS&lTl;?q+hX6G~MD~kddg!Y!69}*5 z!Z!zBRvtO)R+i zt1gT_1elHs1f?c&;mCaQ=KHXsk=XbfgGxZm{8tPi(Yv+i6{TxTw%-rLM;tzR5lqYn zv$4jRa}hh2L9Muok}qNsnQ=A&UM9zmBrHE&|KI|WI88+CIz%fbQO65QK8rPq zCc#}mt-G0sji3My|CE$iSFDkTNmWs(kLYDm%2yf6ZmbprkT*r$!Xp!=<8GT`^kDHH z$lCi>I*vuP24#wl@5wHjYGG^RZU;cDx}_7R2WO>q_?EGvV#N1l2(Ri1!}zSkmSO_ z>|pYXx&V-D(u~WuGnji;5R;*mSI#8(iuUq5^DS>$`!eWfQz8mWh`iLB+}Ak8Mg50% z@!DljQ9hh_S)5TcF0mGGB&9vuhqE$;MDKvqVq~%UdC5|R4DBtq3z!q4`!O)$?Qnde zaQhuGRfHGm;4O^=eJLw_P{(WB2p^7IC@wxaTBd-x5UTjFo9b6)9lMz>{szXnqb2CW zR**8`=m93Kf{o|E1Ot)@y<(%=!VoKKqV#aG+ZXw_3kqVOK(w|P9|ps7(e$^qY5ZOc zN^Te*WTM~AqzfJM3O2cWm2bcXvs2QsO+jjR<2HZJO=K@uS@usnn@#x5TDOW(TN z7(f!~S_}+@-E=D_L$h@NQ;gsZ!5(frw*>x&9K~G3##9+lUNE`5em{u$pnLe%jV=AD zCr-{f-U&AmQ-w2!)e~KhT~a{pFY;~5h%B39l0D)dj2Q~p!ftcL+cZOL9PygX7(ox+ zkC8Gt0d}kXOP!y%;=WR1a8CUy0q?f*qE}@A#?3I<0jPWB3On zW?6ez8CiG+$2Mc4f|{$*JTl&;yP^ExezWDmF}m<{-Mqc8U2bKy!i0+3lwRKyapZ zO!IW6Xpia}N}YRcn6ZU){9^JO7#D=}V^~)3^NejI75_%pO!??!L3Yghk_Wpmj_w@z zA6h$kQi}IoiSij+Nolzoh;$fDxr4bdWc5Ba984jPmhx~Fpc6YG{ z(muI~tsSo%$7v$%toxX3Upb~|{AsFTGSJ8t&XlT$X4`V}wMj>+-a}|nq}Gj!Yso)1 zBNbbX;a+8z5j4(W!JWYGwJDHX7MsUPPj=X)ZsTNrDiysk4cWDuWP>Rfu8J5e5@NpJ zx-0YPRdh}kf^=Y&Jd^F7O^hAYKxY@dY#;^EYhimZTtZP4xXU^RKvnUf`uy6*_T9m59-rxU~^7x-adO?(R&_wd!7!& zo*Er`USBdcs83sJ{m%FNiT48-_5<&f?e&Q87V?qAH*9k6hlcJyqH-6T;xgbMJr%C^ zjo%M^yU(1J^lgU3vKxDFZKrw>^N|R^DtN^1tzaDvVl_PEt=}Ilza=1!5(-4Bl1C0w z77kMPJR&5vKDM!tcZy~@B<4gDF@~5)XdmXf9p)&I?$5PYI&f!=WX7s6*_|iXS-HPl zBR}mID&8zDJLO1)d;L>>`_z%$S-1Qt7*Y7d%D!YUD(|SS>Px1<~hk)JZ1&?OuL;xT5g21lec${7phNW`|HS$(p#Jyo;02i)}OTba^NCy387r4 zTMDP!x~DsLPIvth9x~xV3WTjGSiV&I(U6NIc*I!)z{$d?<%S<{c6vhm?Hkp%Q-NBj#&)?NJZdaAzD_>&mXg26=Z^+*lT1SQ zlUJJC8S&i$gK#3ik*~FrR*z;qlZzzSywLMN_&*6!6_Jx~J9e@2}V8FCS+eSrY*c+40WeRc$H z3QA~w-as4;OQ(mnl9;=c@748pJ60`jJd>qkW%i^4uWJ*H%1|+y}j7&HKAliO0Mz<^! z*f_^1Vea604c`SjU2a${d7b11RFghWo<4cJ7%y@wA-KErUp&h=DA1x*7~f556G+T* z>!(hg2yz-CGX~ZyJEuMi!7?Q-FH{xIbu^t!5jRY{w;9*&WnQ&p;a90`xmYV86HY)$|M4Tp7 ze|uWX`}*G*gb%>sxn z*nd!&>(Oub-=*@CFI(KGI+F!5@>|c}PnT-~S8U*b0{{Di*o(6h)?1c>)8$Ce9K~hO zmm4~dKZ6f3(g9Uw=o@r$^jmbX*?BZe-1}T?xm}j%)O%%NQz8bSJ-uei|MIqoob+w| zJ_Ue!YgZhuO=kIJfbc|UUWQ|({ng4?mY_x6b;rp-0}EkyX!Sz&V7fvtTf(={XQwFY z&*rRXGe;-(T34XNR&{saDM5}b?@bSauDb z_LjRIemngedHDJ_*}vUqQcCZh_|ibs)0-6EMg1{fNcFehM&hHt?9=H7ZQfTtB%Tf0 zcqYJ(%?*F>3`41M!4*rRp>OBR_u^N!EemDBbGH)Dym?(#HzEXTf_{t{LmQvRl{_n6 zP@W_`uEd)v-}{R*2nc}SrQd+?d2V1({_4|s?(WTaU;Zve;NQXC?NAYV50`u5HU`D+ zmR>#l`SxiFZ1)LIrDM}Gh!1&7qpm4}1qyw8{|FTM{gwNo4vhUs68p;r)?z)UOS|}CKhK^;gO06pj1kz1l` z$9&S>odDv^JcOoD)seU5Xr~uXPL)&SpWTLCz9xuFnB{@uQ8zpV?>z1eF2z%spi>@hlbw0=5 zL``N~_?4aLD}r6_Yne&u2{l=34wdFy0#1y|p{F;F2}|2`v^$^M)}GbDpO+O+HLlDgVbSU% zJyiF8Dd-xg|0C$!PM}g+gy0{e7B^ovf*xp$h{6hQ03DIIkKrmbrT=v+l%?QOWU0zi ztfOh)fh205$W_??(_)hSXeSxTl4*ewkWTbiz0LnR!_c?T9Pi3q9p5T4=I4w-HlT=~ z{D>?uveS{Lq0RIN+58fuU5>9t42J(3(_Km6_ok7A-`AJgc5FwJm|wmF3s;gVuYkbPvb^Z-(km>4w8ZKx&y2N&=I1PaBK? za5{E5J;o0w2WUs8b2Qlc-{@OcaE&8Il%|`F0FNNHFHpP!`4$P#?!-+3a=v@U#GpPd zly{#b2fil_l?4W7FRi?ss@ZxV!W0iHX}>*i6&5J;LIr&q2=XF`iLtix z{!;3k@7a4Lv8(@_@?H$*y223k5w{pJ+>fU{U>hf|(!*6C?ZhM!qy zQRIVUYFYhHOb>D!OCHbt^f@pK3jJ#P)|^@^9>UiUk{l)dEM=^l_HAU&cR?q!efNik zce64o!@I+mpn`NrfeX4DYPo;m#N9Yti%VKg#O#BDL#%BXQHCn(m`tS*L5S zZ&u0eP?6O2dXN3vqZ*o2&*rW-vr=ht8=|Qm!Jprp`!+=-%YM0F=t%kR@3+UGjF(eR zU3lU<1`Y+E=>AafbIONHS@1kp+Y)b!r_1}8K4!T|cAv?ZI{vHCdCNWekaIjiAkBn@)Sh#zf#Wcv}^>flj>k);w(t-Ew@|$;#hcpDXz7{@s@jkR*ynn)bpC__K&$8QI z42VpH{u6ult$tr!c5mWvOSbIq;;m+)-f3;4hq1)I2RhV#%B`<5k2@z1NX$Ol8=3{< zL_f5teWX&`?4!m+o_ihxI+EEPKCwSAhYRID9VXtBRE)}*)dv>d!gv|IQq0O9ot|zH znkBm(T0zhIK0|Pi*`z`~>#OY}Blf~)Ozndroz|-QpO}~8Xafrl-9iQ#=llqWmmws5 zlgBE&%V(Wv?HnJpKC3{(KN87kuZH#;?T(yV6fA3=Eg+N2O~~{cf4f$!9}~~EG)4?$ zVRVf{{nZJ`HHQW(imep)T7Zj0xo{JnyuIze)~zQ4BaQxUN(6Yo2kh<`n1pER&kO8B zg}1(s5ae&CkZ=B{tB-=nOkUT{e{y9d4;sPZDp{S>NCp)Lh;krY^e%K44Xyn|I0PD| z2LQ|_( zz1y4r(q4KZlY9?i=)}uFlw>~)A zaa6lRr|(Ye00>FO^3UFl=Lw?PH)uT0@-3Gg&UMR*IwJl+hlTR-U2-L}kJwo3A<=uH z@8sB@Si3h|WqL+Xavn;PXv6m_{h1Hm-J5e8>!;T1&=LWa#ldVBlooEO(aC&@)4!n) zB<7>+YJsE)lHpcF5UdMGlc{|=y3CA%?1;xIU!bI4uw%tz`HNt<)gqU>L`_~&qGT=ey8UB207$dgPH5O z1_BX4hSLS+z6IhvDlxagC{eNq(72e@LTZzTip~%(UYpDQ-6L zA@WR!teP%&r`FqNqyQ6S^*2aleO$h5>^2B5U*J4YOe0$xqs}*|Rj$%&C$8gJ5J1v>(L7f-t^Nx#H-8| z-RJ@ODK@K<$)M?HQ`ZSv8)$W$h3NXNzsgb*8ra#$4~R-F3FkuVgbn{xE6s_L*Q_TyNqc9nI9OEkktcj=M)y=(TGp zCBM1Gi#(whp}+VZ7TuQ7+Qqe3xU=!!sfe>I8ObyF{56ay$8Ogmi60sI03GyV9ds+V z>cL%^_?*8+cFRL`q^Zx>l5FPr@2`)?PgiwP&KU9Wsw1kM&L4Op1e_y=)h5wu-E7BE zFFc26H5S*LRdB;0YYzsXDrM-K`OmCxW5q3PFYlUMolUzh+SKHX$FtKdwF+{l>P2Zo zcF!@yyH~*PCCsNc#jYP}wI>kZHR?x|#m6!j;-2NPpxWDJx6G!crjUoBx1cfO(ccc9xY2TD1{i5Vv3Q=L9205 z;H8G}Ov}pArC0J+Y|}BC<^7-U^$X9$XttNehoDfVne=R6HEminvj6x4xSC;0e7cx7 z5QL7_5~>0-2lVsaLm}F^fO=YHQRYI+d+F=6S& zt`ce&VX+(^)4@A8kvdxxK&fryEho%+NLKQe`1kYVKd7zN7QI1FI(Jq|YS!_Tw zeK%IL%pMg?fC#pK*k1%0`7PLQZTR$M ziltIXYXFvCKZdvczMeXFHN%*${lJkjSl|LA(9T)CHy~^brZ=5=5v#>zuca;%^Di<>!X@!0|O#v_=)c4{u;v~ApkF)8GrDYK|B5B zSdjj5Q9K3J@BvAj&!Z8D5&}KVO!9cGXrKe~MCSC)L5<1MiLQ{bN(N-j&j;mkeE7>S za*I&oIW2BsC#F)1el{hxeuGz|5K^LW-SYb zC_2GnuzV0kD6y2c48ti$E1-=M*}=bcKBAKt5?;j$Z92+ngQ>LWn1yEf3+#En5AQJ&C3muTcxuRq@d2*fM>y z3ptD!HBT&-@_+z~?0d`FJ{+QzQY+nS0`JDqOsILSSSP0C7=YVRZ_`(4>f7ok<{h_2 z%k~k?zi8DWbbS%}og6}F$X}ysusn?zUo~is5_|S2ap#cwV)IykK;2&g9njop zn$q}7ArZ~ioL7q$RjXTu4Js;YOFtNuD{xjvt-rX?dYxo%W^c)TBnnt-_4U$d)Ng26 z3$Q1FWu@#S0y5?4p_2NLH&fz2d}#%>2UT%eoS#Wsp2Vr_pe4ro<=eGYR|olBQA%ED zUNJ|MP$23UWIk_UQGTQj($`CKtt)wJA0x@`J$O1Odk)4_Z%lI_}Y!{b_`UnjbA zEalH8tnlLR!nU<8`h~}kx^ieWrGwp$7~xa2tbCk6=Aecv=*Q9-$6a3uBeZcl7SUqK z%5+nioDuK!$^)1LZ0S_W(*C^AqB9;87P3>>fY9#@XcWb$>o=UdH z?fpVRT5Pe6Dgh70WA{HSI zZeGx~n}c$cao-RC<>hW}i;+7(@ylvob;yQ?%D!79pjBNlN-2Z$?8ov#U_dOC4-Te} zEm99gNvuL{yMlyG&0r8bhc!x02+YWa;rBO(@d}2WkyCUH9)RbMXuD{eWD2OPl&x1M zb0JC$+7BT&rH?TqGJaaJe&n`(D$S6arT8eaE1@$$)k9$WNKmDD@Sqp1oHIDwOJmyO zZ~fXu?zmrsD4*e2i&YHEUmAlD?~K?%H??kPFvVy(YVqFFx!R4@kQ-EzqT!>bYrcdq zwtLHE2wRuxzLXjg!VTvCGh83g9;Mw6Q8A2=h_&1?A@n9A^D4DcJ`Hn$8ab&{2o-^|wajls24Srs zx=fUWT0Fn)fMN$`HV#W4jpeP;V$B%f)5h@g-LxYHrs@-wJ4m&GgGI@$U%qZKl$z`) z8C1D8#1TI#Vx@?rqS!vDO>^*x{Ib^U5N7m?oOv0d(f&mXkn_B6FQQ!`WR23y05dBM zyaLb`$bR`9D4i=x`G8wUNt3Z&d4i@G6-p~pW8;up~ z`i)DsN=y!rHJFjnR{_M(bh&}L))*;mEk3503XXx#&+HKy;A(*h^4}u(ml+z982*&| zDD8f~_OJXY;Ueu?9d73y2ZZL=TPUF+Zw;M6;W1A7D)0q85ixE7T&9{6UDcxlrg zB$Q2G?WdW!K_L*%SLH7$a99nw`Xwi94Q&HO8Hn)$yQJ*TSLQ{1$$hJ@&jVk*R&GLNO~j~; zk-Gq0RXB-dbn;h%gxIuLO?^LGST674C6$ACt?8JNV(_+mXgH8ocuY~Uc7L@dG1@5Y?eAK&L;V-USq#?VkIoDo27M&~yb#bn z5OrpBasBk)QVNR*Fg+;8gl76PAd-8eB^0B$@ozQH%y5TF$_T9yjkddn{1+Uvg|L#A zi&43_QYcFs4>2>7_mPc`QSw0>!yqcF&7QS`ayf%)h+M@B@IW|PEcTyPN{n2}paN5j zK+FG63`{rJ$^koP@;`Ga0pLE+j)6osF*S#Omr|JP&UDdB=S0OL4sW{}WDA;ATPFTk zRR&IWI-Z9%vVZU$Ndk56rQehAKgywu^q`9FjX&MVgy4;sqN65(=;tJ5tGzyhY@yk1 zlLW@Ls87UOyyN8f8&m0>>c1BsSoQ7zmmR}6h6gI)z?`m5rLwa8yPA7T=yqLo9=j4B87zwu~9ME~5hc;dg_8!$7czb$e>_I`jPV1j zD0pea;SYdzWDd*vwFpWUpF&$Cb3u|AFaH(U`b#K2+ve6H}H}s5!82FC6>Xwv?wObL>oDe+|~tfCJr5?NSsN6{*X)5yyhnrf9dyf*_D%R?;~ z3A5$2UXKh{t1&Y!F31#T|FW(m!D>rR3dl&cei3V7GsE|25|dDJGBo&kH~$gh z-rlniHvLNLLQHCPzQ^g(etdn0)K)~Z)r3p-HO+tSnSdB$)kDL9%{P98g+v?9I@~4*pU6NlsPClC5w*Ni< zkdnP>W<|oja`Il&+WAT#r&(yKBcX6-4HT{N-)5p@NyrEEK>E(2h1UATemNn1{aa`> z2{QcS@3?zcCq3WRufFwD-@pF;Uh>QJ&zajdk7>#O%j0jqKh$e~+|6JAclG`L>;Fdn zqmd^NKuk!FViUfr#ryM51d&7%85nm}u6bG|j>kqBSjzSdB57O}$&-c%_VNu96w?4j zT1G78Di>5x3)vBS7Q-LBNe&4ccp-1BCI;oE2rNKvzdsB7`+NhdRFNKU)cjOMZi^;U zsFhP;hx4)^L6PYbrGP+Yl2sHNb^Zb>-KaTnhKcwNzCbn|F_ZK_&SkNAQHfh+&yw65 zhfvlU$)1zs3omzByza{UHaQa-B=?@pIjCb(y}^b|;`A9B5)5ImgCR3l5{`~7NXmM@Xf(#l1 z9w__=W_o-mS`;R{*DZ1{Z3%FbydN~GnK!FRApI^{Xhx!b9Z22%E2cD>^#$A>OC5Dx zssB`@=J!9)$H@aacG!;@%)_S!j6Fi?g1Q>gsV`FzG3%XQgu{Syr%Zx@%tX zyqgsdlq8svJyDq*N*kMtATz9eDp&FGhW=Vq!n4Kqmxj_jfRE*Jag>&D)}KhE2=8ZO^L_=960X@n_DAt2F6vAK*vTyBpAO8e>&In z5-89?FZX6`Nxo4i?+iMpQGa{tiSO&(DNt@R(Q}Bt(3dLhNUPNB= zx-gRaoqom^XNA5_n@@7SgcL8cYq7H^)qLb#inVTGtE5OrY1##`&7 z5qm_#n#jPUH~++C?}TA~$8wWRbl$BmgX=`Gexk-(^E8o}FaUg44!|V0Zqam%2^mqe zy=f))@U)(U)_1r`6|RpEHfAY1OJTCw!B!OJFKvz@lLkj~3JxC!%JZb$Y``K7VkAHo zm-bHuK3cu#iT_93dqp)BKJJ=3^z_gX0wjQRAxM#KLT_SFL_|=UNK-=*8zN153B8CK zdPlklsC1BKXwnozN1A|06V34ZpL5okdNFHe&0OR@SI^%2``-6`3|z@DqF5_CX@O0? zD9~QXjG6DLQJY;c)y7OmMmT)9M}FN*Vr9@X!_3x6L1ZNT%Ta4WZ_gWpOs@!{Jp(|j z)Z-8tf+*?Dp@4%k;^?7kv92H>wMR!`H1n$V$#N9YkH_di&|FT>-pTl)(qq}}8M9?> zAd3ayb{sm%zryZUej=Tn=Ex*k9JXnq67N9yhr={Ub6h#;9a8<%lZ`HfF~J|YVj>nW zL*JB<)Q3j8jszA9GWJwbdMGzQ4Q^Lw_y#;|J>7tcR^iKq)``azi?cs>>>-GTvH>grBq;Z`=56KHy2!@U=ot65s5}&2In4Zkw zX*W`j^;y3bk~)9E+;J3U&_`fV4mQ*NlA1vj%f>z!>wdC~VKuj&<%+q>Cce{h58(Rq zH5RNN2qOM`kl69=es5o35so$d;+*iEjW(<}mK90o0RmQZb@dXKO!H2?VKC39m0?%| zUWC&*DKuZPL34;{#2ANfx~?IG7G)g4zv~lw}2nE9^#kYg1_U12jjR=$X z6o?8_72!yy21`=xVfo+cumP22IN4|x{?C&k8Q;3a;%Kgk_XAEnUGol;FD_j3Y=tYXV;Z-D%UYT-gO7VKTuOHi z>R~`wyyy<49zXjwIh!vuu#C<4E>T)huJr?|w8jrRrrp2Mo4w|4g17|gz!Of<{jp%} zer{?YVz`Wt0&Ev#V~u9Hh%y7i@&@YhR4TxUa41R-;^J`TX}}22#6!s;zx;!CD`e_S z`tnw#lleu2b|YaitwI$9Vf$#NX1I=eg>e78a0LNfkvsD*n;R{srNSb>BErSCh}z4M zQqM`l6qI}biR}ScEpM+0F~}K3?ZQ3sD!p1Z%)|0`}YjZM=G|@A28f|3J(RQ1}!+>fp@yD+rvvzywqWeP4)&8O2lY zg1B@DY{NfMTdm(C+R&b*&|WN8Q6RK_mV+yJsJEPK| zl;bRiY#!7myI?09ZX+WAFxKtOy-f^4EwDR=Mo6j$3z-dQNiSDxhsXSLK)Ws|ROZ-; z=Numx*KxTJihdSM&E@b1i)gtLcCp!KMKv5Rod&4#Y*LBpXD0waO%HN@xA5tWM!9E2vnyn?C%}JZKxz>yEvs8cMy=I7jIj@F)SrZjAiKvj( zqL8CA*Ti$l+K+!|>;y+UOAA+n68Gkc)ERJqli=4`A-XslZZ}&X)hMd%Q&FP9E7vYA zr5xTBT*p%A;=h7tWgJ&jL?qLVUWqB@pleFLu;B_Sv4G-9Un{smK29^zoT)t!A1rAc zUAv2|<%?EM8VJEEN-^W3g%bDRSmA@9673}9vdbT|vOcp05moD#CXOSS}k3rx)Tv zeA#7dY!qt^yue8B1W2ykum7eEHfp8TfPA+OS*SB z6mBaS-dB3G5*Fr?bWXcC;;y%0q>_$Btx`sG}U1O)+f=j{1Vq}=BSEMsCZ%C@x^@0p8SJGU0CB4ZF0#J_;GQl2A3 zTf!QP8cYDlUsb9-(4R_n8Zi+YMdX z%}xE>=#0XADn>4%;>~sPkD0W?cvNZ69e%V9MlA@DoRta~3|E3KGAve8cnrS=Ikwij z6sDR_1qn(f9-UOD`-2^)94tVrW^Wd7^t&R*N1SK*7-brg|sUl9+xK_AJsOc=A(@8FaCbl0*A5TuNT8g-Lzwi10vFyE2yUKr zlcHcCjX@_*2Y#BnQuAAV0AKFi$`RFiS`WlUb}H%s9k+lgs5%js2*NwS0|5r1h8BTu zSl%25fwN`UbdUg|^pu?E{cCS+B6Clv?8pCf5bRhL%Ea1?SNFa(Npj8jLyE7b0`G>&We7F z4M8B-nyV*>L!(@Dq9Wh$)(?L$;GKh+ZL`#C6|O!Q!HBk^aVDI!?+wL{z$2)M~o7XevKp=bMaQ|+EhiKM@ za1TW)CmUMO3n`dQKrX3mUHwZDfJ9+O1sqv^%#ynZh+5k7@K&U{9G9cmOhX_nJ$o3@ z%1%7}mny6889OX7eVN)OFzPQl9Hh$k&F%imX_8c+_lFcKqq2C^W0-4GR;XA88k2WzTGYiwL0u8%o0tf=btpZDJ zHO49C4nmi&91yM3lW%MCuY6S?=YIw<2nA}70k#YzwidCc01#oU0tVWRECGsJLt(V2 zi#I@qEEZ+7g~1oOqQm1kje{&3fi1djb#_WRfc})=1IP3F0;5C6hcz!7AK3z2W1sT* z02wQne2!t%jS^Wg$+(hIKIJ$wrDxFIc~w9uoj-Bb zd()Cvu0_rv)n|>Pco>M$kE;LDE9Jj3SJwnZ}5? z)b+N0R&%QOAE<$sldIYN(B4HfsXV(cYJU_iETsA2IBaL((J!8wtGZr`&7HsgUiWWb z6n*{RmtX`Yc(4C$Jn8%pCw=5<7uDHJaja$DTzAuRWl(G1vuH33(9=a|FBV;XtqK3( zgw%r0>0Z3C)e$11wVCX5QF|zc5wE^^JQAyPAZv6%SGzL;skXe^VSW!V%bnBG6rV6x z-vj}Oi_`u05o&P##EY70IU(lSn?*@{YWpYP(S52qXJkG=O-fg%QODynfArk{tTwls zH+X$qHr+n^{#e?$now`9xyn-pO3uYi&-sgr763I09jljkOYL5yC_;NvEbOz^?>p(% zI`HQwCOFMOMnKap!8u;*An@01&GpI=gw{%fQ@qBn2(}ir#r63cfnkYEuTuc3Xngc% z9d~4o4mgE32B78A(dGZlMhZwEbIuFe)K{m9iNI)5%tcc-^ts7x{q`YuTQ+n{6 zebDwl=sm|)<%5w|TwTsF3hjD6;>1U-tae(`n*vF#pZUu?%^nd)PyI_NdIVW}bOxm;B-@@w=~->HVcl#*{&? z6w`k*ujqM~>93c$zo#J7epnu!TT(imYQB;C-JEx^;pYtE&70Tr@CAXLGr}E=&<{^` z@a+Bv8N*`h-1Ax~j4SGElJQzpr;D$i?h{gGM4Ri+)xO_fdi|{Fcl(Akvff_+i9TNW zDTgEFjHHZf*d`=jh*(|G{s=%wfnkroFSA9oFu8mV{NjTOKH^qo=7_WR1GASgT`GU2 zL<~l++cSJ$Zbe0*Tv2}p?x`5%`z_1|JRr=l!8@A|12>*4mCdf;UE9&CTYgsus5( zvtv~|tmuO5!m?#h?g6%L)n2c-6#=5a8iSsI$xtjhH&>X>)`RC+y|0aS6uRkJ8wB=F zi1Bn5y|t$=x>+UHy&Zm9KJt^9yLVF7dY;62a4#{+J2_7_U+Q9HuVsmMN||TA%uR5g zb?;6J&>$)_zS3j6>Ydi?iIsZ-?ze}W1m)2M3h|Ns&b_h0`dN8rU!SBqO*kb7HObn$ zRY(_epBG=(#fedeZSD-RFD7>j)IO{Avjo+I7;xSuRZOCO#)t|`u5{J&d!z5<_`E*m zT2R+tF{dS87M{czC?KZD&gAygzn(?9vkmdj!pO0GtKmUW36SGl4EYm>a>ccZ^=wv$o9r*=W4<}4-Gq$1U8v1h>KE4pk>djZZsETz;+tZ< zodH}|goh-FQtw7Y(}Qv=gZ+vf4cb2W~_1*mt)lF zb`3-v3nOj|!-m37Kbw0Q?@fHkG%RJjy=@hF%v9+zP{?-K-71sozVAO*8CFIc-u%W@ znVSv^F9w2&+%OKG<;w(HL#oP<^?&s<=$y8fAgw?6kyigrL#&ciQ^i2xlF zu0h4ZGb_mIV%Tt_dgjSz?65~ni8(Dd`le__x+Gb~Kri-(m&;Wo`ST*cQdth)bN4L5 zf8>LWf0U>uishYBbnCggemKmctb?9cjWW9KfPDS5F4Y$mu2xG#c=Cy8Dr{qQQzX<& zvVu!%6mhzFUi^th^TIQq^v(WRe4H5GDl>gIYRi8qMz^0N<_+42HI2UbMrVkN`1EFcvEHX+Sy@FPSdS9w0uOw$)Tbcpcl+}Gg3d-Q3PfZ-S#}eNME>j zHacX-5h<3z0{CYqu721mtQ0Xe$8qwU?{L)NH)xkL3XXRc6A<#+F1y0T80hg+hikd~ zf-oKnJCo(uDHd6sFcOT^_lOm1Ygk^fF5tLi=}eezskL`XfTZD1;#)nezopwY&d)0wzb z-=nd%IRdaBKUI22ka4c(u&$NE(>txme7Tf4re=9t-Zv4g^X%8zP#v_83DL6hQpX7obmpHO3p99;HzyVYeGl8Rw1L8wLHUW^h7Vlyr|04>rkj9oyf`F{= zWm7ozsmxnjNN+qOz1~rE@3vQnCNGxXo}iUOx(G7jcuHdTX#vx5V9FMcUl)`JICP8= zcz(mb6E1X*nR2CIUj9b(+Iy=H-892!K{+|$I?OQ+Z0+{UMA(7pV z%yfPU8b{`7#xMdDE@KineGhF&gy~>l!}S_;DyDG^RfA_xCveCEz$Tvi(FA0nC$LkR%L@NEWrWQu~`P-n}PlK|*{|LD&)Rg&8r! zhS*)n5GH0|ZJAAa_8uGrxw9oD~UY`hYZI9SpuJf{q!wtE8@j^sM!tp(({`)DQxtd+PeECG9eHj{}#^>PmKvW}Bjl~`Mv z)>f#d55+)9T-E9RWf)fdytucz?}gM+%(lI;j4%2zaDB2i)9@-%rk$_2B@o6gS;u7o zA9@+-fP^u_NctES?ekx${6?kbEXiz=*2J`#(lpOj_+1BPJBbNAtqUYD;e5{}s{ z&Hd=|`&&FZSJXB?>5YrQO+W$3+*<88gm2vyB?9^ClJ3N!;6|q-NuQTJCELr#@qiL2 z%SAjnA~w-O7Lw26>$2?+4B+e@xu?~cMy#t&t6m*LE$2JMK1XUw<0HM!>p^mL>oUK9 zRqe*Y4zKF=Oa{VxkfLubAAO=+t5xl?5Bt1tdFi=^!V#xPr=BCkpy$^U2j5$6CI!B& zu{OR1CcbuoW0*how)ad_u0GaRKbxIf411Py?ZY9_b`;~$c)`ac18$OU^4$33SbUBI zAE&|>aj*CCDM9YVY5eC7uUPWb<hb`o>mE&6Ss@7rUMx^1TV zWXsDNM1-w6mS3MkI!A+^prM)kHh5P!pA#c)sZy%@PKyDrqNM%XTO`W#^wVhD0Wsk} zz*~b$0-SBC*QQY8IHXH1f(}BikX5K&3M`g4qXmSE<`wFmXgt|buXCzo2~oIeD(d!2 zxU=t_M&FBwCzVO_i3$YKZd1;m2^a&X<}Lwwlp^ximhdV`xh@GI#HdiGEBbX>;5`Ak zj6;`0WwrwmL%|YVto>9n2MlHseklQ z1SKLQu^jt>h()~U3QZ-ckMM)cx2J^YZ$YqqRmUGIvJRu|729>36l68ETdO4064X0$ z5Q|g+3;*{U7;)!efeK@!uMT{vTEdh;NGOr>%oD@}8TrNsd4Pi-;E;znM7E>G)ugWP z1Vxc#BNDCo_YVHm^hfznowPC3w-)IeL#QqT4%gv_kOT;YjFj_5p8a+G;UVXVBh0VB zAX!m2tP)}JwrQ`0S!EBIMq_j8M2&LtP8eu2c_ZIPM}8ioqhbiWN4T3hip~sT%J2lH zlRM3a6oVQy-LyZP-Z*R;l@)#t@#{q6_eFvs=>&~PDNbT22bfMmFfgjFP@9=|&mFxz z121Hr#KUdy+>5vu0G{z;wM(o$MzIRHi-XG%SWr4A^Bn?zsE~`^aJe9sd5Q#tN#SQ= z#`z$`lPA0$YX(otGy!#-Xwu7kf&MV-YpY2LD>&=`#)lL%R5$DHih-rxhje>^i}4bg z-ZxBIQ3Iqq0N{{>M-*eS_%HY2f8}Tm1qEr|*(CCGVPJ)x;NL7!;%)DhNDK!wk1#eM z2Y_&0;7p)B)w`f&!alOx-u8*iIWvAU076Idr}7lz5g%G$zy0o6GEFk3A>SN+KIN9y9FRRm(!vk&Q+&C%AHyFowE;-%FfN4gtfd0NgPlDA|FsI3jKf1>A4u8aps6tAA_gVL9s%Hb z0#NK{@$ADW=2UxTL1Q|@hf256EWA1lu*^oHG8sF!(9Qryg4DfcDyz%V*Dm{ShFToU zMlAQ)07)v!CeZD77&r|B`<%_3o*f~?4$iIm4$p>J0vYAi$Sg8r0+k_&%&2_l=0YW6 z_`2p0dxjkmw$;Lno?!NKd6JD`9Ux7-@ZOP2}Lp}pEhOl+EPAVp$g}Ioy zekf*; z_%ulJE)fwrm?z5HoN-jv8Vd3bioFKcyFfc1nv2-OBYf=HO!&Y_DEP^&yA1^i&PK+O zAORS<&E@cK6q1y9HNv*V8yo~K6FIr6Ogsu?;c!L80W^35`~!OITQ1@^5t&0~_TJ(? z!aW!IATqP=zWma=pK=S1y?p?OB;i-Jj5vx(Y|(}Sj6sowRMuDofE#Ct!`v5~%%{6|!h z?G|GD;b?-}?Hbac^;uGSD%1*(aT{9woB;QdxFb2iiP2HrBO&Zspu|~79G?EwbQbPP zX3U=?6_VJP7;6}KTV@DG!rNOcCL+#qXMW2O;naFzZh^3OW}=iAn=q{H?y?_E4}hToHn!y&oW)1 z0KY9k2?T$mGB4pmE_gv&s6xhKm>nV_m58{{3W=4tFFnigjdIU*3zR^DX44AOF*eWb zIMXodr5~Z|s+__AfSyDJ{rDX0fgGW310;FjoAT}fiob%W97<>Z##oGXhqCCycU#Uu zb1b%b=k(G%$F10(wL!zFEEX+pu6WiQeZ(DP2Rpp@Xquro zx6;0!*HCxOoJF2-%BAMz2nav~jJ!=2qo8Tm0NdY;6lS~taGP`pGfSw7^YL64|R^ z9)+)tXkN>L4>uzXUK3YV<`a)}LReot03;33z!xt=!TVp{Nn}6vzq~92mRIsF_MMtE z_G!zz+k*b+xt}k+mK4|n4ba>A!d_d9fDmcdSRqpwR0MtX zhsOTvm3Qx_aD)5i9fsokYc-!+snu?XmrIpT?(zdWRkwv)Ui~UB@}qbfzVfSWFBE*% zm=LD^c+(9b{CE!pp#6I+3ST~?g6v;~&S-dlq31p{lYI3M@1@7iD;A_1;XCJG*s&s# zbV1!F>Am@vYo9ZuvWH)tK?b^g&F~c28#ZRW{HVmV8+)HB)vYJ=C@);lZ?sCH*L%F` zx3<8Tm*hpJJ~cx@(-eJ^>yL0RW#6w#&v_aC84X&_Mn2G677RCUz9&RlOyLEDvdxOD zpC*+jH;Rp@6*@g0e$np)_>cHGKicl&?0obs>j5q7s*0EGgNek429F;2y3YRT+Q^tC zZR>VtdCgm}jzhzJQni4=cir=nNzg}fyzx`poJ7OT!Z8q5wC@*b8tXY0F3 z=$?#GbXi6}GqYF-wdx|c@F@We5+>}~9)Ir9ZAPGjqmj+J;iocHhx^kV^NR0@7@M-# zSNjcGHQ45I+9>DL%>ShtJoqfv{mrkI*;eGciTrz!-V2-O3?`UQTkmOu<=%N;kCfS) z8i_@lUmr_4wmTTUa8D~cz$5;fpl@>8Q@;nQ&rZ5m%z_X1)*OD0tmG!_z1&YQUHZ1L zVs0*ZyeW^+Hoh*ksWtDj=XN^LCGXQ>@_gtl>-W*W0dzXe)lljm?usue8TCgg#0#Zh zpjaIw6?5jf;Ts>rkK|y=UU9qzz%|H{WKj0Oix_IOO<_9;o91N^pLgVNL*BOQtUtUL zI$<1sp5H6#nO+-Ls(puQa7P=PRi0q?rCz#rfugRM3EA*lAoyk@2x&H862`S1hq6o8 zi)bNQNW;v*RR;ul23(9(^EU`#qD{sR7kVWIR#9-EFIFxCrclC9R|o2TaI;X=GmB!M zO_v4nR9R_0CVp(@?w~bWh9^tdJBE6Cb|6QdU{mEqY_P9 z!*RA$X5K7&v{llAkm09R{EZb)%}atJ<+(kZ))69)Lq+AACVG2pcT&>V7yg94>pSbd zlin&@;Bz*^Y;^LHNCUb+Z%P;Lkf+Q4NYep#7{PVkic|Gx7>^ zntuQ4bosr){Jjs6$)X=>L>9{;&Wq6tKi^kL%J|0QN*F3KyXokfK{hQSgfO0_m7`Sm zHBGbyGf@GTI$rZGx*BR7S&%PrguSR;z9-u|6uYa-~T3w7W&LiE`?zp9M)8%X;Sg!%?WgqRaX2SIQq>DRa3}dVSIT zYE#tcOT=a|F`sR==do37!Ig54D^>;)9Om(jDdj%-9(Eg#uhL@bDBhhOH~$`8Z3*yI z@AsCx$@s*&L)@zB=BNi@pwYU=z^XbarOZL<$+dnLtLoUX!duFJu2IAMDoF1o)%2g( zj28HnXWfx-xbnwlqRZ-a*{wp4TTiajzb>U#H7?${_cVI4`=3=q`{_+Pw`udwJXhcK zrJQktOE)Z>z1lbe-|(7tvs-n!+C=W$RNqb*-Uz$eocuf7L)|2{I`BdB+AVqezh3ZF zk|p|Dso~R&CpV9mu73Qpc<lQ|FQV`tVo=L*G73x9?5j?hMGqi3)nD?kP z%vwASWCW&Zq;Rcc2UNIqhp4z${r-~uyMc;&A2gSb8s7DL990M6l~vAlPk#Q*{VS5V za9c&fW+<+V`hxL-%R|~VBKzd8tZ!wv&+nh=-z|FcBFXdi`S|h=kFnC_ z_?05XgUMa-!O_6xL`{Ljj;o0%zevf9V#(9LYxTwa4h#d z*8UhNx?Fl=ps{Xkywd4EUi$it=?0&*nSrLaKTph*P+{}th7&LS|1?vYzBYf~_{vbvH>K3Q?jOSW?Vk)Q5T@}nTjZ}mqZB}{s?C@(@4$wz_0~Ht&A%`1$@|sr2WEip)ZAbH^|?-8lq~s|Usqc3;c3Rz$B)Vne`K2dTvMW2 zUcK{s%=&iu?=Q9wHhz!WhnI`to`{b^0E-$Z0*DfGj>ivB1)k$K(Y_-e?@)}*-4c@N z8RjP+Hn>PyaX&*r7EmdgiJOUeWUg%m1Qxm;b||W)@6y_nC$b)F9xhYD<&IYJ((WGp z_}_TxpEUp3Rr|A%7kx>1vw45B>8{()7Z*3`>35H}dnDc*@ARMhdHjoNDF1hN^eX+D z2I_CQr~1yy!k{M5pBqOxNX|vhUHJR{#y8;sAEf%WlBM~%#lZ8f0mPRfpQSV{TA3d% zvR&k*R7R5zu)Kh3xNbG*l`SRyCOt5m3XtNr#T@v2*@i}s9ke2xv66GtZW`X1?TaM} zm_xDcK^#A3^n?g~;~bi?&3*sc{!N%*e>UPlPrK03)_-~FL;i=CUN%x&t~&$F(84zl zT;AYoJO3%=Or&+cNb6%z;6a9yJNd^nh3odIXQVA5I^dLvF6vZi+>Ry15= z;8^Kojq6Cs>67-eY|sVAvj1?&E=Sq&J&2|U4?GvY2|3{su2X{16f~jJU-=&{ar(>r zAGwt23+u@L?_3(g2R8pdHwnHjSpLBg7Px_#**a|b{X+Xzq)cd z@o`+7ea$Oo3_vI2ea67E0O{<{R#x8Ki|-W}0UvFKv6!v@#w9%KnO&+L@15NtBZ>0e zVY730idtSx>XIm{s(Eo5K*Qy@539+)5Sqs}L;4@l8h7?4U6)-y_&(9WC`Qxn)-h2Py zlCb7RuhjqK($7Bu&98I+?tOjm^Y1<_T>js|LfXB5hbx6|{vEBqy{WzTrCXkUygPo6 zzH{{L4gKHo{?BJWxBk2aSdCg3MDA(-Pz?w1_O!65Z~3tr(>C4r@iSu^!Mx4FEO%J7 z=f?*81e(7cdOv7IteOXXo4$GI9p2`PaSrC*73-oh(&YET?fnjB)pG^ZA&s>^S%9f>xh?C11!$~{(ySTdy`K$Q1vJA)dX zf3o))RO6HjbcG0cBB*Y{e{t!)FROaJ6+%1J3B6D`&-+fbQ;j7dZeb-?gj=nLaCSSv zEUSC3X9$7k_ljSPFjU)%Ks*8{cg;o@gonHkrYsiGyOLrY+dT%Fjfp9-$#YyMIXR!v z;Zy+MEinda-mqtXSc1;eD)Nf;4-`EWlqDiqD2X5iI-x&vg)22-5$b;P8B``##l~5L z|L%6uf~&Y%3t<4ya4AENNlauQ!yIFBnZG~XNttdGrxmA*uJS)Es8~!l@Z|m5#b**&woIj(PVjy^!@52Fx9|{8Baw#`I>ub54Xbp+juzfLv?~j z2fxll0;1`+dC;`+Jpa`ngHK2z5C-;>xFi|ry-DZ5YHCo zUp2WiUIbynHC1)cTj{pC=cN!Mr?_wL7_km+R>`C%CI~S#g{#^=gcz>tqIdX82YQ2) z{mX{){FuUj0QSs4dK?6xbm^4iSunw(!f8oiO4WE~-SsF);6S)0kI8d6N(k4ot%q$XPjJFvncg~P^P)@$QC zh|m}FQ;6?79l{SZ=*j943`h+z=uUfU+1**FxvU7szG^tm$SX3aKlfCs>T~t=h^Z0v zU#&D!rA8wv+V!g_@5w;tDZm~KkVQG#iUgF4sKKiSWp9#D1`0hZNK-x$p|pwT+<~*v zVy=v6i-!b78+LFInL(KSZY4SVtNqnXp0+W|4Rp5xq=hFBz3R$(#{=3d^2MTO&{JG> zYKU1nf+BobLpH2@R$QEwYuiCtm{kj++s zysFL9=ZE7aOEJFGa-0_-PF zKbB>EN+DpJRrQ4y$PhOYLvta0qL`@S zo!!}qIhc6~=X|&*`l4RIu=`l0LLtssDMxUC45F~YA#$M%K!qyPQwgtN+aCK7+jQ1b z^)fL;G66xsbwMqkMmfxnatrL~id7H!S%|eFg*6xeDg`McDf-SfLSMRz<%XPX8)T8( zF4So8%~Y=)GGp&Y=d#5{S!cD6eQh~bX88QCWt<;99?_vK+ zfEe3D3}5g<*xf_CEHoxnQLfJB88cVf}acwXOkg$RM;&R zWT!ndkpv#bTgQ_EJLws4y!$e2#>;Lxi=Vn5`;V z4_d%Pj88e0Wr)mdL1p%=o(qcVS@z%z`3O|AwH8wF=r$4&!? z87f>}GK2vX@{S9+j?vryBJfC*UBp?h#P_21irKT@jJvgPRz4w2G87MO(1t#210?v?gUB)KBw@DrQ91>_YY!X7BMg_J<5aT= zB5bV%K7oqoyN?(r!c4%AyKsmpQtY@rY_SslgA8NNNV53!h=zd;D8W@v#jl-#a>VOnteCtKjX}G;x(#+vY+3+GfBQ@;s^_=mmMKHzwR2IWzx z3u`TG2{g7TGHh?_)n1_GfU~h`gvOqm?(@;K9j4IC2a&gnUqB!k%q1`RZSt*5a#f0HIe{1lVo^wpxcUf7M^;*7@P z_>y9ZbV<%sev*4}US>&2V@cLjN%rI7M4MuTUf8F=6zfmL`HdyT?j<*SOFvAN-h>pl zsh71+!A4OI33vt@GW1Og^qM{RFU?|~j5N6Na5*_-u$2&cq`Th{r(_JDCf(YI@HNYP zBrWM7))TiHb@vAZG5)Y(6M{JB=d=?A=erNLIIJ)-Fh6N4(mn+(WWIjf9bj=PMasw= zx##}1va+(?*QP7)&r#5(TGgR@DvwNTzyps#J;W%Lr5u3#Cd1oFu%s=dN}lCBmxEr3 zMp!1^K+mwoFY>uDf?kRIck)w>u89jll9OrmsZ zT}u?Gy9BL^`&FYZQ;V0WRVl5dQ|nBdkmm*J9X0B&zo;>rt~)1CujWzj+E;fj8u^!s zJl;b7CDq@Uu2m~V9#z)cm%erCt8o%&2-au_?Ry*cqUL~Xa)^P%QjruITT;u(ku!2s z=|Zhbd111~K!R4QuXF8QoEEs=TA<$WdSk(p#-bOEB~6V*9(CG%jT(K8)f!E;*PH5} z)IPI8(($ZH%TNlHd0-1Jbr4`IuAkY5p5!zPVoDcM&0YZNLrrVlH5%StfB)r4vIdLgvvAw$O_<>C=bJp)cw**J^^N-ydCX zI&Av*@6Sgdrp~qrNhiY|m_Q!94X7_@A=H21=s+|4(z2>g95BuA#~}XT8iO=y9ii`^ z3AA8hY6Z}3VzzBHP&Km`t+s!VhZt+8;>foyCSB8L&7yn9>RHo=MV|n~KcFFGx?Mxy zy|`K1UyTj}|Bk{ZNE3A42(D1rl@k3fp!0>^poNV>Q&H6KqFQ%YTOizA|2>_GI3Txb z+jbZ=e{}Kha<^?W@ki>cb(zS%N;#D)Skm%C=E9&um#G=@Qi0iH*7yMuLb>lP5LiPG zL|Ouna5_v4Tvh-4SU%x$Pm@j$g8dT;gj4;~lj$Es_WUHG@QLEj{>mSfp7n`Ip|>Cg zW&ffV8l+engETR#y(^2Xg=C?P5cMO74Lq_+_C0fJZ5Os)f4Yk>)xDV)(0b}(u_)@J z2{Y%LmMkjdA`Y+ieMI-?Y1H01E(8{812ec%3oMRK zW0fs?JJ&yWSgHJxp&_@g^#Ef@DEDbc*FLGM319E}gKn~38`+boeO&q$4XedN0sUx2 zOZaG|XXBO9v4gL$X*`wCHyVDdI{CG|GREq>2kg?XuDi`+2Q;LAf16Mz)N#FQBk+cp zR{1gp{+BY!yMf#QF79q2?+MoGc#Ku9BW1eaRa?ke%P*0C`=K0$!=kwU+_ z_>Vt}{2lEuLrQFzZ<^#pU4hA+q3#?b15Xl{wD1pG$Rlc<#YR6JhcL8<-H4{XkNsSC zVH#;SU=&*~drbZ8`L$l_>p{$C&|m7{x4Qi;YTMSt^9zvvz^{{(j{hZR;C#&a~mN{;zZ@#47M}Yzwpy(_<$CcSX(ISc9G}{c7rg zq_=>tQCaNB@L#cCZ+IZ@kP!(0L`at<{_mF`X7H{S*x0)O_Af&_)X8Cu`fhB0^>Ja| z9gRNdv*45|+Sc%7%;#nd(-DgK9Ufv!8mYa2I`D_cpQK4EPfYiaVPJaT8{}IhB997B zz=6LJVNJyE3lyJ19QYj`UPVP#og`xH!6KaCYyXg4R0tgf?Ic5e4v;xp$Z`CV`wir~ zO6WH-gzwj_LX!6ajm;PXCtqNUCL`~pERIS;5?WxzfMYZrI-S-9->CE&KtcV@A#(sE zjRd!Q0+9e0LLM~l_Ewq5M zXv5_s27DY#b0w5_iLDR=x2aq`2_z_vBZim}srKMe>d9LwxaJ=+fdrwGS#!vcH4MB7 z1Iwba{V(jjg;QH$!?zhE2@oU{ifeI7DNtP6U_nc9EAG(Z+5!cNdnno>#jQYbFU74$ zaCdhpZrMD~^V+xbe!DyK?d_2d3GUwzzb7rpJb;Z&`+B1lPpb$Beuu=3cu_uZN z92+ZN;l(SXUmR)nnYN62A@Yod^>EU+zlZyW!;C^vd-*ID@dOG1gbe|Uj)_!F4y0)( zq|S+!7eU}fV86e&J;2wRN)V5@CThS;722CB9|fdJfZRaA=>2-8zNJ`VEU2er@$=O^L7bZL3U&K|D^Vyi;IGTV(uD%{~LNjgvui-@V5xEf^jd^aBY@>6GG0Rah}LNM$*{Fri+`CSIQV5~6&6j*#ACP*$1VXKL(kVLB0h)C zW$A9&)ZjFSvaj%OR$n+m$n6`)qIr}GZMrFJ_n$s{O!e)QTc{n@u=)Lij6yIuHn5oOE3pe>VpG6%cZh~U@KRbCZ6T=28g1Z`-4dFInTLbov zkFj}XiZJcd`+d}5e`eH+qr({7%4b9$7j6AO4@kOPp!cO&S*Kr54JGs1Oa0v<=2K1d z>GCL={40-NrjCv0*(-B8-z|x^|$ zUbp!K-@MRHtI*lt-4i(?J*`9ULIKRGbwAcoEGPhYB3;*;T1NO?LP8zTsNGYZq`!XRV zgJ#!BXtBYBSSwk2xOe!i@ZBPDU|5Gw7;l)t_-mrR6j{Cu;=siKrbpiOT@H*D+Rn^R z$m6EF*SCqIow%|cAL8&qoQDAmVVUpNB_;Jn@B(RqESQ;gBxkUdf|!+)_*0zQ$4^4g zQ1`MkVSU5jXK(1g$XIe};r2=1nDOVu!G9Pf#<+2f(nVL#)9ExQ8Ikn_{>IZ5)s;?v zB)I0rj;})LD)Rg7J$J&_TiO@iBCqYVUkH_=Xri(7@~ChX%Ra}9=LvM#4sML+(Cw+p zxpf8*yw{b}8#o0DrU|KhoE*!zY_{U_I_ck2#iE`U?-89;Bbs5~654CCmJ*oyF~cuM zmqp#P9ijJZd{85cyvqjuLa5h}w30sx3;fPNx=n9`FO5pJ$VqW0)|dTn;DuKVPnUDa z=r0Yi+18bpZjBll7vlx5fOe|EqMF%c6NPfJcIt_Zn)!m~g^MF>ujp}NCX~xFt7m%@ ztG=n1QORZQ%Cl8i&8m>F2I{pR%W@Z*N>JBMlsX2#GuRN-X`GxW^Xz(Obl#}baxwAK z$6b-zhcRjdk^g;s87^ex9^>k-MZ33chq8!tCFoaAqDmgjtxW1FF~h+sZR(ZfHgk@! zaO){5khOpLS)UV`Ia%{F_}P2CRIMbwM4o0FSv2<=+4g9X!b)J>J>U6TzqWQ|&&J@h z#HU1?cuGMpCg87AD-?#m*_Rf}a=xo+GCcH{YFYw1dUc5zohD5+Pakl6xNV$`<`}Fi zdc-YI*f@>LNe;M>b@=q1M58;xiROibc4bsU-_Xrx@`{uYTk|FpkkE7+I$`WN3?9cl zV)ESCQ0MYm(bJ@?`d(;D<7+%-u!%-927F`8DaB&U0@kR;p~pK&PJC=n>pY=u=NR{9 zbGpmvo_`O;lF#&tJJ?bhqV%boq((yWnDL{9lyy6}%d~!&z89NaA@rQa0vNR9g~w78 z@%3QQTEpc;bj4{$yQV3C`Ocq5Af}>IGee%A%2E3_v7gSq(%)_OsN~Q@#;DH(di97c6YqG2=~Y^?R+*1ATbXrVl~9+Rq@9S{sVC2liy!=bg;ax>VdqSg zgb47O5xmn^>Y%w_?g_q(TamIRNqSfZY4rtc%E^5kjjMID;I+5n|8f0$)uyTvCu$Pw z&-M6Jw?{2`ni!199G`0$0BMzQAPkzDUuUf&6=dv!5H(JP-17(rE!fCOe;Z9u@zB{J zCIWPJR77pMRY!kKM-81mA)lP|Xn&kxZ@5QQIR6m(EY}G@s5-y;xaSIktHn9O8vtoI zbUpMs&@+A$s5P7NJcpKGQV}b2<9c(q5_Rxiklb~)y|DH(d5det*vt#Zi9?l!1){fJ zne!X)){*#6ZiHOEJC85@iF2nWWs$`AJ?At!)YS6502sSRI#<)d!8?5*IIZp8PrNxObr#bWB z`np9N`$3a#pDHhOdV%+^|J+@PFp>MP?5mq8LSFits~4|Q?!L0sX&sR~uUr1Ea`pRG zVwa3iL^oI2<%$pWiF(fIZj$LuY@g02y5!+)@kKSOA=Ksm7>jTrvC79?omWNsRV%L^ z(wbmvLm?lDeD>cByX8gFW9X`y9g+-t+Y3INMALmbc@}#YY1J}dtsPpG{`~lLiylQQ zj>H~GE5<&@)EuK`A@EZx&|({W+g9U?Q++fRnoaU52ZH4c!6H2N&y@yX*Vo5%U{Zg} zE`Hk_A76LLB-oeJe4X<h=D$aI+Lk+Bm7j`!(&&g(f4PbEgWpxqj58f$ zj1ZaHA~w*W%P(M9mGSBY_)U56Yx%&}uwciOU@cV%k9Zi~xD>n@W^o+!+63c`E|7^G z-m&&F?oTJjZRv${LyvS-;@h^z;w@^;1@cT)6kK9dTx6qh+*USShDb?0i=Lpl4#!s6 zcNBr}&Msf4N>lt-zs3A{>RYv@gH%#_^l<`@p9*pLKT#eCCU_dM#K)y=o903xSn0~| z76x8jgQFY`ItJ$IzADMO^3%GVak;0pcrf?rjfW2v+vomJo0LcO=a6Y3J5RG%T8q|CiHWHQDH9+8e7BZKwsxd~F^L043Z2z3nPDy^DMN3<5!+t`ocGQdRyCDqs zQgz}t4Wg>Bs$hO(ebiiieolSMEsO{UYmd0Pm8!%{w^_HbJ9ix3AEi;pJXWXo(&5T#=6Y(?N&|;cBi!z#^`gi%UU2Ow*p+>3zM+PXWeml} z^e3HDeMw5)oUfsY8GQ9)*vkvN5wGr?Jv#UYKFyrfK_iTs1Byt0zrD_t(HfVv9EZD) z%LR|iCypzmkN?%no>=3ayUKt_Yc9>C`1Z3(i;66p54~^&^Zgl9j2x2KVA*x!63T7c zIUW|?=Q805=~v_aVn#T*K4Ek|VGNu!c|2*#GHE6-X)Zfyp*3k)3fAKV`|yDKv!ZS9 z6YbKqT~olWt&>06!PzH35#`4s68$U!9TA!@*UTr3Tqa02OQk zfN0&Q;OPi^-B@(^>s&V`Pxmv6o{y|v@avh+mNQB2df~sOZft@zk);h>%+mTJO+Jau zo&48tC){4=xwD9oy0}(4Qyf5aAD-}!j!$?sHNewgyBrh)J)C7h?XI0v~*$0J${O@#-v)#AD84XhrP=h( zK$*as%^J69q25mC@$w-7pYE;1niS$iRfb5yAY&$IBS3{|v>#m$9{% zfmX{Pk7aPkGES0-P@GAA*H=D;UVM87q8u)J8=B_ou`+3`wRehFiMjHw;EL3Fm-kf^ z(sIIL<$UNbn)Dfst0l~~6#%*wi*~RP8qhDA(mt3nf|lu6SDCoYm?upc=*$>A%$|HQ zV-+;xFfwC~F=N+Wr6F8?mcPn=u}IlsvhYPm)S#EZN*wB%hPtd8^D3`Pez9VhJ*rGC zN3~z=>a$|TQ;r;cMi~R70r&hngXt^M+Ut^^EZTzC6_VCv z@-28`))i_kq#V}e7A@X@EMF5^rcrLF=bI{6S-@&nw6rZ@gzGwjmOP*}-OQObf@f{3 z!EJU7T>*LYH_KhY%`bAnLZ8;OBGz{28%YIv!ll$vIfBO9#vguJj&R1?)o#A)-h4l~ zX}`JopP^XRE$4haDi2GyLvvV}<*UOr%KVM_%1zrLpb28Cou$DrghjjIkL*)v;vsR1 zr<+E2aykjc2|28j%;vL8mAx*GR-p0pcW3^+5 zu*q}S$+y}qFxoBjuqz7LEvnru?zStQ-2Jh*Te7+P^J2IBaJK^VuJY3^GTR2(53I4; zTX5MsHhfnd^A0%+MB44-Y?cctJyt6%F@}#M<}8W(8mDbCJUS545Vui@7qTMT6>{Cq z4zUqU*ze2V@2}ne)4e}1xj(qMKXkD_3_3s(9<&2NMm+X5G1~^L2V+JDquTc2Lzc-& z?+Kau?f6+$_TPPgvmmxw?YoLlMZ+C z4|i)1_qq@FCl3!|4i`@kcQKDBNsf-_90~Wh2qsjWv_M9Jik}{ST~mSclufT`-!H>i zoO~vnxg4l1Y?$rehrV=dUp>TNJH`|`#*#b6COQU^JAsIfw^;4YxXndM;6@ibmk*Zj z-O#s0@it?WBFzAyuqGzkWGToORJIE9Ni4o& z?B{DxE_M+%cH97+$_&TI>YTx?&*VJMK_q27P+^;>S=%siQKw}O~qVvLft<*oU;|2pXCv9I982Po?ZD|Sg~EY2wl3$ zUApO9x?5j*cwTyjUV0^8dJVhV40GWZaQ1jNn?9BHds_9VMDBpD%d(PRxYU}!-MJPg`eNK|5B#6w5hYq z$l1bCQ0@8ZqqDEz>)4;yh~L*~J=f_|*BM*a-!HE-!8cjtH`#1AIYKwNayNP8AHNoG zz5V&u7qzD&>%vX4A1`-(8`B17(*Kqk6V$R4om_Y3aeL>=s2eDk2XzAE0na^JA z{eI~E{?^0c<--vebxe*rVMCn?q5jID&U8>mp3P^$y_Y{V#IzKZZ|%40SQW8O&`rB0 z#}8NFFqidi0xtRE%(fsLa?ba?$5|a=P&UO9`IGFfC<-CF{jds}Uc{3>SsK>rhRq3_ zYlEra<$r`?tw&32|FRCHiF%&y?^JCzWgg9!iigLntHo_6@mb=1Noy@sEl?~~JTIOo z(XF#P=s*84Rc_J~@l5HWWTx6g;fa0Y_~f84XyG& z5%+BXnHqrfy%<9%?R4paNgpN{!WbjiHH=w60;ZuH#r01jpEX`RiTYP4cD8pkOk`L7 zdpL`cCldmV^f1TCQZ+nrcRQ$Ojz1f$(hpKC<|hhP(Eq@ar1#HI?8j@C6e`mQ4y$;} zZ+#4|Poo=HQ~w!?bq@KU5Bo1O1^}Q1po^LOKgETk7%Q^7{`WJ6f8fFz#s4{D_!lnh zx;x)j_3yZFb>T>kd_1S&zv04)>54VQ6aSns^w<2D`f2iy8AEN!KXKuI%oyhCoYwwd zGGq8Z!-dIgmj6GF3;!R?82$|x{=YV3_*r&2|Kh*S7+#NH`HKTwCsh6yW(=;DJL@H` zLl+0le+NI`l(-H{6_{^`$g@SCNy<{&YmUjj$#)x7L8rk)#4p+SC)FSJk>e&$qcx^2 z;w5G#wVuzMNn6$(T+BK3JiD9+587WYcx~AWNtrUCss)oj{u3AeEvZ8bog(hAz`E((fxi-ftwhh=+8^2=&svO!Y_I+63$?i z^eu=nO!ME>2jj72Dk6ZW7q@5YokkC`v%@hp*Ht+kEq65Gp|E~N*n>naZDC+K?9{qx ze2|+lGI06mNjogSr-NbZDkCnW7I89B#xNolE(`z=5@0gW4`a3BP(C4aijt;z8k7a= zUXcp&&j|rwgQarWeoayy2VAJjiJ}NEpw6mm0hrkS5;RhsNyo?GBR@>QLcJpA;VRB2 z-r1zG>i9mom;i4EM!+#6)SEGgZi`_J_ug69ue>5$lo>~OR4A4trXz?UD2wjgtK;Qo z^I*_dIXWCOARrUNpP)^S#JI9Y;z@2CVw~xu+Y}y5aTq97Y<588$1(`;r}1iw zj8K+hNMn~11RxXx($u5D9C_>pAE2*pMi_)-fR+ zk+RR~No8Q!+wU-8ubg9C3%fAtu)9-hrN_nVq=ong<*U2*2)(uFU%-~0s;n@!tYD^_;4Q$f2Pt5T{!OM7p-r4PuTfRpmI|{$hKwY z^>FOMbhp@BzM-&cNrovvtK2UPc>rPsO8*Rp4etq7;Cp`RnZhl>GRd)T4ouVw$D5Kj zl)-MIK@fZYB>=D4aA2=n1|@HyWJ6oDB{x4Kf#ITb5vAHtbnHg}7YD9Tqgo6C6L72= z_7r)n1>j+PV$lnJ9EIU8Z6nEGuq?xTmIYL5PGm^CdIBh3300!Nrk*ahR>Od4v`?Ou zgK^m?u}492Chd%|v|s`&=V)m_E4|n=94mU4>7hs3jEn?DlA`a%-XX`T=eN5#!J`mB z)RS<6bSg;(&YWsg-oYn5O)HwVxUqmU4~B7JGm0FvvH}33FTjSq(qM%8@aQnmvfz-0 zJw-?+Tk4tT1-B++#w`^R)LK$R z8~r{xXKpzIUiTAXuMe?ETp;V!z<@afSlsr1j|K@;8amj@m{Uy*)wNvu8hT*04r9)M zTJj_bB}&#Q zXHiJ^{w{VR%3J+!I)O01u?aJMvYyLs-3B}~+cj{QwPFQum4aeDJ{ zevA9EvEceZ&a>|KEx~~;zd2POlJ|x7r&ymWRX<@qs?DR1tlK2dG^&&I=VLOeeVOJvd`g2gm`P(C({m7xH%Fu_sA3YL#a zZOz zpDwKZu?zk2E_|~({hnA`_5e%(Ab&EO0F-9{Reb=Nd;qBzbSF7rjK^!OmFVG^$f24D z>qHLXrbQeqF|qaTFV=_O0xnYk`3r2qxlDql5Lej=0-*#oL3ho+ZUnOcLb;S6F?oHe zJk4g{8=MJanZkFCwFGY{-iWb7IeG%+gEiS%bB3;7~vV> zB^D#$9P?{_DPJ8X-xthqDGGIBPd&^Ez2przdkRs=7QFC^h~4XR@pMF~d_-AcL?KQj zn>-Zdq*oF4nR6Q2z#ds99N97*0nCc5+9tYnit6=>0x(2kI!E4`M1`&t}cx1ONnAoiz-ivd@%94MJnAN$6WF_iD_$k%ZJB|FQ&&VbtQJ4`bqT7OlB;FE3%JOIDnKZsM+!gFi^TKm#S4Cjr$vRw2sgyjUK35V z;`@f0$IHLu31i}}gE3ir(MZN$TlT?hLyS@+ii;#_>LqG_NYo9F>Mo4h*pBZ*Sc$QQ z%*wnpaAi`@mCl%Ux}U^X4%geKKmc(8P3*~fddVIilD+g2-*UwJa3JcYZOJ@k?pdJv zdEqa<#6IU&Et_&D)r)c9NRIxR{6*wzg5K92`50s`Vo;7Cz1Ho4RgNi0o^$636ZRX$ z4~C3j6VS;Q^Rw7DwqMIBQ!B&c-*Q9__aXo@`0Xb6eMnn)okJi8{KTBePV+gYBoQ`~ zxihJHs~)uJDyjt=aLEwwCK89#i%vaHBMH~bzWRp6o9wHQOp0oN8sJ7uT%`~1q%DPK z5ECO13eXgR*dQQ<26K00ZjJtwG`2?AdtCoOlqLWV$uFAH^CaEb(Cz(DsrgiWGQ=LVuNXu)TZw+9SF znC8!`ikVcHUKxAH$Xem+yGP%a%fukSXdH_VTJWV<4*&pm0U~6n@_K5bfV|naPSJ~A zc@La9Q8&=@kL8$gKkt_bajYDA@`$`XM&i!>#8RsW7YO* z+c?nFvI3k1FG zuRvazQxl>{sw|<;B6-)22G#~YY`q4SF*jO`GodPLqEPzs@=PbZ4HMjKhKSu`!lF#V zv{u|32K)seU^g=YO?~B6M>QevD_U{8GmUm9KG8Knx{-!-b9h%s0y+pFWDnA%N*Jz$ zhlUa}TXC-dI8so><2AI12NG8fN&beH%s{X^fq&zKmjwM8k0iJO;KlPu$+_WO@F>Zg z8N{_Jo+snQK?_!4=uHHqxv4n275Bsh-?$5s254{w;{E6}7*r*)3^t)`Rf_C_Tmeif zU<8^x4ekAnXPHI^$l3!mHH$_8-M4Y7WI&k+$R-a#iwS-<6t_DO65k4W003X50t*l> zMz=olVo);$=xZhBbpR|n$rF&DqE-alaKpxhV>M}(10`_)P%wJ%B!_tSsYab74bs8@ zMsx5C;!t}h!vQCiY$P6N5+~OLxM6|j(tuMe_>RG#lbZIXOkfBY2QvWF4g<|>;N&vk z-B|+T{XzDBfW;6Z&2n`$D4rVP=K>5X8G&a3#ZyJ%^R?p2A#v=>)zRye56d`f)wp@!{73-6ivgco8I+55R>BODU^oTUka#F06ADJ-f|^e4n8dhA2(&k?YX$*9 zQ-6AB1!XIKjxw+riW_~5k&VPpam9Op5!G@gr&!kDVU%I<{=oRigb=c)rgCbO!NMki zjAjx^8B}0p5j;YR*rr_35Mk0I2L5P*YvaVTajX`TX%qrA&SWs|su}fGB`j0z3`IHNdN1o- zm+Qu~LLx2ILy^ENG|Q;k6vBp=3BX7H|4IgMlqOIg1Pd_)nvav=Mks)iGB{pte5|T1Q&P08VzoSp@(yC?IGF>WRDZQ(A~# zD}F8yA!mw7Q8~oGX;gC`k_qd0`2jQ6A6Fz3|M@aR+X>I5TroWoBr7`8M5;XiBwS%e zJI9b+FwhMWyz7qR3&0xy0FV7a3jRdVt+?$@cp+dyRez!w6asI*9E={_5E_cn2ZIJ% z4dVQ9Tb&?QZ_$?kw*Y_%(Jkn$5bh)x1%n?!0C5P6mQ0+2R^T=auav>Kig{Urt6It) zw`akSe}Cv5HE;t4Y$;byF0b%1nZIBFXFE-!*8r;s2v9x_)taS!@f!dL@492M|EBh! z?bi;#=NwX0Jx2TYvJKCOnlu9uUz^Zl%{T_Urg1!r)(!wd=4Jq5&=> z35u)FqjT~C{k#yy9Cyt)DW<97kGA4ILJb0OS@AHt@$F%t0;JMyW_u!>E_WX za>5%$0z(b)vz_oPkf6jxpf>`N0>m3|$IV5rxM12N4@5~kglPz1j6YGFKcP1QZ_Wfa zm!Sf;Vc`140SBYfuKGJRHIuEYDdtFO_xW$JZ`j=EBN>6M2>>df$7IJCBNJJ~qS@^L zp!3a7thWmLpUQD(aW-Ts$ln%Ydq-ZWPLq2V-P;vm{)o1~K3SkR0se_Wa73g6m0o{~ z=AekcdU`@SoO`C1w@jI%jQUoHEeXfapB~5m$~j$vi(%4rocJ(DV568Jaq9QJ2C^Xf zeGE|7jyzNOohtecYTBQnn_4YMpO0}{n3+;ho=f!0BBHJraty1u_s>kj6H)FJPszgt zybDt{F1w=iqJH>c*ID5BFc*Hs?=mrvWB$JI0UGq|8qL&iO;foUD>fH7Yu!{BOWAw^!X>%pf!Fo1HOV7RJ)#e9#-?7<5s~ja#pyI?W|_K0@4jU zBM2q<6)Y#q=a|)b-Ht+!{VZ?5akrb2aA(mw)4q2~l?0!0P1?&L0x#+9&g$-ZGQY+$ zrxO91k6Q^>vU^Tq03&afVV{8n7gz|@m3G}`GE5sm``M15J$9qc6ty*Y46Vc`Y)bWY z`7bQ5Gi1J=n!X6`io#XehQhc2xhX}R94^M)z7oEN1C*NEs!=y*wCij4s?L#7i|_rz zFYmbL8a{V;7)^le|W_sn2gW}d762>Ah z*oFa#HGAtnY+^i@!tLOcd$Cj70Q#}Vjs>77YE0#kA=Xk^+N|)II#eOve|<#m$wF@EYeoz%RXNcekw;1rm&)?A0wnFK9id)X zU*1T^TkN7z(FQy$z;oSWGkgFhB@=-HM@<4yk+L)gUC)d>Vocf0aZU{yxcSS(phGY^ z6uO9Q(&o9ySUIUr?}McCe!o$pW9$bM)HMxdshu|4hzrf|AfC63}G;p!xCgoMY2#b^{j@Q5b+}2#aAn*rKz)XY}L49{4}W`-EFiY z8C7Ck)sWvpV7kh(9{2kJuRB&etl_<*)+S)H5`)KVGpEz2FvX&`8E);=yKJe8lE9Z z+6{!F94<-^9Xi`mw|)f*HhauD_DFcPJyj7;@1pL}*9Uyz$fxLkCP&AzaC5Tt>*P^? z!Cwyvxy!SvAF-4e$-mEAaRyET#11JjTHm~y{+sd3abe2(x9{bW+`Q2ei5-n}X{b=Q zm$6SD%LkMk=S%_Mn8=;_ugXO8Q#}c_+42R#s>*aR&`Rala98uOE z#;BL>E?z!LLI$y&k+0?p{&p7s^XW}-#6!&GE2_^y^qT+xvr~P9A5ISS&6S)~A-FNQ zVh|^F*`JspMP~E^#O*J@_$uG5>PPNo;HeTA$$8O|?LHD|jBQTQCET4Y`I_$O9j$O9 zTC2;;n0`O@{i+=7TF`w>4=gGr)VeMo%eK^DzFd4GxCyc3pR#xU<8Rw!B@5|o# zOj5plLaPp+ZKdzXUL0OhkJ0$=C6C9E@-fc*4$OcAr4l;UyHz9pEC zZ|da$9F-D|!HkT!S60^`i)P|i)gJpch3YiCD-01D zlX>?fZta`0fyhu$p#x*>vH!DfRfzn!8Sg=R?~E=;RAJ@`zV31>?b&oMmfIUfo=0%5 z+$Z>imU&`B$|R!WZiK{UV_8JO>|>gR!s?T;(W33LKHyEnxp8;5hF(`bh^3;=M8w6u)=`l?OzaR8=&W|0q$>PQwe zyEry7wew%N@TU>sCVjirZoU{YsXeOkUd0!Dc3M9iRQSR$mQX4mM@5Di$KG$BCh3kS z3OeVpeSM#Z2Vh^*fJwY4q0Dv1?}eg{u2zxMDME zQR+sn>xeA4V!aW>wG%l>~n%(lFkm@-eiB(8!>?17~TuN_Gg*T8o~^6W{`&$Q@`2MN;Q-|%ys6UQp~N$qL4~* z=OE9IQtywXm^(@Mky*U60 zLf@rF;RUKr>GOQtIz@Qvnv=lg%^n5ZjWUp2=W+2=Qre*cq#v*3gc2}ryE$vKQrp5E zHUDIj=`~w&lN>gwJeCvsEN5Qqz}5pPQ2$Gr-V!dPZ+o(*H_@I(K>3P;vIh#UA)PPVreyhe-6~fo zeQ)~@T(|)4Uaa-YPP=Y);%A6^iKWDzrjYJ9z<*t0pkmALQgmFn)3lJ1;urf+2}MKi zncLHNGV29`AV!1goIDA8Q{S(tt>L_8sk~ZR?H1&N&^Ps65)LlObMsqp&&G*g4jy%L z3r8WI%^MO&u2?7Yn~zBhs?_t9`c+2y>>k$uUpk?l_%_s<4tWG{V96Pe_e5X6Fv|b2 zK^EaT_zzsTOCZBJ#&Ld)7JS_!OXu<>c7B~j?z&Ga;}kKMLf#DM{_~8^^{c17pU_Y3 z1Vgi^YyJ+3Cgjjt#xIZWrnh~o8iiJd+R{n}Y7wdZJJwCa>%&gq`B<{B@arse+8VvV8GMxq9v{C@jZ0^?Y(%3TD<%X{&XDt%4d~)>8eNW(`oFId++yE z(jxg_SOBrjB9e`9w)bvC>_{j-bn$j{)9|QXcPCz}1Su--<2M3KVYzX~Mu3u$vr-YxI_(2880NBRzH`u0hO~cM zhV^1~GTcc^@^`{yWTeKW7z|`&EjrOt3iG@9O_0BiSGD@Vf z$~2wQZk;Lv?V4xO4C~S__uF(+nmNAG@GvLxF-lXng*|iWFtp(9jB6XrkvxsV`K!bd zuJmduuuB^$YH87}p$fNlgVWD<*d}z_MRmW+g}<-ve!t#re+IY5?s35HaU|_=VeWCI z>2X7sUlY0sm2s^1TRBf)64?HnJ8d6JL(gw$<8H7Uu|Uw?$Ec4Vz| z1@D&?5|?B!=2e9iAJ+4SyFyU31HdV1cwgX4%YhC$1Gogf0%E-<&Z66wzb}ESFHuGz ziBut(xi2Z9FFCC*CATlNx-U&!A#GkEU9<1oeqXvlch;FgU%a^AKri=MduER8O)sT& zBlY*4cn=fFkZQ$4Os?X)u43CP0Z}f^>|*7)@5ys*v;)0;(r`b`KQ$JAYTf?S1^uZ{ z_|uU4r?L7^Q|F)NaizL(d0pjxjyT!6e*V-7@mq%87j5_eVR^uIEPq1i$HLGb3Chzh zy^9}sBSpECl=8~cge$QJqSAtMNe4%m2S@n_$7BY_H3ugw1}EJHr-BBj69y-^l=P|_ z>@YesXKTZc89tgS1H!;4chyj@uu!tJfi-c?z(8JJb0*uARC9Tjuqyewu!j3A5n62J z=L16r>qCcULr2)d$E3q2%)_Vr!+&Ll&oqbk6B_O-c*Dm;7NU}G3#ki(Xp2Zy+zS=g z*WZMxGyZC$7}LnnC?*=ThzzUh-B(pj)lfaCZ}=97#7RWr<{|NFkdQ7U{sg)Qfh0Uf z;^zrRr3zmq)UST!mNE~ysVCZ3Qm)$m$~E^yaDSNcp1HHF%&j%Wm7OJ0QDSeocAJat zQBAKhi85n)8ccdLO=*-xYn0V;l+AsVJ$RHOag;M}^l8l~SJ&vXiBay2QD&BrClewh z0&4C1B72#`15Y6+0DCBTo}yvyh;XTz+P7~s1kZn__1dS#4h9L6u&^@%$6=4hC0WL$ z1jeOh$NvKtws=Zsju=-+OeKjX?`Q_uJ0%G`1G`Z~`i*gmJk}!N%XwU>(f+x((KN?C zhnL0zQoB8dW|Q^uCiH72-gZqGOiUPV{0AA=E_Cs6@znU`FpGvjF zNtM&CNDTirs&e~QMB|Q{l^H13d1BBCT)0Z!OzO_Nala#Ia$-~_8vl{+A{QCjvx zowI`Mrnr7UotS$aXW$It@k|`c%ol-~c-ff*t(nAs;KDP>=Q?52f=Ru)q6uNABJozy zx?z^!qVU>a;Os?_axg4(T2IA3uli?6jHz3HM(RvKu>QAn;-b9SqMF&_uGt?Gvn3m| zrRTF{z`37~=gL{;Dg@>#W#Z1%FcIAeCslt>vr$&u{7v)pYP3^@2fHB>zeN$oc}X1KeRDFyfBYE zHyAbNe4sBr$x++O#H6mRhspTJtL` zi>m^QYqE>$T8kT&i<|C?TfU2?%7#1XMt8b~lj))Z^~5=OrCi<`bHJtfinpb?-^iIt ztVrf3Yo^;RmoA>o^PxZT6PK>@mTqd6Zo8K5CYJ6umLATRQ0Gf~=}VInvDOX5?W>DV ztKP2RFM;T2LYX;>xt20UqG;{Y7FkSgyF#KdmI*JGi9jn*vK8VaV@$yn61eGoIWZPl z=m3wt43ot7U=48oO6%8!qVQ@;E=arG3gpo66l;|MWQN7M`b2P*3BJm#y~<*>%IdMo z7P88ow91iT#wgfG2R9j%HvwiC&X%q`hf|60LO(!NXgrF^lXOv#!xaImHG%FZ!H_lK zq&1QJHPPBNvF z*A>gw1q33MyVqY&uB&XWzqwdf1#PI2ZK$(uXb5g-!Z)39=1#`N&Ue9`(8ZeC-5=d{(J@vgDt30FyFUe!%EXY^w^7k5R_nNx*nkV;uZSJ*PynA8BDd4l$=0T->V%g4} zRR-VhvfA(V*zXD1?@juj;KF1FBdiCbf(K*pgK_PH39ExikAta@gXyG$nf!xUwC=Y1 zV1DvoVe?>o@#0_!bhu1*xWan4DtNdCKU~*7+^{-?2M+u#2POaq1;D_ekuT3|3&bJ$ zPhasryrBOT^uvXRLI3Fm{SVL&UDy3j(9d;kAmiVC#Tl<+{|)q$iI@5}(2rbk@L!;x zsRO~kKtJM`*Z)80C(l~6{zX}EXFXmO&asi8scpNFsB2ZUk!0Ypvyp5P!m*iRkz~91 z)#m>ZFX;bWpx^(xuQ==4KkXE@Op!bMin>l*Rh-o|`%Ul7dQ~Owlcm5|SPK9#{F1H% zA10oJ#PWYB~n8A79zxj%vT})df|HBJfPh>K>Lzx2b^fB{SJWdS(IuQt z6=R#uemubMT&5e7x=zJv)1wkjWyv(ZJJG?PfoUpJTbgD6qp#TU{(Rc{=lzAl!4TRD z$|Qozff;AU-&^2jFMq|m!OO?CW$vQLPQO+qaC^1&FE1$COpBlSPcJCdu|JM7144X? z@Jl!r;IB<)Z=p$;GvYm+y|5m6e)|j0_ZDO~Dd0BY9(=(1Ggk^{?DnVt!WaWgz;3;9 zE4NN1*d><;?|<|aqyF7jtepKQxwn&5)b7n&9V9 z^vHMfeLIOVRt%+@DunZU?9wN*JB5o$>Qsdizg)+ypQMg0}ej&FDWo1c0tgrAQL?v_CdjjMFm>pwM=KC1IE@BA@ zU*b*eOgM?Y^e!Mf=(bd;0Nc(n&R3_&Wa1hexQ~<Op``i~+L@+>}2h1kV9z zQ6CHgz+#~P2<>pT_g_n0QjUKP_ZsVqVv09*+9U$!({rw!7(RagZ8N$g5$8 z>0h82(EWT>?X}A|Dd!c9JpX1EVY+@#&J+Wu+U<*I+i7CjM(kFe0=_7lPAod%t{Cm2 zk%^Q~L3wKXgfEW+{#d?D0MMnMG%(K z1?fc%z4u;}5PFp+U8PBrj#5>+AOh06u;W_mop;SUGy9$Yam=1$@8dt8`Nn5Z@(o?6bp#H=s!}Izh3SDcKHISE9`)KU?3Oaagq+l89*U z%OQRBa~QfLiZEQ$+0(QgZGz-!LEo%tNj>`7nMNNyB?9In)^*>i2s+=1P(4 zZ(@vmsZJkQd5ArL(AfyZF_EjZay$)x`a`bf0;|<;lXuFaq)L%&JM@y;mW+Li?`y)? zP;U;Bek25`NTgD&yWVqWP!d~{NwhNNJL0RpX65_9k!A7x;jzA&cqC7IFdvHbyk3>i zmq#d&=l1V6-s6H8E{F65P#lB?a^EKkN;HFp@4t#t;?;?}tHMEd9;+-I2*7kJ=(UnD zU_MwBlD$3;k7~70{Ax~hOw>-*f&-nJJ$%D)V^SsrSD}n?hN{_fQV;8I9^pEm2IeY| zq6zbdV{|pU*;5=GTtQ5=>>>BpIBAuZAUNp`t00JRZa^WYG5xgrEp&b%o=>b*6vo%|@c_S6^^{!n)dyBEL; z%#xvWiTqH8eQvxkdpj5E?IH(32SR5c?D7+#qZZGZf4BF}mI1%x%f!p*chDAsj zFi$RB2W2417h@@2nv;v;u(ZnFJOqYzEG!xcwbTcN)`^C75rLdQUuP-s<{*|>(a3|K ziWGo*2t*PKq=$GNVf=|LiN`#UAbmd}5mE%OONCQ}!J@~}HbKB2ts zLm+zYZBqKAhG=_;KR$3}Kffhvm@L{P5|#h~Mmxxx0g7aLM48b=hSA_HzBn;_Rz@54YukxQ-6Hsi=v2u$g| zeXljFmw>Koi5ysoBrHSsA4YyeMU8kyP0>eClOpTiNj9!97e@%^^ znTTGfkKQbd-ad>P_C&UXM&<*sBfdw+E0K!{R89x%=f*LgEbJldkpw>sIEj{HgQa8am)>IEDZ5%GV!b?@f)wD$QhD5c=M9puB+DD0o3`s`N zq?LxCdmgd#SiT~V@QPqH&K#g;$CO(W&e zWU@z5ikD1^uT9F6hLoo=ss1LZeqO2Av{cWc)MpK;(UYmM8mXZgDOV?x?V(AqIP$%G zDwAFI1`%WygJhNsTUjm#V;xIVEO`MGD3PJMOcP79Z2~f&khespgoc5J(-){5-?W6$ zDQc|WWG|A;Al;H{nXN2vxaJ)lK z(DQ}ttj!+r9yZfb64O5OET$WGc@2$txG1?3b>Oxv_gqj3?;NT098_bD>{O2YaSmD_XF|pFs|+5@ZlQYr zMMRQ=mMl_70I4UNtzDdJB%610HTOn%-Yr<3NpIe5fjm>jd^3T3bJ_d{ruo*4dA3t| zHnNoc7`%asF#wniahs`7U-y(P@J=uAZ7g^?Re(J%@MkOxlr0Q4Ee!Q83{NkN{L)w$ zJyqxlyCqCYMMi>WuhLs_qq2KdlsQ%O;dL!gbEVQso)@A36*WBIIX`MhcQqIdb%^zxO)GJj%C1-wb0z)j2Fkn5%| z_q|^proTLHe0e%WNREFAT&e&GR(v)slO4g>)jWG_#j+F5S>cL|AqJdkd>?a_v5uJ;WK% zD%T}LT-84NalwJoyaQI$_^MAj~45+JlRWp*AP?sey{7XRXoPy~yr4G>4?`1UTpnL~=}Mz?AS@ z2$02H84gjTvbT!O{nM1_)x!8^_Eak8hg~Q>FDkKKdym!kp<^}42-*i*iG|vE0=Ig4 zZ#HfxRYc|qJ=Az_I<=k5%W!||jGo$!(DIQGef7X<#Q2n2#u$mQiYfZTJzY63_2Po% zT9o0B3v-x0W`0d}>eAk|u4ZB%Aw#>*6_{vqUIIC*h{bO)GeZ}dCH*b3kWfIZMVPu^ zrHuK50Hlv0hC?{Lc4RkNtB%SQz-5Va5Ub^~BcWyw5a2Kna9lC$UoV`P zPThI+;_^^~UohbzCA&s0Q)r~(??3w`N_jbGfp6La@ zU)@-B<6fClRLPxX&GE*my>id~?=`O7x888%zQj_Nnv=;*L_o&)gPt47x-!JM7*(e? zvXd!tX%)Gy#a6;(@K&r%X%}tB91{G6PLnGFWEgA;a%P@qv7L<&yn%*)@k$WLG zQY`Gax#aP-b{7ExoB4!XX)g;A1W=EZl15)dOZ~yLebS~Rzai8xG}Ne=aw@YroGTU8XFvXOOwrM zsIbjgloY6nYjv+rm2O9H4 zb6|_X=Bvg9$CzTY8}NbC)kc74V`TT-gd#s^bt2_t{GPbSvRJJq=q#9}RqQ@=LY6;9uuEei`A>d+R5;7lIeJs~ z4kDa;T{VF)%%*->s@3n~y}KK$4?~;yJ9dNg%1P z4%u8Nvi+Dm;VgV?Z1v1%Y|@gv$P6q6<<@oE6mJlgWG{u(a+Zk23HGAG#qNOQc=Ni1 zI1GxC0GC@~b{<10jUsA;{U6-*EC|{H@P`6)Y)IDv2w?1>SZZL{KD2`nf(?wi6NUkoR>u#5Cs<66c^v z^H887h;GMc?3No(1=L`Z^6Mr=tv<-a<4IOP*iCDst7j;80J~qIe@QCAwSg!Tfksw9 zX@Gz^Y4#h1guj~b>?lun5lz%Z3fBi`no~A7!S2rzUG~Jb*Nb0>*GN-QI~Tb+!v@Yo zLb+x!>SVxIz)AJG<{|bm$l&qnA)*IE8aGRp%cjd#AR(Um?7@QP9WWM{btMsX@A*p3 z&q2|CQ|g33P^Ez;#Kzj^5ZDCj)cnZTE>cwdFe(#uyg3YK4#N-0UDTi|x{3T5B9?1T zSXhZCbylNmy=!qZp4A2RfD4(+mLQ~oEISuL79lmLoi#{AAMv`tWcZO~fSghoQaQ~J zG?(zm8hOP=j6xDwiAk&+f?bzE%JWk#VBqL9@#|hmjO-@xkBNjus(n>%LQAH1i#4nh z$$c%^tSWii*%7{#42URUY`Do}kbrvZ*#t|^rk(%3oQagpE4NhAI7c)GB}oVsF_eP8 ziY1oRhS(ytCMi{G+iOiF<)l^j=LZT(9vepE+vh<@uQ0BWA&TV?qyscn;(+5j;^C2f?5{y$RE7+`(>K-eQFX$+4!{~&+z-yE6I z1OuGRCGEzG4p=ZKxqY*VT9@z90=WHFkq7qAi3sB1#%HH?&x&B%8#q6v*sdT2(g?-x zkhi{ITujz(jVi2a6~Nl|c?JlbeQQ5>UHZr$By3zCI|L4Swl-bI+^*8%d~Wl^>0iw8V+%+kt#71_EsjW_v}uI<~_vlQAgj zp}Fu&e$bgsu^z5iZ7ODfDbgUqLlpl?i~JMh0+eoSC1>#J&&?dG*avf#G3dB%^LNBv zKn1gph*A-)_-9}7`KzD4Ei9RKL2|wdw;ev_xgD({7MuB~HZRPN*pEZ=xouk8vZ+rz zsO818a_$v=03wUT2StB`<&eD_u{JIf;`)|rwd7AAf0pO!V*b)q?-BtZ0f3fp{4WSX zDzSOsY|HOLYU*YpFM@(o^G_j_AJ%OgM~t;1lYU&2y7rMji11&!)H9UAtp%h~NZjwF zMJLnk%r$vAaS!;w`iVpeVt5CFdh3Y_c{gXS0_d1O6H{P4MCx4^1+jM1#NnK3`%L5R z#;tHJtpR(v8nf|Qor9ZZp8{M)-%$$cenq_99zL5>x%tbMLFGw``e z)bCv?_?+*{>*k}*hEj4ew)N(d1OK;RJt-Cf6VfrrppNCm6Q5H86Y}P>J_sS?g?CR} z|LQ5wf(xKTAF^G0cQ;@*h~A9mx)My5Pd|k1Y3f`kSAK4cBJ4Pi0}!l54PE6;mKcnb z7%-lX+T0TVj5+)?x)6gVJ>o`-{EaBn^9w@(&2{^>K{Z=3DLwfuituRJ zM1CXfXMSI5psGTdg?f=uw5ojBU~W?z{d4>K{z}gNy{)+!JnlB~p~VSbl{!~$t!n?2 zKlj!z1VaIA8E9@bAN|zexcF{Celfq&?$2Yx0QSCRK+_#n%(STk+G`O zOW)4d!sSKSg0r;8+m(|#Z^p>5aID>|0E-(%iZmO`8x{<}B!VzzkeVL)SN3h7vi`@| zTsLIg!d72eLoHhsILt?p-VtsTf+3@E_3PNQ&efIQ2K4#*wRu%n`!h0c>(g68j3fbL z02%xNl=uD7wdKWYE4Uqqk)DE1!QIrjj99IqD#2Hzg`3XX2@C3uqt$C)ngOss} zY}gFKgkOtwz$!E4^h9i*j-ij2h?$r8$O!6Zw8Nbo)VU137gHgUfFh)(jJI} zwyH&*N%Om`7mIvRCx0NHbwnv1&2sK?zB*rm`aM-B(-a$?>TSEG4GS^Ng`R5w zR7^V{(vs;FQ$~EVO}r8Fl~99TQkk%x0Y8F08V@|=Qz1IX`ljQvz;nDxx{641kz9f( zb4$Dj6*GRV`US1c=c0M`*ad}`Y)gTBfO6uFoH2b!41^eLqwF)Mg%tB$wbgHly z;dw}Q5=9~>SoByT8}X}e7*lqtc=%#&pnOuAc{o*yS$H9(%{y(q*6aBjABxE4Y_4^n z4BR+g<&B$uzQNgcJ#K)K{Ujn31)0|fE_W@VP8Ix~&BY3`1V*l~EQ^ z-QMy}sEognr@UmR!lgN80hQu*xxviv(QCY2AXi)5Fw2sPqop@~kxB8gQ5w%lZ2#ji zp0tnl3`Lyhkcrw0wTD>37Cr7GlE_d6wlu(a_yFYK{?sg3D zp|(%ESk*zv?S!~*5NHm*lzEv$dC>-02ivPD)G1f|l>ONsHNt`Icl78FmRh=b(cm?W zItZb~G_Sw#8mK@j4-gsMxUpB7%Y5ZLa;p4sebUSA%Q$7B;vr_1TW=|x`R#6zwVrRk zx&-R>xcKC{>$dY6tD3+OXbJ|%(wuimr<0VGmYN~onZDB#wq#1I=Fm0g#i>e0a#QTTwezU>i;qEGjF()H zzYsVmvn37ylr$bTH+qR1gu|ylnVhwG#l}Y0C~-TiM5r@zrqsITit53DWad}U z!j@;mygBwOLQG!<6}fwQeyE6ct39N(i|A$?ripu1W~XCk{KItoQp27KiP)#>1s{j= zbfr46lySGG8`uY4yi!K4uie@47ORtTsm_VAi|mk{?3UcGd~&Mc&3E!itv@v3N|oa# z{PyQ>o$5`5$~cFa;WOoL)%6#ZOnE%$KLat+O*88ouSYUw$)r77Np$19ALV|S(Aj=- z;c+d)k=%SNB`TjfdNbI=mjj-nUbOVnIWC2%gnqM2*o*gU!t0LwlFpk)_56lw;VV8I z(yVnI&Tm|vUui59c`5UrHGW3bZlYgp++i>&!zI6ItVZjRY-JAGC6AZ+n;vT@0RyvJ zbno*wD%NBD+Ks(Z%O}HDWKGc-!fvnXPQN=m^!YgW#=W@U&YDWx$@u%|{RWpOKOARX ze(5jYe*=EH>GZ>UHv6eZGdanYo1XmQjP7B*;L~lWU-KMv@L-Mf^Hxlq+%nyj!|oWC z9VT@1$}?T>&Wsm(=?8KvF7fW~wVv+1JUCtQc;+*)@O0kT}gKZO2?o6tHId+g$B4zTLgOV zYsrr{r~BW3yahts1~F?D%H{IFP|i*HvRx1$0kpJI$bC+9(Uo1i-+WV+$u0pdl5={$ zU-od;MYrWTL*@YLAQP`aErGKL6XngJNRo$SRmbp4U@XG<8v2HV`it4)4fPa0 zZ7vXAj|-F^Wlm{wNUpZ2P(%3>K3%W=pjWwr;4|55*A{e$-A2fmUk$269oG1%a$Ud- z$0#^xxgliYoX(Xr1?^vaLEZXYci zEuT3FAFt%5I39m1EGR!-{W}=DX58^FU~ISSf}}z8pJ42NM-BO9fcpcC?epUZZTHG$ z;BR2;A7>|F!pz_htZ_ z?-vqf^)~AC%|JfwY#4K4^2Nr@Ad$#yiidoyR3n?gs9y#+zV>SDMhJ!w>G5w2aQ|8j z>BA$5kj>Sbn|~PK=-<%BZ$(;b=P-6z6LQ72qMRZvAy*)P%+yx2XP+g*D837QycL60 zF}noT=vHE+jtU^QU?ytlR+g#?7VuqUf4;0NY)ciM+?>lJ-Ed9UdpiL~k;kW|(aZ68 zI3hkX_m>)?E@s7gSE#oI*o^t5hSc}v348QtnT=E>zoocy#fPEKf^jFcTl;}O45P z3R_m@=<$B~%kkJNEHlK8`*?bu@u0q2r~EO)^wg5=+`_)gS~JH}2QQUdFDW0qpE)}|cniQQ zuw>e^pi75uKfiwIKb}5KB6nCrsk`RQsyzq0U0+RwUJJak_JzXbu)X=SNa*nQIjRg) zEeE>NQ>%2I7ICveD7w`5uKgGK(ZkLcIwH}p?G~6%Jj)fnlte%C{mi!Tv0J6~N_>p` z0+*#nkM4dYhBjlKPmZqlW~XTKlIfBVug7~cN72+R!9)?d$v*3WlE8?n8mXqE^M0r3 z>da+rf*Nu(;5ktJ;-GICeR4DaI;zHz>8vPSIvxtut-+I10?N{j?``(iQ#p0Mg~Ibj zQU_eUqUIlb7djrr!Cw`s>8u(a9I;VIsTaiHzujy)uG>i^yPLGVYC3INTUq`+*m2#~ zuftTJC>s7!^!fC?Wv;Pq-P)=Y2YXAskjbIw+L{8Lb=%t~QxgNVwRQdLjy@;Tvv3ck zw&xCkp3~zyIC#T&|Au?h$>+`Jy5?nt4X-QHpFXSBHLmynczSX&10Yb%TbDQ8F67Qa z^y=FtDY5sioX#O*>N_rMeD@P#`g~!qzEgUDkaTytz=k-g{m75>Og&xXJJ)OY-2m5g zx+D_Q(DzVxCw=<#D{8P|z++(N#mVV12GKYaqPvTyQ<&tIZX8J&*v*&w`At8j@k4>` zUh(bE%RLX4Kh_QGmHYhsZjNZ0=+fO!k5=Z5E? z+}Je&82jYs4=kd27X0#{?b6w1sNU%ZqL!WCeC}?9$22eU>K*l7VxElrA-i~a@Mys2 zZ0C8`>B2J6@kqwmZsD`070IiIV@(8eUCisXcAf3uX_on-!PgregC}VZ-)y~QdGaGf z?{q%r>_G0G!npLK)30*pM;*7$#vbbZT)lmMJaJIpJNnuwL7Wguk02!7b+PXLNH{tUNyYL%M3NL@ z;fGivYoAkIw=*(7T2DXvRA16mKc)#k7Cx7YhkhI=e_DEfE>C|x2$m<+UueSrd&(0L zJ|8l=014xOZK(k0@{>y|{_+z6SLy@M^npr{CxWOzRnI`&tw8nqKy7+2&51yL`XG;k zKtto8oAvHSoc0tNUT-gNv4ftWsSbN_#!<3=T;Nwy$?}TnV&141Pfu z;>zb5T@Wl)AM!H9c_u%=raQ#{&=DJIAJpxDqIV8Kg+|gp4me>p8KBh{FCtx-SNT<37*pNVkQYrkOZj*X$cN$39^$3SJlEW42eoIi7G|* zXs<-KTZx(tiQ1EiRUwJ`MR5i)NyecGMqWvJb@9dxNfuoRcaD-WAj$Vl-2AMQEWMJg zt&^=Al4Y0eNm`SgCS8CExJww)*(*inR?2teUnk}+gplc%L{|S8GEI!M%x(`s{>#Wz z-1gJIotXDj<^4Mo^Q=F2PyU-H=GRNi`Ws(;AFr@{|3asUusl>xm_PP6)%}=h2_R?H zZLZ&1=uQy4H_+U$vpkfem8JW-aqs&?wcX6X>!yPrv+WV*ta@*nk9Jo6n?j~NZ(K!_ z@-N1!(Aq4<{h!-C5%R;sb9t^Qf6GgKP)wMZyRUvLzy%AeDxW9Xt`?F`S|Sv73%&K^ zmpaY`>|_>jruwo6nVblqX{vare4IW3E>pU{DyX#B?c&dQ4qyi>VNsTYWJKB{gEB)r zMuM-1`YI8%lZ+D4@*m)sZi(&O3yzA5*6ksjtdIn9neU7eQCIqy6qV8QAGDAPQ|g53 z7ay4rU3nG{jz+!X5{D~5lwAiEo_o8%Ya3P9t^l)+zQ|4%&Kg}g_7r=hAb=6ql>x=A zIbQ+!wO94gA=W~9{ZVTX0b2q za+eQhdFUML6;HUz578li-#xkIc(j!IkWhMOdTbmm<3j#Zr8gmD`pW6%f2Q=lMLKx6 zcu5y6|25^_;Zg9QxZc9r%a?C@wnEm^=# z=PFBd{;=OcCN-95^fcjKSoT~%i~^q6JV)f`Y)%YX#M_+>ojIX?O>kFxWiU>`(S1N+ zJ@Y>F;!UmuZFv9}Fo0PEM0Dem@;DKwzD4Q?qNZ+6)|BUIGL({SnV>$IP#smIEMmsfvN?CTQ(W0KAC0#>z_O9PUx+%$H!(@r@HHz{wUwG&bg zU@2L%|4dUaWVOvjZv0n`%@uGY!V&TRlM6&ocraF+X3%~oXUGPi_v=@p-3-og|laBRfr2Su$eg(_?K_!rlw1Kl?%}OC>9}Wyk ze^CjjUo+O+8Z+SN4@-Ps_j2Yf)7H{^lG*Vqeh)~bNc!q47rKDmt@d#}`Y7+y4WbEH zL-q3D{e$5PwC4T_ahZyQ2gAGYtxp4pScHu-%X~oO_OAzH@%!B>a^p4+U8f&}2SaZ+ zhmdMXdajNCC({4g9OTuIDHI>|f+{_M0`%>bcT`0`QUKT|B6A3Os{S7xxp12+cIBs_&Un=^@(L4Txb_l>JR z0UY8g^@GB>U?z9S44N%?g&S){};~b#_aw| zqyWf-Hd~14>^J{2L<+to<;TH1Swa@Q0)qAT(PxntLMSdjEY$8tn)$m7AT}~*xfM?O zX3#?94!gtZyk)y1+S2R0qxx!>_dXcia@hN5{IG0q?4K>F{!XMQJNWX?7FGW!7KAO} z$nauYz&&_rg7s}y`a!p|AXC~m(|gjPA=Cd%yPm^{Lv39ac!ke z`UDD@@0r!n@*6L6qh$g8PLZ!_u_hu!K#w}<2`L`#yNlokm>@*t)DaITxSpN*m}`z1 z#Mncu{6S$L#c%_Pou7IEe4_WH(R{J;6vUKZjbO3fVKhy?6%#}z=%OJNB|s6t@WY8r z{``}La>8j$C|D?z1X_jWXv+!ZBVtj+&|@qU7noPsIB2v+;DE{y8;AxX`K9t&hJNMm zbGq^FPO0DLbU94R>RqzG&*^el4!ZxC(^2HIk^P#}ZO4Xc=W@{XbgRm4$HhkGa`9^P zXqs-vr}h!%bUi(PnbR4jZ~q6bsS)?Z)cx?{m7SB5i1~PBQ68KDOf2G^Yr)XKgdg6 zjM3Av{frm*)3q$1W!tD%#-p2MbeGe3p+Vm>wVjEG=D^Lc!AX@z=&os?}&8I@D zoUWL^e5#ce3-#`)C5c%6`AqYld|Mme<{tQ;zK$)JZ$6YO*?K;VFQ4#C3)QX=KGmIs zXIkR_noo7H`fH51t>V`Xaim}YwUurOuzOw;gZa9WBOv%188|3?zPnJQ3;J9w0KDx8 z7%aFJRi;l;Gl7X3RJy+*lIs00>g3|}DrZ|nnaK{-}ZCuS6 zIMJiS*Hn}9S!G@jDLgq<9)M;-M2XrteO3|ZbNUM!g832wqNRxQoSmyDhYJYcvQIh! zeT-x-L07;RT}FtLz}Qh;@xOekUn#E7=0(fyW?C-FY}0r2$pf*YH)XX??gw4G-E~&A4C7r}r8=l+O=+t1P< zJy~!XDmI8$DHJIPBD6;`ci)9Fg;K3r!nH}u@&?he!d=&+-U1j-Am^0e`%$Hq(U%9* zL1Yq6+F(pDaN5qE*m-S*;4EAO_X=LFQ4HogIK9B0+O=L2bM?@89>jvjJ`N`@*adTC zc7~}_vgbOD45Ah{+n~6&zCrFBn)0{-cFAxsfVjA>K@Hr7Ye>dYL}VG#8Xo0{CfYm z)OiVFwEk+*NN&CMll%Aey4hgCjrzr8yN!nVR{MrUk z?x}vDPyjMrQd;&0B%t@(^y99zQb@0Dwr{1OG-X#XLeue671p9!^UX4;5%bnfqMExv zsc|P~U2-%Euuj;v`(|DGuP&|y;7qu<1e3)7CO+m`&=R8(d$%4d_9^AT(xtE;_?}=+ zwGFwykMI)ke82?(9x8Q#c(uUjGon~hV5U3x3|JHozY>pR2ja&9C-SU&bFTBRo}~TJ zkxentli>NBm+oKG@q}RL@Tynw9cl+=a%#XxQXfo{xm^g@7|zSkvsd>0dgdqbdq?(| zzn6$j&Gb^ZXNhn#*QV)kJ)CUjLZQ^0by#Na>%!3Go!Pe7-$!`)MhO*Uk9E4;t|&dx zA_AVRI~7^`aaU4*auAVLa@k|~3T_yjF`utVo4b9di7>)@d*Sixf+Z3y``VU68~@2b3XpAxscCZ>an40Jf1hg_|Ub3UT2@A zhQj#MQw<59dQ!_Ml6+#;Xn8RnL$usJ-z-XrmVs7Ql{QsZb~!g;G2wdAXl{c3Mjcnu zjR!{~NyfGetO?5!-Ka65NP?^zwPnd!w1XiznGSkkQGgRFUj8! zSgYuuwOgw!`I=r*+$;5ct*S`YPUulL`qFy!#DkJQKZBpmrc3K*lkFVJYG2uIG_KWt z-)P$G6nxp-Jd(fBeE5eK!%nzlAK$pHaImN;(h6q1v-t*ca#Ge-ClD#p(JRd4+)itm zQCUr*wYJs8CjDuxi*%v7;vMkb{bl!|Q*mh-PnZ4Uu0vo*tbpvEZ;S%FR;eiZ1oi21 zr>LH<9-5huL)5DN&^PAldme?I>PzI8UHZvBH{06v%!e0aPz%a%nd7xcJ()$U3mm;S zH0p%j`2=o}>rV`DmpQ6;i9t(VIJXyXb=0%3QlJ{NteOj1AlQ*ZF5N}U$$8l8DI5&7 zi+8ZN2vsV?k{eZGlt4q2z!6rVa#?bQP<0#~T2`a;QaG)?txl|YeLHI*zz~}cbhq11 zB(4wfo2R^pDSsYscAVem9fgK=v&-mJfHDpvTn!AYr_p5P@!&B2Y?t z?{Q!@kCoaByQi3UII2c;@Y@T=@{^ZbMV8)h(l4Xb5KmS(SwMbmlKTb~-u73Zhd5F? z{44~3a6*C2kR>1%#t2}T@6tmqDp^-2->4uTt|wz4@Kb#m2eZUm05CsP%2XhC`#dzzN zJM60Ga$J^fQKc4P?Ick1s*og>y8$l8NHyv}Y>cW(9IVnh5Q*A~nYw5helKuNqNe5D zs)93}0dj;}U6Isdk&W&#Qb|~a2#Yk+#YPzAa{k`qCAd&t>f!^2$o(hUnIv|n#>G}- zhu17wl{;tw&tWAX5e%eEu+S|7fFXbjO0XtoP=^A#`b0FDNOew(C{!Qo55Ks3jq|?W zIVqQ_Kb=(t@kLW2K;N~MJ}#8_VxY6Xdgd(BpwNt*$AUzdHh??@2a?|PqvTWJfWEO- z<}Ag)Fs^>&8cxJCQ_cwGF=ZAJLXY>bxZAz3l6Ag?j1icOp1Mc_?4*MEi_F8G8RH8V zow}r_E69Nk5b{`E?TY1a%+xzP9+>rK?fV8XIOU|yJyg5-lPbo`SU65R$VOzmcdWKi zGEV-4RDxtg+bqHF2HhF55Lx4sz^u>|PE~0pi0GVe?1CVMQx#R~v^SP0o#wG{>k8 zc7a1(2EdT!qO0vSOZE_D8cVuSPG#{;c7%6#4)ZTBMuFgUz*B@;Z2=@MOhtlLRb;%W zuPRlKA!X$+#T?1#AM-@O=)(T=j+!=cwgbC?ch z{Y8d`BYk2yV0RBOT<(gnN5<^5$4(u4>57z(bH`p=L+0^*a&P?3(?HpwhwH3{wNLQes{oG>IS0f|2RJd1m zsNd!Y%mDRHsNOv2daOT9ih1S5QW0`ptUpcWW|sn-UCq#3iDqKoSpwr1d_8xb=G|rp zcO!=MsXzcl0UMa1el{Gf??qqULd<6+GHFqh&15~>#@=BOWR2p0-JBrh#hH`Xpz!pS zsl@2xp=F7J1t$7mUW^y;l^0;348b=vIDj z<)zCj{C`@OSK6kSbt2KjJ<51VG2Ktfuy54Cl|5E?E7sIldx#mHa7_A+yU`DWGt^A7#wp*;Su#!Pd&zv5gZru|GYQ;Mlb_FqdnSUJH?biy zvqYXYi3>NgSHR2z>Tq8PF!PFMm%@-m^y7}#OgoU%nVg5HJkqBP8}wb>InMR=p_ZGP zuQKF@oZ(V2>jW>x&+p>8aG#+7ChwS#&ugS!9*1{Xm#l-)A4Cs4aqW()#$;RLYw*U1 zoJ)%>o`yve2Yup}EUWa>GWaWql1Fz45vK$%hDDZhsSkLu|1^jsi?l!O2I>ZO??Z5q z!wIO)YhgY0NnVd=bY;Wx^jp*i1zQNFMsq zp`=9luw3=n`B|)xIu>2%ubvvHN$_G6`VXhT*J9z@I7B)dOpWL2#w|&oCH@yg_WmT= z0~hbs9Q-ndkn;sToS>W?qO^y=9qWVbCW4*ogU4~fwx|%N?qF}e5J$+9#R^Jy`cR+x z5Nv(OBl?hl)X?zy&`9;rsPn_n=)#a7>(CJ6uw>7$)YP!_!{DDG&f6F`oCL_%*In90 z>=p#Qu9eT63!-WluU)=VJO-ck2o$9E^Y9FfO^s-rpbV;~e1i&$Ka6NYMRpiRc6vs3 zr$%%xVrEx;;>Avfm{vcSNV zh;b*%51Y}O^fBA0m|f$TeRayw*q9@A%Jqrpt-=_9Ar|nW1ewH=dc{K0Vqp!jL_IM- z4`Y!Ganv$#G#YW!=Kj+M3Iswes1>@!b+f_JhlW$*hyT7qmtf;_*^@}})CF9t(m|8G8+cFpAq@|=3g>n;ciTA2}Q6(0U) zoIBxzk`K|Lk|AQqz-@%tQIa`B@_m_PD~;rML)xVHW(l@pboZ4t+$XTv_po6oeF{|{kjrA zUH4>gJX+5(L$;NVp@V_`f%s?rka^5gaIm&P4}X^igOSX$CNF0+1U`+S96@HTILj~U zhmdz?W}JJayf9&yNX!5wK4|vx?8iXrqimFnQxr_;6g~PBZET2hr>uq@L?B3l zI2|w0h!^U`9}VFJZ25?7ae%jAzdl7@ECo|<_J{~2+$&BAh4mn@NON|63iVlCiD3|+ zWJ=Fz!yq_qvyL_qqin=|n+QHwj%j1w9mbr%dA!L~Ry;K8%nA40UuX9SZ{sb|&qmSL zLLonuvknPG)Z?ZK;HBf~Nn7#Nhbgs%x!O~?Y_Tjw~tjj-Uz zn02^`Xqp8rW58vbh-34jD$SD2$2ymH3T^@xn|XDQUt|^wHYydBfhBgPWG9UB zF+2F$w(`dN_%iXlvtxV%=gSjs@gGylN8$NPruk-Rh>;<&uT$lL^UBW+i%+MN*KHA_ z=3)z>I@E$i2FLhq5la0X`5%O2a}l^POd{2^{Lq}@TLmR_s_Nu?6A|cLvN>7qu$tYr zn)6e=pzAo$A-^EL)pp?6Z@nRxIi2ETFFA*|PUd~gm19Jz8w}?}OjMFj%JqssY%+>1 zJ3}T{EF>MwCRx5uw!Zy}^SHvY2V-+7`SOB7jcl!@T%I{Y-8qtc6q|R#2J@Dy`|T*{ zn60i+Hm`rP%!;i-TC4m%RKoF6a@!E8Ss3D{e#1QmiE}mzeH=VeGcWNZ>7y#lY%ggt z+`-HS+QJ5_G>7K9HJJ544TeY;v3a%Ih(1E}7Esz+oQ?6JRBFOqEn-kzeNYVvwDZg+ z?#X?WPSL4f)`WbuY=fB;fDuS*ms{Y)k|k8d2s0lD7a{5M-h1eqSc*6#`4?sQ%oIfv z8@#%vZhls&{xK{Q18<9^@Oe*RTtZpa0-biMZos}R6M+|qK*urgl_tOQS$I)J-GWmN z0kHT+1hK0HI|NA1_YrR}APYB`i&6ckx!!jS%zzk9(yaA)lrjZ?eL<2Fkc*XAc(oBe z4g>DPk|wu6w>RrDo#19Y6cb;`hxZX1-)}Ur!SMPNaYGb67!q|~c>+#xSN~c;1>v-y zTv+RAH|YKXfwxGhWUqG&z>;xrGZRZoJ4mHD1y!c;p}F4ZEQCO^Gjfx7zK!THy6xSDSp=^Wq74HUBG0<(Q$3A? zln+6wgGeiJBzSX@X7g|(CwPiE)S<#L7faU0Mro!0T9=7DW%kD1A(#Z#!9fISB~mNd z3FoZUwT>mP`pw~71bzoe$vf0I#$(dC3Bmy+)fm!f0CBEQ@xR!6@2{r9es6P=LJ9#w zuVQG@Ar$E)^nie&h)9#B(nN{{tf6-ZA{`Y31*J&uV(3LWs3@Rx5CQ33GI>s!Iq#V> z^ZqdF%*?yiv)29-?!E7O-`~&Yx)jRja){<`Weg7{Ktqd02_!lhGD3RV%#9rpK$Qey z=;aq-X*k+k-+HQ_ZH##33Rxo_jR^GZq{LwJCrYp z40J*ykr4_cx*wky?vs$Q8;rKtK{qm;JPi^#AMqrmy)e7uZDixwrALBz?z9M3<*mdT^CyU^hoYzRF6|=M}no%!lXxHAxt| zeG)P(hBl}8joLBe+YL|x4!n(l&64SKFvu$#B^0Nd2}8)3OjO`ByvLXR!F0+$cndl7 zwquNbL&yZ`ONWLDSvQUh!N+MeDOBwr>1z(5A?Y)1(h#fzgXF5F3))~zCL!lzUmxLU zDMPU44Mun0-VhDDcyjNXT}Jy2Mr%FVBNDwk8mY!kXHG;sAR-*=>GGdJxmT&>S$NXM zCyLX>(h{Ha9NU||hy*m_=S4>UGP;V6+ie;MKP)1Dh>>ullSIKl8l9kZ60kHUXf7E# zlsXbHG~kALl~4TPeTFWcosS@)Ya;O=#|p(0TW${S!4p z9MM~pJ2IV{WK}{&YbIuw^iP8>bN|DrNAabXazfdBXZ-4hdvgX+IRq`hz?6)kJve0l zbV>&Xl7wThDx-Isq%AI3a`=;nQVqlx#u|1_|9}6xXLWJkL;{4c*R(cg#Qv zQ3Z=m@V9`45t{B955j*;@3ut741L-j^sOHl$TfCo zJ({i=TjO8CcqNBHaSfjBgfhN2neEG1@%fS)#n+`30~^M*o)T#rao{B~A_-WgVkTY) zTgPksboWK*z>sb@r27!6V7en0uunxVo%l|sO{XOIBG1!XCt&HRw$Nn4;_9?U!4{*p zeaXJWGkW4*GREC7G%s9ip`+G}KcSuudp<;%pPnm{9HV zx)a)!!x%JusbC1|fI*#8Wr(D(BMvaAS7ekM+BWUC_W^c%o`-HVg0PIH%P(V0Aa38x zfsPHKaE3cSZLtBMNs&djDi&&&u7m0{w-Hd)nkw!Gw=ua!~tXgPr=Gp~Q0t`SXF@A&SUIK2=C zLLfm1SZx9THN=513}43Q-yL|q1Dt9oIHWa>k^fswCGvdElXrsmYbcmkmfz`f&li2O zt^4-wt%qHC@sk&p4VUW~OVKMIrZYTr{|l%+Rb`Y8 z&3b%XXgFGNHHfi{a{M0OrgWRG^vH>!lfw9y{C9?Xt)8XUvO)fKY?gH8q5u0Xn#cPF zCHwfPXk!O-7?=x4TDMmXnMXb4ftk(Jc#Y*7d38!=$U3(MuEl&_fBEsz;nrbeS6|xu z7$HND{N2R4=0`_6Z)h+0Q`l8XNL-w3c<*l0AUiQa-^eCvSmIr6 z*8g=huldCd1SKH)a`BgXtFIMoM;C1*9ob@qUB8%ouk!j@bH`G2fNDwv_Goa=ZFfDt zP_2Uz{i;8jf;K2)Z!b7V@A>@r@aPXaeq*x5Z=F8FPNzJRHO2#caJbI>y>CEwsg#-HCnM{ z*y4b1kgSYUK8|ZeTB=8Om6_(+9l)0sZ?Ebml#8~PlE@1kn`8;a<+KQ$Cn7N5(h4pVqDJyVfJl7BGy+k5WPFLfX+0=bQLZ8cvYMf%#|g z!-kMS4psc_O%ofsN!paACc6oNZ@H z7a|XaMry;lxMm&bb#K_Z@J@_ro39n$8E~;58cBK~vBzY+`O8pC?|O>l5tvTqM1a#n zS(i6~iN-*=SMz9?35tlju5YYHho)#QQwacJ!jK#J2_U^0p7`cZXwLP4YQDE$gOcqXJujGjXDIn&Gm= z5(Sh)H$@dzabI zPh9O%8X?BqqDmQmk~@@6lXU`L>;QbzS(bH9UF)VNUWJ0D=n%wPT25cq+Ss5ZK1oB8*<~XpTEtqGo5G7CLx47rH&prLn%_~ zo8$6fI`8J>QCa}ng2%wRsMu~2cd-h~o?Ox7JwUJ=-i}SHug-^S*ZZ}SvWGtNhnZC+7P=>g;;ac%G(BgV+6rQId zhg}k`D`lWYTl&}>u)$x@95`ZhElYjr4WU*V&cIGTUi^EB;56O zjs3W8{h|IwRQ68(6B{r~&3G70k?9-GX6`v4F2wP%?(><_SymfPun?(*X5EqPsb`Ci zQ(Q}qivseERjky_n-3;ptYYUVxRU50z{0l5_MOK-lo zpsLA+`|N!m`%`Tq3~&If6&)e#U0viT(dT;p3HzU1 zgAUT`o@Ydm5ccytUEc=ZUGYt=*dD+sVlNc-l%+5diQEFy`PRaDOno}nTeG?BSs=;o z11;AdjMsGfo>ns7>HEpYxIgf9;}gZRQS- zbT}CtHJIn#_HAf3qS-A@epi(T_gk@B8;(LKg|J|~F?u9LIzO~}b(u-M% zd@(B6R39s?_cKMNwTGj8c{Sv1B2CTTF2wR=Xe&e2aMF9-|KA(i_VMTsvlGF zs~<&f=?0%wz52`VR#=oEk47?FKQK745_uxxS0Ug2&8I~<4A8=Q2FL7u_J7O0q-VJQIVp?$`~yg!G4~@_oh<8xf!!}y zuZL~UL_&97z{Vv0#S4<)v^%z zI*vH)(B!7E9POHNZJxe_kYx3>LT%1f?axCA{6bXgpw23><;-M@kjX#vg96?O zzK%#->k~XJEx*9s-?(PGSoD}O^SlI06WSkF_=2fE1|8uS6;83Ki*P6lvvjAm7!S8p z4!6Qbs437=HHaQqT5}-XNEzxn4K)LxufbHqJk&7?s?ADkUKeJKhB}p{*yQLE${^<0 z2+Oi|drY`xcesmC)v_)tAZ(s>*yQV9v1*G^4)2+6x5PlN z0_|4H(AO-`ICQvux4!RYxC?b!dYg`gbFk`uyv0O(?9M7xOwBpQBq8u1(u zb9XSp7s4C`Vonc51=7g5(?}}^qozSz7%-R^!nhp5I}KvSg|g?+NNj+a>%uOi1024= z960Jq1dEf1l4L!zoZfd;y+!T4#l^iBrXd$LjLm!@aV8*wJ3f&WDyK|i78Qmn3yT~J zK`7HiW`|u+rjdd}xethp?!oo>!R6i%l6RQVG(-XuT)NYHNxiS#s;|SXuT$NmWFAtg z*Vmoj+f&th6&E622(m5&DZ>jsji=Ci*D8*7y__>F;c7vilvt=mhD~!tDW}9ZMJW10 z%nyi)zBHP|5Ih=WmP4bJLqk#Pqv67V&v6=yqa&n=A?#%#yf$V8Jal%xhXn`bMnerT zV9`2==muD#&giN;Saces(oJJHZpyz5lEOpH-D#}jj6}P`6{A8d(cwqM7cJ4yld-{* z`N6+CgQxR@zOCLg<8RCS7(}WLmRhx5l4D);*=42Z>E*?A+ZhqW% z(c+-pngjvHO#l+)Iy%BNst(T7e|NcxOQL^t)o^}WY609mGsJ~{8sUb;JG;{=jE7nu z00egkfk2@A)(d5XU$E#7)=h_+lY$lDX0!P;Dp6thZW@I;NThnO5h?TniH1-IIky4k zat~%-4#6J~Eu%oyaLjSYnrO#H^ zK3~!ZSH#c|&{S1u7zY}P=pR7b495FHxN<&O;X--w;q1#`xIUOa3MyI_Vjl&P<1}$x z2Jshm<8v-rvsrjKT(au;a-@Fgrtruu=w+XUFSmq0Tm03tz>f5Xfvrhl9_R??!mh8g zt>3rEj8zt;!{w5fG+S9D+eVYG`$7zzB9w_Cf@rA3beO1U2MP}rO^3)Shgrd)qUdmn zs4sQF6Szn;hVXD9B8Ztxh=)SO;o%VrAg!`6U1g}5d$3SoFkw0bUj{OX0$rUBVfPJB z3lHISr!kBQQ!E2+0~1r|C2E`86xW}AQKdqB0Wnw2s4bcoHknUi}cdms&} zADsFq*eD7r5g5!)h9FI$KZT(Dfi&DexD75;MH$MS6U+fXTUkM(QQw7GGq; znL8c~V!9b_g_}}qGVt&Yw<*(g@`Z@wK3VyOTZ-CGKs%)|!!9P_uZY$> zKM(aY;i1h<5-)Wb?r{3$MB?($6>oO>#WaKS(Y@6&r@lU?wdab^oUi)jYQXMbXgzP3 z%4gU)XH-MI-EzaRJDY0G8}H5Qo&KA3Q0@A>d5x>YIm7cNozmY@5Su(N@?-#oX*osL zzJ7~oBz}Mm>k-v&7w76H)a7TgU{&fWVQ?MsCdt)c@tV(~o8zK$>Y_*Koa^;Pm(E4+ zFN-%97k%~?Z!KQG!M;R&{F>O#t4FZQr_0QshB%X5wu`umWckXkEwn`6uZz5I1G|Gy z_2I;KY}zlYWGVAShcH}s-b;1ji%#_~3_a%_;UgBAx=aZ*TaJ=mj+J&F^jMBwTuw-E z_1s$~v3o?nS^O94phv=sMdg|fJChqJNpJeewBAt*0XC6$$TyTmo41N??Dve^AG-0F z7VE>=Eqz^dXqY9~pzG;DXMpXl^23%yqk*=Fr)yqBl6p&=lh@6ZU%&s&I;eRoMJ#>atl^*&xA(tW2fy4p z8HhX8T-hE#^^bc;&+%l}=SWMM$~CWN7)^gzsj{$RI`o+HaA$vs_(Lc12la2(L0|er z_zk8_w8$nv*b(!c9Ce24BlTgEc+Clqi7tJf@I5SAUtMEg6n&tVjS>X`3RewJjIv zfA@>uxf@Gw4^j6{c_90()H70P%Yv*zOO{{%O{XZTPDZ%E7s;`st+bB$Q^vzj#0sm@e=ALdB@}y`~_&oi@f8Ah@XAS+Vj`@cXL4L6{c*JY$3+mN{oMi zd#PX6y{_f#+Scycb?w@J-E~;nb==>*3fpty*mD-ybGaPhEm1-1r&h0@LQ|_9;5!8p+BJpNYL8%NGch38d{>==)o= zFuKR$7C2kC|5W7g<^Ev~>?oJx=#|J(p3+gi;nC~MM{jN%72G>2j6BLP4)Vtz=3YJY z*pgy>5|6*kA$9m=0Ju)n%r{JWw_T*F7N#EC#{-u+F z{gXl1-=U?4BV{MqFQvYF$_Kw6Y5$oS^vUOu)Co-M(F2yh-)sL)bp4(D`j;{VOR0SS zuv_Wxx5OLbyZ3ENRlj_+C|{DPkU3twce)gLx}0|UtKf8{_Vjnx>FU?hwWZVbd#B&D z{#LxSn3XwI(tW(o?|(n^@1{)4<~_=OB;_EDa#%n)s-+xvQBJ;6{w`5YVekha7(>&I zKYXoW`x~-u>4VOi0JDfivHPY#XB@YZ|LXFlU^huXM$_AUD_CJY)x*kfkAS^PU%ZbLR>rKhquJ??&aaN2$rvfUd91ijWxZ~% zuN^CGOt(f(q~1JH_6HuP$=_N(QQ27@DX@I+^H+6m^?PjqCF?}(plcr(lDKuMezddl zwer@VQ;m~@t))*p%R^23gv0wX7RSN37^kY%JDq+~O824`GUBtbj6kF;+v3ycX1@nCu2? z_Jo8>G(oum1kLghy_=#|4QP(&N>dA&@e@c!5z1$SRhXMpyGlc8~ZTkb=L=Dua zE~ClfWFEc3WeXY{AK*>{1&q2`Qm{Y{ccQw`174qcAkLB`vzFJ>c>YI_*XEEFm%Q;c&Nf!H)SQ*2C$pg5pKuap;;l%$uaLOIj zkL%YH@D)08Qva;6WV2RtVYMu8_bcSkvI=)R3%gij7)*I!sb0E7<`Fy+&^(6O_Zw_%z_=^V_KA#)or98gsLuK0glQ z1rwI3(Z%EC!llWYm0$QrgPN!AFV6m%CW47u>URXMYz>JdHvD?=Qa3^4z}-{*@q{;+ zeBRa4HJSQ%B;S8HYGTlT^!v$2Q>ETH*9MK_;)X|$Ua;tynZ^8($=H1(Kl$fP65RvN z1ipju)Cyos?8yOGl@gT$fo|cR+;*jTbpZRjr_JCS*XFDGX;6!}C1&Pv-D-;t2iR^h zK0KJ?<+Ha}gKw3&%s>M6@sWz`IXY%Lx{v38=btIG6kfF>Of zsq#x?_~C=O2_~w0;?;N>!W^cZ40ySwWWt#KPjG!a1__C-cLv!3C zwBD47SYtVuU~#u1J%p?b9e`U3SQ&Lx8Nc&L8hJ?HbmBr)n#c(3&pr zOF6tzf@em^!Bzx;JQH{!{Aq8T`i9jT``3n!86>!)PZ(xGNGHEG=kkc$(+HH^U)#5& z83*YHncV!1e6!+~2)8ig6_+ATkcnkPpF5_$OU^;KKiRkFac|hUmfKfyMFC@|~ z?Xvh4$5DY1JYGmbZZLjc_ql34gl))|!eDL|7KCPwkk#`?_{Cw_A%fvs0{rohEy5gO z2OLeP3wnBpSbTCvX;6*4XD(p6YC@2@C{K^R-rO?h9$@y0IoVn7= z{6T}80FEQQHY$cJfvnGI!{N$fLkj5u(1i{ii~FQ_u32VqdAm`qDq4jA$z*-SW0Ri( z@dlijPmA!9LYbuN0In3M^N__{Ku0sUVvIJ5I^fK7a%B)k7UtrM)ELOa`+9Kp%~hPs zFe#M2y%Gc_^8;St(iGA8eCvgG`n@zj;Z}RbJmSY}V2F55c||@#>;>+6pjqhHsK8)+ zB<|gnkG~8m0uRfsX%BtYdD7QrN9kVIGMOkLwRoPLmSfY~%{9Ayjv%lLtm>2sqpyJO z-Mp#L_j!47i02gSFnHdU$o4dGMREQyxZX#qAj=7_Q_(!95!HW^)V^|>XUX_DUr?;i zIOOCWfA@KK&|jn3;|OmuEc&f^x@;n&-1U#zK~5THmj`0g0|gb>;HLNbTpui?XF|1Q zqc~>CN2>YV@7(ar;V5Dzb311gEB@%mlKOd7ktb@0<$eYTIRN(!^T*EdHblba;%sEP zximig{Q>VVgAk?skpEl@@9*(o<;4C0{s1CDodA?sVV>|r#b(VdQqrw+K+YaVAbP+b zm8sIohR=Y>)f_febOM1M+MLhjlqF!DM|ONCi-H$SHOkl;r^B^p4?ipE!p5NHe9GAc zvwINbM!;QP+G=WHjWrWfDSh_gb=$#5afGi;=io&p+rJrNY{z$NJNl-gJ5sDQ^Y~6VCW}-GEJ0yxGMmf4i|KnKAWwouO%_7Jnpp z1v7nJ$SQNj#wVcb0nJF2!iwZZ&h5iNdMY7J#B4KW!h=N;8-ioVL5tWm34_r1Zu*ev z#IF#C1Il<&&t++jgj;C~3Nr^Z3|Rlfxxy~Rv&K;Y{(zuw4nOaP3J^E#{}ex0anceg zFUVyvOOtb!kf=JQ8`N+584}H!+dyz!R4ujBz;ottw?o3-2ciF>FjjWG1V$S+-;HOz$ZIM_tJ=mv;@7?`D$_^;l*rf%yH}X74 z9_RUQ_V0?R3!tvvcEr4k@LDqbb2yTGy7PM9cu8Y0_VYwLCpf;-u4Oca#im*y0wAIQ zC$q4JWT=C$Hg&ojJi!=7UHz?y?v0SCrAz#_)nPj#&WIJek4NJloA)XcA9b?N!?TxL zDTuv|;OC0rEF%{`?$9_Pb{aqa1?s|%>9&+fb-I`&7}2XS01l9F)$Go)MgWjbMCT5{ zYdS97c6t~<0^6dknagDX0J&=zoKt4W;f~}`4rY%EKGPk{T^Rg|@C34H4w`{q_{_@5 z8N%s~78FGaDx=w<03HmZT3tX%7kV)Co41)BbwWY1#KXulfxbu~B9s0C9OaByd}bv= zKwCRO{YhY?IT0co3X%8uYrGs+E1WJ|KphXN|Na2SnG{p&Cg#SfwdC1&e`)r7&) zShUrKWjp~*Rd0sPM?bF%y0#n*W{P=@kD>Jg>3@b!r$XwnL7q_-`PkUp<>;DpbO|N~ zHsixKOy8M;*f0STEU5)T+&d5y6EFyQVa@Jz|`)3cOvOJUoOn^8k7HP zuShn!@}YRzZ%AkcvbZBYu_KPwoHV#hDh?;r(y-<~NLJ%c5A>y9&Z5Kxv^&Or8=>PbO%^(jd0NGBEft72&9UtC>7Ug!e; zrX0_%ai+!%s_7HBiMa30WtZredbyrIpq{B*7+V6n4029O%k_wM6T%3hI*92p8R>EL z=}qGtGWzM^8IjC0hEQ1-{*cHhp^PZ=lowZ02&qPd)HLR#t0ES+GUl&k)n{gOX6B1= zWU^*u3NcU0-NRVi=*Q4YcAyeEvL1iQA_pY~wxHUnzL;M(x_X$ZzX{a$_|_wUL9XYU zW7&^opMy5D`OCAhOX%g%=d_Vb$FFWrT>pmdCA?U?^5U$vYR;(p2l*F>T*KkE3upPI zOcq~=1-ukbehHtU%53Zr+AsI&(MK6C6RdO2>M=C2FcMA@IKi`a&@R;be+g z^BFb6EXFS6v3Ix*X@aJxxGIvk-T>|c4vdrDY)by6yF_)jYXX5_95pvD@2N8zM-lv8 zyp#_nmb^a)Nl}KMCwG0+fTiwVKZY zRfDzDAztXx)(Ee4%~N0~UKt=+de$#J{ykU=*jJWTOm#}gsEpbNc-MkEeh(`D6`(7_ zErCeuxIUb*R5i?;Te^ME{2f-CIkpO`%~LtHsqTM(^%r!jwY66%3O6yROtO!pLy__ zv0R(|(>~hs@#uFpXZ0$^H8tX%3)Ta~ciOLPSdBivd^g$qCfT0FTi*{uQHY-aNOD8M z&}a~{2gdYxSj_3TT|VGwS@)KHGRfSWClwe<#3j`A_83P9Ju}1;0Q7yr_`?EyolbWJ zQ$ZQi5Q7SJ+>HosiJS+V%8}xd4yWX<19+=kTuT2V^yE(+-a73tg;2hA zf3r?ycAY4bQV|P@Tz$u79TMA`(?8(MPXu&%_pp%+lQTHV>i#>-{W7~F_n+G7sclbu zL*2f;nrR`t4i{Puv2&1qBOg0n=S3K^TX^o9lj052d!%}%wLUl*s+IA4nfa7LI8jKHr$u1V9} zxL`QI?2F({0gN;7fTUbHI7nC_^03bX>6X+{b^VU54Vw>l2iyU2gQG(pSH0$D_pA5Z zP}3DwFJPJnbV$qep^fpOl|287iP7l1GKKxohHJq7*qe}t!_ThggN&2ACoc@)K!EZr zcp6M(6CH^R)_Y}?gN2F$q~Ul^R^TlCTSG&n#ZzQEt6wbq9IZf@GzsHlqTG>~;~PcF ze|9dR&Rq|-6%x6sLpK`WexRovlNADIg|YRB;mfT6h3dDQ!Qz1ZG$?Ec$Lf$1s!u}- z|4ps0q2Ip4Jw?~CR)d7(OgpX&B7qv__7b^pFFRO;bp}IwDU*l31ta&@$g*m-kN~e} z+u<4;xDfk|OA-L98qElh7#XLp6*q> zFVyd%An`a!*Lst~vzt$Zni+l@CF*cim^5s-jVCzYh3T|?b5uGEjPN@?#a zH1cV_YyO_B`R*t)srHjNMA{%TfoHvb`AreEN3NqPrF}Sbe_3-!;2oph(Yyqq`6xYW zsVucw0<8sXxMEvq+hX74NCMEYPMOhiKgHKmdVoPe8e zk5W1|S9y&W#q)lyuW?nWYs&Cr3m8H8u-$W0m@JFVW+FZGGYtS6bS1`az%&v_2R0ai$GrYVtN?uGf>{SXPoG1_J`AP-GN<07U+T#g<2dp) zkHe)OsAI?NQ7pX*irTVh8Q|F{Rhh`>@RXMd?{Y=~iXQ=@U}v{^JTBp(x-_e;-Zry3 zC^soy#(cvoLH~d>8a@EJ;|DQVTK+&#`CMqZKb;GAyRWi<2M?-2wbz+{uQbUsv~$E; zGHCXV(*vsvNrEREt+Ayf#_!ZyW8z?>tuiWADqGY zv|FeD>I32bTjE{=Z($^Bo_60#`U{znd3wqvrSVbwhaeu{Xw`bkO2Y6IJ=6N0!su!A z>FiiVx8}yM^pQUHF@Vm(Dbz7NJkULRnw+k`)j|%o->`$I@YBNlWj^ zzAM|tu^xb5E_REnq#=4C%dd=4HgXvS20lF)`wnGYS^5~PfQ>L_!L#JKlfVLQMA{4& z)9<^9=T`E<;WUEUiyKmse2_4JM9U4YpfiaQ5J(tu;rVd~-C#7&`wMSKYt)?&LC*32 z5Rd!{U^+vTLohkh`f>~c@uNvP59XBd%jq;kd;FZs1QsrA*^*#o1L9p4g>L{(4ZI;j ztbcR(#H3-wJNh#GrvY6bn3YLSd>Mg!pkwTrvvEZJ>{*25cU**Q^w?iIV9lmmY_=N# z5Ogta?&0j(X$b)YQld5Q$hSACCgGEGcV*CB9Er+kKTZL5P`M6=wKeIUDTqE*G+ieX z0Z3=-_|nek39ZXg%0dv87#(mn4i}96M&rcJ{tFCz$LIy4XWigEAvpI=rI0Edri0)< zKToK_`zG+OX-);U-goL2Rt}~m;(cSf~uRvn?ICl*CNfpf*OE6K-YtH~+jem;r6CXnQ$Lm|M30xJ1i@Z`rC+UQ- zMykVEmCIpKeDg2EPYi`Jd!kirX3-0{0?qDmk^}YaIxT-0pC)a4VM_2@U?H!@I)e?0$Vdq7nG8TRwdWa#jH&l zaI2s#$bEu=Rp$`FszSLgd;AM%eU$`pIrf!2$0Z9%YkC2tV3cI?Sz-9V&=9SY!fnhh z8t%lA3AIv%(6@F=1L@{h0UH74+OVjBh~e50(jCmn5GQwxqJE}BD+kAK9a(`*S@25^ z9%Omeb%cci@+zw11}|I(${Z`b@i}@d1+KD@p70VxtkC#wBg5kY6-6m|X|5Xb3r=)A zI>|fxTNKaUdq+B=+baY@ldBx|_5)JK&ExvXreSj|`r+;2zOa*7j?vfGb?$Cb&K}hn z()CE_%l|Cux3IV6fLbJaaOa29@GTj({&sCvXUPyNk3?!zmT$}HaW-#2WtKbXuA)=2 z34L84E`*FIcYfFovT}Q+%P`tqhPVZ;NP)fjpnriW%-1@AL%VKKrn4dHYJPy!tw%TF z$oD-w*%bn5occA^^|{)X9n?~%`sY#Kh-G2bN`F!kHNe=nf9?dN>kGKs{j?Q0U3RHy z#;+Wy437&xjQZPYI&i<`)`a-5;8lB?>gxpRdBn^xrFw29lYFdS373{j>u+wD|H|1( zh*V>D^sTcRdk2=Kl^<&9jrbJKYL5#iWzjGO*0trZ-;14tKQ+orSow*de2eU*h;X?X zPEwUO5nZPDw$6V2vv?L&lWD}cin4a&ZJPS@frjWCtT$Kq=GD)vw9@V81zZ#Fr13+4 zw^l8N8JA`j@011oXce$^Tj4(&Q_Asb`*2|{9UU!nrj75}gAQAadm5Z6V3Ool{CrK@ zSzB9qIyiX80Rx)`00!!V{y`UZTSnWu30_Qt=^xb>pk$Df1Xo4>`n(f~;2^sXv z(&Jr&x~|D^(>LRW1rEttj~5v+Kx;wsw#W6;boN6f=i9|9OzkHWnnJC|R1VOA4Y6zM z!jqJToZ1IPGU~vQ52W?#G$^>>@rlGBjU(NB;;IPS(7ne+O0)o))}stjLoMTBp~1ul zzrF_OaS$!Er8aH^fo5o&0l=_odk| zv_H&YeEF5>)twNzU`7MtllI8qlv)HIfc#rVN39#TVT0NW?uD`5Q$1i6iwepTL30sN z%{b&M4DEK>1Ndmz*CEb);e}Mm`7{;33S+^BXT!X?zT9$lXWhpVYiom8NHho% z&~Z7)B>lSUK3ak!Qo3AW{l-HaK4Qf15h&OF9&O|s%DE`nTWiH_~7-p@#31~&YEC@J|Q`8+Awm_8WdOI zJEq;4k{CZ72r>wv8@ibvNASM7M_MT)wReyjmzkIlKs6kIyiNio*#bi*`2g|JXLP~F z195Gnmp0*y3YuD-?!(ZJV5QMXiE*?!huB42$yfH9|0K5nZ&>^ zqsS%55f~3E1)>T7nbw;V9gE8s7F= zUdkxF97k)F^HlQlQ}G#)%V(;<9TK6!79mXC<)C0$tL-7hDT^9XaC{Lnnyz6V0OTm@b7;Q~bg`3-z;PRkJwni~_0QR+X(kr^)7X`r6^Tueqqt_Q>&=+G~=&ihV zMZR&m&-B*UvUrFNoP<)!L?62g-)=Lza+C)RHp|DsWj~{F_vK4SNZftPdLTbI(>5fg zzzYckQ+f+afT!^>W=~Y#a&P8Edls?>7nGy(5ls0nRM9Vv3KY)012*#Bcot@6+7>jt zD^x9n`Jrk6pa-3d^21(}JAb<}iLvD^hjW3(%G>7qmgUoVn!RsZGwC!Nn8Iw|H6Jmx zsTPA<%tp9NQuInjjf;nji#3eVgE1v{zsq(bf!iz|&Auoh1d|H#oTZ?LeiB`EVNvj~ z>`#&V9loeX{-xT%MYG~;$zR@|9=!*6%1-YyovAD(8K8IXdrWqq1HKD)5Z~)<8Zy%X zBZx1=jTHsyKf7{<5-1Ayqo%WeBV4e&1@F ztZLiFYWpJDD_-mt6DVJ>C?U(>A{}ret0q3b#=Wt|XQIaUQ;p|w)x`@%@Rl0TOx5+q z+WQl=Jae@Vk84AC>cZ&iBGl?4?dqZ$>tZJAq9@St5T!9fwNTmC_G)_4&*uH(8lqJ4?m7SOwaH% z&#E=g+chsfXkN~0UTJJzooHS^Zr>^rYN?2I0k!i1{1 zuYR1`>bzyr=8Ni5;Qfz-rvI4*H13}k(Em2_cr^%w37gZ0ZJ0XEgN9JPM{=pqI+PT5)gk`INluU3!pDfm^)09J!4ZkxAQ6weVQ0Gcg_`8w!;tQvGvFgCA*!x zYn0@Rn=|SD0aQyb7dMIWup_fns+~l1MYT-3i94mcOy zt=e>*HHJ{hXt}s&vZ!Ff+?iHwz6aO4FMJGoliq3m=Dy7rldF#HnOI}PmhL2+*7s{! zKgQ@j0vOX>ULqKVV^MCaPxG$`kY2($D*gPH>i6T;i=DWq0BZ$h@DaDrbEl^wnk{pK zPuS<_evZF-R!pl6N?xpc9tWC6fxfl#W0N9GzE zt%$~Dhk#h?05GzZM#?mSIDR;Ted8O#)vd!)g9+6uCnWMOT1sGc$eeFBkR}fWxx0J~ zbXf0Ol?iE|&G!ux)bR@rslY^CGNpsQaY}H_20@{+Aq}m)Y>DjcU<5{&nGZ)35=aD} z99-2Jw`FTSLoPwq0RSgy;PK;>_clfzy6R40apvb=-nH*O;}OyyHnwANl+LdmxSWiA zN*|fBi?HcuN@78_^HRno3K&G%b5N_{l&!C>v8{|zltOFFNgYf}CwBbD(OxZ?zSKAJ z!sNeOK+`@=F8-SZwBW+j%D-7aYd=k`$LN*+IAc818JkEB-xs~B_I;TA!0~zEy$@@T zYzKaL{WxF{{;*RmV{YAf^>pR3=%_JA!|8>8SU{=d$+8fRzG+&ugBEl`S(wN_ET9Li z)S`BTQr`^2gM&51r7OCV(?f=>WI!I)w`i~Y+j{ao>wM_mE8(~1;?=sZzXe7-??v3o! zJn=ux;fnu@Iov;a&i~8K;Tk42qRzz>=Ej|Sz5FWv|I*n5n!b3kAmo|2c2OyJQqh^C zKgold$92@+K5WKwM6*E^@*7vJ6P6fOg;ekkn&-S+Y&4n=0+bLP$roN1WyKe6hHiXVg_>BkbN$L2)H?e>vI57K_bjpH?#R2XUh%Y* zf7w;H`xL%kry8;altLC!RcZ8(mb@^l(JevGAmcP6Wbl_usC#+2!>5t@q! z+qaWHuIt^_$3F>m{pyt=NE)Z!D*D>*Zh$Rt|LGklqB;5JEc*X#$>sl7-m2=07hi_3 zifiX3a3{UxrH-bx4(sy8-+^Xw11vNvG$BQ}Q@t_qu%l(cp;Cbj4JzJZ7R+3CF)A+lF?y~o02j`9AP2A*<3m1#4e|);xz4d)`6UTU~cv(Yeg2!L; z5b_^vYyTke-}&d4`~Q74>wn9tUCGqaU_w64h49C?>&0d+UDP~Yog2wJH|6he9;@94pHM#^!XT6wB_W9q~d(Wt* zzDHd*0!bj9B2B>1JJLizN)JaSFQByCZyWg z^3urb=Mb$2`X`~S#w9c-%&EoG>xC(p(nPKDwDKJ*jyD*xNTRd)oBft@#nzP#i>jmg zPs6I-@7Laxp&5Rsyrq$)PJYRn;%~~oOuPNBgX|yc&Hs$)G;VsCzFiTJh}(PrSggkK zU!xuWjJJ&cp49$tpVW@Gf`(P-Tb5S;W4!$*y~sZb$+Mr&MD=o*##~DnBZCR*CtGzX zhD9sB_;R7`&hl#o2#TMWR@lyia!f-ai+E0xt(fs!K*G{yHMqr~0#lysD^Z>FH`={Q zb&6K<$=ffdjP*s?YZd=Cf7+_~H_MXzN#Rawn{u$5+HOyXYx_^j4Y7B-JlQv2 z{a%b7dILNWul}&VGF90GSX+9i`fJzhrY1}dhU)^%MvLc_c%}7FxLRRYH-pWDxb@4s&QEpQq@-2D{hi#I3!I5 z>A$&_H*vXiMRo*Bd6IxM^mac7K#_Al$MrA3FvGwXFd{n-OC^9t=&Gu*y3}Y{!z8T@ z4TfE!g1T1b&kpoP(cPI)T_w3(QN@3AoMZwC61P-YYtR)uo;;=4T@YKWH+f!zYKrue`DP*OfRA;Ql!_8n6Gl693Nz*|2}?!T&`! zf6dZb)L7tObn|qV7iatHN`_w1UR55TuP^;aH@|qj|KAO=&l5>Y8fgaq7-S!9j=i<( zOyo9f-0G=vp&DcjhyTqU{ORwf#;UnC+m|ad|I;8#3+1`qT)ohlz$|V%(7b0?5lA)2 zTARIH`kW=_K0nY>=iK+~9IVX(zt#~3JW?CT#9uZYtF)rQ&5zIuW#~L#%5<_j-2D_Wx3T-;r+r5HSrt>$JuG z35=>}yED5QW*0D4{hy>`ZnA&p&qhb!V}b#^b8qxK~j&5!JW@U`ji8kkij9M zO=z{xjB9svVor4P?(uL68^`_L6gFUlvVvBFvHs?}9a;~zcfWI%z z={|#x4oDX=6u~rqF!aAlK6NQ!4%>X4ko)BGjfC0DWJ1YY;9;qp?X%OhQFy$Q(PXm9 zXzmg+ezB&}R!cKkSQyavm-#hb6v57uvRxD{tTt!Yo3FFf?(?YBPD$A}pV750@s=wk>qo9|Ikg z#&bATCq){fRHokOO{pUMNQ(4Ear#r4L)?f#AjN|5vw9N#+Mr+u3B0ZqiM*E^&C{b8 zD_ArvWV9T0L9?2!PN)_+^%%TvFDhU>a@SUKIYc_=YO)Ayg8Hd;CFVEQ<%&nunlh!N#DjCjAtlW*{FojF z|K%voIB{?a2?Ox~030jHT8lB~0L~I7EG28bQmyEx4!H%;IkNU!#nh(}yHUx@2|&>0 zo@@5_g7Xvt=u&Aa#0WrOzk~*=X~}eo{H+Xlx5>*v!05>TErd&wfoi3^PeoiDImv4@ z=twOE+1!FK3PD3btu)zpHrkGo5G9{+j10i%13RR3m3%(N-nCe`Xg$j!5U+pz+d|>R zzakdOI=mG?LHTWL6MEV&Od_LN&>uxVfr(E3 z5=h(th{I<%*3gfaL%v#zDNutFr{G7$s{y+Cxa=Q0(F-t9Ay{gqj6g$U4R+%MEf%BU z1P7KvxP85r1PS$6f0qWr#5MXPCKGkv_1pzI&1h9edumIT%v7d$PMCmyst1UI$uk3m z`v3_7)`j`cxP}xf(0Mn!Y2Zm%EeRt`qFw?G+}^s2OYbirIX!o2oVH>s8__E5gT}-}O$3ShkPoX%^NPCc?zE_@G578sRiNOxJi2 z!cV8I&2P^jj(HYyBezVNZ#Y2#-@zyka1!U@g>ZT#J-Q)C%gwc*7tZ1vaH0qXaMnPR z#+NSM7#E3gf2nzfEk=oRLn3&Mi{{he<_sD;hhj8 zZJJL%sSpM6F`7B!`tx0*(4IYc4a5;R5bL4HgpJ;iD#6`-YHpm5?7`8r<@RWI%8`E65>?H{RlS;bI$m+V?UE)*MpZQ(GyWNa`9;N7M-GF8)@`@&E#0BL#F!@mQ zw52vY9vjwca=a&;lisaXKS49|nK^sQr&T|>MPCSgF9Kp~+ePv><+HcpJ5y)KP#j2Cwt3#O1LL_9MGBpj!&(y%xdF&tT>^IB4&)LjS$+B25{XQ-~MF zc}xQ-BD0H1@oGEbJGlHX)-Qez$C;rYFcpw4p2sl8hj<|2{ev4*%NU@1^J0rJRUDPL z05#Q$WVxH5EZmHNyz1pW{}%-w&xTyTx2(bGl%*|GK|r*E#K+6uFH7ynzyl>1sV;*k zH6fGB5yw$bX3lu|PYb#Ms4SMItXgr*$562`+6!a=fQ5Vx$!l>NA>e|gT+DWV9N`<) zdC1;$%J5+NVHQ6ReZRT7iuR4yuLX1R6@kogyr4Ux-Q-X{bE_hm#X85-Tg;7I}v z5*aQZATy+ueX8LnBzmsP@OZM_-Er6=mcfM%;(`W0K0p$1(q>v$o$&Bv9C9=hVnV*t zhJrZ6`-I>S03jaHPL$|~qYVjI0{~bPfuE|OCKw=NyR=U!lo83mECRI3Bj7Z0{3 zLDhgO4zy}Z1 zEb(i>&^lp2Yj}tg2}rbKAlkuVu)3k8$W%L6D%Gn*11P_SBsYdfE+PFUq(3k-OvHgk ziTvq!ha)m~Xa>-R1U{99-o=5!iJX=MAXDc>0_pN#H-EAn>^li`+uYNI1neOp7vi3@ z9!RXXB)2*uR&dAgV{>?q4x*1>F0hYy2jjT3AQ>zhNRdY7nMyyBMJQ$oPv%P?_N0#pmZJsS2WTMzPUfcOojPyc*v^X% zi%|XZ3~Rec$vTnZ5gBfNo?~ewlCo%LZimz>OuaPhFGizC-T2}3MK0rbevm~w_z$&p)#F^4Cs3CTf0$$qahhek5}o`-WeAeb1C2XG_l)ca4QcVvt1BXN^snMR&7{gR(>VksFFA63(lGlrgoaw--p|6>{Gm zmboN%L%2Znm_GG54lPTY3uZ`-zLM@Jn=Y@Ed%h;c>U#B1yr+%H^_?W0J#Ogs;#8ay!z`NH6^9B=lQs zm`7ke1e?Zq!(q2>WDckr1IzAQy|%v~nGg2q7ATTv=p@cm9RM zyelnSg=GW*%Yx#&ibnw3`SC)F-pN4T*mYZo$=zhAq z79)G4T(UMNAyhP#yG{)4lUF#E`OBD^{(EgIMwq#+FbhVmF-U5=71*A>wu2PkG$1%y z7L!?vT@te&e0mkOP=GsEXf4CpjYbVfBl2s`+uvqUXYLF!b8?Ofz_I;-lx=!*qRRnc|m&wMI0zpGIf zYM8Fpuvpcw=CEvabMG^UGzu`hpez z_Uo3M&k`>-Z*yLd%>Ug|kQ1!}X)XNB!||r|#f8=~cT`bZOX(9-@zpj4-qt_|F zRV;z>@f~#2#x>~W;+sk)+4oDI`F7c#Mbb8f4_}y>Atbw3wV86+J-^V|_Q6gZK}~j@ zK@oE#_)Il?0!y5zhA(3g>m(v#mIxL=RN}*!43O=c&B-AjABrNkv51Z8Hj__p+AKf3 zgO-LUHS-O;5t(fkRq2qZ=#cdIa76ql|MVj@*`@HOgMFams!B&xTXAb!TVreHAr`Sp zLWpy9@>LYG4t(6kb!C2{8s?}M;iDKheLH*(fS_DOEbn&P{ptR5wTIWe%h{vHP6e?D zKv08cOC&_;3#eELB1oyDO&r;lh>U_(Jmf&`k-OY|I@#KLANKdgsq`s6{g^<>{TSu( zjuRp7$P=54Z;IRrGjn^=wOb;bDLd666R4&GyTWNYDH! z4Sx`vzGCrVrM17?pqaq3^;7ir;FxQVq)o?OZ!bkqlLx2we5Tlq6 z#~8%paeV`=!TZ#t0^xkSi{deXIzNBkrb+uDTm{=8Wu_v-%bU9E0o+U_#Cj^w`H zsZlX><2v$I`xq<~*=`J@$ws`#z_)k18-kJR7{oRJv4KKXWslj;HioQ^!4r`^DCiPt z^vy^rxT`I)mI%GxE%@>?8H1caLC=1V5f+Je!w`ogSb<$C*DUNeEucXd-a~?QS0i-> zhEDLX-dJQC2{wX;zbC@7>Bc+A&=NHKPiSwO!Drz05o*>C@u%E*cBD&{qYXCtjDrXY zB{KdUoEi|V#KVp-ke@_Y88&%w7ST@9p^%|%6ab>TdT#$IvK@^aAn7znQf)c#RkUt0 z2ebo&7$Cro(6AX2q?<6`jfR!Ko<1Z(2Z_*`N_gevX$l(I0YFres6sb#2MWr)3~eD; z)&P1ZFpz%oR6AzqTGF?kYG{ol{0rtEj0ux|x0eELQ+Ff;(N~#`vD@tW0fz3we5O$BKN4rz$$oawJ|$9CFOvZ~d1PcBj6NLh{$+*p(g@eZ z)eqZy=x;>+dw;A<_Ici}dd$M(|rQusdXbtL%&N_690!Z&6!p8Xa z28jr+#iJ22(p4QXiSp|piq6>S0HhHbcVJ}n+$za$1oKrjW@n4E4jA5gC2iZ$xKI~h z#I9;T(#IfY?qMw(+F$&LSqDK>weKb}JQ;^wRP*RLd@L?hF{R*q_H@coVLSWMz0s}n za$g^Ey|o_QNlh0Xo_yy%P^IA^^zhYyU&odp^A*p`x4!+$CWiiBvNY`hUmhO_KFyJL z+uv%C`?~Y3%c;$@0BZF#SH5*F^t@ps5^&l1_ZG*6iKo`G6*C=Cg~F2DszFH?MhkV5 zryJa7S|gdScyTFxc{%i&Hf)CrF!K7wE1mza3vpW=dQ3M^Jik@V?Z~^#=WD;>zk=Xu z_L>nf+sXJczyJNHtNYV=Xt2~qi+}gD|687eke@qq>G4Cq^+NahRvn!OeyfHat<+G? z!UaM@5Bg@@Z$1RY1gHn znA~_dLnGm7IF8|Gy*xJ{k#u)72zm@+v7fH09Cuk;+yfRw&KujIH-By2f%oI zAzm;;(f-McC)FA~ZqJz}#477YCT6oP$JIOF1P9qYzS{Rr$u~T`Wiq$ZFYG*0%W{L; zWky4fyEg`iHYG%#NjMiK?fCEjme-S~$Cnwuat8y9S1CLJdZSDbuQ{_;y{=nd}JuxzNkyOQnP5y4II@2Ex#{TFJ*WvG=I_?!u0DQ{?YyP2%B9_%&-pSWM!O_8DX|5V=Rkth#7|2$-ei+1MRbo!5qV5ysCMj@Fhd!1vj+Ut^zYo*vv92D!@fLuoj4)edQKw{jiX za*4g_XTvZ3@%FN}vf|{Y3CR%v^u^rCSoO2~6rY&=pn@@7)(0#FVZ8kRq&#r04GqUF~}Fw~8L^U2k^YG*QR=?WgAu>ZB|0SVWe*p<5DCps@xm26QLM-o`4Ij2s6I_g zu?sAUIhS|~ro}Rpt1A)83%PGCfAN3>me*kX6iQ!szQAv7MX|~BPkjed2I{dOW-sNI z)*_Pu9Y%(ak-`2?G|Mju9SI?mo2!u>OsS~kiw=886YE8$@2DODzSJivV#%-XG|Ujq z-I9a5OxPdMZC(NpblvQ(J(^pKQ?x7*5|4Do*VfqZHVwxbCwxQ>vd3)$h)?GlI(csC z>9A>?OSYcn7id9gi>IL&9Ctf-2<#OUm7kIE=DQ9wW4yF#iW-oJG}kF!Z=rX|`Hn*00`A{dX0$pD=6?l8n#FPcU5d$$xyJke))lria8SHLng z-qqz9TTKG(4JCV6#8yH5k>Uf7QT-g3d{^rq*Jr#<`w<}tQ7rq-J)(*EDTY7mcq!6x z@@F!05d%w18~C{3iL^xPWohN^=3WJ({278mG)qaTfOeA1V~gFzi=U)>{50~PdXuRQ zZ4t19qj$20UT0BFAH&K#eKoXUiD^|4DC)z=V3ga*ID?KA`LmER0*PjxNYGLWWrT)3 zb!5#r?v;}APPxSr&61p;twEt^44=Eg&m_)S!(3P15^T}O@}YVElI6K%S7S%nX*|<& zwL^}k_s{WhEZ3kUR8qTwkH57$uPYS~sP|`yWmvmYlz@w~!0^7vXr|*Z4oNxj(PS|v z(+OkjZ%QRBqRL1ef~;i4+^HPA2o5E-mekP!j=u)<6q4mWIUfuKs9lL$7XIjZ~P?pJ)!M z@?Am5KE(&e$ChmTQ*oeX+2;5sQ_lUHVq)dV7Np>FZak$~w6x>!{&y0`d-k@VvyO^YWQ} zf^$&^Qw>?Oe9#dl-^a@qg6|Z~0sv&U{8-anIz@!XX}EksK*Lgj>r;xw0tu;#Y}PW;uVQFu4E!q)(OW!K^>Y@;vS1EcOc^? zr3Wmt007WUKi|`oR9{A$60WB7@rkY# z-|8`axkxr|qD^0DaSMI7sQ)>LV?x0zS#?$6s-DLdx769j*~Yqp)Gh`6DLkKxFLnUL zri4fvuYptR;=QRB4QxyTBsN?mP9H5__z6t4u3UXn8iWNJVx{k6#4gpA|6SsGwWKs` z4=#{vy~hr|bTzpyxK(D9wfs%1eJMyv5qP~XvQj+GIV(Q@96-Djq}xY(uR1D}5M_p; zy}ui;fLH4M9NRh*|3`^N>=-QD7wL(kc|i-Jasq9zv0UuZs!MdEzA^eJ8iTgj_RrwG zR252fS(5u?d;@>1g<_=jT9ni-*fj8*X){P{5^REv@kszBM!nPDrIklV`>aKoRhKES zgG{ACc0_sCHEs{rPEaB|^RdEiIl*m|-jpn<>k@Z2p~-Zw7)|btSH6&AgJ1X}u zwAxv8O@>k=cUmDmkST!%i{_c+ygZ!{FF}ry006El#;QF9XTe&SEf~~ymU(lwi`Q23k;x-jggDLxkzWvu4Rm+^TS>?!h=lKKw;9C?it73uDD|8 zsM~24N3|{;ro~k~jj@piVGR}Sa9JlL-Rm`Y{VX~oMN#Lhvh21Pink)r4l8Sj?KUF~ zI`@H$r?mqCv2%3b>_lKFw%o88WU3hRc=6fHbuQ-Y{2zae9x3MUu?+3EzhXTF`BsC? zq?KKyW23IKvE95(z*u_HVGVMN;Z^8l zoJ1n{5i$N;Ins3((PIn_F$TM#kN^PqdyCff(4;^BKuR+{Ffhg6j_YL?c#C&9@VGTp z5$udk^(7&FaB}K01^Wr0P&`;K->_)?UCo}*S)d+53lK<+XW<88iQoVtm?8E8vaM!dcwLsvIEya|Cc*v+!vAIy*11QrI7hJ8T<2aCrC#(0z^nS19-(7hahy4K z8$(D*7jL6Ln$P@5FXr>{qZm$JZd3XWraBI=z$4~MIWV8n3x+kQP;|VF9@yN~RK=bx zBrw^04HSc73L&Am9G)8N^)h@1#<+~^RF6_{f>|P0*`G6I{hCDmAR-gFvm#RqBA+vM zeYC*wvV@Y$AC|^h5@T;$0B_;$-kOZLTRL?E8=Lj+?u*L1SvJ65kHPaId7~|$;)6nU z8Ufp~AxpucDQvb>e}=P6`lI{P50sc2NZBB_KElHE1IFR;tgrLp88@t%gKwL%cHNn^ zp4_nz{ecqPBdIg}X}L3uj0hZS>z--<&c)mU9^Q*{vjEO>y|dK0Zp|P4NMHDRWWz`0U`LzHLUUN2k-*f4=*cGhtLe;ZB^ms>)Qirt~$5 z`IV#9cz0II_{?;J4PymM{9l%;auCrbmU6=)*2vhJyd6XSYtzMToBbMi(<0VII$rq% z@kvtLgBbTY;Wm2=_m}bc?eFtD4bwG(Gb2eQqc`SI?SqLnOnrcS&wEP60_GTtvxJyKHKQYKGFDbn+$X&Pp(((UY;qquOXs5 zHDF?qa=!rbl?-386CF*Tz0bsDk95bx{rx-l8$Q1vY1=V)?-l^(QXSXJ!Js-)DDr{{ z!$lNy3#{$-Ls_>yrz{l? zmv1_g3sYOake*)T{8n@|9zVGBvTgFV|MxrLg<{e1_VgeV8xW^c-21Xr&6apKk%bOb z`>cjI%Tl0~MXauZbN0Byi!hK=b*6N|tY5!V>D48Pz4$N^)R<})sW8y5a53Hr*d$&=)15>JM<6MrZ#%DU6xVzM2JS$?X?$^8b zi>I8AL4joEP|Qotl|ol9;kTp=3P+BNSL51~aPfxV~uz`n-7h19}AxBLCWdwKJV`Z^%gUXFnQUv&FI(Q^W}#@WMvquY6F3V$2R zlkA)C7V`Rufg8v(aBJY}*5Jz4m&2_g&^C#6dsxVG5M@Lvi{f;`mwL@aCaWOp6A6nTy&V>72XWa81$5!k1++< zc2~wKvqvif059eqP_#kr#x5cGg6_3KFZDN9*cpzDQbQ->-HmouGO!F0*zF7_ z54DVR>B>(}9^YS8`Xd&_rUAuQKJ@nxK5`fSxs~DL z1P+KGflWSveO-Rd-=7M4`0F7CC_{?3rv(^E>pt8Cxw~wlBOU=tUv2Jj1WzIa)RDgs zzT3b9tD#?%1j@e69Y1l(FWn}#fYo0~DTkq0!SzF|_K(2SBXCOQjtk{D{Zdfcl^|Em zpbWN?X8|YpJ3o?do@Bl~c|LTKaTJ(+C&*S9p4WTwDl_QStDw{ftk|oQ=fX)5A}7E* zKMcNtjmWg&Yl%{mai<21VI*)UIXLoC;N3e+n5JKG->mmCj`ekqepVd^+)bl7sq%I~ z8Tzs4q$-FHpPy*?UHbKRJB8hC<+sei@7QPKM0GnNIMiqTclVEwI&WbH*+0DjFFWpp zetZ!6G2qX<3rlc9Jk>7LN9%9*4JMfoErrJ^(6z;kT6278)wiF+}k`li5@NE6n*=oSq z#?aa3MEJ%~_*T=|Hsx#w9I<{eVn>&9z(&1gXUwH#5xdNqcQxL~=4#O4)?DX5him=mnLBHmK1)P+yAC$HzI3qYa*pNm^6?6bCfn`uaq)?_ z4xMR0cmJ)aT9=7(&zwWanWkH-;mxj8tOq1&dXGelT&(W&Tyiq&NyHTS_2{yqef>{*%M5UG3X}fE1g$LRF zbNA+^gud8cikmP}IZ*VU*H#0H*rkg~GAzG}6q|Yw7R6c4pMRFbD(GZ3ZT3vX+*T=B z@ww&npeLhq`FiooX=mdSLU3zY>5GihvXYWyW#jTUY18Fza(g~e6}SbKZz{#S9tbHo z&u83Fm>x-vfL;>5KeVyP$e{Qx;(6Y}@+ zBn5y{n6gXx`)kU&B`>y4I~`_ke;-MklVwv0u7jIa(fL(Qn=>Z&tRQDR0$$ zR=c|0FcW@tr)Bf~soqZjQK_$oCy(W|rI)M9e!ut!m4m^n)UB*xLv__(<5ueLp75tf zS3G6ZfLs97CS4fTVt!<+roEOKF=TozNgzcrYs38#;9w>~{fu(5`GIow%IKKuR?#_J zsTL4mW)GraE+qnGt0NJiXgYq8j|`^OQLOD~kX)$-#JpR~_wgtBs&hD|mkBW-lT6Q* zh9vLip@6C>ZkVG;C&!ABfIJ-l?t849hOLVKmXmboS6t7_RFj~i!pD?e+9fDk^Vleq zkLB?M%AZ)AXl!=Rk<`?df9xeV8d1_#b}sn|NKNqzc~bH++C{`U^e8VV-x<`~v)<{raZ0X&LPTyDVk; zN?(VQ6*~Dvu8Dp!NvnNUtRg68R`%(3ZSC`_(AT23S-U8{Tui2^wSxS-3;^Box0&z% z2ueqb4%jo*W%Z~C$)=YL+?PGb(wZvbTUV?S2i9bNZ5L9gD;xCmsmq!FBcw>(hxH&IBPA#ajDjU6{2wgjWSKb)FYUnHa|YG9Uan);qOpT1k< znqy+ci%<2%^6$!S_$H3N+^8>6`CE1~8Zwp-X(-iFEjLM59(%$EEjGFxuc5>_MEE0D z^r2J0ysmt_(x>4KHAx4+G7Ki%GRbyU6}KEM|JqPXX{huH6SrOxn`jw%6zcOd>8`z5 z^P5AG)?bo-h2k~_)8;LG@1*?e-pnn6GFt|p3)q#2&+nyONov!o@ELtG z|Esp?-A>r0&?WJ2CnHVobD&GUHJtPN`%NFtDlg$^CCKNPn~5NVw5!tQH=rDQD}%Ch z48OzzgPBD~;o!q)xrznS*-qH`GwFnD5{nRDuMZoR-MevS6%JMYf!$K!HJn!~$jpW8 zJqqt-E(9ekakp7C$rbOV1W7FOMl;r57LrX13UPWXrPOcqUglo(pJmay$*ver+2?ib z_FmpCpKZ^49_)&L?{K*L*;!34dsJdx_D##6SGZj6CD-qYqb*sT@CcInN^joWq8X>AhU-h7nUygS-DXfnvKaCWN?rB49?6_Ws|u4gZ(+ zSJpr8s{Rc}3&K#v7`}PHeNH{;S(&W%Ek;W>x#)#^zfh z=<|eH7pwbL&A%gl{-x3?Sx0O8X1j6Le{;Ku9Gv5+HkZ~`(ekyxs-ktFadW3_VkP>f z+VYntBWeJ0$m}!tcA-<%ct?8&<6$C4)tN z{1>`MWpA$?(L3GL)54%%y3btH${S{R;q38%M49-l=BGiZkmY_pt{a@jPcRb<@pI`Yt*C< zExudhFTFqtCWt(GUDHeM8C=u<5)`L)>YRK!lI*Q{z83b5A0?dHypujypf}jsD3yZ1 zU1A2SwyRA7FhIZ6>zfy~Ru!m^OATo-te?#3m+A6cW(^O=9xMG2^9DrSCGYBJZp z(-LBDB+)OZ0E*f%sAn$A_WK*cB|j(>j>1g!U=Y9-Ky(AA+Gui~17MzZ1=G?J=!Eq& z03Al?*>o+H6?;TZ4a||jYCz@Zm8;P=mYGt~%-33p%?b6q=K)wcfaXWM9(_zCtx~SW zm{Y9xa)sBZ>5Fzs@fgSvK!n8E>1eP|r~sPv(PGbdGSv03-D@FeP_k z8~@=6>$_z^)IIVN=Yh1t1pqNN!deq;u+h=|Nh7J@oE;DC3!uh|2@HU{#Os5Z7CcnM zhyFw+*mhZ|E8jtx(|37a`OV>|r=e17AM;#J-+Uc_PL8b4M*TBt}|C1wL656pk`aR`KCw{flyJU|lx=JTui-G8>ViOM?scGhP&? z#mP5gC?GecqU%b9TUDGqK1la zvLVKdLRXi}7E*|tvvxZGR6=A32xd_BvU6H9fhZwLW{9M}58@?Ivl-2_<*)w=u zAw~1clT`1{?BU(Rl%UC~Cq%2ev*il6wJhNePpW%OG~#YXM<-$f&avg0CExc#9Yk)1}p-+vTww2`f~ukraQjzwtm`il=NZAdM# zG7dj(J#|=FO0~>*&22f3!I((+Gm}H7MVFojOB^?~vKwoyJW894Li&bk8*7&hURc^Z zmUW=m|8k1y_HbwWRMpJ0iAU#f4Ei*-?%IDAWrM-maS)~28}7D{(XCHkW39f~-n3cE zuBxdIk=hhva(a@>`p7}((ude9w(r7Rg5Q0fKWxqPAKl~A`1*VPbo%K1Od=xu=<~O; z)1!hfCzqNf#K<%gnM6`ra>FU8rrnF>V|hAjOnTc3x636~Ff*Gtq&4TB?XeYeV~$4d zd9^VCMItEtYusPZJ)5(NZm678uLu|8F`q?`oPyMh1(#!#$Iot6HTu|d5>9(Bo0ZOA zuT5hv{?CY?mQV6(MtA!SlK&0y1Cq<^{I7@~%D*FiR#xkmz65@$%R9<_0N6dDB7Xc{ z0r}Q6FPxGRb`Ho){~&%&heHqLijbbG`rq!3WPGVFzB0IOB+NOQhiJ$bm)tPDq&!k` zR{x4Y($$!4dOSGp*XtXVE|w*hq}pP?!gJVUTciMYcTGc~ucU_w_2t}W)L0T-x#e*2 z_t216WBq0BZC7yi)Ysy};x{k1y+UTjCeIq1dvADIe`}qM0x5WtRJ}B>T^M>}d$}DP z@9I_edw$IJ%KH-TAK^&4`Ln8{mZKY3%MiNBb>pMA>yoJ0d)*5vdw$A?DtnJNrxssS zHTUdQct7=>U1a!B*ITE$k2m|Xh^AZ&x_aGqSG}%qVk_`O2@Pkegm|JiTzXg8rJj}O z7d=qBNk0UY^-J?m=3d3et4x2Cd(?c5=jhn_%k%IDL8aH$Zw$45ZTcb?pg6Z~d#6`r zW%y^vKz*r-S?fq)_=Awyr7u4%f@;2}Ccj?I<+^?eJmp)J>`QWV*%pbv+KzY>Eb(sQ zu=;cye(A9Ib2N{NdrRKCDxt8@C6`SL<<_I3hT`^ULY74kL0xl-EI`%A|h)#)Vu)VBGxu>?D`!GwyDx-mR4p z9ze}ve2nOo_u={KG)ud#_pq1p?Yop)&@wGowBh=XU&HW#Wk;T;g(3jbUW!LE?Zt|T ztIFA+B37;(tat9161i-WD;e`O0Y)NFB`4u4j)vgb zp>-Hg8y?(_f*;`_)CP_X8bXjpP*a?hq$e#nq@#-)?<825B5Ys((Qm9 zcEEH1umi=AgaHxzs3cpO9un~OBGecUE+NyGVL&EWNGcX0iDkGGL|=pk*N|h1h%j?( zs0j(=Nv5yF(%Vha6jUSc=*AUfAiA~ab4kc{9H<>5)P@G1kYJX(dOm1~J`Uu9f;UEk zN{G=m7*MJ-;)KYM$pR;!fE`3dmDq@M3v9sy#0mkPMuZgfL(=ewH8Px`DYBW>M$-No zz9wxI0LUOR43KCD1mHams3!sDgN1~jAj2@ATr$0rG($`DRZD3GA3WHG1UtonsDR*n z0+4_L@1mdtGJQ9ep308SB?}diz&|LHpgJsl8=0PfzPd;RE@F``D2S{8_47FAu3HTQ z#0HI|;Gr(n(7(%2Co*!v4tQJ*_W?j;N$`6G$QC;wK@02zK)Rr>repQL6B#T4f^8_^ zgq`WHmWR)q<))<}RM_r2BBT(7{B8#?n{wfHNkiLHgOyN+5%y{ZKq`@84o%yRfpn9A zD0{E$SA(0-Ci2*sG;qlb?D*)Mpr8ywc*I*fH2*@!qcn(YNCyyv20auG) zPH3<`9^PUA`b4H50pzA*A$3^D1{rDssGPtuT<(Xq$T9pVq;{g{J+aRx*XeIngG=zp zpRVq=NI;`0w&GAr~BA_`LI*0=upkXe?2p{6j2~t`S0GZSe>><<3 zN`r%Nh#hqKkxsz8F?=0cUQkv(M=aoXbx9PoK=3}+aX}Rbqn?gh(@<(60J};wyb&^1 z%*W`68^f-*j+CYV2HyIJCnyGrG2+!hK+2t4Q&{9rj5+hw=NSaxJPtXAjWEB0T(&En z4*sW-wkX}OL-u!g0K0`VT1F#n!H8o_>Q6Lc8tk5Kt^29Z{(v0TEQBTTnVEsHil-f)P>5C`bZ=4RSzGL_tBoHZ-LL2qY8* zNg;%UkdQ!ts3`5kIp@Whb!Occcda}3&HN4DvY++ry+2P0RGbVIB*U0h$_sKpPZ9LH z*(-Og2N_cdbGY+jT^lZt!=)TcG`uhu4b_7Hl@thd0Md+;Y(^;yaL{{4Bg=VLD-2b{ zJ8GKJ;viB{hFmLxi<+I!b$9bS*e!{?V3=g`oEZ$W(Mr_ON*sF~J4h+)43_-Xb-YRI zqBpU`?wIL8#nC$v7jH&nzmD%Ze*VI00<`s14EA+H-fwU3m&GZ3OE7*HD|nW`Fuai1 zesS&ag%RB=yk_WBbEHDq**H1i7r%O5{%d!i7}`_=bzNlhSD0bF9XK9F--Rt7> zkB_6FEVN=-G>i(5D6Tk84hjARAG)j&I?CFc1qVKeU`LK^*Q>Kw6K7Fhair@5Vk9N( z>-Ny+q#%v9cT7jqTsR=r3^{6Ps?@f<-mYhVepts<)1gqrfTIb%nIz?@v>Xism4vJ2 zBWT`;en->QDtT})Ag}ORoEJ1v5acou8Wv9eRzUti3R|qVv`-^Dd?Fh@HU)%aP*#}X z4vM03H3es71ZQ|izd-dSq!jDH9KKh?NCOZz3YzYW;O%D_f61_-~g`XB=b~uVnx{5zV zYY#Crj%q50>Te!8UpN#g4C^i)!Y&Vi^7pM#9=;whEI8m5R@#%+Fq~Ov6E!fDrTsbQ za$iRjVj$`B-NMiJ8$K7%KNFTe7io_?v>z!A7n>YGC9y9R1Ko!YoeZPuoJu&33W-uprsLC4X$8fYXst#_G5(Wdv?(+30SpDxpf z3+W>bbQ+yLvPyUB4Tn2!LbL`jCN4833mN6tntgnVv|FH;UsM$obv?zj8=>UKu#Z-~_I4f>$_)QFVQIP6&1) zk}z?ymr1XlII}VljpWYKCt?G+30STV3h8r`o5bKIp>(jw$&{6exoYk;>|_R&!4cyp zGZ~XG6C)gwmxJQn4&>!yd3Oms1C@C95*}fNSA^t0MDa@l`H!*uCj|b}Mt%i@|9pjC zg`9ecnyL+)dWD^OLzsHkI91P>YFwFW?&V+EnV^bF@IwmJ%@eu;FA@oY?p{I9G`wX+ zpo$cJ!V3T4EtoG7k{LqAijaw%W}&9pfzuP%=}E$L*K^^=l?`p*rbWn^In<0eaONv^ zW`QvCqj6@5F|z`lv6!0yIf$f#M6y>zARUo>lSpY)1YH%im5JaEv+6;!nmV)kf5?vg z>GzSPEdI>z1OE2=JenH+62DKqcuYCx2CqaZH)9#hx$S%K1SjwC@p4YSe*%wlCpgVu z;%<2UiHUoWkIN_SN4?@rJcw>L;1^PU7ANP)4mG>u$yST(dA@hGW_tlThiV%bna63%pq}#IJ*H@h>hM~y1Vvi(rNjPk8YQfE-D!KDs4=ES?1;s*N7!q z=)G_JnBmEEQ;)S~lfZz6T&^LdN%5DK3h!Lq@OX@$Z@3Z= z`()nZRj{$WSDh?pKolw1p>6?OwgM&F%rkSRY{AQF7WAoWoGD2fY`31-$tNrI-Vk=i`+fp)Hg?{9Kk#d-cHHM()J71B#lY!@f zI5(cPtx095@;%=7p1|gj&nybxaDU=nzD+OAG|QPTiCVSJF3l3RkPq0bt@FXp?=YXi ziDfaPP_cA~4$V$X3nT9mo0Ymd4w`OnL=Rq?{37&rcw9r*3|k~Kfc z0Y?Fz=wSFAO*I<3lHdQjJBVctJ6EKKr0eI~wvIv1sh`rGTH`8vlhYiV`Qk8AU4Crh z5H89UtR3N0Z0r8ymZ%W2`P&;8>)}t^t`>oH=Jh-5X!z{NdM6z^oM^k+rILLq3Y?x| zm~MM}JIdpunLa-{-FihewSkR6l-+khLGg-LiBhK&`qFLW%PRcFt|0*8HODy|q(&I6 zds?@+$3GTkNy4lTC}l%-O=xllmX)PwEUku^z4_rJMvM+*J#@>03`#5 zNl*dqz=@lr0Mn;2p<2>0GWro1IZqH%9fQcQYJ8*yfSSY0;Lg?Z{i(BUAixqpZ<7v{ zcemWH&(|%+vds*GfnZo0M!ReWu~RCHfn zr^}{s|o|$z-6HKL2d;d zluMBwCfvIQm?b&j!{+Pdvf)(p{o=Z-!(i<%r`n!vR!k15E_rSg;sU37p;HQ4D&;yg zjv20NzA9g1#Iel~vy1H|LC|%wc%4WONUn%dy+gbITIEqTes9WT-iD?gg43Xi|9$qs z_3!M7LAk7vMb{T)`g^8N<+=O;>8*JTp;BC$sPXdo+>NgK3GK7aOYa$9ZM+-6m={R{ zkkOxh-$KuefBSt+0JJJu&h3AN^gcvlY5um*W_GJOGs10rEp_2{q&MCt`zO*{=5abM zJ&Czq?OwBkd#t^gD*TU4Ewa?`pD@k-ZfbS^<1Z_6_z-B$4Nk74$bJ96EpkF|a#_co z&OX%lVCkm^$~M<#JCqY1k>v9$i0jl`%a@2l(zJq`L9mUP-NdzLqy2^cy{1N_Oab{NOp7ly=JN z&FJ$7xVK+fkUZ3!#mAW{K+Z_iEUgtKdN04__q0lZs0Hp~G~22kGz|6Avb|l6;pq>~ zM$Zz%VD@TnTPW?a#iYS@t?rUrXwzqUHGAfC#k2d^QFb*pT$~-Q6BzWz*+UexX?Dy7 z4RZfC+BO(4L!0llF}<`s8#Qy6wjVQFbPZ;+8a@t19e{}A<9&g&YzKVn22Z`C;OH|4 zzt-Z@9nS=XrlO02)4!Se6EwlVTIsCugIZv`;|;68A0RaH^q{lVpvFG2hY29~;7QA~ zwN$qL!A@By7z8Li>jTd9$!u9(0A++vw)(un?1T9B*2wm3&FTa91gfEC#m?E3h`2oH zPRz3s3!nyBdpe+7>voI~Oc&U80JZb8Jv)1pn!hBR$gW2B!F*8x|B1K#mjM0KxB0gK z{p;T5|GxmeG2`d%To(KEcqL2dv-RR4^Q2+AL>Ka3*m4G7ky+O#4fiY@t`(raPwI_7 z58defAc5d^+CVJNn^Ax74*H9ITkYK{6*DR)NUTcLqA9G-nnmP;^Acf)Vtm*TjM8|cz#2EeVyeh||-P^u= b1fmKl@0}pEX70Qw Date: Thu, 21 Jan 2021 10:08:22 +0800 Subject: [PATCH 084/217] Get all the identity strings in advance. --- .../Identity/AbpIdentityResultExtensions.cs | 40 +++++++++++++++++-- 1 file changed, 36 insertions(+), 4 deletions(-) diff --git a/modules/identity/src/Volo.Abp.Identity.Domain/Microsoft/AspNetCore/Identity/AbpIdentityResultExtensions.cs b/modules/identity/src/Volo.Abp.Identity.Domain/Microsoft/AspNetCore/Identity/AbpIdentityResultExtensions.cs index aa76241ca6..cb1ffc9d8a 100644 --- a/modules/identity/src/Volo.Abp.Identity.Domain/Microsoft/AspNetCore/Identity/AbpIdentityResultExtensions.cs +++ b/modules/identity/src/Volo.Abp.Identity.Domain/Microsoft/AspNetCore/Identity/AbpIdentityResultExtensions.cs @@ -1,8 +1,10 @@ using System; using System.Linq; using System.Collections.Generic; +using System.Globalization; using System.Resources; using Microsoft.Extensions.Localization; +using Volo.Abp; using Volo.Abp.Identity; using Volo.Abp.Text.Formatting; @@ -10,8 +12,38 @@ namespace Microsoft.AspNetCore.Identity { public static class AbpIdentityResultExtensions { - //TODO: cache? - private static readonly ResourceManager IdentityResourceManager = new ResourceManager("Microsoft.Extensions.Identity.Core.Resources", typeof(UserManager<>).Assembly); + private static readonly Dictionary IdentityStrings = new Dictionary(); + + static AbpIdentityResultExtensions() + { + var identityResourceManager = new ResourceManager("Microsoft.Extensions.Identity.Core.Resources", typeof(UserManager<>).Assembly); + var resourceSet = identityResourceManager.GetResourceSet(CultureInfo.InvariantCulture, true, false); + if (resourceSet == null) + { + throw new AbpException("Can't get the ResourceSet of Identity."); + } + + var iterator = resourceSet.GetEnumerator(); + while (true) + { + if (!iterator.MoveNext()) + { + break; + } + + var key = iterator.Key?.ToString(); + var value = iterator.Value?.ToString(); + if (key != null && value != null) + { + IdentityStrings.Add(key, value); + } + } + + if (!IdentityStrings.Any()) + { + throw new AbpException("ResourceSet values of Identity is empty."); + } + } public static void CheckErrors(this IdentityResult identityResult) { @@ -42,7 +74,7 @@ namespace Microsoft.AspNetCore.Identity } var error = identityResult.Errors.First(); - var englishString = IdentityResourceManager.GetString(error.Code); + var englishString = IdentityStrings.GetOrDefault(error.Code); if (englishString == null) { @@ -80,7 +112,7 @@ namespace Microsoft.AspNetCore.Identity if (!localizedString.ResourceNotFound) { - var englishString = IdentityResourceManager.GetString(error.Code); + var englishString = IdentityStrings.GetOrDefault(error.Code); if (englishString != null) { if (FormattedStringValueExtracter.IsMatch(error.Description, englishString, out var values)) From b15848d9a076e1ded952612ccbc601457c48860d Mon Sep 17 00:00:00 2001 From: mehmet-erim Date: Thu, 21 Jan 2021 10:42:49 +0300 Subject: [PATCH 085/217] finalize the article --- .../POST.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/en/Community-Articles/2021-01-20-How-to-Use-PrimeNG-Components-with-the-ABP-Angular-UI/POST.md b/docs/en/Community-Articles/2021-01-20-How-to-Use-PrimeNG-Components-with-the-ABP-Angular-UI/POST.md index 1e676bd39e..f1e5dd3834 100644 --- a/docs/en/Community-Articles/2021-01-20-How-to-Use-PrimeNG-Components-with-the-ABP-Angular-UI/POST.md +++ b/docs/en/Community-Articles/2021-01-20-How-to-Use-PrimeNG-Components-with-the-ABP-Angular-UI/POST.md @@ -22,7 +22,7 @@ The following tools should be installed on your development machine: ## Source Code -TODO: Source code link +I have prepared a sample project that contains more PrimeNG components than described in this article. You can download the source code [on GitHub](https://github.com/abpframework/abp-samples/tree/master/PrimengSample). ## Creating a New Solution @@ -340,4 +340,4 @@ After adding the table, the final UI looks like this: ## Conclusion -TODO +We have implemented the PrimeNG component library on the ABP Angular UI project and used two components on a page in a short time. You can use any PrimeNG components by following the documentation. The ABP Angular UI will not block you in any case. From d495f567e36b80c385eff08a578abfcba4db5fc3 Mon Sep 17 00:00:00 2001 From: Mladen Macanovic Date: Thu, 21 Jan 2021 11:30:46 +0100 Subject: [PATCH 086/217] Community article on how to integrate MatBlazor --- .../POST.md | 103 ++++++++++++++++++ .../example-result.png | Bin 0 -> 63504 bytes .../initial-project.png | Bin 0 -> 11549 bytes .../table-app-contract.png | Bin 0 -> 8686 bytes .../table-application.png | Bin 0 -> 6625 bytes .../table-web.png | Bin 0 -> 14259 bytes 6 files changed, 103 insertions(+) create mode 100644 docs/en/Community-Articles/2021-01-20-How-to-Integrate-the-MatBlazor-Blazor-Component/POST.md create mode 100644 docs/en/Community-Articles/2021-01-20-How-to-Integrate-the-MatBlazor-Blazor-Component/example-result.png create mode 100644 docs/en/Community-Articles/2021-01-20-How-to-Integrate-the-MatBlazor-Blazor-Component/initial-project.png create mode 100644 docs/en/Community-Articles/2021-01-20-How-to-Integrate-the-MatBlazor-Blazor-Component/table-app-contract.png create mode 100644 docs/en/Community-Articles/2021-01-20-How-to-Integrate-the-MatBlazor-Blazor-Component/table-application.png create mode 100644 docs/en/Community-Articles/2021-01-20-How-to-Integrate-the-MatBlazor-Blazor-Component/table-web.png diff --git a/docs/en/Community-Articles/2021-01-20-How-to-Integrate-the-MatBlazor-Blazor-Component/POST.md b/docs/en/Community-Articles/2021-01-20-How-to-Integrate-the-MatBlazor-Blazor-Component/POST.md new file mode 100644 index 0000000000..f30f31d541 --- /dev/null +++ b/docs/en/Community-Articles/2021-01-20-How-to-Integrate-the-MatBlazor-Blazor-Component/POST.md @@ -0,0 +1,103 @@ +## Using MatBlazor UI Components With the ABP Framework + +Hi, in this step by step article, I will show you how to integrate [MatBlazor](https://www.matblazor.com/), a blazor UI components into ABP Framework-based applications. + +![example-result](example-result.png) + +*(A screenshot from the example application developed in this article)* + +## Create the Project + +> First thing is to create the project. ABP Framework offers startup templates to get into business faster. + +In this article, I will create a new startup template with EF Core as a database provider and Blazor for UI framework. But if you already have a project with Blazor UI, you don't need to create a new startup template, you can directly implement the following steps to your existing project. + +> If you already have a project with the Blazor UI, you can skip this section. + +* Before starting the development, we will create a new solution named `MatBlazorSample` (or whatever you want). We will create a new startup template with EF Core as a database provider and Blazor for UI framework by using [ABP CLI](https://docs.abp.io/en/abp/latest/CLI): + +````bash +abp new MatBlazorSample -u blazor +```` + +This will create new project inside of `aspnet-core`, so: + +````bash +cd aspnet-core +```` + +and + +````bash +dotnet restore +```` + +* Our project boilerplate will be ready after the download is finished. Then, we can open the solution in the Visual Studio (or any other IDE) and run the `MatBlazorSample.DbMigrator` to create the database and seed initial data (which creates the admin user, admin role, permissions etc.) + +![initial-project](initial-project.png) + +* After database and initial data created, +* Run the `MatBlazorSample.HttpApi.Host` to see our server side working and +* Run the `MatBlazorSample.Blazor` to see our UI working properly. + +> _Default login credentials for admin: username is **admin** and password is **1q2w3E\***_ + +## Install MatBlazor + +You can follow [this documentation](https://www.matblazor.com/) to install MatBlazor packages into your computer. + +### Adding MatBlazor NuGet Packages + +```bash +Install-Package MatBlazor +``` + +### Register MatBlazor Resources + +1. Add the following line to the HEAD section of the `wwwroot/index.html` file within the `MatBlazorSample.Blazor` project: + + ```Razor + + + + + + ``` + +2. In the `MatBlazorSampleBlazorModule` class, call the `AddMatBlazor()` method from your project's `ConfigureServices()` method: + + ```csharp + public override void ConfigureServices(ServiceConfigurationContext context) + { + var environment = context.Services.GetSingletonInstance(); + var builder = context.Services.GetSingletonInstance(); + // ... + builder.Services.AddMatBlazor(); + } + ``` + +3. Register the **MatBlazorSample.Blazor** namespace in the `_Imports.razor` file: + + ```Razor + @using MatBlazor + ``` + +## The Sample Application + +We have created a sample application with [Table](https://www.matblazor.com/Table) example. + +### The Source Code + +You can download the source code from [here](https://github.com/abpframework/abp-samples/tree/master/MatBlazorSample). + +The related files for this example are marked in the following screenshots. + +![table-app-contract](table-app-contract.png) + +![table-application](table-application.png) + +![table-web](table-web.png) + +## Conclusion + +In this article, I've explained how to use [MatBlazor](https://www.matblazor.com/) components in your application. ABP Framework is designed so that it can work with any UI library/framework. \ No newline at end of file diff --git a/docs/en/Community-Articles/2021-01-20-How-to-Integrate-the-MatBlazor-Blazor-Component/example-result.png b/docs/en/Community-Articles/2021-01-20-How-to-Integrate-the-MatBlazor-Blazor-Component/example-result.png new file mode 100644 index 0000000000000000000000000000000000000000..89a2fecdcecbf08790ea1e549ec1fd25c5194713 GIT binary patch literal 63504 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 literal 0 HcmV?d00001 diff --git a/docs/en/Community-Articles/2021-01-20-How-to-Integrate-the-MatBlazor-Blazor-Component/initial-project.png b/docs/en/Community-Articles/2021-01-20-How-to-Integrate-the-MatBlazor-Blazor-Component/initial-project.png new file mode 100644 index 0000000000000000000000000000000000000000..85e71d56921264d961def41b7aed6558ae86f3b3 GIT binary patch literal 11549 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 literal 0 HcmV?d00001 diff --git a/docs/en/Community-Articles/2021-01-20-How-to-Integrate-the-MatBlazor-Blazor-Component/table-app-contract.png b/docs/en/Community-Articles/2021-01-20-How-to-Integrate-the-MatBlazor-Blazor-Component/table-app-contract.png new file mode 100644 index 0000000000000000000000000000000000000000..8108cdc60616785e5df1ac7f7c10fbe300618bf0 GIT binary patch literal 8686 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 literal 0 HcmV?d00001 diff --git a/docs/en/Community-Articles/2021-01-20-How-to-Integrate-the-MatBlazor-Blazor-Component/table-application.png b/docs/en/Community-Articles/2021-01-20-How-to-Integrate-the-MatBlazor-Blazor-Component/table-application.png new file mode 100644 index 0000000000000000000000000000000000000000..7f07af97e16ed4342836ac181d6018afa02be3c3 GIT binary patch literal 6625 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 E0X0t3Q~&?~ literal 0 HcmV?d00001 diff --git a/docs/en/Community-Articles/2021-01-20-How-to-Integrate-the-MatBlazor-Blazor-Component/table-web.png b/docs/en/Community-Articles/2021-01-20-How-to-Integrate-the-MatBlazor-Blazor-Component/table-web.png new file mode 100644 index 0000000000000000000000000000000000000000..0034aec0950a86942c8e510ae9d7b7595cbfc6a7 GIT binary patch literal 14259 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 literal 0 HcmV?d00001 From ec1e7e1d2ad1fbf090c0d0a9dcc8034d63cb9ec2 Mon Sep 17 00:00:00 2001 From: mehmet-erim Date: Thu, 21 Jan 2021 16:47:13 +0300 Subject: [PATCH 087/217] move ellipsis directive to the theme-shared #7374 --- .../packages/core/src/lib/core.module.ts | 4 -- .../packages/core/src/lib/directives/index.ts | 1 - .../src/lib/directives/ellipsis.directive.ts | 46 +++++++++++++++++++ .../theme-shared/src/lib/directives/index.ts | 1 + .../src/lib/tests/ellipsis.directive.spec.ts | 0 5 files changed, 47 insertions(+), 5 deletions(-) create mode 100644 npm/ng-packs/packages/theme-shared/src/lib/directives/ellipsis.directive.ts rename npm/ng-packs/packages/{core => theme-shared}/src/lib/tests/ellipsis.directive.spec.ts (100%) diff --git a/npm/ng-packs/packages/core/src/lib/core.module.ts b/npm/ng-packs/packages/core/src/lib/core.module.ts index 260cffd4d3..36d59c929b 100644 --- a/npm/ng-packs/packages/core/src/lib/core.module.ts +++ b/npm/ng-packs/packages/core/src/lib/core.module.ts @@ -11,7 +11,6 @@ import { ReplaceableRouteContainerComponent } from './components/replaceable-rou import { RouterOutletComponent } from './components/router-outlet.component'; import { AutofocusDirective } from './directives/autofocus.directive'; import { InputEventDebounceDirective } from './directives/debounce.directive'; -import { EllipsisDirective } from './directives/ellipsis.directive'; import { ForDirective } from './directives/for.directive'; import { FormSubmitDirective } from './directives/form-submit.directive'; import { InitDirective } from './directives/init.directive'; @@ -53,11 +52,9 @@ export function storageFactory(): OAuthStorage { ReactiveFormsModule, RouterModule, LocalizationModule, - AbstractNgModelComponent, AutofocusDirective, DynamicLayoutComponent, - EllipsisDirective, ForDirective, FormSubmitDirective, InitDirective, @@ -83,7 +80,6 @@ export function storageFactory(): OAuthStorage { AbstractNgModelComponent, AutofocusDirective, DynamicLayoutComponent, - EllipsisDirective, ForDirective, FormSubmitDirective, InitDirective, diff --git a/npm/ng-packs/packages/core/src/lib/directives/index.ts b/npm/ng-packs/packages/core/src/lib/directives/index.ts index a297faa14b..3322b14257 100644 --- a/npm/ng-packs/packages/core/src/lib/directives/index.ts +++ b/npm/ng-packs/packages/core/src/lib/directives/index.ts @@ -1,6 +1,5 @@ export * from './autofocus.directive'; export * from './debounce.directive'; -export * from './ellipsis.directive'; export * from './for.directive'; export * from './form-submit.directive'; export * from './init.directive'; diff --git a/npm/ng-packs/packages/theme-shared/src/lib/directives/ellipsis.directive.ts b/npm/ng-packs/packages/theme-shared/src/lib/directives/ellipsis.directive.ts new file mode 100644 index 0000000000..5e95c5666f --- /dev/null +++ b/npm/ng-packs/packages/theme-shared/src/lib/directives/ellipsis.directive.ts @@ -0,0 +1,46 @@ +import { + AfterViewInit, + ChangeDetectorRef, + Directive, + ElementRef, + HostBinding, + Input, + NgModule, +} from '@angular/core'; + +@Directive({ + selector: '[abpEllipsis]', +}) +export class EllipsisDirective implements AfterViewInit { + @Input('abpEllipsis') + width: string; + + @HostBinding('title') + @Input() + title: string; + + @Input('abpEllipsisEnabled') + enabled = true; + + @HostBinding('class.abp-ellipsis-inline') + get inlineClass() { + return this.enabled && this.width; + } + + @HostBinding('class.abp-ellipsis') + get class() { + return this.enabled && !this.width; + } + + @HostBinding('style.max-width') + get maxWidth() { + return this.enabled && this.width ? this.width || '170px' : undefined; + } + + constructor(private cdRef: ChangeDetectorRef, private elRef: ElementRef) {} + + ngAfterViewInit() { + this.title = this.title || (this.elRef.nativeElement as HTMLElement).innerText; + this.cdRef.detectChanges(); + } +} diff --git a/npm/ng-packs/packages/theme-shared/src/lib/directives/index.ts b/npm/ng-packs/packages/theme-shared/src/lib/directives/index.ts index a6b666be3b..64b849d4fe 100644 --- a/npm/ng-packs/packages/theme-shared/src/lib/directives/index.ts +++ b/npm/ng-packs/packages/theme-shared/src/lib/directives/index.ts @@ -2,3 +2,4 @@ export * from './loading.directive'; export * from './ngx-datatable-default.directive'; export * from './ngx-datatable-list.directive'; export * from './table-sort.directive'; +export * from './ellipsis.directive'; diff --git a/npm/ng-packs/packages/core/src/lib/tests/ellipsis.directive.spec.ts b/npm/ng-packs/packages/theme-shared/src/lib/tests/ellipsis.directive.spec.ts similarity index 100% rename from npm/ng-packs/packages/core/src/lib/tests/ellipsis.directive.spec.ts rename to npm/ng-packs/packages/theme-shared/src/lib/tests/ellipsis.directive.spec.ts From 3464474b5183198525ac911853b567d304114532 Mon Sep 17 00:00:00 2001 From: mehmet-erim Date: Thu, 21 Jan 2021 16:47:32 +0300 Subject: [PATCH 088/217] add EllipsisModule #7374 --- .../src/lib/directives/ellipsis.directive.ts | 6 ++++++ .../theme-shared/src/lib/theme-shared.module.ts | 11 +++++++++-- 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/npm/ng-packs/packages/theme-shared/src/lib/directives/ellipsis.directive.ts b/npm/ng-packs/packages/theme-shared/src/lib/directives/ellipsis.directive.ts index 5e95c5666f..6a2ea1ea09 100644 --- a/npm/ng-packs/packages/theme-shared/src/lib/directives/ellipsis.directive.ts +++ b/npm/ng-packs/packages/theme-shared/src/lib/directives/ellipsis.directive.ts @@ -44,3 +44,9 @@ export class EllipsisDirective implements AfterViewInit { this.cdRef.detectChanges(); } } + +@NgModule({ + exports: [EllipsisDirective], + declarations: [EllipsisDirective], +}) +export class EllipsisModule {} diff --git a/npm/ng-packs/packages/theme-shared/src/lib/theme-shared.module.ts b/npm/ng-packs/packages/theme-shared/src/lib/theme-shared.module.ts index 8d64febdbf..8d8f08ea6b 100644 --- a/npm/ng-packs/packages/theme-shared/src/lib/theme-shared.module.ts +++ b/npm/ng-packs/packages/theme-shared/src/lib/theme-shared.module.ts @@ -25,6 +25,7 @@ import { TableComponent } from './components/table/table.component'; import { ToastContainerComponent } from './components/toast-container/toast-container.component'; import { ToastComponent } from './components/toast/toast.component'; import { DEFAULT_VALIDATION_BLUEPRINTS } from './constants/validation'; +import { EllipsisModule } from './directives/ellipsis.directive'; import { LoadingDirective } from './directives/loading.directive'; import { NgxDatatableDefaultDirective } from './directives/ngx-datatable-default.directive'; import { NgxDatatableListDirective } from './directives/ngx-datatable-list.directive'; @@ -57,9 +58,15 @@ const declarationsWithExports = [ ]; @NgModule({ - imports: [CoreModule, NgxDatatableModule, NgxValidateCoreModule, NgbPaginationModule], + imports: [ + CoreModule, + NgxDatatableModule, + NgxValidateCoreModule, + NgbPaginationModule, + EllipsisModule, + ], declarations: [...declarationsWithExports, HttpErrorWrapperComponent, ModalContainerComponent], - exports: [NgxDatatableModule, ...declarationsWithExports], + exports: [NgxDatatableModule, EllipsisModule, ...declarationsWithExports], providers: [DatePipe], entryComponents: [ HttpErrorWrapperComponent, From 566b1afdd5c6d45645329ac70a5f475c41258882 Mon Sep 17 00:00:00 2001 From: mehmet-erim Date: Thu, 21 Jan 2021 16:56:50 +0300 Subject: [PATCH 089/217] add EllipsisDirective document resolves #3188 --- docs/en/UI/Angular/Ellipsis-Directive.md | 83 ++++++++++++++++++ .../images/ellipsis-directive-before.jpg | Bin 0 -> 41116 bytes .../images/ellipsis-directive-result1.jpg | Bin 0 -> 22626 bytes .../images/ellipsis-directive-result2.jpg | Bin 0 -> 13906 bytes docs/en/docs-nav.json | 4 + 5 files changed, 87 insertions(+) create mode 100644 docs/en/UI/Angular/Ellipsis-Directive.md create mode 100644 docs/en/UI/Angular/images/ellipsis-directive-before.jpg create mode 100644 docs/en/UI/Angular/images/ellipsis-directive-result1.jpg create mode 100644 docs/en/UI/Angular/images/ellipsis-directive-result2.jpg diff --git a/docs/en/UI/Angular/Ellipsis-Directive.md b/docs/en/UI/Angular/Ellipsis-Directive.md new file mode 100644 index 0000000000..29335969c1 --- /dev/null +++ b/docs/en/UI/Angular/Ellipsis-Directive.md @@ -0,0 +1,83 @@ +# Ellipsis + +Text inside an HTML element can be truncated easily with an ellipsis by using CSS. To make this even easier, you can use the `EllipsisDirective` which has been exposed from the `@abp/ng.theme.shared` package. + + +## Getting Started + +In order to use the `EllipsisDirective` in an HTML template, the **`ThemeSharedModule`** should be imported into your module like this: + +```js +// ... +import { ThemeSharedModule } from '@abp/ng.theme.shared'; + +@NgModule({ + //... + imports: [..., ThemeSharedModule], +}) +export class MyFeatureModule {} +``` + +or **if you would not like to import** the `ThemeSharedModule`, you can import the **`EllipsisModule`** as shown below: + + +```js +// ... +import { EllipsisModule } from '@abp/ng.theme.shared'; + +@NgModule({ + //... + imports: [..., EllipsisModule], +}) +export class MyFeatureModule {} +``` + +## Usage + +The `EllipsisDirective` is very easy to use. The directive's selector is **`abpEllipsis`**. By adding the `abpEllipsis` attribute to an HTML element, you can activate the `EllipsisDirective` for the HTML element. + +See an example usage: + +```html +

    + Lorem ipsum dolor sit, amet consectetur adipisicing elit. Laboriosam commodi quae aspernatur, + corporis velit et suscipit id consequuntur amet minima expedita cum reiciendis dolorum + cupiditate? Voluptas eaque voluptatum odio deleniti quo vel illum nemo accusamus nulla ratione + impedit dolorum expedita necessitatibus fugiat ullam beatae, optio eum cupiditate ducimus + architecto. +

    +``` + +The `abpEllipsis` attribute has been added to the `

    ` element that containing very long text inside to activate the `EllipsisDirective`. + +See the result: + +![Ellipsis directive result](./images/ellipsis-directive-result1.jpg) + +The long text has been truncated by using the directive. + +The UI before using the directive looks like this: + +![Before using the EllipsisDirective](./images/ellipsis-directive-before.jpg) + +### Specifying Max Width of an HTML Element + +An HTML element max width can be specified as shown below: + +```html +

    + Lorem ipsum dolor sit amet consectetur adipisicing elit. Cumque, optio! +
    + +
    + Lorem ipsum dolor sit amet consectetur adipisicing elit. Cumque, optio! +
    + +
    + Lorem ipsum dolor sit amet consectetur adipisicing elit. Cumque, optio! +
    +``` + +See the result: + +![Ellipsis directive result 2](./images/ellipsis-directive-result2.jpg) \ No newline at end of file diff --git a/docs/en/UI/Angular/images/ellipsis-directive-before.jpg b/docs/en/UI/Angular/images/ellipsis-directive-before.jpg new file mode 100644 index 0000000000000000000000000000000000000000..dc534d9a976622178a1bfdab13e6635714d567dd GIT binary patch literal 41116 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≶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 literal 0 HcmV?d00001 diff --git a/docs/en/UI/Angular/images/ellipsis-directive-result1.jpg b/docs/en/UI/Angular/images/ellipsis-directive-result1.jpg new file mode 100644 index 0000000000000000000000000000000000000000..fe693f4c8c63edf60807198dd9cc20d35f1c62f7 GIT binary patch literal 22626 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 NAN^M;V7NQ_{{UZA4!{5a literal 0 HcmV?d00001 diff --git a/docs/en/UI/Angular/images/ellipsis-directive-result2.jpg b/docs/en/UI/Angular/images/ellipsis-directive-result2.jpg new file mode 100644 index 0000000000000000000000000000000000000000..3a416bbc05bc1362f0441c6da77f042ab5f26cc5 GIT binary patch literal 13906 zcmeHuc~nzNw`ZIOKt&872q>e3NtB4lbiER0L?9u|QD(ve#_qi`0sM~=&=(=4jn)ExBAu@z=8dt zA3t*Vz`-L24PX31YTf_f9`280R|0UJEJ^=5b1N%cf#1GH~{QLu;efq}V zy8k-y(apC<$qbrDXuYEn;uvWB4&)qrmDiwNLC_sfZ*@9}&VFg-bpC7XqEgvWZuX%; zf1u_YQh#_ZnM7mz^wNGsTZMJ(io~RN>qbAx&kv}^+MC^lO*ADL=LmdLc>d(v>mXGM%(Yh& z4o0XobPG|g($k_2bMBM>SXZ=vY7bNLkv~V4@`&=z^M*AIE`s|iP_P(n#{Z#(;nL3mA*zWU4-I7>?Aq!i#599np$I?vyqIi1&XBG#v2+g*a@D4L+Wz(kXQ zj*h=WHK^WJV4ERpNmn#eQyCPu?`$itc4Nd)xaq~|k^Wl!BUExq>C1LAMSdgG3Vs$k zDG+R>X3e~@`&UGu40X#TFRwkXM3|~xrk~z~Zn6iy@yd;Y)p;Vb582fE_u=}8tY)li zxz$=ks7g-by|l&qjFD;Jgkea8y0!HX$l4f7$g${vTxh~!4cSggceI2Wmi%x|#r?tl z`%g`bk*84fO1Zd_G4eZ2J3;i#1EXQTa$HhKiG6k-IelK{hc8k|YVyTl?u#>CUpg^J z6?Nk-SXci-B*m)MvZ*P4fP?W$y>5S95#!KD#zkLiPAsUaD*VfA4`4XBVdRmMe9B(x z!~G29K!<{YH^zMthGP+p7LJlk)WAR$Rx;WyLtIdP%Y}%pcmH_L2j<%$Ll_Cc)D`#R zu_rE4QUWpR^|HqCdw|X=iKVz52G{PzEp;WHa{imtHnYI?fwc(M2ku&`;3zKdtLwIq zMYj&u8Qyak}&V94R zakO4+TgYHBMdr`$$aeO66|HpbNDXa|%T}jIuajjIWDGj>(Fs@UrCwOOC4;-X!wAON zSw}l_|B_9BtCi%PJFWkR zg2E#8T3&q_uK_$fm=p3^!^A%=4UZ#vOjDN?pIa+P!Bvh@{hDJlqN+^nH1_~SyIG5+ zujm(F@b(cE%gXI%S9xT_=SAB)rTS`(L`b80`tB7m-EwzyB5wUvDgNXROQ)_!2MeNH za5jaR+}8fMNN*{#zFtt6h0zZ%gS$?Efmf}|l`qGWlU-(y*!Z)oI#68`i8FSZU)EY6 zN{kHbCoV#oL>hI4F3Nh=(XYW>&W;mEtan6@HStxVu`)y`&BAWf05-hD-Dl^A#*9v;cS=GURM$+ zLpB_r^`a6pd*#->awymTl+}=rJ|(U`6s5M=#r9?bdlC*jJ2Z5_R!6 z@_R~t#DmD7Vf4OmhSATaxRu2Bl(qFdO{E+O>Pg>z{^D)-nvUK#a5Kx+Czr4%oP&`Y z%NzqKx-R17PtD~v_IIqj>Y8M+)!h*uj7D7N?=R=eyDSV0c#D~+?D8)?J>&X`*r-ja zXH`*?R{-JB(Tx8*=kPu|`U5xPVYk8Myky^%{Rj)5CIdCK1}dYCHm$_3QqB*be5n1L zf)YBJ{u${ri_Nd$dgnI^22&7{=5+*=D&j|OcKcTo)P+q2+E4fTkh+6H=pNs$6KUZ8A(Bok#UPo z$00?QJ2`e6B%iNzJ3nwRDrCzzLlz^{@GV@*Kvz!EZ4*&HiC@Ln%Su%lnAjS5m)z~5 zTtLBZ{^6{>>HZwjj2^2Ed!W^FE7_x{u=Hjum6e9W#HOVgGSD^fx*Bf|zgU`aLG>QM ze1Pkb{}gNVqNj_cPIHRSuHE1C{I>YE-K^i~qXN=X$>&{x zui}z5TS^2Igu)RkP$^c5#ml;xU5UzFH$lDbS#fqaIaQEn!4&^;O*d1dUcqXGG`@Rd zr!m71+#x0?Pj}$nCuAKn56CAzmLL&(ob!VXF%EkG?0Div^K#8DSuH_t27>krUSPWg zq6Isz>z7?;V!!MGs^)%V=vO`816)3q8Qz}ywb_S6#uDPfi78Y{PV74gZIFhAfMeAZ zF)=MXx<#+=M!oSl^(mebuD4%n)+ihD_TiPQ!a-0tz9EC9zwjeNZW;^@xU2rGlX2Ak z4RCE)sZs-Z{w%}?SFG(BLc(-8q%UK0ZtMY2U~ArY3eRIR5`h(eE=M0nyb|ZY%W+49Xvju^LcHs%YM6Twc=Gd{E-Mj~A z(vHI>62#>$v7eF($YZrZfxBn6d(~nL5IL;o+@*%*0Sb-~dl=D%jq=)4T_G z7sGtqd~Hf582hoqaICd0Vw_ZoB(&ytO8KgnYhJ#5DJpJ|7uwK=Gfc}{MB>fX12}L{ zRjj76R*ajtJ5PHQWGYg|3}wcrtrT@T1RBK74Pw_MH%`^;0o?S4(N%A8mnlqWBUs6? z5|b9eotzvY6|f%`xvW|wL4J}J%=Z8>FFNzn#g48%zwNQt*d2-4B#B@ z=9SmHU!ZSCa>WH(m#ItT+X}$vhMD1GHK(87I7^-ODXuoV#V6xX-aiEzCqW^u%4VoY z*i~m$t&$c-J^llkG{?_DDD@ww%opYp^9vxZ=!``K9VWstX9D@H)O2WGXZtJqoUq?K zC5*tqnXQ63uFkEJ8t8axV?%s)5M1$R6H@Kzvxy3DTRth+vLB?hnl9`m8Rs=9Hw;Oj za)v(ZrXg=7ndGo~d`i>h;Qg6mE_5$vyO&0Cj*Lc>MT}tu3@+WkQWE^y{FGk&&6j=- z3@pTF5ioh;e;O8K;i-sJJ%@BO2-}SI^|t*3#g(DpOUgW~cxRB(v)`p(NSktQ&?hrg z=GBI?U#D&6ZaXmIz2sesC|HF;bwS0IKRfjsdMUdi*VR?TQu7}Ri z9BsvBUN4)`%l2Ad9I9^Ckrjb@^t9<&{m8taezSa)O1SyFEUX}FUB?yCA3adqyuNWo zU>h6m?&^y*_(&^*B?YBg6l8_VVckhpb20yUF51`nDtbJbeHEZ^k?=(bO&rN{O)Af` zXI!56y_?J_moddnfI!|c=}XU^!10-RVtjgY}CDekwFjSPk5fT!f5# zHotw|g-2EnN1`e)E)uYIo+G|T=UNACQ@|OZ+`(EHlQgy49s4KSCE|R5Pqa#4zjl2XTm=TiUgfWnd#eowW|tAYUlT5H8Xi#!pH}{YT`4&qjKlJe zfs{aplD3s&by4SGy<{(21pJml28PxVi z)!n<+8p(OF`CeePJ1O>ptVpXRa`x!z9L}(qbC;HkYFfP8hYt4|V_H=+a$LkQk(RC@ zr5Sj)dTG_I0XK-1j%K7YQLoCdh|o&e7KreviV>GUx>f7wE*(|yCtw(?<1z&pjD~np z@DiRZ)wcGJ1@x)5Pk{V6?ex@Y_p}xFdjiczCGyS9qI3FD`ZRUJ49#Lmp|oGNVxVC1ZLlvc6iM$ieC`~B3S7{W)~*1CzNI-wh)lnc z-MP(^>iW#02-Zr9Cw4!8L7)!l&j8v+r7poJ6eBARkDeC$0PBqC;$m@BY#u`Jj(3T7MXFdj(7gV~s#spRnOaB$3RO2P zrUdz&-K?Yqo!W4F>I_XP49tP?!>n{SN3h{tg}zT0J|3Z>2h!~rolZYkW?Bn%t?sHo zAO)!%HkLjXw)m6Z$-DIS1B?vLq&DrQ=a^migdLj`>-tlFPNFe};r01p@|uz;y!CL% zn=i+UctWv{k#8)SAcm5!ndyEgQL-KeHY|G6fZ#h9KG^p)S|StiaBx!s={Y+x&`J08 zKz9Ff%~!XMu{RsZTd`JfpBPGGAcyVFX#GptGrMimJv+G$QT$xu%n!R3ZSS}rQ!J4! zgO<{HY+P`vWU7F+LCnJs3qNkhDVo)!zf$^IL}0K`99Irdl^AGt(-VWBgY2t}b26nF$A@U!h5 zrjE8dSq!@e2w^tvPGAAW%MnF2a69swj^fCtbtFhy1Svz%NG4*}VL}CHc?EEkX*U|E zY@CP#0glnoi>cdU-`)h*gyN>hYHd;|urKdAjY!#X(;Bcq)9z>MS`Yr0{PTaNgSRr( zmWp`&=-;75e_i-e7fmT%AV3<<0lZRL_5lBiS^cja zX`TC?FaAA%U%utbf6e)?we~B<{%30X#Vx-$bw6eO$|Wf~fa7ofk<*WDpc6L^?fkn0 z|4*x`t-YLyY7`CW>;t^N(He=^<_t4bld}xJk zAk9Rr6vnujc1yw9X3ZZ0SKY*ysr`&*pB6Ig*#iKTU-;m3KPMn_Sl0G(6`XG>{6<=L zt?H#Dz0V6=sEr(0&j$udN~%n#fyc_t`}FFBUIXKl)PzGg@qS>TKAu`L7k45dKkfU5 zXz620ki*(XnKoEchPSNu8Z~@1rZcK?sl!KhWx#1R? zrGM+--*Fs9zlPXa82AxB*bxJG3eAfxd;QMB*tf-gw`#WOW6oaU81b6m{;LsOaujugtH_W%T_!$PZ>f;|HH zbOB-o)H|UNlr$efZ{5aK1>zULQRPNGaqUs=5}&Ut>fS=c2h1+@YH`fcT{DFpuT6cA zpBa?Q0m6tx3{(%|7f#rr-81nMuieNzYgvi<;0z?7TwEg*z1}Cfx9T;kZO3Sk7MH;K zT3eoRI|&cSv#522sKYlfWARiVo8Ettg+!x0=+wszgI^3O+YV?PGl!l611wPY0C#Pc zPxS>raE$g_@Pr3rbJ)QL6?T&#B=^!g;xk_{zsY(L5gI{GAg9N^9^#ur6s zl~tDW4SLazM0H>zlTzIE$?^pZ8mU(HPAtsnbV6TW<-;)7uK9cgCGu&Gg{8Bi`H^AL zXgcz_VSoA_;B3}A;pb*Kt0?grXQ{JbXPUsmzy>yE%%2y6%td1t<1ecOcYDnz#B<5G z^kbY>@g@&uQ>}AO?+aLbjh|tL|eVt;pB%Bks@+iRMpbRcaob!S0O zJ5fIoU(#hu5)g1k(it#om^3OB-q4gvY`ZZ5F<(3{9y3Ibi8K21Jn^5#2mkLlIOL_TcXGh&Qy`xcKxmjJCqNfLg!G5~l*WJvglvB^Vt?oHl zIT1g<c0|Bjr^2VyE}Z3tbnh>1V3pMjx*e z)USGCZL%6g5^xHzAc$V$-R@u(D)R)V)u*(l=tJdfcpcnZTS*C42e!$3nkYG?(TX&< z!$yvN2i4*C05U(0O+JW@VMf^)+^gnrBdSlAIQQ`k2#RDv-0Fn6@6tTi-nVSgw?%n+ zaXG2iTEVEGtL3LM6}(k!l-t9;l=S)uV+gDaB0a@iz!Jwt?NcvN!)gdTfzKk;4k4cy z4o2tZy`^9Vy}zK;Ghc5|^G{lJ8dx`^EY+Hp%)XwGHFGy)?!x$iVY@;NWl>h&FZ7V+ za5swRcJltT`((QJ+!Z5MSL3z&eyvF(iiQ*QnY*0r4aw2B(NB*a$V-xM%qe|;*Iu#2 z+0-mvK@i=IjC22lWztx-;+tZhpS$`5rG^y^@$;!Zt;G8?Oil96&v%LDrl;0iCyQks zr?~oCb4+fF6b3YBwbGat%L*H^r164mfUeb{Wz4nCsI`fEA9~43;4mp+TiQ`EH%B#C zQpO8Q*nqRMj=XJJiFj8_y(AvwN-U^ZRnCTj&s}pYx_gh**DBVh-0VTEX(>#&(0Kmp zZN-*+1oN+YNwUMt@{j%Z#gF{oB7dI9o37KY-@vpQ{UJ+uZ{ugxH&xWxRhNVf>*9L)I;kZpEDHkPrHk!cFmB!29{mb>*^#*eTLD zsaqjCdvfqqInZID@>trkpagCfg}FSyz}da(e~Ez_NH$B-iFMqTJfIvdaKXFgs?FgD=ttKt% z@YdKwp0&K+Pd$$#*`%?$rZxyhLp@AjQkINq3d~~vqpspdBF@}*6#9V9voP4Z=RG&bqR6+Vq1GrSXVOLax42 z9pT3YLOS8aQiAY%yp)C5XDhTDZtlU+*s>@UXb%niFsFwuMPq8FB*B3lh}T>w_!IJ0EK8h1-vcIV$W9)L@^H1g15=XUrWpukaYw$p`N?ziAml~p`F9UXHbeI$9b^HuXL zo2+k13qC#0n=;zB7o$e_n?rVAW2=8lJ%^QY#%bfdY0bMLBn>p{Cm1fHYy3#DBVwQ6CopM^z1qzbyuAq|N&$SPa0`dF#JJ%B3r+sc6*_{r}xgWU`Sd(r1c zzCUxKgiVTzilcU7BE=jZc5Zr*t7ZB>@kQk&32{cIo`XY+zxO{2&=IAed|8!tj#Cnq zau7w!T57Aijyg&C4&=_s#82H`Dlbo5GQ(z=a(-_cwfxs@BONBgA!(7_(Nt-?jiV~MY ziGAV5Q(j@?2uQIK&#B9Jf~#*zxn4iG*%afXh^SKO@_xyU(Oc$*8bCK9sMF>q2tG5J zKsM`{uZh}UhP_}{0-R8BCn$`D*nn=QE4HEm?XTpx%V+N)pL+!}M(k0QI|+_{P~5j? zQnA>lrC&qJrSkij7qI$cetsdoFt~dK|FzA9uUDf`rZg8DJRxf8WY1fBJwKaCk*?fQ zyS|^WDU4&;k{`n`F$MQeWDS6Xyob%}gyNK+x{9Wswqku3!^1xo4EQHDx6a=AVR@pg zc5HktKcG@YMV+qs*id#*C_S_9P2EOC#dr4Hk&BrRot*rUp`yb}%aK+e&iyj~HFdw1 z&3{G6>;Wt(FpKK~a(e)D=)p(-Oa}Q6d>wKcc^ws4jf1rlF66ms5>+pBADqy`;Ijy-3+SG#z7| zE2r@;c9I0mvN(1D zOY6-+P?KQ#Oe;00!*{V`&c_$>ng)vR&I4~6JQD=x zJ)#l@cGe|a)$VxTm30Nwmo`nW>DlfGxeoTH37UAVwdTq=2?X-U_~Y8tspcm+6u*n* za0C*$s2!E|&D^KBp+x%6okqhhRfl2?{;Nheq)J*Xh-iXU?0d2L(_RR}4Q#>6w116C z+07){M{B(vE1yAXhHG}{h>VlCesXP?!1;T=Qun+l=hjHuweFf#PF%04iO7ps98wCHu;c@_K`^?aQO4vtddyZ1@MuhQZFHi}rCMp~PEOgdLm9K4z$ z&Zr8Wu9AU?OP1fC{`Q56s}K2Tu3R^0Wk&P83D=R+o==LN^|&Sjf$m5?E(tiscH*zD z^5F)N-uM>}HE@ZZ(pk3NIf+ObEeQgH_zw*xYrOz#MVfQ6j#a=c^_m{uHoH)E)D8q9 z&7|_*y6vz&brtt+&d)TWTzUuZtqwN*tL{qNlYojFv7aNVSgm5N!c$cOU65NAQX_6! zE2kenPjaY%YZL`ajwj$`V|rFq`cBoTD+(kiU1|P370w%aRQjo-LP~*gQ(t)M1y+Rw zS>VI|j|Isyd@H=F^jF&vja~gm=XZQvx{R6hsyyUEx{~>>i~Y~+dX>SMwfDK*o3q8` x{GE3#yYrxpqDq}QHeH8PLX=@a7AOvm)wt27^=R$4|9~)lHUHn4ftbDC{|1D@W+wmu literal 0 HcmV?d00001 diff --git a/docs/en/docs-nav.json b/docs/en/docs-nav.json index 3fff6d67c1..3337521b89 100644 --- a/docs/en/docs-nav.json +++ b/docs/en/docs-nav.json @@ -830,6 +830,10 @@ { "text": "Page Alerts", "path": "UI/Angular/Page-Alerts.md" + }, + { + "text": "Ellipsis", + "path": "UI/Angular/Ellipsis-Directive.md" } ] }, From c96d364c39c3b701067eee399f2679af775e5822 Mon Sep 17 00:00:00 2001 From: enisn Date: Thu, 21 Jan 2021 18:56:04 +0300 Subject: [PATCH 090/217] CmsKit - Content Get-Set endpoints --- .../Admin/Contents/ContentSetByEntityInput.cs | 7 +++ .../Admin/Contents/IContentAdminAppService.cs | 4 ++ .../Admin/Contents/ContentAdminAppService.cs | 45 ++++++++++++++++++- .../Admin/Contents/ContentAdminController.cs | 16 +++++++ 4 files changed, 70 insertions(+), 2 deletions(-) create mode 100644 modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Contents/ContentSetByEntityInput.cs diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Contents/ContentSetByEntityInput.cs b/modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Contents/ContentSetByEntityInput.cs new file mode 100644 index 0000000000..744f708e45 --- /dev/null +++ b/modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Contents/ContentSetByEntityInput.cs @@ -0,0 +1,7 @@ +namespace Volo.CmsKit.Admin.Contents +{ + public class ContentSetByEntityInput + { + public string Value { get; set; } + } +} diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Contents/IContentAdminAppService.cs b/modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Contents/IContentAdminAppService.cs index e910d42c2f..381498cbb1 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Contents/IContentAdminAppService.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Contents/IContentAdminAppService.cs @@ -1,4 +1,5 @@ using System; +using System.Threading.Tasks; using Volo.Abp.Application.Services; using Volo.CmsKit.Admin.Contents; @@ -13,5 +14,8 @@ namespace Volo.CmsKit.Admin.Contents ContentCreateDto, ContentUpdateDto> { + Task GetByEntityAsync(string entityType, string entityId); + + Task SetByEntityAsync(string entityType, string entityId, ContentSetByEntityInput input); } } diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/Contents/ContentAdminAppService.cs b/modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/Contents/ContentAdminAppService.cs index 5c058b5fe8..8c5b161540 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/Contents/ContentAdminAppService.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/Contents/ContentAdminAppService.cs @@ -1,6 +1,8 @@ -using Microsoft.AspNetCore.Authorization; +using JetBrains.Annotations; +using Microsoft.AspNetCore.Authorization; using System; using System.Threading.Tasks; +using Volo.Abp; using Volo.Abp.Application.Services; using Volo.Abp.Domain.Repositories; using Volo.CmsKit.Contents; @@ -31,13 +33,13 @@ namespace Volo.CmsKit.Admin.Contents IContentRepository contentRepository) : base(repository) { ContentManager = contentManager; + ContentRepository = contentRepository; GetListPolicyName = CmsKitAdminPermissions.Contents.Default; GetPolicyName = CmsKitAdminPermissions.Contents.Default; CreatePolicyName = CmsKitAdminPermissions.Contents.Create; UpdatePolicyName = CmsKitAdminPermissions.Contents.Update; DeletePolicyName = CmsKitAdminPermissions.Contents.Delete; - ContentRepository = contentRepository; } [Authorize(CmsKitAdminPermissions.Contents.Create)] @@ -54,5 +56,44 @@ namespace Volo.CmsKit.Admin.Contents return MapToGetOutputDto(entity); } + + public async Task GetByEntityAsync( + [NotNull] string entityType, + [NotNull] string entityId) + { + Check.NotNullOrWhiteSpace(entityType, nameof(entityType)); + Check.NotNullOrWhiteSpace(entityId, nameof(entityId)); + + var content = await ContentRepository.GetAsync(entityType, entityId, CurrentTenant?.Id); + + return ObjectMapper.Map(content); + } + + public async Task SetByEntityAsync( + [NotNull] string entityType, + [NotNull] string entityId, + ContentSetByEntityInput input) + { + Check.NotNullOrWhiteSpace(entityType, nameof(entityType)); + Check.NotNullOrWhiteSpace(entityId, nameof(entityId)); + + var updated = await ContentRepository.FindAsync(entityType, entityId); + + if (updated == null) + { + await ContentRepository.InsertAsync( + new Content( + GuidGenerator.Create(), + entityType, + entityId, + input.Value, + CurrentTenant?.Id)); + } + else + { + updated.SetValue(input.Value); + await ContentRepository.UpdateAsync(updated); + } + } } } diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.HttpApi/Volo/CmsKit/Admin/Contents/ContentAdminController.cs b/modules/cms-kit/src/Volo.CmsKit.Admin.HttpApi/Volo/CmsKit/Admin/Contents/ContentAdminController.cs index f519109022..0679391a4f 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Admin.HttpApi/Volo/CmsKit/Admin/Contents/ContentAdminController.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Admin.HttpApi/Volo/CmsKit/Admin/Contents/ContentAdminController.cs @@ -59,5 +59,21 @@ namespace Volo.CmsKit.Admin.Contents { return ContentAdminAppService.UpdateAsync(id, input); } + + [HttpGet] + [Route("{entityType}/{entityId}")] + [Authorize(CmsKitAdminPermissions.Contents.Default)] + public Task GetByEntityAsync(string entityType, string entityId) + { + return ContentAdminAppService.GetByEntityAsync(entityType, entityId); + } + + [HttpPost] + [Route("{entityType}/{entityId}")] + [Authorize(CmsKitAdminPermissions.Contents.Update)] + public Task SetByEntityAsync(string entityType, string entityId, ContentSetByEntityInput input) + { + return ContentAdminAppService.SetByEntityAsync(entityType, entityId, input); + } } } From 7f8e0aa6bfb34ef214630f749162a29f127f8f0c Mon Sep 17 00:00:00 2001 From: Alper Ebicoglu Date: Thu, 21 Jan 2021 19:40:15 +0300 Subject: [PATCH 091/217] resolves volosoft/volo#4907 --- .../src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Auth/AuthService.cs | 3 ++- framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/CliPaths.cs | 6 ++++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Auth/AuthService.cs b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Auth/AuthService.cs index 9125a0c8ab..f3cb291f56 100644 --- a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Auth/AuthService.cs +++ b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Auth/AuthService.cs @@ -22,7 +22,7 @@ namespace Volo.Abp.Cli.Auth { var configuration = new IdentityClientConfiguration( CliUrls.AccountAbpIo, - "role email abpio abpio_www abpio_commercial offline_access", + "role email abpio abpio_www abpio_commercial offline_access", "abp-cli", "1q2w3e*", OidcConstants.GrantTypes.Password, @@ -43,6 +43,7 @@ namespace Volo.Abp.Cli.Auth public Task LogoutAsync() { FileHelper.DeleteIfExists(CliPaths.AccessToken); + FileHelper.DeleteIfExists(CliPaths.Lic); return Task.CompletedTask; } diff --git a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/CliPaths.cs b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/CliPaths.cs index 2b422446ca..068911ac8c 100644 --- a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/CliPaths.cs +++ b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/CliPaths.cs @@ -1,5 +1,6 @@ using System; using System.IO; +using System.Text; namespace Volo.Abp.Cli { @@ -10,7 +11,8 @@ namespace Volo.Abp.Cli public static string Root => Path.Combine(AbpRootPath, "cli"); public static string AccessToken => Path.Combine(AbpRootPath, "cli", "access-token.bin"); public static string Build => Path.Combine(AbpRootPath, "build"); - + public static string Lic => Path.Combine(Path.GetTempPath(), Encoding.ASCII.GetString(new byte[] { 65, 98, 112, 76, 105, 99, 101, 110, 115, 101, 46, 98, 105, 110 })); + private static readonly string AbpRootPath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.UserProfile), ".abp"); } -} +} From d24510aae03b94c22619834978a75231a4d22bc5 Mon Sep 17 00:00:00 2001 From: Mehmet Erim <34455572+mehmet-erim@users.noreply.github.com> Date: Thu, 21 Jan 2021 20:04:30 +0300 Subject: [PATCH 092/217] Update POST.md --- .../POST.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/en/Community-Articles/2021-01-20-How-to-Use-PrimeNG-Components-with-the-ABP-Angular-UI/POST.md b/docs/en/Community-Articles/2021-01-20-How-to-Use-PrimeNG-Components-with-the-ABP-Angular-UI/POST.md index f1e5dd3834..245a553e72 100644 --- a/docs/en/Community-Articles/2021-01-20-How-to-Use-PrimeNG-Components-with-the-ABP-Angular-UI/POST.md +++ b/docs/en/Community-Articles/2021-01-20-How-to-Use-PrimeNG-Components-with-the-ABP-Angular-UI/POST.md @@ -76,7 +76,7 @@ The packages we have installed; As the last step of the setup, we should add the required style files for the library to `angular.json`: -```json +```js //angular.json "projects": { From 15ba1bdfb556e0943cae9b5942ebe16047a5d98a Mon Sep 17 00:00:00 2001 From: enisn Date: Fri, 22 Jan 2021 10:47:49 +0300 Subject: [PATCH 093/217] CmsKit - Remove SetContentByEntity --- .../Admin/Contents/IContentAdminAppService.cs | 2 -- .../Admin/Contents/ContentAdminAppService.cs | 27 ------------------- .../Admin/Contents/ContentAdminController.cs | 8 ------ 3 files changed, 37 deletions(-) diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Contents/IContentAdminAppService.cs b/modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Contents/IContentAdminAppService.cs index 381498cbb1..fb5bf48349 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Contents/IContentAdminAppService.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Contents/IContentAdminAppService.cs @@ -15,7 +15,5 @@ namespace Volo.CmsKit.Admin.Contents ContentUpdateDto> { Task GetByEntityAsync(string entityType, string entityId); - - Task SetByEntityAsync(string entityType, string entityId, ContentSetByEntityInput input); } } diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/Contents/ContentAdminAppService.cs b/modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/Contents/ContentAdminAppService.cs index 8c5b161540..b1008f0086 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/Contents/ContentAdminAppService.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/Contents/ContentAdminAppService.cs @@ -68,32 +68,5 @@ namespace Volo.CmsKit.Admin.Contents return ObjectMapper.Map(content); } - - public async Task SetByEntityAsync( - [NotNull] string entityType, - [NotNull] string entityId, - ContentSetByEntityInput input) - { - Check.NotNullOrWhiteSpace(entityType, nameof(entityType)); - Check.NotNullOrWhiteSpace(entityId, nameof(entityId)); - - var updated = await ContentRepository.FindAsync(entityType, entityId); - - if (updated == null) - { - await ContentRepository.InsertAsync( - new Content( - GuidGenerator.Create(), - entityType, - entityId, - input.Value, - CurrentTenant?.Id)); - } - else - { - updated.SetValue(input.Value); - await ContentRepository.UpdateAsync(updated); - } - } } } diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.HttpApi/Volo/CmsKit/Admin/Contents/ContentAdminController.cs b/modules/cms-kit/src/Volo.CmsKit.Admin.HttpApi/Volo/CmsKit/Admin/Contents/ContentAdminController.cs index 0679391a4f..fa766a5cfb 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Admin.HttpApi/Volo/CmsKit/Admin/Contents/ContentAdminController.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Admin.HttpApi/Volo/CmsKit/Admin/Contents/ContentAdminController.cs @@ -67,13 +67,5 @@ namespace Volo.CmsKit.Admin.Contents { return ContentAdminAppService.GetByEntityAsync(entityType, entityId); } - - [HttpPost] - [Route("{entityType}/{entityId}")] - [Authorize(CmsKitAdminPermissions.Contents.Update)] - public Task SetByEntityAsync(string entityType, string entityId, ContentSetByEntityInput input) - { - return ContentAdminAppService.SetByEntityAsync(entityType, entityId, input); - } } } From dcb780a5c9daa05e2efc69860be0e4525f88e3c8 Mon Sep 17 00:00:00 2001 From: enisn Date: Fri, 22 Jan 2021 11:22:13 +0300 Subject: [PATCH 094/217] CmsKit - Remove ContentSetByEntityInput.cs --- .../Volo/CmsKit/Admin/Contents/ContentSetByEntityInput.cs | 7 ------- 1 file changed, 7 deletions(-) delete mode 100644 modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Contents/ContentSetByEntityInput.cs diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Contents/ContentSetByEntityInput.cs b/modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Contents/ContentSetByEntityInput.cs deleted file mode 100644 index 744f708e45..0000000000 --- a/modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Contents/ContentSetByEntityInput.cs +++ /dev/null @@ -1,7 +0,0 @@ -namespace Volo.CmsKit.Admin.Contents -{ - public class ContentSetByEntityInput - { - public string Value { get; set; } - } -} From f3ee251880a6a7784db9bc5a829d0ebc1cc07be9 Mon Sep 17 00:00:00 2001 From: enisn Date: Fri, 22 Jan 2021 11:29:07 +0300 Subject: [PATCH 095/217] CmsKit - Add test for GetByEntityAsync --- .../Contents/ContentAdminAppService_Tests.cs | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/modules/cms-kit/test/Volo.CmsKit.Application.Tests/Contents/ContentAdminAppService_Tests.cs b/modules/cms-kit/test/Volo.CmsKit.Application.Tests/Contents/ContentAdminAppService_Tests.cs index 34c90cbf6e..1263014d83 100644 --- a/modules/cms-kit/test/Volo.CmsKit.Application.Tests/Contents/ContentAdminAppService_Tests.cs +++ b/modules/cms-kit/test/Volo.CmsKit.Application.Tests/Contents/ContentAdminAppService_Tests.cs @@ -128,5 +128,15 @@ namespace Volo.CmsKit.Contents await Should.NotThrowAsync(async () => await _service.DeleteAsync(_data.Content_2_Id)); } + + [Fact] + public async Task ShouldGetByEntityAsync() + { + var entity = await _service.GetByEntityAsync(_data.Content_1_EntityType, _data.Content_1_EntityId); + + entity.ShouldNotBeNull(); + entity.EntityId.ShouldBe(_data.Content_1_EntityId); + entity.EntityType.ShouldBe(_data.Content_1_EntityType); + } } } From f0f5e2c91b1fd628704ff760f9cd38864f168d7c Mon Sep 17 00:00:00 2001 From: maliming Date: Fri, 22 Jan 2021 17:11:17 +0800 Subject: [PATCH 096/217] Cache tenant in TenantStore. Resolve #6970 --- .../Volo.Abp.TenantManagement.Domain.csproj | 1 + .../AbpTenantManagementDomainModule.cs | 2 + .../Abp/TenantManagement/TenantCacheItem.cs | 36 ++++++ .../TenantCacheItemInvalidator.cs | 24 ++++ .../Volo/Abp/TenantManagement/TenantStore.cs | 120 +++++++++++++----- .../TenantCacheItemInvalidator_Tests.cs | 86 +++++++++++++ 6 files changed, 236 insertions(+), 33 deletions(-) create mode 100644 modules/tenant-management/src/Volo.Abp.TenantManagement.Domain/Volo/Abp/TenantManagement/TenantCacheItem.cs create mode 100644 modules/tenant-management/src/Volo.Abp.TenantManagement.Domain/Volo/Abp/TenantManagement/TenantCacheItemInvalidator.cs create mode 100644 modules/tenant-management/test/Volo.Abp.TenantManagement.Domain.Tests/Volo/Abp/TenantManagement/TenantCacheItemInvalidator_Tests.cs diff --git a/modules/tenant-management/src/Volo.Abp.TenantManagement.Domain/Volo.Abp.TenantManagement.Domain.csproj b/modules/tenant-management/src/Volo.Abp.TenantManagement.Domain/Volo.Abp.TenantManagement.Domain.csproj index dc168af444..5de64b7a1d 100644 --- a/modules/tenant-management/src/Volo.Abp.TenantManagement.Domain/Volo.Abp.TenantManagement.Domain.csproj +++ b/modules/tenant-management/src/Volo.Abp.TenantManagement.Domain/Volo.Abp.TenantManagement.Domain.csproj @@ -21,6 +21,7 @@ + diff --git a/modules/tenant-management/src/Volo.Abp.TenantManagement.Domain/Volo/Abp/TenantManagement/AbpTenantManagementDomainModule.cs b/modules/tenant-management/src/Volo.Abp.TenantManagement.Domain/Volo/Abp/TenantManagement/AbpTenantManagementDomainModule.cs index 764e9f7209..076c8b7a67 100644 --- a/modules/tenant-management/src/Volo.Abp.TenantManagement.Domain/Volo/Abp/TenantManagement/AbpTenantManagementDomainModule.cs +++ b/modules/tenant-management/src/Volo.Abp.TenantManagement.Domain/Volo/Abp/TenantManagement/AbpTenantManagementDomainModule.cs @@ -1,5 +1,6 @@ using Microsoft.Extensions.DependencyInjection; using Volo.Abp.AutoMapper; +using Volo.Abp.Caching; using Volo.Abp.Data; using Volo.Abp.Domain; using Volo.Abp.Domain.Entities.Events.Distributed; @@ -16,6 +17,7 @@ namespace Volo.Abp.TenantManagement [DependsOn(typeof(AbpDataModule))] [DependsOn(typeof(AbpDddDomainModule))] [DependsOn(typeof(AbpAutoMapperModule))] + [DependsOn(typeof(AbpCachingModule))] public class AbpTenantManagementDomainModule : AbpModule { private static readonly OneTimeRunner OneTimeRunner = new OneTimeRunner(); diff --git a/modules/tenant-management/src/Volo.Abp.TenantManagement.Domain/Volo/Abp/TenantManagement/TenantCacheItem.cs b/modules/tenant-management/src/Volo.Abp.TenantManagement.Domain/Volo/Abp/TenantManagement/TenantCacheItem.cs new file mode 100644 index 0000000000..94f898bbe5 --- /dev/null +++ b/modules/tenant-management/src/Volo.Abp.TenantManagement.Domain/Volo/Abp/TenantManagement/TenantCacheItem.cs @@ -0,0 +1,36 @@ +using System; +using Volo.Abp.MultiTenancy; + +namespace Volo.Abp.TenantManagement +{ + [Serializable] + [IgnoreMultiTenancy] + public class TenantCacheItem + { + private const string CacheKeyFormat = "i:{0},n:{1}"; + + public TenantConfiguration Value { get; set; } + + public TenantCacheItem() + { + + } + + public TenantCacheItem(TenantConfiguration value) + { + Value = value; + } + + public static string CalculateCacheKey(Guid? id, string name) + { + if (id == null && name.IsNullOrWhiteSpace()) + { + throw new AbpException("Both id and name can't be invalid."); + } + + return string.Format(CacheKeyFormat, + id?.ToString() ?? "null", + (name.IsNullOrWhiteSpace() ? "null" : name)); + } + } +} diff --git a/modules/tenant-management/src/Volo.Abp.TenantManagement.Domain/Volo/Abp/TenantManagement/TenantCacheItemInvalidator.cs b/modules/tenant-management/src/Volo.Abp.TenantManagement.Domain/Volo/Abp/TenantManagement/TenantCacheItemInvalidator.cs new file mode 100644 index 0000000000..0416dd8df2 --- /dev/null +++ b/modules/tenant-management/src/Volo.Abp.TenantManagement.Domain/Volo/Abp/TenantManagement/TenantCacheItemInvalidator.cs @@ -0,0 +1,24 @@ +using System.Threading.Tasks; +using Volo.Abp.Caching; +using Volo.Abp.DependencyInjection; +using Volo.Abp.Domain.Entities.Events; +using Volo.Abp.EventBus; + +namespace Volo.Abp.TenantManagement +{ + public class TenantCacheItemInvalidator : ILocalEventHandler>, ITransientDependency + { + protected IDistributedCache Cache { get; } + + public TenantCacheItemInvalidator(IDistributedCache cache) + { + Cache = cache; + } + + public virtual async Task HandleEventAsync(EntityChangedEventData eventData) + { + await Cache.RemoveAsync(TenantCacheItem.CalculateCacheKey(eventData.Entity.Id, null)); + await Cache.RemoveAsync(TenantCacheItem.CalculateCacheKey(null, eventData.Entity.Name)); + } + } +} diff --git a/modules/tenant-management/src/Volo.Abp.TenantManagement.Domain/Volo/Abp/TenantManagement/TenantStore.cs b/modules/tenant-management/src/Volo.Abp.TenantManagement.Domain/Volo/Abp/TenantManagement/TenantStore.cs index 00b9ef0963..54e07a55fb 100644 --- a/modules/tenant-management/src/Volo.Abp.TenantManagement.Domain/Volo/Abp/TenantManagement/TenantStore.cs +++ b/modules/tenant-management/src/Volo.Abp.TenantManagement.Domain/Volo/Abp/TenantManagement/TenantStore.cs @@ -1,5 +1,7 @@ using System; using System.Threading.Tasks; +using JetBrains.Annotations; +using Volo.Abp.Caching; using Volo.Abp.DependencyInjection; using Volo.Abp.MultiTenancy; using Volo.Abp.ObjectMapping; @@ -13,73 +15,125 @@ namespace Volo.Abp.TenantManagement protected ITenantRepository TenantRepository { get; } protected IObjectMapper ObjectMapper { get; } protected ICurrentTenant CurrentTenant { get; } + protected IDistributedCache Cache { get; } public TenantStore( ITenantRepository tenantRepository, IObjectMapper objectMapper, - ICurrentTenant currentTenant) + ICurrentTenant currentTenant, + IDistributedCache cache) { TenantRepository = tenantRepository; ObjectMapper = objectMapper; CurrentTenant = currentTenant; + Cache = cache; } public virtual async Task FindAsync(string name) { - using (CurrentTenant.Change(null)) //TODO: No need this if we can implement to define host side (or tenant-independent) entities! - { - var tenant = await TenantRepository.FindByNameAsync(name); - if (tenant == null) - { - return null; - } - - return ObjectMapper.Map(tenant); - } + return (await GetCacheItemAsync(null, name)).Value; } public virtual async Task FindAsync(Guid id) { - using (CurrentTenant.Change(null)) //TODO: No need this if we can implement to define host side (or tenant-independent) entities! - { - var tenant = await TenantRepository.FindAsync(id); - if (tenant == null) - { - return null; - } - - return ObjectMapper.Map(tenant); - } + return (await GetCacheItemAsync(id, null)).Value; } [Obsolete("Use FindAsync method.")] public virtual TenantConfiguration Find(string name) { - using (CurrentTenant.Change(null)) //TODO: No need this if we can implement to define host side (or tenant-independent) entities! + return (GetCacheItem(null, name)).Value; + } + + [Obsolete("Use FindAsync method.")] + public virtual TenantConfiguration Find(Guid id) + { + return (GetCacheItem(id, null)).Value; + } + + protected virtual async Task GetCacheItemAsync(Guid? id, string name) + { + var cacheKey = CalculateCacheKey(id, name); + + var cacheItem = await Cache.GetAsync(cacheKey, considerUow: true); + if (cacheItem != null) + { + return cacheItem; + } + + if (id.HasValue) { - var tenant = TenantRepository.FindByName(name); - if (tenant == null) + using (CurrentTenant.Change(null)) //TODO: No need this if we can implement to define host side (or tenant-independent) entities! { - return null; + var tenant = await TenantRepository.FindAsync(id.Value); + return await SetCacheAsync(cacheKey, tenant); } + } - return ObjectMapper.Map(tenant); + if (!name.IsNullOrWhiteSpace()) + { + using (CurrentTenant.Change(null)) //TODO: No need this if we can implement to define host side (or tenant-independent) entities! + { + var tenant = await TenantRepository.FindByNameAsync(name); + return await SetCacheAsync(cacheKey, tenant); + } } + + throw new AbpException("Both id and name can't be invalid."); } - [Obsolete("Use FindAsync method.")] - public virtual TenantConfiguration Find(Guid id) + protected virtual async Task SetCacheAsync(string cacheKey, [CanBeNull]Tenant tenant) + { + var tenantConfiguration = tenant != null ? ObjectMapper.Map(tenant) : null; + var cacheItem = new TenantCacheItem(tenantConfiguration); + await Cache.SetAsync(cacheKey, cacheItem, considerUow: true); + return cacheItem; + } + + [Obsolete("Use GetCacheItemAsync method.")] + protected virtual TenantCacheItem GetCacheItem(Guid? id, string name) { - using (CurrentTenant.Change(null)) //TODO: No need this if we can implement to define host side (or tenant-independent) entities! + var cacheKey = CalculateCacheKey(id, name); + + var cacheItem = Cache.Get(cacheKey, considerUow: true); + if (cacheItem != null) + { + return cacheItem; + } + + if (id.HasValue) { - var tenant = TenantRepository.FindById(id); - if (tenant == null) + using (CurrentTenant.Change(null)) //TODO: No need this if we can implement to define host side (or tenant-independent) entities! { - return null; + var tenant = TenantRepository.FindById(id.Value); + return SetCache(cacheKey, tenant); } + } - return ObjectMapper.Map(tenant); + if (!name.IsNullOrWhiteSpace()) + { + using (CurrentTenant.Change(null)) //TODO: No need this if we can implement to define host side (or tenant-independent) entities! + { + var tenant = TenantRepository.FindByName(name); + return SetCache(cacheKey, tenant); + } } + + throw new AbpException("Both id and name can't be invalid."); + } + + [Obsolete("Use SetCacheAsync method.")] + protected virtual TenantCacheItem SetCache(string cacheKey, [CanBeNull]Tenant tenant) + { + var tenantConfiguration = tenant != null ? ObjectMapper.Map(tenant) : null; + var cacheItem = new TenantCacheItem(tenantConfiguration); + Cache.Set(cacheKey, cacheItem, considerUow: true); + return cacheItem; + } + + protected virtual string CalculateCacheKey(Guid? id, string name) + { + return TenantCacheItem.CalculateCacheKey(id, name); } } } diff --git a/modules/tenant-management/test/Volo.Abp.TenantManagement.Domain.Tests/Volo/Abp/TenantManagement/TenantCacheItemInvalidator_Tests.cs b/modules/tenant-management/test/Volo.Abp.TenantManagement.Domain.Tests/Volo/Abp/TenantManagement/TenantCacheItemInvalidator_Tests.cs new file mode 100644 index 0000000000..4c2a8e3c3f --- /dev/null +++ b/modules/tenant-management/test/Volo.Abp.TenantManagement.Domain.Tests/Volo/Abp/TenantManagement/TenantCacheItemInvalidator_Tests.cs @@ -0,0 +1,86 @@ +using System.Threading.Tasks; +using Shouldly; +using Volo.Abp.Caching; +using Volo.Abp.MultiTenancy; +using Xunit; + +namespace Volo.Abp.TenantManagement +{ + public class TenantCacheItemInvalidator_Tests : AbpTenantManagementDomainTestBase + { + private readonly IDistributedCache _cache; + private readonly ITenantStore _tenantStore; + private readonly ITenantRepository _tenantRepository; + + public TenantCacheItemInvalidator_Tests() + { + _cache = GetRequiredService>(); + _tenantStore = GetRequiredService(); + _tenantRepository = GetRequiredService(); + } + + [Fact] + public async Task Get_Tenant_Should_Cached() + { + var acme = await _tenantRepository.FindByNameAsync("acme"); + acme.ShouldNotBeNull(); + + (await _cache.GetAsync(TenantCacheItem.CalculateCacheKey(acme.Id, null))).ShouldBeNull(); + (await _cache.GetAsync(TenantCacheItem.CalculateCacheKey(null, acme.Name))).ShouldBeNull(); + + await _tenantStore.FindAsync(acme.Id); + (await _cache.GetAsync(TenantCacheItem.CalculateCacheKey(acme.Id, null))).ShouldNotBeNull(); + + await _tenantStore.FindAsync(acme.Name); + (await _cache.GetAsync(TenantCacheItem.CalculateCacheKey(null, acme.Name))).ShouldNotBeNull(); + + + var volosoft = _tenantRepository.FindByName("volosoft"); + volosoft.ShouldNotBeNull(); + + (_cache.Get(TenantCacheItem.CalculateCacheKey(volosoft.Id, null))).ShouldBeNull(); + (_cache.Get(TenantCacheItem.CalculateCacheKey(null, volosoft.Name))).ShouldBeNull(); + + _tenantStore.Find(volosoft.Id); + (_cache.Get(TenantCacheItem.CalculateCacheKey(volosoft.Id, null))).ShouldNotBeNull(); + + _tenantStore.Find(volosoft.Name); + (_cache.Get(TenantCacheItem.CalculateCacheKey(null, volosoft.Name))).ShouldNotBeNull(); + } + + [Fact] + public async Task Cache_Should_Invalidator_When_Tenant_Changed() + { + var acme = await _tenantRepository.FindByNameAsync("acme"); + acme.ShouldNotBeNull(); + + // FindAsync will cache tenant. + await _tenantStore.FindAsync(acme.Id); + await _tenantStore.FindAsync(acme.Name); + + (await _cache.GetAsync(TenantCacheItem.CalculateCacheKey(acme.Id, null))).ShouldNotBeNull(); + (await _cache.GetAsync(TenantCacheItem.CalculateCacheKey(null, acme.Name))).ShouldNotBeNull(); + + await _tenantRepository.DeleteAsync(acme); + + (await _cache.GetAsync(TenantCacheItem.CalculateCacheKey(acme.Id, null))).ShouldBeNull(); + (await _cache.GetAsync(TenantCacheItem.CalculateCacheKey(null, acme.Name))).ShouldBeNull(); + + + var volosoft = await _tenantRepository.FindByNameAsync("volosoft"); + volosoft.ShouldNotBeNull(); + + // Find will cache tenant. + _tenantStore.Find(volosoft.Id); + _tenantStore.Find(volosoft.Name); + + (_cache.Get(TenantCacheItem.CalculateCacheKey(volosoft.Id, null))).ShouldNotBeNull(); + (_cache.Get(TenantCacheItem.CalculateCacheKey(null, volosoft.Name))).ShouldNotBeNull(); + + await _tenantRepository.DeleteAsync(volosoft); + + (_cache.Get(TenantCacheItem.CalculateCacheKey(volosoft.Id, null))).ShouldBeNull(); + (_cache.Get(TenantCacheItem.CalculateCacheKey(null, volosoft.Name))).ShouldBeNull(); + } + } +} From 9768268ef270ec76b46fa6dc5fd11df6fc561c53 Mon Sep 17 00:00:00 2001 From: maliming Date: Fri, 22 Jan 2021 17:22:17 +0800 Subject: [PATCH 097/217] Remove todo. --- .../Volo/Abp/TenantManagement/TenantStore.cs | 2 -- 1 file changed, 2 deletions(-) diff --git a/modules/tenant-management/src/Volo.Abp.TenantManagement.Domain/Volo/Abp/TenantManagement/TenantStore.cs b/modules/tenant-management/src/Volo.Abp.TenantManagement.Domain/Volo/Abp/TenantManagement/TenantStore.cs index 54e07a55fb..e43e8a86fa 100644 --- a/modules/tenant-management/src/Volo.Abp.TenantManagement.Domain/Volo/Abp/TenantManagement/TenantStore.cs +++ b/modules/tenant-management/src/Volo.Abp.TenantManagement.Domain/Volo/Abp/TenantManagement/TenantStore.cs @@ -8,8 +8,6 @@ using Volo.Abp.ObjectMapping; namespace Volo.Abp.TenantManagement { - //TODO: This class should use caching instead of querying everytime! - public class TenantStore : ITenantStore, ITransientDependency { protected ITenantRepository TenantRepository { get; } From 1c060797ef29e332225ee72a01d9200da85f68a9 Mon Sep 17 00:00:00 2001 From: maliming Date: Fri, 22 Jan 2021 18:20:21 +0800 Subject: [PATCH 098/217] Remove duplicate data builder of identity server module. Resolve # --- .../AbpIdentityServerTestDataBuilder.cs | 148 ---------- ...tityServerTestEntityFrameworkCoreModule.cs | 19 +- .../AbpIdentityServerTestDataBuilder.cs | 255 ++++++++++++------ 3 files changed, 176 insertions(+), 246 deletions(-) delete mode 100644 modules/identityserver/test/Volo.Abp.IdentityServer.EntityFrameworkCore.Tests/Volo/Abp/IdentityServer/AbpIdentityServerTestDataBuilder.cs diff --git a/modules/identityserver/test/Volo.Abp.IdentityServer.EntityFrameworkCore.Tests/Volo/Abp/IdentityServer/AbpIdentityServerTestDataBuilder.cs b/modules/identityserver/test/Volo.Abp.IdentityServer.EntityFrameworkCore.Tests/Volo/Abp/IdentityServer/AbpIdentityServerTestDataBuilder.cs deleted file mode 100644 index 4b16d7de65..0000000000 --- a/modules/identityserver/test/Volo.Abp.IdentityServer.EntityFrameworkCore.Tests/Volo/Abp/IdentityServer/AbpIdentityServerTestDataBuilder.cs +++ /dev/null @@ -1,148 +0,0 @@ -using System.Threading.Tasks; -using IdentityServer4.Models; -using Volo.Abp.DependencyInjection; -using Volo.Abp.Guids; -using Volo.Abp.IdentityServer.ApiResources; -using Volo.Abp.IdentityServer.ApiScopes; -using Volo.Abp.IdentityServer.Clients; -using Volo.Abp.IdentityServer.Grants; -using Volo.Abp.IdentityServer.IdentityResources; -using ApiResource = Volo.Abp.IdentityServer.ApiResources.ApiResource; -using ApiScope = Volo.Abp.IdentityServer.ApiScopes.ApiScope; -using Client = Volo.Abp.IdentityServer.Clients.Client; -using IdentityResource = Volo.Abp.IdentityServer.IdentityResources.IdentityResource; -using PersistedGrant = Volo.Abp.IdentityServer.Grants.PersistedGrant; - -namespace Volo.Abp.IdentityServer -{ - //TODO: There are two data builders (see AbpIdentityServerTestDataBuilder in Volo.Abp.IdentityServer.TestBase). It should be somehow unified! - - public class AbpIdentityServerTestDataBuilder : ITransientDependency - { - private readonly IGuidGenerator _guidGenerator; - private readonly IClientRepository _clientRepository; - private readonly IPersistentGrantRepository _persistentGrantRepository; - private readonly IApiResourceRepository _apiResourceRepository; - private readonly IApiScopeRepository _apiScopeRepository; - private readonly IIdentityResourceRepository _identityResourceRepository; - - public AbpIdentityServerTestDataBuilder( - IClientRepository clientRepository, - IGuidGenerator guidGenerator, - IPersistentGrantRepository persistentGrantRepository, - IApiResourceRepository apiResourceRepository, - IIdentityResourceRepository identityResourceRepository, - IApiScopeRepository apiScopeRepository) - { - _clientRepository = clientRepository; - _guidGenerator = guidGenerator; - _persistentGrantRepository = persistentGrantRepository; - _apiResourceRepository = apiResourceRepository; - _identityResourceRepository = identityResourceRepository; - _apiScopeRepository = apiScopeRepository; - } - - public async Task BuildAsync() - { - await AddApiResources(); - await AddApiScopes(); - await AddIdentityResources(); - await AddClients(); - await AddPersistentGrants(); - } - - private async Task AddApiResources() - { - var apiResource = new ApiResource(_guidGenerator.Create(), "Test-ApiResource-Name-1") - { - Enabled = true, - Description = "Test-ApiResource-Description-1", - DisplayName = "Test-ApiResource-DisplayName-1" - }; - - apiResource.AddSecret("secret".Sha256()); - apiResource.AddScope("Test-ApiResource-ApiScope-Name-1"); - apiResource.AddScope("Test-ApiResource-ApiScope-DisplayName-1"); - apiResource.AddUserClaim("Test-ApiResource-Claim-Type-1"); - - await _apiResourceRepository.InsertAsync(apiResource); - } - - private async Task AddApiScopes() - { - var apiScope = new ApiScope(_guidGenerator.Create(), "Test-ApiScope-Name-1"); - - apiScope.AddUserClaim("Test-ApiScope-Claim-Type-1"); - await _apiScopeRepository.InsertAsync(apiScope); - } - - private async Task AddIdentityResources() - { - var identityResource = new IdentityResource(_guidGenerator.Create(), "Test-Identity-Resource-Name-1") - { - Description = "Test-Identity-Resource-Description-1", - DisplayName = "Test-Identity-Resource-DisplayName-1", - Required = true, - Emphasize = true - }; - - identityResource.AddUserClaim("Test-Identity-Resource-1-IdentityClaim-Type-1"); - - await _identityResourceRepository.InsertAsync(identityResource); - } - - private async Task AddClients() - { - var client42 = new Client(_guidGenerator.Create(), "42") - { - ProtocolType = "TestProtocol-42" - }; - - client42.AddCorsOrigin("Origin1"); - - client42.AddScope("Test-ApiScope-Name-1"); - - await _clientRepository.InsertAsync(client42); - } - - private async Task AddPersistentGrants() - { - await _persistentGrantRepository.InsertAsync(new PersistedGrant(_guidGenerator.Create()) - { - Key = "38", - ClientId = "TestClientId-38", - Type = "TestType-38", - SubjectId = "TestSubject", - Data = "TestData-38" - }); - - await _persistentGrantRepository.InsertAsync(new PersistedGrant(_guidGenerator.Create()) - { - Key = "37", - ClientId = "TestClientId-37", - Type = "TestType-37", - SubjectId = "TestSubject", - Data = "TestData-37" - }); - - await _persistentGrantRepository.InsertAsync(new PersistedGrant(_guidGenerator.Create()) - { - Key = "36", - ClientId = "TestClientId-X", - Type = "TestType-36", - SubjectId = "TestSubject-X", - Data = "TestData-36" - }); - - await _persistentGrantRepository.InsertAsync(new PersistedGrant(_guidGenerator.Create()) - { - Key = "35", - ClientId = "TestClientId-X", - Type = "TestType-35", - SubjectId = "TestSubject-X", - Data = "TestData-35" - }); - } - - } -} diff --git a/modules/identityserver/test/Volo.Abp.IdentityServer.EntityFrameworkCore.Tests/Volo/Abp/IdentityServer/AbpIdentityServerTestEntityFrameworkCoreModule.cs b/modules/identityserver/test/Volo.Abp.IdentityServer.EntityFrameworkCore.Tests/Volo/Abp/IdentityServer/AbpIdentityServerTestEntityFrameworkCoreModule.cs index 5abc8ad2a2..0c3dd27e53 100644 --- a/modules/identityserver/test/Volo.Abp.IdentityServer.EntityFrameworkCore.Tests/Volo/Abp/IdentityServer/AbpIdentityServerTestEntityFrameworkCoreModule.cs +++ b/modules/identityserver/test/Volo.Abp.IdentityServer.EntityFrameworkCore.Tests/Volo/Abp/IdentityServer/AbpIdentityServerTestEntityFrameworkCoreModule.cs @@ -1,4 +1,4 @@ -using Microsoft.Data.Sqlite; +using Microsoft.Data.Sqlite; using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore.Infrastructure; using Microsoft.EntityFrameworkCore.Storage; @@ -33,11 +33,6 @@ namespace Volo.Abp.IdentityServer }); } - public override void OnApplicationInitialization(ApplicationInitializationContext context) - { - SeedTestData(context); - } - private static SqliteConnection CreateDatabaseAndGetConnection() { var connection = new SqliteConnection("Data Source=:memory:"); @@ -53,15 +48,5 @@ namespace Volo.Abp.IdentityServer return connection; } - - private static void SeedTestData(ApplicationInitializationContext context) - { - using (var scope = context.ServiceProvider.CreateScope()) - { - AsyncHelper.RunSync(() => scope.ServiceProvider - .GetRequiredService() - .BuildAsync()); - } - } } -} \ No newline at end of file +} diff --git a/modules/identityserver/test/Volo.Abp.IdentityServer.TestBase/Volo/Abp/IdentityServer/AbpIdentityServerTestDataBuilder.cs b/modules/identityserver/test/Volo.Abp.IdentityServer.TestBase/Volo/Abp/IdentityServer/AbpIdentityServerTestDataBuilder.cs index 436bef1246..721caa1a7f 100644 --- a/modules/identityserver/test/Volo.Abp.IdentityServer.TestBase/Volo/Abp/IdentityServer/AbpIdentityServerTestDataBuilder.cs +++ b/modules/identityserver/test/Volo.Abp.IdentityServer.TestBase/Volo/Abp/IdentityServer/AbpIdentityServerTestDataBuilder.cs @@ -1,5 +1,4 @@ using System; -using System.Collections.Generic; using System.Threading.Tasks; using Volo.Abp.DependencyInjection; using Volo.Abp.Guids; @@ -11,6 +10,13 @@ using Volo.Abp.IdentityServer.Devices; using Volo.Abp.IdentityServer.Grants; using Volo.Abp.IdentityServer.IdentityResources; using Volo.Abp.Timing; +using IdentityServer4.Models; +using ApiResource = Volo.Abp.IdentityServer.ApiResources.ApiResource; +using ApiScope = Volo.Abp.IdentityServer.ApiScopes.ApiScope; +using Client = Volo.Abp.IdentityServer.Clients.Client; +using ClientClaim = Volo.Abp.IdentityServer.Clients.ClientClaim; +using IdentityResource = Volo.Abp.IdentityServer.IdentityResources.IdentityResource; +using PersistedGrant = Volo.Abp.IdentityServer.Grants.PersistedGrant; namespace Volo.Abp.IdentityServer { @@ -18,6 +24,7 @@ namespace Volo.Abp.IdentityServer { private readonly IGuidGenerator _guidGenerator; private readonly IApiResourceRepository _apiResourceRepository; + private readonly IApiScopeRepository _apiScopeRepository; private readonly IClientRepository _clientRepository; private readonly IIdentityResourceRepository _identityResourceRepository; private readonly IIdentityClaimTypeRepository _identityClaimTypeRepository; @@ -29,6 +36,7 @@ namespace Volo.Abp.IdentityServer public AbpIdentityServerTestDataBuilder( IGuidGenerator guidGenerator, IApiResourceRepository apiResourceRepository, + IApiScopeRepository apiScopeRepository, IClientRepository clientRepository, IIdentityResourceRepository identityResourceRepository, IIdentityClaimTypeRepository identityClaimTypeRepository, @@ -40,125 +48,91 @@ namespace Volo.Abp.IdentityServer _testData = testData; _guidGenerator = guidGenerator; _apiResourceRepository = apiResourceRepository; + _apiScopeRepository = apiScopeRepository; _clientRepository = clientRepository; _identityResourceRepository = identityResourceRepository; _identityClaimTypeRepository = identityClaimTypeRepository; _persistentGrantRepository = persistentGrantRepository; - _clock = clock; _deviceFlowCodesRepository = deviceFlowCodesRepository; + _clock = clock; } public async Task BuildAsync() { - await AddDeviceFlowCodes(); - await AddPersistedGrants(); - await AddIdentityResources(); + await AddApiScopes(); await AddApiResources(); + await AddIdentityResources(); await AddClients(); + await AddPersistentGrants(); + await AddDeviceFlowCodes(); + await AddPersistedGrants(); await AddClaimTypes(); } - private async Task AddDeviceFlowCodes() + private async Task AddApiScopes() { - await _deviceFlowCodesRepository.InsertAsync( - new DeviceFlowCodes(_guidGenerator.Create()) - { - ClientId = "c1", - DeviceCode = "DeviceCode1", - Expiration = _clock.Now.AddDays(1), - Data = "{\"Lifetime\":\"42\"}", - UserCode = "DeviceFlowCodesUserCode1", - SubjectId = "DeviceFlowCodesSubjectId1" - } - ); - - await _deviceFlowCodesRepository.InsertAsync( - new DeviceFlowCodes(_guidGenerator.Create()) - { - ClientId = "c1", - DeviceCode = "DeviceCode2", - Expiration = _clock.Now.AddDays(-1), - Data = "", - UserCode = "DeviceFlowCodesUserCode2", - SubjectId = "DeviceFlowCodesSubjectId2" - } - ); + var apiScope = new ApiScope(_guidGenerator.Create(), "Test-ApiScope-Name-1"); + apiScope.AddUserClaim("Test-ApiScope-Claim-Type-1"); + await _apiScopeRepository.InsertAsync(apiScope); } - private async Task AddPersistedGrants() + private async Task AddApiResources() { - await _persistentGrantRepository.InsertAsync(new PersistedGrant(_guidGenerator.Create()) - { - Key = "PersistedGrantKey1", - SubjectId = "PersistedGrantSubjectId1", - SessionId = "PersistedGrantSessionId1", - ClientId = "PersistedGrantClientId1", - Type = "PersistedGrantType1", - Data = "" - }); + var apiResource = new ApiResource(_testData.ApiResource1Id, "NewApiResource1"); + apiResource.Description = nameof(apiResource.Description); + apiResource.DisplayName = nameof(apiResource.DisplayName); - await _persistentGrantRepository.InsertAsync(new PersistedGrant(_guidGenerator.Create()) - { - Key = "PersistedGrantKey2", - SubjectId = "PersistedGrantSubjectId2", - ClientId = "c1", - Type = "c1type", - Data = "" - }); + apiResource.AddScope(nameof(ApiResourceScope.Scope)); + apiResource.AddUserClaim(nameof(ApiResourceClaim.Type)); + apiResource.AddSecret(nameof(ApiResourceSecret.Value)); - await _persistentGrantRepository.InsertAsync(new PersistedGrant(_guidGenerator.Create()) - { - Key = "PersistedGrantKey3", - SubjectId = "PersistedGrantSubjectId3", - ClientId = "c1", - Type = "c1type", - Data = "", - Expiration = _clock.Now.AddDays(1), - }); + await _apiResourceRepository.InsertAsync(apiResource); + await _apiResourceRepository.InsertAsync(new ApiResource(_guidGenerator.Create(), "NewApiResource2")); + await _apiResourceRepository.InsertAsync(new ApiResource(_guidGenerator.Create(), "NewApiResource3")); - await _persistentGrantRepository.InsertAsync(new PersistedGrant(_guidGenerator.Create()) + var apiResource2 = new ApiResource(_guidGenerator.Create(), "Test-ApiResource-Name-1") { - Key = "PersistedGrantKey_Expired1", - SubjectId = "PersistedGrantSubjectId_Expired1", - ClientId = "c1", - Type = "c1type", - Data = "", - Expiration = _clock.Now.AddDays(-1) - }); + Enabled = true, + Description = "Test-ApiResource-Description-1", + DisplayName = "Test-ApiResource-DisplayName-1" + }; + + apiResource2.AddSecret("secret".Sha256()); + apiResource2.AddScope("Test-ApiResource-ApiScope-Name-1"); + apiResource2.AddScope("Test-ApiResource-ApiScope-DisplayName-1"); + apiResource2.AddUserClaim("Test-ApiResource-Claim-Type-1"); + + await _apiResourceRepository.InsertAsync(apiResource2); } private async Task AddIdentityResources() { - var identityResource = new IdentityResource(_testData.IdentityResource1Id, "NewIdentityResource1") + var identityResource1 = new IdentityResource(_testData.IdentityResource1Id, "NewIdentityResource1") { Description = nameof(Client.Description), DisplayName = nameof(IdentityResource.DisplayName) }; - identityResource.AddUserClaim(nameof(ApiResourceClaim.Type)); + identityResource1.AddUserClaim(nameof(ApiResourceClaim.Type)); - await _identityResourceRepository.InsertAsync(identityResource); + await _identityResourceRepository.InsertAsync(identityResource1); await _identityResourceRepository.InsertAsync(new IdentityResource(_guidGenerator.Create(), "NewIdentityResource2")); await _identityResourceRepository.InsertAsync(new IdentityResource(_guidGenerator.Create(), "NewIdentityResource3")); - } - private async Task AddApiResources() - { - var apiResource = new ApiResource(_testData.ApiResource1Id, "NewApiResource1"); - apiResource.Description = nameof(apiResource.Description); - apiResource.DisplayName = nameof(apiResource.DisplayName); - - apiResource.AddScope(nameof(ApiResourceScope.Scope)); - apiResource.AddUserClaim(nameof(ApiResourceClaim.Type)); - apiResource.AddSecret(nameof(ApiResourceSecret.Value)); + var identityResource2 = new IdentityResource(_guidGenerator.Create(), "Test-Identity-Resource-Name-1") + { + Description = "Test-Identity-Resource-Description-1", + DisplayName = "Test-Identity-Resource-DisplayName-1", + Required = true, + Emphasize = true + }; - await _apiResourceRepository.InsertAsync(apiResource); - await _apiResourceRepository.InsertAsync(new ApiResource(_guidGenerator.Create(), "NewApiResource2")); - await _apiResourceRepository.InsertAsync(new ApiResource(_guidGenerator.Create(), "NewApiResource3")); + identityResource2.AddUserClaim("Test-Identity-Resource-1-IdentityClaim-Type-1"); + await _identityResourceRepository.InsertAsync(identityResource2); } - private async Task AddClients() + private async Task AddClients() { var client = new Client(_testData.Client1Id, "ClientId1") { @@ -184,6 +158,125 @@ namespace Volo.Abp.IdentityServer await _clientRepository.InsertAsync(new Client(_guidGenerator.Create(), "ClientId2")); await _clientRepository.InsertAsync(new Client(_guidGenerator.Create(), "ClientId3")); + + + var client42 = new Client(_guidGenerator.Create(), "42") + { + ProtocolType = "TestProtocol-42" + }; + + client42.AddCorsOrigin("Origin1"); + client42.AddScope("Test-ApiScope-Name-1"); + await _clientRepository.InsertAsync(client42); + } + + private async Task AddPersistentGrants() + { + await _persistentGrantRepository.InsertAsync(new PersistedGrant(_guidGenerator.Create()) + { + Key = "38", + ClientId = "TestClientId-38", + Type = "TestType-38", + SubjectId = "TestSubject", + Data = "TestData-38" + }); + + await _persistentGrantRepository.InsertAsync(new PersistedGrant(_guidGenerator.Create()) + { + Key = "37", + ClientId = "TestClientId-37", + Type = "TestType-37", + SubjectId = "TestSubject", + Data = "TestData-37" + }); + + await _persistentGrantRepository.InsertAsync(new PersistedGrant(_guidGenerator.Create()) + { + Key = "36", + ClientId = "TestClientId-X", + Type = "TestType-36", + SubjectId = "TestSubject-X", + Data = "TestData-36" + }); + + await _persistentGrantRepository.InsertAsync(new PersistedGrant(_guidGenerator.Create()) + { + Key = "35", + ClientId = "TestClientId-X", + Type = "TestType-35", + SubjectId = "TestSubject-X", + Data = "TestData-35" + }); + } + + private async Task AddPersistedGrants() + { + await _persistentGrantRepository.InsertAsync(new PersistedGrant(_guidGenerator.Create()) + { + Key = "PersistedGrantKey1", + SubjectId = "PersistedGrantSubjectId1", + SessionId = "PersistedGrantSessionId1", + ClientId = "PersistedGrantClientId1", + Type = "PersistedGrantType1", + Data = "" + }); + + await _persistentGrantRepository.InsertAsync(new PersistedGrant(_guidGenerator.Create()) + { + Key = "PersistedGrantKey2", + SubjectId = "PersistedGrantSubjectId2", + ClientId = "c1", + Type = "c1type", + Data = "" + }); + + await _persistentGrantRepository.InsertAsync(new PersistedGrant(_guidGenerator.Create()) + { + Key = "PersistedGrantKey3", + SubjectId = "PersistedGrantSubjectId3", + ClientId = "c1", + Type = "c1type", + Data = "", + Expiration = _clock.Now.AddDays(1), + }); + + await _persistentGrantRepository.InsertAsync(new PersistedGrant(_guidGenerator.Create()) + { + Key = "PersistedGrantKey_Expired1", + SubjectId = "PersistedGrantSubjectId_Expired1", + ClientId = "c1", + Type = "c1type", + Data = "", + Expiration = _clock.Now.AddDays(-1) + }); + } + + private async Task AddDeviceFlowCodes() + { + await _deviceFlowCodesRepository.InsertAsync( + new DeviceFlowCodes(_guidGenerator.Create()) + { + ClientId = "c1", + DeviceCode = "DeviceCode1", + Expiration = _clock.Now.AddDays(1), + Data = "{\"Lifetime\":\"42\"}", + UserCode = "DeviceFlowCodesUserCode1", + SubjectId = "DeviceFlowCodesSubjectId1" + } + ); + + await _deviceFlowCodesRepository.InsertAsync( + new DeviceFlowCodes(_guidGenerator.Create()) + { + ClientId = "c1", + DeviceCode = "DeviceCode2", + Expiration = _clock.Now.AddDays(-1), + Data = "", + UserCode = "DeviceFlowCodesUserCode2", + SubjectId = "DeviceFlowCodesSubjectId2" + } + ); + } private async Task AddClaimTypes() From 078dc42c39e9377e3a6ebd673183912b5700e6d5 Mon Sep 17 00:00:00 2001 From: Yunus Emre Kalkan Date: Fri, 22 Jan 2021 13:24:41 +0300 Subject: [PATCH 099/217] fix DatabaseManagementSystem.SQLite default connection string --- .../Volo/Abp/Cli/Commands/Services/ConnectionStringProvider.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 82926df1b3..32e09b3339 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 @@ -21,7 +21,7 @@ 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,"database\\MyProjectName.db")};Version=3;"; + return $"Data Source={Path.Combine(outputFolder , "MyProjectName.db")};".Replace("\\", "\\\\"); default: return null; } From 3e8f0fdf5dc6198042632391ec307a89f5e4914b Mon Sep 17 00:00:00 2001 From: enisn Date: Fri, 22 Jan 2021 14:56:12 +0300 Subject: [PATCH 100/217] CmsKit - Refactor ContentAdminController --- .../Volo/CmsKit/Admin/Contents/IContentAdminAppService.cs | 2 +- .../Volo/CmsKit/Admin/Contents/ContentAdminAppService.cs | 2 +- .../Volo/CmsKit/Admin/Contents/ContentAdminController.cs | 4 ++-- .../Contents/ContentAdminAppService_Tests.cs | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Contents/IContentAdminAppService.cs b/modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Contents/IContentAdminAppService.cs index fb5bf48349..52bd07aa86 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Contents/IContentAdminAppService.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Contents/IContentAdminAppService.cs @@ -14,6 +14,6 @@ namespace Volo.CmsKit.Admin.Contents ContentCreateDto, ContentUpdateDto> { - Task GetByEntityAsync(string entityType, string entityId); + Task GetAsync(string entityType, string entityId); } } diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/Contents/ContentAdminAppService.cs b/modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/Contents/ContentAdminAppService.cs index b1008f0086..300cf31181 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/Contents/ContentAdminAppService.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/Contents/ContentAdminAppService.cs @@ -57,7 +57,7 @@ namespace Volo.CmsKit.Admin.Contents return MapToGetOutputDto(entity); } - public async Task GetByEntityAsync( + public async Task GetAsync( [NotNull] string entityType, [NotNull] string entityId) { diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.HttpApi/Volo/CmsKit/Admin/Contents/ContentAdminController.cs b/modules/cms-kit/src/Volo.CmsKit.Admin.HttpApi/Volo/CmsKit/Admin/Contents/ContentAdminController.cs index fa766a5cfb..4e3a56a8e2 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Admin.HttpApi/Volo/CmsKit/Admin/Contents/ContentAdminController.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Admin.HttpApi/Volo/CmsKit/Admin/Contents/ContentAdminController.cs @@ -63,9 +63,9 @@ namespace Volo.CmsKit.Admin.Contents [HttpGet] [Route("{entityType}/{entityId}")] [Authorize(CmsKitAdminPermissions.Contents.Default)] - public Task GetByEntityAsync(string entityType, string entityId) + public Task GetAsync(string entityType, string entityId) { - return ContentAdminAppService.GetByEntityAsync(entityType, entityId); + return ContentAdminAppService.GetAsync(entityType, entityId); } } } diff --git a/modules/cms-kit/test/Volo.CmsKit.Application.Tests/Contents/ContentAdminAppService_Tests.cs b/modules/cms-kit/test/Volo.CmsKit.Application.Tests/Contents/ContentAdminAppService_Tests.cs index 1263014d83..5c7e5969f1 100644 --- a/modules/cms-kit/test/Volo.CmsKit.Application.Tests/Contents/ContentAdminAppService_Tests.cs +++ b/modules/cms-kit/test/Volo.CmsKit.Application.Tests/Contents/ContentAdminAppService_Tests.cs @@ -132,7 +132,7 @@ namespace Volo.CmsKit.Contents [Fact] public async Task ShouldGetByEntityAsync() { - var entity = await _service.GetByEntityAsync(_data.Content_1_EntityType, _data.Content_1_EntityId); + var entity = await _service.GetAsync(_data.Content_1_EntityType, _data.Content_1_EntityId); entity.ShouldNotBeNull(); entity.EntityId.ShouldBe(_data.Content_1_EntityId); From 85e5c325254933104e3fcca51413e50c21b3b0e5 Mon Sep 17 00:00:00 2001 From: enisn Date: Fri, 22 Jan 2021 16:26:28 +0300 Subject: [PATCH 101/217] CmsKit - Handle nullability of TagDefinition DisplayName --- .../Volo/CmsKit/Admin/Tags/TagAdminAppService.cs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/Tags/TagAdminAppService.cs b/modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/Tags/TagAdminAppService.cs index 54e2a7a530..eccdaf82c0 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/Tags/TagAdminAppService.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/Tags/TagAdminAppService.cs @@ -78,7 +78,9 @@ namespace Volo.CmsKit.Admin.Tags return definitions .Select(s => - new TagDefinitionDto(s.EntityType, s.DisplayName.Localize(StringLocalizerFactory))) + new TagDefinitionDto( + s.EntityType, + s.DisplayName?.Localize(StringLocalizerFactory) ?? s.EntityType)) .ToList(); } } From c67b325d942ba34f0cf6b74bc768fd1bec161a7a Mon Sep 17 00:00:00 2001 From: enisn Date: Fri, 22 Jan 2021 16:31:34 +0300 Subject: [PATCH 102/217] CmsKit - Inherit PageDto from AuditedEntityDto --- .../Volo/CmsKit/Admin/Pages/PageDto.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Pages/PageDto.cs b/modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Pages/PageDto.cs index e8750ce07b..3aebb76b51 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Pages/PageDto.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Pages/PageDto.cs @@ -3,7 +3,7 @@ using Volo.Abp.Application.Dtos; namespace Volo.CmsKit.Admin.Pages { - public class PageDto : EntityDto + public class PageDto : AuditedEntityDto { public string Title { get; set; } From 9fdd3b5f7b14a1b9ee89f76fa047bb9ffc31d32c Mon Sep 17 00:00:00 2001 From: enisn Date: Fri, 22 Jan 2021 16:58:11 +0300 Subject: [PATCH 103/217] CmsKit - Make protected TagEntityTypeDefiniton parameterless constructor --- .../{TagEntityTypeDefiniton1.cs => TagEntityTypeDefiniton.cs} | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) rename modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Tags/{TagEntityTypeDefiniton1.cs => TagEntityTypeDefiniton.cs} (95%) diff --git a/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Tags/TagEntityTypeDefiniton1.cs b/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Tags/TagEntityTypeDefiniton.cs similarity index 95% rename from modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Tags/TagEntityTypeDefiniton1.cs rename to modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Tags/TagEntityTypeDefiniton.cs index 1193f5e68e..fee8815b97 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Tags/TagEntityTypeDefiniton1.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Tags/TagEntityTypeDefiniton.cs @@ -12,7 +12,7 @@ namespace Volo.CmsKit.Tags [CanBeNull] public virtual ILocalizableString DisplayName { get; } - public TagEntityTypeDefiniton() + protected TagEntityTypeDefiniton() { } From 4d868450ab0227104b5b85886398b6f8b7084662 Mon Sep 17 00:00:00 2001 From: Mehmet Erim <34455572+mehmet-erim@users.noreply.github.com> Date: Sat, 23 Jan 2021 14:16:15 +0300 Subject: [PATCH 104/217] Update POST.md --- .../POST.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/en/Community-Articles/2021-01-20-How-to-Use-PrimeNG-Components-with-the-ABP-Angular-UI/POST.md b/docs/en/Community-Articles/2021-01-20-How-to-Use-PrimeNG-Components-with-the-ABP-Angular-UI/POST.md index 245a553e72..7a854291d5 100644 --- a/docs/en/Community-Articles/2021-01-20-How-to-Use-PrimeNG-Components-with-the-ABP-Angular-UI/POST.md +++ b/docs/en/Community-Articles/2021-01-20-How-to-Use-PrimeNG-Components-with-the-ABP-Angular-UI/POST.md @@ -106,7 +106,7 @@ Run the following command to create a new module named `OrganizationUnits`: npm run ng -- generate module organization-units --route organization-units --module app.module ``` -Then open the `src/route.provider.ts` and add a new route as an array element to add the organization units navigation link to the menu: +Then open the `src/route.provider.ts` and add a new route as an array element to add a navigation link labeled "Organization Units" to the menu: ```js //route.provider.ts From 7a0f140eab10fba286f461334a323e15f1658982 Mon Sep 17 00:00:00 2001 From: maliming Date: Mon, 25 Jan 2021 17:59:18 +0800 Subject: [PATCH 105/217] Add ApiResourceProperty - KeyValuePair map config. Resolve #7373 --- .../Abp/IdentityServer/IdentityServerAutoMapperProfile.cs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/modules/identityserver/src/Volo.Abp.IdentityServer.Domain/Volo/Abp/IdentityServer/IdentityServerAutoMapperProfile.cs b/modules/identityserver/src/Volo.Abp.IdentityServer.Domain/Volo/Abp/IdentityServer/IdentityServerAutoMapperProfile.cs index af155190f3..697050e292 100644 --- a/modules/identityserver/src/Volo.Abp.IdentityServer.Domain/Volo/Abp/IdentityServer/IdentityServerAutoMapperProfile.cs +++ b/modules/identityserver/src/Volo.Abp.IdentityServer.Domain/Volo/Abp/IdentityServer/IdentityServerAutoMapperProfile.cs @@ -88,7 +88,6 @@ namespace Volo.Abp.IdentityServer .ForMember(dest => dest.Type, opt => opt.Condition(srs => srs != null)) .ReverseMap(); - CreateMap(); CreateMap(); } @@ -104,6 +103,9 @@ namespace Volo.Abp.IdentityServer .ReverseMap() .ForMember(dest => dest.Scope, opt => opt.MapFrom(src => src)); + CreateMap>() + .ReverseMap(); + CreateMap(); } From e07056dbe4b77ba3fd16566124795e568335baf2 Mon Sep 17 00:00:00 2001 From: mehmet-erim Date: Mon, 25 Jan 2021 13:28:27 +0300 Subject: [PATCH 106/217] update angular version of templates to latest --- npm/ng-packs/package.json | 30 +- npm/ng-packs/yarn.lock | 1475 ++++++++++++++----------- templates/app/angular/package.json | 30 +- templates/module/angular/package.json | 28 +- 4 files changed, 868 insertions(+), 695 deletions(-) diff --git a/npm/ng-packs/package.json b/npm/ng-packs/package.json index 560d4d2937..394cdac655 100644 --- a/npm/ng-packs/package.json +++ b/npm/ng-packs/package.json @@ -37,21 +37,21 @@ "@abp/ng.theme.shared": "~4.2.0-rc.2", "@abp/utils": "^4.2.0-rc.2", "@angular-builders/jest": "^10.0.0", - "@angular-devkit/build-angular": "~0.1100.0", + "@angular-devkit/build-angular": "~0.1101.0", "@angular-devkit/build-ng-packagr": "~0.1001.2", "@angular-devkit/schematics-cli": "^0.1001.1", - "@angular/animations": "~11.0.0", - "@angular/cli": "~11.0.0", - "@angular/common": "~11.0.0", - "@angular/compiler": "11.0.0", - "@angular/compiler-cli": "11.0.0", - "@angular/core": "~11.0.0", - "@angular/forms": "~11.0.0", - "@angular/language-service": "~11.0.0", - "@angular/localize": "~11.0.0", - "@angular/platform-browser": "~11.0.0", - "@angular/platform-browser-dynamic": "~11.0.0", - "@angular/router": "~11.0.0", + "@angular/animations": "~11.1.0", + "@angular/cli": "~11.1.0", + "@angular/common": "~11.1.0", + "@angular/compiler": "11.1.0", + "@angular/compiler-cli": "11.1.0", + "@angular/core": "~11.1.0", + "@angular/forms": "~11.1.0", + "@angular/language-service": "~11.1.0", + "@angular/localize": "~11.1.0", + "@angular/platform-browser": "~11.1.0", + "@angular/platform-browser-dynamic": "~11.1.0", + "@angular/router": "~11.1.0", "@fortawesome/fontawesome-free": "^5.14.0", "@ng-bootstrap/ng-bootstrap": "^7.0.0", "@ngneat/inspector": "^1.0.0", @@ -91,7 +91,7 @@ "ts-toolbelt": "6.15.4", "tsickle": "^0.39.1", "tslint": "~6.1.0", - "typescript": "~4.0.3", + "typescript": "~4.1.3", "zone.js": "~0.10.2" }, "dependencies": { @@ -102,4 +102,4 @@ "path": "cz-conventional-changelog" } } -} +} \ No newline at end of file diff --git a/npm/ng-packs/yarn.lock b/npm/ng-packs/yarn.lock index 94635e72ca..c87d4f36e2 100644 --- a/npm/ng-packs/yarn.lock +++ b/npm/ng-packs/yarn.lock @@ -2,12 +2,12 @@ # yarn lockfile v1 -"@abp/ng.core@~4.2.0-rc.1": - version "4.2.0-rc.1" - resolved "https://registry.yarnpkg.com/@abp/ng.core/-/ng.core-4.2.0-rc.1.tgz#14bb772ea184153c5cb3fe0da538ff921892330a" - integrity sha512-2qyoGaU+eKwULenCG3sEhlztxA1vhECCs1gkGzsxIpZquFQCSdpRGAZNM4EUbLpBASXAYU/CGDWBgqYIIK/8Kw== +"@abp/ng.core@~4.2.0-rc.2": + version "4.2.0-rc.2" + resolved "https://registry.yarnpkg.com/@abp/ng.core/-/ng.core-4.2.0-rc.2.tgz#d5ae888cd6beba0ab7cc92a9759e8f3b4095f5dc" + integrity sha512-uPsxulybSdGyBpR08d9XR3i/YdG/ILvo1Gzyz2wTOG/gay12hh/p83S50kWeBuPkh8uOiT3ezO9BY/GPVrRI+Q== dependencies: - "@abp/utils" "^4.1.1" + "@abp/utils" "^4.2.0-rc.1" "@angular/localize" "~10.0.10" "@ngxs/store" "^3.7.0" angular-oauth2-oidc "^10.0.0" @@ -17,35 +17,35 @@ ts-toolbelt "6.15.4" tslib "^2.0.0" -"@abp/ng.feature-management@~4.2.0-rc.1": - version "4.2.0-rc.1" - resolved "https://registry.yarnpkg.com/@abp/ng.feature-management/-/ng.feature-management-4.2.0-rc.1.tgz#08f85b70ea4d57e92a1e011e88cf1be8e6592c36" - integrity sha512-exZyx28Njt7x+70n1Okk8CGCAQf479TGWziMnZ6HaOoDTFxcDnk0jT62aO3AALMFr2cUmGUxxyWFo4Tan2CwDA== +"@abp/ng.feature-management@~4.2.0-rc.2": + version "4.2.0-rc.2" + resolved "https://registry.yarnpkg.com/@abp/ng.feature-management/-/ng.feature-management-4.2.0-rc.2.tgz#c0273a07f73d95e7133ec90c1facd5de51121430" + integrity sha512-sGQfh0plQGtm3qCGYs1qmCtWt2EOwVgRyUcNd2ipzorH55S5/dX7or9dYKZofPz7GF55FohbfpxBqnKnBo0WOQ== dependencies: - "@abp/ng.theme.shared" "~4.2.0-rc.1" + "@abp/ng.theme.shared" "~4.2.0-rc.2" tslib "^2.0.0" -"@abp/ng.identity@~4.2.0-rc.1": - version "4.2.0-rc.1" - resolved "https://registry.yarnpkg.com/@abp/ng.identity/-/ng.identity-4.2.0-rc.1.tgz#9fdbafb53918ff36e64e1fbb685098b40e55acfd" - integrity sha512-/ftw1z6mEnmg//lWUns8r7GLVFBbRKvZX9sJ9gProwR/E6fnRuifv/q0p4Nsq+eOgudnQb/RlVg1JyTIDBt6YA== +"@abp/ng.identity@~4.2.0-rc.2": + version "4.2.0-rc.2" + resolved "https://registry.yarnpkg.com/@abp/ng.identity/-/ng.identity-4.2.0-rc.2.tgz#fe20f05b60980561218f8357df55c00d85af8eb2" + integrity sha512-zrY5oPhDq8lPcvDvxYM/hS5CtRj71Zlu04Slz4f+ljlStWHBOBZx1VVBl4OQvbDGxDGC04Pf2Sj3PtppEU28gw== dependencies: - "@abp/ng.permission-management" "~4.2.0-rc.1" - "@abp/ng.theme.shared" "~4.2.0-rc.1" + "@abp/ng.permission-management" "~4.2.0-rc.2" + "@abp/ng.theme.shared" "~4.2.0-rc.2" tslib "^2.0.0" -"@abp/ng.permission-management@~4.2.0-rc.1": - version "4.2.0-rc.1" - resolved "https://registry.yarnpkg.com/@abp/ng.permission-management/-/ng.permission-management-4.2.0-rc.1.tgz#f4aaf505056d0238681ea32b6c7079a019120b39" - integrity sha512-9w3FZ4ztvoXRAT9FdhIYUnpXmvagDDPk9X9xKNT8Md5TX4ivynSs3pBHC2baqhR1Xc2FHHEbfVjN+FFMmDQRlg== +"@abp/ng.permission-management@~4.2.0-rc.2": + version "4.2.0-rc.2" + resolved "https://registry.yarnpkg.com/@abp/ng.permission-management/-/ng.permission-management-4.2.0-rc.2.tgz#771285283bf3c82dcdd6a07ef444ada73b918d4a" + integrity sha512-FSMSiXGhalTMZIJzQCS6fYRdFH2eVmk73aPeFn1NnMxNdhzCXfbsHpX/lVes+UMw7CddEEgriv0GQYi8dYMnDw== dependencies: - "@abp/ng.theme.shared" "~4.2.0-rc.1" + "@abp/ng.theme.shared" "~4.2.0-rc.2" tslib "^2.0.0" -"@abp/ng.schematics@~4.2.0-rc.1": - version "4.2.0-rc.1" - resolved "https://registry.yarnpkg.com/@abp/ng.schematics/-/ng.schematics-4.2.0-rc.1.tgz#b62dcc2bd65e05810b46d40e46c4b871ed729196" - integrity sha512-2vcMuyxVziZDaFQbz1/DhaIErv6yVJMZILVOzbk1zCgIFtvoXIY/+XkHfChzUAeFkEe/rKGdZsXIG6LHsg7RuQ== +"@abp/ng.schematics@~4.2.0-rc.2": + version "4.2.0-rc.2" + resolved "https://registry.yarnpkg.com/@abp/ng.schematics/-/ng.schematics-4.2.0-rc.2.tgz#93774148f57964c72498fa060c04eb99f6c3987d" + integrity sha512-Ul/+nPTnGpNhi0NMfeYY9fDnsTVzVxP4iSIdqXevPxugeY6pqCefC84i0XHdkVsxIi1UR7VP84tqE9SCv7KnCw== dependencies: "@angular-devkit/core" "~11.0.2" "@angular-devkit/schematics" "~11.0.2" @@ -53,37 +53,37 @@ jsonc-parser "^2.3.0" typescript "~3.9.2" -"@abp/ng.setting-management@~4.2.0-rc.1": - version "4.2.0-rc.1" - resolved "https://registry.yarnpkg.com/@abp/ng.setting-management/-/ng.setting-management-4.2.0-rc.1.tgz#74f9577193554997a47fef8c0f4e4d4b3228f6dc" - integrity sha512-T18tkvyIsER22fGWh0KRmxobhuFxuxbDB8vroV0k0/Zd4ULDrTuSoKXgWa/TiHe7RuO/tWKv0EEf/T4xaiWBGw== +"@abp/ng.setting-management@~4.2.0-rc.2": + version "4.2.0-rc.2" + resolved "https://registry.yarnpkg.com/@abp/ng.setting-management/-/ng.setting-management-4.2.0-rc.2.tgz#a7c5bb30e881f8efe702fcc8f3b95bf442b0289a" + integrity sha512-5sOk19EzFBIIdeTAx6EEmgh2pYOj5oRXq6uuAOmGVzZiX7arFoyqvTR4OAypIBQdMlZ0Iv4EApvJLD6/1IIrqw== dependencies: - "@abp/ng.theme.shared" "~4.2.0-rc.1" + "@abp/ng.theme.shared" "~4.2.0-rc.2" tslib "^2.0.0" -"@abp/ng.tenant-management@~4.2.0-rc.1": - version "4.2.0-rc.1" - resolved "https://registry.yarnpkg.com/@abp/ng.tenant-management/-/ng.tenant-management-4.2.0-rc.1.tgz#94b8a0ff7987b8e7602be310b3f91742e1d6b0e8" - integrity sha512-SO3cxFCY6p0i/BywlHoAFeMEtJ0w9Q61jqW/1T8jQR8HDXNDeMeHdiUsAzjv9ILggy7OPFmGZQ8pcniwK3IQpQ== +"@abp/ng.tenant-management@~4.2.0-rc.2": + version "4.2.0-rc.2" + resolved "https://registry.yarnpkg.com/@abp/ng.tenant-management/-/ng.tenant-management-4.2.0-rc.2.tgz#dc5c019f16ac679589dbeac85317628ec6682096" + integrity sha512-O2Lb0Fe+L11yC69DAcgX4hY6KwI9ojaDnPTFxGtvvTjaUVKnxxchQrJwP0ITsudZe5cWKbF7cME3b3uH4jorBA== dependencies: - "@abp/ng.feature-management" "~4.2.0-rc.1" - "@abp/ng.theme.shared" "~4.2.0-rc.1" + "@abp/ng.feature-management" "~4.2.0-rc.2" + "@abp/ng.theme.shared" "~4.2.0-rc.2" tslib "^2.0.0" -"@abp/ng.theme.basic@~4.2.0-rc.1": - version "4.2.0-rc.1" - resolved "https://registry.yarnpkg.com/@abp/ng.theme.basic/-/ng.theme.basic-4.2.0-rc.1.tgz#dbc1a47e7d311fc7ca5d212d6736fde49f4586f2" - integrity sha512-3fMeIbz4cotGqGty9QWyw4vrhkYJgLqgfunw+F+YxuLaXFq2JljlfZvzwDCw7EZ53N5atHT/um5RVAveWvKKmQ== +"@abp/ng.theme.basic@~4.2.0-rc.2": + version "4.2.0-rc.2" + resolved "https://registry.yarnpkg.com/@abp/ng.theme.basic/-/ng.theme.basic-4.2.0-rc.2.tgz#83c6ae4d0d95fc0271386a02c2f22531325c3b26" + integrity sha512-VGEDWIIRnmHPrhcjIhhBcqILI8NUsuVIX7K5XfJUuf3WmEzH9Ru9Yyi81AYZNuBNXNAjyjRH/nIxwljnHxO8bA== dependencies: - "@abp/ng.theme.shared" "~4.2.0-rc.1" + "@abp/ng.theme.shared" "~4.2.0-rc.2" tslib "^2.0.0" -"@abp/ng.theme.shared@~4.2.0-rc.1": - version "4.2.0-rc.1" - resolved "https://registry.yarnpkg.com/@abp/ng.theme.shared/-/ng.theme.shared-4.2.0-rc.1.tgz#e3edecefd2a332740e80a7f6c6dbfa06f7580c89" - integrity sha512-/EOHL9WmtxJ6xgzUbNjc50p9oStycmpsz9Z/RZTffaUXUnVSDgqeArvBuPTGTuMJVipnbVfpYjC98eOixj5Ong== +"@abp/ng.theme.shared@~4.2.0-rc.2": + version "4.2.0-rc.2" + resolved "https://registry.yarnpkg.com/@abp/ng.theme.shared/-/ng.theme.shared-4.2.0-rc.2.tgz#935ca3aa32d8ced85d277139ce790f3cc3faa184" + integrity sha512-UjYPd6KL3bO9PN9XEmBlKQSc0C3EJsLHhifoV+rgtqAHvortOygSHHknOthRA4PN+cg2/PiuWA5gpvMHP1K7Ow== dependencies: - "@abp/ng.core" "~4.2.0-rc.1" + "@abp/ng.core" "~4.2.0-rc.2" "@fortawesome/fontawesome-free" "^5.14.0" "@ng-bootstrap/ng-bootstrap" "^7.0.0" "@ngx-validate/core" "^0.0.13" @@ -92,13 +92,6 @@ chart.js "^2.9.3" tslib "^2.0.0" -"@abp/utils@^4.1.1": - version "4.1.1" - resolved "https://registry.yarnpkg.com/@abp/utils/-/utils-4.1.1.tgz#87f453602d8d8381f730f720eff206f08f218de9" - integrity sha512-WtVKkXAW5bC6XtG/yjkChUM9Z8j+f4idc92CVQxUDOzXhQKGqNsi/3N+qacmD0o+dQVIokDgNmS10R1OaYKtcA== - dependencies: - just-compare "^1.3.0" - "@abp/utils@^4.2.0-rc.1": version "4.2.0-rc.1" resolved "https://registry.yarnpkg.com/@abp/utils/-/utils-4.2.0-rc.1.tgz#397615ec208150f46ae626b67ea71053750f612f" @@ -106,6 +99,13 @@ dependencies: just-compare "^1.3.0" +"@abp/utils@^4.2.0-rc.2": + version "4.2.0-rc.2" + resolved "https://registry.yarnpkg.com/@abp/utils/-/utils-4.2.0-rc.2.tgz#43c27d421da8e58a5d74c0a2df8742efa827c842" + integrity sha512-6gSLTP9s88aFjxm+fU2iZMzv5Eoe5/va2PHTAoQJA4BaP/SpFRGts3cT4HYWPfAbmzZVZ+tvjuYd3P6d3FCAhw== + dependencies: + just-compare "^1.3.0" + "@angular-builders/jest@^10.0.0": version "10.0.1" resolved "https://registry.yarnpkg.com/@angular-builders/jest/-/jest-10.0.1.tgz#a1a6fb5d11b5d54c051bdaa2012b5f046371560c" @@ -124,12 +124,12 @@ "@angular-devkit/core" "10.1.7" rxjs "6.6.2" -"@angular-devkit/architect@0.1100.6": - version "0.1100.6" - resolved "https://registry.yarnpkg.com/@angular-devkit/architect/-/architect-0.1100.6.tgz#ce90ffb78d1d945cafc339d4cfc63b3582cb8e6a" - integrity sha512-4O+cg3AimI2bNAxxdu5NrqSf4Oa8r8xL0+G2Ycd3jLoFv0h0ecJiNKEG5F6IpTprb4aexZD6pcxBJCqQ8MmzWQ== +"@angular-devkit/architect@0.1101.0": + version "0.1101.0" + resolved "https://registry.yarnpkg.com/@angular-devkit/architect/-/architect-0.1101.0.tgz#bf9649e43f17c06c6c9bde7fc9ea21603a949e9f" + integrity sha512-Lj1STrxPXvvZVIk9RSTOPEiJeE/PGbBSclz12u92F3DsmbhcCxpiZ8AU8bUvJJ8gsZhGRB0BjPN0gCSWr9Po7w== dependencies: - "@angular-devkit/core" "11.0.6" + "@angular-devkit/core" "11.1.0" rxjs "6.6.3" "@angular-devkit/architect@>=0.1000.0 < 0.1100.0": @@ -140,79 +140,80 @@ "@angular-devkit/core" "10.2.1" rxjs "6.6.2" -"@angular-devkit/build-angular@~0.1100.0": - version "0.1100.6" - resolved "https://registry.yarnpkg.com/@angular-devkit/build-angular/-/build-angular-0.1100.6.tgz#4aa7635ab8fc1c6435b2b93954c08f2a7d7a8dd9" - integrity sha512-HcqsWiSIUxExGg3HRQScLOmF+ckVkCKolfpPcNOCCpBYxH/i8n4wDGLBP5Rtxky+0Qz+3nnAaFIpNb9p9aUmbg== - dependencies: - "@angular-devkit/architect" "0.1100.6" - "@angular-devkit/build-optimizer" "0.1100.6" - "@angular-devkit/build-webpack" "0.1100.6" - "@angular-devkit/core" "11.0.6" - "@babel/core" "7.12.3" - "@babel/generator" "7.12.1" - "@babel/plugin-transform-runtime" "7.12.1" - "@babel/preset-env" "7.12.1" - "@babel/runtime" "7.12.1" - "@babel/template" "7.10.4" +"@angular-devkit/build-angular@~0.1101.0": + version "0.1101.0" + resolved "https://registry.yarnpkg.com/@angular-devkit/build-angular/-/build-angular-0.1101.0.tgz#71a0f424c8ba5a1eb12012cb6cde30482afa8c7c" + integrity sha512-oTCdHHyP/Z1cPnvJSHsQFD1FbLHI9AV7wYbDQ2UHpQFXg7OFzRWSro2aG54FMe6nD+gbXhQUmRryRsiNkCG71A== + dependencies: + "@angular-devkit/architect" "0.1101.0" + "@angular-devkit/build-optimizer" "0.1101.0" + "@angular-devkit/build-webpack" "0.1101.0" + "@angular-devkit/core" "11.1.0" + "@babel/core" "7.12.10" + "@babel/generator" "7.12.11" + "@babel/plugin-transform-runtime" "7.12.10" + "@babel/preset-env" "7.12.11" + "@babel/runtime" "7.12.5" + "@babel/template" "7.12.7" "@jsdevtools/coverage-istanbul-loader" "3.0.5" - "@ngtools/webpack" "11.0.6" + "@ngtools/webpack" "11.1.0" ansi-colors "4.1.1" - autoprefixer "9.8.6" - babel-loader "8.1.0" + autoprefixer "10.2.1" + babel-loader "8.2.2" browserslist "^4.9.1" cacache "15.0.5" caniuse-lite "^1.0.30001032" - circular-dependency-plugin "5.2.0" - copy-webpack-plugin "6.2.1" - core-js "3.6.5" - css-loader "4.3.0" + circular-dependency-plugin "5.2.2" + copy-webpack-plugin "6.3.2" + core-js "3.8.2" + critters "0.0.6" + css-loader "5.0.1" cssnano "4.1.10" - file-loader "6.1.1" + file-loader "6.2.0" find-cache-dir "3.3.1" glob "7.1.6" inquirer "7.3.3" - jest-worker "26.5.0" + jest-worker "26.6.2" karma-source-map-support "1.4.0" - less "3.12.2" - less-loader "7.0.2" - license-webpack-plugin "2.3.1" + less "4.1.0" + less-loader "7.2.1" + license-webpack-plugin "2.3.11" loader-utils "2.0.0" - mini-css-extract-plugin "1.2.1" + mini-css-extract-plugin "1.3.3" minimatch "3.0.4" - open "7.3.0" - ora "5.1.0" + open "7.3.1" + ora "5.2.0" parse5-html-rewriting-stream "6.0.1" pnp-webpack-plugin "1.6.4" - postcss "7.0.32" - postcss-import "12.0.1" - postcss-loader "4.0.4" + postcss "8.2.4" + postcss-import "14.0.0" + postcss-loader "4.1.0" raw-loader "4.0.2" regenerator-runtime "0.13.7" resolve-url-loader "3.1.2" rimraf "3.0.2" - rollup "2.32.1" + rollup "2.36.1" rxjs "6.6.3" - sass "1.27.0" - sass-loader "10.0.5" - semver "7.3.2" + sass "1.32.4" + sass-loader "10.1.1" + semver "7.3.4" source-map "0.7.3" - source-map-loader "1.1.2" + source-map-loader "1.1.3" source-map-support "0.5.19" speed-measure-webpack-plugin "1.3.3" style-loader "2.0.0" stylus "0.54.8" - stylus-loader "4.3.1" - terser "5.3.7" + stylus-loader "4.3.2" + terser "5.5.1" terser-webpack-plugin "4.2.3" text-table "0.2.0" tree-kill "1.2.2" webpack "4.44.2" webpack-dev-middleware "3.7.2" - webpack-dev-server "3.11.0" - webpack-merge "5.2.0" - webpack-sources "2.0.1" - webpack-subresource-integrity "1.5.1" + webpack-dev-server "3.11.1" + webpack-merge "5.7.3" + webpack-sources "2.2.0" + webpack-subresource-integrity "1.5.2" worker-plugin "5.0.0" "@angular-devkit/build-ng-packagr@~0.1001.2": @@ -223,24 +224,24 @@ "@angular-devkit/architect" "0.1001.7" rxjs "6.6.2" -"@angular-devkit/build-optimizer@0.1100.6": - version "0.1100.6" - resolved "https://registry.yarnpkg.com/@angular-devkit/build-optimizer/-/build-optimizer-0.1100.6.tgz#4d6712ae75eeae71d74fd161a0a18c08402dc527" - integrity sha512-Qkq7n6510N+nXmfZqpqpI0I6Td+b+06RRNmS7KftSNJntU1z5QYh4FggwlthZ5P0QUT92cnBQsnT8OgYqGnwbg== +"@angular-devkit/build-optimizer@0.1101.0": + version "0.1101.0" + resolved "https://registry.yarnpkg.com/@angular-devkit/build-optimizer/-/build-optimizer-0.1101.0.tgz#92f949a4384105eccc87da8fcb2dd40590e48ab0" + integrity sha512-0hkb7fVBDOMBmLA0NC394PAAZmQ1xo12UeiDwfNN2LF9pYdASVj/OSCcZ3yEfnxzBZm5qeNLJG2c4l2xB5NFPQ== dependencies: loader-utils "2.0.0" source-map "0.7.3" - tslib "2.0.3" - typescript "4.0.5" - webpack-sources "2.0.1" + tslib "2.1.0" + typescript "4.1.3" + webpack-sources "2.2.0" -"@angular-devkit/build-webpack@0.1100.6": - version "0.1100.6" - resolved "https://registry.yarnpkg.com/@angular-devkit/build-webpack/-/build-webpack-0.1100.6.tgz#301caf71bebed6e841cb15fb3af5147c3b2d9c97" - integrity sha512-kK0FlpYJHP25o1yzIGHQqIvO5kp+p6V5OwGpD2GGRZLlJqd3WdjY5DxnyZoX3/IofO6KsTnmm76fzTRqc62z/Q== +"@angular-devkit/build-webpack@0.1101.0": + version "0.1101.0" + resolved "https://registry.yarnpkg.com/@angular-devkit/build-webpack/-/build-webpack-0.1101.0.tgz#1c9a406076f0f568e6dbcccec142ea0adab88b7f" + integrity sha512-oIjRo/zRNqWQbKH/N/S8FZz6u1ADnX9IDML5mu8IucquGnZIqQVrrKeBnldtHQsIbN3TYYskO9xr9OS/W6VHqg== dependencies: - "@angular-devkit/architect" "0.1100.6" - "@angular-devkit/core" "11.0.6" + "@angular-devkit/architect" "0.1101.0" + "@angular-devkit/core" "11.1.0" rxjs "6.6.3" "@angular-devkit/core@10.0.8": @@ -287,6 +288,17 @@ rxjs "6.6.3" source-map "0.7.3" +"@angular-devkit/core@11.1.0": + version "11.1.0" + resolved "https://registry.yarnpkg.com/@angular-devkit/core/-/core-11.1.0.tgz#dec7967df922414f9935365f5ff7938ef6e54a52" + integrity sha512-O2oIcqpQKGvYJH88d/NCgLYZGc9laA1eo2d1s0FH1Udu4c2L+bAsviQqtTKNmzyaqODHrlkt+eKx7uakdwWtnQ== + dependencies: + ajv "6.12.6" + fast-json-stable-stringify "2.1.0" + magic-string "0.25.7" + rxjs "6.6.3" + source-map "0.7.3" + "@angular-devkit/core@8.3.29", "@angular-devkit/core@^8.0.3": version "8.3.29" resolved "https://registry.yarnpkg.com/@angular-devkit/core/-/core-8.3.29.tgz#3477edd6458653f83e6d78684b100c1bef81382f" @@ -329,13 +341,13 @@ ora "5.0.0" rxjs "6.6.2" -"@angular-devkit/schematics@11.0.6", "@angular-devkit/schematics@~11.0.2": - version "11.0.6" - resolved "https://registry.yarnpkg.com/@angular-devkit/schematics/-/schematics-11.0.6.tgz#06631190cb22609462597cd6659080fc3313582a" - integrity sha512-hCyu/SSSiC6dKl/NxdWctknIrBqKR6pRe7DMArWowrZX6P9oi36LpKEFnKutE8+tXjsOqQj8XMBq9L64sXZWqg== +"@angular-devkit/schematics@11.1.0": + version "11.1.0" + resolved "https://registry.yarnpkg.com/@angular-devkit/schematics/-/schematics-11.1.0.tgz#451ed0a5c4fe9ac3cf367f4ecf7adac15430c2c8" + integrity sha512-6qfR5w1jyk8MC+5Tfimz+Czsq3WlsVoB57dpxSZfhGGsv1Vxc8Q41y5f3BrAyEqHYjcH7NtaoLQoJjtra5KaAg== dependencies: - "@angular-devkit/core" "11.0.6" - ora "5.1.0" + "@angular-devkit/core" "11.1.0" + ora "5.2.0" rxjs "6.6.3" "@angular-devkit/schematics@^8.0.6": @@ -346,10 +358,19 @@ "@angular-devkit/core" "8.3.29" rxjs "6.4.0" -"@angular/animations@~11.0.0": - version "11.0.7" - resolved "https://registry.yarnpkg.com/@angular/animations/-/animations-11.0.7.tgz#d71ebb581da4e2805df1b35c75a331192063846a" - integrity sha512-P3cluDGIsaj7vqvqIGW7xFCIXWa1lJDsHsmY3Fexk+ZVCncokftp5ZUANb2+DwOD3BPgd/WjBdXVjwzFQFsoVA== +"@angular-devkit/schematics@~11.0.2": + version "11.0.6" + resolved "https://registry.yarnpkg.com/@angular-devkit/schematics/-/schematics-11.0.6.tgz#06631190cb22609462597cd6659080fc3313582a" + integrity sha512-hCyu/SSSiC6dKl/NxdWctknIrBqKR6pRe7DMArWowrZX6P9oi36LpKEFnKutE8+tXjsOqQj8XMBq9L64sXZWqg== + dependencies: + "@angular-devkit/core" "11.0.6" + ora "5.1.0" + rxjs "6.6.3" + +"@angular/animations@~11.1.0": + version "11.1.0" + resolved "https://registry.yarnpkg.com/@angular/animations/-/animations-11.1.0.tgz#d71c6b11dc79bafdf927e69f6222f3899aa911d8" + integrity sha512-VgpknW33WJiqnNtQwNVWrpiSxkgoChIZLpYLlijSTvFwZOHiraFKApohaW8X61mwL0HuK1RB7Z36B+Q11cw3aw== dependencies: tslib "^2.0.0" @@ -362,43 +383,44 @@ optionalDependencies: parse5 "^5.0.0" -"@angular/cli@~11.0.0": - version "11.0.6" - resolved "https://registry.yarnpkg.com/@angular/cli/-/cli-11.0.6.tgz#8d65d3ad3841aabe23ff38a41fa6c4f38dd12f66" - integrity sha512-bwrXXyU23HjUlFl0CNCU+XMGa/enooqpMLcTAA15StVpKFHyaA4c57il/aqu+1IuB+zR6rGDzhAABuvRcHd+mQ== +"@angular/cli@~11.1.0": + version "11.1.0" + resolved "https://registry.yarnpkg.com/@angular/cli/-/cli-11.1.0.tgz#caf11ebe9c93ca68d99721829beda5c6138cfa4d" + integrity sha512-9QirgfU7+scdi2UASSlEdqkp1Jva3IiesIUIuxeF7scrFCnk/rZIJ9iSvPJ9qUXYpFYyxpX0aPEBvM/HDExeFQ== dependencies: - "@angular-devkit/architect" "0.1100.6" - "@angular-devkit/core" "11.0.6" - "@angular-devkit/schematics" "11.0.6" - "@schematics/angular" "11.0.6" - "@schematics/update" "0.1100.6" + "@angular-devkit/architect" "0.1101.0" + "@angular-devkit/core" "11.1.0" + "@angular-devkit/schematics" "11.1.0" + "@schematics/angular" "11.1.0" + "@schematics/update" "0.1101.0" "@yarnpkg/lockfile" "1.1.0" ansi-colors "4.1.1" - debug "4.2.0" - ini "1.3.6" + debug "4.3.1" + ini "2.0.0" inquirer "7.3.3" + jsonc-parser "3.0.0" npm-package-arg "8.1.0" npm-pick-manifest "6.1.0" - open "7.3.0" - pacote "9.5.12" - resolve "1.18.1" + open "7.3.1" + pacote "11.1.14" + resolve "1.19.0" rimraf "3.0.2" - semver "7.3.2" - symbol-observable "2.0.3" + semver "7.3.4" + symbol-observable "3.0.0" universal-analytics "0.4.23" - uuid "8.3.1" + uuid "8.3.2" -"@angular/common@~11.0.0": - version "11.0.7" - resolved "https://registry.yarnpkg.com/@angular/common/-/common-11.0.7.tgz#bc76452161bc0728563bbf05fe10cac492dcfdad" - integrity sha512-9VuT9qrSP7Q91Wp276DDieCIZiTBrpLNoJzK/RygQShTymCVPg4Dsl3tQUKaHBPx9MexeqRG/HjN02DVpeqtsA== +"@angular/common@~11.1.0": + version "11.1.0" + resolved "https://registry.yarnpkg.com/@angular/common/-/common-11.1.0.tgz#c1163981c79e34c72ab0bbc385edf4c30abcc98e" + integrity sha512-jR9fnhzvvpdilyhPnyRlRRFRJ9vf/OhUFJrL42Knaj7uknmjgeu168JhwVdq6uj+v1208suXW+nOXhKNIpH38Q== dependencies: tslib "^2.0.0" -"@angular/compiler-cli@11.0.0": - version "11.0.0" - resolved "https://registry.yarnpkg.com/@angular/compiler-cli/-/compiler-cli-11.0.0.tgz#ff4c2c16284a31a4f8ff1d224f593f64a1458234" - integrity sha512-zrd/cU9syZ8XuQ3ItfIGaKDn1ZBCWyiqdLVRH9VDmyNqQFiCc/VWQ9Th9z8qpLptgdpzE9+lKFgeZJTDtbcveQ== +"@angular/compiler-cli@11.1.0": + version "11.1.0" + resolved "https://registry.yarnpkg.com/@angular/compiler-cli/-/compiler-cli-11.1.0.tgz#111f420a9ab9274947f805b9f41ddce8f24070ea" + integrity sha512-PLeVrqBpn43G7DeBkDQqH38Y+VMlCIbxiP4Vv1rFAmKVNIm9J8m8jdC3EQSTXVV+L3oDCVP5/ERSCZ8Jqx6UoA== dependencies: "@babel/core" "^7.8.6" "@babel/types" "^7.8.6" @@ -414,12 +436,12 @@ source-map "^0.6.1" sourcemap-codec "^1.4.8" tslib "^2.0.0" - yargs "15.3.0" + yargs "^16.1.1" -"@angular/compiler@11.0.0": - version "11.0.0" - resolved "https://registry.yarnpkg.com/@angular/compiler/-/compiler-11.0.0.tgz#b49997d0130e7c8cfe84fa73e5610892f4a772af" - integrity sha512-I7wVhdqvhtBTQTtW61z0lwPb1LiQQ0NOwjsbfN5sAc7/uwxw7em+Kyb/XJgBwgaTKtAL8bZEzdoQGLdsSKQF2g== +"@angular/compiler@11.1.0": + version "11.1.0" + resolved "https://registry.yarnpkg.com/@angular/compiler/-/compiler-11.1.0.tgz#0e2e18fe0cb64ec696986f12f80debcbdccc8d20" + integrity sha512-XW+McH/RVjpLtNkft6UYZQbjhXwX/hvLgUa9jGlTuIFM5o7W4XRPnq5sfn3+QvzdROF0j8S5sy47mGVNQOYMNg== dependencies: tslib "^2.0.0" @@ -433,24 +455,24 @@ resolved "https://registry.yarnpkg.com/@angular/core/-/core-9.0.0.tgz#227dc53e1ac81824f998c6e76000b7efc522641e" integrity sha512-6Pxgsrf0qF9iFFqmIcWmjJGkkCaCm6V5QNnxMy2KloO3SDq6QuMVRbN9RtC8Urmo25LP+eZ6ZgYqFYpdD8Hd9w== -"@angular/core@~11.0.0": - version "11.0.7" - resolved "https://registry.yarnpkg.com/@angular/core/-/core-11.0.7.tgz#4d81b1a49d3d4aaeb0ef9908695a3cc06707cfd9" - integrity sha512-Kj5uRZoK5+xfMTjkP3tw8oIF5hKTnoF9Bwh5m9GUKqg1wHVKOJcT5JBIEMc8qPyiFgALREA01reIzQdGMjX36A== +"@angular/core@~11.1.0": + version "11.1.0" + resolved "https://registry.yarnpkg.com/@angular/core/-/core-11.1.0.tgz#724c13c53e4afb6d4ef4d9236d50f0be956f57ca" + integrity sha512-VhiRWZEj9Q/OvbbSDcgQ4f53oVcMnDB4uNL8xaWnK0Sb3lZA4aQW3VOlROBITS5n2g7D1zRhvUzdfzVuyuMIaQ== dependencies: tslib "^2.0.0" -"@angular/forms@~11.0.0": - version "11.0.7" - resolved "https://registry.yarnpkg.com/@angular/forms/-/forms-11.0.7.tgz#958558b92d2e524e08b447c16b17b2ae42717657" - integrity sha512-+3A+SciMyHTdUwkKUz4XzC1DSYexQEbFLe0PKQIFSFOROmbssjnWJv7yO2HbzCpGa7oGKPYNlE5twYWyLxpvFg== +"@angular/forms@~11.1.0": + version "11.1.0" + resolved "https://registry.yarnpkg.com/@angular/forms/-/forms-11.1.0.tgz#6ab2e81df80dc9a9d0898d2a57270de5d9eb30e5" + integrity sha512-pHwLPGDHk3JOoK2nA3wJoDCJF2bn8NmVqv8Lh5Pd8NYqLFRIIDiHSjNkqr1eM0JUmExqfU5tCrLrPz4YChdYBA== dependencies: tslib "^2.0.0" -"@angular/language-service@~11.0.0": - version "11.0.7" - resolved "https://registry.yarnpkg.com/@angular/language-service/-/language-service-11.0.7.tgz#78a912eaf025c2d01181dc72ff4fb99ca598ae49" - integrity sha512-1IiJNwy/phjpYfqLVlhOp4Gr/A89joydwqPB7Nf7hbhl3xFnT98GOp/nsoZCwMBKotXYNk93m025LbJ++augfQ== +"@angular/language-service@~11.1.0": + version "11.1.0" + resolved "https://registry.yarnpkg.com/@angular/language-service/-/language-service-11.1.0.tgz#d5a435f10ee8b79ceaf32352baaa104c089171c7" + integrity sha512-7NQcwNHgUGOdqQsyp1Xw/WFbYvC4WA+Et2DJJvkitmg2ejndtm45FALUu1Z2X6bbKzdJOuNGU5vNh1ZJ/IyGRQ== "@angular/localize@~10.0.10": version "10.0.14" @@ -461,33 +483,33 @@ glob "7.1.2" yargs "15.3.0" -"@angular/localize@~11.0.0": - version "11.0.7" - resolved "https://registry.yarnpkg.com/@angular/localize/-/localize-11.0.7.tgz#0335f1fc4852d6d36d99d239ef946645b34c78fb" - integrity sha512-NDs08oAELLn7tA/hHLuW8APULg25C7iINYTA168QzOdFTEsJ2MoLf3SiVQExUV65h3MnB24xNbhaNodmBKUNPg== +"@angular/localize@~11.1.0": + version "11.1.0" + resolved "https://registry.yarnpkg.com/@angular/localize/-/localize-11.1.0.tgz#96acfd2078387bb7dca10b88275e1f5263f6da33" + integrity sha512-hF0c+EeorSWiGTB+rzQn+KSewLb7LTyCN4IjezFF05pIAwyw1cLN+3fhiTmJ/KNp8PFpR7dbW3gPwUKkLwn3rg== dependencies: "@babel/core" "7.8.3" glob "7.1.2" yargs "^16.1.1" -"@angular/platform-browser-dynamic@~11.0.0": - version "11.0.7" - resolved "https://registry.yarnpkg.com/@angular/platform-browser-dynamic/-/platform-browser-dynamic-11.0.7.tgz#8ee8c72799a96eee3967596ae52b69ee90ac3df0" - integrity sha512-pUXCum1Z2DZV/34WR4Vfmkc5nWxbmVdwAA9pXbAarwAYqHIqOzX8rpRaHsuHBAR+SK+VH+xjproeLgsVfV8FSA== +"@angular/platform-browser-dynamic@~11.1.0": + version "11.1.0" + resolved "https://registry.yarnpkg.com/@angular/platform-browser-dynamic/-/platform-browser-dynamic-11.1.0.tgz#dc0d5a669c3cbe40b9f7442fca9c5335fc735f80" + integrity sha512-1MFRvjbkogtEQO/bWkNm2xOIl8CeIJuRWoXYE00VKShmq4o+2kTHBRQD0NydPQYwqo9o4XpgmIrJXHgwp3S2Qw== dependencies: tslib "^2.0.0" -"@angular/platform-browser@~11.0.0": - version "11.0.7" - resolved "https://registry.yarnpkg.com/@angular/platform-browser/-/platform-browser-11.0.7.tgz#1475540b38d1e2d19dbd9242e0a9ddf6d9bf7873" - integrity sha512-W8Wt8jMUjcbpqGtqrNWAj0p7CLdjOxgVlbrgBXTbaoqdchvXH85YzGr7ohA3MuE61H90OcVK9OhfYQk5o6joSg== +"@angular/platform-browser@~11.1.0": + version "11.1.0" + resolved "https://registry.yarnpkg.com/@angular/platform-browser/-/platform-browser-11.1.0.tgz#4c538d0bffdac02d8529bdb6247ae06a7685c3bf" + integrity sha512-wdinsRiKC5mGWWSA5RqferFvpe3Wr9YIVK2Gaj50DlJGOJ/8yWvux3BYjsCd5B44PC8+6dxUEZMgvA6CmhXgpw== dependencies: tslib "^2.0.0" -"@angular/router@~11.0.0": - version "11.0.7" - resolved "https://registry.yarnpkg.com/@angular/router/-/router-11.0.7.tgz#c5d0cacb927018eb495a4538ab1f81c088f5b7f1" - integrity sha512-oh/MOPRSOCLRPsM/3CVUNYZ3pz3g+CzLOk5Vad/zFJmnGwjA/lQGJo2pl7VXVq3RF7MieaHlDWG5TexGlXAP5w== +"@angular/router@~11.1.0": + version "11.1.0" + resolved "https://registry.yarnpkg.com/@angular/router/-/router-11.1.0.tgz#62523ab838cf37ce911edaf3bfd3e2a4edb11675" + integrity sha512-jsGuyt/QNxtN2eHrkk6lqRnTf3NeuaxBWJSrwuoqrjLCZH2elg3r1GXDTII1Ih3E1zIwuOlK59O78dXW2eQVBg== dependencies: tslib "^2.0.0" @@ -513,30 +535,29 @@ dependencies: "@babel/highlight" "^7.10.4" -"@babel/compat-data@^7.12.1", "@babel/compat-data@^7.12.5": +"@babel/compat-data@^7.12.5", "@babel/compat-data@^7.12.7": version "7.12.7" resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.12.7.tgz#9329b4782a7d6bbd7eef57e11addf91ee3ef1e41" integrity sha512-YaxPMGs/XIWtYqrdEOZOCPsVWfEoriXopnsz3/i7apYPXQ3698UFhS6dVT1KN5qOsWmVgw/FOrmQgpRaZayGsw== -"@babel/core@7.12.3": - version "7.12.3" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.12.3.tgz#1b436884e1e3bff6fb1328dc02b208759de92ad8" - integrity sha512-0qXcZYKZp3/6N2jKYVxZv0aNCsxTSVCiK72DTiTYZAu7sjg73W0/aynWjMbiGd87EQL4WyA8reiJVh92AVla9g== +"@babel/core@7.12.10", "@babel/core@^7.1.0", "@babel/core@^7.7.5", "@babel/core@^7.8.6": + version "7.12.10" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.12.10.tgz#b79a2e1b9f70ed3d84bbfb6d8c4ef825f606bccd" + integrity sha512-eTAlQKq65zHfkHZV0sIVODCPGVgoo1HdBlbSLi9CqOzuZanMv2ihzY+4paiKr1mH+XmYESMAmJ/dpZ68eN6d8w== dependencies: "@babel/code-frame" "^7.10.4" - "@babel/generator" "^7.12.1" + "@babel/generator" "^7.12.10" "@babel/helper-module-transforms" "^7.12.1" - "@babel/helpers" "^7.12.1" - "@babel/parser" "^7.12.3" - "@babel/template" "^7.10.4" - "@babel/traverse" "^7.12.1" - "@babel/types" "^7.12.1" + "@babel/helpers" "^7.12.5" + "@babel/parser" "^7.12.10" + "@babel/template" "^7.12.7" + "@babel/traverse" "^7.12.10" + "@babel/types" "^7.12.10" convert-source-map "^1.7.0" debug "^4.1.0" gensync "^1.0.0-beta.1" json5 "^2.1.2" lodash "^4.17.19" - resolve "^1.3.2" semver "^5.4.1" source-map "^0.5.0" @@ -561,37 +582,7 @@ semver "^5.4.1" source-map "^0.5.0" -"@babel/core@^7.1.0", "@babel/core@^7.7.5", "@babel/core@^7.8.6": - version "7.12.10" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.12.10.tgz#b79a2e1b9f70ed3d84bbfb6d8c4ef825f606bccd" - integrity sha512-eTAlQKq65zHfkHZV0sIVODCPGVgoo1HdBlbSLi9CqOzuZanMv2ihzY+4paiKr1mH+XmYESMAmJ/dpZ68eN6d8w== - dependencies: - "@babel/code-frame" "^7.10.4" - "@babel/generator" "^7.12.10" - "@babel/helper-module-transforms" "^7.12.1" - "@babel/helpers" "^7.12.5" - "@babel/parser" "^7.12.10" - "@babel/template" "^7.12.7" - "@babel/traverse" "^7.12.10" - "@babel/types" "^7.12.10" - convert-source-map "^1.7.0" - debug "^4.1.0" - gensync "^1.0.0-beta.1" - json5 "^2.1.2" - lodash "^4.17.19" - semver "^5.4.1" - source-map "^0.5.0" - -"@babel/generator@7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.12.1.tgz#0d70be32bdaa03d7c51c8597dda76e0df1f15468" - integrity sha512-DB+6rafIdc9o72Yc3/Ph5h+6hUjeOp66pF0naQBgUFFuPqzQwIlPTm3xZR7YNvduIMtkDIj2t21LSQwnbCrXvg== - dependencies: - "@babel/types" "^7.12.1" - jsesc "^2.5.1" - source-map "^0.5.0" - -"@babel/generator@^7.12.1", "@babel/generator@^7.12.10", "@babel/generator@^7.12.11", "@babel/generator@^7.8.3": +"@babel/generator@7.12.11", "@babel/generator@^7.12.10", "@babel/generator@^7.12.11", "@babel/generator@^7.8.3": version "7.12.11" resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.12.11.tgz#98a7df7b8c358c9a37ab07a24056853016aba3af" integrity sha512-Ggg6WPOJtSi8yYQvLVjG8F/TlpWDlKx0OpS4Kt+xMQPs5OaGYWy+v1A+1TvxI6sAMGZpKWWoAQ1DaeQbImlItA== @@ -615,7 +606,7 @@ "@babel/helper-explode-assignable-expression" "^7.10.4" "@babel/types" "^7.10.4" -"@babel/helper-compilation-targets@^7.12.1": +"@babel/helper-compilation-targets@^7.12.5": version "7.12.5" resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.12.5.tgz#cb470c76198db6a24e9dbc8987275631e5d29831" integrity sha512-+qH6NrscMolUlzOYngSBMIOQpKUGPPsc61Bu5W10mg84LxZ7cmvnBHzARKbDoFxVvqqAbj6Tg6N7bSrWSPXMyw== @@ -690,7 +681,7 @@ dependencies: "@babel/types" "^7.12.7" -"@babel/helper-module-imports@^7.12.1": +"@babel/helper-module-imports@^7.12.1", "@babel/helper-module-imports@^7.12.5": version "7.12.5" resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.12.5.tgz#1bfc0229f794988f76ed0a4d4e90860850b54dfb" integrity sha512-SR713Ogqg6++uexFRORf/+nPXMmWIn80TALu0uaFb+iQIUoR7bOC7zBWyzBs5b3tBBJXuyD0cRu1F15GyzjOWA== @@ -769,7 +760,7 @@ resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz#c9a1f021917dcb5ccf0d4e453e399022981fc9ed" integrity sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw== -"@babel/helper-validator-option@^7.12.1": +"@babel/helper-validator-option@^7.12.1", "@babel/helper-validator-option@^7.12.11": version "7.12.11" resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.12.11.tgz#d66cb8b7a3e7fe4c6962b32020a131ecf0847f4f" integrity sha512-TBFCyj939mFSdeX7U7DDj32WtzYY7fDcalgq8v3fBZMNOJQNn7nOYzMaUCiPxPYfCup69mtIpqlKgMZLvQ8Xhw== @@ -784,7 +775,7 @@ "@babel/traverse" "^7.10.4" "@babel/types" "^7.10.4" -"@babel/helpers@^7.12.1", "@babel/helpers@^7.12.5", "@babel/helpers@^7.8.3": +"@babel/helpers@^7.12.5", "@babel/helpers@^7.8.3": version "7.12.5" resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.12.5.tgz#1a1ba4a768d9b58310eda516c449913fe647116e" integrity sha512-lgKGMQlKqA8meJqKsW6rUnc4MdUk35Ln0ATDqdM1a/UpARODdI4j5Y5lVfUScnSNkJcdCRAaWkspykNoFg9sJA== @@ -802,7 +793,7 @@ chalk "^2.0.0" js-tokens "^4.0.0" -"@babel/parser@^7.1.0", "@babel/parser@^7.10.4", "@babel/parser@^7.12.10", "@babel/parser@^7.12.11", "@babel/parser@^7.12.3", "@babel/parser@^7.12.7", "@babel/parser@^7.8.3": +"@babel/parser@^7.1.0", "@babel/parser@^7.12.10", "@babel/parser@^7.12.11", "@babel/parser@^7.12.7", "@babel/parser@^7.8.3": version "7.12.11" resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.12.11.tgz#9ce3595bcd74bc5c466905e86c535b8b25011e79" integrity sha512-N3UxG+uuF4CMYoNj8AhnbAcJF0PiuJ9KHuy1lQmkYsxTer/MAH9UBNHsBoAX/4s6NvlDD047No8mYVGGzLL4hg== @@ -864,7 +855,7 @@ "@babel/helper-plugin-utils" "^7.10.4" "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.0" -"@babel/plugin-proposal-numeric-separator@^7.12.1": +"@babel/plugin-proposal-numeric-separator@^7.12.7": version "7.12.7" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.12.7.tgz#8bf253de8139099fea193b297d23a9d406ef056b" integrity sha512-8c+uy0qmnRTeukiGsjLGy6uVs/TFjJchGXUeBqlG4VWYOdJWkhhVPdQ3uHwbmalfJwv2JsV0qffXP4asRfL2SQ== @@ -889,7 +880,7 @@ "@babel/helper-plugin-utils" "^7.10.4" "@babel/plugin-syntax-optional-catch-binding" "^7.8.0" -"@babel/plugin-proposal-optional-chaining@^7.12.1": +"@babel/plugin-proposal-optional-chaining@^7.12.7": version "7.12.7" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.12.7.tgz#e02f0ea1b5dc59d401ec16fb824679f683d3303c" integrity sha512-4ovylXZ0PWmwoOvhU2vhnzVNnm88/Sm9nx7V8BPgMvAzn5zDou3/Awy0EjglyubVHasJj+XCEkr/r1X3P5elCA== @@ -1035,7 +1026,7 @@ dependencies: "@babel/helper-plugin-utils" "^7.10.4" -"@babel/plugin-transform-block-scoping@^7.12.1": +"@babel/plugin-transform-block-scoping@^7.12.11": version "7.12.12" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.12.12.tgz#d93a567a152c22aea3b1929bb118d1d0a175cdca" integrity sha512-VOEPQ/ExOVqbukuP7BYJtI5ZxxsmegTwzZ04j1aF0dkSypGo9XpDHuOrABsJu+ie+penpSJheDJ11x1BEZNiyQ== @@ -1210,14 +1201,13 @@ dependencies: "@babel/helper-plugin-utils" "^7.10.4" -"@babel/plugin-transform-runtime@7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.12.1.tgz#04b792057eb460389ff6a4198e377614ea1e7ba5" - integrity sha512-Ac/H6G9FEIkS2tXsZjL4RAdS3L3WHxci0usAnz7laPWUmFiGtj7tIASChqKZMHTSQTQY6xDbOq+V1/vIq3QrWg== +"@babel/plugin-transform-runtime@7.12.10": + version "7.12.10" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.12.10.tgz#af0fded4e846c4b37078e8e5d06deac6cd848562" + integrity sha512-xOrUfzPxw7+WDm9igMgQCbO3cJKymX7dFdsgRr1eu9n3KjjyU4pptIXbXPseQDquw+W+RuJEJMHKHNsPNNm3CA== dependencies: - "@babel/helper-module-imports" "^7.12.1" + "@babel/helper-module-imports" "^7.12.5" "@babel/helper-plugin-utils" "^7.10.4" - resolve "^1.8.1" semver "^5.5.1" "@babel/plugin-transform-shorthand-properties@^7.12.1": @@ -1235,7 +1225,7 @@ "@babel/helper-plugin-utils" "^7.10.4" "@babel/helper-skip-transparent-expression-wrappers" "^7.12.1" -"@babel/plugin-transform-sticky-regex@^7.12.1": +"@babel/plugin-transform-sticky-regex@^7.12.7": version "7.12.7" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.12.7.tgz#560224613ab23987453948ed21d0b0b193fa7fad" integrity sha512-VEiqZL5N/QvDbdjfYQBhruN0HYjSPjC4XkeqW4ny/jNtH9gcbgaqBIXYEZCNnESMAGs0/K/R7oFGMhOyu/eIxg== @@ -1249,7 +1239,7 @@ dependencies: "@babel/helper-plugin-utils" "^7.10.4" -"@babel/plugin-transform-typeof-symbol@^7.12.1": +"@babel/plugin-transform-typeof-symbol@^7.12.10": version "7.12.10" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.12.10.tgz#de01c4c8f96580bd00f183072b0d0ecdcf0dec4b" integrity sha512-JQ6H8Rnsogh//ijxspCjc21YPd3VLVoYtAwv3zQmqAt8YGYUtdo5usNhdl4b9/Vir2kPFZl6n1h0PfUz4hJhaA== @@ -1271,16 +1261,16 @@ "@babel/helper-create-regexp-features-plugin" "^7.12.1" "@babel/helper-plugin-utils" "^7.10.4" -"@babel/preset-env@7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.12.1.tgz#9c7e5ca82a19efc865384bb4989148d2ee5d7ac2" - integrity sha512-H8kxXmtPaAGT7TyBvSSkoSTUK6RHh61So05SyEbpmr0MCZrsNYn7mGMzzeYoOUCdHzww61k8XBft2TaES+xPLg== +"@babel/preset-env@7.12.11": + version "7.12.11" + resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.12.11.tgz#55d5f7981487365c93dbbc84507b1c7215e857f9" + integrity sha512-j8Tb+KKIXKYlDBQyIOy4BLxzv1NUOwlHfZ74rvW+Z0Gp4/cI2IMDPBWAgWceGcE7aep9oL/0K9mlzlMGxA8yNw== dependencies: - "@babel/compat-data" "^7.12.1" - "@babel/helper-compilation-targets" "^7.12.1" - "@babel/helper-module-imports" "^7.12.1" + "@babel/compat-data" "^7.12.7" + "@babel/helper-compilation-targets" "^7.12.5" + "@babel/helper-module-imports" "^7.12.5" "@babel/helper-plugin-utils" "^7.10.4" - "@babel/helper-validator-option" "^7.12.1" + "@babel/helper-validator-option" "^7.12.11" "@babel/plugin-proposal-async-generator-functions" "^7.12.1" "@babel/plugin-proposal-class-properties" "^7.12.1" "@babel/plugin-proposal-dynamic-import" "^7.12.1" @@ -1288,10 +1278,10 @@ "@babel/plugin-proposal-json-strings" "^7.12.1" "@babel/plugin-proposal-logical-assignment-operators" "^7.12.1" "@babel/plugin-proposal-nullish-coalescing-operator" "^7.12.1" - "@babel/plugin-proposal-numeric-separator" "^7.12.1" + "@babel/plugin-proposal-numeric-separator" "^7.12.7" "@babel/plugin-proposal-object-rest-spread" "^7.12.1" "@babel/plugin-proposal-optional-catch-binding" "^7.12.1" - "@babel/plugin-proposal-optional-chaining" "^7.12.1" + "@babel/plugin-proposal-optional-chaining" "^7.12.7" "@babel/plugin-proposal-private-methods" "^7.12.1" "@babel/plugin-proposal-unicode-property-regex" "^7.12.1" "@babel/plugin-syntax-async-generators" "^7.8.0" @@ -1309,7 +1299,7 @@ "@babel/plugin-transform-arrow-functions" "^7.12.1" "@babel/plugin-transform-async-to-generator" "^7.12.1" "@babel/plugin-transform-block-scoped-functions" "^7.12.1" - "@babel/plugin-transform-block-scoping" "^7.12.1" + "@babel/plugin-transform-block-scoping" "^7.12.11" "@babel/plugin-transform-classes" "^7.12.1" "@babel/plugin-transform-computed-properties" "^7.12.1" "@babel/plugin-transform-destructuring" "^7.12.1" @@ -1333,14 +1323,14 @@ "@babel/plugin-transform-reserved-words" "^7.12.1" "@babel/plugin-transform-shorthand-properties" "^7.12.1" "@babel/plugin-transform-spread" "^7.12.1" - "@babel/plugin-transform-sticky-regex" "^7.12.1" + "@babel/plugin-transform-sticky-regex" "^7.12.7" "@babel/plugin-transform-template-literals" "^7.12.1" - "@babel/plugin-transform-typeof-symbol" "^7.12.1" + "@babel/plugin-transform-typeof-symbol" "^7.12.10" "@babel/plugin-transform-unicode-escapes" "^7.12.1" "@babel/plugin-transform-unicode-regex" "^7.12.1" "@babel/preset-modules" "^0.1.3" - "@babel/types" "^7.12.1" - core-js-compat "^3.6.2" + "@babel/types" "^7.12.11" + core-js-compat "^3.8.0" semver "^5.5.0" "@babel/preset-modules@^0.1.3": @@ -1354,30 +1344,14 @@ "@babel/types" "^7.4.4" esutils "^2.0.2" -"@babel/runtime@7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.12.1.tgz#b4116a6b6711d010b2dad3b7b6e43bf1b9954740" - integrity sha512-J5AIf3vPj3UwXaAzb5j1xM4WAQDX3EMgemF8rjCP3SoW09LfRKAXQKt6CoVYl230P6iWdRcBbnLDDdnqWxZSCA== - dependencies: - regenerator-runtime "^0.13.4" - -"@babel/runtime@^7.5.5", "@babel/runtime@^7.8.4": +"@babel/runtime@7.12.5", "@babel/runtime@^7.5.5", "@babel/runtime@^7.8.4": version "7.12.5" resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.12.5.tgz#410e7e487441e1b360c29be715d870d9b985882e" integrity sha512-plcc+hbExy3McchJCEQG3knOsuh3HH+Prx1P6cLIkET/0dLuQDEnrT+s27Axgc9bqfsmNUNHfscgMUdBpC9xfg== dependencies: regenerator-runtime "^0.13.4" -"@babel/template@7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.10.4.tgz#3251996c4200ebc71d1a8fc405fba940f36ba278" - integrity sha512-ZCjD27cGJFUB6nmCB1Enki3r+L5kJveX9pq1SvAUKoICy6CZ9yD8xO086YXdYhvNjBdnekm4ZnaP5yC8Cs/1tA== - dependencies: - "@babel/code-frame" "^7.10.4" - "@babel/parser" "^7.10.4" - "@babel/types" "^7.10.4" - -"@babel/template@^7.10.4", "@babel/template@^7.12.7", "@babel/template@^7.3.3", "@babel/template@^7.8.3": +"@babel/template@7.12.7", "@babel/template@^7.10.4", "@babel/template@^7.12.7", "@babel/template@^7.3.3", "@babel/template@^7.8.3": version "7.12.7" resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.12.7.tgz#c817233696018e39fbb6c491d2fb684e05ed43bc" integrity sha512-GkDzmHS6GV7ZeXfJZ0tLRBhZcMcY0/Lnb+eEbXDBfCAcZCjrZKe6p3J4we/D24O9Y8enxWAg1cWwof59yLh2ow== @@ -2473,14 +2447,14 @@ jquery "3.5.0" replace-in-file "^4.1.3" -"@ngtools/webpack@11.0.6": - version "11.0.6" - resolved "https://registry.yarnpkg.com/@ngtools/webpack/-/webpack-11.0.6.tgz#1a1d7775022e7e6263f8d9ee2872d995163b3fc0" - integrity sha512-vf5YNEpXWRa0fKC/BRq5sVVj2WnEqW8jn14YQRHwVt5ppUeyu8IKUF69p6W1MwZMgMqMaw/vPQ8LI5cFbyf3uw== +"@ngtools/webpack@11.1.0": + version "11.1.0" + resolved "https://registry.yarnpkg.com/@ngtools/webpack/-/webpack-11.1.0.tgz#fceca46969e3963c17dc0f42bba92a93c4296d6d" + integrity sha512-6KRuSCwDEtwht3mdo9jps01u00675sv9lovlIQ9eIluPq32GM0BweDtxpS/CPgON/Hp9I5Aqtb3z2obnU3EQ7Q== dependencies: - "@angular-devkit/core" "11.0.6" - enhanced-resolve "5.3.1" - webpack-sources "2.0.1" + "@angular-devkit/core" "11.1.0" + enhanced-resolve "5.6.0" + webpack-sources "2.2.0" "@ngx-validate/core@^0.0.13": version "0.0.13" @@ -2536,6 +2510,36 @@ "@nodelib/fs.scandir" "2.1.4" fastq "^1.6.0" +"@npmcli/ci-detect@^1.0.0": + version "1.3.0" + resolved "https://registry.yarnpkg.com/@npmcli/ci-detect/-/ci-detect-1.3.0.tgz#6c1d2c625fb6ef1b9dea85ad0a5afcbef85ef22a" + integrity sha512-oN3y7FAROHhrAt7Rr7PnTSwrHrZVRTS2ZbyxeQwSSYD0ifwM3YNgQqbaRmjcWoPyq77MjchusjJDspbzMmip1Q== + +"@npmcli/git@^2.0.1": + version "2.0.4" + resolved "https://registry.yarnpkg.com/@npmcli/git/-/git-2.0.4.tgz#725f5e32864f3849420e84baf130e426a707cbb7" + integrity sha512-OJZCmJ9DNn1cz9HPXXsPmUBnqaArot3CGYo63CyajHQk+g87rPXVOJByGsskQJhPsUUEXJcsZ2Q6bWd2jSwnBA== + dependencies: + "@npmcli/promise-spawn" "^1.1.0" + lru-cache "^6.0.0" + mkdirp "^1.0.3" + npm-pick-manifest "^6.0.0" + promise-inflight "^1.0.1" + promise-retry "^1.1.1" + semver "^7.3.2" + unique-filename "^1.1.1" + which "^2.0.2" + +"@npmcli/installed-package-contents@^1.0.5": + version "1.0.5" + resolved "https://registry.yarnpkg.com/@npmcli/installed-package-contents/-/installed-package-contents-1.0.5.tgz#cc78565e55d9f14d46acf46a96f70934e516fa3d" + integrity sha512-aKIwguaaqb6ViwSOFytniGvLPb9SMCUm39TgM3SfUo7n0TxUMbwoXfpwyvQ4blm10lzbAwTsvjr7QZ85LvTi4A== + dependencies: + npm-bundled "^1.1.1" + npm-normalize-package-bin "^1.0.1" + read-package-json-fast "^1.1.1" + readdir-scoped-modules "^1.1.0" + "@npmcli/move-file@^1.0.1": version "1.0.1" resolved "https://registry.yarnpkg.com/@npmcli/move-file/-/move-file-1.0.1.tgz#de103070dac0f48ce49cf6693c23af59c0f70464" @@ -2543,6 +2547,30 @@ dependencies: mkdirp "^1.0.4" +"@npmcli/node-gyp@^1.0.0": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@npmcli/node-gyp/-/node-gyp-1.0.1.tgz#dedc4ea9b3c6ef207081ebcd82c053ef60edc478" + integrity sha512-pBqoKPWmuk9iaEcXlLBVRIA6I1kG9JiICU+sG0NuD6NAR461F+02elHJS4WkQxHW2W5rnsfvP/ClKwmsZ9RaaA== + +"@npmcli/promise-spawn@^1.1.0", "@npmcli/promise-spawn@^1.2.0", "@npmcli/promise-spawn@^1.3.0": + version "1.3.2" + resolved "https://registry.yarnpkg.com/@npmcli/promise-spawn/-/promise-spawn-1.3.2.tgz#42d4e56a8e9274fba180dabc0aea6e38f29274f5" + integrity sha512-QyAGYo/Fbj4MXeGdJcFzZ+FkDkomfRBrPM+9QYJSg+PxgAUL+LU3FneQk37rKR2/zjqkCV1BLHccX98wRXG3Sg== + dependencies: + infer-owner "^1.0.4" + +"@npmcli/run-script@^1.3.0": + version "1.8.1" + resolved "https://registry.yarnpkg.com/@npmcli/run-script/-/run-script-1.8.1.tgz#729c5ac7293f250b654504d263952703af6da39c" + integrity sha512-G8c86g9cQHyRINosIcpovzv0BkXQc3urhL1ORf3KTe4TS4UBsg2O4Z2feca/W3pfzdHEJzc83ETBW4aKbb3SaA== + dependencies: + "@npmcli/node-gyp" "^1.0.0" + "@npmcli/promise-spawn" "^1.3.0" + infer-owner "^1.0.4" + node-gyp "^7.1.0" + puka "^1.0.1" + read-package-json-fast "^1.1.3" + "@octokit/auth-token@^2.4.0": version "2.4.4" resolved "https://registry.yarnpkg.com/@octokit/auth-token/-/auth-token-2.4.4.tgz#ee31c69b01d0378c12fd3ffe406030f3d94d3b56" @@ -2699,14 +2727,14 @@ estree-walker "^1.0.1" picomatch "^2.2.2" -"@schematics/angular@11.0.6": - version "11.0.6" - resolved "https://registry.yarnpkg.com/@schematics/angular/-/angular-11.0.6.tgz#5e52f8396e66138df0d6062130399fab830ee79e" - integrity sha512-XUcpOrlcp55PBHrgpIVx69lnhDY6ro35BSRmqNmjXik56qcOkfvdki8vvyW9EsWvu9/sfBSsVDdparlbVois7w== +"@schematics/angular@11.1.0": + version "11.1.0" + resolved "https://registry.yarnpkg.com/@schematics/angular/-/angular-11.1.0.tgz#a0aa7bccd395be9c336089e423399f68cc6054af" + integrity sha512-g04TcC1gLS1ptFYdIO7qZ+lJARBXoK9g+m5KzQoogdrDkCum+wN15bfYKc5hF8cDYQOOqYjRF5GBdS9Uvc4ulQ== dependencies: - "@angular-devkit/core" "11.0.6" - "@angular-devkit/schematics" "11.0.6" - jsonc-parser "2.3.1" + "@angular-devkit/core" "11.1.0" + "@angular-devkit/schematics" "11.1.0" + jsonc-parser "3.0.0" "@schematics/angular@~10.0.5": version "10.0.8" @@ -2724,18 +2752,18 @@ "@angular-devkit/core" "10.1.7" "@angular-devkit/schematics" "10.1.7" -"@schematics/update@0.1100.6": - version "0.1100.6" - resolved "https://registry.yarnpkg.com/@schematics/update/-/update-0.1100.6.tgz#8e76276a3daecfd698b39e7643bc21f3abb3a4d0" - integrity sha512-+B8n+k+zZ3VYOhjNBsLqzjp8O9ZdUWgdpf9L8XAA7mh/oPwufXpExyEc66uAS07imvUMmjz6i8E2eNWV/IjBJg== +"@schematics/update@0.1101.0": + version "0.1101.0" + resolved "https://registry.yarnpkg.com/@schematics/update/-/update-0.1101.0.tgz#7aceee250f0bb917ea567c7fc9145c33182eaea0" + integrity sha512-WcbiTcn+Rr1uYllTLMbYcMfiz5IRZ7OAapISA82DpDkBeYIUf86ANjkEK1qsuU3zoz5i3CbiWvPq/KTlrzh6dg== dependencies: - "@angular-devkit/core" "11.0.6" - "@angular-devkit/schematics" "11.0.6" + "@angular-devkit/core" "11.1.0" + "@angular-devkit/schematics" "11.1.0" "@yarnpkg/lockfile" "1.1.0" - ini "1.3.6" + ini "2.0.0" npm-package-arg "^8.0.0" - pacote "9.5.12" - semver "7.3.2" + pacote "11.1.14" + semver "7.3.4" semver-intersect "1.4.0" "@sheerun/mutationobserver-shim@^0.3.2": @@ -2786,6 +2814,11 @@ pretty-format "^24.8.0" wait-for-expect "^1.3.0" +"@tootallnate/once@1": + version "1.1.2" + resolved "https://registry.yarnpkg.com/@tootallnate/once/-/once-1.1.2.tgz#ccb91445360179a04e7fe6aff78c00ffc1eeaf82" + integrity sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw== + "@types/babel__core@^7.1.7": version "7.1.12" resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.1.12.tgz#4d8e9e51eb265552a7e4f1ff2219ab6133bdfb2d" @@ -3281,6 +3314,13 @@ agent-base@4, agent-base@^4.3.0: dependencies: es6-promisify "^5.0.0" +agent-base@6: + version "6.0.2" + resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-6.0.2.tgz#49fff58577cfee3f37176feab4c22e00f86d7f77" + integrity sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ== + dependencies: + debug "4" + agent-base@~4.2.1: version "4.2.1" resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-4.2.1.tgz#d89e5999f797875674c07d87f260fc41e83e8ca9" @@ -3295,6 +3335,15 @@ agentkeepalive@^3.4.1: dependencies: humanize-ms "^1.2.1" +agentkeepalive@^4.1.3: + version "4.1.3" + resolved "https://registry.yarnpkg.com/agentkeepalive/-/agentkeepalive-4.1.3.tgz#360a09d743a1f4fde749f9ba07caa6575d08259a" + integrity sha512-wn8fw19xKZwdGPO47jivonaHRTd+nGOMP1z11sgGeQzDy2xd5FG0R67dIMcKHDE2cJ5y+YXV30XVGUBPRSY7Hg== + dependencies: + debug "^4.1.0" + depd "^1.1.2" + humanize-ms "^1.2.1" + aggregate-error@^3.0.0: version "3.1.0" resolved "https://registry.yarnpkg.com/aggregate-error/-/aggregate-error-3.1.0.tgz#92670ff50f5359bdb7a3e0d40d0ec30c5737687a" @@ -3649,7 +3698,19 @@ atob@^2.1.2: resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9" integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg== -autoprefixer@9.8.6, autoprefixer@^9.6.5: +autoprefixer@10.2.1: + version "10.2.1" + resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-10.2.1.tgz#ce96870df6ddd9ba4c9bbba56c54b9ef4b00a962" + integrity sha512-dwP0UjyYvROUvtU+boBx8ff5pPWami1NGTrJs9YUsS/oZVbRAcdNHOOuXSA1fc46tgKqe072cVaKD69rvCc3QQ== + dependencies: + browserslist "^4.16.1" + caniuse-lite "^1.0.30001173" + colorette "^1.2.1" + fraction.js "^4.0.13" + normalize-range "^0.1.2" + postcss-value-parser "^4.1.0" + +autoprefixer@^9.6.5: version "9.8.6" resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-9.8.6.tgz#3b73594ca1bf9266320c5acf1588d74dea74210f" integrity sha512-XrvP4VVHdRBCdX1S3WXVD8+RyG9qeb1D5Sn1DeLiG2xfSpzellk5k54xbUERJ3M5DggQxes39UGOTP8CFrEGbg== @@ -3693,15 +3754,14 @@ babel-jest@^25.5.1: graceful-fs "^4.2.4" slash "^3.0.0" -babel-loader@8.1.0: - version "8.1.0" - resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-8.1.0.tgz#c611d5112bd5209abe8b9fa84c3e4da25275f1c3" - integrity sha512-7q7nC1tYOrqvUrN3LQK4GwSk/TQorZSOlO9C+RZDZpODgyN4ZlCqE5q9cDsyWOliN+aU9B4JX01xK9eJXowJLw== +babel-loader@8.2.2: + version "8.2.2" + resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-8.2.2.tgz#9363ce84c10c9a40e6c753748e1441b60c8a0b81" + integrity sha512-JvTd0/D889PQBtUXJ2PXaKU/pjZDMtHA9V2ecm+eNRmmBCMR09a+fmpGTNwnJtFmFl5Ei7Vy47LjBb+L0wQ99g== dependencies: - find-cache-dir "^2.1.0" + find-cache-dir "^3.3.1" loader-utils "^1.4.0" - mkdirp "^0.5.3" - pify "^4.0.1" + make-dir "^3.1.0" schema-utils "^2.6.5" babel-plugin-dynamic-import-node@^2.3.3: @@ -3996,7 +4056,7 @@ browserify-zlib@^0.2.0: dependencies: pako "~1.0.5" -browserslist@^4.0.0, browserslist@^4.12.0, browserslist@^4.14.5, browserslist@^4.16.0, browserslist@^4.7.0, browserslist@^4.9.1: +browserslist@^4.0.0, browserslist@^4.12.0, browserslist@^4.14.5, browserslist@^4.16.1, browserslist@^4.7.0, browserslist@^4.9.1: version "4.16.1" resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.16.1.tgz#bf757a2da376b3447b800a16f0f1c96358138766" integrity sha512-UXhDrwqsNcpTYJBTZsbGATDxZbiVDsx6UjpmRUmtnP10pr8wAYr5LgFoEFw9ixriQH2mv/NX2SfGzE/o8GndLA== @@ -4265,7 +4325,7 @@ camelcase@^4.1.0: resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-4.1.0.tgz#d545635be1e33c542649c69173e5de6acfae34dd" integrity sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0= -camelcase@^6.0.0: +camelcase@^6.2.0: version "6.2.0" resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.2.0.tgz#924af881c9d525ac9d87f40d964e5cea982a1809" integrity sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg== @@ -4430,10 +4490,10 @@ cipher-base@^1.0.0, cipher-base@^1.0.1, cipher-base@^1.0.3: inherits "^2.0.1" safe-buffer "^5.0.1" -circular-dependency-plugin@5.2.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/circular-dependency-plugin/-/circular-dependency-plugin-5.2.0.tgz#e09dbc2dd3e2928442403e2d45b41cea06bc0a93" - integrity sha512-7p4Kn/gffhQaavNfyDFg7LS5S/UT1JAjyGd4UqR2+jzoYF02eDkj0Ec3+48TsIa4zghjLY87nQHIh/ecK9qLdw== +circular-dependency-plugin@5.2.2: + version "5.2.2" + resolved "https://registry.yarnpkg.com/circular-dependency-plugin/-/circular-dependency-plugin-5.2.2.tgz#39e836079db1d3cf2f988dc48c5188a44058b600" + integrity sha512-g38K9Cm5WRwlaH6g03B9OEz/0qRizI+2I7n+Gz+L5DxXJAPAiWQvwlYNm1V1jkdpUv95bOe/ASm2vfi/G560jQ== class-utils@^0.3.5: version "0.3.6" @@ -5031,10 +5091,10 @@ copy-descriptor@^0.1.0: resolved "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d" integrity sha1-Z29us8OZl8LuGsOpJP1hJHSPV40= -copy-webpack-plugin@6.2.1: - version "6.2.1" - resolved "https://registry.yarnpkg.com/copy-webpack-plugin/-/copy-webpack-plugin-6.2.1.tgz#8015e4d5c5e637ab7b39c76daa9e03c7a4bf1ae5" - integrity sha512-VH2ZTMIBsx4p++Lmpg77adZ0KUyM5gFR/9cuTrbneNnJlcQXUFvsNariPqq2dq2kV3F2skHiDGPQCyKWy1+U0Q== +copy-webpack-plugin@6.3.2: + version "6.3.2" + resolved "https://registry.yarnpkg.com/copy-webpack-plugin/-/copy-webpack-plugin-6.3.2.tgz#0e920a6c181a5052aa6e2861b164bda03f83afeb" + integrity sha512-MgJ1uouLIbDg4ST1GzqrGQyKoXY5iPqi6fghFqarijam7FQcBa/r6Rg0VkoIuzx75Xq8iAMghyOueMkWUQ5OaA== dependencies: cacache "^15.0.5" fast-glob "^3.2.4" @@ -5048,18 +5108,18 @@ copy-webpack-plugin@6.2.1: serialize-javascript "^5.0.1" webpack-sources "^1.4.3" -core-js-compat@^3.6.2: - version "3.8.2" - resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.8.2.tgz#3717f51f6c3d2ebba8cbf27619b57160029d1d4c" - integrity sha512-LO8uL9lOIyRRrQmZxHZFl1RV+ZbcsAkFWTktn5SmH40WgLtSNYN4m4W2v9ONT147PxBY/XrRhrWq8TlvObyUjQ== +core-js-compat@^3.8.0: + version "3.8.3" + resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.8.3.tgz#9123fb6b9cad30f0651332dc77deba48ef9b0b3f" + integrity sha512-1sCb0wBXnBIL16pfFG1Gkvei6UzvKyTNYpiC41yrdjEv0UoJoq9E/abTMzyYJ6JpTkAj15dLjbqifIzEBDVvog== dependencies: - browserslist "^4.16.0" + browserslist "^4.16.1" semver "7.0.0" -core-js@3.6.5: - version "3.6.5" - resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.6.5.tgz#7395dc273af37fb2e50e9bd3d9fe841285231d1a" - integrity sha512-vZVEEwZoIsI+vPEuoF9Iqf5H7/M3eeQqWlQnYa8FSKKePuYTf5MWnxb5SDAzCa60b3JBRS5g9b+Dq7b1y/RCrA== +core-js@3.8.2: + version "3.8.2" + resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.8.2.tgz#0a1fd6709246da9ca8eff5bb0cbd15fba9ac7044" + integrity sha512-FfApuSRgrR6G5s58casCBd9M2k+4ikuu4wbW6pJyYU7bd9zvFc9qf7vr5xmrZOhT9nn+8uwlH1oRR9jTnFoA3A== core-util-is@1.0.2, core-util-is@~1.0.0: version "1.0.2" @@ -5118,6 +5178,17 @@ create-hmac@^1.1.0, create-hmac@^1.1.4, create-hmac@^1.1.7: safe-buffer "^5.0.1" sha.js "^2.4.8" +critters@0.0.6: + version "0.0.6" + resolved "https://registry.yarnpkg.com/critters/-/critters-0.0.6.tgz#b71384113d8b5f5c82f3aeba80c122437f195d8c" + integrity sha512-NUB3Om7tkf+XWi9+2kJ2A3l4/tHORDI1UT+nHxUqay2B/tJvMpiXcklDDLBH3fPn9Pe23uu0we/08Ukjy4cLCQ== + dependencies: + chalk "^4.1.0" + css "^3.0.0" + parse5 "^6.0.1" + parse5-htmlparser2-tree-adapter "^6.0.1" + pretty-bytes "^5.3.0" + cross-spawn@^6.0.0: version "6.0.5" resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4" @@ -5168,22 +5239,22 @@ css-declaration-sorter@^4.0.1: postcss "^7.0.1" timsort "^0.3.0" -css-loader@4.3.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-4.3.0.tgz#c888af64b2a5b2e85462c72c0f4a85c7e2e0821e" - integrity sha512-rdezjCjScIrsL8BSYszgT4s476IcNKt6yX69t0pHjJVnPUTDpn4WfIpDQTN3wCJvUvfsz/mFjuGOekf3PY3NUg== +css-loader@5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-5.0.1.tgz#9e4de0d6636a6266a585bd0900b422c85539d25f" + integrity sha512-cXc2ti9V234cq7rJzFKhirb2L2iPy8ZjALeVJAozXYz9te3r4eqLSixNAbMDJSgJEQywqXzs8gonxaboeKqwiw== dependencies: - camelcase "^6.0.0" + camelcase "^6.2.0" cssesc "^3.0.0" - icss-utils "^4.1.1" + icss-utils "^5.0.0" loader-utils "^2.0.0" - postcss "^7.0.32" - postcss-modules-extract-imports "^2.0.0" - postcss-modules-local-by-default "^3.0.3" - postcss-modules-scope "^2.2.0" - postcss-modules-values "^3.0.0" + postcss "^8.1.4" + postcss-modules-extract-imports "^3.0.0" + postcss-modules-local-by-default "^4.0.0" + postcss-modules-scope "^3.0.0" + postcss-modules-values "^4.0.0" postcss-value-parser "^4.1.0" - schema-utils "^2.7.1" + schema-utils "^3.0.0" semver "^7.3.2" css-parse@~2.0.0: @@ -5247,6 +5318,15 @@ css@^2.0.0: source-map-resolve "^0.5.2" urix "^0.1.0" +css@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/css/-/css-3.0.0.tgz#4447a4d58fdd03367c516ca9f64ae365cee4aa5d" + integrity sha512-DG9pFfwOrzc+hawpmqX/dHYHJG+Bsdb0klhyi1sDneOgGOXy9wQIC8hzyVp1e4NRYDBdxcylvywPkkXCHAzTyQ== + dependencies: + inherits "^2.0.4" + source-map "^0.6.1" + source-map-resolve "^0.6.0" + cssauron@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/cssauron/-/cssauron-1.4.0.tgz#a6602dff7e04a8306dc0db9a551e92e8b5662ad8" @@ -5467,27 +5547,20 @@ debug@3.1.0, debug@~3.1.0: dependencies: ms "2.0.0" -debug@4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/debug/-/debug-4.2.0.tgz#7f150f93920e94c58f5574c2fd01a3110effe7f1" - integrity sha512-IX2ncY78vDTjZMFUdmsvIRFY2Cf4FnD0wRs+nQwJU8Lu99/tPFdb0VybiiMTPe3I6rQmwsqQqRBvxU+bZ/I8sg== +debug@4, debug@4.3.1, debug@^4.1.0, debug@^4.1.1: + version "4.3.1" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.1.tgz#f0d229c505e0c6d8c49ac553d1b13dc183f6b2ee" + integrity sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ== dependencies: ms "2.1.2" -debug@^3.1.0, debug@^3.1.1, debug@^3.2.5: +debug@^3.1.0, debug@^3.1.1, debug@^3.2.6: version "3.2.7" resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.7.tgz#72580b7e9145fb39b6676f9c5e5fb100b934179a" integrity sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ== dependencies: ms "^2.1.1" -debug@^4.1.0, debug@^4.1.1: - version "4.3.1" - resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.1.tgz#f0d229c505e0c6d8c49ac553d1b13dc183f6b2ee" - integrity sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ== - dependencies: - ms "2.1.2" - debuglog@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/debuglog/-/debuglog-1.0.1.tgz#aa24ffb9ac3df9a2351837cfb2d279360cd78492" @@ -5630,7 +5703,7 @@ delegates@^1.0.0: resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a" integrity sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o= -depd@~1.1.2: +depd@^1.1.2, depd@~1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9" integrity sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak= @@ -5882,7 +5955,7 @@ encodeurl@~1.0.2: resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59" integrity sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k= -encoding@^0.1.11: +encoding@^0.1.11, encoding@^0.1.12: version "0.1.13" resolved "https://registry.yarnpkg.com/encoding/-/encoding-0.1.13.tgz#56574afdd791f54a8e9b2785c0582a2d26210fa9" integrity sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A== @@ -5896,13 +5969,13 @@ end-of-stream@^1.0.0, end-of-stream@^1.1.0: dependencies: once "^1.4.0" -enhanced-resolve@5.3.1: - version "5.3.1" - resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.3.1.tgz#3f988d0d7775bdc2d96ede321dc81f8249492f57" - integrity sha512-G1XD3MRGrGfNcf6Hg0LVZG7GIKcYkbfHa5QMxt1HDUTdYoXH0JR1xXyg+MaKLF73E9A27uWNVxvFivNRYeUB6w== +enhanced-resolve@5.6.0: + version "5.6.0" + resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.6.0.tgz#ad19a1665f230a6e384724a30acf3f7332b2b3f0" + integrity sha512-C3GGDfFZmqUa21o10YRKbZN60DPl0HyXKXxoEnQMWso9u7KMU23L7CBHfr/rVxORddY/8YQZaU2MZ1ewTS8Pcw== dependencies: graceful-fs "^4.2.4" - tapable "^2.0.0" + tapable "^2.2.0" enhanced-resolve@^4.3.0: version "4.3.0" @@ -6384,14 +6457,7 @@ fastq@^1.6.0: dependencies: reusify "^1.0.4" -faye-websocket@^0.10.0: - version "0.10.0" - resolved "https://registry.yarnpkg.com/faye-websocket/-/faye-websocket-0.10.0.tgz#4e492f8d04dfb6f89003507f6edbf2d501e7c6f4" - integrity sha1-TkkvjQTftviQA1B/btvy1QHnxvQ= - dependencies: - websocket-driver ">=0.5.1" - -faye-websocket@~0.11.1: +faye-websocket@^0.11.3: version "0.11.3" resolved "https://registry.yarnpkg.com/faye-websocket/-/faye-websocket-0.11.3.tgz#5c0e9a8968e8912c286639fde977a8b209f2508e" integrity sha512-D2y4bovYpzziGgbHYtGCMjlJM36vAl/y+xUyn1C+FVx8szd1E+86KwVw6XvYSzOP8iMpm1X0I4xJD+QtUb36OA== @@ -6429,10 +6495,10 @@ figures@^3.0.0: dependencies: escape-string-regexp "^1.0.5" -file-loader@6.1.1: - version "6.1.1" - resolved "https://registry.yarnpkg.com/file-loader/-/file-loader-6.1.1.tgz#a6f29dfb3f5933a1c350b2dbaa20ac5be0539baa" - integrity sha512-Klt8C4BjWSXYQAfhpYYkG4qHNTna4toMHEbWrI5IuVoxbU6uiDKeKAP99R8mmbJi3lvewn/jQBOgU4+NS3tDQw== +file-loader@6.2.0: + version "6.2.0" + resolved "https://registry.yarnpkg.com/file-loader/-/file-loader-6.2.0.tgz#baef7cf8e1840df325e4390b4484879480eebe4d" + integrity sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw== dependencies: loader-utils "^2.0.0" schema-utils "^3.0.0" @@ -6590,6 +6656,11 @@ forwarded@~0.1.2: resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.1.2.tgz#98c23dab1175657b8c0573e8ceccd91b0ff18c84" integrity sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ= +fraction.js@^4.0.13: + version "4.0.13" + resolved "https://registry.yarnpkg.com/fraction.js/-/fraction.js-4.0.13.tgz#3c1c315fa16b35c85fffa95725a36fa729c69dfe" + integrity sha512-E1fz2Xs9ltlUp+qbiyx9wmt2n9dRzPsS11Jtdb8D2o+cC7wr9xkkKsVKJuBX0ST+LVS+LhLO+SbLJNtfWcJvXA== + fragment-cache@^0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/fragment-cache/-/fragment-cache-0.2.1.tgz#4290fad27f13e89be7f33799c6bc5a0abfff0d19" @@ -6645,7 +6716,7 @@ fs-minipass@^1.2.5: dependencies: minipass "^2.6.0" -fs-minipass@^2.0.0: +fs-minipass@^2.0.0, fs-minipass@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-2.1.0.tgz#7f5036fdbf12c63c169190cbe4199c852271f9fb" integrity sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg== @@ -7002,7 +7073,7 @@ got@^11.5.2: p-cancelable "^2.0.0" responselike "^2.0.0" -graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.2, graceful-fs@^4.2.4: +graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.2, graceful-fs@^4.2.3, graceful-fs@^4.2.4: version "4.2.4" resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.4.tgz#2256bde14d3632958c465ebc96dc467ca07a29fb" integrity sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw== @@ -7209,7 +7280,7 @@ http-cache-semantics@^3.8.1: resolved "https://registry.yarnpkg.com/http-cache-semantics/-/http-cache-semantics-3.8.1.tgz#39b0e16add9b605bf0a9ef3d9daaf4843b4cacd2" integrity sha512-5ai2iksyV8ZXmnZhHH4rWPoxxistEexSi5936zIQ1bnNTW5VnA85B6P/VpXiRM017IgRvb2kKo1a//y+0wSp3w== -http-cache-semantics@^4.0.0: +http-cache-semantics@^4.0.0, http-cache-semantics@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz#49e91c5cbf36c9b94bcfcd71c23d5249ec74e390" integrity sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ== @@ -7264,6 +7335,15 @@ http-proxy-agent@^2.1.0: agent-base "4" debug "3.1.0" +http-proxy-agent@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz#8a8c8ef7f5932ccf953c296ca8291b95aa74aa3a" + integrity sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg== + dependencies: + "@tootallnate/once" "1" + agent-base "6" + debug "4" + http-proxy-middleware@0.19.1: version "0.19.1" resolved "https://registry.yarnpkg.com/http-proxy-middleware/-/http-proxy-middleware-0.19.1.tgz#183c7dc4aa1479150306498c210cdaf96080a43a" @@ -7313,6 +7393,14 @@ https-proxy-agent@^2.2.1, https-proxy-agent@^2.2.3: agent-base "^4.3.0" debug "^3.1.0" +https-proxy-agent@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz#e2a90542abb68a762e0a0850f6c9edadfd8506b2" + integrity sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA== + dependencies: + agent-base "6" + debug "4" + human-signals@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-1.1.1.tgz#c5b1cd14f50aeae09ab6c59fe63ba3395fe4dfa3" @@ -7325,7 +7413,7 @@ humanize-ms@^1.2.1: dependencies: ms "^2.0.0" -iconv-lite@0.4.24, iconv-lite@^0.4.24: +iconv-lite@0.4.24, iconv-lite@^0.4.24, iconv-lite@^0.4.4: version "0.4.24" resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== @@ -7339,12 +7427,10 @@ iconv-lite@^0.6.2: dependencies: safer-buffer ">= 2.1.2 < 3.0.0" -icss-utils@^4.0.0, icss-utils@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/icss-utils/-/icss-utils-4.1.1.tgz#21170b53789ee27447c2f47dd683081403f9a467" - integrity sha512-4aFq7wvWyMHKgxsH8QQtGpvbASCf+eM3wPRLI6R+MgAnTCZ6STYsRvttLvRWK0Nfif5piF394St3HeJDaljGPA== - dependencies: - postcss "^7.0.14" +icss-utils@^5.0.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/icss-utils/-/icss-utils-5.1.0.tgz#c6be6858abd013d768e98366ae47e25d5887b1ae" + integrity sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA== ieee754@^1.1.13, ieee754@^1.1.4: version "1.2.1" @@ -7356,7 +7442,7 @@ iferr@^0.1.5: resolved "https://registry.yarnpkg.com/iferr/-/iferr-0.1.5.tgz#c60eed69e6d8fdb6b3104a1fcbca1c192dc5b501" integrity sha1-xg7taebY/bazEEofy8ocGS3FtQE= -ignore-walk@^3.0.1: +ignore-walk@^3.0.1, ignore-walk@^3.0.3: version "3.0.3" resolved "https://registry.yarnpkg.com/ignore-walk/-/ignore-walk-3.0.3.tgz#017e2447184bfeade7c238e4aefdd1e8f95b1e37" integrity sha512-m7o6xuOaT1aqheYHKf8W6J5pYH85ZI9w077erOzLje3JsB1gkafkAhHHY19dqjulgIZHFm32Cp5uNZgcQqdJKw== @@ -7470,10 +7556,10 @@ inherits@2.0.3: resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" integrity sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4= -ini@1.3.6: - version "1.3.6" - resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.6.tgz#f1c46a2a93a253e7b3905115e74d527cd23061a1" - integrity sha512-IZUoxEjNjubzrmvzZU4lKP7OnYmX72XRl3sqkfJhBKweKi5rnGi5+IUdlj/H1M+Ip5JQ1WzaDMOBRY90Ajc5jg== +ini@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/ini/-/ini-2.0.0.tgz#e5fd556ecdd5726be978fa1001862eacb0a94bc5" + integrity sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA== ini@^1.3.2, ini@^1.3.4: version "1.3.8" @@ -7663,7 +7749,7 @@ is-color-stop@^1.0.0: rgb-regex "^1.0.1" rgba-regex "^1.0.0" -is-core-module@^2.0.0, is-core-module@^2.1.0: +is-core-module@^2.1.0: version "2.2.0" resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.2.0.tgz#97037ef3d52224d85163f5597b2b63d9afed981a" integrity sha512-XRAfAdyyY5F5cOXn7hYQDqh2Xmii+DEfIcQGxK/uNwMHhIkPWO0g8msXcbzLe+MpGoR951MlqM/2iIlU4vKDdQ== @@ -7780,6 +7866,11 @@ is-interactive@^1.0.0: resolved "https://registry.yarnpkg.com/is-interactive/-/is-interactive-1.0.0.tgz#cea6e6ae5c870a7b0a0004070b7b587e0252912e" integrity sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w== +is-lambda@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-lambda/-/is-lambda-1.0.1.tgz#3d9877899e6a53efc0160504cde15f82e6f061d5" + integrity sha1-PZh3iZ5qU+/AFgUEzeFfgubwYdU= + is-module@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-module/-/is-module-1.0.0.tgz#3258fb69f78c14d5b815d664336b4cffb6441591" @@ -8446,10 +8537,10 @@ jest-watcher@^25.5.0: jest-util "^25.5.0" string-length "^3.1.0" -jest-worker@26.5.0: - version "26.5.0" - resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-26.5.0.tgz#87deee86dbbc5f98d9919e0dadf2c40e3152fa30" - integrity sha512-kTw66Dn4ZX7WpjZ7T/SUDgRhapFRKWmisVAF0Rv4Fu8SLFD7eLbqpLvbxVqYhSgaWa7I+bW7pHnbyfNsH6stug== +jest-worker@26.6.2, jest-worker@^26.5.0: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-26.6.2.tgz#7f72cbc4d643c365e27b9fd775f9d0eaa9c7a8ed" + integrity sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ== dependencies: "@types/node" "*" merge-stream "^2.0.0" @@ -8463,15 +8554,6 @@ jest-worker@^25.5.0: merge-stream "^2.0.0" supports-color "^7.0.0" -jest-worker@^26.5.0: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-26.6.2.tgz#7f72cbc4d643c365e27b9fd775f9d0eaa9c7a8ed" - integrity sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ== - dependencies: - "@types/node" "*" - merge-stream "^2.0.0" - supports-color "^7.0.0" - jest@^25.0.0: version "25.5.4" resolved "https://registry.yarnpkg.com/jest/-/jest-25.5.4.tgz#f21107b6489cfe32b076ce2adcadee3587acb9db" @@ -8576,7 +8658,7 @@ json-stringify-safe@^5.0.1, json-stringify-safe@~5.0.1: resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" integrity sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus= -json3@^3.3.2: +json3@^3.3.3: version "3.3.3" resolved "https://registry.yarnpkg.com/json3/-/json3-3.3.3.tgz#7fc10e375fc5ae42c4705a5cc0aa6f62be305b81" integrity sha512-c7/8mbUsKigAbLkD5B010BK4D9LZm7A1pNItkEwiUZRpIN66exu/e7YQWysGun+TRKaJp8MhemM+VkfWv42aCA== @@ -8595,7 +8677,12 @@ json5@^1.0.1: dependencies: minimist "^1.2.0" -jsonc-parser@2.3.1, jsonc-parser@^2.3.0: +jsonc-parser@3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/jsonc-parser/-/jsonc-parser-3.0.0.tgz#abdd785701c7e7eaca8a9ec8cf070ca51a745a22" + integrity sha512-fQzRfAbIBnR0IQvftw9FJveWiHp72Fg20giDrHz6TdfB12UH/uue0D3hm57UB5KgAVuniLMCaS8P1IMj9NR7cA== + +jsonc-parser@^2.3.0: version "2.3.1" resolved "https://registry.yarnpkg.com/jsonc-parser/-/jsonc-parser-2.3.1.tgz#59549150b133f2efacca48fe9ce1ec0659af2342" integrity sha512-H8jvkz1O50L3dMZCsLqiuB2tA7muqbSg1AtGEkN0leAqGjsUzDJir3Zwr02BhqdcITPg3ei3mZ+HjMocAknhhg== @@ -8616,7 +8703,7 @@ jsonfile@^6.0.1: optionalDependencies: graceful-fs "^4.1.6" -jsonparse@^1.2.0: +jsonparse@^1.2.0, jsonparse@^1.3.1: version "1.3.1" resolved "https://registry.yarnpkg.com/jsonparse/-/jsonparse-1.3.1.tgz#3f4dae4a91fac315f71062f8521cc239f1366280" integrity sha1-P02uSpH6wxX3EGL4UhzCOfE2YoA= @@ -8728,20 +8815,22 @@ lerna@^3.19.0: import-local "^2.0.0" npmlog "^4.1.2" -less-loader@7.0.2: - version "7.0.2" - resolved "https://registry.yarnpkg.com/less-loader/-/less-loader-7.0.2.tgz#0d73a49ec32a9d3ff12614598e6e2b47fb2a35c4" - integrity sha512-7MKlgjnkCf63E3Lv6w2FvAEgLMx3d/tNBExITcanAq7ys5U8VPWT3F6xcRjYmdNfkoQ9udoVFb1r2azSiTnD6w== +less-loader@7.2.1: + version "7.2.1" + resolved "https://registry.yarnpkg.com/less-loader/-/less-loader-7.2.1.tgz#a923df8567256751b0ab4e0c3eecff10fd0a5876" + integrity sha512-4v83WZ7KGbluOWPgk3iNjreAaJDNStfmmdfJbQIib3Jlc8mejV3w6A9xU+EkaivjBVqwQEK0y8cFthyNeGnrTQ== dependencies: klona "^2.0.4" loader-utils "^2.0.0" schema-utils "^3.0.0" -less@3.12.2: - version "3.12.2" - resolved "https://registry.yarnpkg.com/less/-/less-3.12.2.tgz#157e6dd32a68869df8859314ad38e70211af3ab4" - integrity sha512-+1V2PCMFkL+OIj2/HrtrvZw0BC0sYLMICJfbQjuj/K8CEnlrFX6R5cKKgzzttsZDHyxQNL1jqMREjKN3ja/E3Q== +less@4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/less/-/less-4.1.0.tgz#a12708d1951239db1c9d7eaa405f1ebac9a75b8d" + integrity sha512-w1Ag/f34g7LwtQ/sMVSGWIyZx+gG9ZOAEtyxeX1fG75is6BMyC2lD5kG+1RueX7PkAvlQBm2Lf2aN2j0JbVr2A== dependencies: + copy-anything "^2.0.1" + parse-node-version "^1.0.1" tslib "^1.10.0" optionalDependencies: errno "^0.1.1" @@ -8749,7 +8838,7 @@ less@3.12.2: image-size "~0.5.0" make-dir "^2.1.0" mime "^1.4.1" - native-request "^1.0.5" + needle "^2.5.2" source-map "~0.6.0" less@^3.10.3: @@ -8781,10 +8870,10 @@ levn@~0.3.0: prelude-ls "~1.1.2" type-check "~0.3.2" -license-webpack-plugin@2.3.1: - version "2.3.1" - resolved "https://registry.yarnpkg.com/license-webpack-plugin/-/license-webpack-plugin-2.3.1.tgz#08eddb2f776c7c64c02f308a00e017d6e824d0b6" - integrity sha512-yhqTmlYIEpZWA122lf6E0G8+rkn0AzoQ1OpzUKKs/lXUqG1plmGnwmkuuPlfggzJR5y6DLOdot/Tv00CC51CeQ== +license-webpack-plugin@2.3.11: + version "2.3.11" + resolved "https://registry.yarnpkg.com/license-webpack-plugin/-/license-webpack-plugin-2.3.11.tgz#0d93188a31fce350a44c86212badbaf33dcd29d8" + integrity sha512-0iVGoX5vx0WDy8dmwTTpOOMYiGqILyUbDeVMFH52AjgBlS58lHwOlFMSoqg5nY8Kxl6+FRKyUZY/UdlQaOyqDw== dependencies: "@types/webpack-sources" "^0.1.5" webpack-sources "^1.2.0" @@ -9052,7 +9141,7 @@ make-dir@^2.0.0, make-dir@^2.1.0: pify "^4.0.1" semver "^5.6.0" -make-dir@^3.0.0, make-dir@^3.0.2: +make-dir@^3.0.0, make-dir@^3.0.2, make-dir@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-3.1.0.tgz#415e967046b3a7f1d185277d84aa58203726a13f" integrity sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw== @@ -9081,6 +9170,27 @@ make-fetch-happen@^5.0.0: socks-proxy-agent "^4.0.0" ssri "^6.0.0" +make-fetch-happen@^8.0.9: + version "8.0.13" + resolved "https://registry.yarnpkg.com/make-fetch-happen/-/make-fetch-happen-8.0.13.tgz#3692e1fdf027343c782e53bfe1f941fe85db9462" + integrity sha512-rQ5NijwwdU8tIaBrpTtSVrNCcAJfyDRcKBC76vOQlyJX588/88+TE+UpjWl4BgG7gCkp29wER7xcRqkeg+x64Q== + dependencies: + agentkeepalive "^4.1.3" + cacache "^15.0.5" + http-cache-semantics "^4.1.0" + http-proxy-agent "^4.0.1" + https-proxy-agent "^5.0.0" + is-lambda "^1.0.1" + lru-cache "^6.0.0" + minipass "^3.1.3" + minipass-collect "^1.0.2" + minipass-fetch "^1.3.2" + minipass-flush "^1.0.5" + minipass-pipeline "^1.2.4" + promise-retry "^1.1.1" + socks-proxy-agent "^5.0.0" + ssri "^8.0.0" + makeerror@1.0.x: version "1.0.11" resolved "https://registry.yarnpkg.com/makeerror/-/makeerror-1.0.11.tgz#e01a5c9109f2af79660e4e8b9587790184f5a96c" @@ -9317,10 +9427,10 @@ min-indent@^1.0.0: resolved "https://registry.yarnpkg.com/min-indent/-/min-indent-1.0.1.tgz#a63f681673b30571fbe8bc25686ae746eefa9869" integrity sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg== -mini-css-extract-plugin@1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/mini-css-extract-plugin/-/mini-css-extract-plugin-1.2.1.tgz#30ea7dee632b3002b0c77aeed447790408cb247e" - integrity sha512-G3yw7/TQaPfkuiR73MDcyiqhyP8SnbmLhUbpC76H+wtQxA6wfKhMCQOCb6wnPK0dQbjORAeOILQqEesg4/wF7A== +mini-css-extract-plugin@1.3.3: + version "1.3.3" + resolved "https://registry.yarnpkg.com/mini-css-extract-plugin/-/mini-css-extract-plugin-1.3.3.tgz#7802e62b34199aa7d1a62e654395859a836486a0" + integrity sha512-7lvliDSMiuZc81kI+5/qxvn47SCM7BehXex3f2c6l/pR3Goj58IQxZh9nuPQ3AkGQgoETyXuIqLDaO5Oa0TyBw== dependencies: loader-utils "^2.0.0" schema-utils "^3.0.0" @@ -9372,6 +9482,17 @@ minipass-collect@^1.0.2: dependencies: minipass "^3.0.0" +minipass-fetch@^1.3.0, minipass-fetch@^1.3.2: + version "1.3.3" + resolved "https://registry.yarnpkg.com/minipass-fetch/-/minipass-fetch-1.3.3.tgz#34c7cea038c817a8658461bf35174551dce17a0a" + integrity sha512-akCrLDWfbdAWkMLBxJEeWTdNsjML+dt5YgOI4gJ53vuO0vrmYQkUPxa6j6V65s9CcePIr2SSWqjT2EcrNseryQ== + dependencies: + minipass "^3.1.0" + minipass-sized "^1.0.3" + minizlib "^2.0.0" + optionalDependencies: + encoding "^0.1.12" + minipass-flush@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/minipass-flush/-/minipass-flush-1.0.5.tgz#82e7135d7e89a50ffe64610a787953c4c4cbb373" @@ -9379,13 +9500,28 @@ minipass-flush@^1.0.5: dependencies: minipass "^3.0.0" -minipass-pipeline@^1.2.2: +minipass-json-stream@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/minipass-json-stream/-/minipass-json-stream-1.0.1.tgz#7edbb92588fbfc2ff1db2fc10397acb7b6b44aa7" + integrity sha512-ODqY18UZt/I8k+b7rl2AENgbWE8IDYam+undIJONvigAz8KR5GWblsFTEfQs0WODsjbSXWlm+JHEv8Gr6Tfdbg== + dependencies: + jsonparse "^1.3.1" + minipass "^3.0.0" + +minipass-pipeline@^1.2.2, minipass-pipeline@^1.2.4: version "1.2.4" resolved "https://registry.yarnpkg.com/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz#68472f79711c084657c067c5c6ad93cddea8214c" integrity sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A== dependencies: minipass "^3.0.0" +minipass-sized@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/minipass-sized/-/minipass-sized-1.0.3.tgz#70ee5a7c5052070afacfbc22977ea79def353b70" + integrity sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g== + dependencies: + minipass "^3.0.0" + minipass@^2.3.5, minipass@^2.6.0, minipass@^2.8.6, minipass@^2.9.0: version "2.9.0" resolved "https://registry.yarnpkg.com/minipass/-/minipass-2.9.0.tgz#e713762e7d3e32fed803115cf93e04bca9fcc9a6" @@ -9394,7 +9530,7 @@ minipass@^2.3.5, minipass@^2.6.0, minipass@^2.8.6, minipass@^2.9.0: safe-buffer "^5.1.2" yallist "^3.0.0" -minipass@^3.0.0, minipass@^3.1.1: +minipass@^3.0.0, minipass@^3.1.0, minipass@^3.1.1, minipass@^3.1.3: version "3.1.3" resolved "https://registry.yarnpkg.com/minipass/-/minipass-3.1.3.tgz#7d42ff1f39635482e15f9cdb53184deebd5815fd" integrity sha512-Mgd2GdMVzY+x3IJ+oHnVM+KG3lA5c8tnabyJKmHSaG2kAGpudxuOf8ToDkhumF7UzME7DecbQE9uOZhNm7PuJg== @@ -9408,7 +9544,7 @@ minizlib@^1.2.1: dependencies: minipass "^2.9.0" -minizlib@^2.1.1: +minizlib@^2.0.0, minizlib@^2.1.1: version "2.1.2" resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-2.1.2.tgz#e90d3466ba209b932451508a11ce3d3632145931" integrity sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg== @@ -9555,6 +9691,11 @@ nan@^2.12.1: resolved "https://registry.yarnpkg.com/nan/-/nan-2.14.2.tgz#f5376400695168f4cc694ac9393d0c9585eeea19" integrity sha512-M2ufzIiINKCuDfBSAUr1vWQ+vuVcA9kqx8JJUsbQi6yf1uGRyb7HfpdfUr5qLXf3B/t8dPvcjhKMmlfnP47EzQ== +nanoid@^3.1.20: + version "3.1.20" + resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.1.20.tgz#badc263c6b1dcf14b71efaa85f6ab4c1d6cfc788" + integrity sha512-a1cQNyczgKbLX9jwbS/+d7W8fX/RfgYR7lVWwWOGIPNgK2m0MWvrGF6/m4kk6U3QcFMnZf3RIhL0v2Jgh/0Uxw== + nanomatch@^1.2.9: version "1.2.13" resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119" @@ -9582,6 +9723,15 @@ natural-compare@^1.4.0: resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc= +needle@^2.5.2: + version "2.6.0" + resolved "https://registry.yarnpkg.com/needle/-/needle-2.6.0.tgz#24dbb55f2509e2324b4a99d61f413982013ccdbe" + integrity sha512-KKYdza4heMsEfSWD7VPUIz3zX2XDwOyX2d+geb4vrERZMT5RMU6ujjaD+I5Yr54uZxQ2w6XRTAhHBbSCyovZBg== + dependencies: + debug "^3.2.6" + iconv-lite "^0.4.4" + sax "^1.2.4" + negotiator@0.6.2: version "0.6.2" resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.2.tgz#feacf7ccf525a77ae9634436a64883ffeca346fb" @@ -9693,6 +9843,22 @@ node-gyp@^5.0.2: tar "^4.4.12" which "^1.3.1" +node-gyp@^7.1.0: + version "7.1.2" + resolved "https://registry.yarnpkg.com/node-gyp/-/node-gyp-7.1.2.tgz#21a810aebb187120251c3bcec979af1587b188ae" + integrity sha512-CbpcIo7C3eMu3dL1c3d0xw449fHIGALIJsRP4DDPHpyiW8vcriNY7ubh9TE4zEKfSxscY7PjeFnshE7h75ynjQ== + dependencies: + env-paths "^2.2.0" + glob "^7.1.4" + graceful-fs "^4.2.3" + nopt "^5.0.0" + npmlog "^4.1.2" + request "^2.88.2" + rimraf "^3.0.2" + semver "^7.3.2" + tar "^6.0.2" + which "^2.0.2" + node-int64@^0.4.0: version "0.4.0" resolved "https://registry.yarnpkg.com/node-int64/-/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b" @@ -9763,6 +9929,13 @@ nopt@^4.0.1: abbrev "1" osenv "^0.1.4" +nopt@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/nopt/-/nopt-5.0.0.tgz#530942bb58a512fccafe53fe210f13a25355dc88" + integrity sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ== + dependencies: + abbrev "1" + normalize-package-data@^2.0.0, normalize-package-data@^2.3.0, normalize-package-data@^2.3.2, normalize-package-data@^2.3.4, normalize-package-data@^2.3.5, normalize-package-data@^2.4.0, normalize-package-data@^2.5.0: version "2.5.0" resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8" @@ -9810,7 +9983,7 @@ normalize-url@^4.1.0: resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-4.5.0.tgz#453354087e6ca96957bd8f5baf753f5982142129" integrity sha512-2s47yzUxdexf1OhyRi4Em83iQk0aPvwTddtFz4hnSSw9dCEsLEGf6SwIO8ss/19S9iBb5sJaOuTvTGDeZI00BQ== -npm-bundled@^1.0.1: +npm-bundled@^1.0.1, npm-bundled@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/npm-bundled/-/npm-bundled-1.1.1.tgz#1edd570865a94cdb1bc8220775e29466c9fb234b" integrity sha512-gqkfgGePhTpAEgUsGEgcq1rqPXA+tv/aVBlgEzfXwA1yiUJF7xtEt3CtVwOjNYQOVknDk0F20w58Fnm3EtG0fA== @@ -9843,7 +10016,7 @@ npm-normalize-package-bin@^1.0.0, npm-normalize-package-bin@^1.0.1: resolved "https://registry.yarnpkg.com/npm-normalize-package-bin/-/npm-normalize-package-bin-1.0.1.tgz#6e79a41f23fd235c0623218228da7d9c23b8f6e2" integrity sha512-EPfafl6JL5/rU+ot6P3gRSCpPDW5VmIzX959Ob1+ySFUuuYHWHekXpwdUZcKP5C+DS4GEtdJluwBjnsNDl+fSA== -npm-package-arg@8.1.0, npm-package-arg@^8.0.0: +npm-package-arg@8.1.0, npm-package-arg@^8.0.0, npm-package-arg@^8.0.1: version "8.1.0" resolved "https://registry.yarnpkg.com/npm-package-arg/-/npm-package-arg-8.1.0.tgz#b5f6319418c3246a1c38e1a8fbaa06231bc5308f" integrity sha512-/ep6QDxBkm9HvOhOg0heitSd7JHA1U7y1qhhlRlteYYAi9Pdb/ZV7FW5aHpkrpM8+P+4p/jjR8zCyKPBMBjSig== @@ -9862,7 +10035,7 @@ npm-package-arg@8.1.0, npm-package-arg@^8.0.0: semver "^5.6.0" validate-npm-package-name "^3.0.0" -npm-packlist@^1.1.12, npm-packlist@^1.4.4: +npm-packlist@^1.4.4: version "1.4.8" resolved "https://registry.yarnpkg.com/npm-packlist/-/npm-packlist-1.4.8.tgz#56ee6cc135b9f98ad3d51c1c95da22bbb9b2ef3e" integrity sha512-5+AZgwru5IevF5ZdnFglB5wNlHG1AOOuw28WhUq8/8emhBmLv6jX5by4WJCh7lW0uSYZYS6DXqIsyZVIXRZU9A== @@ -9871,7 +10044,17 @@ npm-packlist@^1.1.12, npm-packlist@^1.4.4: npm-bundled "^1.0.1" npm-normalize-package-bin "^1.0.1" -npm-pick-manifest@6.1.0: +npm-packlist@^2.1.4: + version "2.1.4" + resolved "https://registry.yarnpkg.com/npm-packlist/-/npm-packlist-2.1.4.tgz#40e96b2b43787d0546a574542d01e066640d09da" + integrity sha512-Qzg2pvXC9U4I4fLnUrBmcIT4x0woLtUgxUi9eC+Zrcv1Xx5eamytGAfbDWQ67j7xOcQ2VW1I3su9smVTIdu7Hw== + dependencies: + glob "^7.1.6" + ignore-walk "^3.0.3" + npm-bundled "^1.1.1" + npm-normalize-package-bin "^1.0.1" + +npm-pick-manifest@6.1.0, npm-pick-manifest@^6.0.0: version "6.1.0" resolved "https://registry.yarnpkg.com/npm-pick-manifest/-/npm-pick-manifest-6.1.0.tgz#2befed87b0fce956790f62d32afb56d7539c022a" integrity sha512-ygs4k6f54ZxJXrzT0x34NybRlLeZ4+6nECAIbr2i0foTnijtS1TJiyzpqtuUAJOps/hO0tNDr8fRV5g+BtRlTw== @@ -9889,18 +10072,19 @@ npm-pick-manifest@^3.0.0: npm-package-arg "^6.0.0" semver "^5.4.1" -npm-registry-fetch@^4.0.0: - version "4.0.7" - resolved "https://registry.yarnpkg.com/npm-registry-fetch/-/npm-registry-fetch-4.0.7.tgz#57951bf6541e0246b34c9f9a38ab73607c9449d7" - integrity sha512-cny9v0+Mq6Tjz+e0erFAB+RYJ/AVGzkjnISiobqP8OWj9c9FLoZZu8/SPSKJWE17F1tk4018wfjV+ZbIbqC7fQ== +npm-registry-fetch@^9.0.0: + version "9.0.0" + resolved "https://registry.yarnpkg.com/npm-registry-fetch/-/npm-registry-fetch-9.0.0.tgz#86f3feb4ce00313bc0b8f1f8f69daae6face1661" + integrity sha512-PuFYYtnQ8IyVl6ib9d3PepeehcUeHN9IO5N/iCRhyg9tStQcqGQBRVHmfmMWPDERU3KwZoHFvbJ4FPXPspvzbA== dependencies: - JSONStream "^1.3.4" - bluebird "^3.5.1" - figgy-pudding "^3.4.1" - lru-cache "^5.1.1" - make-fetch-happen "^5.0.0" - npm-package-arg "^6.1.0" - safe-buffer "^5.2.0" + "@npmcli/ci-detect" "^1.0.0" + lru-cache "^6.0.0" + make-fetch-happen "^8.0.9" + minipass "^3.1.3" + minipass-fetch "^1.3.0" + minipass-json-stream "^1.0.1" + minizlib "^2.0.0" + npm-package-arg "^8.0.0" npm-run-path@^2.0.0: version "2.0.2" @@ -10071,10 +10255,10 @@ onetime@^5.1.0: dependencies: mimic-fn "^2.1.0" -open@7.3.0: - version "7.3.0" - resolved "https://registry.yarnpkg.com/open/-/open-7.3.0.tgz#45461fdee46444f3645b6e14eb3ca94b82e1be69" - integrity sha512-mgLwQIx2F/ye9SmbrUkurZCnkoXyXyu9EbHtJZrICjVAJfyMArdHp3KkixGdZx1ZHFPNIwl0DDM1dFFqXbTLZw== +open@7.3.1: + version "7.3.1" + resolved "https://registry.yarnpkg.com/open/-/open-7.3.1.tgz#111119cb919ca1acd988f49685c4fdd0f4755356" + integrity sha512-f2wt9DCBKKjlFbjzGb8MOAW8LH8F0mrs1zc7KTjAJ9PZNQbfenzWbNP1VZJvw6ICMG9r14Ah6yfwPn7T7i646A== dependencies: is-docker "^2.0.0" is-wsl "^2.1.1" @@ -10140,19 +10324,7 @@ ora@5.1.0: strip-ansi "^6.0.0" wcwidth "^1.0.1" -ora@^3.4.0: - version "3.4.0" - resolved "https://registry.yarnpkg.com/ora/-/ora-3.4.0.tgz#bf0752491059a3ef3ed4c85097531de9fdbcd318" - integrity sha512-eNwHudNbO1folBP3JsZ19v9azXWtQZjICdr3Q0TDPIaeBQ3mXLrh54wM+er0+hSp+dWKf+Z8KM58CYzEyIYxYg== - dependencies: - chalk "^2.4.2" - cli-cursor "^2.1.0" - cli-spinners "^2.0.0" - log-symbols "^2.2.0" - strip-ansi "^5.2.0" - wcwidth "^1.0.1" - -ora@^5.1.0: +ora@5.2.0, ora@^5.1.0: version "5.2.0" resolved "https://registry.yarnpkg.com/ora/-/ora-5.2.0.tgz#de10bfd2d15514384af45f3fa9d9b1aaf344fda1" integrity sha512-+wG2v8TUU8EgzPHun1k/n45pXquQ9fHnbXVetl9rRgO6kjZszGGbraF3XPTIdgeA+s1lbRjSEftAnyT0w8ZMvQ== @@ -10166,6 +10338,18 @@ ora@^5.1.0: strip-ansi "^6.0.0" wcwidth "^1.0.1" +ora@^3.4.0: + version "3.4.0" + resolved "https://registry.yarnpkg.com/ora/-/ora-3.4.0.tgz#bf0752491059a3ef3ed4c85097531de9fdbcd318" + integrity sha512-eNwHudNbO1folBP3JsZ19v9azXWtQZjICdr3Q0TDPIaeBQ3mXLrh54wM+er0+hSp+dWKf+Z8KM58CYzEyIYxYg== + dependencies: + chalk "^2.4.2" + cli-cursor "^2.1.0" + cli-spinners "^2.0.0" + log-symbols "^2.2.0" + strip-ansi "^5.2.0" + wcwidth "^1.0.1" + original@^1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/original/-/original-1.0.2.tgz#e442a61cffe1c5fd20a65f3261c26663b303f25f" @@ -10326,41 +10510,30 @@ p-waterfall@^1.0.0: dependencies: p-reduce "^1.0.0" -pacote@9.5.12: - version "9.5.12" - resolved "https://registry.yarnpkg.com/pacote/-/pacote-9.5.12.tgz#1e11dd7a8d736bcc36b375a9804d41bb0377bf66" - integrity sha512-BUIj/4kKbwWg4RtnBncXPJd15piFSVNpTzY0rysSr3VnMowTYgkGKcaHrbReepAkjTr8lH2CVWRi58Spg2CicQ== +pacote@11.1.14: + version "11.1.14" + resolved "https://registry.yarnpkg.com/pacote/-/pacote-11.1.14.tgz#c60b9849ab05488d3f9ccd644c8a42543f2f36d6" + integrity sha512-6c5OhQelaJFDfiw/Zd8MfGCvvFHurSdeGzufZMPvRFImdbNOYFciOINf3DtUNUaU3h98eCb749UyHDsgvL19+A== dependencies: - bluebird "^3.5.3" - cacache "^12.0.2" - chownr "^1.1.2" - figgy-pudding "^3.5.1" - get-stream "^4.1.0" - glob "^7.1.3" + "@npmcli/git" "^2.0.1" + "@npmcli/installed-package-contents" "^1.0.5" + "@npmcli/promise-spawn" "^1.2.0" + "@npmcli/run-script" "^1.3.0" + cacache "^15.0.5" + chownr "^2.0.0" + fs-minipass "^2.1.0" infer-owner "^1.0.4" - lru-cache "^5.1.1" - make-fetch-happen "^5.0.0" - minimatch "^3.0.4" - minipass "^2.3.5" - mississippi "^3.0.0" - mkdirp "^0.5.1" - normalize-package-data "^2.4.0" - npm-normalize-package-bin "^1.0.0" - npm-package-arg "^6.1.0" - npm-packlist "^1.1.12" - npm-pick-manifest "^3.0.0" - npm-registry-fetch "^4.0.0" - osenv "^0.1.5" - promise-inflight "^1.0.1" + minipass "^3.1.3" + mkdirp "^1.0.3" + npm-package-arg "^8.0.1" + npm-packlist "^2.1.4" + npm-pick-manifest "^6.0.0" + npm-registry-fetch "^9.0.0" promise-retry "^1.1.1" - protoduck "^5.0.1" - rimraf "^2.6.2" - safe-buffer "^5.1.2" - semver "^5.6.0" - ssri "^6.0.1" - tar "^4.4.10" - unique-filename "^1.1.1" - which "^1.3.1" + read-package-json-fast "^1.1.3" + rimraf "^3.0.2" + ssri "^8.0.0" + tar "^6.1.0" pako@~1.0.2, pako@~1.0.5: version "1.0.11" @@ -10424,6 +10597,11 @@ parse-json@^5.0.0: json-parse-even-better-errors "^2.3.0" lines-and-columns "^1.1.6" +parse-node-version@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/parse-node-version/-/parse-node-version-1.0.1.tgz#e2b5dbede00e7fa9bc363607f53327e8b073189b" + integrity sha512-3YHlOa/JgH6Mnpr05jP9eDG254US9ek25LyIxZlDItp2iJtwyaXQb57lBYLdT3MowkUFYEV2XXNAYIPlESvJlA== + parse-passwd@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/parse-passwd/-/parse-passwd-1.0.0.tgz#6d5b934a456993b23d37f40a382d6f1666a8e5c6" @@ -10457,6 +10635,13 @@ parse5-html-rewriting-stream@6.0.1: parse5 "^6.0.1" parse5-sax-parser "^6.0.1" +parse5-htmlparser2-tree-adapter@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-6.0.1.tgz#2cdf9ad823321140370d4dbf5d3e92c7c8ddc6e6" + integrity sha512-qPuWvbLgvDGilKc5BoicRovlT4MtYT6JfJyBOMDsKoiT+GiuP5qyrPCnR9HcPECIJJmZh5jRndyNThnhhb/vlA== + dependencies: + parse5 "^6.0.1" + parse5-sax-parser@^6.0.1: version "6.0.1" resolved "https://registry.yarnpkg.com/parse5-sax-parser/-/parse5-sax-parser-6.0.1.tgz#98b4d366b5b266a7cd90b4b58906667af882daba" @@ -10718,20 +10903,19 @@ postcss-discard-overridden@^4.0.1: dependencies: postcss "^7.0.0" -postcss-import@12.0.1: - version "12.0.1" - resolved "https://registry.yarnpkg.com/postcss-import/-/postcss-import-12.0.1.tgz#cf8c7ab0b5ccab5649024536e565f841928b7153" - integrity sha512-3Gti33dmCjyKBgimqGxL3vcV8w9+bsHwO5UrBawp796+jdardbcFl4RP5w/76BwNL7aGzpKstIfF9I+kdE8pTw== +postcss-import@14.0.0: + version "14.0.0" + resolved "https://registry.yarnpkg.com/postcss-import/-/postcss-import-14.0.0.tgz#3ed1dadac5a16650bde3f4cdea6633b9c3c78296" + integrity sha512-gFDDzXhqr9ELmnLHgCC3TbGfA6Dm/YMb/UN8/f7Uuq4fL7VTk2vOIj6hwINEwbokEmp123bLD7a5m+E+KIetRg== dependencies: - postcss "^7.0.1" - postcss-value-parser "^3.2.3" + postcss-value-parser "^4.0.0" read-cache "^1.0.0" resolve "^1.1.7" -postcss-loader@4.0.4: - version "4.0.4" - resolved "https://registry.yarnpkg.com/postcss-loader/-/postcss-loader-4.0.4.tgz#b2d005b52e008a44991cf8123bee207e635eb53e" - integrity sha512-pntA9zIR14drQo84yGTjQJg1m7T0DkXR4vXYHBngiRZdJtEeCrojL6lOpqUanMzG375lIJbT4Yug85zC/AJWGw== +postcss-loader@4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/postcss-loader/-/postcss-loader-4.1.0.tgz#4647a6c8dad3cb6b253fbfaa21d62201086f6e39" + integrity sha512-vbCkP70F3Q9PIk6d47aBwjqAMI4LfkXCoyxj+7NPNuVIwfTGdzv2KVQes59/RuxMniIgsYQCFSY42P3+ykJfaw== dependencies: cosmiconfig "^7.0.0" klona "^2.0.4" @@ -10801,38 +10985,33 @@ postcss-minify-selectors@^4.0.2: postcss "^7.0.0" postcss-selector-parser "^3.0.0" -postcss-modules-extract-imports@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/postcss-modules-extract-imports/-/postcss-modules-extract-imports-2.0.0.tgz#818719a1ae1da325f9832446b01136eeb493cd7e" - integrity sha512-LaYLDNS4SG8Q5WAWqIJgdHPJrDDr/Lv775rMBFUbgjTz6j34lUznACHcdRWroPvXANP2Vj7yNK57vp9eFqzLWQ== - dependencies: - postcss "^7.0.5" +postcss-modules-extract-imports@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz#cda1f047c0ae80c97dbe28c3e76a43b88025741d" + integrity sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw== -postcss-modules-local-by-default@^3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/postcss-modules-local-by-default/-/postcss-modules-local-by-default-3.0.3.tgz#bb14e0cc78279d504dbdcbfd7e0ca28993ffbbb0" - integrity sha512-e3xDq+LotiGesympRlKNgaJ0PCzoUIdpH0dj47iWAui/kyTgh3CiAr1qP54uodmJhl6p9rN6BoNcdEDVJx9RDw== +postcss-modules-local-by-default@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.0.tgz#ebbb54fae1598eecfdf691a02b3ff3b390a5a51c" + integrity sha512-sT7ihtmGSF9yhm6ggikHdV0hlziDTX7oFoXtuVWeDd3hHObNkcHRo9V3yg7vCAY7cONyxJC/XXCmmiHHcvX7bQ== dependencies: - icss-utils "^4.1.1" - postcss "^7.0.32" + icss-utils "^5.0.0" postcss-selector-parser "^6.0.2" postcss-value-parser "^4.1.0" -postcss-modules-scope@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/postcss-modules-scope/-/postcss-modules-scope-2.2.0.tgz#385cae013cc7743f5a7d7602d1073a89eaae62ee" - integrity sha512-YyEgsTMRpNd+HmyC7H/mh3y+MeFWevy7V1evVhJWewmMbjDHIbZbOXICC2y+m1xI1UVfIT1HMW/O04Hxyu9oXQ== +postcss-modules-scope@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/postcss-modules-scope/-/postcss-modules-scope-3.0.0.tgz#9ef3151456d3bbfa120ca44898dfca6f2fa01f06" + integrity sha512-hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg== dependencies: - postcss "^7.0.6" - postcss-selector-parser "^6.0.0" + postcss-selector-parser "^6.0.4" -postcss-modules-values@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/postcss-modules-values/-/postcss-modules-values-3.0.0.tgz#5b5000d6ebae29b4255301b4a3a54574423e7f10" - integrity sha512-1//E5jCBrZ9DmRX+zCtmQtRSV6PV42Ix7Bzj9GbwJceduuf7IqP8MgeTXuRDHOWj2m0VzZD5+roFWDuU8RQjcg== +postcss-modules-values@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz#d7c5e7e68c3bb3c9b27cbf48ca0bb3ffb4602c9c" + integrity sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ== dependencies: - icss-utils "^4.0.0" - postcss "^7.0.6" + icss-utils "^5.0.0" postcss-normalize-charset@^4.0.1: version "4.0.1" @@ -10953,7 +11132,7 @@ postcss-selector-parser@^3.0.0: indexes-of "^1.0.1" uniq "^1.0.1" -postcss-selector-parser@^6.0.0, postcss-selector-parser@^6.0.2: +postcss-selector-parser@^6.0.2, postcss-selector-parser@^6.0.4: version "6.0.4" resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.4.tgz#56075a1380a04604c38b063ea7767a129af5c2b3" integrity sha512-gjMeXBempyInaBqpp8gODmwZ52WaYsVOsfr4L4lDQ7n3ncD6mEyySiDtgzCT+NYC0mmeOLvtsF8iaEf0YT6dBw== @@ -10993,12 +11172,12 @@ postcss-url@^8.0.0: postcss "^7.0.2" xxhashjs "^0.2.1" -postcss-value-parser@^3.0.0, postcss-value-parser@^3.2.3: +postcss-value-parser@^3.0.0: version "3.3.1" resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz#9ff822547e2893213cf1c30efa51ac5fd1ba8281" integrity sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ== -postcss-value-parser@^4.0.2, postcss-value-parser@^4.1.0: +postcss-value-parser@^4.0.0, postcss-value-parser@^4.0.2, postcss-value-parser@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz#443f6a20ced6481a2bda4fa8532a6e55d789a2cb" integrity sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ== @@ -11012,16 +11191,16 @@ postcss@7.0.21: source-map "^0.6.1" supports-color "^6.1.0" -postcss@7.0.32: - version "7.0.32" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.32.tgz#4310d6ee347053da3433db2be492883d62cec59d" - integrity sha512-03eXong5NLnNCD05xscnGKGDZ98CyzoqPSMjOe6SuoQY7Z2hIj0Ld1g/O/UQRuOle2aRtiIRDg9tDcTGAkLfKw== +postcss@8.2.4, postcss@^8.1.4: + version "8.2.4" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.2.4.tgz#20a98a39cf303d15129c2865a9ec37eda0031d04" + integrity sha512-kRFftRoExRVXZlwUuay9iC824qmXPcQQVzAjbCCgjpXnkdMCJYBu2gTwAaFBzv8ewND6O8xFb3aELmEkh9zTzg== dependencies: - chalk "^2.4.2" + colorette "^1.2.1" + nanoid "^3.1.20" source-map "^0.6.1" - supports-color "^6.1.0" -postcss@^7.0.0, postcss@^7.0.1, postcss@^7.0.14, postcss@^7.0.2, postcss@^7.0.27, postcss@^7.0.29, postcss@^7.0.32, postcss@^7.0.5, postcss@^7.0.6: +postcss@^7.0.0, postcss@^7.0.1, postcss@^7.0.2, postcss@^7.0.27, postcss@^7.0.29, postcss@^7.0.32: version "7.0.35" resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.35.tgz#d2be00b998f7f211d8a276974079f2e92b970e24" integrity sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg== @@ -11040,6 +11219,11 @@ prettier@^2.2.0: resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.2.1.tgz#795a1a78dd52f073da0cd42b21f9c91381923ff5" integrity sha512-PqyhM2yCjg/oKkFPtTGUojv7gnZAoG80ttl45O6x2Ug/rMJw4wcc9k6aaf2hibP7BGVCCM33gZoGjyvt9mm16Q== +pretty-bytes@^5.3.0: + version "5.5.0" + resolved "https://registry.yarnpkg.com/pretty-bytes/-/pretty-bytes-5.5.0.tgz#0cecda50a74a941589498011cf23275aa82b339e" + integrity sha512-p+T744ZyjjiaFlMUZZv6YPC5JrkNj8maRmPaQCWFJFplUAzpIUTRaTcS+7wmZtUoFXHtESJb23ISliaWyz3SHA== + pretty-format@26.x, pretty-format@^26.0.0, pretty-format@^26.6.2: version "26.6.2" resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-26.6.2.tgz#e35c2705f14cb7fe2fe94fa078345b444120fc93" @@ -11176,6 +11360,11 @@ public-encrypt@^4.0.0: randombytes "^2.0.1" safe-buffer "^5.1.2" +puka@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/puka/-/puka-1.0.1.tgz#a2df782b7eb4cf9564e4c93a5da422de0dfacc02" + integrity sha512-ssjRZxBd7BT3dte1RR3VoeT2cT/ODH8x+h0rUF1rMqB0srHYf48stSDWfiYakTp5UBZMxroZhB2+ExLDHm7W3g== + pump@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/pump/-/pump-2.0.1.tgz#12399add6e4cf7526d973cbc8b5ce2e2908b3909" @@ -11342,6 +11531,14 @@ read-cmd-shim@^1.0.1: dependencies: graceful-fs "^4.1.2" +read-package-json-fast@^1.1.1, read-package-json-fast@^1.1.3: + version "1.2.1" + resolved "https://registry.yarnpkg.com/read-package-json-fast/-/read-package-json-fast-1.2.1.tgz#e8518d6f37c99eb3afc26704c5cbb50d7ead82dd" + integrity sha512-OFbpwnHcv74Oa5YN5WvbOBfLw6yPmPcwvyJJw/tj9cWFBF7juQUDLDSZiOjEcgzfweWeeROOmbPpNN1qm4hcRg== + dependencies: + json-parse-even-better-errors "^2.3.0" + npm-normalize-package-bin "^1.0.1" + "read-package-json@1 || 2", read-package-json@^2.0.0, read-package-json@^2.0.13: version "2.1.2" resolved "https://registry.yarnpkg.com/read-package-json/-/read-package-json-2.1.2.tgz#6992b2b66c7177259feb8eaac73c3acd28b9222a" @@ -11451,7 +11648,7 @@ read@1, read@~1.0.1: string_decoder "^1.1.1" util-deprecate "^1.0.1" -readdir-scoped-modules@^1.0.0: +readdir-scoped-modules@^1.0.0, readdir-scoped-modules@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/readdir-scoped-modules/-/readdir-scoped-modules-1.1.0.tgz#8d45407b4f870a0dcaebc0e28670d18e74514309" integrity sha512-asaikDeqAQg7JifRsZn1NJZXo9E+VwlyCfbkZhwyISinqk5zNS6266HS5kah6P0SaQKGF6SkNnZVHUzHFYxYDw== @@ -11755,15 +11952,7 @@ resolve@1.1.7: resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b" integrity sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs= -resolve@1.18.1: - version "1.18.1" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.18.1.tgz#018fcb2c5b207d2a6424aee361c5a266da8f4130" - integrity sha512-lDfCPaMKfOJXjy0dPayzPdF1phampNWr3qFCjAu+rw/qbQmr5jWH5xN2hwh9QKfw9E5v4hwV7A+jrCmL8yjjqA== - dependencies: - is-core-module "^2.0.0" - path-parse "^1.0.6" - -resolve@^1.1.6, resolve@^1.1.7, resolve@^1.10.0, resolve@^1.17.0, resolve@^1.3.2, resolve@^1.8.1: +resolve@1.19.0, resolve@^1.1.6, resolve@^1.1.7, resolve@^1.10.0, resolve@^1.17.0, resolve@^1.3.2: version "1.19.0" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.19.0.tgz#1af5bf630409734a067cae29318aac7fa29a267c" integrity sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg== @@ -11872,14 +12061,7 @@ rollup-plugin-sourcemaps@^0.6.0: "@rollup/pluginutils" "^3.0.9" source-map-resolve "^0.6.0" -rollup@2.32.1: - version "2.32.1" - resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.32.1.tgz#625a92c54f5b4d28ada12d618641491d4dbb548c" - integrity sha512-Op2vWTpvK7t6/Qnm1TTh7VjEZZkN8RWgf0DHbkKzQBwNf748YhXbozHVefqpPp/Fuyk/PQPAnYsBxAEtlMvpUw== - optionalDependencies: - fsevents "~2.1.2" - -rollup@^2.8.0: +rollup@2.36.1, rollup@^2.8.0: version "2.36.1" resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.36.1.tgz#2174f0c25c7b400d57b05628d0e732c7ae8d2178" integrity sha512-eAfqho8dyzuVvrGqpR0ITgEdq0zG2QJeWYh+HeuTbpcaXk8vNFc48B7bJa1xYosTCKx0CuW+447oQOW8HgBIZQ== @@ -11973,10 +12155,10 @@ sane@^4.0.3: minimist "^1.1.1" walker "~1.0.5" -sass-loader@10.0.5: - version "10.0.5" - resolved "https://registry.yarnpkg.com/sass-loader/-/sass-loader-10.0.5.tgz#f53505b5ddbedf43797470ceb34066ded82bb769" - integrity sha512-2LqoNPtKkZq/XbXNQ4C64GFEleSEHKv6NPSI+bMC/l+jpEXGJhiRYkAQToO24MR7NU4JRY2RpLpJ/gjo2Uf13w== +sass-loader@10.1.1: + version "10.1.1" + resolved "https://registry.yarnpkg.com/sass-loader/-/sass-loader-10.1.1.tgz#4ddd5a3d7638e7949065dd6e9c7c04037f7e663d" + integrity sha512-W6gVDXAd5hR/WHsPicvZdjAWHBcEJ44UahgxcIE196fW2ong0ZHMPO1kZuI5q0VlvMQZh32gpv69PLWQm70qrw== dependencies: klona "^2.0.4" loader-utils "^2.0.0" @@ -11984,10 +12166,10 @@ sass-loader@10.0.5: schema-utils "^3.0.0" semver "^7.3.2" -sass@1.27.0: - version "1.27.0" - resolved "https://registry.yarnpkg.com/sass/-/sass-1.27.0.tgz#0657ff674206b95ec20dc638a93e179c78f6ada2" - integrity sha512-0gcrER56OkzotK/GGwgg4fPrKuiFlPNitO7eUJ18Bs+/NBlofJfMxmxqpqJxjae9vu0Wq8TZzrSyxZal00WDig== +sass@1.32.4: + version "1.32.4" + resolved "https://registry.yarnpkg.com/sass/-/sass-1.32.4.tgz#308bf29dd7f53d44ae4f06580e9a910ad9aa411e" + integrity sha512-N0BT0PI/t3+gD8jKa83zJJUb7ssfQnRRfqN+GIErokW6U4guBpfYl8qYB+OFLEho+QvnV5ZH1R9qhUC/Z2Ch9w== dependencies: chokidar ">=2.0.0 <4.0.0" @@ -12005,7 +12187,7 @@ saucelabs@^1.5.0: dependencies: https-proxy-agent "^2.2.1" -sax@>=0.6.0, sax@~1.2.4: +sax@>=0.6.0, sax@^1.2.4, sax@~1.2.4: version "1.2.4" resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9" integrity sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw== @@ -12026,7 +12208,7 @@ schema-utils@^1.0.0: ajv-errors "^1.0.0" ajv-keywords "^3.1.0" -schema-utils@^2.6.5, schema-utils@^2.7.0, schema-utils@^2.7.1: +schema-utils@^2.6.5, schema-utils@^2.7.0: version "2.7.1" resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-2.7.1.tgz#1ca4f32d1b24c590c203b8e7a50bf0ea4cd394d7" integrity sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg== @@ -12059,7 +12241,7 @@ selenium-webdriver@3.6.0, selenium-webdriver@^3.0.1: tmp "0.0.30" xml2js "^0.4.17" -selfsigned@^1.10.7: +selfsigned@^1.10.8: version "1.10.8" resolved "https://registry.yarnpkg.com/selfsigned/-/selfsigned-1.10.8.tgz#0d17208b7d12c33f8eac85c41835f27fc3d81a30" integrity sha512-2P4PtieJeEwVgTU9QEcwIRDQ/mXJLX8/+I3ur+Pg16nS8oNbrGxEso9NyYWy8NAmXiNl4dlAp5MwoNeCWzON4w== @@ -12090,12 +12272,7 @@ semver@7.0.0: resolved "https://registry.yarnpkg.com/semver/-/semver-7.0.0.tgz#5f3ca35761e47e05b206c6daff2cf814f0316b8e" integrity sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A== -semver@7.3.2: - version "7.3.2" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.2.tgz#604962b052b81ed0786aae84389ffba70ffd3938" - integrity sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ== - -semver@7.x, semver@^7.0.0, semver@^7.1.1, semver@^7.3.2: +semver@7.3.4, semver@7.x, semver@^7.0.0, semver@^7.1.1, semver@^7.3.2: version "7.3.4" resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.4.tgz#27aaa7d2e4ca76452f98d3add093a72c943edc97" integrity sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw== @@ -12323,26 +12500,26 @@ snq@^1.0.3: resolved "https://registry.yarnpkg.com/snq/-/snq-1.0.3.tgz#f9661d10eebb224c52fc3c50106445c268618168" integrity sha512-bXcxd1ppFnSNYKq84HyOYuYtbMHCFTZvuPSNCn/80yx9+DLkU/hLqjqCRKRHSDISrL1T/lWGXJyQxWS8TnutFA== -sockjs-client@1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/sockjs-client/-/sockjs-client-1.4.0.tgz#c9f2568e19c8fd8173b4997ea3420e0bb306c7d5" - integrity sha512-5zaLyO8/nri5cua0VtOrFXBPK1jbL4+1cebT/mmKA1E1ZXOvJrII75bPu0l0k843G/+iAbhEqzyKr0w/eCCj7g== +sockjs-client@^1.5.0: + version "1.5.0" + resolved "https://registry.yarnpkg.com/sockjs-client/-/sockjs-client-1.5.0.tgz#2f8ff5d4b659e0d092f7aba0b7c386bd2aa20add" + integrity sha512-8Dt3BDi4FYNrCFGTL/HtwVzkARrENdwOUf1ZoW/9p3M8lZdFT35jVdrHza+qgxuG9H3/shR4cuX/X9umUrjP8Q== dependencies: - debug "^3.2.5" + debug "^3.2.6" eventsource "^1.0.7" - faye-websocket "~0.11.1" - inherits "^2.0.3" - json3 "^3.3.2" - url-parse "^1.4.3" + faye-websocket "^0.11.3" + inherits "^2.0.4" + json3 "^3.3.3" + url-parse "^1.4.7" -sockjs@0.3.20: - version "0.3.20" - resolved "https://registry.yarnpkg.com/sockjs/-/sockjs-0.3.20.tgz#b26a283ec562ef8b2687b44033a4eeceac75d855" - integrity sha512-SpmVOVpdq0DJc0qArhF3E5xsxvaiqGNb73XfgBpK1y3UD5gs8DSo8aCTsuT5pX8rssdc2NDIzANwP9eCAiSdTA== +sockjs@^0.3.21: + version "0.3.21" + resolved "https://registry.yarnpkg.com/sockjs/-/sockjs-0.3.21.tgz#b34ffb98e796930b60a0cfa11904d6a339a7d417" + integrity sha512-DhbPFGpxjc6Z3I+uX07Id5ZO2XwYsWOrYjaSeieES78cq+JaJvVe5q/m1uvjIQhXinhIeCFRH6JgXe+mvVMyXw== dependencies: - faye-websocket "^0.10.0" + faye-websocket "^0.11.3" uuid "^3.4.0" - websocket-driver "0.6.5" + websocket-driver "^0.7.4" socks-proxy-agent@^4.0.0: version "4.0.2" @@ -12352,6 +12529,23 @@ socks-proxy-agent@^4.0.0: agent-base "~4.2.1" socks "~2.3.2" +socks-proxy-agent@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/socks-proxy-agent/-/socks-proxy-agent-5.0.0.tgz#7c0f364e7b1cf4a7a437e71253bed72e9004be60" + integrity sha512-lEpa1zsWCChxiynk+lCycKuC502RxDWLKJZoIhnxrWNjLSDGYRFflHA1/228VkRcnv9TIb8w98derGbpKxJRgA== + dependencies: + agent-base "6" + debug "4" + socks "^2.3.3" + +socks@^2.3.3: + version "2.5.1" + resolved "https://registry.yarnpkg.com/socks/-/socks-2.5.1.tgz#7720640b6b5ec9a07d556419203baa3f0596df5f" + integrity sha512-oZCsJJxapULAYJaEYBSzMcz8m3jqgGrHaGhkmU/o/PQfFWYWxkAaA0UMGImb6s6tEXfKi959X6VJjMMQ3P6TTQ== + dependencies: + ip "^1.1.5" + smart-buffer "^4.1.0" + socks@~2.3.2: version "2.3.3" resolved "https://registry.yarnpkg.com/socks/-/socks-2.3.3.tgz#01129f0a5d534d2b897712ed8aceab7ee65d78e3" @@ -12372,10 +12566,10 @@ source-list-map@^2.0.0, source-list-map@^2.0.1: resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-2.0.1.tgz#3993bd873bfc48479cca9ea3a547835c7c154b34" integrity sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw== -source-map-loader@1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/source-map-loader/-/source-map-loader-1.1.2.tgz#5b782bf08496d3a7f355e1780df0e25190a80991" - integrity sha512-bjf6eSENOYBX4JZDfl9vVLNsGAQ6Uz90fLmOazcmMcyDYOBFsGxPNn83jXezWLY9bJsVAo1ObztxPcV8HAbjVA== +source-map-loader@1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/source-map-loader/-/source-map-loader-1.1.3.tgz#7dbc2fe7ea09d3e43c51fd9fc478b7f016c1f820" + integrity sha512-6YHeF+XzDOrT/ycFJNI53cgEsp/tHTMl37hi7uVyqFAlTXW109JazaQCkbc+jjoL2637qkH1amLi+JzrIpt5lA== dependencies: abab "^2.0.5" iconv-lite "^0.6.2" @@ -12816,10 +13010,10 @@ stylehacks@^4.0.0: postcss "^7.0.0" postcss-selector-parser "^3.0.0" -stylus-loader@4.3.1: - version "4.3.1" - resolved "https://registry.yarnpkg.com/stylus-loader/-/stylus-loader-4.3.1.tgz#8b4e749294d9fe0729c2e5e1f04cbf87e1c941aa" - integrity sha512-apDYJEM5ZpOAWbWInWcsbtI8gHNr/XYVcSY/tWqOUPt7M5tqhtwXVsAkgyiVjhuvw2Yrjq474a9H+g4d047Ebw== +stylus-loader@4.3.2: + version "4.3.2" + resolved "https://registry.yarnpkg.com/stylus-loader/-/stylus-loader-4.3.2.tgz#d3577e7f5ff65ea3f9516e1a0f1f16aea706d3f0" + integrity sha512-xXVKHY+J7GBlOmqjCL1VvQfc+pFkBdWGtcpJSvBGE49nWWHaukox7KCjRdLTEzjrmHODm4+rLpqkYWzfJteMXQ== dependencies: fast-glob "^3.2.4" klona "^2.0.4" @@ -12899,10 +13093,10 @@ symbol-observable@1.2.0: resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-1.2.0.tgz#c22688aed4eab3cdc2dfeacbb561660560a00804" integrity sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ== -symbol-observable@2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-2.0.3.tgz#5b521d3d07a43c351055fa43b8355b62d33fd16a" - integrity sha512-sQV7phh2WCYAn81oAkakC5qjq2Ml0g8ozqz03wOGnx9dDlG1de6yrF+0RAzSJD8fPUow3PTSMf2SAbOGxb93BA== +symbol-observable@3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-3.0.0.tgz#eea8f6478c651018e059044268375c408c15c533" + integrity sha512-6tDOXSHiVjuCaasQSWTmHUWn4PuG7qa3+1WT031yTc/swT7+rLiw3GOrFxaH1E3lLP09dH3bVuVDf2gK5rxG3Q== symbol-tree@^3.2.2: version "3.2.4" @@ -12933,7 +13127,7 @@ tapable@^1.0.0, tapable@^1.1.3: resolved "https://registry.yarnpkg.com/tapable/-/tapable-1.1.3.tgz#a1fccc06b58db61fd7a45da2da44f5f3a3e67ba2" integrity sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA== -tapable@^2.0.0: +tapable@^2.2.0: version "2.2.0" resolved "https://registry.yarnpkg.com/tapable/-/tapable-2.2.0.tgz#5c373d281d9c672848213d0e037d1c4165ab426b" integrity sha512-FBk4IesMV1rBxX2tfiK8RAmogtWn53puLOQlvO8XuwlgxcYbP4mVPS9Ph4aeamSyyVjOl24aYWAuc8U5kCVwMw== @@ -12951,7 +13145,7 @@ tar@^4.4.10, tar@^4.4.12, tar@^4.4.8: safe-buffer "^5.1.2" yallist "^3.0.3" -tar@^6.0.2: +tar@^6.0.2, tar@^6.1.0: version "6.1.0" resolved "https://registry.yarnpkg.com/tar/-/tar-6.1.0.tgz#d1724e9bcc04b977b18d5c573b333a2207229a83" integrity sha512-DUCttfhsnLCjwoDoFcI+B2iJgYa93vBnDUATYEeRx6sntCTdN01VnqsIuTlALXla/LWooNg0yEGeB+Y8WdFxGA== @@ -13031,10 +13225,10 @@ terser-webpack-plugin@^1.4.3: webpack-sources "^1.4.0" worker-farm "^1.7.0" -terser@5.3.7: - version "5.3.7" - resolved "https://registry.yarnpkg.com/terser/-/terser-5.3.7.tgz#798a4ae2e7ff67050c3e99fcc4e00725827d97e2" - integrity sha512-lJbKdfxWvjpV330U4PBZStCT9h3N9A4zZVA5Y4k9sCWXknrpdyxi1oMsRKLmQ/YDMDxSBKIh88v0SkdhdqX06w== +terser@5.5.1, terser@^5.0.0, terser@^5.3.4: + version "5.5.1" + resolved "https://registry.yarnpkg.com/terser/-/terser-5.5.1.tgz#540caa25139d6f496fdea056e414284886fb2289" + integrity sha512-6VGWZNVP2KTUcltUQJ25TtNjx/XgdDsBDKGt8nN0MpydU36LmbPPcMBd2kmtZNNGVVDLg44k7GKeHHj+4zPIBQ== dependencies: commander "^2.20.0" source-map "~0.7.2" @@ -13049,15 +13243,6 @@ terser@^4.1.2: source-map "~0.6.1" source-map-support "~0.5.12" -terser@^5.0.0, terser@^5.3.4: - version "5.5.1" - resolved "https://registry.yarnpkg.com/terser/-/terser-5.5.1.tgz#540caa25139d6f496fdea056e414284886fb2289" - integrity sha512-6VGWZNVP2KTUcltUQJ25TtNjx/XgdDsBDKGt8nN0MpydU36LmbPPcMBd2kmtZNNGVVDLg44k7GKeHHj+4zPIBQ== - dependencies: - commander "^2.20.0" - source-map "~0.7.2" - source-map-support "~0.5.19" - test-exclude@^6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-6.0.0.tgz#04a8698661d805ea6fa293b6cb9e63ac044ef15e" @@ -13307,21 +13492,16 @@ tsickle@^0.39.1: resolved "https://registry.yarnpkg.com/tsickle/-/tsickle-0.39.1.tgz#7ccf672cde5b430f5dd0b281ee49e170ef390ff9" integrity sha512-CCc9cZhZbKoNizVM+K3Uqgit/go8GacjpqTv1cpwG/n2P0gB9GMoWZbxrUULDE9Wz26Lh86CGf6QyIPUVV1lnQ== -tslib@2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.0.3.tgz#8e0741ac45fc0c226e58a17bfc3e64b9bc6ca61c" - integrity sha512-uZtkfKblCEQtZKBF6EBXVZeQNl82yqtDQdv+eck8u7tdPxjLu2/lp5/uPW+um2tpuxINHWy3GhiccY7QgEaVHQ== +tslib@2.1.0, tslib@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.1.0.tgz#da60860f1c2ecaa5703ab7d39bc05b6bf988b97a" + integrity sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A== tslib@^1.10.0, tslib@^1.13.0, tslib@^1.8.1, tslib@^1.9.0: version "1.14.1" resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== -tslib@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.1.0.tgz#da60860f1c2ecaa5703ab7d39bc05b6bf988b97a" - integrity sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A== - tslint@~6.1.0: version "6.1.3" resolved "https://registry.yarnpkg.com/tslint/-/tslint-6.1.3.tgz#5c23b2eccc32487d5523bd3a470e9aa31789d904" @@ -13432,10 +13612,10 @@ typedarray@^0.0.6: resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c= -typescript@4.0.5, typescript@~4.0.3: - version "4.0.5" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.0.5.tgz#ae9dddfd1069f1cb5beb3ef3b2170dd7c1332389" - integrity sha512-ywmr/VrTVCmNTJ6iV2LwIrfG1P+lv6luD8sUJs+2eI9NLGigaN+nUQc13iHqisq7bra9lnmUSYqbJvegraBOPQ== +typescript@4.1.3, typescript@~4.1.3: + version "4.1.3" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.1.3.tgz#519d582bd94cba0cf8934c7d8e8467e473f53bb7" + integrity sha512-B3ZIOf1IKeH2ixgHhj6la6xdwR9QrLC5d1VKeCSY4tvkqhF2eqd9O7txNlS0PO3GrBAFIdr3L1ndNwteUbZLYg== typescript@^3.5.2, typescript@~3.9.2: version "3.9.7" @@ -13585,7 +13765,7 @@ urix@^0.1.0: resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72" integrity sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI= -url-parse@^1.4.3: +url-parse@^1.4.3, url-parse@^1.4.7: version "1.4.7" resolved "https://registry.yarnpkg.com/url-parse/-/url-parse-1.4.7.tgz#a8a83535e8c00a316e403a5db4ac1b9b853ae278" integrity sha512-d3uaVyzDB9tQoSXFvuSUNFibTd9zxd2bkVrDRvF5TmvWWQwqE4lgYJ5m+x1DbecWkw+LK4RNl2CU1hHuOKPVlg== @@ -13647,10 +13827,10 @@ utils-merge@1.0.1: resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713" integrity sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM= -uuid@8.3.1: - version "8.3.1" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.1.tgz#2ba2e6ca000da60fce5a196954ab241131e05a31" - integrity sha512-FOmRr+FmWEIG8uhZv6C2bTgEVXsHk08kE7mPlrBbEe+c3r9pjceVPgupIfNIhc4yx55H69OXANrUaSuu9eInKg== +uuid@8.3.2: + version "8.3.2" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2" + integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg== uuid@^3.0.0, uuid@^3.0.1, uuid@^3.3.2, uuid@^3.4.0: version "3.4.0" @@ -13817,10 +13997,10 @@ webpack-dev-middleware@^3.7.2: range-parser "^1.2.1" webpack-log "^2.0.0" -webpack-dev-server@3.11.0: - version "3.11.0" - resolved "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-3.11.0.tgz#8f154a3bce1bcfd1cc618ef4e703278855e7ff8c" - integrity sha512-PUxZ+oSTxogFQgkTtFndEtJIPNmml7ExwufBZ9L2/Xyyd5PnOL5UreWe5ZT7IU25DSdykL9p1MLQzmLh2ljSeg== +webpack-dev-server@3.11.1: + version "3.11.1" + resolved "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-3.11.1.tgz#c74028bf5ba8885aaf230e48a20e8936ab8511f0" + integrity sha512-u4R3mRzZkbxQVa+MBWi2uVpB5W59H3ekZAJsQlKUTdl7Elcah2EhygTPLmeFXybQkf9i2+L0kn7ik9SnXa6ihQ== dependencies: ansi-html "0.0.7" bonjour "^3.5.0" @@ -13842,11 +14022,11 @@ webpack-dev-server@3.11.0: p-retry "^3.0.1" portfinder "^1.0.26" schema-utils "^1.0.0" - selfsigned "^1.10.7" + selfsigned "^1.10.8" semver "^6.3.0" serve-index "^1.9.1" - sockjs "0.3.20" - sockjs-client "1.4.0" + sockjs "^0.3.21" + sockjs-client "^1.5.0" spdy "^4.0.2" strip-ansi "^3.0.1" supports-color "^6.1.0" @@ -13864,18 +14044,18 @@ webpack-log@^2.0.0: ansi-colors "^3.0.0" uuid "^3.3.2" -webpack-merge@5.2.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/webpack-merge/-/webpack-merge-5.2.0.tgz#31cbcc954f8f89cd4b06ca8d97a38549f7f3f0c9" - integrity sha512-QBglJBg5+lItm3/Lopv8KDDK01+hjdg2azEwi/4vKJ8ZmGPdtJsTpjtNNOW3a4WiqzXdCATtTudOZJngE7RKkA== +webpack-merge@5.7.3: + version "5.7.3" + resolved "https://registry.yarnpkg.com/webpack-merge/-/webpack-merge-5.7.3.tgz#2a0754e1877a25a8bbab3d2475ca70a052708213" + integrity sha512-6/JUQv0ELQ1igjGDzHkXbVDRxkfA57Zw7PfiupdLFJYrgFqY5ZP8xxbpp2lU3EPwYx89ht5Z/aDkD40hFCm5AA== dependencies: clone-deep "^4.0.1" wildcard "^2.0.0" -webpack-sources@2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-2.0.1.tgz#1467f6e692ddce91e88b8044c44347b1087bbd4f" - integrity sha512-A9oYz7ANQBK5EN19rUXbvNgfdfZf5U2gP0769OXsj9CvYkCR6OHOsd6OKyEy4H38GGxpsQPKIL83NC64QY6Xmw== +webpack-sources@2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-2.2.0.tgz#058926f39e3d443193b6c31547229806ffd02bac" + integrity sha512-bQsA24JLwcnWGArOKUxYKhX3Mz/nK1Xf6hxullKERyktjNMC4x8koOeaDNTA2fEJ09BdWLbM/iTW0ithREUP0w== dependencies: source-list-map "^2.0.1" source-map "^0.6.1" @@ -13888,10 +14068,10 @@ webpack-sources@^1.1.0, webpack-sources@^1.2.0, webpack-sources@^1.3.0, webpack- source-list-map "^2.0.0" source-map "~0.6.1" -webpack-subresource-integrity@1.5.1: - version "1.5.1" - resolved "https://registry.yarnpkg.com/webpack-subresource-integrity/-/webpack-subresource-integrity-1.5.1.tgz#6f44ea99987266b70c4ec42ac51064d33e982277" - integrity sha512-uekbQ93PZ9e7BFB8Hl9cFIVYQyQqiXp2ExKk9Zv+qZfH/zHXHrCFAfw1VW0+NqWbTWrs/HnuDrto3+tiPXh//Q== +webpack-subresource-integrity@1.5.2: + version "1.5.2" + resolved "https://registry.yarnpkg.com/webpack-subresource-integrity/-/webpack-subresource-integrity-1.5.2.tgz#e40b6578d3072e2d24104975249c52c66e9a743e" + integrity sha512-GBWYBoyalbo5YClwWop9qe6Zclp8CIXYGIz12OPclJhIrSplDxs1Ls1JDMH8xBPPrg1T6ISaTW9Y6zOrwEiAzw== dependencies: webpack-sources "^1.3.0" @@ -13924,14 +14104,7 @@ webpack@4.44.2: watchpack "^1.7.4" webpack-sources "^1.4.1" -websocket-driver@0.6.5: - version "0.6.5" - resolved "https://registry.yarnpkg.com/websocket-driver/-/websocket-driver-0.6.5.tgz#5cb2556ceb85f4373c6d8238aa691c8454e13a36" - integrity sha1-XLJVbOuF9Dc8bYI4qmkchFThOjY= - dependencies: - websocket-extensions ">=0.1.1" - -websocket-driver@>=0.5.1: +websocket-driver@>=0.5.1, websocket-driver@^0.7.4: version "0.7.4" resolved "https://registry.yarnpkg.com/websocket-driver/-/websocket-driver-0.7.4.tgz#89ad5295bbf64b480abcba31e4953aca706f5760" integrity sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg== diff --git a/templates/app/angular/package.json b/templates/app/angular/package.json index 45e8452cfe..0975963c21 100644 --- a/templates/app/angular/package.json +++ b/templates/app/angular/package.json @@ -19,31 +19,31 @@ "@abp/ng.tenant-management": "~4.2.0-rc.2", "@abp/ng.theme.basic": "~4.2.0-rc.2", "@abp/ng.theme.shared": "~4.2.0-rc.2", - "@angular/animations": "~11.0.0", - "@angular/common": "~11.0.0", - "@angular/compiler": "~11.0.0", - "@angular/core": "~11.0.0", - "@angular/forms": "~11.0.0", - "@angular/platform-browser": "~11.0.0", - "@angular/platform-browser-dynamic": "~11.0.0", - "@angular/router": "~11.0.0", + "@angular/animations": "~11.1.0", + "@angular/common": "~11.1.0", + "@angular/compiler": "~11.1.0", + "@angular/core": "~11.1.0", + "@angular/forms": "~11.1.0", + "@angular/platform-browser": "~11.1.0", + "@angular/platform-browser-dynamic": "~11.1.0", + "@angular/router": "~11.1.0", "rxjs": "~6.6.0", "tslib": "^2.0.0", "zone.js": "~0.10.2" }, "devDependencies": { "@abp/ng.schematics": "~4.2.0-rc.2", - "@angular-devkit/build-angular": "~0.1100.0", - "@angular/cli": "~11.0.0", - "@angular/compiler-cli": "~11.0.0", - "@angular/language-service": "~11.0.0", + "@angular-devkit/build-angular": "~0.1101.0", + "@angular/cli": "~11.1.0", + "@angular/compiler-cli": "~11.1.0", + "@angular/language-service": "~11.1.0", "@types/jasmine": "~3.5.0", "@types/jasminewd2": "~2.0.3", "@types/node": "^12.11.1", "codelyzer": "^6.0.1", "jasmine-core": "~3.6.0", "jasmine-spec-reporter": "~5.0.0", - "karma": "~5.1.1", + "karma": "~5.2.3", "karma-chrome-launcher": "~3.1.0", "karma-coverage-istanbul-reporter": "~3.0.2", "karma-jasmine": "~4.0.0", @@ -52,6 +52,6 @@ "protractor": "~7.0.0", "ts-node": "~8.3.0", "tslint": "~6.1.0", - "typescript": "~4.0.3" + "typescript": "~4.1.3" } -} +} \ No newline at end of file diff --git a/templates/module/angular/package.json b/templates/module/angular/package.json index 62d6a7b7b8..4be629e899 100644 --- a/templates/module/angular/package.json +++ b/templates/module/angular/package.json @@ -22,31 +22,31 @@ "@abp/ng.tenant-management": "~4.2.0-rc.2", "@abp/ng.theme.basic": "~4.2.0-rc.2", "@abp/ng.theme.shared": "~4.2.0-rc.2", - "@angular/animations": "~11.0.0", - "@angular/common": "~11.0.0", - "@angular/compiler": "~11.0.0", - "@angular/core": "~11.0.0", - "@angular/forms": "~11.0.0", - "@angular/platform-browser": "~11.0.0", - "@angular/platform-browser-dynamic": "~11.0.0", - "@angular/router": "~11.0.0", + "@angular/animations": "~11.1.0", + "@angular/common": "~11.1.0", + "@angular/compiler": "~11.1.0", + "@angular/core": "~11.1.0", + "@angular/forms": "~11.1.0", + "@angular/platform-browser": "~11.1.0", + "@angular/platform-browser-dynamic": "~11.1.0", + "@angular/router": "~11.1.0", "rxjs": "~6.6.0", "tslib": "^2.0.0", "zone.js": "~0.10.2" }, "devDependencies": { "@abp/ng.schematics": "~4.2.0-rc.2", - "@angular-devkit/build-angular": "~0.1100.0", - "@angular/cli": "~11.0.0", - "@angular/compiler-cli": "~11.0.0", - "@angular/language-service": "~11.0.0", + "@angular-devkit/build-angular": "~0.1101.1", + "@angular/cli": "~11.1.1", + "@angular/compiler-cli": "~11.1.0", + "@angular/language-service": "~11.1.0", "@types/jasmine": "~3.5.0", "@types/jasminewd2": "~2.0.3", "@types/node": "^12.11.1", "codelyzer": "^6.0.1", "jasmine-core": "~3.6.0", "jasmine-spec-reporter": "~5.0.0", - "karma": "~5.1.1", + "karma": "~5.2.3", "karma-chrome-launcher": "~3.1.0", "karma-coverage-istanbul-reporter": "~3.0.2", "karma-jasmine": "~4.0.0", @@ -56,6 +56,6 @@ "symlink-manager": "^1.5.0", "ts-node": "~8.3.0", "tslint": "~6.1.0", - "typescript": "~4.0.3" + "typescript": "~4.1.3" } } From 7c4b76de30947354701f5687b353fe4096784b87 Mon Sep 17 00:00:00 2001 From: enisn Date: Mon, 25 Jan 2021 14:00:39 +0300 Subject: [PATCH 107/217] CmsKit - Model creating fix --- .../CmsKitDbContextModelCreatingExtensions.cs | 66 +++++++------------ 1 file changed, 23 insertions(+), 43 deletions(-) diff --git a/modules/cms-kit/src/Volo.CmsKit.EntityFrameworkCore/Volo/CmsKit/EntityFrameworkCore/CmsKitDbContextModelCreatingExtensions.cs b/modules/cms-kit/src/Volo.CmsKit.EntityFrameworkCore/Volo/CmsKit/EntityFrameworkCore/CmsKitDbContextModelCreatingExtensions.cs index 2cc5e8a52a..60cf1332f8 100644 --- a/modules/cms-kit/src/Volo.CmsKit.EntityFrameworkCore/Volo/CmsKit/EntityFrameworkCore/CmsKitDbContextModelCreatingExtensions.cs +++ b/modules/cms-kit/src/Volo.CmsKit.EntityFrameworkCore/Volo/CmsKit/EntityFrameworkCore/CmsKitDbContextModelCreatingExtensions.cs @@ -62,6 +62,10 @@ namespace Volo.CmsKit.EntityFrameworkCore b.HasIndex(x => new {x.TenantId, x.CreatorId, x.EntityType, x.EntityId, x.ReactionName}); }); } + else + { + builder.Ignore(); + } if (GlobalFeatureManager.Instance.IsEnabled()) { @@ -80,6 +84,10 @@ namespace Volo.CmsKit.EntityFrameworkCore b.HasIndex(x => new {x.TenantId, x.RepliedCommentId}); }); } + else + { + builder.Ignore(); + } if (GlobalFeatureManager.Instance.IsEnabled()) { @@ -96,6 +104,10 @@ namespace Volo.CmsKit.EntityFrameworkCore r.HasIndex(x => new { x.TenantId, x.EntityType, x.EntityId, x.CreatorId }); }); } + else + { + builder.Ignore(); + } if (GlobalFeatureManager.Instance.IsEnabled()) { @@ -112,6 +124,10 @@ namespace Volo.CmsKit.EntityFrameworkCore b.HasIndex(x => new { x.TenantId, x.EntityType, x.EntityId }); }); } + else + { + builder.Ignore(); + } if (GlobalFeatureManager.Instance.IsEnabled()) { @@ -145,50 +161,10 @@ namespace Volo.CmsKit.EntityFrameworkCore b.HasIndex(x => new { x.TenantId, x.EntityId, x.TagId }); }); } - - if (GlobalFeatureManager.Instance.IsEnabled()) + else { - builder.Entity(b => - { - b.ToTable(options.TablePrefix + "Pages", options.Schema); - - b.ConfigureByConvention(); - - b.Property(x => x.Title).IsRequired().HasMaxLength(PageConsts.MaxTitleLength); - b.Property(x => x.Url).IsRequired().HasMaxLength(PageConsts.MaxUrlLength); - b.Property(x => x.Description).HasMaxLength(PageConsts.MaxDescriptionLength); - - b.HasIndex(x => new { x.TenantId, x.Url }); - }); - } - - if (GlobalFeatureManager.Instance.IsEnabled()) - { - builder.Entity(b => - { - b.ToTable(options.TablePrefix + "Tags", options.Schema); - - b.ConfigureByConvention(); - - b.Property(x => x.EntityType).IsRequired().HasMaxLength(TagConsts.MaxEntityTypeLength); - b.Property(x => x.Name).IsRequired().HasMaxLength(TagConsts.MaxNameLength); - - b.HasIndex(x => new {x.TenantId, x.Name}); - }); - - builder.Entity(b => - { - b.ToTable(options.TablePrefix + "EntityTags", options.Schema); - - b.ConfigureByConvention(); - - b.HasKey(x => new {x.EntityId, x.TagId}); - - b.Property(x => x.EntityId).IsRequired(); - b.Property(x => x.TagId).IsRequired(); - - b.HasIndex(x => new {x.TenantId, x.EntityId, x.TagId}); - }); + builder.Ignore(); + builder.Ignore(); } if (GlobalFeatureManager.Instance.IsEnabled()) @@ -206,6 +182,10 @@ namespace Volo.CmsKit.EntityFrameworkCore b.HasIndex(x => new {x.TenantId, x.Url}); }); } + else + { + builder.Ignore(); + } } } } \ No newline at end of file From 5a8209e9ba4bd57c0def4598f3ebff59b2a2de9e Mon Sep 17 00:00:00 2001 From: enisn Date: Mon, 25 Jan 2021 14:41:36 +0300 Subject: [PATCH 108/217] CmsKit - Add feature check to CmsKit Pages route configuration --- .../src/Volo.CmsKit.Public.Web/CmsKitPublicWebModule.cs | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/modules/cms-kit/src/Volo.CmsKit.Public.Web/CmsKitPublicWebModule.cs b/modules/cms-kit/src/Volo.CmsKit.Public.Web/CmsKitPublicWebModule.cs index d44f67afc5..8cb5644256 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Public.Web/CmsKitPublicWebModule.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Public.Web/CmsKitPublicWebModule.cs @@ -3,9 +3,11 @@ using Microsoft.AspNetCore.Mvc.RazorPages; using Microsoft.Extensions.DependencyInjection; using Volo.Abp.AspNetCore.Mvc.Localization; using Volo.Abp.AutoMapper; +using Volo.Abp.GlobalFeatures; using Volo.Abp.Modularity; using Volo.Abp.UI.Navigation; using Volo.Abp.VirtualFileSystem; +using Volo.CmsKit.GlobalFeatures; using Volo.CmsKit.Localization; using Volo.CmsKit.Public.Web.Menus; using Volo.CmsKit.Web; @@ -57,7 +59,11 @@ namespace Volo.CmsKit.Public.Web Configure(options => { - options.Conventions.AddPageRoute("/CmsKit/Pages/Index", "/{*pageUrl}"); + if (GlobalFeatureManager.Instance.IsEnabled()) + { + // TODO: Work on this route logic. Blocks some routes with this logic. + options.Conventions.AddPageRoute("/CmsKit/Pages/Index", "/{*pageUrl}"); + } }); } } From 741e8e84eaa35033787fec689ee7e5fff91f25fc Mon Sep 17 00:00:00 2001 From: Yunus Emre Kalkan Date: Mon, 25 Jan 2021 15:28:30 +0300 Subject: [PATCH 109/217] Update abp.io localization --- .../Admin/Localization/Resources/en.json | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/abp_io/AbpIoLocalization/AbpIoLocalization/Admin/Localization/Resources/en.json b/abp_io/AbpIoLocalization/AbpIoLocalization/Admin/Localization/Resources/en.json index 7191c0f221..a292da5f9b 100644 --- a/abp_io/AbpIoLocalization/AbpIoLocalization/Admin/Localization/Resources/en.json +++ b/abp_io/AbpIoLocalization/AbpIoLocalization/Admin/Localization/Resources/en.json @@ -203,7 +203,16 @@ "VideoPreviewErrorMessage": "Given video url couldn't retrieve from Youtube. This can be caused by either video is private or the given URL is not available.", "DeleteCoverImage": "Delete Cover Image", "DeleteCoverImageConfirmationMessage": "Are you sure you want to delete the cover image for \"{0}\"?", - "DeleteCoverImageSuccessMessage": "Cover image successfully deleted" + "DeleteCoverImageSuccessMessage": "Cover image successfully deleted", + "PaymentsOf": "Payments of", + "ShowPaymentsOfOrganization": "Show payments", + "Date": "Date", + "Products": "Products", + "TotalAmount": "Total amount", + "Currency": "Currency", + "Gateway": "Gateway", + "State": "State", + "FailReason": "Fail reason" } } From 78d05232f271ce9ca2e8db7af8b0bdae0f5060d2 Mon Sep 17 00:00:00 2001 From: maliming Date: Tue, 26 Jan 2021 11:20:09 +0800 Subject: [PATCH 110/217] Update user properties when it's changed. Resolve #7430 --- .../Volo/Abp/Identity/ProfileAppService.cs | 22 ++++++++++++++----- 1 file changed, 16 insertions(+), 6 deletions(-) diff --git a/modules/identity/src/Volo.Abp.Identity.Application/Volo/Abp/Identity/ProfileAppService.cs b/modules/identity/src/Volo.Abp.Identity.Application/Volo/Abp/Identity/ProfileAppService.cs index 9097bbc144..ef3b5fd35d 100644 --- a/modules/identity/src/Volo.Abp.Identity.Application/Volo/Abp/Identity/ProfileAppService.cs +++ b/modules/identity/src/Volo.Abp.Identity.Application/Volo/Abp/Identity/ProfileAppService.cs @@ -1,4 +1,5 @@ -using System.Linq; +using System; +using System.Linq; using System.Threading.Tasks; using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Identity; @@ -37,17 +38,26 @@ namespace Volo.Abp.Identity var user = await UserManager.GetByIdAsync(CurrentUser.GetId()); - if (await SettingProvider.IsTrueAsync(IdentitySettingNames.User.IsUserNameUpdateEnabled)) + if (!string.Equals(user.UserName, input.UserName, StringComparison.InvariantCultureIgnoreCase)) { - (await UserManager.SetUserNameAsync(user, input.UserName)).CheckErrors(); + if (await SettingProvider.IsTrueAsync(IdentitySettingNames.User.IsUserNameUpdateEnabled)) + { + (await UserManager.SetUserNameAsync(user, input.UserName)).CheckErrors(); + } } - if (await SettingProvider.IsTrueAsync(IdentitySettingNames.User.IsEmailUpdateEnabled)) + if (!string.Equals(user.Email, input.Email, StringComparison.InvariantCultureIgnoreCase)) { - (await UserManager.SetEmailAsync(user, input.Email)).CheckErrors(); + if (await SettingProvider.IsTrueAsync(IdentitySettingNames.User.IsEmailUpdateEnabled)) + { + (await UserManager.SetEmailAsync(user, input.Email)).CheckErrors(); + } } - (await UserManager.SetPhoneNumberAsync(user, input.PhoneNumber)).CheckErrors(); + if (!string.Equals(user.PhoneNumber, input.PhoneNumber, StringComparison.InvariantCultureIgnoreCase)) + { + (await UserManager.SetPhoneNumberAsync(user, input.PhoneNumber)).CheckErrors(); + } user.Name = input.Name; user.Surname = input.Surname; From e7dc50fcd28563a087a7120a47deaa35d3818239 Mon Sep 17 00:00:00 2001 From: maliming Date: Tue, 26 Jan 2021 16:08:00 +0800 Subject: [PATCH 111/217] Refactor IRemoteStreamContent related functions. --- .../AspNetCore/Mvc/AbpMvcOptionsExtensions.cs | 2 +- .../Content/InternalRemoteStreamContent.cs | 25 ------------ .../RemoteStreamContentInputFormatter.cs | 8 ++-- .../RemoteStreamContentOutputFormatter.cs | 13 +++++-- .../Content/ReferencedRemoteStreamContent.cs | 16 -------- .../DynamicHttpProxyInterceptor.cs | 6 ++- .../RemoteStreamContentTestController.cs | 35 +++++++++++++++++ ...RemoteStreamContentTestController_Tests.cs | 38 +++++++++++++++++++ .../PersonAppServiceClientProxy_Tests.cs | 28 ++++++++++++++ .../TestApp/Application/IPeopleAppService.cs | 5 +++ .../TestApp/Application/PeopleAppService.cs | 22 +++++++++++ 11 files changed, 146 insertions(+), 52 deletions(-) delete mode 100644 framework/src/Volo.Abp.AspNetCore.Mvc/Volo/Abp/AspNetCore/Mvc/Content/InternalRemoteStreamContent.cs rename framework/src/Volo.Abp.AspNetCore.Mvc/Volo/Abp/AspNetCore/Mvc/{Content => ContentFormatters}/RemoteStreamContentInputFormatter.cs (77%) rename framework/src/Volo.Abp.AspNetCore.Mvc/Volo/Abp/AspNetCore/Mvc/{Content => ContentFormatters}/RemoteStreamContentOutputFormatter.cs (65%) delete mode 100644 framework/src/Volo.Abp.Http.Client/Volo/Abp/Http/Client/Content/ReferencedRemoteStreamContent.cs create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.Tests/Volo/Abp/AspNetCore/Mvc/ContentFormatters/RemoteStreamContentTestController.cs create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.Tests/Volo/Abp/AspNetCore/Mvc/ContentFormatters/RemoteStreamContentTestController_Tests.cs diff --git a/framework/src/Volo.Abp.AspNetCore.Mvc/Volo/Abp/AspNetCore/Mvc/AbpMvcOptionsExtensions.cs b/framework/src/Volo.Abp.AspNetCore.Mvc/Volo/Abp/AspNetCore/Mvc/AbpMvcOptionsExtensions.cs index 8cbba0fc46..873c532ba3 100644 --- a/framework/src/Volo.Abp.AspNetCore.Mvc/Volo/Abp/AspNetCore/Mvc/AbpMvcOptionsExtensions.cs +++ b/framework/src/Volo.Abp.AspNetCore.Mvc/Volo/Abp/AspNetCore/Mvc/AbpMvcOptionsExtensions.cs @@ -1,7 +1,7 @@ using Microsoft.AspNetCore.Mvc; using Microsoft.Extensions.DependencyInjection; using Volo.Abp.AspNetCore.Mvc.Auditing; -using Volo.Abp.AspNetCore.Mvc.Content; +using Volo.Abp.AspNetCore.Mvc.ContentFormatters; using Volo.Abp.AspNetCore.Mvc.Conventions; using Volo.Abp.AspNetCore.Mvc.ExceptionHandling; using Volo.Abp.AspNetCore.Mvc.Features; diff --git a/framework/src/Volo.Abp.AspNetCore.Mvc/Volo/Abp/AspNetCore/Mvc/Content/InternalRemoteStreamContent.cs b/framework/src/Volo.Abp.AspNetCore.Mvc/Volo/Abp/AspNetCore/Mvc/Content/InternalRemoteStreamContent.cs deleted file mode 100644 index aaaa849f4f..0000000000 --- a/framework/src/Volo.Abp.AspNetCore.Mvc/Volo/Abp/AspNetCore/Mvc/Content/InternalRemoteStreamContent.cs +++ /dev/null @@ -1,25 +0,0 @@ -using System.IO; -using Microsoft.AspNetCore.Http; -using Volo.Abp.Content; - -namespace Volo.Abp.AspNetCore.Mvc.Content -{ - internal class InternalRemoteStreamContent : IRemoteStreamContent - { - private readonly HttpContext _httpContext; - - public InternalRemoteStreamContent(HttpContext httpContext) - { - _httpContext = httpContext; - } - - public string ContentType => _httpContext.Request.ContentType; - - public long? ContentLength => _httpContext.Request.ContentLength; - - public Stream GetStream() - { - return _httpContext.Request.Body; - } - } -} diff --git a/framework/src/Volo.Abp.AspNetCore.Mvc/Volo/Abp/AspNetCore/Mvc/Content/RemoteStreamContentInputFormatter.cs b/framework/src/Volo.Abp.AspNetCore.Mvc/Volo/Abp/AspNetCore/Mvc/ContentFormatters/RemoteStreamContentInputFormatter.cs similarity index 77% rename from framework/src/Volo.Abp.AspNetCore.Mvc/Volo/Abp/AspNetCore/Mvc/Content/RemoteStreamContentInputFormatter.cs rename to framework/src/Volo.Abp.AspNetCore.Mvc/Volo/Abp/AspNetCore/Mvc/ContentFormatters/RemoteStreamContentInputFormatter.cs index a4f5668b7d..27116d3da6 100644 --- a/framework/src/Volo.Abp.AspNetCore.Mvc/Volo/Abp/AspNetCore/Mvc/Content/RemoteStreamContentInputFormatter.cs +++ b/framework/src/Volo.Abp.AspNetCore.Mvc/Volo/Abp/AspNetCore/Mvc/ContentFormatters/RemoteStreamContentInputFormatter.cs @@ -1,10 +1,10 @@ using System; using System.Threading.Tasks; -using Microsoft.Net.Http.Headers; using Microsoft.AspNetCore.Mvc.Formatters; +using Microsoft.Net.Http.Headers; using Volo.Abp.Content; -namespace Volo.Abp.AspNetCore.Mvc.Content +namespace Volo.Abp.AspNetCore.Mvc.ContentFormatters { public class RemoteStreamContentInputFormatter : InputFormatter { @@ -20,9 +20,7 @@ namespace Volo.Abp.AspNetCore.Mvc.Content public override Task ReadRequestBodyAsync(InputFormatterContext context) { - return InputFormatterResult.SuccessAsync( - new InternalRemoteStreamContent(context.HttpContext) - ); + return InputFormatterResult.SuccessAsync(new RemoteStreamContent(context.HttpContext.Request.Body)); } } } diff --git a/framework/src/Volo.Abp.AspNetCore.Mvc/Volo/Abp/AspNetCore/Mvc/Content/RemoteStreamContentOutputFormatter.cs b/framework/src/Volo.Abp.AspNetCore.Mvc/Volo/Abp/AspNetCore/Mvc/ContentFormatters/RemoteStreamContentOutputFormatter.cs similarity index 65% rename from framework/src/Volo.Abp.AspNetCore.Mvc/Volo/Abp/AspNetCore/Mvc/Content/RemoteStreamContentOutputFormatter.cs rename to framework/src/Volo.Abp.AspNetCore.Mvc/Volo/Abp/AspNetCore/Mvc/ContentFormatters/RemoteStreamContentOutputFormatter.cs index 706e514254..685822a4b6 100644 --- a/framework/src/Volo.Abp.AspNetCore.Mvc/Volo/Abp/AspNetCore/Mvc/Content/RemoteStreamContentOutputFormatter.cs +++ b/framework/src/Volo.Abp.AspNetCore.Mvc/Volo/Abp/AspNetCore/Mvc/ContentFormatters/RemoteStreamContentOutputFormatter.cs @@ -4,7 +4,7 @@ using Microsoft.AspNetCore.Mvc.Formatters; using Microsoft.Net.Http.Headers; using Volo.Abp.Content; -namespace Volo.Abp.AspNetCore.Mvc.Content +namespace Volo.Abp.AspNetCore.Mvc.ContentFormatters { public class RemoteStreamContentOutputFormatter : OutputFormatter { @@ -21,9 +21,16 @@ namespace Volo.Abp.AspNetCore.Mvc.Content public override async Task WriteResponseBodyAsync(OutputFormatterWriteContext context) { var remoteStream = (IRemoteStreamContent)context.Object; - using (var stream = remoteStream.GetStream()) + + if (remoteStream != null) { - await stream.CopyToAsync(context.HttpContext.Response.Body); + context.HttpContext.Response.ContentType = remoteStream.ContentType; + + using (var stream = remoteStream.GetStream()) + { + stream.Position = 0; + await stream.CopyToAsync(context.HttpContext.Response.Body); + } } } } diff --git a/framework/src/Volo.Abp.Http.Client/Volo/Abp/Http/Client/Content/ReferencedRemoteStreamContent.cs b/framework/src/Volo.Abp.Http.Client/Volo/Abp/Http/Client/Content/ReferencedRemoteStreamContent.cs deleted file mode 100644 index b99cec8a51..0000000000 --- a/framework/src/Volo.Abp.Http.Client/Volo/Abp/Http/Client/Content/ReferencedRemoteStreamContent.cs +++ /dev/null @@ -1,16 +0,0 @@ -using System.IO; -using Volo.Abp.Content; - -namespace Volo.Abp.Http.Client.Content -{ - internal class ReferencedRemoteStreamContent : RemoteStreamContent - { - private readonly object[] _references; - - public ReferencedRemoteStreamContent(Stream stream, params object[] references) - : base(stream) - { - this._references = references; - } - } -} diff --git a/framework/src/Volo.Abp.Http.Client/Volo/Abp/Http/Client/DynamicProxying/DynamicHttpProxyInterceptor.cs b/framework/src/Volo.Abp.Http.Client/Volo/Abp/Http/Client/DynamicProxying/DynamicHttpProxyInterceptor.cs index 7eb4e5ad78..dd4a681ba5 100644 --- a/framework/src/Volo.Abp.Http.Client/Volo/Abp/Http/Client/DynamicProxying/DynamicHttpProxyInterceptor.cs +++ b/framework/src/Volo.Abp.Http.Client/Volo/Abp/Http/Client/DynamicProxying/DynamicHttpProxyInterceptor.cs @@ -14,7 +14,6 @@ using Volo.Abp.Content; using Volo.Abp.DependencyInjection; using Volo.Abp.DynamicProxy; using Volo.Abp.Http.Client.Authentication; -using Volo.Abp.Http.Client.Content; using Volo.Abp.Http.Modeling; using Volo.Abp.Http.ProxyScripting.Generators; using Volo.Abp.Json; @@ -112,7 +111,10 @@ namespace Volo.Abp.Http.Client.DynamicProxying /* returning a class that holds a reference to response * content just to be sure that GC does not dispose of * it before we finish doing our work with the stream */ - return (T)((object)new ReferencedRemoteStreamContent(await responseContent.ReadAsStreamAsync(), responseContent)); + return (T)(object)new RemoteStreamContent(await responseContent.ReadAsStreamAsync()) + { + ContentType = responseContent.Headers.ContentType?.ToString() + }; } var stringContent = await responseContent.ReadAsStringAsync(); diff --git a/framework/test/Volo.Abp.AspNetCore.Mvc.Tests/Volo/Abp/AspNetCore/Mvc/ContentFormatters/RemoteStreamContentTestController.cs b/framework/test/Volo.Abp.AspNetCore.Mvc.Tests/Volo/Abp/AspNetCore/Mvc/ContentFormatters/RemoteStreamContentTestController.cs new file mode 100644 index 0000000000..8e49b77604 --- /dev/null +++ b/framework/test/Volo.Abp.AspNetCore.Mvc.Tests/Volo/Abp/AspNetCore/Mvc/ContentFormatters/RemoteStreamContentTestController.cs @@ -0,0 +1,35 @@ +using System.IO; +using System.Text; +using System.Threading.Tasks; +using Microsoft.AspNetCore.Mvc; +using Volo.Abp.Content; + +namespace Volo.Abp.AspNetCore.Mvc.ContentFormatters +{ + [Route("api/remote-stream-content-test")] + public class RemoteStreamContentTestController : AbpController + { + [HttpGet] + [Route("Download")] + public async Task DownloadAsync() + { + var memoryStream = new MemoryStream(); + await memoryStream.WriteAsync(Encoding.UTF8.GetBytes("stream")); + + return new RemoteStreamContent(memoryStream) + { + ContentType = "audio/mpeg" + }; + } + + [HttpPost] + [Route("Upload")] + public async Task UploadAsync([FromBody]IRemoteStreamContent streamContent) + { + using (var reader = new StreamReader(streamContent.GetStream())) + { + return await reader.ReadToEndAsync(); + } + } + } +} diff --git a/framework/test/Volo.Abp.AspNetCore.Mvc.Tests/Volo/Abp/AspNetCore/Mvc/ContentFormatters/RemoteStreamContentTestController_Tests.cs b/framework/test/Volo.Abp.AspNetCore.Mvc.Tests/Volo/Abp/AspNetCore/Mvc/ContentFormatters/RemoteStreamContentTestController_Tests.cs new file mode 100644 index 0000000000..898423ab58 --- /dev/null +++ b/framework/test/Volo.Abp.AspNetCore.Mvc.Tests/Volo/Abp/AspNetCore/Mvc/ContentFormatters/RemoteStreamContentTestController_Tests.cs @@ -0,0 +1,38 @@ +using System.IO; +using System.Net.Http; +using System.Text; +using System.Threading.Tasks; +using Shouldly; +using Xunit; + +namespace Volo.Abp.AspNetCore.Mvc.ContentFormatters +{ + public class RemoteStreamContentTestController_Tests : AspNetCoreMvcTestBase + { + [Fact] + public async Task DownloadAsync() + { + var result = await GetResponseAsync("/api/remote-stream-content-test/download"); + result.Content.Headers.ContentType?.ToString().ShouldBe("audio/mpeg"); + (await result.Content.ReadAsStringAsync()).ShouldBe("stream"); + } + + [Fact] + public async Task UploadAsync() + { + using (var requestMessage = new HttpRequestMessage(HttpMethod.Post, "/api/remote-stream-content-test/upload")) + { + var memoryStream = new MemoryStream(); + await memoryStream.WriteAsync(Encoding.UTF8.GetBytes("upload")); + + memoryStream.Position = 0; + requestMessage.Content = new StreamContent(memoryStream); + requestMessage.Content.Headers.Add("Content-Type", "*/*"); + + var response = await Client.SendAsync(requestMessage); + + (await response.Content.ReadAsStringAsync()).ShouldBe("upload"); + } + } + } +} 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 e53e3cabbf..93299b944c 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 @@ -1,11 +1,14 @@ using System; using System.Collections.Generic; +using System.IO; using System.Linq; +using System.Text; using System.Threading.Tasks; using Microsoft.Extensions.DependencyInjection; using NSubstitute.Extensions; using Shouldly; using Volo.Abp.Application.Dtos; +using Volo.Abp.Content; using Volo.Abp.Domain.Repositories; using Volo.Abp.Http.Client; using Volo.Abp.TestApp.Application; @@ -168,5 +171,30 @@ namespace Volo.Abp.Http.DynamicProxying result.Inner1.Value2.ShouldBe("value two"); result.Inner1.Inner2.Value3.ShouldBe("value three"); } + + [Fact] + public async Task DownloadAsync() + { + var result = await _peopleAppService.DownloadAsync(); + + result.ContentType.ShouldBe("audio/mpeg"); + using (var reader = new StreamReader(result.GetStream())) + { + var str = await reader.ReadToEndAsync(); + str.ShouldBe("stream"); + } + } + + [Fact] + public async Task UploadAsync() + { + var memoryStream = new MemoryStream(); + await memoryStream.WriteAsync(Encoding.UTF8.GetBytes("upload")); + var result = await _peopleAppService.UploadAsync(new RemoteStreamContent(memoryStream) + { + ContentType = "application/rtf" + }); + result.ShouldBe("upload"); + } } } diff --git a/framework/test/Volo.Abp.TestApp/Volo/Abp/TestApp/Application/IPeopleAppService.cs b/framework/test/Volo.Abp.TestApp/Volo/Abp/TestApp/Application/IPeopleAppService.cs index a34cd19ebb..2344cb7c9b 100644 --- a/framework/test/Volo.Abp.TestApp/Volo/Abp/TestApp/Application/IPeopleAppService.cs +++ b/framework/test/Volo.Abp.TestApp/Volo/Abp/TestApp/Application/IPeopleAppService.cs @@ -3,6 +3,7 @@ using System.Collections.Generic; using System.Threading.Tasks; using Volo.Abp.Application.Dtos; using Volo.Abp.Application.Services; +using Volo.Abp.Content; using Volo.Abp.TestApp.Application.Dto; namespace Volo.Abp.TestApp.Application @@ -20,5 +21,9 @@ namespace Volo.Abp.TestApp.Application Task GetWithAuthorized(); Task GetWithComplexType(GetWithComplexTypeInput input); + + Task DownloadAsync(); + + Task UploadAsync(IRemoteStreamContent streamContent); } } diff --git a/framework/test/Volo.Abp.TestApp/Volo/Abp/TestApp/Application/PeopleAppService.cs b/framework/test/Volo.Abp.TestApp/Volo/Abp/TestApp/Application/PeopleAppService.cs index cff72c7869..ec9332d44e 100644 --- a/framework/test/Volo.Abp.TestApp/Volo/Abp/TestApp/Application/PeopleAppService.cs +++ b/framework/test/Volo.Abp.TestApp/Volo/Abp/TestApp/Application/PeopleAppService.cs @@ -1,12 +1,15 @@ using System; using System.Collections.Generic; +using System.IO; using System.Linq; +using System.Text; using System.Threading.Tasks; using Microsoft.AspNetCore.Authorization; using Volo.Abp.Application.Dtos; using Volo.Abp.TestApp.Domain; using Volo.Abp.Domain.Repositories; using Volo.Abp.Application.Services; +using Volo.Abp.Content; using Volo.Abp.TestApp.Application.Dto; namespace Volo.Abp.TestApp.Application @@ -64,5 +67,24 @@ namespace Volo.Abp.TestApp.Application { return Task.FromResult(input); } + + public async Task DownloadAsync() + { + var memoryStream = new MemoryStream(); + await memoryStream.WriteAsync(Encoding.UTF8.GetBytes("stream")); + + return new RemoteStreamContent(memoryStream) + { + ContentType = "audio/mpeg" + }; + } + + public async Task UploadAsync(IRemoteStreamContent streamContent) + { + using (var reader = new StreamReader(streamContent.GetStream())) + { + return await reader.ReadToEndAsync(); + } + } } } From 75e47dd4a524e63828a7cc789e44a4855c2a8872 Mon Sep 17 00:00:00 2001 From: maliming Date: Tue, 26 Jan 2021 16:22:14 +0800 Subject: [PATCH 112/217] Update unit test. --- .../RemoteStreamContentInputFormatter.cs | 5 ++++- .../RemoteStreamContentTestController.cs | 7 ++++--- .../RemoteStreamContentTestController_Tests.cs | 11 +++++------ .../PersonAppServiceClientProxy_Tests.cs | 8 ++++---- .../Volo/Abp/TestApp/Application/PeopleAppService.cs | 4 ++-- 5 files changed, 19 insertions(+), 16 deletions(-) diff --git a/framework/src/Volo.Abp.AspNetCore.Mvc/Volo/Abp/AspNetCore/Mvc/ContentFormatters/RemoteStreamContentInputFormatter.cs b/framework/src/Volo.Abp.AspNetCore.Mvc/Volo/Abp/AspNetCore/Mvc/ContentFormatters/RemoteStreamContentInputFormatter.cs index 27116d3da6..ba07e28f77 100644 --- a/framework/src/Volo.Abp.AspNetCore.Mvc/Volo/Abp/AspNetCore/Mvc/ContentFormatters/RemoteStreamContentInputFormatter.cs +++ b/framework/src/Volo.Abp.AspNetCore.Mvc/Volo/Abp/AspNetCore/Mvc/ContentFormatters/RemoteStreamContentInputFormatter.cs @@ -20,7 +20,10 @@ namespace Volo.Abp.AspNetCore.Mvc.ContentFormatters public override Task ReadRequestBodyAsync(InputFormatterContext context) { - return InputFormatterResult.SuccessAsync(new RemoteStreamContent(context.HttpContext.Request.Body)); + return InputFormatterResult.SuccessAsync(new RemoteStreamContent(context.HttpContext.Request.Body) + { + ContentType = context.HttpContext.Request.ContentType + }); } } } diff --git a/framework/test/Volo.Abp.AspNetCore.Mvc.Tests/Volo/Abp/AspNetCore/Mvc/ContentFormatters/RemoteStreamContentTestController.cs b/framework/test/Volo.Abp.AspNetCore.Mvc.Tests/Volo/Abp/AspNetCore/Mvc/ContentFormatters/RemoteStreamContentTestController.cs index 8e49b77604..15491f9b21 100644 --- a/framework/test/Volo.Abp.AspNetCore.Mvc.Tests/Volo/Abp/AspNetCore/Mvc/ContentFormatters/RemoteStreamContentTestController.cs +++ b/framework/test/Volo.Abp.AspNetCore.Mvc.Tests/Volo/Abp/AspNetCore/Mvc/ContentFormatters/RemoteStreamContentTestController.cs @@ -2,6 +2,7 @@ using System.Text; using System.Threading.Tasks; using Microsoft.AspNetCore.Mvc; +using Shouldly; using Volo.Abp.Content; namespace Volo.Abp.AspNetCore.Mvc.ContentFormatters @@ -14,11 +15,11 @@ namespace Volo.Abp.AspNetCore.Mvc.ContentFormatters public async Task DownloadAsync() { var memoryStream = new MemoryStream(); - await memoryStream.WriteAsync(Encoding.UTF8.GetBytes("stream")); + await memoryStream.WriteAsync(Encoding.UTF8.GetBytes("DownloadAsync")); return new RemoteStreamContent(memoryStream) { - ContentType = "audio/mpeg" + ContentType = "application/rtf" }; } @@ -28,7 +29,7 @@ namespace Volo.Abp.AspNetCore.Mvc.ContentFormatters { using (var reader = new StreamReader(streamContent.GetStream())) { - return await reader.ReadToEndAsync(); + return await reader.ReadToEndAsync() + ":" + streamContent.ContentType; } } } diff --git a/framework/test/Volo.Abp.AspNetCore.Mvc.Tests/Volo/Abp/AspNetCore/Mvc/ContentFormatters/RemoteStreamContentTestController_Tests.cs b/framework/test/Volo.Abp.AspNetCore.Mvc.Tests/Volo/Abp/AspNetCore/Mvc/ContentFormatters/RemoteStreamContentTestController_Tests.cs index 898423ab58..3d49a5b3ff 100644 --- a/framework/test/Volo.Abp.AspNetCore.Mvc.Tests/Volo/Abp/AspNetCore/Mvc/ContentFormatters/RemoteStreamContentTestController_Tests.cs +++ b/framework/test/Volo.Abp.AspNetCore.Mvc.Tests/Volo/Abp/AspNetCore/Mvc/ContentFormatters/RemoteStreamContentTestController_Tests.cs @@ -13,8 +13,8 @@ namespace Volo.Abp.AspNetCore.Mvc.ContentFormatters public async Task DownloadAsync() { var result = await GetResponseAsync("/api/remote-stream-content-test/download"); - result.Content.Headers.ContentType?.ToString().ShouldBe("audio/mpeg"); - (await result.Content.ReadAsStringAsync()).ShouldBe("stream"); + result.Content.Headers.ContentType?.ToString().ShouldBe("application/rtf"); + (await result.Content.ReadAsStringAsync()).ShouldBe("DownloadAsync"); } [Fact] @@ -23,15 +23,14 @@ namespace Volo.Abp.AspNetCore.Mvc.ContentFormatters using (var requestMessage = new HttpRequestMessage(HttpMethod.Post, "/api/remote-stream-content-test/upload")) { var memoryStream = new MemoryStream(); - await memoryStream.WriteAsync(Encoding.UTF8.GetBytes("upload")); - + await memoryStream.WriteAsync(Encoding.UTF8.GetBytes("UploadAsync")); memoryStream.Position = 0; requestMessage.Content = new StreamContent(memoryStream); - requestMessage.Content.Headers.Add("Content-Type", "*/*"); + requestMessage.Content.Headers.Add("Content-Type", "application/rtf"); var response = await Client.SendAsync(requestMessage); - (await response.Content.ReadAsStringAsync()).ShouldBe("upload"); + (await response.Content.ReadAsStringAsync()).ShouldBe("UploadAsync:application/rtf"); } } } 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 93299b944c..77e838493e 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 @@ -177,11 +177,11 @@ namespace Volo.Abp.Http.DynamicProxying { var result = await _peopleAppService.DownloadAsync(); - result.ContentType.ShouldBe("audio/mpeg"); + result.ContentType.ShouldBe("application/rtf"); using (var reader = new StreamReader(result.GetStream())) { var str = await reader.ReadToEndAsync(); - str.ShouldBe("stream"); + str.ShouldBe("DownloadAsync"); } } @@ -189,12 +189,12 @@ namespace Volo.Abp.Http.DynamicProxying public async Task UploadAsync() { var memoryStream = new MemoryStream(); - await memoryStream.WriteAsync(Encoding.UTF8.GetBytes("upload")); + await memoryStream.WriteAsync(Encoding.UTF8.GetBytes("UploadAsync")); var result = await _peopleAppService.UploadAsync(new RemoteStreamContent(memoryStream) { ContentType = "application/rtf" }); - result.ShouldBe("upload"); + result.ShouldBe("UploadAsync"); } } } diff --git a/framework/test/Volo.Abp.TestApp/Volo/Abp/TestApp/Application/PeopleAppService.cs b/framework/test/Volo.Abp.TestApp/Volo/Abp/TestApp/Application/PeopleAppService.cs index ec9332d44e..ee191960b6 100644 --- a/framework/test/Volo.Abp.TestApp/Volo/Abp/TestApp/Application/PeopleAppService.cs +++ b/framework/test/Volo.Abp.TestApp/Volo/Abp/TestApp/Application/PeopleAppService.cs @@ -71,11 +71,11 @@ namespace Volo.Abp.TestApp.Application public async Task DownloadAsync() { var memoryStream = new MemoryStream(); - await memoryStream.WriteAsync(Encoding.UTF8.GetBytes("stream")); + await memoryStream.WriteAsync(Encoding.UTF8.GetBytes("DownloadAsync")); return new RemoteStreamContent(memoryStream) { - ContentType = "audio/mpeg" + ContentType = "application/rtf" }; } From eb2776cc957c0c0a25ce1310cc74b9350cf77ddd Mon Sep 17 00:00:00 2001 From: maliming Date: Tue, 26 Jan 2021 16:28:36 +0800 Subject: [PATCH 113/217] Check ContentType in unit test. --- .../Http/DynamicProxying/PersonAppServiceClientProxy_Tests.cs | 2 +- .../Volo/Abp/TestApp/Application/PeopleAppService.cs | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) 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 77e838493e..210af27f6c 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 @@ -194,7 +194,7 @@ namespace Volo.Abp.Http.DynamicProxying { ContentType = "application/rtf" }); - result.ShouldBe("UploadAsync"); + result.ShouldBe("UploadAsync:application/rtf"); } } } diff --git a/framework/test/Volo.Abp.TestApp/Volo/Abp/TestApp/Application/PeopleAppService.cs b/framework/test/Volo.Abp.TestApp/Volo/Abp/TestApp/Application/PeopleAppService.cs index ee191960b6..788304900d 100644 --- a/framework/test/Volo.Abp.TestApp/Volo/Abp/TestApp/Application/PeopleAppService.cs +++ b/framework/test/Volo.Abp.TestApp/Volo/Abp/TestApp/Application/PeopleAppService.cs @@ -83,7 +83,7 @@ namespace Volo.Abp.TestApp.Application { using (var reader = new StreamReader(streamContent.GetStream())) { - return await reader.ReadToEndAsync(); + return await reader.ReadToEndAsync() + ":" + streamContent.ContentType; } } } From 271a236545b736e8c95d526b78df69c4faf5e920 Mon Sep 17 00:00:00 2001 From: maliming Date: Tue, 26 Jan 2021 16:37:24 +0800 Subject: [PATCH 114/217] Set Position of MemoryStream to 0. --- .../Http/DynamicProxying/PersonAppServiceClientProxy_Tests.cs | 1 + 1 file changed, 1 insertion(+) 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 210af27f6c..c2fc5ea4b3 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 @@ -190,6 +190,7 @@ namespace Volo.Abp.Http.DynamicProxying { var memoryStream = new MemoryStream(); await memoryStream.WriteAsync(Encoding.UTF8.GetBytes("UploadAsync")); + memoryStream.Position = 0; var result = await _peopleAppService.UploadAsync(new RemoteStreamContent(memoryStream) { ContentType = "application/rtf" From 2afbef110fed6b25ae736687d054ca694c714790 Mon Sep 17 00:00:00 2001 From: liangshiwei Date: Tue, 26 Jan 2021 17:15:10 +0800 Subject: [PATCH 115/217] Add cancellationToken parameter to DeleteManyAsync --- .../Repositories/MongoDB/MongoDbRepository.cs | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/framework/src/Volo.Abp.MongoDB/Volo/Abp/Domain/Repositories/MongoDB/MongoDbRepository.cs b/framework/src/Volo.Abp.MongoDB/Volo/Abp/Domain/Repositories/MongoDB/MongoDbRepository.cs index b252c48999..fcb51a687c 100644 --- a/framework/src/Volo.Abp.MongoDB/Volo/Abp/Domain/Repositories/MongoDB/MongoDbRepository.cs +++ b/framework/src/Volo.Abp.MongoDB/Volo/Abp/Domain/Repositories/MongoDB/MongoDbRepository.cs @@ -345,15 +345,15 @@ namespace Volo.Abp.Domain.Repositories.MongoDB updateResult = await collection.UpdateManyAsync( dbContext.SessionHandle, CreateEntitiesFilter(entityArray), - Builders.Update.Set(x => ((ISoftDelete)x).IsDeleted, true) - ); + Builders.Update.Set(x => ((ISoftDelete)x).IsDeleted, true), + cancellationToken: cancellationToken); } else { updateResult = await collection.UpdateManyAsync( CreateEntitiesFilter(entityArray), - Builders.Update.Set(x => ((ISoftDelete)x).IsDeleted, true) - ); + Builders.Update.Set(x => ((ISoftDelete)x).IsDeleted, true), + cancellationToken: cancellationToken); } if (updateResult.MatchedCount < entitiesCount) @@ -368,14 +368,14 @@ namespace Volo.Abp.Domain.Repositories.MongoDB { deleteResult = await collection.DeleteManyAsync( dbContext.SessionHandle, - CreateEntitiesFilter(entityArray) - ); + CreateEntitiesFilter(entityArray), + cancellationToken: cancellationToken); } else { deleteResult = await collection.DeleteManyAsync( - CreateEntitiesFilter(entityArray) - ); + CreateEntitiesFilter(entityArray), + cancellationToken); } if (deleteResult.DeletedCount < entitiesCount) From 8c359638bb46f91229a8b1e76d3e7d562dcc7d5d Mon Sep 17 00:00:00 2001 From: liangshiwei Date: Tue, 26 Jan 2021 17:28:01 +0800 Subject: [PATCH 116/217] Add base aggregation API to MongoDB repository --- .../MongoDB/IMongoDbRepository.cs | 2 ++ .../Repositories/MongoDB/MongoDbRepository.cs | 28 +++++++++++++++++++ .../MongoDbCoreRepositoryExtensions.cs | 19 +++++++++---- 3 files changed, 43 insertions(+), 6 deletions(-) diff --git a/framework/src/Volo.Abp.MongoDB/Volo/Abp/Domain/Repositories/MongoDB/IMongoDbRepository.cs b/framework/src/Volo.Abp.MongoDB/Volo/Abp/Domain/Repositories/MongoDB/IMongoDbRepository.cs index 960222679f..12e5987777 100644 --- a/framework/src/Volo.Abp.MongoDB/Volo/Abp/Domain/Repositories/MongoDB/IMongoDbRepository.cs +++ b/framework/src/Volo.Abp.MongoDB/Volo/Abp/Domain/Repositories/MongoDB/IMongoDbRepository.cs @@ -24,6 +24,8 @@ namespace Volo.Abp.Domain.Repositories.MongoDB IMongoQueryable GetMongoQueryable(); Task> GetMongoQueryableAsync(CancellationToken cancellationToken = default); + + Task> GetAggregateAsync(CancellationToken cancellationToken = default); } public interface IMongoDbRepository : IMongoDbRepository, IRepository diff --git a/framework/src/Volo.Abp.MongoDB/Volo/Abp/Domain/Repositories/MongoDB/MongoDbRepository.cs b/framework/src/Volo.Abp.MongoDB/Volo/Abp/Domain/Repositories/MongoDB/MongoDbRepository.cs index fcb51a687c..c9f2508a68 100644 --- a/framework/src/Volo.Abp.MongoDB/Volo/Abp/Domain/Repositories/MongoDB/MongoDbRepository.cs +++ b/framework/src/Volo.Abp.MongoDB/Volo/Abp/Domain/Repositories/MongoDB/MongoDbRepository.cs @@ -16,6 +16,7 @@ using Volo.Abp.EventBus.Distributed; using Volo.Abp.EventBus.Local; using Volo.Abp.Guids; using Volo.Abp.MongoDB; +using Volo.Abp.MultiTenancy; namespace Volo.Abp.Domain.Repositories.MongoDB { @@ -473,6 +474,17 @@ namespace Volo.Abp.Domain.Repositories.MongoDB ); } + public async Task> GetAggregateAsync(CancellationToken cancellationToken = default) + { + var dbContext = await GetDbContextAsync(cancellationToken); + var collection = await GetCollectionAsync(cancellationToken); + + return ApplyDataFilters( + dbContext.SessionHandle != null + ? collection.Aggregate(dbContext.SessionHandle) + : collection.Aggregate()); + } + protected virtual bool IsHardDeleted(TEntity entity) { var hardDeletedEntities = UnitOfWorkManager?.Current?.Items.GetOrDefault(UnitOfWorkItemNames.HardDeletedEntities) as HashSet; @@ -621,6 +633,22 @@ namespace Volo.Abp.Domain.Repositories.MongoDB throw new AbpDbConcurrencyException("Database operation expected to affect 1 row but actually affected 0 row. Data may have been modified or deleted since entities were loaded. This exception has been thrown on optimistic concurrency check."); } + protected virtual IAggregateFluent ApplyDataFilters(IAggregateFluent aggregate) + { + if (typeof(ISoftDelete).IsAssignableFrom(typeof(TEntity)) && DataFilter.IsEnabled()) + { + aggregate = aggregate.Match(e => ((ISoftDelete)e).IsDeleted == false); + } + + if (typeof(IMultiTenant).IsAssignableFrom(typeof(TEntity)) && DataFilter.IsEnabled()) + { + var tenantId = CurrentTenant.Id; + aggregate = aggregate.Match(e => ((IMultiTenant)e).TenantId == tenantId); + } + + return aggregate; + } + [Obsolete("This method will be removed in future versions.")] public QueryableExecutionModel GetExecutionModel() { diff --git a/framework/src/Volo.Abp.MongoDB/Volo/Abp/Domain/Repositories/MongoDbCoreRepositoryExtensions.cs b/framework/src/Volo.Abp.MongoDB/Volo/Abp/Domain/Repositories/MongoDbCoreRepositoryExtensions.cs index 90605f416e..bcbdc00d9e 100644 --- a/framework/src/Volo.Abp.MongoDB/Volo/Abp/Domain/Repositories/MongoDbCoreRepositoryExtensions.cs +++ b/framework/src/Volo.Abp.MongoDB/Volo/Abp/Domain/Repositories/MongoDbCoreRepositoryExtensions.cs @@ -1,4 +1,5 @@ using System; +using System.Threading; using System.Threading.Tasks; using MongoDB.Driver; using MongoDB.Driver.Linq; @@ -16,10 +17,10 @@ namespace Volo.Abp.Domain.Repositories return repository.ToMongoDbRepository().Database; } - public static Task GetDatabaseAsync(this IBasicRepository repository) + public static Task GetDatabaseAsync(this IBasicRepository repository, CancellationToken cancellationToken = default) where TEntity : class, IEntity { - return repository.ToMongoDbRepository().GetDatabaseAsync(); + return repository.ToMongoDbRepository().GetDatabaseAsync(cancellationToken); } [Obsolete("Use GetCollectionAsync method.")] @@ -29,10 +30,10 @@ namespace Volo.Abp.Domain.Repositories return repository.ToMongoDbRepository().Collection; } - public static Task> GetCollectionAsync(this IBasicRepository repository) + public static Task> GetCollectionAsync(this IBasicRepository repository, CancellationToken cancellationToken = default) where TEntity : class, IEntity { - return repository.ToMongoDbRepository().GetCollectionAsync(); + return repository.ToMongoDbRepository().GetCollectionAsync(cancellationToken); } [Obsolete("Use GetMongoQueryableAsync method.")] @@ -42,10 +43,16 @@ namespace Volo.Abp.Domain.Repositories return repository.ToMongoDbRepository().GetMongoQueryable(); } - public static Task> GetMongoQueryableAsync(this IBasicRepository repository) + public static Task> GetMongoQueryableAsync(this IBasicRepository repository, CancellationToken cancellationToken = default) where TEntity : class, IEntity { - return repository.ToMongoDbRepository().GetMongoQueryableAsync(); + return repository.ToMongoDbRepository().GetMongoQueryableAsync(cancellationToken); + } + + public static Task> GetAggregateAsync(this IBasicRepository repository, CancellationToken cancellationToken = default) + where TEntity : class, IEntity + { + return repository.ToMongoDbRepository().GetAggregateAsync(cancellationToken); } public static IMongoDbRepository ToMongoDbRepository(this IBasicRepository repository) From 220a5e5d850f11ab83db8c5bc0ad2e1e9d7e91ab Mon Sep 17 00:00:00 2001 From: liangshiwei Date: Tue, 26 Jan 2021 17:36:46 +0800 Subject: [PATCH 117/217] Update docs --- docs/en/MongoDB.md | 3 ++- docs/zh-Hans/MongoDB.md | 9 +++++---- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/docs/en/MongoDB.md b/docs/en/MongoDB.md index 60b6a94823..a12d216b3d 100644 --- a/docs/en/MongoDB.md +++ b/docs/en/MongoDB.md @@ -254,7 +254,7 @@ public async override Task DeleteAsync( ### Access to the MongoDB API -In most cases, you want to hide MongoDB APIs behind a repository (this is the main purpose of the repository). However, if you want to access the MongoDB API over the repository, you can use `GetDatabaseAsync()` or `GetCollectionAsync()` extension methods. Example: +In most cases, you want to hide MongoDB APIs behind a repository (this is the main purpose of the repository). However, if you want to access the MongoDB API over the repository, you can use `GetDatabaseAsync()`, `GetCollectionAsync()` or `GetAggregateAsync()` extension methods. Example: ```csharp public class BookService @@ -270,6 +270,7 @@ public class BookService { IMongoDatabase database = await _bookRepository.GetDatabaseAsync(); IMongoCollection books = await _bookRepository.GetCollectionAsync(); + IAggregateFluent bookAggregate = await _bookRepository.GetAggregateAsync(); } } ``` diff --git a/docs/zh-Hans/MongoDB.md b/docs/zh-Hans/MongoDB.md index 2ceeb1e00c..af63642a41 100644 --- a/docs/zh-Hans/MongoDB.md +++ b/docs/zh-Hans/MongoDB.md @@ -211,7 +211,7 @@ public async override Task DeleteAsync( #### 访问MongoDB API -大多数情况下,你想要将MongoDB API隐藏在仓储后面(这是仓储的主要目的).如果你想在仓储之上访问MongoDB API,你可以使用`GetDatabase()`或`GetCollection()`方法.例如: +大多数情况下,你想要将MongoDB API隐藏在仓储后面(这是仓储的主要目的).如果你想在仓储之上访问MongoDB API,你可以使用`GetDatabaseAsync()`, `GetAggregateAsync()` 或`GetCollectionAsync()`方法.例如: ```csharp public class BookService @@ -223,10 +223,11 @@ public class BookService _bookRepository = bookRepository; } - public void Foo() + public async Task FooAsync() { - IMongoDatabase database = _bookRepository.GetDatabase(); - IMongoCollection books = _bookRepository.GetCollection(); + IMongoDatabase database = await _bookRepository.GetDatabaseAsync(); + IMongoCollection books = await _bookRepository.GetCollectionAsync(); + IAggregateFluent bookAggregate = await _bookRepository.GetAggregateAsync(); } } ``` From 5cd7eb832addb365c737ae5cbb738b4397a3b4e5 Mon Sep 17 00:00:00 2001 From: Ahmet Date: Tue, 26 Jan 2021 14:27:56 +0300 Subject: [PATCH 118/217] Update FeatureManagementModal.cshtml --- .../Pages/FeatureManagement/FeatureManagementModal.cshtml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/feature-management/src/Volo.Abp.FeatureManagement.Web/Pages/FeatureManagement/FeatureManagementModal.cshtml b/modules/feature-management/src/Volo.Abp.FeatureManagement.Web/Pages/FeatureManagement/FeatureManagementModal.cshtml index f3080b7275..aa8d7313d9 100644 --- a/modules/feature-management/src/Volo.Abp.FeatureManagement.Web/Pages/FeatureManagement/FeatureManagementModal.cshtml +++ b/modules/feature-management/src/Volo.Abp.FeatureManagement.Web/Pages/FeatureManagement/FeatureManagementModal.cshtml @@ -26,7 +26,7 @@ { var featureGroups = Model.FeatureListResultDto.Groups; - + From 041b54b41eece0e63ffa86042c233cb1e5343bc5 Mon Sep 17 00:00:00 2001 From: EngincanV Date: Tue, 26 Jan 2021 14:32:01 +0300 Subject: [PATCH 119/217] Commercial: Add localizations for unsubscribe license expire email page --- .../Commercial/Localization/Resources/en.json | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/en.json b/abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/en.json index c6eb1ad645..a039d0c7a0 100644 --- a/abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/en.json +++ b/abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/en.json @@ -34,6 +34,11 @@ "JoinOurMarketingNewsletter": "Join our marketing newsletter", "WouldLikeToReceiveMarketingMaterials": "I would like to receive marketing materials like product deals & special offers.", "StartUsingYourLicenseNow": "Start using your license now!", - "WelcomePage": "Welcome Page" + "WelcomePage": "Welcome Page", + "UnsubscriptionExpireEmail": "Unsubscribe from license expire date reminder emails", + "UnsubscribeLicenseExpireEmailReminderMessage": "This email subscription only contains reminding your license expiration date.", + "UnsubscribeFromLicenseExpireEmails": "If you don't want to receive the emails about your license expiration date, you can unsubscribe at any time you want.", + "Unsubscribe": "Unsubscribe", + "NotOrganizationMember": "You are not member of any organization." } } \ No newline at end of file From 4bc4b75a3861c39b82702a3b20e1eb079bc4fc8a Mon Sep 17 00:00:00 2001 From: EngincanV Date: Tue, 26 Jan 2021 15:04:23 +0300 Subject: [PATCH 120/217] Update en.json --- .../Commercial/Localization/Resources/en.json | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/en.json b/abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/en.json index a039d0c7a0..4de287778f 100644 --- a/abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/en.json +++ b/abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/en.json @@ -39,6 +39,8 @@ "UnsubscribeLicenseExpireEmailReminderMessage": "This email subscription only contains reminding your license expiration date.", "UnsubscribeFromLicenseExpireEmails": "If you don't want to receive the emails about your license expiration date, you can unsubscribe at any time you want.", "Unsubscribe": "Unsubscribe", - "NotOrganizationMember": "You are not member of any organization." + "NotOrganizationMember": "You are not member of any organization.", + "UnsubscribeLicenseExpirationEmailSuccessTitle": "Successfully unsubscribed", + "UnsubscribeLicenseExpirationEmailSuccessMessage": "You will not receive license expiration date reminder emails anymore." } } \ No newline at end of file From 9eec6e5465dac7f1af7f771a22bc33776607d5b5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Halil=20=C4=B0brahim=20Kalkan?= Date: Tue, 26 Jan 2021 17:50:05 +0300 Subject: [PATCH 121/217] Add localization message --- .../AbpIoLocalization/Community/Localization/Resources/en.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/abp_io/AbpIoLocalization/AbpIoLocalization/Community/Localization/Resources/en.json b/abp_io/AbpIoLocalization/AbpIoLocalization/Community/Localization/Resources/en.json index 5bf922f012..56b5c903ed 100644 --- a/abp_io/AbpIoLocalization/AbpIoLocalization/Community/Localization/Resources/en.json +++ b/abp_io/AbpIoLocalization/AbpIoLocalization/Community/Localization/Resources/en.json @@ -132,6 +132,7 @@ "ChooseYourContentType": "Please choose the way you want to add your content.", "PostContentViaGithub": "I want to add my article with GitHub in accordance with the markdown rules.", "PostContentViaYoutube": "I want to share my videos available on Youtube here.", - "PostContentViaExternalSource": "I want to add the content I published on another platform here." + "PostContentViaExternalSource": "I want to add the content I published on another platform here.", + "GitHubUserNameValidationMessage": "Your Github username can not include whitespace, please be sure your Github username is correct." } } From 8cf8ffcfd79c2b82cc6990342eea1fb2ce5f7f8b Mon Sep 17 00:00:00 2001 From: Berkan Date: Tue, 26 Jan 2021 18:20:36 +0300 Subject: [PATCH 122/217] Community: Add missing localization message --- .../Community/Localization/Resources/en.json | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/abp_io/AbpIoLocalization/AbpIoLocalization/Community/Localization/Resources/en.json b/abp_io/AbpIoLocalization/AbpIoLocalization/Community/Localization/Resources/en.json index 56b5c903ed..9c1e434ac1 100644 --- a/abp_io/AbpIoLocalization/AbpIoLocalization/Community/Localization/Resources/en.json +++ b/abp_io/AbpIoLocalization/AbpIoLocalization/Community/Localization/Resources/en.json @@ -133,6 +133,9 @@ "PostContentViaGithub": "I want to add my article with GitHub in accordance with the markdown rules.", "PostContentViaYoutube": "I want to share my videos available on Youtube here.", "PostContentViaExternalSource": "I want to add the content I published on another platform here.", - "GitHubUserNameValidationMessage": "Your Github username can not include whitespace, please be sure your Github username is correct." + "GitHubUserNameValidationMessage": "Your Github username can not include whitespace, please be sure your Github username is correct.", + "PersonalSiteUrlValidationMessage": "Your personal site URL can not include whitespace, please be sure your personal site URL is correct.", + "TwitterUserNameValidationMessage": "Your Twitter username can not include whitespace, please be sure your Twitter username is correct.", + "LinkedinUrlValidationMessage": "Your Linkedin URL can not include whitespace, please be sure your Linkedin URL is correct." } } From 2816b72b3082b5507e3893ac48b9eaab98ae687c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Halil=20=C4=B0brahim=20Kalkan?= Date: Wed, 27 Jan 2021 00:29:30 +0300 Subject: [PATCH 123/217] Resolved #7474: Mark ServiceProvider properties as Obsolete in base classes where LazyServiceProvider is available. --- .../Volo/Abp/AspNetCore/Mvc/UI/RazorPages/AbpPageModel.cs | 1 + .../Volo/Abp/AspNetCore/Mvc/AbpController.cs | 1 + .../Volo/Abp/AspNetCore/Mvc/AbpViewComponent.cs | 1 + .../Volo/Abp/AspNetCore/SignalR/AbpHub.cs | 1 + .../Volo/Abp/Application/Services/ApplicationService.cs | 3 ++- .../Volo/Abp/Domain/Services/DomainService.cs | 3 ++- 6 files changed, 8 insertions(+), 2 deletions(-) diff --git a/framework/src/Volo.Abp.AspNetCore.Mvc.UI/Volo/Abp/AspNetCore/Mvc/UI/RazorPages/AbpPageModel.cs b/framework/src/Volo.Abp.AspNetCore.Mvc.UI/Volo/Abp/AspNetCore/Mvc/UI/RazorPages/AbpPageModel.cs index 449747d0cc..a2d02bb3fe 100644 --- a/framework/src/Volo.Abp.AspNetCore.Mvc.UI/Volo/Abp/AspNetCore/Mvc/UI/RazorPages/AbpPageModel.cs +++ b/framework/src/Volo.Abp.AspNetCore.Mvc.UI/Volo/Abp/AspNetCore/Mvc/UI/RazorPages/AbpPageModel.cs @@ -27,6 +27,7 @@ namespace Volo.Abp.AspNetCore.Mvc.UI.RazorPages { public IAbpLazyServiceProvider LazyServiceProvider { get; set; } + [Obsolete("Use LazyServiceProvider instead.")] public IServiceProvider ServiceProvider { get; set; } protected IClock Clock => LazyServiceProvider.LazyGetRequiredService(); diff --git a/framework/src/Volo.Abp.AspNetCore.Mvc/Volo/Abp/AspNetCore/Mvc/AbpController.cs b/framework/src/Volo.Abp.AspNetCore.Mvc/Volo/Abp/AspNetCore/Mvc/AbpController.cs index 52f1d251cb..85822414cf 100644 --- a/framework/src/Volo.Abp.AspNetCore.Mvc/Volo/Abp/AspNetCore/Mvc/AbpController.cs +++ b/framework/src/Volo.Abp.AspNetCore.Mvc/Volo/Abp/AspNetCore/Mvc/AbpController.cs @@ -25,6 +25,7 @@ namespace Volo.Abp.AspNetCore.Mvc { public IAbpLazyServiceProvider LazyServiceProvider { get; set; } + [Obsolete("Use LazyServiceProvider instead.")] public IServiceProvider ServiceProvider { get; set; } protected IUnitOfWorkManager UnitOfWorkManager => LazyServiceProvider.LazyGetRequiredService(); diff --git a/framework/src/Volo.Abp.AspNetCore.Mvc/Volo/Abp/AspNetCore/Mvc/AbpViewComponent.cs b/framework/src/Volo.Abp.AspNetCore.Mvc/Volo/Abp/AspNetCore/Mvc/AbpViewComponent.cs index 2ac02b8ac5..215f31b855 100644 --- a/framework/src/Volo.Abp.AspNetCore.Mvc/Volo/Abp/AspNetCore/Mvc/AbpViewComponent.cs +++ b/framework/src/Volo.Abp.AspNetCore.Mvc/Volo/Abp/AspNetCore/Mvc/AbpViewComponent.cs @@ -10,6 +10,7 @@ namespace Volo.Abp.AspNetCore.Mvc { public IAbpLazyServiceProvider LazyServiceProvider { get; set; } + [Obsolete("Use LazyServiceProvider instead.")] public IServiceProvider ServiceProvider { get; set; } protected Type ObjectMapperContext { get; set; } diff --git a/framework/src/Volo.Abp.AspNetCore.SignalR/Volo/Abp/AspNetCore/SignalR/AbpHub.cs b/framework/src/Volo.Abp.AspNetCore.SignalR/Volo/Abp/AspNetCore/SignalR/AbpHub.cs index a9d9316f41..616cbd3706 100644 --- a/framework/src/Volo.Abp.AspNetCore.SignalR/Volo/Abp/AspNetCore/SignalR/AbpHub.cs +++ b/framework/src/Volo.Abp.AspNetCore.SignalR/Volo/Abp/AspNetCore/SignalR/AbpHub.cs @@ -17,6 +17,7 @@ namespace Volo.Abp.AspNetCore.SignalR { public IAbpLazyServiceProvider LazyServiceProvider { get; set; } + [Obsolete("Use LazyServiceProvider instead.")] public IServiceProvider ServiceProvider { get; set; } protected ILoggerFactory LoggerFactory => LazyServiceProvider.LazyGetService(); diff --git a/framework/src/Volo.Abp.Ddd.Application/Volo/Abp/Application/Services/ApplicationService.cs b/framework/src/Volo.Abp.Ddd.Application/Volo/Abp/Application/Services/ApplicationService.cs index 232afb4280..4ac41663e4 100644 --- a/framework/src/Volo.Abp.Ddd.Application/Volo/Abp/Application/Services/ApplicationService.cs +++ b/framework/src/Volo.Abp.Ddd.Application/Volo/Abp/Application/Services/ApplicationService.cs @@ -35,6 +35,7 @@ namespace Volo.Abp.Application.Services { public IAbpLazyServiceProvider LazyServiceProvider { get; set; } + [Obsolete("Use LazyServiceProvider instead.")] public IServiceProvider ServiceProvider { get; set; } public static string[] CommonPostfixes { get; set; } = { "AppService", "ApplicationService", "Service" }; @@ -51,7 +52,7 @@ namespace Volo.Abp.Application.Services ? provider.GetRequiredService() : (IObjectMapper) provider.GetRequiredService(typeof(IObjectMapper<>).MakeGenericType(ObjectMapperContext))); - public IGuidGenerator GuidGenerator => LazyServiceProvider.LazyGetService(SimpleGuidGenerator.Instance); + protected IGuidGenerator GuidGenerator => LazyServiceProvider.LazyGetService(SimpleGuidGenerator.Instance); protected ILoggerFactory LoggerFactory => LazyServiceProvider.LazyGetRequiredService(); diff --git a/framework/src/Volo.Abp.Ddd.Domain/Volo/Abp/Domain/Services/DomainService.cs b/framework/src/Volo.Abp.Ddd.Domain/Volo/Abp/Domain/Services/DomainService.cs index 751b938f1d..39938b081a 100644 --- a/framework/src/Volo.Abp.Ddd.Domain/Volo/Abp/Domain/Services/DomainService.cs +++ b/framework/src/Volo.Abp.Ddd.Domain/Volo/Abp/Domain/Services/DomainService.cs @@ -13,11 +13,12 @@ namespace Volo.Abp.Domain.Services { public IAbpLazyServiceProvider LazyServiceProvider { get; set; } + [Obsolete("Use LazyServiceProvider instead.")] public IServiceProvider ServiceProvider { get; set; } protected IClock Clock => LazyServiceProvider.LazyGetRequiredService(); - public IGuidGenerator GuidGenerator => LazyServiceProvider.LazyGetService(SimpleGuidGenerator.Instance); + protected IGuidGenerator GuidGenerator => LazyServiceProvider.LazyGetService(SimpleGuidGenerator.Instance); protected ILoggerFactory LoggerFactory => LazyServiceProvider.LazyGetRequiredService(); From 8d88fe9463e20af13428e5873f938251e37ded2b Mon Sep 17 00:00:00 2001 From: maliming Date: Wed, 27 Jan 2021 13:58:15 +0800 Subject: [PATCH 124/217] Introduce AspNetCoreApiDescriptionModelProviderOptions. Resolve #5921 --- .../AspNetCoreApiDescriptionModelProvider.cs | 53 +++-------------- ...tCoreApiDescriptionModelProviderOptions.cs | 57 +++++++++++++++++++ 2 files changed, 66 insertions(+), 44 deletions(-) create mode 100644 framework/src/Volo.Abp.AspNetCore.Mvc/Volo/Abp/AspNetCore/Mvc/AspNetCoreApiDescriptionModelProviderOptions.cs diff --git a/framework/src/Volo.Abp.AspNetCore.Mvc/Volo/Abp/AspNetCore/Mvc/AspNetCoreApiDescriptionModelProvider.cs b/framework/src/Volo.Abp.AspNetCore.Mvc/Volo/Abp/AspNetCore/Mvc/AspNetCoreApiDescriptionModelProvider.cs index 5cd1333f34..135b506e69 100644 --- a/framework/src/Volo.Abp.AspNetCore.Mvc/Volo/Abp/AspNetCore/Mvc/AspNetCoreApiDescriptionModelProvider.cs +++ b/framework/src/Volo.Abp.AspNetCore.Mvc/Volo/Abp/AspNetCore/Mvc/AspNetCoreApiDescriptionModelProvider.cs @@ -25,17 +25,20 @@ namespace Volo.Abp.AspNetCore.Mvc { public ILogger Logger { get; set; } + private readonly AspNetCoreApiDescriptionModelProviderOptions _options; private readonly IApiDescriptionGroupCollectionProvider _descriptionProvider; - private readonly AbpAspNetCoreMvcOptions _options; + private readonly AbpAspNetCoreMvcOptions _abpAspNetCoreMvcOptions; private readonly AbpApiDescriptionModelOptions _modelOptions; public AspNetCoreApiDescriptionModelProvider( + IOptions options, IApiDescriptionGroupCollectionProvider descriptionProvider, - IOptions options, + IOptions abpAspNetCoreMvcOptions, IOptions modelOptions) { - _descriptionProvider = descriptionProvider; _options = options.Value; + _descriptionProvider = descriptionProvider; + _abpAspNetCoreMvcOptions = abpAspNetCoreMvcOptions.Value; _modelOptions = modelOptions.Value; Logger = NullLogger.Instance; @@ -82,14 +85,14 @@ namespace Volo.Abp.AspNetCore.Mvc var controllerModel = moduleModel.GetOrAddController( controllerType.FullName, - CalculateControllerName(controllerType, setting), + _options.ControllerNameGenerator(controllerType, setting), controllerType, _modelOptions.IgnoredInterfaces ); var method = apiDescription.ActionDescriptor.GetMethodInfo(); - var uniqueMethodName = GetUniqueActionName(method); + var uniqueMethodName = _options.ActionNameGenerator(method); if (controllerModel.Actions.ContainsKey(uniqueMethodName)) { Logger.LogWarning( @@ -119,44 +122,6 @@ namespace Volo.Abp.AspNetCore.Mvc AddParameterDescriptionsToModel(actionModel, method, apiDescription); } - private static string CalculateControllerName(Type controllerType, ConventionalControllerSetting setting) - { - var controllerName = controllerType.Name.RemovePostFix("Controller") - .RemovePostFix(ApplicationService.CommonPostfixes); - - if (setting?.UrlControllerNameNormalizer != null) - { - controllerName = - setting.UrlControllerNameNormalizer( - new UrlControllerNameNormalizerContext(setting.RootPath, controllerName)); - } - - return controllerName; - } - - private static string GetUniqueActionName(MethodInfo method) - { - var methodNameBuilder = new StringBuilder(method.Name); - - var parameters = method.GetParameters(); - if (parameters.Any()) - { - methodNameBuilder.Append("By"); - - for (var i = 0; i < parameters.Length; i++) - { - if (i > 0) - { - methodNameBuilder.Append("And"); - } - - methodNameBuilder.Append(parameters[i].Name.ToPascalCase()); - } - } - - return methodNameBuilder.ToString(); - } - private static List GetSupportedVersions(Type controllerType, MethodInfo method, ConventionalControllerSetting setting) { @@ -377,7 +342,7 @@ namespace Volo.Abp.AspNetCore.Mvc [CanBeNull] private ConventionalControllerSetting FindSetting(Type controllerType) { - foreach (var controllerSetting in _options.ConventionalControllers.ConventionalControllerSettings) + foreach (var controllerSetting in _abpAspNetCoreMvcOptions.ConventionalControllers.ConventionalControllerSettings) { if (controllerSetting.ControllerTypes.Contains(controllerType)) { diff --git a/framework/src/Volo.Abp.AspNetCore.Mvc/Volo/Abp/AspNetCore/Mvc/AspNetCoreApiDescriptionModelProviderOptions.cs b/framework/src/Volo.Abp.AspNetCore.Mvc/Volo/Abp/AspNetCore/Mvc/AspNetCoreApiDescriptionModelProviderOptions.cs new file mode 100644 index 0000000000..4cd607e07a --- /dev/null +++ b/framework/src/Volo.Abp.AspNetCore.Mvc/Volo/Abp/AspNetCore/Mvc/AspNetCoreApiDescriptionModelProviderOptions.cs @@ -0,0 +1,57 @@ +using System; +using System.Linq; +using System.Reflection; +using System.Text; +using Volo.Abp.Application.Services; +using Volo.Abp.AspNetCore.Mvc.Conventions; + +namespace Volo.Abp.AspNetCore.Mvc +{ + public class AspNetCoreApiDescriptionModelProviderOptions + { + public Func ControllerNameGenerator { get; set; } + + public Func ActionNameGenerator { get; set; } + + public AspNetCoreApiDescriptionModelProviderOptions() + { + ControllerNameGenerator = (controllerType, setting) => + { + var controllerName = controllerType.Name.RemovePostFix("Controller") + .RemovePostFix(ApplicationService.CommonPostfixes); + + if (setting?.UrlControllerNameNormalizer != null) + { + controllerName = + setting.UrlControllerNameNormalizer( + new UrlControllerNameNormalizerContext(setting.RootPath, controllerName)); + } + + return controllerName; + }; + + ActionNameGenerator = (method) => + { + var methodNameBuilder = new StringBuilder(method.Name); + + var parameters = method.GetParameters(); + if (parameters.Any()) + { + methodNameBuilder.Append("By"); + + for (var i = 0; i < parameters.Length; i++) + { + if (i > 0) + { + methodNameBuilder.Append("And"); + } + + methodNameBuilder.Append(parameters[i].Name.ToPascalCase()); + } + } + + return methodNameBuilder.ToString(); + }; + } + } +} From 8e4a8de028b054a80d78d4dcf68a6b9c7b49fefb Mon Sep 17 00:00:00 2001 From: enisn Date: Wed, 27 Jan 2021 10:47:37 +0300 Subject: [PATCH 125/217] Framework - Consider hard deleted entities in MongoDbRepository --- .../Repositories/MongoDB/MongoDbRepository.cs | 100 ++++++++++++++---- 1 file changed, 78 insertions(+), 22 deletions(-) diff --git a/framework/src/Volo.Abp.MongoDB/Volo/Abp/Domain/Repositories/MongoDB/MongoDbRepository.cs b/framework/src/Volo.Abp.MongoDB/Volo/Abp/Domain/Repositories/MongoDB/MongoDbRepository.cs index fcb51a687c..9c55408d27 100644 --- a/framework/src/Volo.Abp.MongoDB/Volo/Abp/Domain/Repositories/MongoDB/MongoDbRepository.cs +++ b/framework/src/Volo.Abp.MongoDB/Volo/Abp/Domain/Repositories/MongoDB/MongoDbRepository.cs @@ -314,16 +314,26 @@ namespace Volo.Abp.Domain.Repositories.MongoDB } public override async Task DeleteManyAsync( - IEnumerable entities, - bool autoSave = false, - CancellationToken cancellationToken = default) + IEnumerable entities, + bool autoSave = false, + CancellationToken cancellationToken = default) { - var entityArray = entities.ToArray(); + var softDeletedEntities = new List(); + var hardDeletedEntities = new List(); - foreach (var entity in entityArray) + foreach (var entity in entities) { await ApplyAbpConceptsForDeletedEntityAsync(entity); SetNewConcurrencyStamp(entity); + + if (typeof(ISoftDelete).IsAssignableFrom(typeof(TEntity)) && !IsHardDeleted(entity)) + { + softDeletedEntities.Add(entity); + } + else + { + hardDeletedEntities.Add(entity); + } } var dbContext = await GetDbContextAsync(GetCancellationToken(cancellationToken)); @@ -331,58 +341,104 @@ namespace Volo.Abp.Domain.Repositories.MongoDB if (BulkOperationProvider != null) { - await BulkOperationProvider.DeleteManyAsync(this, entityArray, dbContext.SessionHandle, autoSave, cancellationToken); + await BulkOperationProvider.DeleteManyAsync(this, entities.ToArray(), dbContext.SessionHandle, autoSave, cancellationToken); return; } - var entitiesCount = entityArray.Count(); - - if (typeof(ISoftDelete).IsAssignableFrom(typeof(TEntity))) + if (softDeletedEntities.Count > 0) { UpdateResult updateResult; + var softDeleteEntitiesCount = softDeletedEntities.Count; + if (dbContext.SessionHandle != null) { updateResult = await collection.UpdateManyAsync( dbContext.SessionHandle, - CreateEntitiesFilter(entityArray), - Builders.Update.Set(x => ((ISoftDelete)x).IsDeleted, true), - cancellationToken: cancellationToken); + CreateEntitiesFilter(softDeletedEntities), + Builders.Update.Set(x => ((ISoftDelete)x).IsDeleted, true) + ); } else { updateResult = await collection.UpdateManyAsync( - CreateEntitiesFilter(entityArray), - Builders.Update.Set(x => ((ISoftDelete)x).IsDeleted, true), - cancellationToken: cancellationToken); + CreateEntitiesFilter(softDeletedEntities), + Builders.Update.Set(x => ((ISoftDelete)x).IsDeleted, true) + ); } - if (updateResult.MatchedCount < entitiesCount) + if (updateResult.MatchedCount < softDeleteEntitiesCount) { ThrowOptimisticConcurrencyException(); } } - else + + if (hardDeletedEntities.Count > 0) { DeleteResult deleteResult; + var hardDeletedEntitiesCount = hardDeletedEntities.Count; + if (dbContext.SessionHandle != null) { deleteResult = await collection.DeleteManyAsync( dbContext.SessionHandle, - CreateEntitiesFilter(entityArray), - cancellationToken: cancellationToken); + CreateEntitiesFilter(hardDeletedEntities) + ); } else { deleteResult = await collection.DeleteManyAsync( - CreateEntitiesFilter(entityArray), - cancellationToken); + CreateEntitiesFilter(hardDeletedEntities) + ); } - if (deleteResult.DeletedCount < entitiesCount) + if (deleteResult.DeletedCount < hardDeletedEntitiesCount) { ThrowOptimisticConcurrencyException(); } } + + + + + + + if (typeof(ISoftDelete).IsAssignableFrom(typeof(TEntity))) + { + if (softDeletedEntities.Length > 0) + { + + } + + var hardEntityArray = entities.Except(softDeletedEntities).ToArray(); + var hardEntitiesCount = hardEntityArray.Length; + + if (hardEntitiesCount > 0) + { + DeleteResult deleteResult; + if (dbContext.SessionHandle != null) + { + deleteResult = await collection.DeleteManyAsync( + dbContext.SessionHandle, + CreateEntitiesFilter(hardEntityArray) + ); + } + else + { + deleteResult = await collection.DeleteManyAsync( + CreateEntitiesFilter(hardEntityArray) + ); + } + + if (deleteResult.DeletedCount < hardEntitiesCount) + { + ThrowOptimisticConcurrencyException(); + } + } + } + else + { + + } } public override async Task> GetListAsync(bool includeDetails = false, CancellationToken cancellationToken = default) From e4fbfe798188d44aed55eb95ba861007861f0fbe Mon Sep 17 00:00:00 2001 From: enisn Date: Wed, 27 Jan 2021 10:53:04 +0300 Subject: [PATCH 126/217] Framework - Remove unused code part from MongoDbRepository --- .../Repositories/MongoDB/MongoDbRepository.cs | 43 ------------------- 1 file changed, 43 deletions(-) diff --git a/framework/src/Volo.Abp.MongoDB/Volo/Abp/Domain/Repositories/MongoDB/MongoDbRepository.cs b/framework/src/Volo.Abp.MongoDB/Volo/Abp/Domain/Repositories/MongoDB/MongoDbRepository.cs index 9c55408d27..937a2334f4 100644 --- a/framework/src/Volo.Abp.MongoDB/Volo/Abp/Domain/Repositories/MongoDB/MongoDbRepository.cs +++ b/framework/src/Volo.Abp.MongoDB/Volo/Abp/Domain/Repositories/MongoDB/MongoDbRepository.cs @@ -396,49 +396,6 @@ namespace Volo.Abp.Domain.Repositories.MongoDB ThrowOptimisticConcurrencyException(); } } - - - - - - - if (typeof(ISoftDelete).IsAssignableFrom(typeof(TEntity))) - { - if (softDeletedEntities.Length > 0) - { - - } - - var hardEntityArray = entities.Except(softDeletedEntities).ToArray(); - var hardEntitiesCount = hardEntityArray.Length; - - if (hardEntitiesCount > 0) - { - DeleteResult deleteResult; - if (dbContext.SessionHandle != null) - { - deleteResult = await collection.DeleteManyAsync( - dbContext.SessionHandle, - CreateEntitiesFilter(hardEntityArray) - ); - } - else - { - deleteResult = await collection.DeleteManyAsync( - CreateEntitiesFilter(hardEntityArray) - ); - } - - if (deleteResult.DeletedCount < hardEntitiesCount) - { - ThrowOptimisticConcurrencyException(); - } - } - } - else - { - - } } public override async Task> GetListAsync(bool includeDetails = false, CancellationToken cancellationToken = default) From 021505b5ca5ffbdc8bc0d84fde398d75e73abecc Mon Sep 17 00:00:00 2001 From: mehmet-erim Date: Wed, 27 Jan 2021 12:39:08 +0300 Subject: [PATCH 127/217] deprecate the ModalContainerComponent --- .../src/lib/components/modal/modal-container.component.ts | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/npm/ng-packs/packages/theme-shared/src/lib/components/modal/modal-container.component.ts b/npm/ng-packs/packages/theme-shared/src/lib/components/modal/modal-container.component.ts index bd24bd84d2..d20021327c 100644 --- a/npm/ng-packs/packages/theme-shared/src/lib/components/modal/modal-container.component.ts +++ b/npm/ng-packs/packages/theme-shared/src/lib/components/modal/modal-container.component.ts @@ -1,10 +1,11 @@ import { Component, ViewChild, ViewContainerRef } from '@angular/core'; +/** + * @deprecated To be removed in v5.0 + */ @Component({ selector: 'abp-modal-container', - template: ` - - `, + template: ` `, }) export class ModalContainerComponent { @ViewChild('container', { static: true, read: ViewContainerRef }) From 96036ae8b18445d59c48156a1074c56486e4da41 Mon Sep 17 00:00:00 2001 From: mehmet-erim Date: Wed, 27 Jan 2021 12:39:20 +0300 Subject: [PATCH 128/217] deprecate the ModalService --- .../packages/theme-shared/src/lib/services/modal.service.ts | 3 +++ 1 file changed, 3 insertions(+) diff --git a/npm/ng-packs/packages/theme-shared/src/lib/services/modal.service.ts b/npm/ng-packs/packages/theme-shared/src/lib/services/modal.service.ts index de63164810..a75cfe5089 100644 --- a/npm/ng-packs/packages/theme-shared/src/lib/services/modal.service.ts +++ b/npm/ng-packs/packages/theme-shared/src/lib/services/modal.service.ts @@ -2,6 +2,9 @@ import { ContentProjectionService, PROJECTION_STRATEGY } from '@abp/ng.core'; import { ComponentRef, Injectable, TemplateRef, ViewContainerRef, OnDestroy } from '@angular/core'; import { ModalContainerComponent } from '../components/modal/modal-container.component'; +/** + * @deprecated Use ng-bootstrap modal. To be deleted in v5.0. + */ @Injectable({ providedIn: 'root', }) From e49b8cbc33c2ffc4b4cd0e3cc4976ba7a21eb4dd Mon Sep 17 00:00:00 2001 From: mehmet-erim Date: Wed, 27 Jan 2021 12:40:47 +0300 Subject: [PATCH 129/217] use ng-bootstrap modal inside modal component --- .../lib/components/modal/modal.component.html | 60 ++++++------------ .../lib/components/modal/modal.component.ts | 62 ++++++++++--------- 2 files changed, 52 insertions(+), 70 deletions(-) diff --git a/npm/ng-packs/packages/theme-shared/src/lib/components/modal/modal.component.html b/npm/ng-packs/packages/theme-shared/src/lib/components/modal/modal.component.html index b37f5b6ce3..bc70c79fc1 100644 --- a/npm/ng-packs/packages/theme-shared/src/lib/components/modal/modal.component.html +++ b/npm/ng-packs/packages/theme-shared/src/lib/components/modal/modal.component.html @@ -1,43 +1,23 @@ - - + + + + + - - diff --git a/npm/ng-packs/packages/theme-shared/src/lib/components/modal/modal.component.ts b/npm/ng-packs/packages/theme-shared/src/lib/components/modal/modal.component.ts index b1fbef79be..496ddabc41 100644 --- a/npm/ng-packs/packages/theme-shared/src/lib/components/modal/modal.component.ts +++ b/npm/ng-packs/packages/theme-shared/src/lib/components/modal/modal.component.ts @@ -9,17 +9,14 @@ import { OnDestroy, Optional, Output, - Renderer2, TemplateRef, ViewChild, - ViewChildren, } from '@angular/core'; +import { NgbModal, NgbModalOptions, NgbModalRef } from '@ng-bootstrap/ng-bootstrap'; import { fromEvent, Subject } from 'rxjs'; import { debounceTime, distinctUntilChanged, filter, takeUntil } from 'rxjs/operators'; -import { fadeAnimation } from '../../animations/modal.animations'; import { Confirmation } from '../../models/confirmation'; import { ConfirmationService } from '../../services/confirmation.service'; -import { ModalService } from '../../services/modal.service'; import { SUPPRESS_UNSAVED_CHANGES_WARNING } from '../../tokens/suppress-unsaved-changes-warning.token'; import { ButtonComponent } from '../button/button.component'; @@ -28,9 +25,8 @@ export type ModalSize = 'sm' | 'md' | 'lg' | 'xl'; @Component({ selector: 'abp-modal', templateUrl: './modal.component.html', - animations: [fadeAnimation], styleUrls: ['./modal.component.scss'], - providers: [ModalService, SubscriptionService], + providers: [SubscriptionService], }) export class ModalComponent implements OnDestroy { @Input() @@ -59,11 +55,11 @@ export class ModalComponent implements OnDestroy { @Input() modalClass = ''; @Input() size: ModalSize = 'lg'; + @Input() options: NgbModalOptions = {}; @Input() suppressUnsavedChangesWarning = this.suppressUnsavedChangesWarningToken; - @ContentChild(ButtonComponent, { static: false, read: ButtonComponent }) - abpSubmit: ButtonComponent; + @ViewChild('modalContent') modalContent: TemplateRef; @ContentChild('abpHeader', { static: false }) abpHeader: TemplateRef; @@ -71,15 +67,12 @@ export class ModalComponent implements OnDestroy { @ContentChild('abpFooter', { static: false }) abpFooter: TemplateRef; + @ContentChild(ButtonComponent, { static: false, read: ButtonComponent }) + abpSubmit: ButtonComponent; + @ContentChild('abpClose', { static: false, read: ElementRef }) abpClose: ElementRef; - @ViewChild('template', { static: false }) template: TemplateRef; - - @ViewChild('abpModalContent', { static: false }) modalContent: ElementRef; - - @ViewChildren('abp-button') abpButtons; - @Output() readonly visibleChange = new EventEmitter(); @Output() readonly init = new EventEmitter(); @@ -92,7 +85,7 @@ export class ModalComponent implements OnDestroy { _busy = false; - isModalOpen = false; + modalRef: NgbModalRef; isConfirmationOpen = false; @@ -105,13 +98,12 @@ export class ModalComponent implements OnDestroy { } constructor( - private renderer: Renderer2, private confirmationService: ConfirmationService, - private modalService: ModalService, private subscription: SubscriptionService, @Optional() @Inject(SUPPRESS_UNSAVED_CHANGES_WARNING) private suppressUnsavedChangesWarningToken: boolean, + private modal: NgbModal, ) { this.initToggleStream(); } @@ -123,21 +115,34 @@ export class ModalComponent implements OnDestroy { } private toggle(value: boolean) { - this.isModalOpen = value; this._visible = value; this.visibleChange.emit(value); - if (value) { - this.modalService.renderTemplate(this.template); - setTimeout(() => this.listen(), 0); - this.renderer.addClass(document.body, 'modal-open'); - this.appear.emit(); - } else { - this.modalService.clearModal(); - this.renderer.removeClass(document.body, 'modal-open'); + if (!value) { + this.modalRef?.dismiss(); this.disappear.emit(); this.destroy$.next(); + return; } + + setTimeout(() => this.listen(), 0); + this.modalRef = this.modal.open(this.modalContent, { + //TODO: set size to 'lg' when removed the size variable + size: this.size, + windowClass: this.modalClass, + centered: this.centered, + keyboard: false, + scrollable: true, + beforeDismiss: () => { + if (!this.visible) return true; + + this.close(); + return !this.visible; + }, + ...this.options, + }); + + this.appear.emit(); } ngOnDestroy(): void { @@ -190,10 +195,7 @@ export class ModalComponent implements OnDestroy { setTimeout(() => { if (!this.abpClose) return; fromEvent(this.abpClose.nativeElement, 'click') - .pipe( - takeUntil(this.destroy$), - filter(() => !!this.modalContent), - ) + .pipe(takeUntil(this.destroy$)) .subscribe(() => this.close()); }, 0); From cb8d13239f19b6b26e32cdf7f1c5c628e913d53b Mon Sep 17 00:00:00 2001 From: mehmet-erim Date: Wed, 27 Jan 2021 12:41:14 +0300 Subject: [PATCH 130/217] deprecate centered, modalClass, size inputs of the modal component --- .../lib/components/modal/modal.component.ts | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/npm/ng-packs/packages/theme-shared/src/lib/components/modal/modal.component.ts b/npm/ng-packs/packages/theme-shared/src/lib/components/modal/modal.component.ts index 496ddabc41..e729ec17a4 100644 --- a/npm/ng-packs/packages/theme-shared/src/lib/components/modal/modal.component.ts +++ b/npm/ng-packs/packages/theme-shared/src/lib/components/modal/modal.component.ts @@ -29,6 +29,19 @@ export type ModalSize = 'sm' | 'md' | 'lg' | 'xl'; providers: [SubscriptionService], }) export class ModalComponent implements OnDestroy { + /** + * @deprecated Use centered property of options input instead. To be deleted in v5.0. + */ + @Input() centered = false; + /** + * @deprecated Use windowClass property of options input instead. To be deleted in v5.0. + */ + @Input() modalClass = ''; + /** + * @deprecated Use size property of options input instead. To be deleted in v5.0. + */ + @Input() size: ModalSize = 'lg'; + @Input() get visible(): boolean { return this._visible; @@ -50,11 +63,6 @@ export class ModalComponent implements OnDestroy { this._busy = value; } - @Input() centered = false; - - @Input() modalClass = ''; - - @Input() size: ModalSize = 'lg'; @Input() options: NgbModalOptions = {}; @Input() suppressUnsavedChangesWarning = this.suppressUnsavedChangesWarningToken; From 900bb03649de3747d0ee2e152b76ea62429732ed Mon Sep 17 00:00:00 2001 From: mehmet-erim Date: Wed, 27 Jan 2021 12:42:41 +0300 Subject: [PATCH 131/217] update modal tests for the ng-bootstrap modal implementation --- .../src/lib/tests/modal.component.spec.ts | 31 +++++++------------ 1 file changed, 12 insertions(+), 19 deletions(-) diff --git a/npm/ng-packs/packages/theme-shared/src/lib/tests/modal.component.spec.ts b/npm/ng-packs/packages/theme-shared/src/lib/tests/modal.component.spec.ts index b321ee4542..6dd3f8d6db 100644 --- a/npm/ng-packs/packages/theme-shared/src/lib/tests/modal.component.spec.ts +++ b/npm/ng-packs/packages/theme-shared/src/lib/tests/modal.component.spec.ts @@ -1,13 +1,13 @@ import { LocalizationPipe } from '@abp/ng.core'; import { RouterTestingModule } from '@angular/router/testing'; +import { NgbModal, NgbModalModule } from '@ng-bootstrap/ng-bootstrap'; import { createHostFactory, SpectatorHost } from '@ngneat/spectator/jest'; import { Store } from '@ngxs/store'; import { fromEvent, Subject, timer } from 'rxjs'; import { delay, reduce, take } from 'rxjs/operators'; import { ButtonComponent, ConfirmationComponent, ModalComponent } from '../components'; -import { ModalContainerComponent } from '../components/modal/modal-container.component'; import { Confirmation } from '../models'; -import { ConfirmationService, ModalService } from '../services'; +import { ConfirmationService } from '../services'; describe('ModalComponent', () => { let spectator: SpectatorHost< @@ -19,14 +19,8 @@ describe('ModalComponent', () => { let mockConfirmation$: Subject; const createHost = createHostFactory({ component: ModalComponent, - imports: [RouterTestingModule], - declarations: [ - ConfirmationComponent, - LocalizationPipe, - ButtonComponent, - ModalContainerComponent, - ], - entryComponents: [ModalContainerComponent], + imports: [RouterTestingModule, NgbModalModule], + declarations: [ConfirmationComponent, LocalizationPipe, ButtonComponent], providers: [ { provide: ConfirmationService, @@ -46,7 +40,7 @@ describe('ModalComponent', () => { disappearFn = jest.fn(); spectator = createHost( - ` + `
    @@ -78,15 +72,14 @@ describe('ModalComponent', () => { }); afterEach(() => { - const modalService = spectator.inject(ModalService); - modalService.clearModal(); + const modalService = spectator.inject(NgbModal); + modalService.dismissAll(); }); - it('should project its template to abp-modal-container', () => { + it('should open the ngb-modal with backdrop', () => { const modal = selectModal(); expect(modal).toBeTruthy(); - expect(modal.querySelector('div.modal-backdrop')).toBeTruthy(); - expect(modal.querySelector('div#abp-modal-dialog')).toBeTruthy(); + expect(document.querySelector('ngb-modal-backdrop')).toBeTruthy(); }); it('should reflect its input properties to the template', () => { @@ -155,10 +148,10 @@ describe('ModalComponent', () => { warnSpy.mockClear(); mockConfirmation$.next(Confirmation.Status.confirm); - await wait0ms(); - expect(selectModal()).toBeNull(); + // TODO: There is presumably a problem with change detection + // expect(selectModal()).toBeNull(); expect(disappearFn).toHaveBeenCalledTimes(1); }); @@ -209,7 +202,7 @@ describe('ModalComponent', () => { }); function selectModal(modalSelector = ''): Element { - return document.querySelector(`abp-modal-container div.modal${modalSelector}`); + return document.querySelector(`ngb-modal-window.modal${modalSelector}`); } async function wait0ms() { From 6044c2cb7b116e1a3b99c60a10e5cc3cdf57df22 Mon Sep 17 00:00:00 2001 From: mehmet-erim Date: Wed, 27 Jan 2021 12:43:00 +0300 Subject: [PATCH 132/217] add documentation for modal --- docs/en/UI/Angular/Modal.md | 248 +++++++++++++++++++ docs/en/UI/Angular/images/modal-result-1.jpg | Bin 0 -> 16215 bytes docs/en/UI/Angular/images/modal-result-2.jpg | Bin 0 -> 46815 bytes docs/en/docs-nav.json | 4 + 4 files changed, 252 insertions(+) create mode 100644 docs/en/UI/Angular/Modal.md create mode 100644 docs/en/UI/Angular/images/modal-result-1.jpg create mode 100644 docs/en/UI/Angular/images/modal-result-2.jpg diff --git a/docs/en/UI/Angular/Modal.md b/docs/en/UI/Angular/Modal.md new file mode 100644 index 0000000000..c1c9d21633 --- /dev/null +++ b/docs/en/UI/Angular/Modal.md @@ -0,0 +1,248 @@ +# Modal + +`ModalComponent` is a pre-built component exposed by `@abp/ng.theme.shared` package to show modals. The component uses the [`ng-bootstrap`](https://ng-bootstrap.github.io/)'s modal service inside to render a modal. + +The `abp-modal` provides some additional benefits: + + - It is **flexible**. You can pass header, body, footer templates easily by adding the templates to the `abp-modal` content. It can also be implemented quickly. + - Provides several inputs be able to customize the modal and several outputs be able to listen some events. + - Automatically detects the close button which have a `#abpClose` variable declaration and close the modal when pressed this button. + - Automatically detects the `abp-button` and trigger its loading spinner when the `busy` input value of the modal component is true. + - Automatically checks if the form inside the modal **has changed, but not saved**. It warns the user in this case when user tries to close the modal or refresh/close the tab of the browser. + + +> Note: A modal can also be rendered by using the `ng-bootstrap` modal. For further information, see [Modal doc](https://ng-bootstrap.github.io/#/components/modal) on the `ng-bootstrap` documentation. + +## Getting Started + +In order to use the `abp-modal` in an HTML template, the **`ThemeSharedModule`** should be imported into your module like this: + +```js +// ... +import { ThemeSharedModule } from '@abp/ng.theme.shared'; + +@NgModule({ + //... + imports: [..., ThemeSharedModule], +}) +export class MyFeatureModule {} +``` + +## Usage + +You can add the `abp-modal` to your component very quickly. See an example: + +```html + + + + + + +

    Modal Title

    +
    + + +

    Modal content

    +
    + + + + +
    +``` + +```js +// sample.component.ts + +@Component(/* component metadata */) +export class SampleComponent { + isModelOpen = false +} +``` + +![Example modal result](./images/modal-result-1.jpg) + + +See an example form inside a modal: + +```html + + + + +

    Book

    +
    + + +
    +
    + * + +
    + +
    + * + +
    + +
    + * + +
    + +
    + * + +
    + +
    + * + +
    +
    +
    + + + + + + +
    +``` + +```ts +// book.component.ts + +import { Component } from '@angular/core'; +import { FormBuilder, Validators } from '@angular/forms'; + +@Component(/* component metadata */) +export class BookComponent { + form = this.fb.group({ + author: [null, [Validators.required]], + name: [null, [Validators.required]], + price: [null, [Validators.required, Validators.min(0)]], + type: [null, [Validators.required]], + publishDate: [null, [Validators.required]], + }); + + inProgress: boolean; + + isModalOpen: boolean; + + constructor(private fb: FormBuilder, private service: BookService) {} + + save() { + if (this.form.invalid) return; + + this.inProgress = true; + + this.service.save(this.form.value).subscribe(() => { + this.inProgress = false; + }); + } +} +``` + +The modal with form looks like this: + +![Form example result](./images/modal-result-2.jpg) + +## API + +### Inputs + +#### visible + +```js +@Input() visible: boolean +``` + +**`visible`** is a boolean input that determines whether the modal is open. It is also can be used two way binding. + +#### busy + +```js +@Input() busy: boolean +``` + +**`busy`** is a boolean input that determines whether the modal busy status is true. When `busy` is true, the modal cannot be closed and the `abp-button` loading spinner is triggered. + + +#### options + +```js +@Input() options: NgbModalOptions +``` + +**`options`** is an input typed [NgbModalOptions](https://ng-bootstrap.github.io/#/components/modal/api#NgbModalOptions). It is configuration for the `ng-bootstrap` modal. + +#### suppressUnsavedChangesWarning + +```js +@Input() suppressUnsavedChangesWarning: boolean +``` + +**`suppressUnsavedChangesWarning`** is a boolean input that determines whether the confirmation popup triggering active or not. It can also be set globally as shown below: + +```ts +//app.module.ts + +// app.module.ts + +import { SUPPRESS_UNSAVED_CHANGES_WARNING } from '@abp/ng.theme.shared'; + +// ... + +@NgModule({ + // ... + providers: [{provide: SUPPRESS_UNSAVED_CHANGES_WARNING, useValue: true}] +}) +export class AppModule {} +``` + +Note: The `suppressUnsavedChangesWarning` input of `abp-modal` value overrides the `SUPPRESS_UNSAVED_CHANGES_WARNING` injection token value. + +### Outputs + +#### visibleChange + +```js +@Output() readonly visibleChange = new EventEmitter(); +``` + +**`visibleChange`** is an event emitted when the modal visibility has changed. The event payload is a boolean. + +#### appear + +```js + @Output() readonly appear = new EventEmitter(); +``` + +**`appear`** is an event emitted when the modal has opened. + +#### disappear + +```js + @Output() readonly disappear = new EventEmitter(); +``` + +**`disappear`** is an event emitted when the modal has closed. diff --git a/docs/en/UI/Angular/images/modal-result-1.jpg b/docs/en/UI/Angular/images/modal-result-1.jpg new file mode 100644 index 0000000000000000000000000000000000000000..89dbbc0cb1d0e6987c3d57d1e42cbe77cac2c4ba GIT binary patch literal 16215 zcmeHt2UOEbw{H+pk)nuzG(86pg#gk5f&xb+^dgWDT0lC4DxnBcj*Siq7{Jgp^aMf; zy{I(lgpdS65tQCkAXI_Jx%WHXbH8=(JNLftzV+^V@9eCVHUIzq&7S%1nZ0NBo;e&o zoCKWJ(a_caFfcFxw2pp&!%@H;0OPUW=(m5yBRYQK_-}OT#0jPo%%@JDWuDBt7G`EP4mS2PXU}q+J~hGR#3)3X2u#-pw?pE_}p zk(r742*hxV@i^0olN{#;InVR_Yz#3?dU=YATLzkd$`-n1WLrsO7M4{|^zpm@sN#ai z_1kv7{$=IzPZBW%Q8^`b05!n; zYXCj)hv@$!g_Ckmq=&Yd>141{a95Y*1Z-fcE^P&3kac$8 z{;C88XrsHQh6`<~79DiUr$jr);CTphQX*BeOp6+_Sxn=e+zpT!$Xs^L!`Zw9qmYLl zl*=~7flb+;1AC)@GE$Jw>3T&vth$B)*>$(+6nRWxQ81#7x^D_HYu<9vEzY=CK57%# zaM%1Zs;sFlPu!`o6AQB5K!_g#oboIS*Y4+L(!JkbcLquDxEp$zn=L87Q@L5*c}~1Z zL1|?KndBIl;5$oS=rdofIypU_#6HtdJW^+8*NN`}t%L@wFCUHvzU?K*%oX*cdKfhWduB@nHVp_4F6o^s@+6O;I z9|B^(iMoB(!?pVte0mExA8>W#_R>S)yw|yp;w=!7;}sjQ`LYiyfn-`f88ee%+iW)P zzEOpZzNvW&8PXm{Fahfm2pV)KI9%U|(^Y<#a0p0lxQ)p#W}mz_3XQMYPa#mR59-ug zo8MpZb=5<$TO>E`s+5W6pV}l?O?x&hJ{7}#O?EPxI(0w9Z;Mk&CIlpIy_$Ss{z7RZ zeiVbG&1hn3Ied8}7M)`9>Vmp^pIp5!NfoqRKI!AD&{d?Z&*dS~@1ryHSZi!k#VCfJ z4NIeBnJ1Nb+BvIqt;9=@cQDJ=^*UvTezZ1o9Q6wdUXiWh{Fg3&#^In6Ijq@ zhTqBxRMUP?)33rx(E%nIeZ$C*jR(8me~6AmW9QNNxK$pBB~-U~8C#0HP*?Z+s^liO zr@j&eNT~fohagar;*zPjxOhkytY}h3|FOGdlxHd;aKuOwkGIh5YK6E_6oJqWF^dNF z<-CD#aC&Mc*`*HB!7ckXC9nUMkvK;3JxNfbBp*u6_$G??+7rvC6@CDNzMRODYAyXl zZjrVwD|Q5_K(VdWzzoY&Y&s*#DmGpO4&?;<)WR0&c=Ms`EihG|2Xf<4%+mB*v+V0$ z+d+xw%sL=jav644Lr4~@Sth7>yr5W{qq~|uzd=o(Ts7~GU)fAAXfmRbG=1A{=r>Yw z1#U_P-zR_7i`R5tC-C7GNf~}enx_e2=c5X@12|sRcu5rpK8y6;?<-+5mE-I6Ospe2 z#n&Np)T2rqu68J$yFRw1y%6ZM6Z4H|dF zIt@zom1HbpGn=zZ3Mv$Yq}DlI8%4I_@-~tt-0#e@GcCg-rUq7@|KfekZdr{z!naR1 z2EOteS0QcCFtF^*>+3va{+A-|)TuDMZHy`Xt}IAQ_zUrWxjw@5z^IjY5m@75oSS7I z7PqK=$Mz8LV-D;)9e?|+_F@mey<1WSm*fB@|G+3A=Ivr|Nvlb*yesIOE|4}dHI*=E zEZpokNKhj37~+hJZFH7GLiC%=FU*njwykDMWN}sn*sK7V(sgfZb~lQ~)D2ms5Ko;` z1e@>qy~Af1mAdBcb)UoHu{h5NsLgj_VeUp_3(vFTmJW$oI#jI>iIP=|CH`q*_&Vfb zmN~b}xS{;Zb(aw#pR!IYQd}xJyp`oqsZQs6{F!nf(a68yBYWK;z_W9^hJ{fH+V?K` zGIS1V>3btvn7h7Sf8k1lhhk3Vy4|H8Um3*s=pm2o_CF&=|6_=;b^(A~f}wNPUd9~$|76ab(xRv0K5T#Wh{GEi=hmIK*){C{p%4c;tGmI+P702b(U6Wl8N=e`8FuXaSZ*tzi7cx&qEi5|WFmC%;ccmY$C#&$0^bL#I z>J!66JRM{Ch8R{of25|>mEVSIN!L)teK|KLYOrhH->lEi+Cx9$ha)1O=3HCc(krJtjg zX$T>lzzC0Ni9!LHj$w_pRvP=7yW6Wr2;frypHsSkO=_o;LyP%lOd_utkGiUeU=9Jp zqbN=rzo>FUC@?2lqbPl$yo{i92q0*0d?DD__~bQM7Kkl)P@^Aw3YJ#jis$K?t;Nn_ z#Pg!)OZ|PWX)-Mr7A_9c(6wEWSu}$hGdy=y&tiLPTRzrLAWj>N*XBc)5W!T#<{<}h ztZw#7&9kj^IWSmIc*>ErDBD4Y@^wW&S&4H&QD13iKeP$CgUiE&EaqV_T`8A0FuBj4 z6(Kr>&q?~5*wBc9n^0f4{BB#fOmE$&xqsoOmonKilOLs`rwuXfxb%iYfREVuZuyNb z`Hi$ye0ZkTbY6|Hv2Flo#;CNCzeAjA3>rNjZ`gR+Z!xzzSolt0L3U1baSC%G*Tz=` z5nopUPlPy#LkZQLKgJ?HIsJ9zpoHD(bFFcQK>f`@Fwm$cAQ^gglV(9^h6`tEo-elYyfhmaQAu77! zACk*Iybvwcbcw=>)`=JHSeL8Qg6cESaRm8oYxC{O%HGM(DG{^QY$oc~A-<#~$lfET zt0I)Ukh?i7${hzt7H6l{xG*BzmkORea_sA`PNSQ|X*ec{%^2(6)o>V9>FQ@qt!Z;U zGFW|AJndAora>rjHWpJwyHca+j!8E2UJ)poa;0r(!;LDc3JNjxSxfYVek?;ggJXO8 z`QGxeQT^j`uu)5pCL^B)^+Tc-*}n@Zgav^Hb|$~u8a-VSyv7k;mkb%S2=pbw79mjZ zh|TJ;26i{DPtoZnJ{Fy>nA~R#1Ekid3jVNabuw(pW=G)aF-OeG{nBwUFVmpvLF(PE zk%d{OG@}n>vH*G=DaOjs`!22w4pLc7%-n+tT#qxNnu0z=nHJE)NQZz`WJ;Q$#lCtP z^dR{Q%)ZioG`COhhKqYyhakUM#T|ZBzi9^n6Cx&0h0cPFs{oBo@y?Xb-{1Mmy@^Mh zS~z#gBSF=GW8>THs8Z|)MI3B{nCwK&<2T1sLzSD6ZUVWk!%`pk8JO^^0vGh z#a4o@eq54mGn1iuJ|4o)6;jxnA;LjbTO6 z(FBg$1!bV_{9SC+);jWqQ`>`ZOeRqqL~(ApN9`?w%jc253oWnv?(ER7zhG)2rUfS0 zHjUlCoX<@mjY;*vs9I@K9(M>-SlNdn=pK)OX9zpXS-Tsnz`EYx))b4hxRBdRBJ?vb zrO;NxGR{TyS;KC%ik&q4QXV> zFD0ll=-nN|%X*QmmWIAox{)5`aM#Q6CnSY#x1yjI=|M_@yD96!u*Eq> zkz-FXYKc$R&K%QEeK44~VB-Ebj}In0%IK8l2_|CWkZ5#B!<-d$0~e@}J$Sj)ekf=? zJD79=w?B5T>Xl&EN%O)mtrL1MN3JcUf@QNtcM3}eC=bId`AzoCdJnqHB3-=N+0X)) zl$DkNWgQoFouLa#@n&wtc$k{sfAX_ma^eC^P!jAmqXD#!SF9D-0VT_ic;avgs^w-D z@8XbhYTg=0X(G0iVKjQ_a=$cU218IzJfSM8&5v=2gh)b9^*U{Pn*k%f=X6 z)LO;jHyd#V24A>WYlYr2Hf~ba7S#~Nj~JF1_Aj%wR-OF#@mbn~T+0UU%O(Yh>Qly- z;T)rC&WC`KN_M@at(2j}JJWHg#%;o>nee+Xe?I&2N=0RgQ4+Kxl?0%?;a( z#Od;J84P8>@Xj5V@QAqOoG%V*+Bl1PEs8MND2@sys5TK}G^=40xakexnOv zULTiKe`1y$!^`!cIAKGb;vlofDtAR1%{E)8Qm|dQdhm$5>d5v&Sd+yQC2ZsXDS)l z7$=4OJj-HJu~46Ppk6mJqxEmRzde%)c|!J*w%E_oA6Hzvc#p8BnpWpEEoJ`S3$DF% zW&Y(MKvPfu5Fh|O1T1VEzw~>jZ?H|j(`LGOrWtI=B8>Q$xpHAhof>Vt|MXP@NY6a= zxtyAowdI7IP1h*fy|J5Hxr2I4CUA91=undJx5e=GtcNv{FZal2^!l=9r7ku@4iX!R zTBXgFW-3Xxe8c&8N4arBP742HVYrZJH`G6^2X{~&l4tAKKj{UG@y%3^nql(8h3Bn1 zR;q@VGYiC-dl_9hK0KBMV;1TVjp~a{g0trbvfOjO_2_1)#5ud2*^oJo$>?-#%a(&t zxamwny-iSsZFdP}Mk&~Nn)FI`#}K+BH|oJvHhlnW^WEOWXo-!{TnYyjzY;~FHq7dB z5`_Jz^Q|lL1AR@=r2-X zm)+8=`sdM$@X4Fke3HqYXzWDSD?CyzLxAqJKn#C|>KEsU*K##wZ+B;jE>rsTm}eN!52{)EpItMr z=k61%fF0mX%Xt$qQar94X7R!IHKJz;P>z0*qYD zQj5~shQw&Tyh(#s};npO7?1X^B8WmnalY!q+l z{D_G}y!x=)g#uhpv43B|H25kvD`UpWKL5Izbi81zFTM0L@8UJnuAo5M;)1IA@#19H zs#%X^ag5Mn9F#7E;{M*+?*+6Gtq;A})8my@bLJ8WN(Ji%zK7f&%&8ppK%$C$^)%-r zJ3!WGVR%K)w27$wV&vi>Ks(O_+Jps@kca zI*dHAd47v~J~`Onf*JeKHjJjql5%Z#FofR7Z3l z<%S1Q1{?218=S6~SJhXr_>z;}Rkxl`;~GoK;jK6Xw5f@OO?Dgty5<9d7vf!Qd+wO* z>X%n=kjy+~X|APDK4mt(Eb+T(I5@ZQn@zwL6kow?a_v0a?@P_Ib4fG%$kP*)Pl!>I(hBZJXquFP z4m&pn&YM&0yXu|>#0m-Jp^<_w_C+>tP<~#suC;XM4jRp{#BXlpstDegO|VFm!j-o| ziLACWF%kER@x9YTv_kBehfM=B`;KfLpU~r4JI>E8yfn_X8UmZHc%SjaqJ=BLB#4Aa zQ>F>`vW-jM7ZFP*wPw=9H!cvZ{06E$^LV)Ot3eCFd_rVo9C%Ouw!hPk#vHe6;4M3= zmtCxb?*rlY-qOH+tvrNB>!#443<3Q#2wbo-a_DFy?LP;srIGg5qD$&#tM2byos|-N zw;c|2-%_rlMJ{@Laj#?zuGERT8%Gwh!F;jU*Rj9Z*Oe}ocmTP+&g0yXwDM7U?GSKr zsF*?xAQ*QW?|JB^&vo*r@zWx)bB$bhAMxx9vx{k3KRFwUWQj?%wASLHzo)Oq@84@3 zj$k*=ZT}c0VHh_=6^EM>D$C}3bF?v#5rpdou@mQKJthcRlWj?6>2vtR+VW0S7c%1f zRBV3yj&nWiTk2{G)5BMl>F1xDiiF*QLOIpp$=N8Q4xcCyz_F{ptt$TzG2$~#qawt= zx42bXx?yFO*JUWKS2>JLHJ;DWAaf8Z{H1|!fNBAHseMPb&9mzB*e&-S{*ZUI@g=_T z1vQ~%HYc*Q?E;2yOVBw@MQ2A}GJBW4XZ4Wjt^1kbnL1dA&#fDu5S{0gMXS|{>|EXMf&8pi{%Yu5MogTg@r%vWq~Ha8PlWYoqBnlBmnv%YaI zk{NPzoaIfWmaXQ1-I5?S>jg24Hj_cczb~S9dbpdNNdfxboQ!awqRylO)0SZny3Ec?6{id*jUGh zl7%cy#j39p4#86|ZauI4ohi^TlTt1E73ulhXZ?~;b6&_9kEwD4Ns^Boa-HW3wfeGv3w@#?e%tEnK553rCHT!svU)W1YFW;P=VD}*Y0B>EBSp)7m4{T2G z_dHLRJ#}3|GVW`;T)27ZN-yf>F^pClqHLKugry2e#cZZ8wBWJ}-&idylH|!3Ik{6B zxk!b)MvA`z0xNl!I!m^U_xAk`0Z;R!#WEX?jx7DIHB)W2b?kInqyVgy|B$u(yOqyd ztsd~g4*{7;-;8)LF&Q6QfX(ZJq2fOuuWJV=y#4!n_UVTJs9qIL9jcGG2i`kC^Iqt< zc=u8ZqGT&oZAr}}G0bP+5YVU=lM;WBX0n=M`ioR$Bccj?4CJ zPdz?0UWzSf10&N{eCLQ9XI9cRIrumXNOBOGkYoeRx!q1#y&u-2>>F}|Ko0xlgWYWD#s>jUb z<7(tQ5^lf9EB_ify8^O6U&CcV24=I-UkRGK*vc;tQWxANM1!m)Z`i!|2q^lBE*reI zbMQ6q*g7{9N`V^hRB%`#Jm@cmbh-`!6it3XM*kdpVlNGWacL@+ha2#pvz0F$7=XKc zfdp8vJpS-uF3*h?B@*O8u-E__()3k_Oh|^Q-ZVmc2A7u_^Y+ROj~fQ0romn-)#CHL zP>qizX0UgG1V=cWf~L&c=~{6GU}2DfL7j5pX$@Re0+g@VOODGAN(`$td@c(0Ls|xR zhEC4&ZZtGVy#}!Yhi7hvE7rTwp ztBZn%-op8lxu~aOkly6Aj}LNdAa&1UTdMi*p^8QWPCZwLsM{&gFj58NgZCjCC(22a zos0ALnet{Nsu2jSrPQs~VGgtX%21kU+&+p%G%`|ZY5^e)_+CXuHT1OlW|Sy=^k@kB zQaNJ(l$_SvY{S0%fHf|nd@(BZaf|5^p=r+rTQ56qT&kc!5P{G};Ca=iSfTmpSvYG5 zgi@a8BqQ(U;3E_gRk-q|-Ss}GmoJoqbF`?(g4DPfxadO7)zi0DOTkI*$YFOaeLZoQ zQIzk|M6(?x;Z^mH3RJZP+yRii<5E|1Y*-z6%Vb-%Bq>b$Qt+>gGas>kXI&Y=>B1S? z7Q1B-Z`Zkwb$6jdz}m}JRJiT&&=V#2@09{_ zu7JMxA!bppXe z`Aq>;NnmKij=(pbp;|d7^Y*$*ZwpioHGAd#I?c}cvs~cE;@Q>b9^@FylCYEm57y_< zR}^}In_b9m-H8DTsi<1KHBnRhrcOH+r252SJQVLo)1P-oaVg7cZcZv(V@1n@A6tGF(G(Mca+}aa=cEJN46#C=2wL)GCY)cbuc`1 z{Iu5P;EHg(sCZodXSJi1eOf$) zP?+)s^0|w~soRfZ*73NlOXJNKCySJ{nb@ANTZ!AnFR^ujYxMb(A@)`iXEgGn@+buj zyZE|&4W*MAR@veB9h=blzJ2GA@7EOe(eZMo%9fsK8Xu7ohH0A_I7_4Iy~lU0F?CID z&(ysVEQTk@aRo!_h!7FdUJvwUl*F1&6h>unMU7xMd2#H@wSmc!@2N+3p43c1HF5e6 zohQ2w{^)cC1J|5i7g^o%tNj-6&6McPBA!niHRmfBvMKgOWQ41s4gnYR3_gS`RmJeCOK-7&1&w}?$RNESx?){@hwC0uK+->Xvv#= zY(A!-__26&V^03FHDMctF2qWB$&E?_KhjXdperUnYP}yQ9Ib$x*sA3yMu=j6yB_h2 zT50gY;!oJe%2@MkG;eC6riiB|XazzRh)(Z{PM^;o_7VPGz(AY0)l7C(u z*keG!2M4yliK`Z#@qZF!MAv#)sruFt=JOA|`|fbReLQlQqPUE3iI_ir7XawD)(@*o z`M6Z_{j$s>J^D0tuQ24`=z_+3lXIrL-b?Hrv-kj7nSqz?#z3>!sbK`Zw1xbTcVzD=8X6$$i2zStx}G92`wrJ7s-ct z<9&}Zc5`e{WM$ZZwJ#Ozq||3Mw-$&?&XOtPiV!HDdvYx`I?AP(#mi67uj;z>Jc=K< ztrL(lA2~x@C|jD7%b;E@-`%mGE%jY;bW1wZ`)pibt&ylYDqiOBtOrV@6?yFHq*+ar zH$DwUmnWU*^hPK4de=71xP`=PTH^^YuIRBt04*mb;$hA86m@bj3C?L_%<^8ku@47Y z=Iu`$jsR7#uuiyQCC%bj6HREzkCGQG-88$%J~{{78GN(zbafwhEWTbV>cq#)ov6S< zf9_VZm_eYb{5#mvQ>b+W)cmJ#GuK27<#?S456Ca`6NR`Ww@o+!Gw&3uH2o&A#%T#0 zm|G5aLwHo86c(>3SuX+2^}#o#!gX9mB;wudCdZ03Fi2!bR6aeT0VV6kN+pfWd%&Wj z(Kr0`GZW}kS{EL8=Vmbf0!G`xM^@$NfJwz>>{$c5Y__yipzU3Tyz?E1Q}?B2OgJ+SD~WZB7rtLAPARdb^= z`L#pj4&B`k!&?eE8b!;Y_4=W4rr7lrQHO%J7c{CFd>n0@<8f@oWmN%pd*)Q|Iqt4} zGFG_CW-#Z18@^$8sn2*>RWI;{UG>CDNvY}h=T?Q;k)^DlI@iP%nt z8(k>GV5I6WVkbm?YRw)}t2OTqI(2_B`~3r{XRA-Q=o1KNOdD z8>{y)#q781Rqp_&SJ<-8jx0(B#AM$Gmr10YPRm^@FVFRuugjH3>I!F_cfsLfA#-zZ zNWFFW=t(<)UwZT(5bmRA&4JRZ_*e5CccIFPhUdz7z%(=aT?+(SDjHqTz+UkV9atYB z!3$0HPluX=97mZdIA9Zn(od^{Dx-K=e#&>eX-Ily-5}Brg%ayr@I$4xJ^gF39n@H+ z$Fm_P80)Pi0=h=0$(zg~C^#5q$SOx7bqkxyqbh_q9boQ+r5>_&YAu zpYl9;v_Dr+Og`}qFS$&msVAO*h%{U|RzM*L!+=J7XdxH#uT6$Co25$j|9*}LPVfBh4w;k<5N zN3LQ)eV9rk`D~}M%pg*v=$SlXF%}BDGVDLy;aAI?OsF(PUsIrx0^_$}kuFzqYKLy! z1QCooCGR9^s0b82%uPaopa{%DUSzoXxz~WB)!@H|jF9!)jsXWjhHdKB(NY0ntoTDf zzxH;)({oD~0Hc522E!l2bNgejsGaXI*S!h!5_c>vIB5Su`t%{7+$6*$THDO&tmfx| z4e^^d)3Tr687TO==K0F?Cywn6mDA79h|d3w_4+8ZP&souyQQ=4`rkO`7%u${AOAPb z(Khq%Bt7~|&|fAXl5Lc{NiV=Z&b$DZz$1dj%ZFyY zChFYiZf`UW0TQwCn{EA5gWO`T7MMZma=%K4?Kn6DR7r)gzX(g#(0ph&_jQ5g89eFg zY9HX;Az&sUVPd%UyYj6Ab6&xfn5>qZ3((=N8x?=7H&a@T64kd`nvuF#^+{~1s5l6G zk}oG%?;&+)oS@GE8$x3dbytctK>k+Q^^*Ty#!pzf{C~~+{V{VXQY1SG=>FwDqqslC zvPbNADRrmI7sI5Y?DL5rdT5n>NyNQ|>gHHT^T0xLTk6{?nwS)f&(haGqY3Nu3)#jP zm>wD3w2psX!Hzf>%6J;%H!$2v!4iZumn10GU@u#i_qCeVy{T&y+OLEQ zkBmTsJ5g23`Vrm^M=3QRNX~mDG?H90%UdUG+=wfw@i8o}yR&!bikRcF!KIG__Zc%== zg8v$@d~F772yz1!;43{!USr*_J#&0!H9NmO5jj5*kH8Q@tj502v4pDydZ>LF2#Xw? z_?leVc<+y~$Tcv}jplGz*j&zch~|0aT#7V9)t?Rl;6D-au2i%gcBxxEQkM6YdQHeLSw2HxshXsyYle(!G6d_$)Q#f?47@s%7C5$k_7HPi{ zi7q-iC7s{Ix-HG^u@eM+LsF5j%~wIq3bI|_9wuF~_Gz-{F;VtTYLP_35t%q=aK=}l z0*Wg%v4c>KqbIn(B7yICRSx4*;pF5RcTh6_OBu3=K|y>_K13uz9AvC0(>2av)VUFQ z;BLwi%c~32O*6Z#oUZ0tH949qCD>AGdKqZfs0w@x83ID-Vn+N%9G#`D8aQa3(0;?% z=Y|}+kWZfH`hzUt`iVf$QCs5OmH2o^6bcBTh?WastHGYpWFl0L?}W4?(Aw^^vX!fU z9`1F1U5mc99?d_nZ$6I2xz`_AZ#FA?$~#+ z;Zv-aW94x1I&`ShlBG%*f$z51fGK^nH{yUoLvsXwR_-2J`-Ah{_`}ZVehU_E58%J| z=Y#gI0{43+;tt7nw!!?K_2y-gK14}qz{SVT>RTEcW_EFwI3r&l35)dw?2WXc98|=; zM_MyD;2zv?T(?dM(RDyI*)m>z68>wH(DjGd>G_x6ZE``cw}|>K<@+V0h|-l# wPY`tQUCBvK+K1FmOQG66q>XHN|TPX z&_O^zKtM#AD010n@BQulmHj>UeD|DlpZov5JP%3MtTk)BlbLzf%$k{;O`R(bcn3R-+n1qD%%GE2RWE5m1 zB;-JHimTVI0k4r>p`@a`Ms@!F+Al~h{4(<5CF1je*T_i7&RhS^>+CfENPLm*65!$m zFn|Df;Ue(DSto$ye5vOxf4cy`UWAt}6BAt|xj;aA4mZCBxIl36(j_9Ys~0X4T)KFf z@Nb_9i7o>{l=?}d#5Al1iOE!S!guuGHeNL&W7PCuF$qbSrLCtowt9R?goKt&T*3W` zZalk`VXdf7E{BqlRd8OL$J2zA{B!(Fzsw9ExOm~W$svi(8=)4H@W{nh?}9`WbkAl0SI$Qe z051Xow*X7GFZ3<{F~$F_cNaz{`A>70ZdAVMQlCAcG@c;`=SCHn-OG$6;G1JNmF1-; zy#iH+ybo?xQKO>n0)ZYLwF3xV9W80wYQB`eqzZ4wA8*B=QmfC+c7Ku?}6FUZ`O2S4e&>!zJBe3t5&8BnP+FI}#vICnzlV7a3yJi6L_ z_3N#H@I#$<;}CBJkizKvfMY|Ml^WE=;6?P)72kHajt8eyF_*jYU26fx%gBH+Ciccv zpKSYE-&p@ly0CLF?>`eP9$%!7xo@OD6F4wClU8b>;00AW1K8!IeWp9s@!~G?Wa%mQBpK<_|hD;4<5X>H*mGqpExE%cZfS0#|H10Xq=EL+yJj3S{t77o&iEk-FAF` zq2Gfx?)LL5yzvCqn0&f^!B2Nu#6fNitg}+sty)d z5?z1zotfwR-6R4J%!-ZQ{^-dSKTW>Lnm=mGvs;>KMs&0J`Ff%jW*qc6J|F_UbCc@A z`H---e>bEr=ST1JYot{ovzETmN{>5Zr!k3h*s5dX9Qzrdm}Tu|KDTh{wGf=#MhvCt zUbA*h&S~7A7O8j+1%)&je&hZ$qnpnr$>y-LX?KavZNl!-yg>kQydE<<)H#POAkBAx z{@qs25~H{@iya}lncl(ON_s1}ukeluImlhPNaSJX&MzcT{dXi#{O>9B6Z~H?&QG%Z zzd)9-SK1e8SKHRY`JKv>7?`bszec!m+B@jM@~dHQeaKaNX{aS}pa){{pau*W1Ic6B zGpWV=vPZl6{#9Yn)Q_C*AoVjq)%AUHcP%GZD5<* z#4|wc(}0l3{{K6>J94fL*t5tstIwIhXb%oHjmw-j(I8aR8GtmRc**fwPKVPO03w-w z%ytGax!Q3t&}aofE&>2t|J%J`PjAKiNInBtDE@fzAMU4P&VC^IUC>@R*BQW(_~t)K9$|3O-XKKFsNv8whHSyqv+e!I!m!XRTHDh9cT$wIl;UpBvblczz! zj9=h@-Os@U#V3ccZZb(z(TFR;H<+adv=944~q%AxS zl8k|qq0+A0Gzm9bnmM_OmIoUxx_zEXN9aV90%M#$s|fd@dtT}06navL?8Sk#w7SCy zu5gwvD@Ck08IA8?FneGUl;JRoLSmq#iaENFGSuHdAs^;hOR1~d$j>0syguxNpE`dy zeCz@2)u9e{>U!Q5LMF`N$$3K+bQ=0jBBLV@0&)o0MjixB?TgK1OJF%j3sp-rbkw?C zlXxN>%A+XQ9;Gy5O3*)E+k`whmNkbiO}wgw?3dZvEg*Ql-D0K0BqXJ06!=wptoLjw z`$!3RVAHt37LiY8ao^mn$_gBGCyJ(E+@Gy+_ehx)a*51F7@~qpVLMR$?sdK{n!2ld z-PLT2l#DZna=<}PLu!5V<-DBr$Nw4zBWHc+JK`#kH#L&apBm26^X6Dol)FhM=3ocM zJQucB3;~}33o#600vt_luvOc+$@Hx#9e#*3$hg3d2k&q|K9$T=L}%EBM~&3b10f<^oqZs82JDP zpIY{heZN(RR+csx#KVBJXMo0E`kVjS-+EP=^R0)<@%hjW-+)be>dkMl)=P8ckHgRT zYu0u{%hNOs0#R4&0$p{!Q>7LfS`)diYjaAb@rKd!)77BwMYEqoLpP?}>j@c0mb&aJ zz_HLq*@S`_G9FT~+|JkOn{sD>z0CV9L$t+~1K&xH zU3dK(A5rX+y{tccp37xYJfNc#OGGYk(=Oj?pfh5CG9FJ^sRQ}`(PXsYPIX*yq?1uz`>=l-Z1e|9aS(q zrd+v5)sRw`A3ETH!@k$-_N0p!TJ>bDW_cd#4xel7)VsUe`Vw=W!f6yM8Q@lDP<%I% zb^3*fE7F)%>Dlp+U1Aj!ZbQQcgTL)~)sx04D;d6>i8JJF7uarqjq${9CLvAOIf_l^ z+||;JD&Wp4mLa-)TzTS#FDD;DkMc+F#U47C*(Nq(vJ0A;qFr?-jUz9Qn@9@Fe2@sJ zs@DcfxAq{*osuyFLZ(#7B)$P13Ui8!gpMxR3Z)Fl8ROof=}2VMNGTQF`uG!}tswN4 zRinGUDLkSy2I4>a^~b15FvhgdC({R)5p6IwLuzA8;va~x@nd;!G%y^HuN0trz0D~L zJvH~;G$OmJOB^@v2CYwgHNA>-jOQL%L_|SlDe%2|Iaj~?#c|BwL$9hd#e)@9&v%gb zo{sNST>K=zDnQb5VdvyT0EIXfd{c}lo8(8m$xJcwzT9E#U=}~%tRmY?$(D@yVG0An zgm%&bX&@8*!NpfL>o09)7iN@B%QR;t9YR-~tYpk;L_W{ttb25fT93RUG+QtQYP3-J z1)7%6n|cduRfd(z**m2`+0+y@>#Qtm;u6@h23b109pp;337vK|O=4~~aAhto;3{ac zZt^m5IMzxxl3ll(FBD{ug;A*`^zsW5K7iBkW|V?@P))aVc-`;&+?10)-TH9ZobhPZ zuP)4-Z+1zgR6|v*T_;pr>}wbseXM)=PGeu|8=PC08+101x`JSQH^1(*{yV$f4Lk>D zewm3Rw2OwIfD0o$WaYt5ha6YNx*KA6b7D_$*|Cj`z@WfemBC#my$>R)d4v(Mgce-} zd{QS4Ze|!NG$FU6cIHV85 zRFH?zQahg;A&Mg)IFJdGQx(49FU}Bg{=5ZSL}b4|2?E0Os7+xy8)5$%CCK!#J!XEA z3*2Ygm0klY`cS&wEhDB%yw)lf536!t8HMUR-O-{x12j32f`}H}jO)EJ=6xawN_9#V zY+4NauwVg!4s9k$2)K^dupukr4A76e&dX18lP4`<_Z&)(6rO{z@gGxxJ|fY z9k^P!28&LALIF_>uo7k&_lcTm!1czu!ydqHs}Hcx)zTMrM3S>9IxE>IueUZ7NlDB0 z@8=!>$ay++FF8IZolGV$CtL1(2wI;I#(a?Wn(m3n9{YUx-*o2b=a+{Y^UxyX(Msxp z*lLh_&5xur0JcI@bHHS8_TRewrD_#Wi{b_VzG?^R-kNXTlP~V`T#o;-{VtCAp~Vly z>38k6a%36>yqEV_hJH}-tRu{X<~U}Y1nv0?DUgGRKK5+$WSMcBfvgqwC?Z}M490|C zG1rHRcOzAZ1W$>u%sQ9HU8*jpVSTNAeLV?x`IsZ}?$U$A%#*%yyMcQ5Avhph`dTBr zVDw|{1`3MI=D)=zHq_06u%oh4jChwj=)+xN`&iuUa`3Cmyn={OhZ0F)TboUx>(i_% zHX$I(<_)9(H~tJ@Bk=;@q+#7wv{*?{`wi+`kuV5Hy2EMM#~nEjRZ%$y5X-_dfYkGa zL1QOLYwpoQpWfjDhy7mtkq{n^3st$o@Eo+hDop{kHHR-B?Q;9jM6o$SqJZ|u zD)y;fbhJ41QI?XX87dF59Jsyu*35RjD>2q@GU!fiJkMYN$93HV8{a!lcu)`CLx8x6 zzxy=S0&v{hr=hocLsjjz4gCWLmk?4$Dk5yOCd0T+E)aON>Rj1$^=YS7?S?AroL3qIz@l!47$K#?m z043-9UY@rom2dTrRK|bj=8I)p;?Q!e#KV{GGfjDPBT;wY&@%vG;XrRw(udmxAOGNL zk+G{Hu7%RW+yj|tZ7)(gK-tZ|^~wKRD^D7r<5z$v=cZmZLHgq>Kf%(&Kgsfw9sY?@ zLLLk5)ln=~!zAJ;?QE;jjAtvi_*y8w$Md*| zF}&U1#~_nK7?%BPN_Vd+heb?9fcT9#$h7nT49+TTyZ6-l{R00getj~Xfr^J_CWjI~ zMNA?{!MM8Nw)XzD7jcZW$@KLXQ^LYk8mz}%=S5oC|L4S|kRTqBF4X#3-vSRgNM!sV)$LC!< zA`$DZhO)#CT}t{p_1BNE#GB0*&lkIAzYUidlyR{(+MGiYYSgrCIV9elnUuZbZpOK| zvbrKBx3N1}G|Fc-W71q-bI_LznKQ6x_fi>o2YmP@ex6iJBHyf6Xcf6G3hMk~2oLm8 zU#w&}S*Hylsv#(Jba`r`VPClF@WqqYC?(?wxg~pZuA-;us=kswToYu-vb?ld634Z5 zbm3cQEsjA;WzIl%suvD94bx^fs;;j3@V<0ehLNGN4XD=;nm3D@*-c8p27>uI=aIGjPh&>APY{z)+>qdqh*1$twp&*hEpF#tR{J`CO*;cXcYv)VSQ*+o&eoa z?}CWq9KUNF&hPV1MJSge()%l9PMv9AT3usVAwHrzpGM3tqKPlK0C;iO~Y>F;$)t-o)0r*k{0f2*mfnM zq)5tqIUOh{8vb-{@P%K#olMwq)lp>MW^G=eH4z8O=s175#cE7;&xv z_A+|9eh`}`@6?W(myJ{e)+FrtRV{KFS&-t8o8&7->qnBVeO*ndajBTGRma_Y;YeVO zd)8OG#xeJ)s&tY_=Af>yDI*-+zNXd}ab7`Lej068GPc_>-3n3U8&T%noTPZ|69^=C zH-BWq$3KzdPVU&E>KM9uca?*~LYSW75}k{3H6ue-!~_lql2)K7>bF71zrj|81k|7YMEH}2 zzp~U%w)vYB{gjlyDUN@q9D@8>wY2q*5P}aL&NBKH5cb~9QHx?!cU8V=5B18@4~u7> z_k>4#SRdrcUOncf;>lU_4w4FAw@m6R?Y#Gg$-D9G4|AS|J`SLNezKMHp^NQw_7&Ua z@3#Df$%(5ga@pTG^@eMk6#g*g$H?1l{!J6w^j0QOf09i9zC_*6L(bYhQR9H70S~;c z@yS3dM8k38o6ZlKoVzV!;=pwfxpE(}eehmh5qDO2YAYkZf7bP_0TVoyw$;hSCYf+6 zt#pL{<^X-2mbxRGm5)?(SXbCue)3fD$h#fEf+b(=3LT>WLGe2^@Qf98v#O$TP7X&A zVa_$mOA=j%jjULZnsV-r&cNt%AYPdHm=sf)v5wT&`a4xFJxiq1xxj zmd6X*ECmfAdA;-~K8-yo*;5OcHEgF;NHr~*mZh?C@)><~OC#Jkl1*#N?X;H*NOkA4 zm6E;_d}>dUDQG9{y@uO!?3e+^Aub6~%Y&BLD$hobvUNC1HwCUZpvf75ATK!3kO^i; z4Sl^QoN2Il@DMbsL)nhdP_uP`Q>1bcc!XY4y;!6qVK)(Yk9U%20|K@xXnut@C+wYS*7BriLY(@$)Ev-`^6FL@QznZN zS;7Y*#hDF>)#o|Jpiq4!YLk)jb&)SFpDvd=D%hOLWIDV@(8VT3(Gq%E_H-iIm5}Sr zmqn>}7VlNMWw?;?8&rHN#(ge}rf{)^&_q>rgc7ktjZ~thu6ig(l4D+tPaIKEcj9T8 z6)Sb7W3G7nn}I#-bW{3OH+oAvJ_XX7_X;w{P4JEgSxFy@izN%2E3Mvq*c8{23AfyS zNHIO#zg4zy$szHXb6JL#Vofh0SQgtv#fnit4ZVpB@iMLSAqieaL}{enos~UG$(?zi zL1oPcx0*4ubBr!~X^?SzHRDM0E;|(Q_aSmqeM+rd`po*q=%f^HbuvpG88tBEwsDwb zJk~1!J-=h!XJ^G@<+Inqy-ofyJJenvWrJ6gy5Gd{y{2}-K#T3uV-b%yGvFD393o-kahu~f=Twm*(v#<2;zhpoqG(c*-BA=W)5P8p{I z3*I>|Oacn?MtKc_)k7S3CU!z3h568=#k-k1Xr+i~)rW~{ra#_f)m zCw8lRAJ;h6uO=8+3RDJyoF#pOI!Dj7QE(+Il5%!td^fHpN%|Xy_6uVSz9`yd!yV#f zr)OEOE^G3l1h0ykzk>Mg?n9ixi+cZrz%bNVJqwbR&9cUywCyqU5^T8P;!Gox@uo;d zJK{q=m^TsRWP~XVcNd1$dCK+evm8{E_z12v^}E9+U8y9o&@?z$nofXMIjWJ>rNMs4IVWYGRXm z=v+0#lw&KEmJg2T9p0=#0*R6LTrHyW;!b+V7srC=Z z{5-s=v#Q~llKKT&0SP`idchHgvR7aO5p%{MRNCSi=7_@X#niffe@GL?cExnCA>*N- zkmsg8r{rk6*Y9w-z z57PW%y}8E6#<#=Z{nWnc5BRZC8VYRN{F(^y*OtOR0-{+Il#c(td_6Zzk5li~z~&G4 ztHT{UDJp+uaq<17Q~58QGEe__l=kAeVM~L3kTClh+B9 zt@xDMc~dC!)=Ni(d{9L^JUrklKYNNr_EZzrdO z#ypeYa;IW~2hAITJ|#u|Z!F?}XQ4m){P$nvPx}0%&$-zDmqPx3${R;$Z;pHUbA1qv zpg)X;-u)8bOpR!bP&2h!51I;#SuRsTiUS|DFrv=mW^SvuKo7p-5jvvx#>dhqa{lCd zvi$p9F#iZ8{rBUz`B!&PVt4z(T>#*BKUpk#FYCA+^0Y+hUCXBvEzsg+`su$wOdQHjc{!h`d0!2V$C9`u5~kiC?O z_N)MjLEn*cN;1LZbQ8y&WYR!Ctw@Gwqm;0nUQ%|cXnixC)bgG1TdO+Ja7IdPf*NgELqb!SG!SHXNmIwrra^t4ys8TRtvk6E<~Uvo zS+DvSx0!(D;6!6t>uD9E2{(#jKY_sl345HpJ?e}~3?4gvhGrbAGmR!7jVSX1Jm&6o zag7kOe3jxtZ89oadE*g8BnT+&rfmu|yaLowdt{h+%WKkG)|IDr1M;jh$%x

    3~Dk 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 literal 0 HcmV?d00001 diff --git a/docs/en/docs-nav.json b/docs/en/docs-nav.json index 3337521b89..f855338d13 100644 --- a/docs/en/docs-nav.json +++ b/docs/en/docs-nav.json @@ -819,6 +819,10 @@ "text": "Projecting Angular Content", "path": "UI/Angular/Content-Projection-Service.md" }, + { + "text": "Modal", + "path": "UI/Angular/Modal.md" + }, { "text": "Confirmation Popup", "path": "UI/Angular/Confirmation-Service.md" From 730a28d5af7f028cb7551e0df8a7db8750e0eec5 Mon Sep 17 00:00:00 2001 From: mehmet-erim Date: Wed, 27 Jan 2021 12:43:07 +0300 Subject: [PATCH 133/217] Update Ellipsis-Directive.md --- docs/en/UI/Angular/Ellipsis-Directive.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/en/UI/Angular/Ellipsis-Directive.md b/docs/en/UI/Angular/Ellipsis-Directive.md index 29335969c1..c462331574 100644 --- a/docs/en/UI/Angular/Ellipsis-Directive.md +++ b/docs/en/UI/Angular/Ellipsis-Directive.md @@ -1,6 +1,6 @@ # Ellipsis -Text inside an HTML element can be truncated easily with an ellipsis by using CSS. To make this even easier, you can use the `EllipsisDirective` which has been exposed from the `@abp/ng.theme.shared` package. +Text inside an HTML element can be truncated easily with an ellipsis by using CSS. To make this even easier, you can use the `EllipsisDirective` which has been exposed by the `@abp/ng.theme.shared` package. ## Getting Started From 8aa48e7644da3e811569033ad73f50caa76fd703 Mon Sep 17 00:00:00 2001 From: enisn Date: Wed, 27 Jan 2021 13:17:55 +0300 Subject: [PATCH 134/217] Framework - Add DeleteMany Tests to HardDelete_Tests --- .../Abp/TestApp/Testing/HardDelete_Tests.cs | 37 +++++++++++++++++++ 1 file changed, 37 insertions(+) diff --git a/framework/test/Volo.Abp.TestApp/Volo/Abp/TestApp/Testing/HardDelete_Tests.cs b/framework/test/Volo.Abp.TestApp/Volo/Abp/TestApp/Testing/HardDelete_Tests.cs index 3d9b324da8..e31b64f6e4 100644 --- a/framework/test/Volo.Abp.TestApp/Volo/Abp/TestApp/Testing/HardDelete_Tests.cs +++ b/framework/test/Volo.Abp.TestApp/Volo/Abp/TestApp/Testing/HardDelete_Tests.cs @@ -1,7 +1,9 @@ using Shouldly; using System; +using System.Collections.Generic; using System.Threading.Tasks; using Volo.Abp.Data; +using Volo.Abp.Domain.Entities; using Volo.Abp.Domain.Repositories; using Volo.Abp.Modularity; using Volo.Abp.TestApp.Domain; @@ -119,5 +121,40 @@ namespace Volo.Abp.TestApp.Testing john.ShouldBeNull(); } } + + [Fact] + public async Task Should_HardDelete_WithDeleteMany() + { + var persons = await PersonRepository.GetListAsync(); + + await WithUnitOfWorkAsync(async () => + { + var hardDeleteEntities = (HashSet)UnitOfWorkManager.Current.Items.GetOrAdd( + UnitOfWorkItemNames.HardDeletedEntities, + () => new HashSet() + ); + hardDeleteEntities.UnionWith(persons); + await PersonRepository.DeleteManyAsync(persons); + }); + + var personsCount = await PersonRepository.GetCountAsync(); + + personsCount.ShouldBe(0); + } + + [Fact] + public async Task Should_HardDelete_WithDeleteMany_WithPredicate() + { + await WithUnitOfWorkAsync(async () => + { + await PersonRepository.HardDeleteAsync(x => x.Id == TestDataBuilder.UserDouglasId); + + await PersonRepository.DeleteManyAsync(new[] { TestDataBuilder.UserDouglasId }); + }); + + var douglas = await PersonRepository.FindAsync(TestDataBuilder.UserDouglasId); + + douglas.ShouldBeNull(); + } } } From 0f8b67aa3c9867f92829acf7930b30cf34773539 Mon Sep 17 00:00:00 2001 From: mehmet-erim Date: Wed, 27 Jan 2021 13:30:33 +0300 Subject: [PATCH 135/217] fix lint errors --- .../src/lib/components/modal/modal-container.component.ts | 2 +- .../src/lib/components/modal/modal.component.ts | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/npm/ng-packs/packages/theme-shared/src/lib/components/modal/modal-container.component.ts b/npm/ng-packs/packages/theme-shared/src/lib/components/modal/modal-container.component.ts index d20021327c..1b07955270 100644 --- a/npm/ng-packs/packages/theme-shared/src/lib/components/modal/modal-container.component.ts +++ b/npm/ng-packs/packages/theme-shared/src/lib/components/modal/modal-container.component.ts @@ -5,7 +5,7 @@ import { Component, ViewChild, ViewContainerRef } from '@angular/core'; */ @Component({ selector: 'abp-modal-container', - template: ` `, + template: '', }) export class ModalContainerComponent { @ViewChild('container', { static: true, read: ViewContainerRef }) diff --git a/npm/ng-packs/packages/theme-shared/src/lib/components/modal/modal.component.ts b/npm/ng-packs/packages/theme-shared/src/lib/components/modal/modal.component.ts index e729ec17a4..0142adeb25 100644 --- a/npm/ng-packs/packages/theme-shared/src/lib/components/modal/modal.component.ts +++ b/npm/ng-packs/packages/theme-shared/src/lib/components/modal/modal.component.ts @@ -85,9 +85,9 @@ export class ModalComponent implements OnDestroy { @Output() readonly init = new EventEmitter(); - @Output() readonly appear = new EventEmitter(); + @Output() readonly appear = new EventEmitter(); - @Output() readonly disappear = new EventEmitter(); + @Output() readonly disappear = new EventEmitter(); _visible = false; @@ -135,7 +135,7 @@ export class ModalComponent implements OnDestroy { setTimeout(() => this.listen(), 0); this.modalRef = this.modal.open(this.modalContent, { - //TODO: set size to 'lg' when removed the size variable + // TODO: set size to 'lg' when removed the size variable size: this.size, windowClass: this.modalClass, centered: this.centered, From 6d6802846339b6c93850a6d5ea9204ada548c916 Mon Sep 17 00:00:00 2001 From: mehmet-erim Date: Wed, 27 Jan 2021 13:59:35 +0300 Subject: [PATCH 136/217] Update Modal.md --- docs/en/UI/Angular/Modal.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/docs/en/UI/Angular/Modal.md b/docs/en/UI/Angular/Modal.md index c1c9d21633..f1583d4813 100644 --- a/docs/en/UI/Angular/Modal.md +++ b/docs/en/UI/Angular/Modal.md @@ -5,10 +5,10 @@ The `abp-modal` provides some additional benefits: - It is **flexible**. You can pass header, body, footer templates easily by adding the templates to the `abp-modal` content. It can also be implemented quickly. - - Provides several inputs be able to customize the modal and several outputs be able to listen some events. - - Automatically detects the close button which have a `#abpClose` variable declaration and close the modal when pressed this button. - - Automatically detects the `abp-button` and trigger its loading spinner when the `busy` input value of the modal component is true. - - Automatically checks if the form inside the modal **has changed, but not saved**. It warns the user in this case when user tries to close the modal or refresh/close the tab of the browser. + - Provides several inputs be able to customize the modal and several outputs be able to listen to some events. + - Automatically detects the close button which has a `#abpClose` template variable and closes the modal when pressed this button. + - Automatically detects the `abp-button` and triggers its loading spinner when the `busy` input value of the modal component is true. + - Automatically checks if the form inside the modal **has changed, but not saved**. It warns the user by displaying a [confirmation popup](Confirmation-Service) in this case when a user tries to close the modal or refresh/close the tab of the browser. > Note: A modal can also be rendered by using the `ng-bootstrap` modal. For further information, see [Modal doc](https://ng-bootstrap.github.io/#/components/modal) on the `ng-bootstrap` documentation. @@ -176,7 +176,7 @@ The modal with form looks like this: @Input() visible: boolean ``` -**`visible`** is a boolean input that determines whether the modal is open. It is also can be used two way binding. +**`visible`** is a boolean input that determines whether the modal is open. It is also can be used two-way binding. #### busy @@ -184,7 +184,7 @@ The modal with form looks like this: @Input() busy: boolean ``` -**`busy`** is a boolean input that determines whether the modal busy status is true. When `busy` is true, the modal cannot be closed and the `abp-button` loading spinner is triggered. +**`busy`** is a boolean input that determines whether the busy status of the modal is true. When `busy` is true, the modal cannot be closed and the `abp-button` loading spinner is triggered. #### options From c62c3fa9b8a52721b1f0fc1c04a7974dd949e717 Mon Sep 17 00:00:00 2001 From: enisn Date: Wed, 27 Jan 2021 16:43:15 +0300 Subject: [PATCH 137/217] CmsKit - Change TagEntityTypeDefinition configuration --- .../CmsKit/Tags/DefaultTagDefinitionStore.cs | 6 +- .../Tags/TagEntityTypeDefinitionDictionary.cs | 12 +--- .../CmsKit/Tags/TagEntityTypeDefiniton.cs | 8 ++- ...TagEntityTypeDefinitionDictionary_Tests.cs | 66 +++++++++++++++++++ .../CmsKitDataSeedContributor.cs | 13 ++-- 5 files changed, 84 insertions(+), 21 deletions(-) create mode 100644 modules/cms-kit/test/Volo.CmsKit.Domain.Tests/Tags/TagEntityTypeDefinitionDictionary_Tests.cs diff --git a/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Tags/DefaultTagDefinitionStore.cs b/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Tags/DefaultTagDefinitionStore.cs index 6860e8c95c..0eea8b178b 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Tags/DefaultTagDefinitionStore.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Tags/DefaultTagDefinitionStore.cs @@ -21,20 +21,20 @@ namespace Volo.CmsKit.Tags { Check.NotNullOrWhiteSpace(entityType, nameof(entityType)); - var result = options.EntityTypes.GetOrDefault(entityType) ?? throw new EntityNotTaggableException(entityType); + var result = options.EntityTypes.FirstOrDefault(x => x.EntityType == entityType) ?? throw new EntityNotTaggableException(entityType); return Task.FromResult(result); } public virtual Task> GetTagDefinitionsAsync() { - return Task.FromResult(options.EntityTypes.Values.ToList()); + return Task.FromResult(options.EntityTypes.ToList()); } public virtual Task IsDefinedAsync([NotNull] string entityType) { Check.NotNullOrWhiteSpace(entityType, nameof(entityType)); - return Task.FromResult(options.EntityTypes.ContainsKey(entityType)); + return Task.FromResult(options.EntityTypes.Any(a => a.EntityType == entityType)); } } } diff --git a/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Tags/TagEntityTypeDefinitionDictionary.cs b/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Tags/TagEntityTypeDefinitionDictionary.cs index 669dbbb315..ca2bd9c0e3 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Tags/TagEntityTypeDefinitionDictionary.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Tags/TagEntityTypeDefinitionDictionary.cs @@ -4,17 +4,7 @@ using Volo.Abp.Localization; namespace Volo.CmsKit.Tags { - public class TagEntityTypeDefinitionDictionary : Dictionary + public class TagEntityTypeDefinitionDictionary : HashSet { - public void AddOrReplace( - [NotNull] string entityType, - [CanBeNull] ILocalizableString displayName = null, - [CanBeNull] string createPolicy = null, - [CanBeNull] string updatePolicy = null, - [CanBeNull] string deletePolicy = null - ) - { - this[entityType] = new TagEntityTypeDefiniton(entityType, displayName, createPolicy, updatePolicy, deletePolicy); - } } } diff --git a/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Tags/TagEntityTypeDefiniton.cs b/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Tags/TagEntityTypeDefiniton.cs index fee8815b97..463c78d4a4 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Tags/TagEntityTypeDefiniton.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Tags/TagEntityTypeDefiniton.cs @@ -1,11 +1,12 @@ using JetBrains.Annotations; +using System; using Volo.Abp; using Volo.Abp.Localization; using Volo.CmsKit.Domain.Volo.CmsKit; namespace Volo.CmsKit.Tags { - public class TagEntityTypeDefiniton : PolicySpecifiedDefinition + public class TagEntityTypeDefiniton : PolicySpecifiedDefinition, IEquatable { public string EntityType { get; } @@ -27,5 +28,10 @@ namespace Volo.CmsKit.Tags DisplayName = displayName; } + + public bool Equals(TagEntityTypeDefiniton other) + { + return EntityType == other.EntityType; + } } } diff --git a/modules/cms-kit/test/Volo.CmsKit.Domain.Tests/Tags/TagEntityTypeDefinitionDictionary_Tests.cs b/modules/cms-kit/test/Volo.CmsKit.Domain.Tests/Tags/TagEntityTypeDefinitionDictionary_Tests.cs new file mode 100644 index 0000000000..3f7fff046a --- /dev/null +++ b/modules/cms-kit/test/Volo.CmsKit.Domain.Tests/Tags/TagEntityTypeDefinitionDictionary_Tests.cs @@ -0,0 +1,66 @@ +using Microsoft.Extensions.Localization; +using Microsoft.Extensions.Options; +using Shouldly; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Volo.Abp.Localization; +using Volo.CmsKit.Localization; +using Xunit; + +namespace Volo.CmsKit.Tags +{ + public class TagEntityTypeDefinitionDictionary_Tests : CmsKitDomainTestBase + { + private readonly CmsKitTagOptions cmsKitTagOptions; + + public TagEntityTypeDefinitionDictionary_Tests() + { + var options = GetRequiredService>(); + cmsKitTagOptions = options.Value; + } + + [Fact] + public void ShouldAddEntityTypeProperly_WithOnlyEntityType() + { + cmsKitTagOptions.EntityTypes.Add(new TagEntityTypeDefiniton("My.Entity.Type")); + } + + [Fact] + public void ShouldAddEntityTypeProperly_WithEntityTypeAndDisplayName() + { + cmsKitTagOptions.EntityTypes.Add( + new TagEntityTypeDefiniton( + "My.Entity.Type", + LocalizableString.Create("MyEntity"))); + } + + [Fact] + public void ShouldAddEntityType_WithAllParameters() + { + cmsKitTagOptions.EntityTypes.Add( + new TagEntityTypeDefiniton( + "My.Entity.Type", + LocalizableString.Create("MyEntity"), + "SomeCreatePolicy", + "SomeUpdatePolicy", + "SomeDeletePolicy" + )); + } + + [Fact] + public void ShouldThrowException_WhileAddingExistingType() + { + var expectedCount = cmsKitTagOptions.EntityTypes.Count + 1; + + var entityTypeDefinition = new TagEntityTypeDefiniton("My.Entity.Type"); + + cmsKitTagOptions.EntityTypes.Add(entityTypeDefinition); + cmsKitTagOptions.EntityTypes.Add(entityTypeDefinition); + + cmsKitTagOptions.EntityTypes.Count.ShouldBe(expectedCount); + } + } +} diff --git a/modules/cms-kit/test/Volo.CmsKit.TestBase/CmsKitDataSeedContributor.cs b/modules/cms-kit/test/Volo.CmsKit.TestBase/CmsKitDataSeedContributor.cs index 3dc77fe1fc..e916dd22b3 100644 --- a/modules/cms-kit/test/Volo.CmsKit.TestBase/CmsKitDataSeedContributor.cs +++ b/modules/cms-kit/test/Volo.CmsKit.TestBase/CmsKitDataSeedContributor.cs @@ -1,5 +1,6 @@ using Microsoft.Extensions.Options; using System; +using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; using Volo.Abp.Data; @@ -86,12 +87,12 @@ namespace Volo.CmsKit } private Task ConfigureCmsKitOptionsAsync() - { - _tagOptions.Value.EntityTypes.AddOrReplace(_cmsKitTestData.EntityType1); - _tagOptions.Value.EntityTypes.AddOrReplace(_cmsKitTestData.EntityType2); - _tagOptions.Value.EntityTypes.AddOrReplace(_cmsKitTestData.Content_1_EntityType); - _tagOptions.Value.EntityTypes.AddOrReplace(_cmsKitTestData.Content_2_EntityType); - _tagOptions.Value.EntityTypes.AddOrReplace(_cmsKitTestData.TagDefinition_1_EntityType); + { + _tagOptions.Value.EntityTypes.AddIfNotContains(new TagEntityTypeDefiniton(_cmsKitTestData.EntityType1)); + _tagOptions.Value.EntityTypes.AddIfNotContains(new TagEntityTypeDefiniton(_cmsKitTestData.EntityType2)); + _tagOptions.Value.EntityTypes.AddIfNotContains(new TagEntityTypeDefiniton(_cmsKitTestData.Content_1_EntityType)); + _tagOptions.Value.EntityTypes.AddIfNotContains(new TagEntityTypeDefiniton(_cmsKitTestData.Content_2_EntityType)); + _tagOptions.Value.EntityTypes.AddIfNotContains(new TagEntityTypeDefiniton(_cmsKitTestData.TagDefinition_1_EntityType)); return Task.CompletedTask; } From 95f261e104c98e0fee8ab9771ce6998a64479895 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Halil=20=C4=B0brahim=20Kalkan?= Date: Wed, 27 Jan 2021 19:15:53 +0300 Subject: [PATCH 138/217] Created blog post for 4.2.0 final --- .../2021-01-28 v4_2_Release_Stable/POST.md | 53 +++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 docs/en/Blog-Posts/2021-01-28 v4_2_Release_Stable/POST.md diff --git a/docs/en/Blog-Posts/2021-01-28 v4_2_Release_Stable/POST.md b/docs/en/Blog-Posts/2021-01-28 v4_2_Release_Stable/POST.md new file mode 100644 index 0000000000..b5664d8de8 --- /dev/null +++ b/docs/en/Blog-Posts/2021-01-28 v4_2_Release_Stable/POST.md @@ -0,0 +1,53 @@ +# ABP.IO Platform 4.2 Final Has Been Released! + +[ABP Framework](https://abp.io/) and [ABP Commercial](https://commercial.abp.io/) 4.2 versions have been released today. + +## What's New With 4.2? + +Since all the new features are already explained in details with the [4.2 RC Announcement Post](https://blog.abp.io/abp/ABP-IO-Platform-v4-2-RC-Has-Been-Released), I will not repeat all the details again. See the [RC Blog Post](https://blog.abp.io/abp/ABP-IO-Platform-v4-2-RC-Has-Been-Released) for all the features and enhancements. + +## Creating New Solutions + +You can create a new solution with the ABP Framework version 4.2 by either using the `abp new` command or using the **direct download** tab on the [get started page](https://abp.io/get-started). + +> See the [getting started document](https://docs.abp.io/en/abp/latest/Getting-Started) for details. + +## How to Upgrade an Existing Solution + +### Install/Update the ABP CLI + +First of all, install the ABP CLI or upgrade to the latest version. + +If you haven't installed yet: + +```bash +dotnet tool install -g Volo.Abp.Cli +``` + +To update an existing installation: + +```bash +dotnet tool update -g Volo.Abp.Cli +``` + +### ABP UPDATE Command + +[ABP CLI](https://docs.abp.io/en/abp/latest/CLI) provides a handy command to update all the ABP related NuGet and NPM packages in your solution with a single command: + +```bash +abp update +``` + +Run this command in the root folder of your solution. + +## Migration Guide + +Check [the migration guide](https://docs.abp.io/en/abp/4.2/Migration-Guides/Abp-4_2) for the applications with the version 4.x upgrading to the version 4.2. + +> It is strongly recommended to check the migration guide for this version. Especially, the new `IRepository.GetQueryableAsync()` method is a core change should be considered after upgrading the solution. + +## About the Next Version + +The next feature version will be 4.3. It is planned to release the 4.3 RC (Release Candidate) on March 11 and the final version on March 25, 2021. + +We decided to slow down the feature development for the [next milestone](https://github.com/abpframework/abp/milestone/49). We will continue to improve the existing features and introduce new ones, sure, but wanted to have more time for the planning, documentation, creating guides and improving the development experience. \ No newline at end of file From baab26379003e76b83bf80aab685212f0837a716 Mon Sep 17 00:00:00 2001 From: maliming Date: Thu, 28 Jan 2021 11:56:09 +0800 Subject: [PATCH 139/217] Upgrade Npgsql.EntityFrameworkCore.PostgreSQL to 5.0.2 https://github.com/npgsql/efcore.pg/milestone/35?closed=1 https://github.com/npgsql/efcore.pg/milestone/36?closed=1 --- .../Volo.Abp.EntityFrameworkCore.PostgreSql.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/framework/src/Volo.Abp.EntityFrameworkCore.PostgreSql/Volo.Abp.EntityFrameworkCore.PostgreSql.csproj b/framework/src/Volo.Abp.EntityFrameworkCore.PostgreSql/Volo.Abp.EntityFrameworkCore.PostgreSql.csproj index 8616838cc0..e8c90ccf13 100644 --- a/framework/src/Volo.Abp.EntityFrameworkCore.PostgreSql/Volo.Abp.EntityFrameworkCore.PostgreSql.csproj +++ b/framework/src/Volo.Abp.EntityFrameworkCore.PostgreSql/Volo.Abp.EntityFrameworkCore.PostgreSql.csproj @@ -19,7 +19,7 @@ - + From 7339efd02a8f3e13ef69628cc91bdd6a92aa98b3 Mon Sep 17 00:00:00 2001 From: enisn Date: Thu, 28 Jan 2021 12:43:45 +0300 Subject: [PATCH 140/217] CmsKit - Refactor TagEntityTypeDefinition --- .../Volo/CmsKit/Tags/TagEntityTypeDefinitionDictionary.cs | 3 ++- .../Tags/TagEntityTypeDefinitionDictionary_Tests.cs | 6 ++---- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Tags/TagEntityTypeDefinitionDictionary.cs b/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Tags/TagEntityTypeDefinitionDictionary.cs index ca2bd9c0e3..888ad15577 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Tags/TagEntityTypeDefinitionDictionary.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Tags/TagEntityTypeDefinitionDictionary.cs @@ -1,10 +1,11 @@ using JetBrains.Annotations; +using System; using System.Collections.Generic; using Volo.Abp.Localization; namespace Volo.CmsKit.Tags { - public class TagEntityTypeDefinitionDictionary : HashSet + public class TagEntityTypeDefinitionDictionary : List { } } diff --git a/modules/cms-kit/test/Volo.CmsKit.Domain.Tests/Tags/TagEntityTypeDefinitionDictionary_Tests.cs b/modules/cms-kit/test/Volo.CmsKit.Domain.Tests/Tags/TagEntityTypeDefinitionDictionary_Tests.cs index 3f7fff046a..a405c27190 100644 --- a/modules/cms-kit/test/Volo.CmsKit.Domain.Tests/Tags/TagEntityTypeDefinitionDictionary_Tests.cs +++ b/modules/cms-kit/test/Volo.CmsKit.Domain.Tests/Tags/TagEntityTypeDefinitionDictionary_Tests.cs @@ -55,10 +55,8 @@ namespace Volo.CmsKit.Tags { var expectedCount = cmsKitTagOptions.EntityTypes.Count + 1; - var entityTypeDefinition = new TagEntityTypeDefiniton("My.Entity.Type"); - - cmsKitTagOptions.EntityTypes.Add(entityTypeDefinition); - cmsKitTagOptions.EntityTypes.Add(entityTypeDefinition); + cmsKitTagOptions.EntityTypes.Add(new TagEntityTypeDefiniton("My.Entity.Type")); + cmsKitTagOptions.EntityTypes.AddIfNotContains(new TagEntityTypeDefiniton("My.Entity.Type")); cmsKitTagOptions.EntityTypes.Count.ShouldBe(expectedCount); } From aa34547aa8b64e2b625ccdba251a7eeaf5b27dc1 Mon Sep 17 00:00:00 2001 From: enisn Date: Thu, 28 Jan 2021 12:55:42 +0300 Subject: [PATCH 141/217] CmsKit - Refactor TagDefinitionStore --- .../CmsKit/Tags/DefaultTagDefinitionStore.cs | 24 ++++++++++++++++--- .../Volo/CmsKit/Tags/ITagDefinitionStore.cs | 2 +- .../Volo/CmsKit/Tags/TagManager.cs | 2 +- 3 files changed, 23 insertions(+), 5 deletions(-) diff --git a/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Tags/DefaultTagDefinitionStore.cs b/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Tags/DefaultTagDefinitionStore.cs index 0eea8b178b..5a79bea25a 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Tags/DefaultTagDefinitionStore.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Tags/DefaultTagDefinitionStore.cs @@ -1,5 +1,6 @@ using JetBrains.Annotations; using Microsoft.Extensions.Options; +using System; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; @@ -17,24 +18,41 @@ namespace Volo.CmsKit.Tags this.options = options.Value; } + ///

    + /// Gets single by entityType. + /// + /// EntityType to get definition. + /// Thrown when EntityType is not configured as taggable. + /// More than one element satisfies the condition in predicate. public virtual Task GetTagEntityTypeDefinitionsAsync([NotNull] string entityType) { Check.NotNullOrWhiteSpace(entityType, nameof(entityType)); - var result = options.EntityTypes.FirstOrDefault(x => x.EntityType == entityType) ?? throw new EntityNotTaggableException(entityType); + var result = options.EntityTypes.SingleOrDefault(x => x.EntityType == entityType) ?? throw new EntityNotTaggableException(entityType); return Task.FromResult(result); } - public virtual Task> GetTagDefinitionsAsync() + /// + /// Gets all defined elements. + /// + public virtual Task> GetTagEntityTypeDefinitionListAsync() { return Task.FromResult(options.EntityTypes.ToList()); } + /// + /// Checks if EntityType defined as taggable. + /// + /// EntityType to check. + /// More than one element satisfies the condition in predicate." public virtual Task IsDefinedAsync([NotNull] string entityType) { Check.NotNullOrWhiteSpace(entityType, nameof(entityType)); - return Task.FromResult(options.EntityTypes.Any(a => a.EntityType == entityType)); + + var definition = options.EntityTypes.SingleOrDefault(x => x.EntityType == entityType); + + return Task.FromResult(definition != null); } } } diff --git a/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Tags/ITagDefinitionStore.cs b/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Tags/ITagDefinitionStore.cs index 1221e3660d..1dd8ae2bc3 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Tags/ITagDefinitionStore.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Tags/ITagDefinitionStore.cs @@ -6,7 +6,7 @@ namespace Volo.CmsKit.Tags { public interface ITagDefinitionStore { - Task> GetTagDefinitionsAsync(); + Task> GetTagEntityTypeDefinitionListAsync(); Task GetTagEntityTypeDefinitionsAsync([NotNull] string entityType); diff --git a/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Tags/TagManager.cs b/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Tags/TagManager.cs index 9c881226fa..77d50e9949 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Tags/TagManager.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Tags/TagManager.cs @@ -85,7 +85,7 @@ namespace Volo.CmsKit.Tags public Task> GetTagDefinitionsAsync(CancellationToken cancellationToken = default) { - return _tagDefinitionStore.GetTagDefinitionsAsync(); + return _tagDefinitionStore.GetTagEntityTypeDefinitionListAsync(); } } } \ No newline at end of file From 281b98d3e93d3cca6fdc5a4215de568d88b8e2fe Mon Sep 17 00:00:00 2001 From: Mehmet Erim <34455572+mehmet-erim@users.noreply.github.com> Date: Thu, 28 Jan 2021 14:37:43 +0300 Subject: [PATCH 142/217] Update packages of the abp versions --- templates/app/angular/package.json | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/templates/app/angular/package.json b/templates/app/angular/package.json index 0975963c21..79a05e5ec4 100644 --- a/templates/app/angular/package.json +++ b/templates/app/angular/package.json @@ -12,13 +12,13 @@ }, "private": true, "dependencies": { - "@abp/ng.components": "~4.2.0-rc.2", - "@abp/ng.core": "~4.2.0-rc.2", - "@abp/ng.identity": "~4.2.0-rc.2", - "@abp/ng.setting-management": "~4.2.0-rc.2", - "@abp/ng.tenant-management": "~4.2.0-rc.2", - "@abp/ng.theme.basic": "~4.2.0-rc.2", - "@abp/ng.theme.shared": "~4.2.0-rc.2", + "@abp/ng.components": "~4.2.0", + "@abp/ng.core": "~4.2.0", + "@abp/ng.identity": "~4.2.0", + "@abp/ng.setting-management": "~4.2.0", + "@abp/ng.tenant-management": "~4.2.0", + "@abp/ng.theme.basic": "~4.2.0", + "@abp/ng.theme.shared": "~4.2.0", "@angular/animations": "~11.1.0", "@angular/common": "~11.1.0", "@angular/compiler": "~11.1.0", @@ -32,7 +32,7 @@ "zone.js": "~0.10.2" }, "devDependencies": { - "@abp/ng.schematics": "~4.2.0-rc.2", + "@abp/ng.schematics": "~4.2.0", "@angular-devkit/build-angular": "~0.1101.0", "@angular/cli": "~11.1.0", "@angular/compiler-cli": "~11.1.0", @@ -54,4 +54,4 @@ "tslint": "~6.1.0", "typescript": "~4.1.3" } -} \ No newline at end of file +} From 0250a71a1da0c4643c821e43845d3585a5a82a14 Mon Sep 17 00:00:00 2001 From: Mehmet Erim <34455572+mehmet-erim@users.noreply.github.com> Date: Thu, 28 Jan 2021 14:39:50 +0300 Subject: [PATCH 143/217] Update package.json --- templates/module/angular/package.json | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/templates/module/angular/package.json b/templates/module/angular/package.json index 4be629e899..11df91b1f0 100644 --- a/templates/module/angular/package.json +++ b/templates/module/angular/package.json @@ -15,13 +15,13 @@ }, "private": true, "dependencies": { - "@abp/ng.components": "~4.2.0-rc.2", - "@abp/ng.core": "~4.2.0-rc.2", - "@abp/ng.identity": "~4.2.0-rc.2", - "@abp/ng.setting-management": "~4.2.0-rc.2", - "@abp/ng.tenant-management": "~4.2.0-rc.2", - "@abp/ng.theme.basic": "~4.2.0-rc.2", - "@abp/ng.theme.shared": "~4.2.0-rc.2", + "@abp/ng.components": "~4.2.0", + "@abp/ng.core": "~4.2.0", + "@abp/ng.identity": "~4.2.0", + "@abp/ng.setting-management": "~4.2.0", + "@abp/ng.tenant-management": "~4.2.0", + "@abp/ng.theme.basic": "~4.2.0", + "@abp/ng.theme.shared": "~4.2.0", "@angular/animations": "~11.1.0", "@angular/common": "~11.1.0", "@angular/compiler": "~11.1.0", @@ -35,7 +35,7 @@ "zone.js": "~0.10.2" }, "devDependencies": { - "@abp/ng.schematics": "~4.2.0-rc.2", + "@abp/ng.schematics": "~4.2.0", "@angular-devkit/build-angular": "~0.1101.1", "@angular/cli": "~11.1.1", "@angular/compiler-cli": "~11.1.0", From 0d3472f92fa0280f277b59a046827cdf6106813e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=B2=A1=E6=9C=89=E5=A6=82=E6=9E=9C?= <344089386@qq.com> Date: Fri, 29 Jan 2021 10:02:58 +0800 Subject: [PATCH 144/217] The document is wrong --- .../Customizing-Application-Modules-Overriding-Services.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/zh-Hans/Customizing-Application-Modules-Overriding-Services.md b/docs/zh-Hans/Customizing-Application-Modules-Overriding-Services.md index b8abe99cdc..1e9ae77f36 100644 --- a/docs/zh-Hans/Customizing-Application-Modules-Overriding-Services.md +++ b/docs/zh-Hans/Customizing-Application-Modules-Overriding-Services.md @@ -243,7 +243,7 @@ ObjectExtensionManager.Instance 这是定义实体属性的另一种方法( 有关 `ObjectExtensionManager` 更多信息,请参阅[文档](Object-Extensions.md)). 这次我们设置了 `CheckPairDefinitionOnMapping` 为false,在将实体映射到DTO时会跳过定义检查. -如果你不喜欢这种方法,但想简单的向多个对象(DTO)添加单个属, `AddOrUpdateProperty` 可以使用类型数组添加额外的属性: +如果你不喜欢这种方法,但想简单的向多个对象(DTO)添加单个属性, `AddOrUpdateProperty` 可以使用类型数组添加额外的属性: ````csharp ObjectExtensionManager.Instance From 193bd8afe05d416e0727a773e5e1ed1235d68e81 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Halil=20=C4=B0brahim=20Kalkan?= Date: Fri, 29 Jan 2021 09:44:39 +0300 Subject: [PATCH 145/217] Update POST.md --- docs/en/Blog-Posts/2021-01-28 v4_2_Release_Stable/POST.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/en/Blog-Posts/2021-01-28 v4_2_Release_Stable/POST.md b/docs/en/Blog-Posts/2021-01-28 v4_2_Release_Stable/POST.md index b5664d8de8..fac8484411 100644 --- a/docs/en/Blog-Posts/2021-01-28 v4_2_Release_Stable/POST.md +++ b/docs/en/Blog-Posts/2021-01-28 v4_2_Release_Stable/POST.md @@ -42,7 +42,7 @@ Run this command in the root folder of your solution. ## Migration Guide -Check [the migration guide](https://docs.abp.io/en/abp/4.2/Migration-Guides/Abp-4_2) for the applications with the version 4.x upgrading to the version 4.2. +Check [the migration guide](https://docs.abp.io/en/abp/latest/Migration-Guides/Abp-4_2) for the applications with the version 4.x upgrading to the version 4.2. > It is strongly recommended to check the migration guide for this version. Especially, the new `IRepository.GetQueryableAsync()` method is a core change should be considered after upgrading the solution. From e6b44e733085529a31cbaa629eb9b6c18ca8310d Mon Sep 17 00:00:00 2001 From: liangshiwei Date: Fri, 29 Jan 2021 18:32:25 +0800 Subject: [PATCH 146/217] Add more "Many" methods to the ICacheSupportsMultipleItems --- .../StackExchangeRedis/AbpRedisCache.cs | 38 ++- .../Volo/Abp/Caching/DistributedCache.cs | 281 ++++++++++++++++++ .../Caching/ICacheSupportsMultipleItems.cs | 16 +- .../Volo/Abp/Caching/IDistributedCache.cs | 63 +++- .../Abp/Caching/TestMemoryDistributedCache.cs | 16 + 5 files changed, 403 insertions(+), 11 deletions(-) diff --git a/framework/src/Volo.Abp.Caching.StackExchangeRedis/Volo/Abp/Caching/StackExchangeRedis/AbpRedisCache.cs b/framework/src/Volo.Abp.Caching.StackExchangeRedis/Volo/Abp/Caching/StackExchangeRedis/AbpRedisCache.cs index c3cb34f30c..dbf04a1d80 100644 --- a/framework/src/Volo.Abp.Caching.StackExchangeRedis/Volo/Abp/Caching/StackExchangeRedis/AbpRedisCache.cs +++ b/framework/src/Volo.Abp.Caching.StackExchangeRedis/Volo/Abp/Caching/StackExchangeRedis/AbpRedisCache.cs @@ -45,19 +45,26 @@ namespace Volo.Abp.Caching.StackExchangeRedis MapMetadataMethod = type.GetMethod("MapMetadata", BindingFlags.Instance | BindingFlags.NonPublic); - GetAbsoluteExpirationMethod = type.GetMethod("GetAbsoluteExpiration", BindingFlags.Static | BindingFlags.NonPublic); + GetAbsoluteExpirationMethod = + type.GetMethod("GetAbsoluteExpiration", BindingFlags.Static | BindingFlags.NonPublic); - GetExpirationInSecondsMethod = type.GetMethod("GetExpirationInSeconds", BindingFlags.Static | BindingFlags.NonPublic); + GetExpirationInSecondsMethod = + type.GetMethod("GetExpirationInSeconds", BindingFlags.Static | BindingFlags.NonPublic); - SetScript = type.GetField("SetScript", BindingFlags.Static | BindingFlags.NonPublic).GetValue(null).ToString(); + SetScript = type.GetField("SetScript", BindingFlags.Static | BindingFlags.NonPublic)?.GetValue(null) + .ToString(); - AbsoluteExpirationKey = type.GetField("AbsoluteExpirationKey", BindingFlags.Static | BindingFlags.NonPublic).GetValue(null).ToString(); + AbsoluteExpirationKey = type.GetField("AbsoluteExpirationKey", BindingFlags.Static | BindingFlags.NonPublic) + ?.GetValue(null).ToString(); - SlidingExpirationKey = type.GetField("SlidingExpirationKey", BindingFlags.Static | BindingFlags.NonPublic).GetValue(null).ToString(); + SlidingExpirationKey = type.GetField("SlidingExpirationKey", BindingFlags.Static | BindingFlags.NonPublic) + ?.GetValue(null).ToString(); - DataKey = type.GetField("DataKey", BindingFlags.Static | BindingFlags.NonPublic).GetValue(null).ToString(); + DataKey = type.GetField("DataKey", BindingFlags.Static | BindingFlags.NonPublic)?.GetValue(null).ToString(); - NotPresent = type.GetField("NotPresent", BindingFlags.Static | BindingFlags.NonPublic).GetValue(null).To(); + // ReSharper disable once PossibleNullReferenceException + NotPresent = type.GetField("NotPresent", BindingFlags.Static | BindingFlags.NonPublic).GetValue(null) + .To(); } public AbpRedisCache(IOptions optionsAccessor) @@ -124,6 +131,23 @@ namespace Volo.Abp.Caching.StackExchangeRedis await Task.WhenAll(PipelineSetMany(items, options)); } + public void RefreshMany( + IEnumerable keys) + { + keys = Check.NotNull(keys, nameof(keys)); + + GetAndRefreshMany(keys, false); + } + + public async Task RefreshManyAsync( + IEnumerable keys, + CancellationToken token = default) + { + keys = Check.NotNull(keys, nameof(keys)); + + await GetAndRefreshManyAsync(keys, false, token); + } + protected virtual byte[][] GetAndRefreshMany( IEnumerable keys, bool getData) diff --git a/framework/src/Volo.Abp.Caching/Volo/Abp/Caching/DistributedCache.cs b/framework/src/Volo.Abp.Caching/Volo/Abp/Caching/DistributedCache.cs index d62411628e..2ebe9b2fb4 100644 --- a/framework/src/Volo.Abp.Caching/Volo/Abp/Caching/DistributedCache.cs +++ b/framework/src/Volo.Abp.Caching/Volo/Abp/Caching/DistributedCache.cs @@ -527,6 +527,198 @@ namespace Volo.Abp.Caching return value; } + public KeyValuePair[] GetOrAddMany( + IEnumerable keys, + Func, IEnumerable>> factory, + Func optionsFactory = null, + bool? hideErrors = null, + bool considerUow = false) + { + + KeyValuePair[] result; + var keyArray = keys.ToArray(); + + var cacheSupportsMultipleItems = Cache as ICacheSupportsMultipleItems; + if (cacheSupportsMultipleItems == null) + { + result = GetManyFallback( + keyArray, + hideErrors, + considerUow + ); + } + else + { + var notCachedKeys = new List(); + var cachedValues = new List>(); + if (ShouldConsiderUow(considerUow)) + { + var uowCache = GetUnitOfWorkCache(); + foreach (var key in keyArray) + { + var value = uowCache.GetOrDefault(key)?.GetUnRemovedValueOrNull(); + if (value != null) + { + cachedValues.Add(new KeyValuePair(key, value)); + } + } + + notCachedKeys = keyArray.Except(cachedValues.Select(x => x.Key)).ToList(); + if (!notCachedKeys.Any()) + { + return cachedValues.ToArray(); + } + } + + hideErrors = hideErrors ?? _distributedCacheOption.HideErrors; + byte[][] cachedBytes; + + var readKeys = notCachedKeys.Any() ? notCachedKeys.ToArray() : keyArray; + try + { + cachedBytes = cacheSupportsMultipleItems.GetMany(readKeys.Select(NormalizeKey)); + } + catch (Exception ex) + { + if (hideErrors == true) + { + HandleException(ex); + return ToCacheItemsWithDefaultValues(keyArray); + } + + throw; + } + + result = cachedValues.Concat(ToCacheItems(cachedBytes, readKeys)).ToArray(); + } + + if (result.All(x => x.Value != null)) + { + return result; + } + + var missingKeys = new List(); + var missingValuesIndex = new List(); + for (var i = 0; i < keyArray.Length; i++) + { + if (result[i].Value != null) + { + continue; + } + + missingKeys.Add(keyArray[i]); + missingValuesIndex.Add(i); + } + + var missingValues = factory.Invoke(missingKeys).ToArray(); + var valueQueue = new Queue>(missingValues); + + SetMany(missingValues, optionsFactory?.Invoke(), hideErrors, considerUow); + + foreach (var index in missingValuesIndex) + { + result[index] = valueQueue.Dequeue(); + } + + return result; + } + + + public async Task[]> GetOrAddManyAsync( + IEnumerable keys, + Func, Task>>> factory, + Func optionsFactory = null, + bool? hideErrors = null, + bool considerUow = false, + CancellationToken token = default) + { + KeyValuePair[] result; + var keyArray = keys.ToArray(); + + var cacheSupportsMultipleItems = Cache as ICacheSupportsMultipleItems; + if (cacheSupportsMultipleItems == null) + { + result = await GetManyFallbackAsync( + keyArray, + hideErrors, + considerUow, token); + } + else + { + var notCachedKeys = new List(); + var cachedValues = new List>(); + if (ShouldConsiderUow(considerUow)) + { + var uowCache = GetUnitOfWorkCache(); + foreach (var key in keyArray) + { + var value = uowCache.GetOrDefault(key)?.GetUnRemovedValueOrNull(); + if (value != null) + { + cachedValues.Add(new KeyValuePair(key, value)); + } + } + + notCachedKeys = keyArray.Except(cachedValues.Select(x => x.Key)).ToList(); + if (!notCachedKeys.Any()) + { + return cachedValues.ToArray(); + } + } + + hideErrors = hideErrors ?? _distributedCacheOption.HideErrors; + byte[][] cachedBytes; + + var readKeys = notCachedKeys.Any() ? notCachedKeys.ToArray() : keyArray; + try + { + cachedBytes = await cacheSupportsMultipleItems.GetManyAsync(readKeys.Select(NormalizeKey), token); + } + catch (Exception ex) + { + if (hideErrors == true) + { + await HandleExceptionAsync(ex); + return ToCacheItemsWithDefaultValues(keyArray); + } + + throw; + } + + result = cachedValues.Concat(ToCacheItems(cachedBytes, readKeys)).ToArray(); + } + + if (result.All(x => x.Value != null)) + { + return result; + } + + var missingKeys = new List(); + var missingValuesIndex = new List(); + for (var i = 0; i < keyArray.Length; i++) + { + if (result[i].Value != null) + { + continue; + } + + missingKeys.Add(keyArray[i]); + missingValuesIndex.Add(i); + } + + var missingValues = (await factory.Invoke(missingKeys)).ToArray(); + var valueQueue = new Queue>(missingValues); + + await SetManyAsync(missingValues, optionsFactory?.Invoke(), hideErrors, considerUow, token); + + foreach (var index in missingValuesIndex) + { + result[index] = valueQueue.Dequeue(); + } + + return result; + } + /// /// Sets the cache item value for the provided key. /// @@ -924,6 +1116,71 @@ namespace Volo.Abp.Caching } } + public virtual void RefreshMany( + IEnumerable keys, + bool? hideErrors = null) + { + hideErrors = hideErrors ?? _distributedCacheOption.HideErrors; + + try + { + if (Cache is ICacheSupportsMultipleItems cacheSupportsMultipleItems) + { + cacheSupportsMultipleItems.RefreshMany(keys.Select(NormalizeKey)); + } + else + { + foreach (var key in keys) + { + Cache.Refresh(NormalizeKey(key)); + } + } + } + catch (Exception ex) + { + if (hideErrors == true) + { + HandleException(ex); + return; + } + + throw; + } + } + + public virtual async Task RefreshManyAsync( + IEnumerable keys, + bool? hideErrors = null, + CancellationToken token = default) + { + hideErrors = hideErrors ?? _distributedCacheOption.HideErrors; + + try + { + if (Cache is ICacheSupportsMultipleItems cacheSupportsMultipleItems) + { + await cacheSupportsMultipleItems.RefreshManyAsync(keys.Select(NormalizeKey), token); + } + else + { + foreach (var key in keys) + { + await Cache.RefreshAsync(NormalizeKey(key), token); + } + } + } + catch (Exception ex) + { + if (hideErrors == true) + { + await HandleExceptionAsync(ex); + return; + } + + throw; + } + } + /// /// Removes the cache item for given key from cache. /// @@ -1027,6 +1284,30 @@ namespace Volo.Abp.Caching } } + protected virtual KeyValuePair[] GetOrAddMany( + TCacheKey[] keys, + KeyValuePair[] values, + KeyValuePair[] missingValues) + { + var missingValuesIndex = new List(); + for (var i = 0; i < keys.Length; i++) + { + if (values[i].Value == null) + { + missingValuesIndex.Add(i); + } + } + + var valueQueue = new Queue>(missingValues); + + foreach (var index in missingValuesIndex) + { + values[index] = valueQueue.Dequeue(); + } + + return values; + } + protected virtual void HandleException(Exception ex) { _ = HandleExceptionAsync(ex); diff --git a/framework/src/Volo.Abp.Caching/Volo/Abp/Caching/ICacheSupportsMultipleItems.cs b/framework/src/Volo.Abp.Caching/Volo/Abp/Caching/ICacheSupportsMultipleItems.cs index af6f87021b..ec73a159a4 100644 --- a/framework/src/Volo.Abp.Caching/Volo/Abp/Caching/ICacheSupportsMultipleItems.cs +++ b/framework/src/Volo.Abp.Caching/Volo/Abp/Caching/ICacheSupportsMultipleItems.cs @@ -1,4 +1,5 @@ -using System.Collections.Generic; +using System; +using System.Collections.Generic; using System.Threading; using System.Threading.Tasks; using Microsoft.Extensions.Caching.Distributed; @@ -25,6 +26,15 @@ namespace Volo.Abp.Caching IEnumerable> items, DistributedCacheEntryOptions options, CancellationToken token = default - ); + ); + + void RefreshMany( + IEnumerable keys + ); + + Task RefreshManyAsync( + IEnumerable keys, + CancellationToken token = default + ); } -} \ No newline at end of file +} diff --git a/framework/src/Volo.Abp.Caching/Volo/Abp/Caching/IDistributedCache.cs b/framework/src/Volo.Abp.Caching/Volo/Abp/Caching/IDistributedCache.cs index 2f74fd678b..d8510efe43 100644 --- a/framework/src/Volo.Abp.Caching/Volo/Abp/Caching/IDistributedCache.cs +++ b/framework/src/Volo.Abp.Caching/Volo/Abp/Caching/IDistributedCache.cs @@ -14,8 +14,8 @@ namespace Volo.Abp.Caching public interface IDistributedCache : IDistributedCache where TCacheItem : class { - } + ///
    /// Represents a distributed cache of type. /// Uses a generic cache key type of type. @@ -128,6 +128,44 @@ namespace Volo.Abp.Caching CancellationToken token = default ); + /// + /// Gets or Adds multiple cache items with the given keys. If any cache items not found for the given keys then adds cache items + /// provided by delegate and returns the provided cache items. + /// + /// The keys of cached items to be retrieved from the cache. + /// The factory delegate is used to provide the cache items when no cache items are found for the given . + /// The cache options for the factory delegate. + /// Indicates to throw or hide the exceptions for the distributed cache. + /// This will store the cache in the current unit of work until the end of the current unit of work does not really affect the cache. + /// The cache items. + KeyValuePair[] GetOrAddMany( + IEnumerable keys, + Func, IEnumerable>> factory, + Func optionsFactory = null, + bool? hideErrors = null, + bool considerUow = false + ); + + /// + /// Gets or Adds multiple cache items with the given keys. If any cache items not found for the given keys then adds cache items + /// provided by delegate and returns the provided cache items. + /// + /// The keys of cached items to be retrieved from the cache. + /// The factory delegate is used to provide the cache items when no cache items are found for the given . + /// The cache options for the factory delegate. + /// Indicates to throw or hide the exceptions for the distributed cache. + /// This will store the cache in the current unit of work until the end of the current unit of work does not really affect the cache. + /// The for the task. + /// The cache items. + Task[]> GetOrAddManyAsync( + IEnumerable keys, + Func, Task>>> factory, + Func optionsFactory = null, + bool? hideErrors = null, + bool considerUow = false, + CancellationToken token = default + ); + /// /// Sets the cache item value for the provided key. /// @@ -219,6 +257,29 @@ namespace Volo.Abp.Caching CancellationToken token = default ); + /// + /// Refreshes multiple cache items. + /// Based on the implementation, this can be more efficient than setting multiple items individually. + /// + /// The keys of cached items to be retrieved from the cache. + /// Indicates to throw or hide the exceptions for the distributed cache. + void RefreshMany( + IEnumerable keys, + bool? hideErrors = null); + + /// + /// Refreshes multiple cache items. + /// Based on the implementation, this can be more efficient than setting multiple items individually. + /// + /// The keys of cached items to be retrieved from the cache. + /// Indicates to throw or hide the exceptions for the distributed cache. + /// The for the task. + /// The indicating that the operation is asynchronous. + Task RefreshManyAsync( + IEnumerable keys, + bool? hideErrors = null, + CancellationToken token = default); + /// /// Removes the cache item for given key from cache. /// diff --git a/framework/test/Volo.Abp.Caching.Tests/Volo/Abp/Caching/TestMemoryDistributedCache.cs b/framework/test/Volo.Abp.Caching.Tests/Volo/Abp/Caching/TestMemoryDistributedCache.cs index 69589d97cd..4490a50fd3 100644 --- a/framework/test/Volo.Abp.Caching.Tests/Volo/Abp/Caching/TestMemoryDistributedCache.cs +++ b/framework/test/Volo.Abp.Caching.Tests/Volo/Abp/Caching/TestMemoryDistributedCache.cs @@ -57,5 +57,21 @@ namespace Volo.Abp.Caching await SetAsync(item.Key, item.Value, options, token); } } + + public void RefreshMany(IEnumerable keys) + { + foreach (var key in keys) + { + Refresh(key); + } + } + + public async Task RefreshManyAsync(IEnumerable keys, CancellationToken token = default) + { + foreach (var key in keys) + { + await RefreshAsync(key, token); + } + } } } From 5866a59ed920fdbdba04550e74ae67b4f4f0f2fb Mon Sep 17 00:00:00 2001 From: Arman Ozak Date: Fri, 29 Jan 2021 14:18:57 +0300 Subject: [PATCH 147/217] add a service for getting navigation events stream --- .../packages/core/src/lib/services/index.ts | 1 + .../lib/services/navigation-events.service.ts | 36 +++++++++ .../tests/navigation-events.service.spec.ts | 75 +++++++++++++++++++ 3 files changed, 112 insertions(+) create mode 100644 npm/ng-packs/packages/core/src/lib/services/navigation-events.service.ts create mode 100644 npm/ng-packs/packages/core/src/lib/tests/navigation-events.service.spec.ts diff --git a/npm/ng-packs/packages/core/src/lib/services/index.ts b/npm/ng-packs/packages/core/src/lib/services/index.ts index 37bc78d606..7044831681 100644 --- a/npm/ng-packs/packages/core/src/lib/services/index.ts +++ b/npm/ng-packs/packages/core/src/lib/services/index.ts @@ -9,6 +9,7 @@ export * from './lazy-load.service'; export * from './list.service'; export * from './localization.service'; export * from './multi-tenancy.service'; +export * from './navigation-events.service'; export * from './permission.service'; export * from './profile-state.service'; export * from './profile.service'; diff --git a/npm/ng-packs/packages/core/src/lib/services/navigation-events.service.ts b/npm/ng-packs/packages/core/src/lib/services/navigation-events.service.ts new file mode 100644 index 0000000000..ff18b65ed3 --- /dev/null +++ b/npm/ng-packs/packages/core/src/lib/services/navigation-events.service.ts @@ -0,0 +1,36 @@ +import { Injectable, Type } from '@angular/core'; +import { + NavigationCancel, + NavigationEnd, + NavigationError, + NavigationStart, + Router, + RouterEvent, +} from '@angular/router'; +import { filter } from 'rxjs/operators'; + +export type NavigationEventType = 'Cancel' | 'End' | 'Error' | 'Start'; + +@Injectable({ providedIn: 'root' }) +export class NavigationEvents { + private eventTypes = new Map>([ + ['Cancel', NavigationCancel], + ['End', NavigationEnd], + ['Error', NavigationError], + ['Start', NavigationStart], + ]); + + constructor(private router: Router) {} + + getOneOf(...eventTypes: NavigationEventType[]) { + return this.router.events.pipe( + filter((event: RouterEvent) => + eventTypes.some(type => event instanceof this.eventTypes.get(type)), + ), + ); + } + + getAny() { + return this.getOneOf(...this.eventTypes.keys()); + } +} diff --git a/npm/ng-packs/packages/core/src/lib/tests/navigation-events.service.spec.ts b/npm/ng-packs/packages/core/src/lib/tests/navigation-events.service.spec.ts new file mode 100644 index 0000000000..cf6d2992d0 --- /dev/null +++ b/npm/ng-packs/packages/core/src/lib/tests/navigation-events.service.spec.ts @@ -0,0 +1,75 @@ +import { + NavigationCancel, + NavigationEnd, + NavigationError, + NavigationStart, + Router, + RouterEvent, +} from '@angular/router'; +import { createServiceFactory, SpectatorService } from '@ngneat/spectator/jest'; +import { Subject } from 'rxjs'; +import { take } from 'rxjs/operators'; +import { NavigationEvents } from '../services/navigation-events.service'; + +describe('NavigationEvents', () => { + let spectator: SpectatorService; + let service: NavigationEvents; + const events = new Subject(); + + const createService = createServiceFactory({ + service: NavigationEvents, + providers: [ + { + provide: Router, + useValue: { events }, + }, + ], + }); + + beforeEach(() => { + spectator = createService(); + service = spectator.service; + }); + + describe('getOneOf', () => { + test.each` + filtered | expected + ${['Start', 'Cancel']} | ${[0, 3]} + ${['Error', 'Cancel']} | ${[0, 1]} + ${['Start', 'End']} | ${[2, 3]} + ${['Error', 'End']} | ${[1, 2]} + `('should return a stream of given navigation events', ({ filtered, expected }) => { + const stream = service.getOneOf(...filtered); + const collected: number[] = []; + + stream.pipe(take(2)).subscribe(event => collected.push(event.id)); + + events.next(new NavigationCancel(0, null, null)); + events.next(new NavigationError(1, null, null)); + events.next(new NavigationEnd(2, null, null)); + events.next(new NavigationStart(3, null, null)); + + expect(collected).toEqual(expected); + }); + }); + + describe('getAny', () => { + it('should return a stream of any navigation event', () => { + const stream = service.getAny(); + const collected: number[] = []; + + stream.pipe(take(4)).subscribe(event => collected.push(event.id)); + + events.next(new RouterEvent(0, null)); + events.next(new NavigationStart(1, null, null)); + events.next(new RouterEvent(2, null)); + events.next(new RouterEvent(3, null)); + events.next(new NavigationError(4, null, null)); + events.next(new NavigationEnd(5, null, null)); + events.next(new RouterEvent(6, null)); + events.next(new NavigationCancel(7, null, null)); + + expect(collected).toEqual([1, 4, 5, 7]); + }); + }); +}); From 5c5ca4e02b89fea8def3def420d4b7cafd1ece09 Mon Sep 17 00:00:00 2001 From: Arman Ozak Date: Fri, 29 Jan 2021 14:19:20 +0300 Subject: [PATCH 148/217] use NavigationEvents in RouterWaitService --- .../src/lib/services/router-wait.service.ts | 23 +++++++++---------- 1 file changed, 11 insertions(+), 12 deletions(-) diff --git a/npm/ng-packs/packages/core/src/lib/services/router-wait.service.ts b/npm/ng-packs/packages/core/src/lib/services/router-wait.service.ts index 56240d8ca2..b11a1a298d 100644 --- a/npm/ng-packs/packages/core/src/lib/services/router-wait.service.ts +++ b/npm/ng-packs/packages/core/src/lib/services/router-wait.service.ts @@ -1,9 +1,10 @@ import { Injectable, Injector } from '@angular/core'; -import { NavigationCancel, NavigationEnd, NavigationError, NavigationStart, Router } from '@angular/router'; -import { filter, map, mapTo, switchMap, takeUntil, tap } from 'rxjs/operators'; -import { InternalStore } from '../utils/internal-store-utils'; +import { NavigationStart } from '@angular/router'; import { of, Subject, timer } from 'rxjs'; +import { map, mapTo, switchMap, takeUntil, tap } from 'rxjs/operators'; import { LOADER_DELAY } from '../tokens/lodaer-delay.token'; +import { InternalStore } from '../utils/internal-store-utils'; +import { NavigationEvents } from './navigation-events.service'; export interface RouterWaitState { loading: boolean; @@ -16,17 +17,15 @@ export class RouterWaitService { private store = new InternalStore({ loading: false }); private destroy$ = new Subject(); private delay: number; - constructor(private router: Router, injector: Injector) { + constructor(private navigationEvents: NavigationEvents, injector: Injector) { this.delay = injector.get(LOADER_DELAY, 500); - this.router.events + this.updateLoadingStatusOnNavigationEvents(); + } + + private updateLoadingStatusOnNavigationEvents() { + this.navigationEvents + .getAny() .pipe( - filter( - event => - event instanceof NavigationStart || - event instanceof NavigationEnd || - event instanceof NavigationError || - event instanceof NavigationCancel, - ), map(event => event instanceof NavigationStart), switchMap(condition => condition From 9f0b6b8ec5421b79e0fddf82205dad7c22da9a3a Mon Sep 17 00:00:00 2001 From: mehmet-erim Date: Fri, 29 Jan 2021 15:37:06 +0300 Subject: [PATCH 149/217] use revokeTokenAndLogout of OAuthService instead of logOut --- .../packages/core/src/lib/strategies/auth-flow.strategy.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/npm/ng-packs/packages/core/src/lib/strategies/auth-flow.strategy.ts b/npm/ng-packs/packages/core/src/lib/strategies/auth-flow.strategy.ts index 31e004be6d..d3d4c9f70f 100644 --- a/npm/ng-packs/packages/core/src/lib/strategies/auth-flow.strategy.ts +++ b/npm/ng-packs/packages/core/src/lib/strategies/auth-flow.strategy.ts @@ -70,7 +70,8 @@ export class AuthCodeFlowStrategy extends AuthFlowStrategy { } logout() { - this.oAuthService.logOut(); + this.oAuthService.revokeTokenAndLogout(); + // TODO: no need to return of(null). It may be removed in v5.0. return of(null); } From bb303e4228869ab6f135f130805289fe4830e6db Mon Sep 17 00:00:00 2001 From: maliming Date: Fri, 29 Jan 2021 20:54:04 +0800 Subject: [PATCH 150/217] Add localized texts for zh-Hans. --- .../Volo/Docs/Localization/Domain/zh-Hans.json | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/modules/docs/src/Volo.Docs.Domain/Volo/Docs/Localization/Domain/zh-Hans.json b/modules/docs/src/Volo.Docs.Domain/Volo/Docs/Localization/Domain/zh-Hans.json index f12c1f4149..9c32e143f1 100644 --- a/modules/docs/src/Volo.Docs.Domain/Volo/Docs/Localization/Domain/zh-Hans.json +++ b/modules/docs/src/Volo.Docs.Domain/Volo/Docs/Localization/Domain/zh-Hans.json @@ -33,6 +33,9 @@ "Upd": "更新", "NewExplanation": "在最近两周内创建.", "UpdatedExplanation": "在最近两周内更新.", - "Volo.Docs.Domain:010002": "简称 {ShortName} 已经存在." + "Volo.Docs.Domain:010002": "简称 {ShortName} 已经存在.", + "Preview": "预览", + "Search": "搜索", + "SearchResults": "搜索结果" } -} \ No newline at end of file +} From 1399778913a1c1feae04d4115a9ddf5b973a1007 Mon Sep 17 00:00:00 2001 From: Arman Ozak Date: Fri, 29 Jan 2021 21:30:37 +0300 Subject: [PATCH 151/217] convert navigation events to router events service --- .../packages/core/src/lib/services/index.ts | 2 +- .../lib/services/navigation-events.service.ts | 36 ------ .../src/lib/services/router-events.service.ts | 60 ++++++++++ .../tests/navigation-events.service.spec.ts | 75 ------------ .../lib/tests/router-events.service.spec.ts | 111 ++++++++++++++++++ 5 files changed, 172 insertions(+), 112 deletions(-) delete mode 100644 npm/ng-packs/packages/core/src/lib/services/navigation-events.service.ts create mode 100644 npm/ng-packs/packages/core/src/lib/services/router-events.service.ts delete mode 100644 npm/ng-packs/packages/core/src/lib/tests/navigation-events.service.spec.ts create mode 100644 npm/ng-packs/packages/core/src/lib/tests/router-events.service.spec.ts diff --git a/npm/ng-packs/packages/core/src/lib/services/index.ts b/npm/ng-packs/packages/core/src/lib/services/index.ts index 7044831681..55000edde1 100644 --- a/npm/ng-packs/packages/core/src/lib/services/index.ts +++ b/npm/ng-packs/packages/core/src/lib/services/index.ts @@ -9,13 +9,13 @@ export * from './lazy-load.service'; export * from './list.service'; export * from './localization.service'; export * from './multi-tenancy.service'; -export * from './navigation-events.service'; export * from './permission.service'; export * from './profile-state.service'; export * from './profile.service'; export * from './replaceable-components.service'; export * from './resource-wait.service'; export * from './rest.service'; +export * from './router-events.service'; export * from './router-wait.service'; export * from './routes.service'; export * from './session-state.service'; diff --git a/npm/ng-packs/packages/core/src/lib/services/navigation-events.service.ts b/npm/ng-packs/packages/core/src/lib/services/navigation-events.service.ts deleted file mode 100644 index ff18b65ed3..0000000000 --- a/npm/ng-packs/packages/core/src/lib/services/navigation-events.service.ts +++ /dev/null @@ -1,36 +0,0 @@ -import { Injectable, Type } from '@angular/core'; -import { - NavigationCancel, - NavigationEnd, - NavigationError, - NavigationStart, - Router, - RouterEvent, -} from '@angular/router'; -import { filter } from 'rxjs/operators'; - -export type NavigationEventType = 'Cancel' | 'End' | 'Error' | 'Start'; - -@Injectable({ providedIn: 'root' }) -export class NavigationEvents { - private eventTypes = new Map>([ - ['Cancel', NavigationCancel], - ['End', NavigationEnd], - ['Error', NavigationError], - ['Start', NavigationStart], - ]); - - constructor(private router: Router) {} - - getOneOf(...eventTypes: NavigationEventType[]) { - return this.router.events.pipe( - filter((event: RouterEvent) => - eventTypes.some(type => event instanceof this.eventTypes.get(type)), - ), - ); - } - - getAny() { - return this.getOneOf(...this.eventTypes.keys()); - } -} diff --git a/npm/ng-packs/packages/core/src/lib/services/router-events.service.ts b/npm/ng-packs/packages/core/src/lib/services/router-events.service.ts new file mode 100644 index 0000000000..22981c641c --- /dev/null +++ b/npm/ng-packs/packages/core/src/lib/services/router-events.service.ts @@ -0,0 +1,60 @@ +import { Injectable, Type } from '@angular/core'; +import { + NavigationCancel, + NavigationEnd, + NavigationError, + NavigationStart, + Router, + RouterEvent, +} from '@angular/router'; +import { filter } from 'rxjs/operators'; + +export const NavigationEvent = { + Cancel: NavigationCancel, + End: NavigationEnd, + Error: NavigationError, + Start: NavigationStart, +}; + +@Injectable({ providedIn: 'root' }) +export class RouterEvents { + constructor(private router: Router) {} + + getEvents(...eventTypes: T) { + type FilteredRouterEvent = T extends Type[] ? Ctor : never; + + const filterRouterEvents = (event: RouterEvent): event is FilteredRouterEvent => + eventTypes.some(type => event instanceof type); + + return this.router.events.pipe(filter(filterRouterEvents)); + } + + getNavigationEvents(...navigationEventKeys: T) { + type FilteredNavigationEvent = T extends (infer Key)[] + ? Key extends NavigationEventKey + ? InstanceType + : never + : never; + + const filterNavigationEvents = (event: RouterEvent): event is FilteredNavigationEvent => + navigationEventKeys.some(key => event instanceof NavigationEvent[key]); + + return this.router.events.pipe(filter(filterNavigationEvents)); + } + + getAnyEvent() { + return this.router.events; + } + + getAnyNavigationEvent() { + const keys = Object.keys(NavigationEvent) as NavigationEventKeys; + return this.getNavigationEvents(...keys); + } +} + +type RouterEventConstructors = [Type, ...Type[]]; + +type NavigationEventKeys = [NavigationEventKey, ...NavigationEventKey[]]; + +export type NavigationEventType = typeof NavigationEvent; +export type NavigationEventKey = keyof NavigationEventType; diff --git a/npm/ng-packs/packages/core/src/lib/tests/navigation-events.service.spec.ts b/npm/ng-packs/packages/core/src/lib/tests/navigation-events.service.spec.ts deleted file mode 100644 index cf6d2992d0..0000000000 --- a/npm/ng-packs/packages/core/src/lib/tests/navigation-events.service.spec.ts +++ /dev/null @@ -1,75 +0,0 @@ -import { - NavigationCancel, - NavigationEnd, - NavigationError, - NavigationStart, - Router, - RouterEvent, -} from '@angular/router'; -import { createServiceFactory, SpectatorService } from '@ngneat/spectator/jest'; -import { Subject } from 'rxjs'; -import { take } from 'rxjs/operators'; -import { NavigationEvents } from '../services/navigation-events.service'; - -describe('NavigationEvents', () => { - let spectator: SpectatorService; - let service: NavigationEvents; - const events = new Subject(); - - const createService = createServiceFactory({ - service: NavigationEvents, - providers: [ - { - provide: Router, - useValue: { events }, - }, - ], - }); - - beforeEach(() => { - spectator = createService(); - service = spectator.service; - }); - - describe('getOneOf', () => { - test.each` - filtered | expected - ${['Start', 'Cancel']} | ${[0, 3]} - ${['Error', 'Cancel']} | ${[0, 1]} - ${['Start', 'End']} | ${[2, 3]} - ${['Error', 'End']} | ${[1, 2]} - `('should return a stream of given navigation events', ({ filtered, expected }) => { - const stream = service.getOneOf(...filtered); - const collected: number[] = []; - - stream.pipe(take(2)).subscribe(event => collected.push(event.id)); - - events.next(new NavigationCancel(0, null, null)); - events.next(new NavigationError(1, null, null)); - events.next(new NavigationEnd(2, null, null)); - events.next(new NavigationStart(3, null, null)); - - expect(collected).toEqual(expected); - }); - }); - - describe('getAny', () => { - it('should return a stream of any navigation event', () => { - const stream = service.getAny(); - const collected: number[] = []; - - stream.pipe(take(4)).subscribe(event => collected.push(event.id)); - - events.next(new RouterEvent(0, null)); - events.next(new NavigationStart(1, null, null)); - events.next(new RouterEvent(2, null)); - events.next(new RouterEvent(3, null)); - events.next(new NavigationError(4, null, null)); - events.next(new NavigationEnd(5, null, null)); - events.next(new RouterEvent(6, null)); - events.next(new NavigationCancel(7, null, null)); - - expect(collected).toEqual([1, 4, 5, 7]); - }); - }); -}); diff --git a/npm/ng-packs/packages/core/src/lib/tests/router-events.service.spec.ts b/npm/ng-packs/packages/core/src/lib/tests/router-events.service.spec.ts new file mode 100644 index 0000000000..7b6af4f3ee --- /dev/null +++ b/npm/ng-packs/packages/core/src/lib/tests/router-events.service.spec.ts @@ -0,0 +1,111 @@ +import { + NavigationCancel, + NavigationEnd, + NavigationError, + NavigationStart, + ResolveEnd, + ResolveStart, + Router, + RouterEvent, +} from '@angular/router'; +import { createServiceFactory, SpectatorService } from '@ngneat/spectator/jest'; +import { Subject } from 'rxjs'; +import { take } from 'rxjs/operators'; +import { NavigationEventKey, RouterEvents } from '../services/router-events.service'; + +describe('RouterEvents', () => { + let spectator: SpectatorService; + let service: RouterEvents; + const events = new Subject(); + const emitRouterEvents = () => { + events.next(new RouterEvent(0, null)); + events.next(new NavigationStart(1, null, null)); + events.next(new ResolveStart(2, null, null, null)); + events.next(new RouterEvent(3, null)); + events.next(new NavigationError(4, null, null)); + events.next(new NavigationEnd(5, null, null)); + events.next(new ResolveEnd(6, null, null, null)); + events.next(new NavigationCancel(7, null, null)); + }; + + const createService = createServiceFactory({ + service: RouterEvents, + providers: [ + { + provide: Router, + useValue: { events }, + }, + ], + }); + + beforeEach(() => { + spectator = createService(); + service = spectator.service; + }); + + describe('getNavigationEvents', () => { + test.each` + filtered | expected + ${['Start', 'Cancel']} | ${[1, 7]} + ${['Error', 'Cancel']} | ${[4, 7]} + ${['Start', 'End']} | ${[1, 5]} + ${['Error', 'End']} | ${[4, 5]} + `( + 'should return a stream of given navigation events', + ({ filtered, expected }: NavigationEventTest) => { + const stream = service.getNavigationEvents(...filtered); + const collected: number[] = []; + + stream.pipe(take(2)).subscribe(event => collected.push(event.id)); + + emitRouterEvents(); + + expect(collected).toEqual(expected); + }, + ); + }); + + describe('getAnyNavigationEvent', () => { + it('should return a stream of any navigation event', () => { + const stream = service.getAnyNavigationEvent(); + const collected: number[] = []; + + stream.pipe(take(4)).subscribe(event => collected.push(event.id)); + + emitRouterEvents(); + + expect(collected).toEqual([1, 4, 5, 7]); + }); + }); + + describe('getEvents', () => { + it('should return a stream of given router events', () => { + const stream = service.getEvents(ResolveEnd, ResolveStart); + const collected: number[] = []; + + stream.pipe(take(2)).subscribe(event => collected.push(event.id)); + + emitRouterEvents(); + + expect(collected).toEqual([2, 6]); + }); + }); + + describe('getAnyEvent', () => { + it('should return a stream of any router event', () => { + const stream = service.getAnyEvent(); + const collected: number[] = []; + + stream.pipe(take(8)).subscribe((event: RouterEvent) => collected.push(event.id)); + + emitRouterEvents(); + + expect(collected).toEqual([0, 1, 2, 3, 4, 5, 6, 7]); + }); + }); +}); + +type NavigationEventTest = { + filtered: [NavigationEventKey, ...NavigationEventKey[]]; + expected: number[]; +}; From e7eb33549f72ae6a7e7caf0b3f05b71a8160569a Mon Sep 17 00:00:00 2001 From: Arman Ozak Date: Fri, 29 Jan 2021 21:31:55 +0300 Subject: [PATCH 152/217] use RouterEvents in RouterWaitService --- .../packages/core/src/lib/services/router-wait.service.ts | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/npm/ng-packs/packages/core/src/lib/services/router-wait.service.ts b/npm/ng-packs/packages/core/src/lib/services/router-wait.service.ts index b11a1a298d..10c0100997 100644 --- a/npm/ng-packs/packages/core/src/lib/services/router-wait.service.ts +++ b/npm/ng-packs/packages/core/src/lib/services/router-wait.service.ts @@ -4,7 +4,7 @@ import { of, Subject, timer } from 'rxjs'; import { map, mapTo, switchMap, takeUntil, tap } from 'rxjs/operators'; import { LOADER_DELAY } from '../tokens/lodaer-delay.token'; import { InternalStore } from '../utils/internal-store-utils'; -import { NavigationEvents } from './navigation-events.service'; +import { RouterEvents } from './router-events.service'; export interface RouterWaitState { loading: boolean; @@ -17,14 +17,14 @@ export class RouterWaitService { private store = new InternalStore({ loading: false }); private destroy$ = new Subject(); private delay: number; - constructor(private navigationEvents: NavigationEvents, injector: Injector) { + constructor(private routerEvents: RouterEvents, injector: Injector) { this.delay = injector.get(LOADER_DELAY, 500); this.updateLoadingStatusOnNavigationEvents(); } private updateLoadingStatusOnNavigationEvents() { - this.navigationEvents - .getAny() + this.routerEvents + .getAnyNavigationEvent() .pipe( map(event => event instanceof NavigationStart), switchMap(condition => From ec84273b3c272aef2525c89a18b0798ea4bf2c17 Mon Sep 17 00:00:00 2001 From: Arman Ozak Date: Fri, 29 Jan 2021 21:47:15 +0300 Subject: [PATCH 153/217] use RouterEvents instead of filtering router events --- .../components/dynamic-layout.component.ts | 17 +++++++------- .../breadcrumb/breadcrumb.component.ts | 17 +++++++++----- .../src/lib/handlers/error.handler.ts | 22 ++++++++----------- 3 files changed, 30 insertions(+), 26 deletions(-) diff --git a/npm/ng-packs/packages/core/src/lib/components/dynamic-layout.component.ts b/npm/ng-packs/packages/core/src/lib/components/dynamic-layout.component.ts index 87ad976491..c9a852ae08 100644 --- a/npm/ng-packs/packages/core/src/lib/components/dynamic-layout.component.ts +++ b/npm/ng-packs/packages/core/src/lib/components/dynamic-layout.component.ts @@ -1,11 +1,11 @@ import { Component, Injector, Optional, SkipSelf, Type } from '@angular/core'; -import { ActivatedRoute, NavigationEnd, Router } from '@angular/router'; -import { filter } from 'rxjs/operators'; +import { ActivatedRoute, Router } from '@angular/router'; import { eLayoutType } from '../enums/common'; import { ABP } from '../models'; import { ReplaceableComponents } from '../models/replaceable-components'; import { LocalizationService } from '../services/localization.service'; import { ReplaceableComponentsService } from '../services/replaceable-components.service'; +import { RouterEvents } from '../services/router-events.service'; import { RoutesService } from '../services/routes.service'; import { SubscriptionService } from '../services/subscription.service'; import { findRoute, getRoutePath } from '../utils/route-utils'; @@ -44,6 +44,7 @@ export class DynamicLayoutComponent { private localizationService: LocalizationService, private replaceableComponents: ReplaceableComponentsService, private subscription: SubscriptionService, + private routerEvents: RouterEvents, @Optional() @SkipSelf() dynamicLayoutComponent: DynamicLayoutComponent, ) { if (dynamicLayoutComponent) return; @@ -52,16 +53,16 @@ export class DynamicLayoutComponent { this.routes = injector.get(RoutesService); this.getLayout(); - this.subscription.addOne( - this.router.events.pipe(filter(event => event instanceof NavigationEnd)), - () => { - this.getLayout(); - }, - ); + this.checkLayoutOnNavigationEnd(); this.listenToLanguageChange(); } + private checkLayoutOnNavigationEnd() { + const navigationEnd$ = this.routerEvents.getNavigationEvents('End'); + this.subscription.addOne(navigationEnd$, () => this.getLayout()); + } + private getLayout() { let expectedLayout = (this.route.snapshot.data || {}).layout; diff --git a/npm/ng-packs/packages/theme-shared/src/lib/components/breadcrumb/breadcrumb.component.ts b/npm/ng-packs/packages/theme-shared/src/lib/components/breadcrumb/breadcrumb.component.ts index 11270c6dc1..441dc33ec8 100644 --- a/npm/ng-packs/packages/theme-shared/src/lib/components/breadcrumb/breadcrumb.component.ts +++ b/npm/ng-packs/packages/theme-shared/src/lib/components/breadcrumb/breadcrumb.component.ts @@ -1,7 +1,14 @@ -import { ABP, getRoutePath, RoutesService, TreeNode, SubscriptionService } from '@abp/ng.core'; +import { + ABP, + getRoutePath, + NavigationEvents, + RoutesService, + SubscriptionService, + TreeNode, +} from '@abp/ng.core'; import { ChangeDetectionStrategy, ChangeDetectorRef, Component, OnInit } from '@angular/core'; -import { NavigationEnd, Router } from '@angular/router'; -import { filter, map, startWith } from 'rxjs/operators'; +import { Router } from '@angular/router'; +import { map, startWith } from 'rxjs/operators'; import { eThemeSharedRouteNames } from '../../enums'; @Component({ @@ -18,12 +25,12 @@ export class BreadcrumbComponent implements OnInit { private router: Router, private routes: RoutesService, private subscription: SubscriptionService, + private navigationEvents: NavigationEvents, ) {} ngOnInit(): void { this.subscription.addOne( - this.router.events.pipe( - filter(event => event instanceof NavigationEnd), + this.navigationEvents.getOneOf('End').pipe( // tslint:disable-next-line:deprecation startWith(null), map(() => this.routes.search({ path: getRoutePath(this.router) })), diff --git a/npm/ng-packs/packages/theme-shared/src/lib/handlers/error.handler.ts b/npm/ng-packs/packages/theme-shared/src/lib/handlers/error.handler.ts index 97f9533cf7..1835b80eef 100644 --- a/npm/ng-packs/packages/theme-shared/src/lib/handlers/error.handler.ts +++ b/npm/ng-packs/packages/theme-shared/src/lib/handlers/error.handler.ts @@ -1,4 +1,4 @@ -import { AuthService, LocalizationParam, RestOccurError } from '@abp/ng.core'; +import { AuthService, LocalizationParam, RestOccurError, RouterEvents } from '@abp/ng.core'; import { HttpErrorResponse } from '@angular/common/http'; import { ApplicationRef, @@ -10,7 +10,7 @@ import { Injector, RendererFactory2, } from '@angular/core'; -import { NavigationError, ResolveEnd, Router } from '@angular/router'; +import { NavigationError, ResolveEnd } from '@angular/router'; import { Actions, ofActionSuccessful } from '@ngxs/store'; import { Observable, Subject } from 'rxjs'; import { filter, map } from 'rxjs/operators'; @@ -72,7 +72,7 @@ export class ErrorHandler { constructor( private actions: Actions, - private router: Router, + private routerEvents: RouterEvents, private confirmationService: ConfirmationService, private cfRes: ComponentFactoryResolver, private rendererFactory: RendererFactory2, @@ -85,20 +85,16 @@ export class ErrorHandler { } private listenToRouterError() { - this.router.events - .pipe( - filter(event => event instanceof NavigationError), - filter(this.filterRouteErrors), - ) + this.routerEvents + .getNavigationEvents('Error') + .pipe(filter(this.filterRouteErrors)) .subscribe(() => this.show404Page()); } private listenToRouterDataResolved() { - this.router.events - .pipe( - filter(event => event instanceof ResolveEnd), - filter(() => !!this.componentRef), - ) + this.routerEvents + .getEvents(ResolveEnd) + .pipe(filter(() => !!this.componentRef)) .subscribe(() => { this.componentRef.destroy(); this.componentRef = null; From 2778998c4a464e4434ce0ee06267a1646af39800 Mon Sep 17 00:00:00 2001 From: Arman Ozak Date: Fri, 29 Jan 2021 21:57:34 +0300 Subject: [PATCH 154/217] use interface to avoid lint error --- .../packages/core/src/lib/tests/router-events.service.spec.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/npm/ng-packs/packages/core/src/lib/tests/router-events.service.spec.ts b/npm/ng-packs/packages/core/src/lib/tests/router-events.service.spec.ts index 7b6af4f3ee..2fff89fd88 100644 --- a/npm/ng-packs/packages/core/src/lib/tests/router-events.service.spec.ts +++ b/npm/ng-packs/packages/core/src/lib/tests/router-events.service.spec.ts @@ -105,7 +105,7 @@ describe('RouterEvents', () => { }); }); -type NavigationEventTest = { +interface NavigationEventTest { filtered: [NavigationEventKey, ...NavigationEventKey[]]; expected: number[]; -}; +} From c608fa85df3261fa834a826a87e8d24482c9499a Mon Sep 17 00:00:00 2001 From: Arman Ozak Date: Fri, 29 Jan 2021 23:07:47 +0300 Subject: [PATCH 155/217] rename methods that get all router/navigation events --- .../core/src/lib/services/router-events.service.ts | 7 ++++--- .../packages/core/src/lib/services/router-wait.service.ts | 2 +- .../core/src/lib/tests/router-events.service.spec.ts | 4 ++-- 3 files changed, 7 insertions(+), 6 deletions(-) diff --git a/npm/ng-packs/packages/core/src/lib/services/router-events.service.ts b/npm/ng-packs/packages/core/src/lib/services/router-events.service.ts index 22981c641c..9acee09aa7 100644 --- a/npm/ng-packs/packages/core/src/lib/services/router-events.service.ts +++ b/npm/ng-packs/packages/core/src/lib/services/router-events.service.ts @@ -42,11 +42,11 @@ export class RouterEvents { return this.router.events.pipe(filter(filterNavigationEvents)); } - getAnyEvent() { + getAllEvents() { return this.router.events; } - getAnyNavigationEvent() { + getAllNavigationEvents() { const keys = Object.keys(NavigationEvent) as NavigationEventKeys; return this.getNavigationEvents(...keys); } @@ -56,5 +56,6 @@ type RouterEventConstructors = [Type, ...Type[]]; type NavigationEventKeys = [NavigationEventKey, ...NavigationEventKey[]]; -export type NavigationEventType = typeof NavigationEvent; +type NavigationEventType = typeof NavigationEvent; + export type NavigationEventKey = keyof NavigationEventType; diff --git a/npm/ng-packs/packages/core/src/lib/services/router-wait.service.ts b/npm/ng-packs/packages/core/src/lib/services/router-wait.service.ts index 10c0100997..e53ca3a1b1 100644 --- a/npm/ng-packs/packages/core/src/lib/services/router-wait.service.ts +++ b/npm/ng-packs/packages/core/src/lib/services/router-wait.service.ts @@ -24,7 +24,7 @@ export class RouterWaitService { private updateLoadingStatusOnNavigationEvents() { this.routerEvents - .getAnyNavigationEvent() + .getAllNavigationEvents() .pipe( map(event => event instanceof NavigationStart), switchMap(condition => diff --git a/npm/ng-packs/packages/core/src/lib/tests/router-events.service.spec.ts b/npm/ng-packs/packages/core/src/lib/tests/router-events.service.spec.ts index 2fff89fd88..0226c09d1e 100644 --- a/npm/ng-packs/packages/core/src/lib/tests/router-events.service.spec.ts +++ b/npm/ng-packs/packages/core/src/lib/tests/router-events.service.spec.ts @@ -67,7 +67,7 @@ describe('RouterEvents', () => { describe('getAnyNavigationEvent', () => { it('should return a stream of any navigation event', () => { - const stream = service.getAnyNavigationEvent(); + const stream = service.getAllNavigationEvents(); const collected: number[] = []; stream.pipe(take(4)).subscribe(event => collected.push(event.id)); @@ -93,7 +93,7 @@ describe('RouterEvents', () => { describe('getAnyEvent', () => { it('should return a stream of any router event', () => { - const stream = service.getAnyEvent(); + const stream = service.getAllEvents(); const collected: number[] = []; stream.pipe(take(8)).subscribe((event: RouterEvent) => collected.push(event.id)); From 531ed0f733380a819ec834233de2d2b954db6f6b Mon Sep 17 00:00:00 2001 From: Arman Ozak Date: Fri, 29 Jan 2021 23:34:47 +0300 Subject: [PATCH 156/217] add documentation for router events --- docs/en/UI/Angular/Router-Events.md | 146 ++++++++++++++++++++++++++++ docs/en/docs-nav.json | 4 + 2 files changed, 150 insertions(+) create mode 100644 docs/en/UI/Angular/Router-Events.md diff --git a/docs/en/UI/Angular/Router-Events.md b/docs/en/UI/Angular/Router-Events.md new file mode 100644 index 0000000000..011d405b22 --- /dev/null +++ b/docs/en/UI/Angular/Router-Events.md @@ -0,0 +1,146 @@ +# Router Events Simplified + +`RouterEvents` is a utility service to provide an easy implementation for one of the most frequent needs in Angular templates: `TrackByFunction`. Please see [this page in Angular docs](https://angular.io/guide/template-syntax#ngfor-with-trackby) for its purpose. + + + + +## Benefit + +You can use router events directly and filter them as seen below: + +```js +import { + NavigationEnd, + NavigationError, + NavigationCancel, + Router, +} from '@angular/router'; +import { filter } from 'rxjs/operators'; + +@Injectable() +class SomeService { + navigationFinish$ = this.router.events.pipe( + filter( + event => + event instanceof NavigationEnd || + event instanceof NavigationError || + event instanceof NavigationCancel, + ), + ); + /* Observable */ + + constructor(private router: Router) {} +} +``` + +However, `RouterEvents` makes filtering router events easier. + +```js +import { RouterEvents } from '@abp/ng.core'; + +@Injectable() +class SomeService { + navigationFinish$ = this.routerEvents.getNavigationEvents('End', 'Error', 'Cancel'); + /* Observable */ + + constructor(private routerEvents: RouterEvents) {} +} +``` + +`RouterEvents` also delivers improved type-safety. In the example above, `navigationFinish$` has inferred type of `Observable` whereas it would have `Observable` when router events are filtered directly. + + + + +## Usage + +You do not have to provide `RouterEvents` at the module or component level, because it is already **provided in root**. You can inject and start using it immediately in your components. + + +### How to Get Specific Navigation Events + +You can use `getNavigationEvents` to get a stream of navigation events matching given event keys. + +```js +import { RouterEvents } from '@abp/ng.core'; +import { merge } from 'rxjs'; +import { mapTo } from 'rxjs/operators'; + +@Injectable() +class SomeService { + navigationStart$ = this.routerEvents.getNavigationEvents('Start'); + /* Observable */ + + navigationFinish$ = this.routerEvents.getNavigationEvents('End', 'Error', 'Cancel'); + /* Observable */ + + loading$ = merge( + this.navigationStart$.pipe(mapTo(true)), + this.navigationFinish$.pipe(mapTo(false)), + ); + /* Observable */ + + constructor(private routerEvents: RouterEvents) {} +} +``` + + +### How to Get All Navigation Events + +You can use `getAllNavigationEvents` to get a stream of all navigation events without passing any keys. + +```js +import { RouterEvents, NavigationStart } from '@abp/ng.core'; +import { map } from 'rxjs/operators'; + +@Injectable() +class SomeService { + navigationEvent$ = this.routerEvents.getAllNavigationEvents(); + /* Observable */ + + loading$ = this.navigationEvent$.pipe( + map(event => event instanceof NavigationStart), + ); + /* Observable */ + + constructor(private routerEvents: RouterEvents) {} +} +``` + + +### How to Get Specific Router Events + +You can use `getEvents` to get a stream of router events matching given event constructors. + +```js +import { RouterEvents } from '@abp/ng.core'; +import { ActivationEnd, ChildActivationEnd } from '@angular/router'; + +@Injectable() +class SomeService { + moduleActivation$ = this.routerEvents.getEvents(ActivationEnd, ChildActivationEnd); + /* Observable */ + + constructor(private routerEvents: RouterEvents) {} +} +``` + + +### How to Get All Router Events + +You can use `getEvents` to get a stream of all router events without passing any event constructors. This is nothing different from accessing `events` property of `Router` and is added to the service just for convenience. + +```js +import { RouterEvents } from '@abp/ng.core'; +import { ActivationEnd, ChildActivationEnd } from '@angular/router'; + +@Injectable() +class SomeService { + routerEvent$ = this.routerEvents.getAllEvents(); + /* Observable */ + + constructor(private routerEvents: RouterEvents) {} +} +``` + diff --git a/docs/en/docs-nav.json b/docs/en/docs-nav.json index 06594f8e7e..7fd7762ad4 100644 --- a/docs/en/docs-nav.json +++ b/docs/en/docs-nav.json @@ -807,6 +807,10 @@ "text": "Easy *ngFor trackBy", "path": "UI/Angular/Track-By-Service.md" }, + { + "text": "Router Events", + "path": "UI/Angular/Router-Events.md" + }, { "text": "Inserting Scripts & Styles to DOM", "path": "UI/Angular/Dom-Insertion-Service.md" From 36eb7f9467bec6932c2bb3bb11ea044bba0fd7fd Mon Sep 17 00:00:00 2001 From: Arman Ozak Date: Fri, 29 Jan 2021 23:45:43 +0300 Subject: [PATCH 157/217] use RouterEvents instead of NavigationEvents --- .../src/lib/components/breadcrumb/breadcrumb.component.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/npm/ng-packs/packages/theme-shared/src/lib/components/breadcrumb/breadcrumb.component.ts b/npm/ng-packs/packages/theme-shared/src/lib/components/breadcrumb/breadcrumb.component.ts index 441dc33ec8..65c3c0a0af 100644 --- a/npm/ng-packs/packages/theme-shared/src/lib/components/breadcrumb/breadcrumb.component.ts +++ b/npm/ng-packs/packages/theme-shared/src/lib/components/breadcrumb/breadcrumb.component.ts @@ -1,7 +1,7 @@ import { ABP, getRoutePath, - NavigationEvents, + RouterEvents, RoutesService, SubscriptionService, TreeNode, @@ -25,12 +25,12 @@ export class BreadcrumbComponent implements OnInit { private router: Router, private routes: RoutesService, private subscription: SubscriptionService, - private navigationEvents: NavigationEvents, + private routerEvents: RouterEvents, ) {} ngOnInit(): void { this.subscription.addOne( - this.navigationEvents.getOneOf('End').pipe( + this.routerEvents.getNavigationEvents('End').pipe( // tslint:disable-next-line:deprecation startWith(null), map(() => this.routes.search({ path: getRoutePath(this.router) })), From 37f78fff6b715c2c3de88ed33cde4dff322ccea7 Mon Sep 17 00:00:00 2001 From: Oliver Cooper Date: Sun, 31 Jan 2021 01:32:05 +0000 Subject: [PATCH 158/217] Fix MongoDbRepository DeleteAsync and DeleteManyAsync not setting audit properties or triggering events --- .../Repositories/MongoDB/MongoDbRepository.cs | 52 ++++++++++--------- 1 file changed, 27 insertions(+), 25 deletions(-) diff --git a/framework/src/Volo.Abp.MongoDB/Volo/Abp/Domain/Repositories/MongoDB/MongoDbRepository.cs b/framework/src/Volo.Abp.MongoDB/Volo/Abp/Domain/Repositories/MongoDB/MongoDbRepository.cs index fc520bce81..1495249802 100644 --- a/framework/src/Volo.Abp.MongoDB/Volo/Abp/Domain/Repositories/MongoDB/MongoDbRepository.cs +++ b/framework/src/Volo.Abp.MongoDB/Volo/Abp/Domain/Repositories/MongoDB/MongoDbRepository.cs @@ -277,15 +277,16 @@ namespace Volo.Abp.Domain.Repositories.MongoDB bool autoSave = false, CancellationToken cancellationToken = default) { - await ApplyAbpConceptsForDeletedEntityAsync(entity); - var oldConcurrencyStamp = SetNewConcurrencyStamp(entity); - var dbContext = await GetDbContextAsync(GetCancellationToken(cancellationToken)); var collection = dbContext.Collection(); - if (entity is ISoftDelete softDeleteEntity && !IsHardDeleted(entity)) + var oldConcurrencyStamp = SetNewConcurrencyStamp(entity); + + if (typeof(ISoftDelete).IsAssignableFrom(typeof(TEntity)) && !IsHardDeleted(entity)) { - softDeleteEntity.IsDeleted = true; + ((ISoftDelete)entity).IsDeleted = true; + await ApplyAbpConceptsForDeletedEntityAsync(entity); + ReplaceOneResult result; if (dbContext.SessionHandle != null) @@ -313,6 +314,8 @@ namespace Volo.Abp.Domain.Repositories.MongoDB } else { + await ApplyAbpConceptsForDeletedEntityAsync(entity); + DeleteResult result; if (dbContext.SessionHandle != null) @@ -343,22 +346,23 @@ namespace Volo.Abp.Domain.Repositories.MongoDB bool autoSave = false, CancellationToken cancellationToken = default) { - var softDeletedEntities = new List(); + var softDeletedEntities = new List<(TEntity Entity, string ConcurrencyStamp)>(); var hardDeletedEntities = new List(); foreach (var entity in entities) { - await ApplyAbpConceptsForDeletedEntityAsync(entity); - SetNewConcurrencyStamp(entity); - if (typeof(ISoftDelete).IsAssignableFrom(typeof(TEntity)) && !IsHardDeleted(entity)) { - softDeletedEntities.Add(entity); + ((ISoftDelete)entity).IsDeleted = true; + + softDeletedEntities.Add((entity, SetNewConcurrencyStamp(entity))); } else { hardDeletedEntities.Add(entity); } + + await ApplyAbpConceptsForDeletedEntityAsync(entity); } var dbContext = await GetDbContextAsync(GetCancellationToken(cancellationToken)); @@ -372,26 +376,23 @@ namespace Volo.Abp.Domain.Repositories.MongoDB if (softDeletedEntities.Count > 0) { - UpdateResult updateResult; - var softDeleteEntitiesCount = softDeletedEntities.Count; + BulkWriteResult updateResult; + + List> replaceRequests = new List>( + softDeletedEntities.Select(entity => new ReplaceOneModel( + CreateEntityFilter(entity.Entity, true, entity.ConcurrencyStamp), entity.Entity)) + ); if (dbContext.SessionHandle != null) { - updateResult = await collection.UpdateManyAsync( - dbContext.SessionHandle, - CreateEntitiesFilter(softDeletedEntities), - Builders.Update.Set(x => ((ISoftDelete)x).IsDeleted, true) - ); + updateResult = await collection.BulkWriteAsync(dbContext.SessionHandle, replaceRequests, cancellationToken: cancellationToken); } else { - updateResult = await collection.UpdateManyAsync( - CreateEntitiesFilter(softDeletedEntities), - Builders.Update.Set(x => ((ISoftDelete)x).IsDeleted, true) - ); + updateResult = await collection.BulkWriteAsync(replaceRequests, cancellationToken: cancellationToken); } - if (updateResult.MatchedCount < softDeleteEntitiesCount) + if (updateResult.MatchedCount < softDeletedEntities.Count) { ThrowOptimisticConcurrencyException(); } @@ -407,13 +408,13 @@ namespace Volo.Abp.Domain.Repositories.MongoDB deleteResult = await collection.DeleteManyAsync( dbContext.SessionHandle, CreateEntitiesFilter(hardDeletedEntities) - ); + ); } else { deleteResult = await collection.DeleteManyAsync( CreateEntitiesFilter(hardDeletedEntities) - ); + ); } if (deleteResult.DeletedCount < hardDeletedEntitiesCount) @@ -780,9 +781,10 @@ namespace Volo.Abp.Domain.Repositories.MongoDB return RepositoryFilterer.CreateEntityFilter(entity, withConcurrencyStamp, concurrencyStamp); } + // todo: This method should consider concurrencyStamp protected override FilterDefinition CreateEntitiesFilter(IEnumerable entities, bool withConcurrencyStamp = false) { - return RepositoryFilterer.CreateEntitiesFilter(entities, withConcurrencyStamp); + return RepositoryFilterer.CreateEntitiesFilter(entities); } } } From 2f69058e67f3bde89e966278aa8fd1071c35cc37 Mon Sep 17 00:00:00 2001 From: Oliver Cooper Date: Sun, 31 Jan 2021 01:33:20 +0000 Subject: [PATCH 159/217] Add additional DeleteManyAsync soft-delete test --- .../Abp/TestApp/Testing/SoftDelete_Tests.cs | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/framework/test/Volo.Abp.TestApp/Volo/Abp/TestApp/Testing/SoftDelete_Tests.cs b/framework/test/Volo.Abp.TestApp/Volo/Abp/TestApp/Testing/SoftDelete_Tests.cs index b8618fd6a3..4b313d2127 100644 --- a/framework/test/Volo.Abp.TestApp/Volo/Abp/TestApp/Testing/SoftDelete_Tests.cs +++ b/framework/test/Volo.Abp.TestApp/Volo/Abp/TestApp/Testing/SoftDelete_Tests.cs @@ -56,6 +56,23 @@ namespace Volo.Abp.TestApp.Testing douglas.DeletionTime.ShouldNotBeNull(); } } + + [Fact] + public async Task Should_Cancel_Deletion_For_Soft_Delete_Many_Entities_ById() + { + await PersonRepository.DeleteManyAsync(new []{ TestDataBuilder.UserDouglasId }); + + var douglas = await PersonRepository.FindAsync(TestDataBuilder.UserDouglasId); + douglas.ShouldBeNull(); + + using (DataFilter.Disable()) + { + douglas = await PersonRepository.FindAsync(TestDataBuilder.UserDouglasId); + douglas.ShouldNotBeNull(); + douglas.IsDeleted.ShouldBeTrue(); + douglas.DeletionTime.ShouldNotBeNull(); + } + } [Fact] public async Task Should_Handle_Deletion_On_Update_For_Soft_Delete_Entities() From 6c0ee78d14462eb9aa8f63ac04ebe1002d8a54a6 Mon Sep 17 00:00:00 2001 From: Oliver Cooper Date: Sun, 31 Jan 2021 01:55:45 +0000 Subject: [PATCH 160/217] Update Repository DeleteAsync and DeleteManyAsync methods * Add RepositoryBase.DeleteManyAsync(predicate) * Call DeleteManyAsync(predicate) in concrete DeleteAsync(predicate) implementations when possible Requires this PR for tests to pass: https://github.com/abpframework/abp/pull/7542 --- .../Abp/Domain/Repositories/RepositoryBase.cs | 6 +++++ .../EntityFrameworkCore/EfCoreRepository.cs | 5 +--- .../MemoryDb/MemoryDbRepository.cs | 23 ++++++++----------- .../Repositories/MongoDB/MongoDbRepository.cs | 5 +--- 4 files changed, 18 insertions(+), 21 deletions(-) diff --git a/framework/src/Volo.Abp.Ddd.Domain/Volo/Abp/Domain/Repositories/RepositoryBase.cs b/framework/src/Volo.Abp.Ddd.Domain/Volo/Abp/Domain/Repositories/RepositoryBase.cs index 0b32d54d45..d1bf2aa754 100644 --- a/framework/src/Volo.Abp.Ddd.Domain/Volo/Abp/Domain/Repositories/RepositoryBase.cs +++ b/framework/src/Volo.Abp.Ddd.Domain/Volo/Abp/Domain/Repositories/RepositoryBase.cs @@ -85,6 +85,12 @@ namespace Volo.Abp.Domain.Repositories public abstract Task DeleteAsync(Expression> predicate, bool autoSave = false, CancellationToken cancellationToken = default); + public virtual Task DeleteManyAsync( + Expression> predicate, + bool autoSave = false, + CancellationToken cancellationToken = default) + => DeleteAsync(predicate, autoSave, cancellationToken); + protected virtual TQueryable ApplyDataFilters(TQueryable query) where TQueryable : IQueryable { diff --git a/framework/src/Volo.Abp.EntityFrameworkCore/Volo/Abp/Domain/Repositories/EntityFrameworkCore/EfCoreRepository.cs b/framework/src/Volo.Abp.EntityFrameworkCore/Volo/Abp/Domain/Repositories/EntityFrameworkCore/EfCoreRepository.cs index 055c9c2de9..d673ff2c28 100644 --- a/framework/src/Volo.Abp.EntityFrameworkCore/Volo/Abp/Domain/Repositories/EntityFrameworkCore/EfCoreRepository.cs +++ b/framework/src/Volo.Abp.EntityFrameworkCore/Volo/Abp/Domain/Repositories/EntityFrameworkCore/EfCoreRepository.cs @@ -289,10 +289,7 @@ namespace Volo.Abp.Domain.Repositories.EntityFrameworkCore .Where(predicate) .ToListAsync(GetCancellationToken(cancellationToken)); - foreach (var entity in entities) - { - dbSet.Remove(entity); - } + await DeleteManyAsync(entities, autoSave, cancellationToken); if (autoSave) { diff --git a/framework/src/Volo.Abp.MemoryDb/Volo/Abp/Domain/Repositories/MemoryDb/MemoryDbRepository.cs b/framework/src/Volo.Abp.MemoryDb/Volo/Abp/Domain/Repositories/MemoryDb/MemoryDbRepository.cs index 8ab6753de3..bb7d64bcc1 100644 --- a/framework/src/Volo.Abp.MemoryDb/Volo/Abp/Domain/Repositories/MemoryDb/MemoryDbRepository.cs +++ b/framework/src/Volo.Abp.MemoryDb/Volo/Abp/Domain/Repositories/MemoryDb/MemoryDbRepository.cs @@ -184,19 +184,6 @@ namespace Volo.Abp.Domain.Repositories.MemoryDb return (await GetQueryableAsync()).Where(predicate).SingleOrDefault(); } - public override async Task DeleteAsync( - Expression> predicate, - bool autoSave = false, - CancellationToken cancellationToken = default) - { - var entities = (await GetQueryableAsync()).Where(predicate).ToList(); - - foreach (var entity in entities) - { - await DeleteAsync(entity, autoSave, cancellationToken); - } - } - public override async Task InsertAsync( TEntity entity, bool autoSave = false, @@ -251,6 +238,16 @@ namespace Volo.Abp.Domain.Repositories.MemoryDb } } + public override async Task DeleteAsync( + Expression> predicate, + bool autoSave = false, + CancellationToken cancellationToken = default) + { + var entities = (await GetQueryableAsync()).Where(predicate).ToList(); + + await DeleteManyAsync(entities, autoSave, cancellationToken); + } + public override async Task> GetListAsync(bool includeDetails = false, CancellationToken cancellationToken = default) { return (await GetQueryableAsync()).ToList(); diff --git a/framework/src/Volo.Abp.MongoDB/Volo/Abp/Domain/Repositories/MongoDB/MongoDbRepository.cs b/framework/src/Volo.Abp.MongoDB/Volo/Abp/Domain/Repositories/MongoDB/MongoDbRepository.cs index 1495249802..efdd0a8991 100644 --- a/framework/src/Volo.Abp.MongoDB/Volo/Abp/Domain/Repositories/MongoDB/MongoDbRepository.cs +++ b/framework/src/Volo.Abp.MongoDB/Volo/Abp/Domain/Repositories/MongoDB/MongoDbRepository.cs @@ -463,10 +463,7 @@ namespace Volo.Abp.Domain.Repositories.MongoDB .Where(predicate) .ToListAsync(cancellationToken); - foreach (var entity in entities) - { - await DeleteAsync(entity, autoSave, cancellationToken); - } + await DeleteManyAsync(entities, autoSave, cancellationToken); } [Obsolete("Use GetQueryableAsync method.")] From bf5c64e768c20af27b1aec52030ff1cfb62120b0 Mon Sep 17 00:00:00 2001 From: Oliver Cooper Date: Sun, 31 Jan 2021 02:35:56 +0000 Subject: [PATCH 161/217] Add IRepository.DeleteManyAsync declaration --- .../Abp/Domain/Repositories/IRepository.cs | 23 +++++++++++++++---- .../Abp/Domain/Repositories/RepositoryBase.cs | 5 +--- 2 files changed, 19 insertions(+), 9 deletions(-) diff --git a/framework/src/Volo.Abp.Ddd.Domain/Volo/Abp/Domain/Repositories/IRepository.cs b/framework/src/Volo.Abp.Ddd.Domain/Volo/Abp/Domain/Repositories/IRepository.cs index 3bda51bd2e..ec79597396 100644 --- a/framework/src/Volo.Abp.Ddd.Domain/Volo/Abp/Domain/Repositories/IRepository.cs +++ b/framework/src/Volo.Abp.Ddd.Domain/Volo/Abp/Domain/Repositories/IRepository.cs @@ -20,8 +20,10 @@ namespace Volo.Abp.Domain.Repositories { /// /// Get a single entity by the given . - /// It returns null if no entity with the given . + /// + /// It returns null if there is no entity with the given . /// It throws if there are multiple entities with the given . + /// /// /// A condition to find the entity /// Set true to include all children of this entity @@ -34,8 +36,10 @@ namespace Volo.Abp.Domain.Repositories /// /// Get a single entity by the given . + /// /// It throws if there is no entity with the given . /// It throws if there are multiple entities with the given . + /// /// /// A condition to filter entities /// Set true to include all children of this entity @@ -47,10 +51,11 @@ namespace Volo.Abp.Domain.Repositories ); /// - /// Deletes many entities by function. - /// Notice that: All entities fits to given predicate are retrieved and deleted. - /// This may cause major performance problems if there are too many entities with - /// given predicate. + /// Deletes many entities by the given . + /// + /// Please note: This may cause major performance problems if there are too many entities returned for a + /// given predicate and the database provider doesn't have a way to efficiently delete many entities. + /// /// /// A condition to filter entities /// @@ -63,6 +68,14 @@ namespace Volo.Abp.Domain.Repositories bool autoSave = false, CancellationToken cancellationToken = default ); + + /// + /// This is an alias for + Task DeleteManyAsync( + [NotNull] Expression> predicate, + bool autoSave = false, + CancellationToken cancellationToken = default + ); } public interface IRepository : IRepository, IReadOnlyRepository, IBasicRepository diff --git a/framework/src/Volo.Abp.Ddd.Domain/Volo/Abp/Domain/Repositories/RepositoryBase.cs b/framework/src/Volo.Abp.Ddd.Domain/Volo/Abp/Domain/Repositories/RepositoryBase.cs index d1bf2aa754..5ba522ef00 100644 --- a/framework/src/Volo.Abp.Ddd.Domain/Volo/Abp/Domain/Repositories/RepositoryBase.cs +++ b/framework/src/Volo.Abp.Ddd.Domain/Volo/Abp/Domain/Repositories/RepositoryBase.cs @@ -85,10 +85,7 @@ namespace Volo.Abp.Domain.Repositories public abstract Task DeleteAsync(Expression> predicate, bool autoSave = false, CancellationToken cancellationToken = default); - public virtual Task DeleteManyAsync( - Expression> predicate, - bool autoSave = false, - CancellationToken cancellationToken = default) + public virtual Task DeleteManyAsync(Expression> predicate, bool autoSave = false, CancellationToken cancellationToken = default) => DeleteAsync(predicate, autoSave, cancellationToken); protected virtual TQueryable ApplyDataFilters(TQueryable query) From ad653792cc95c31922903650e806743a89525d6b Mon Sep 17 00:00:00 2001 From: maliming Date: Mon, 1 Feb 2021 10:11:52 +0800 Subject: [PATCH 162/217] Update Localization_Tests of TenantManagement module. Resolve #7541 --- .../TenantManagement/Localization_Tests.cs | 23 ++++++++++++++++--- 1 file changed, 20 insertions(+), 3 deletions(-) diff --git a/modules/tenant-management/test/Volo.Abp.TenantManagement.Domain.Tests/Volo/Abp/TenantManagement/Localization_Tests.cs b/modules/tenant-management/test/Volo.Abp.TenantManagement.Domain.Tests/Volo/Abp/TenantManagement/Localization_Tests.cs index 2718512641..4a856b958c 100644 --- a/modules/tenant-management/test/Volo.Abp.TenantManagement.Domain.Tests/Volo/Abp/TenantManagement/Localization_Tests.cs +++ b/modules/tenant-management/test/Volo.Abp.TenantManagement.Domain.Tests/Volo/Abp/TenantManagement/Localization_Tests.cs @@ -1,5 +1,7 @@ -using Microsoft.Extensions.Localization; +using System.Globalization; +using Microsoft.Extensions.Localization; using Shouldly; +using Volo.Abp.Localization; using Volo.Abp.TenantManagement.Localization; using Xunit; @@ -17,8 +19,23 @@ namespace Volo.Abp.TenantManagement [Fact] public void Test() { - _stringLocalizer["TenantDeletionConfirmationMessage"].Value - .ShouldBe("Tenant '{0}' will be deleted. Do you confirm that?"); + using (CultureHelper.Use("en")) + { + _stringLocalizer["TenantDeletionConfirmationMessage"].Value + .ShouldBe("Tenant '{0}' will be deleted. Do you confirm that?"); + } + + using (CultureHelper.Use("en-gb")) + { + _stringLocalizer["TenantDeletionConfirmationMessage"].Value + .ShouldBe("Tenant '{0}' will be deleted. Is that OK?"); + } + + using (CultureHelper.Use("tr")) + { + _stringLocalizer["TenantDeletionConfirmationMessage"].Value + .ShouldBe("'{0}' isimli müşteri silinecektir. Onaylıyor musunuz?"); + } } } } From a9bb209636ba606b39ab37939e1bb70c45358f45 Mon Sep 17 00:00:00 2001 From: maliming Date: Mon, 1 Feb 2021 11:22:05 +0800 Subject: [PATCH 163/217] Change the way we add Microsoft.EntityFrameworkCore.Tools --- .../MyCompanyName.MyProjectName.DbMigrator.csproj | 1 - ...me.MyProjectName.EntityFrameworkCore.DbMigrations.csproj | 6 ++++-- .../MyCompanyName.MyProjectName.HttpApi.Host.csproj | 1 - .../MyCompanyName.MyProjectName.HttpApi.HostWithIds.csproj | 1 - .../MyCompanyName.MyProjectName.IdentityServer.csproj | 1 - .../MyCompanyName.MyProjectName.Web.csproj | 1 - .../MyCompanyName.MyProjectName.IdentityServer.csproj | 5 ++++- .../MyCompanyName.MyProjectName.Web.Unified.csproj | 5 ++++- 8 files changed, 12 insertions(+), 9 deletions(-) diff --git a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.DbMigrator/MyCompanyName.MyProjectName.DbMigrator.csproj b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.DbMigrator/MyCompanyName.MyProjectName.DbMigrator.csproj index fd96bfd920..471cab6cda 100644 --- a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.DbMigrator/MyCompanyName.MyProjectName.DbMigrator.csproj +++ b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.DbMigrator/MyCompanyName.MyProjectName.DbMigrator.csproj @@ -23,7 +23,6 @@ - diff --git a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.EntityFrameworkCore.DbMigrations/MyCompanyName.MyProjectName.EntityFrameworkCore.DbMigrations.csproj b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.EntityFrameworkCore.DbMigrations/MyCompanyName.MyProjectName.EntityFrameworkCore.DbMigrations.csproj index f13bcef4d1..a8938a59f3 100644 --- a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.EntityFrameworkCore.DbMigrations/MyCompanyName.MyProjectName.EntityFrameworkCore.DbMigrations.csproj +++ b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.EntityFrameworkCore.DbMigrations/MyCompanyName.MyProjectName.EntityFrameworkCore.DbMigrations.csproj @@ -12,8 +12,10 @@ - - + + all + runtime; build; native; contentfiles; analyzers + diff --git a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.HttpApi.Host/MyCompanyName.MyProjectName.HttpApi.Host.csproj b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.HttpApi.Host/MyCompanyName.MyProjectName.HttpApi.Host.csproj index 6e3ccfa0ff..3f2e3a1bd0 100644 --- a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.HttpApi.Host/MyCompanyName.MyProjectName.HttpApi.Host.csproj +++ b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.HttpApi.Host/MyCompanyName.MyProjectName.HttpApi.Host.csproj @@ -14,7 +14,6 @@ - diff --git a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.HttpApi.HostWithIds/MyCompanyName.MyProjectName.HttpApi.HostWithIds.csproj b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.HttpApi.HostWithIds/MyCompanyName.MyProjectName.HttpApi.HostWithIds.csproj index d374c7feb6..196166e966 100644 --- a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.HttpApi.HostWithIds/MyCompanyName.MyProjectName.HttpApi.HostWithIds.csproj +++ b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.HttpApi.HostWithIds/MyCompanyName.MyProjectName.HttpApi.HostWithIds.csproj @@ -13,7 +13,6 @@ - diff --git a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.IdentityServer/MyCompanyName.MyProjectName.IdentityServer.csproj b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.IdentityServer/MyCompanyName.MyProjectName.IdentityServer.csproj index 333268deef..7c512b79db 100644 --- a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.IdentityServer/MyCompanyName.MyProjectName.IdentityServer.csproj +++ b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.IdentityServer/MyCompanyName.MyProjectName.IdentityServer.csproj @@ -35,7 +35,6 @@ - diff --git a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Web/MyCompanyName.MyProjectName.Web.csproj b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Web/MyCompanyName.MyProjectName.Web.csproj index fce2337c45..d0cc6fa611 100644 --- a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Web/MyCompanyName.MyProjectName.Web.csproj +++ b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Web/MyCompanyName.MyProjectName.Web.csproj @@ -34,7 +34,6 @@ - diff --git a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.IdentityServer/MyCompanyName.MyProjectName.IdentityServer.csproj b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.IdentityServer/MyCompanyName.MyProjectName.IdentityServer.csproj index 059027f920..11905455a4 100644 --- a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.IdentityServer/MyCompanyName.MyProjectName.IdentityServer.csproj +++ b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.IdentityServer/MyCompanyName.MyProjectName.IdentityServer.csproj @@ -11,7 +11,10 @@ - + + all + runtime; build; native; contentfiles; analyzers + diff --git a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Web.Unified/MyCompanyName.MyProjectName.Web.Unified.csproj b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Web.Unified/MyCompanyName.MyProjectName.Web.Unified.csproj index 51b82b4896..be27176f6c 100644 --- a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Web.Unified/MyCompanyName.MyProjectName.Web.Unified.csproj +++ b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Web.Unified/MyCompanyName.MyProjectName.Web.Unified.csproj @@ -13,7 +13,10 @@ - + + all + runtime; build; native; contentfiles; analyzers + From eb4321880f8ad4d95c65333c50e40d3045058af7 Mon Sep 17 00:00:00 2001 From: liangshiwei Date: Mon, 1 Feb 2021 11:23:08 +0800 Subject: [PATCH 164/217] Add RemoveMany method --- .../StackExchangeRedis/AbpRedisCache.cs | 19 +++ .../Volo/Abp/Caching/DistributedCache.cs | 126 ++++++++++++++++-- .../Caching/ICacheSupportsMultipleItems.cs | 12 +- .../Volo/Abp/Caching/IDistributedCache.cs | 27 ++++ .../Abp/Caching/TestMemoryDistributedCache.cs | 16 +++ 5 files changed, 185 insertions(+), 15 deletions(-) diff --git a/framework/src/Volo.Abp.Caching.StackExchangeRedis/Volo/Abp/Caching/StackExchangeRedis/AbpRedisCache.cs b/framework/src/Volo.Abp.Caching.StackExchangeRedis/Volo/Abp/Caching/StackExchangeRedis/AbpRedisCache.cs index dbf04a1d80..fc45ccd05d 100644 --- a/framework/src/Volo.Abp.Caching.StackExchangeRedis/Volo/Abp/Caching/StackExchangeRedis/AbpRedisCache.cs +++ b/framework/src/Volo.Abp.Caching.StackExchangeRedis/Volo/Abp/Caching/StackExchangeRedis/AbpRedisCache.cs @@ -148,6 +148,25 @@ namespace Volo.Abp.Caching.StackExchangeRedis await GetAndRefreshManyAsync(keys, false, token); } + public void RemoveMany(IEnumerable keys) + { + keys = Check.NotNull(keys, nameof(keys)); + + Connect(); + + RedisDatabase.KeyDelete(keys.Select(key => (RedisKey)(Instance + key)).ToArray()); + } + + public async Task RemoveManyAsync(IEnumerable keys, CancellationToken token = default) + { + keys = Check.NotNull(keys, nameof(keys)); + + token.ThrowIfCancellationRequested(); + await ConnectAsync(token); + + await RedisDatabase.KeyDeleteAsync(keys.Select(key => (RedisKey)(Instance + key)).ToArray()); + } + protected virtual byte[][] GetAndRefreshMany( IEnumerable keys, bool getData) diff --git a/framework/src/Volo.Abp.Caching/Volo/Abp/Caching/DistributedCache.cs b/framework/src/Volo.Abp.Caching/Volo/Abp/Caching/DistributedCache.cs index 2ebe9b2fb4..5c9a876f4b 100644 --- a/framework/src/Volo.Abp.Caching/Volo/Abp/Caching/DistributedCache.cs +++ b/framework/src/Volo.Abp.Caching/Volo/Abp/Caching/DistributedCache.cs @@ -1284,28 +1284,128 @@ namespace Volo.Abp.Caching } } - protected virtual KeyValuePair[] GetOrAddMany( - TCacheKey[] keys, - KeyValuePair[] values, - KeyValuePair[] missingValues) + public void RemoveMany( + IEnumerable keys, + bool? hideErrors = null, + bool considerUow = false) { - var missingValuesIndex = new List(); - for (var i = 0; i < keys.Length; i++) + var keyArray = keys.ToArray(); + + if (Cache is ICacheSupportsMultipleItems cacheSupportsMultipleItems) { - if (values[i].Value == null) + void RemoveRealCache() { - missingValuesIndex.Add(i); + hideErrors = hideErrors ?? _distributedCacheOption.HideErrors; + + try + { + cacheSupportsMultipleItems.RemoveMany( + keyArray.Select(NormalizeKey) + ); + } + catch (Exception ex) + { + if (hideErrors == true) + { + HandleException(ex); + return; + } + + throw; + } } - } - var valueQueue = new Queue>(missingValues); + if (ShouldConsiderUow(considerUow)) + { + var uowCache = GetUnitOfWorkCache(); - foreach (var index in missingValuesIndex) + foreach (var key in keyArray) + { + if (uowCache.TryGetValue(key, out _)) + { + uowCache[key].RemoveValue(); + } + } + + // ReSharper disable once PossibleNullReferenceException + UnitOfWorkManager.Current.OnCompleted(() => + { + RemoveRealCache(); + return Task.CompletedTask; + }); + } + else + { + RemoveRealCache(); + } + } + else { - values[index] = valueQueue.Dequeue(); + foreach (var key in keyArray) + { + Remove(key, hideErrors, considerUow); + } } + } - return values; + public async Task RemoveManyAsync( + IEnumerable keys, + bool? hideErrors = null, + bool considerUow = false, + CancellationToken token = default) + { + var keyArray = keys.ToArray(); + + if (Cache is ICacheSupportsMultipleItems cacheSupportsMultipleItems) + { + async Task RemoveRealCache() + { + hideErrors = hideErrors ?? _distributedCacheOption.HideErrors; + + try + { + await cacheSupportsMultipleItems.RemoveManyAsync( + keyArray.Select(NormalizeKey), token); + } + catch (Exception ex) + { + if (hideErrors == true) + { + await HandleExceptionAsync(ex); + return; + } + + throw; + } + } + + if (ShouldConsiderUow(considerUow)) + { + var uowCache = GetUnitOfWorkCache(); + + foreach (var key in keyArray) + { + if (uowCache.TryGetValue(key, out _)) + { + uowCache[key].RemoveValue(); + } + } + + // ReSharper disable once PossibleNullReferenceException + UnitOfWorkManager.Current.OnCompleted(RemoveRealCache); + } + else + { + await RemoveRealCache(); + } + } + else + { + foreach (var key in keyArray) + { + await RemoveAsync(key, hideErrors, considerUow, token); + } + } } protected virtual void HandleException(Exception ex) diff --git a/framework/src/Volo.Abp.Caching/Volo/Abp/Caching/ICacheSupportsMultipleItems.cs b/framework/src/Volo.Abp.Caching/Volo/Abp/Caching/ICacheSupportsMultipleItems.cs index ec73a159a4..857385699d 100644 --- a/framework/src/Volo.Abp.Caching/Volo/Abp/Caching/ICacheSupportsMultipleItems.cs +++ b/framework/src/Volo.Abp.Caching/Volo/Abp/Caching/ICacheSupportsMultipleItems.cs @@ -1,5 +1,4 @@ -using System; -using System.Collections.Generic; +using System.Collections.Generic; using System.Threading; using System.Threading.Tasks; using Microsoft.Extensions.Caching.Distributed; @@ -36,5 +35,14 @@ namespace Volo.Abp.Caching IEnumerable keys, CancellationToken token = default ); + + void RemoveMany( + IEnumerable keys + ); + + Task RemoveManyAsync( + IEnumerable keys, + CancellationToken token = default + ); } } diff --git a/framework/src/Volo.Abp.Caching/Volo/Abp/Caching/IDistributedCache.cs b/framework/src/Volo.Abp.Caching/Volo/Abp/Caching/IDistributedCache.cs index d8510efe43..1d64520898 100644 --- a/framework/src/Volo.Abp.Caching/Volo/Abp/Caching/IDistributedCache.cs +++ b/framework/src/Volo.Abp.Caching/Volo/Abp/Caching/IDistributedCache.cs @@ -306,5 +306,32 @@ namespace Volo.Abp.Caching bool considerUow = false, CancellationToken token = default ); + + /// + /// Removes the cache items for given keys from cache. + /// + /// The keys of cached items to be retrieved from the cache. + /// Indicates to throw or hide the exceptions for the distributed cache. + /// This will store the cache in the current unit of work until the end of the current unit of work does not really affect the cache. + void RemoveMany( + IEnumerable keys, + bool? hideErrors = null, + bool considerUow = false + ); + + /// + /// Removes the cache items for given keys from cache. + /// + /// The keys of cached items to be retrieved from the cache. + /// Indicates to throw or hide the exceptions for the distributed cache. + /// This will store the cache in the current unit of work until the end of the current unit of work does not really affect the cache. + /// The for the task. + /// The indicating that the operation is asynchronous. + Task RemoveManyAsync( + IEnumerable keys, + bool? hideErrors = null, + bool considerUow = false, + CancellationToken token = default + ); } } diff --git a/framework/test/Volo.Abp.Caching.Tests/Volo/Abp/Caching/TestMemoryDistributedCache.cs b/framework/test/Volo.Abp.Caching.Tests/Volo/Abp/Caching/TestMemoryDistributedCache.cs index 4490a50fd3..5df5b488d9 100644 --- a/framework/test/Volo.Abp.Caching.Tests/Volo/Abp/Caching/TestMemoryDistributedCache.cs +++ b/framework/test/Volo.Abp.Caching.Tests/Volo/Abp/Caching/TestMemoryDistributedCache.cs @@ -73,5 +73,21 @@ namespace Volo.Abp.Caching await RefreshAsync(key, token); } } + + public void RemoveMany(IEnumerable keys) + { + foreach (var key in keys) + { + Remove(key); + } + } + + public async Task RemoveManyAsync(IEnumerable keys, CancellationToken token = default) + { + foreach (var key in keys) + { + await RemoveAsync(key, token); + } + } } } From 68983ec4e9db5ba7f5159eb73356aa2a5a4ab062 Mon Sep 17 00:00:00 2001 From: liangshiwei Date: Mon, 1 Feb 2021 14:52:23 +0800 Subject: [PATCH 165/217] Add unit tests --- .../Volo/Abp/Caching/DistributedCache.cs | 4 +- .../Volo/Abp/Caching/IDistributedCache.cs | 4 +- .../Abp/Caching/DistributedCache_Tests.cs | 235 ++++++++++++++++++ 3 files changed, 239 insertions(+), 4 deletions(-) diff --git a/framework/src/Volo.Abp.Caching/Volo/Abp/Caching/DistributedCache.cs b/framework/src/Volo.Abp.Caching/Volo/Abp/Caching/DistributedCache.cs index 5c9a876f4b..1337206464 100644 --- a/framework/src/Volo.Abp.Caching/Volo/Abp/Caching/DistributedCache.cs +++ b/framework/src/Volo.Abp.Caching/Volo/Abp/Caching/DistributedCache.cs @@ -529,7 +529,7 @@ namespace Volo.Abp.Caching public KeyValuePair[] GetOrAddMany( IEnumerable keys, - Func, IEnumerable>> factory, + Func, List>> factory, Func optionsFactory = null, bool? hideErrors = null, bool considerUow = false) @@ -626,7 +626,7 @@ namespace Volo.Abp.Caching public async Task[]> GetOrAddManyAsync( IEnumerable keys, - Func, Task>>> factory, + Func, Task>>> factory, Func optionsFactory = null, bool? hideErrors = null, bool considerUow = false, diff --git a/framework/src/Volo.Abp.Caching/Volo/Abp/Caching/IDistributedCache.cs b/framework/src/Volo.Abp.Caching/Volo/Abp/Caching/IDistributedCache.cs index 1d64520898..3806276969 100644 --- a/framework/src/Volo.Abp.Caching/Volo/Abp/Caching/IDistributedCache.cs +++ b/framework/src/Volo.Abp.Caching/Volo/Abp/Caching/IDistributedCache.cs @@ -140,7 +140,7 @@ namespace Volo.Abp.Caching /// The cache items. KeyValuePair[] GetOrAddMany( IEnumerable keys, - Func, IEnumerable>> factory, + Func, List>> factory, Func optionsFactory = null, bool? hideErrors = null, bool considerUow = false @@ -159,7 +159,7 @@ namespace Volo.Abp.Caching /// The cache items. Task[]> GetOrAddManyAsync( IEnumerable keys, - Func, Task>>> factory, + Func, Task>>> factory, Func optionsFactory = null, bool? hideErrors = null, bool considerUow = false, diff --git a/framework/test/Volo.Abp.Caching.Tests/Volo/Abp/Caching/DistributedCache_Tests.cs b/framework/test/Volo.Abp.Caching.Tests/Volo/Abp/Caching/DistributedCache_Tests.cs index 32876c08fe..c1d5af64ef 100644 --- a/framework/test/Volo.Abp.Caching.Tests/Volo/Abp/Caching/DistributedCache_Tests.cs +++ b/framework/test/Volo.Abp.Caching.Tests/Volo/Abp/Caching/DistributedCache_Tests.cs @@ -712,5 +712,240 @@ namespace Volo.Abp.Caching (await personCache.GetAsync("john")).Name.ShouldBe("John Nash"); (await personCache.GetAsync("baris")).ShouldBeNull(); } + + [Fact] + public async Task Should_Get_And_Add_Multiple_Items_Async() + { + var testkey = "testkey"; + var testkey2 = "testkey2"; + + var testkey3 = new[] {testkey, testkey2}; + var personCache = GetRequiredService>(); + + await personCache.SetAsync(testkey, new PersonCacheItem("john")); + + var cacheValue = await personCache.GetManyAsync(testkey3); + cacheValue.Length.ShouldBe(2); + cacheValue[0].Value.Name.ShouldBe("john"); + cacheValue[1].Value.ShouldBeNull(); + + cacheValue = await personCache.GetOrAddManyAsync(testkey3, (missingKeys) => + { + var missingKeyArray = missingKeys.ToArray(); + missingKeyArray.Length.ShouldBe(1); + missingKeyArray[0].ShouldBe(testkey2); + + return Task.FromResult(new List> + { + new(testkey2, new PersonCacheItem("jack")) + }); + }); + + cacheValue.Length.ShouldBe(2); + cacheValue[0].Value.Name.ShouldBe("john"); + cacheValue[1].Value.Name.ShouldBe("jack"); + + cacheValue = await personCache.GetManyAsync(testkey3); + cacheValue.Length.ShouldBe(2); + cacheValue[0].Value.Name.ShouldBe("john"); + cacheValue[1].Value.Name.ShouldBe("jack"); + } + + [Fact] + public async Task Cache_Should_Only_Available_In_Uow_For_GetOrAddManyAsync() + { + var testkey = "testkey"; + var testkey2 = "testkey2"; + + var testkey3 = new[] {testkey, testkey2}; + + using (var uow = GetRequiredService().Begin()) + { + var personCache = GetRequiredService>(); + + var cacheValue = await personCache.GetOrAddManyAsync(testkey3, (missingKeys) => Task.FromResult(new List> + { + new(testkey, new PersonCacheItem("john")), + new(testkey2, new PersonCacheItem("jack")), + }), considerUow: true); + + cacheValue.Length.ShouldBe(2); + cacheValue[0].Value.Name.ShouldBe("john"); + cacheValue[1].Value.Name.ShouldBe("jack"); + + cacheValue = await personCache.GetManyAsync(testkey3, considerUow: true); + cacheValue.Length.ShouldBe(2); + cacheValue[0].Value.Name.ShouldBe("john"); + cacheValue[1].Value.Name.ShouldBe("jack"); + + cacheValue = await personCache.GetManyAsync(testkey3, considerUow: false); + cacheValue.Length.ShouldBe(2); + cacheValue[0].Value.ShouldBeNull(); + cacheValue[1].Value.ShouldBeNull(); + + uow.OnCompleted(async () => + { + cacheValue = await personCache.GetManyAsync(testkey3, considerUow: false); + cacheValue.ShouldNotBeNull(); + cacheValue[0].Value.Name.ShouldBe("john"); + cacheValue[1].Value.Name.ShouldBe("jack"); + }); + + await uow.CompleteAsync(); + } + } + + [Fact] + public async Task Cache_Should_Rollback_With_Uow_For_GetOrAddManyAsync() + { + var testkey = "testkey"; + var testkey2 = "testkey2"; + + var testkey3 = new[] {testkey, testkey2}; + + var personCache = GetRequiredService>(); + + var cacheValue = await personCache.GetManyAsync(testkey3, considerUow: false); + cacheValue.Length.ShouldBe(2); + cacheValue[0].Value.ShouldBeNull(); + cacheValue[1].Value.ShouldBeNull(); + + using (var uow = GetRequiredService().Begin()) + { + cacheValue = await personCache.GetOrAddManyAsync(testkey3, (missingKeys) => Task.FromResult(new List> + { + new(testkey, new PersonCacheItem("john")), + new(testkey2, new PersonCacheItem("jack")), + }), considerUow: true); + + cacheValue.Length.ShouldBe(2); + cacheValue[0].Value.Name.ShouldBe("john"); + cacheValue[1].Value.Name.ShouldBe("jack"); + + cacheValue = await personCache.GetManyAsync(testkey3, considerUow: true); + cacheValue.Length.ShouldBe(2); + cacheValue[0].Value.Name.ShouldBe("john"); + cacheValue[1].Value.Name.ShouldBe("jack"); + + cacheValue = await personCache.GetManyAsync(testkey3, considerUow: false); + cacheValue.Length.ShouldBe(2); + cacheValue[0].Value.ShouldBeNull(); + cacheValue[1].Value.ShouldBeNull(); + } + + cacheValue = await personCache.GetManyAsync(testkey3, considerUow: false); + cacheValue.Length.ShouldBe(2); + cacheValue[0].Value.ShouldBeNull(); + cacheValue[1].Value.ShouldBeNull(); + } + + [Fact] + public async Task Should_Remove_Multiple_Items_Async() + { + var testkey = "testkey"; + var testkey2 = "testkey2"; + var testkey3 = new[] {testkey, testkey2}; + + var personCache = GetRequiredService>(); + + await personCache.SetManyAsync(new List> + { + new(testkey, new PersonCacheItem("john")), + new(testkey2, new PersonCacheItem("jack")) + }); + + await personCache.RemoveManyAsync(testkey3); + + var cacheValue = await personCache.GetManyAsync(testkey3); + cacheValue.Length.ShouldBe(2); + cacheValue[0].Value.ShouldBeNull(); + cacheValue[1].Value.ShouldBeNull(); + } + + [Fact] + public async Task Cache_Should_Only_Available_In_Uow_For_RemoveManyAsync() + { + var testkey = "testkey"; + var testkey2 = "testkey2"; + var testkey3 = new[] {testkey, testkey2}; + var personCache = GetRequiredService>(); + + var cacheValue = await personCache.GetManyAsync(testkey3, considerUow: false); + cacheValue.Length.ShouldBe(2); + cacheValue[0].Value.ShouldBeNull(); + cacheValue[1].Value.ShouldBeNull(); + + using (var uow = GetRequiredService().Begin()) + { + await personCache.SetManyAsync(new List> + { + new(testkey, new PersonCacheItem("john")), + new(testkey2, new PersonCacheItem("jack")) + }); + + cacheValue = await personCache.GetManyAsync(testkey3, considerUow: true); + cacheValue.Length.ShouldBe(2); + cacheValue[0].Value.Name.ShouldBe("john"); + cacheValue[1].Value.Name.ShouldBe("jack"); + + await personCache.RemoveManyAsync(testkey3, considerUow: true); + + cacheValue = await personCache.GetManyAsync(testkey3, considerUow: false); + cacheValue.Length.ShouldBe(2); + cacheValue[0].Value.Name.ShouldBe("john"); + cacheValue[1].Value.Name.ShouldBe("jack"); + + uow.OnCompleted(async () => + { + cacheValue = await personCache.GetManyAsync(testkey3, considerUow: false); + cacheValue.ShouldNotBeNull(); + cacheValue[0].Value.ShouldBeNull(); + cacheValue[1].Value.ShouldBeNull(); + }); + + await uow.CompleteAsync(); + } + + } + + [Fact] + public async Task Cache_Should_Rollback_With_Uow_For_RemoveManyAsync() + { + var testkey = "testkey"; + var testkey2 = "testkey2"; + var testkey3 = new[] {testkey, testkey2}; + var personCache = GetRequiredService>(); + + var cacheValue = await personCache.GetManyAsync(testkey3, considerUow: false); + cacheValue.Length.ShouldBe(2); + cacheValue[0].Value.ShouldBeNull(); + cacheValue[1].Value.ShouldBeNull(); + + using (var uow = GetRequiredService().Begin()) + { + await personCache.SetManyAsync(new List> + { + new(testkey, new PersonCacheItem("john")), + new(testkey2, new PersonCacheItem("jack")) + }, considerUow: true); + + cacheValue = await personCache.GetManyAsync(testkey3, considerUow: true); + cacheValue.Length.ShouldBe(2); + cacheValue[0].Value.Name.ShouldBe("john"); + cacheValue[1].Value.Name.ShouldBe("jack"); + + await personCache.RemoveManyAsync(testkey3, considerUow: true); + + cacheValue = await personCache.GetManyAsync(testkey3, considerUow: true); + cacheValue.Length.ShouldBe(2); + cacheValue[0].Value.ShouldBeNull(); + cacheValue[1].Value.ShouldBeNull(); + } + + cacheValue = await personCache.GetManyAsync(testkey3, considerUow: true); + cacheValue.Length.ShouldBe(2); + cacheValue[0].Value.ShouldBeNull(); + cacheValue[1].Value.ShouldBeNull(); + } } } From 5dfe8519d0bfa355d74b02989370e4ad4074bd9a Mon Sep 17 00:00:00 2001 From: liangshiwei Date: Mon, 1 Feb 2021 15:37:03 +0800 Subject: [PATCH 166/217] Update cache document --- docs/en/Caching.md | 7 +++++-- docs/zh-Hans/Caching.md | 12 ++++++++++++ docs/zh-Hans/Redis-Cache.md | 1 + .../Volo/Abp/Caching/IDistributedCache.cs | 4 ++-- 4 files changed, 20 insertions(+), 4 deletions(-) create mode 100644 docs/zh-Hans/Redis-Cache.md diff --git a/docs/en/Caching.md b/docs/en/Caching.md index 042f13ffe0..7dbf02d875 100644 --- a/docs/en/Caching.md +++ b/docs/en/Caching.md @@ -242,12 +242,15 @@ In addition, all of the `IDistributedCache` (and `IDistributedCache< ## Batch Operations -ABP's distributed cache interfaces provide methods to perform batch get/set methods those improves the performance when you want to get or set multiple cache items in a single method call. +ABP's distributed cache interfaces provide methods to perform batch methods those improves the performance when you want to batch operation multiple cache items in a single method call. * `SetManyAsync` and `SetMany` methods can be used to set multiple values to the cache. * `GetManyAsync` and `GetMany` methods can be used to retrieve multiple values from the cache. +* `GetOrAddManyAsync` and `GetOrAddMany` methods can be used to retrieve multiple values and set missing values from the cache +* `RefreshManyAsync` and `RefreshMany` methods can be used to resets the sliding expiration timeout of multiple values from the cache +* `RemoveManyAsync` and `RemoveMany` methods can be used to remove multiple values from the cache -> These are not standard methods of the ASP.NET Core caching. So, some providers may not support them. They are supported by the [ABP Redis Cache integration package](Redis-Cache.md). If the provider doesn't support, it fallbacks to `SetAsync` and `GetAsync` methods (called once for each item). +> These are not standard methods of the ASP.NET Core caching. So, some providers may not support them. They are supported by the [ABP Redis Cache integration package](Redis-Cache.md). If the provider doesn't support, it fallbacks to `SetAsync` and `GetAsync` ... methods (called once for each item). ## Advanced Topics diff --git a/docs/zh-Hans/Caching.md b/docs/zh-Hans/Caching.md index 0557ddcb4d..a75199ce47 100644 --- a/docs/zh-Hans/Caching.md +++ b/docs/zh-Hans/Caching.md @@ -192,6 +192,18 @@ public class BookService : ITransientDependency } ```` +## 批量操作 + +ABP的分布式缓存接口定义了以下批量操作方法,当你需要在一个方法中调用多次缓存操作时,这些方法可以提高性能 + +* `SetManyAsync` 和 `SetMany` 方法可以用来设置多个值. +* `GetManyAsync` 和 `GetMany` 方法可以用来从缓存中获取多个值. +* `GetOrAddManyAsync` 和 `GetOrAddMany` 方法可以用来从缓存中获取并添加缺少的值. +* `RefreshManyAsync` 和 `RefreshMany` 方法可以来用重置多个值的滚动过期时间. +* `RemoveManyAsync` 和 `RemoveMany` 方法呆以用来删除多个值. + +> 这些不是标准的ASP.NET Core缓存方法, 所以某些提供程序可能不支持. [ABP Redis集成包](Redis-Cache.md)实现了它们. 如果提供程序不支持,会回退到 `SetAsync` 和 `GetAsync` ... 方法(循环调用). + ### DistributedCacheOptions TODO \ No newline at end of file diff --git a/docs/zh-Hans/Redis-Cache.md b/docs/zh-Hans/Redis-Cache.md new file mode 100644 index 0000000000..cb82a640d5 --- /dev/null +++ b/docs/zh-Hans/Redis-Cache.md @@ -0,0 +1 @@ +TODO... \ No newline at end of file diff --git a/framework/src/Volo.Abp.Caching/Volo/Abp/Caching/IDistributedCache.cs b/framework/src/Volo.Abp.Caching/Volo/Abp/Caching/IDistributedCache.cs index 3806276969..f8e76fd9dd 100644 --- a/framework/src/Volo.Abp.Caching/Volo/Abp/Caching/IDistributedCache.cs +++ b/framework/src/Volo.Abp.Caching/Volo/Abp/Caching/IDistributedCache.cs @@ -258,7 +258,7 @@ namespace Volo.Abp.Caching ); /// - /// Refreshes multiple cache items. + /// Refreshes the cache value of the given keys, and resets their sliding expiration timeout. /// Based on the implementation, this can be more efficient than setting multiple items individually. /// /// The keys of cached items to be retrieved from the cache. @@ -268,7 +268,7 @@ namespace Volo.Abp.Caching bool? hideErrors = null); /// - /// Refreshes multiple cache items. + /// Refreshes the cache value of the given keys, and resets their sliding expiration timeout. /// Based on the implementation, this can be more efficient than setting multiple items individually. /// /// The keys of cached items to be retrieved from the cache. From 18205a8935e6069c0cd3586846b3472b5f6e1406 Mon Sep 17 00:00:00 2001 From: enisn Date: Mon, 1 Feb 2021 12:29:01 +0300 Subject: [PATCH 167/217] CmsKit - Add missing Http method binding to TagDefinitions --- .../Volo/CmsKit/Admin/Tags/TagAdminController.cs | 2 ++ 1 file changed, 2 insertions(+) diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.HttpApi/Volo/CmsKit/Admin/Tags/TagAdminController.cs b/modules/cms-kit/src/Volo.CmsKit.Admin.HttpApi/Volo/CmsKit/Admin/Tags/TagAdminController.cs index afc9a83fc8..4655c60bd6 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Admin.HttpApi/Volo/CmsKit/Admin/Tags/TagAdminController.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Admin.HttpApi/Volo/CmsKit/Admin/Tags/TagAdminController.cs @@ -62,6 +62,8 @@ namespace Volo.CmsKit.Admin.Tags return TagAdminAppService.UpdateAsync(id, input); } + [HttpGet] + [Route("tag-definitions")] public Task> GetTagDefinitionsAsync() { return TagAdminAppService.GetTagDefinitionsAsync(); From e910950e847591a411f68f54cfc58d4163967d14 Mon Sep 17 00:00:00 2001 From: Mladen Macanovic Date: Mon, 1 Feb 2021 11:59:39 +0100 Subject: [PATCH 168/217] Update Blazorise 0.9.3-preview8 --- .../src/Volo.Abp.BlazoriseUI/Volo.Abp.BlazoriseUI.csproj | 6 +++--- .../MyCompanyName.MyProjectName.Blazor.csproj | 4 ++-- .../MyCompanyName.MyProjectName.Blazor.Host.csproj | 4 ++-- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/framework/src/Volo.Abp.BlazoriseUI/Volo.Abp.BlazoriseUI.csproj b/framework/src/Volo.Abp.BlazoriseUI/Volo.Abp.BlazoriseUI.csproj index 9405337b89..3f41412a9e 100644 --- a/framework/src/Volo.Abp.BlazoriseUI/Volo.Abp.BlazoriseUI.csproj +++ b/framework/src/Volo.Abp.BlazoriseUI/Volo.Abp.BlazoriseUI.csproj @@ -12,9 +12,9 @@ - - - + + + diff --git a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor/MyCompanyName.MyProjectName.Blazor.csproj b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor/MyCompanyName.MyProjectName.Blazor.csproj index 96a8f791ee..bdb87e04c7 100644 --- a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor/MyCompanyName.MyProjectName.Blazor.csproj +++ b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor/MyCompanyName.MyProjectName.Blazor.csproj @@ -8,8 +8,8 @@ - - + + diff --git a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Blazor.Host/MyCompanyName.MyProjectName.Blazor.Host.csproj b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Blazor.Host/MyCompanyName.MyProjectName.Blazor.Host.csproj index 57625cfd81..b166dc8898 100644 --- a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Blazor.Host/MyCompanyName.MyProjectName.Blazor.Host.csproj +++ b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Blazor.Host/MyCompanyName.MyProjectName.Blazor.Host.csproj @@ -8,8 +8,8 @@ - - + + From 16cbf7c188cd22e566c8adf28825a154c7abbb25 Mon Sep 17 00:00:00 2001 From: maliming Date: Mon, 1 Feb 2021 21:17:55 +0800 Subject: [PATCH 169/217] Update PostgreSQL connecting string. https://github.com/npgsql/npgsql/blob/058b52af600d88cb5dbbee16140812dd3fdd8f85/src/Npgsql/NpgsqlConnectionStringBuilder.cs#L786 https://github.com/npgsql/npgsql/blob/058b52af600d88cb5dbbee16140812dd3fdd8f85/src/Npgsql/NpgsqlConnectionStringBuilder.cs#L764 --- .../Volo/Abp/Cli/Commands/Services/ConnectionStringProvider.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 32e09b3339..b0da7f9db0 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 @@ -16,7 +16,7 @@ namespace Volo.Abp.Cli.Commands.Services case DatabaseManagementSystem.MySQL: return "Server=localhost;Port=3306;Database=MyProjectName;Uid=root;Pwd=myPassword;"; case DatabaseManagementSystem.PostgreSQL: - return "User ID=root;Password=myPassword;Host=localhost;Port=5432;Database=MyProjectName;Pooling=true;Min Pool Size=0;Max Pool Size=100;Connection Lifetime=0;"; + return "Host=localhost;Port=5432;Database=MyProjectName;User ID=root;Password=myPassword;Pooling=true;MinimumPoolSize=0;MaximumPoolSize=100;Connection Lifetime=0;"; //case DatabaseManagementSystem.Oracle: case DatabaseManagementSystem.OracleDevart: return "Data Source=MyProjectName;Integrated Security=yes;"; From 7e366398d3738f80591467ac4c71bacafd816e01 Mon Sep 17 00:00:00 2001 From: Ilkay Ilknur Date: Mon, 1 Feb 2021 16:54:11 +0300 Subject: [PATCH 170/217] fix page routing. --- .../src/Volo.CmsKit.Public.Web/CmsKitPublicWebModule.cs | 6 ++---- .../Volo.CmsKit.Public.Web/Pages/CmsKit/Pages/Index.cshtml | 2 +- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/modules/cms-kit/src/Volo.CmsKit.Public.Web/CmsKitPublicWebModule.cs b/modules/cms-kit/src/Volo.CmsKit.Public.Web/CmsKitPublicWebModule.cs index 8cb5644256..7833e6aa3e 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Public.Web/CmsKitPublicWebModule.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Public.Web/CmsKitPublicWebModule.cs @@ -1,5 +1,4 @@ -using System.Linq; -using Microsoft.AspNetCore.Mvc.RazorPages; +using Microsoft.AspNetCore.Mvc.RazorPages; using Microsoft.Extensions.DependencyInjection; using Volo.Abp.AspNetCore.Mvc.Localization; using Volo.Abp.AutoMapper; @@ -61,8 +60,7 @@ namespace Volo.CmsKit.Public.Web { if (GlobalFeatureManager.Instance.IsEnabled()) { - // TODO: Work on this route logic. Blocks some routes with this logic. - options.Conventions.AddPageRoute("/CmsKit/Pages/Index", "/{*pageUrl}"); + options.Conventions.AddPageRoute("/CmsKit/Pages/Index", @"/{pageUrl}"); } }); } diff --git a/modules/cms-kit/src/Volo.CmsKit.Public.Web/Pages/CmsKit/Pages/Index.cshtml b/modules/cms-kit/src/Volo.CmsKit.Public.Web/Pages/CmsKit/Pages/Index.cshtml index 73c7637b01..c31edaaba8 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Public.Web/Pages/CmsKit/Pages/Index.cshtml +++ b/modules/cms-kit/src/Volo.CmsKit.Public.Web/Pages/CmsKit/Pages/Index.cshtml @@ -1,4 +1,4 @@ -@page "{*pageUrl}" +@page "{pageUrl}" @using Microsoft.AspNetCore.Mvc.Localization @using Volo.CmsKit.Localization @using Volo.CmsKit.Public.Web.Pages.CmsKit.Shared.Components.Pages From d48e65d23ed912c1e554e4fb49ace48e4ac3e87b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Halil=20=C4=B0brahim=20Kalkan?= Date: Mon, 1 Feb 2021 20:46:43 +0300 Subject: [PATCH 171/217] Introduce ITenantDatabaseSchemaMigrator. --- .../NullTenantDatabaseSchemaMigrator.cs | 13 +++++++++++++ .../MultiTenancy/TenantDatabaseSchemaMigrator.cs | 13 +++++++++++++ 2 files changed, 26 insertions(+) create mode 100644 framework/src/Volo.Abp.MultiTenancy/Volo/Abp/MultiTenancy/NullTenantDatabaseSchemaMigrator.cs create mode 100644 framework/src/Volo.Abp.MultiTenancy/Volo/Abp/MultiTenancy/TenantDatabaseSchemaMigrator.cs diff --git a/framework/src/Volo.Abp.MultiTenancy/Volo/Abp/MultiTenancy/NullTenantDatabaseSchemaMigrator.cs b/framework/src/Volo.Abp.MultiTenancy/Volo/Abp/MultiTenancy/NullTenantDatabaseSchemaMigrator.cs new file mode 100644 index 0000000000..7d5e76f11b --- /dev/null +++ b/framework/src/Volo.Abp.MultiTenancy/Volo/Abp/MultiTenancy/NullTenantDatabaseSchemaMigrator.cs @@ -0,0 +1,13 @@ +using System.Threading.Tasks; +using Volo.Abp.DependencyInjection; + +namespace Volo.Abp.MultiTenancy +{ + public class NullTenantDatabaseSchemaMigrator : ITenantDatabaseSchemaMigrator, ISingletonDependency + { + public Task MigrateAsync() + { + return Task.CompletedTask; + } + } +} \ No newline at end of file diff --git a/framework/src/Volo.Abp.MultiTenancy/Volo/Abp/MultiTenancy/TenantDatabaseSchemaMigrator.cs b/framework/src/Volo.Abp.MultiTenancy/Volo/Abp/MultiTenancy/TenantDatabaseSchemaMigrator.cs new file mode 100644 index 0000000000..e6fef5c427 --- /dev/null +++ b/framework/src/Volo.Abp.MultiTenancy/Volo/Abp/MultiTenancy/TenantDatabaseSchemaMigrator.cs @@ -0,0 +1,13 @@ +using System.Threading.Tasks; + +namespace Volo.Abp.MultiTenancy +{ + public interface ITenantDatabaseSchemaMigrator + { + /// + /// Set Current Tenant before calling this method. + /// + /// + Task MigrateAsync(); + } +} From 8762284482449c85903c5fd40a10b9b82cb0474e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Halil=20=C4=B0brahim=20Kalkan?= Date: Mon, 1 Feb 2021 20:53:42 +0300 Subject: [PATCH 172/217] Added Volo.Abp.EventBus.Abstractions package. --- framework/Volo.Abp.sln | 7 +++++ .../FodyWeavers.xml | 3 ++ .../FodyWeavers.xsd | 30 +++++++++++++++++++ .../Volo.Abp.EventBus.Abstractions.csproj | 15 ++++++++++ .../AbpEventBusAbstractionsModule.cs | 9 ++++++ .../Volo/Abp/EventBus/EventNameAttribute.cs | 0 .../Abp/EventBus/GenericEventNameAttribute.cs | 0 .../Volo/Abp/EventBus/IEventNameProvider.cs | 0 .../Volo.Abp.EventBus.csproj | 2 +- .../Volo/Abp/EventBus/AbpEventBusModule.cs | 5 +++- nupkg/common.ps1 | 1 + 11 files changed, 70 insertions(+), 2 deletions(-) create mode 100644 framework/src/Volo.Abp.EventBus.Abstractions/FodyWeavers.xml create mode 100644 framework/src/Volo.Abp.EventBus.Abstractions/FodyWeavers.xsd create mode 100644 framework/src/Volo.Abp.EventBus.Abstractions/Volo.Abp.EventBus.Abstractions.csproj create mode 100644 framework/src/Volo.Abp.EventBus.Abstractions/Volo/Abp/EventBus/Abstractions/AbpEventBusAbstractionsModule.cs rename framework/src/{Volo.Abp.EventBus => Volo.Abp.EventBus.Abstractions}/Volo/Abp/EventBus/EventNameAttribute.cs (100%) rename framework/src/{Volo.Abp.EventBus => Volo.Abp.EventBus.Abstractions}/Volo/Abp/EventBus/GenericEventNameAttribute.cs (100%) rename framework/src/{Volo.Abp.EventBus => Volo.Abp.EventBus.Abstractions}/Volo/Abp/EventBus/IEventNameProvider.cs (100%) diff --git a/framework/Volo.Abp.sln b/framework/Volo.Abp.sln index 963472ada8..8c2670fa27 100644 --- a/framework/Volo.Abp.sln +++ b/framework/Volo.Abp.sln @@ -359,6 +359,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Volo.Abp.Json.Tests", "test EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Volo.Abp.Http.Tests", "test\Volo.Abp.Http.Tests\Volo.Abp.Http.Tests.csproj", "{A37BFEB5-7C57-4CDC-93B8-B5CE4BB9ACE1}" EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Volo.Abp.EventBus.Abstractions", "src\Volo.Abp.EventBus.Abstractions\Volo.Abp.EventBus.Abstractions.csproj", "{8FDB3BF7-AD89-43F6-8DEB-C3E29B8801FE}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -1069,6 +1071,10 @@ Global {A37BFEB5-7C57-4CDC-93B8-B5CE4BB9ACE1}.Debug|Any CPU.Build.0 = Debug|Any CPU {A37BFEB5-7C57-4CDC-93B8-B5CE4BB9ACE1}.Release|Any CPU.ActiveCfg = Release|Any CPU {A37BFEB5-7C57-4CDC-93B8-B5CE4BB9ACE1}.Release|Any CPU.Build.0 = Release|Any CPU + {8FDB3BF7-AD89-43F6-8DEB-C3E29B8801FE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {8FDB3BF7-AD89-43F6-8DEB-C3E29B8801FE}.Debug|Any CPU.Build.0 = Debug|Any CPU + {8FDB3BF7-AD89-43F6-8DEB-C3E29B8801FE}.Release|Any CPU.ActiveCfg = Release|Any CPU + {8FDB3BF7-AD89-43F6-8DEB-C3E29B8801FE}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -1250,6 +1256,7 @@ Global {DD9519E0-5A68-48DC-A051-7BF2AC922F3E} = {5DF0E140-0513-4D0D-BE2E-3D4D85CD70E6} {00D07595-993C-40FC-BD90-0DD6331414D3} = {447C8A77-E5F0-4538-8687-7383196D04EA} {A37BFEB5-7C57-4CDC-93B8-B5CE4BB9ACE1} = {447C8A77-E5F0-4538-8687-7383196D04EA} + {8FDB3BF7-AD89-43F6-8DEB-C3E29B8801FE} = {5DF0E140-0513-4D0D-BE2E-3D4D85CD70E6} EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution SolutionGuid = {BB97ECF4-9A84-433F-A80B-2A3285BDD1D5} diff --git a/framework/src/Volo.Abp.EventBus.Abstractions/FodyWeavers.xml b/framework/src/Volo.Abp.EventBus.Abstractions/FodyWeavers.xml new file mode 100644 index 0000000000..bc5a74a236 --- /dev/null +++ b/framework/src/Volo.Abp.EventBus.Abstractions/FodyWeavers.xml @@ -0,0 +1,3 @@ + + + diff --git a/framework/src/Volo.Abp.EventBus.Abstractions/FodyWeavers.xsd b/framework/src/Volo.Abp.EventBus.Abstractions/FodyWeavers.xsd new file mode 100644 index 0000000000..3f3946e282 --- /dev/null +++ b/framework/src/Volo.Abp.EventBus.Abstractions/FodyWeavers.xsd @@ -0,0 +1,30 @@ + + + + + + + + + + + + + + + 'true' to run assembly verification (PEVerify) on the target assembly after all weavers have been executed. + + + + + A comma-separated list of error codes that can be safely ignored in assembly verification. + + + + + 'false' to turn off automatic generation of the XML Schema file. + + + + + \ No newline at end of file diff --git a/framework/src/Volo.Abp.EventBus.Abstractions/Volo.Abp.EventBus.Abstractions.csproj b/framework/src/Volo.Abp.EventBus.Abstractions/Volo.Abp.EventBus.Abstractions.csproj new file mode 100644 index 0000000000..ae0cef7f59 --- /dev/null +++ b/framework/src/Volo.Abp.EventBus.Abstractions/Volo.Abp.EventBus.Abstractions.csproj @@ -0,0 +1,15 @@ + + + + + + + netstandard2.0 + + + + + + + + diff --git a/framework/src/Volo.Abp.EventBus.Abstractions/Volo/Abp/EventBus/Abstractions/AbpEventBusAbstractionsModule.cs b/framework/src/Volo.Abp.EventBus.Abstractions/Volo/Abp/EventBus/Abstractions/AbpEventBusAbstractionsModule.cs new file mode 100644 index 0000000000..bb9d4585b9 --- /dev/null +++ b/framework/src/Volo.Abp.EventBus.Abstractions/Volo/Abp/EventBus/Abstractions/AbpEventBusAbstractionsModule.cs @@ -0,0 +1,9 @@ +using Volo.Abp.Modularity; + +namespace Volo.Abp.EventBus.Abstractions +{ + public class AbpEventBusAbstractionsModule : AbpModule + { + + } +} diff --git a/framework/src/Volo.Abp.EventBus/Volo/Abp/EventBus/EventNameAttribute.cs b/framework/src/Volo.Abp.EventBus.Abstractions/Volo/Abp/EventBus/EventNameAttribute.cs similarity index 100% rename from framework/src/Volo.Abp.EventBus/Volo/Abp/EventBus/EventNameAttribute.cs rename to framework/src/Volo.Abp.EventBus.Abstractions/Volo/Abp/EventBus/EventNameAttribute.cs diff --git a/framework/src/Volo.Abp.EventBus/Volo/Abp/EventBus/GenericEventNameAttribute.cs b/framework/src/Volo.Abp.EventBus.Abstractions/Volo/Abp/EventBus/GenericEventNameAttribute.cs similarity index 100% rename from framework/src/Volo.Abp.EventBus/Volo/Abp/EventBus/GenericEventNameAttribute.cs rename to framework/src/Volo.Abp.EventBus.Abstractions/Volo/Abp/EventBus/GenericEventNameAttribute.cs diff --git a/framework/src/Volo.Abp.EventBus/Volo/Abp/EventBus/IEventNameProvider.cs b/framework/src/Volo.Abp.EventBus.Abstractions/Volo/Abp/EventBus/IEventNameProvider.cs similarity index 100% rename from framework/src/Volo.Abp.EventBus/Volo/Abp/EventBus/IEventNameProvider.cs rename to framework/src/Volo.Abp.EventBus.Abstractions/Volo/Abp/EventBus/IEventNameProvider.cs diff --git a/framework/src/Volo.Abp.EventBus/Volo.Abp.EventBus.csproj b/framework/src/Volo.Abp.EventBus/Volo.Abp.EventBus.csproj index a1799c6673..221454bed3 100644 --- a/framework/src/Volo.Abp.EventBus/Volo.Abp.EventBus.csproj +++ b/framework/src/Volo.Abp.EventBus/Volo.Abp.EventBus.csproj @@ -15,7 +15,7 @@ - + diff --git a/framework/src/Volo.Abp.EventBus/Volo/Abp/EventBus/AbpEventBusModule.cs b/framework/src/Volo.Abp.EventBus/Volo/Abp/EventBus/AbpEventBusModule.cs index 81c3393a50..eb9c17b129 100644 --- a/framework/src/Volo.Abp.EventBus/Volo/Abp/EventBus/AbpEventBusModule.cs +++ b/framework/src/Volo.Abp.EventBus/Volo/Abp/EventBus/AbpEventBusModule.cs @@ -1,6 +1,7 @@ using Microsoft.Extensions.DependencyInjection; using System; using System.Collections.Generic; +using Volo.Abp.EventBus.Abstractions; using Volo.Abp.EventBus.Distributed; using Volo.Abp.EventBus.Local; using Volo.Abp.Modularity; @@ -9,7 +10,9 @@ using Volo.Abp.Reflection; namespace Volo.Abp.EventBus { - [DependsOn(typeof(AbpMultiTenancyModule))] + [DependsOn( + typeof(AbpEventBusAbstractionsModule), + typeof(AbpMultiTenancyModule))] public class AbpEventBusModule : AbpModule { public override void PreConfigureServices(ServiceConfigurationContext context) diff --git a/nupkg/common.ps1 b/nupkg/common.ps1 index 29249ef3f4..16f13513ee 100644 --- a/nupkg/common.ps1 +++ b/nupkg/common.ps1 @@ -91,6 +91,7 @@ $projects = ( "framework/src/Volo.Abp.EntityFrameworkCore.PostgreSql", "framework/src/Volo.Abp.EntityFrameworkCore.Sqlite", "framework/src/Volo.Abp.EntityFrameworkCore.SqlServer", + "framework/src/Volo.Abp.EventBus.Abstractions", "framework/src/Volo.Abp.EventBus", "framework/src/Volo.Abp.EventBus.RabbitMQ", "framework/src/Volo.Abp.EventBus.Kafka", From 6d50fc998d4ed8238fa5495c6f2299a22a579f81 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Halil=20=C4=B0brahim=20Kalkan?= Date: Mon, 1 Feb 2021 20:54:25 +0300 Subject: [PATCH 173/217] Define TenantCreatedEto --- .../Volo.Abp.MultiTenancy.csproj | 1 + .../Volo/Abp/MultiTenancy/AbpMultiTenancyModule.cs | 4 +++- .../Volo/Abp/MultiTenancy/TenantCreatedEto.cs | 13 +++++++++++++ 3 files changed, 17 insertions(+), 1 deletion(-) create mode 100644 framework/src/Volo.Abp.MultiTenancy/Volo/Abp/MultiTenancy/TenantCreatedEto.cs diff --git a/framework/src/Volo.Abp.MultiTenancy/Volo.Abp.MultiTenancy.csproj b/framework/src/Volo.Abp.MultiTenancy/Volo.Abp.MultiTenancy.csproj index 951712c7f0..344dbfdec0 100644 --- a/framework/src/Volo.Abp.MultiTenancy/Volo.Abp.MultiTenancy.csproj +++ b/framework/src/Volo.Abp.MultiTenancy/Volo.Abp.MultiTenancy.csproj @@ -16,6 +16,7 @@ + diff --git a/framework/src/Volo.Abp.MultiTenancy/Volo/Abp/MultiTenancy/AbpMultiTenancyModule.cs b/framework/src/Volo.Abp.MultiTenancy/Volo/Abp/MultiTenancy/AbpMultiTenancyModule.cs index 9dc64ef7f8..c51daf99aa 100644 --- a/framework/src/Volo.Abp.MultiTenancy/Volo/Abp/MultiTenancy/AbpMultiTenancyModule.cs +++ b/framework/src/Volo.Abp.MultiTenancy/Volo/Abp/MultiTenancy/AbpMultiTenancyModule.cs @@ -1,5 +1,6 @@ using Microsoft.Extensions.DependencyInjection; using Volo.Abp.Data; +using Volo.Abp.EventBus.Abstractions; using Volo.Abp.Modularity; using Volo.Abp.MultiTenancy.ConfigurationStore; using Volo.Abp.Security; @@ -10,7 +11,8 @@ namespace Volo.Abp.MultiTenancy [DependsOn( typeof(AbpDataModule), - typeof(AbpSecurityModule) + typeof(AbpSecurityModule), + typeof(AbpEventBusAbstractionsModule) )] public class AbpMultiTenancyModule : AbpModule { diff --git a/framework/src/Volo.Abp.MultiTenancy/Volo/Abp/MultiTenancy/TenantCreatedEto.cs b/framework/src/Volo.Abp.MultiTenancy/Volo/Abp/MultiTenancy/TenantCreatedEto.cs new file mode 100644 index 0000000000..6cd1544d8c --- /dev/null +++ b/framework/src/Volo.Abp.MultiTenancy/Volo/Abp/MultiTenancy/TenantCreatedEto.cs @@ -0,0 +1,13 @@ +using System; +using Volo.Abp.EventBus; + +namespace Volo.Abp.MultiTenancy +{ + [EventName("abp.multi_tenancy.tenant.created")] + public class TenantCreatedEto + { + public Guid Id { get; set; } + + public string Name { get; set; } + } +} From f4458ac7d039c531dfe0b5dbdd91ddbd121eded5 Mon Sep 17 00:00:00 2001 From: maliming Date: Tue, 2 Feb 2021 10:56:04 +0800 Subject: [PATCH 174/217] Remove DeleteManyAsync from IRepository. --- .../Volo/Abp/Domain/Repositories/IRepository.cs | 12 ++---------- .../Volo/Abp/Domain/Repositories/RepositoryBase.cs | 3 --- 2 files changed, 2 insertions(+), 13 deletions(-) diff --git a/framework/src/Volo.Abp.Ddd.Domain/Volo/Abp/Domain/Repositories/IRepository.cs b/framework/src/Volo.Abp.Ddd.Domain/Volo/Abp/Domain/Repositories/IRepository.cs index ec79597396..f1136c4ea2 100644 --- a/framework/src/Volo.Abp.Ddd.Domain/Volo/Abp/Domain/Repositories/IRepository.cs +++ b/framework/src/Volo.Abp.Ddd.Domain/Volo/Abp/Domain/Repositories/IRepository.cs @@ -53,7 +53,7 @@ namespace Volo.Abp.Domain.Repositories /// /// Deletes many entities by the given . /// - /// Please note: This may cause major performance problems if there are too many entities returned for a + /// Please note: This may cause major performance problems if there are too many entities returned for a /// given predicate and the database provider doesn't have a way to efficiently delete many entities. /// /// @@ -68,18 +68,10 @@ namespace Volo.Abp.Domain.Repositories bool autoSave = false, CancellationToken cancellationToken = default ); - - /// - /// This is an alias for - Task DeleteManyAsync( - [NotNull] Expression> predicate, - bool autoSave = false, - CancellationToken cancellationToken = default - ); } public interface IRepository : IRepository, IReadOnlyRepository, IBasicRepository where TEntity : class, IEntity { } -} \ No newline at end of file +} diff --git a/framework/src/Volo.Abp.Ddd.Domain/Volo/Abp/Domain/Repositories/RepositoryBase.cs b/framework/src/Volo.Abp.Ddd.Domain/Volo/Abp/Domain/Repositories/RepositoryBase.cs index 5ba522ef00..0b32d54d45 100644 --- a/framework/src/Volo.Abp.Ddd.Domain/Volo/Abp/Domain/Repositories/RepositoryBase.cs +++ b/framework/src/Volo.Abp.Ddd.Domain/Volo/Abp/Domain/Repositories/RepositoryBase.cs @@ -85,9 +85,6 @@ namespace Volo.Abp.Domain.Repositories public abstract Task DeleteAsync(Expression> predicate, bool autoSave = false, CancellationToken cancellationToken = default); - public virtual Task DeleteManyAsync(Expression> predicate, bool autoSave = false, CancellationToken cancellationToken = default) - => DeleteAsync(predicate, autoSave, cancellationToken); - protected virtual TQueryable ApplyDataFilters(TQueryable query) where TQueryable : IQueryable { From 467ed0627d73750e076c17477105181ac5c0e54e Mon Sep 17 00:00:00 2001 From: maliming Date: Tue, 2 Feb 2021 13:44:29 +0800 Subject: [PATCH 175/217] Minor changes --- .../MemoryDb/MemoryDbRepository.cs | 20 ++--- .../Repositories/MongoDB/MongoDbRepository.cs | 77 +++++++++++-------- 2 files changed, 57 insertions(+), 40 deletions(-) diff --git a/framework/src/Volo.Abp.MemoryDb/Volo/Abp/Domain/Repositories/MemoryDb/MemoryDbRepository.cs b/framework/src/Volo.Abp.MemoryDb/Volo/Abp/Domain/Repositories/MemoryDb/MemoryDbRepository.cs index bb7d64bcc1..fd8c5afd16 100644 --- a/framework/src/Volo.Abp.MemoryDb/Volo/Abp/Domain/Repositories/MemoryDb/MemoryDbRepository.cs +++ b/framework/src/Volo.Abp.MemoryDb/Volo/Abp/Domain/Repositories/MemoryDb/MemoryDbRepository.cs @@ -184,6 +184,16 @@ namespace Volo.Abp.Domain.Repositories.MemoryDb return (await GetQueryableAsync()).Where(predicate).SingleOrDefault(); } + public override async Task DeleteAsync( + Expression> predicate, + bool autoSave = false, + CancellationToken cancellationToken = default) + { + var entities = (await GetQueryableAsync()).Where(predicate).ToList(); + + await DeleteManyAsync(entities, autoSave, cancellationToken); + } + public override async Task InsertAsync( TEntity entity, bool autoSave = false, @@ -238,16 +248,6 @@ namespace Volo.Abp.Domain.Repositories.MemoryDb } } - public override async Task DeleteAsync( - Expression> predicate, - bool autoSave = false, - CancellationToken cancellationToken = default) - { - var entities = (await GetQueryableAsync()).Where(predicate).ToList(); - - await DeleteManyAsync(entities, autoSave, cancellationToken); - } - public override async Task> GetListAsync(bool includeDetails = false, CancellationToken cancellationToken = default) { return (await GetQueryableAsync()).ToList(); diff --git a/framework/src/Volo.Abp.MongoDB/Volo/Abp/Domain/Repositories/MongoDB/MongoDbRepository.cs b/framework/src/Volo.Abp.MongoDB/Volo/Abp/Domain/Repositories/MongoDB/MongoDbRepository.cs index efdd0a8991..e6030246aa 100644 --- a/framework/src/Volo.Abp.MongoDB/Volo/Abp/Domain/Repositories/MongoDB/MongoDbRepository.cs +++ b/framework/src/Volo.Abp.MongoDB/Volo/Abp/Domain/Repositories/MongoDB/MongoDbRepository.cs @@ -71,16 +71,18 @@ namespace Volo.Abp.Domain.Repositories.MongoDB protected Task GetDbContextAsync(CancellationToken cancellationToken = default) { + cancellationToken = GetCancellationToken(cancellationToken); + // Multi-tenancy unaware entities should always use the host connection string if (!EntityHelper.IsMultiTenant()) { using (CurrentTenant.Change(null)) { - return DbContextProvider.GetDbContextAsync(GetCancellationToken(cancellationToken)); + return DbContextProvider.GetDbContextAsync(cancellationToken); } } - return DbContextProvider.GetDbContextAsync(GetCancellationToken(cancellationToken)); + return DbContextProvider.GetDbContextAsync(cancellationToken); } protected IMongoDbContextProvider DbContextProvider { get; } @@ -107,9 +109,11 @@ namespace Volo.Abp.Domain.Repositories.MongoDB bool autoSave = false, CancellationToken cancellationToken = default) { + cancellationToken = GetCancellationToken(cancellationToken); + await ApplyAbpConceptsForAddedEntityAsync(entity); - var dbContext = await GetDbContextAsync(GetCancellationToken(cancellationToken)); + var dbContext = await GetDbContextAsync(cancellationToken); var collection = dbContext.Collection(); if (dbContext.SessionHandle != null) @@ -117,14 +121,14 @@ namespace Volo.Abp.Domain.Repositories.MongoDB await collection.InsertOneAsync( dbContext.SessionHandle, entity, - cancellationToken: GetCancellationToken(cancellationToken) + cancellationToken: cancellationToken ); } else { await collection.InsertOneAsync( entity, - cancellationToken: GetCancellationToken(cancellationToken) + cancellationToken: cancellationToken ); } @@ -133,6 +137,8 @@ namespace Volo.Abp.Domain.Repositories.MongoDB public override async Task InsertManyAsync(IEnumerable entities, bool autoSave = false, CancellationToken cancellationToken = default) { + cancellationToken = GetCancellationToken(cancellationToken); + var entityArray = entities.ToArray(); foreach (var entity in entityArray) @@ -140,7 +146,7 @@ namespace Volo.Abp.Domain.Repositories.MongoDB await ApplyAbpConceptsForAddedEntityAsync(entity); } - var dbContext = await GetDbContextAsync(GetCancellationToken(cancellationToken)); + var dbContext = await GetDbContextAsync(cancellationToken); var collection = dbContext.Collection(); if (BulkOperationProvider != null) @@ -169,6 +175,8 @@ namespace Volo.Abp.Domain.Repositories.MongoDB bool autoSave = false, CancellationToken cancellationToken = default) { + cancellationToken = GetCancellationToken(cancellationToken); + SetModificationAuditProperties(entity); if (entity is ISoftDelete softDeleteEntity && softDeleteEntity.IsDeleted) @@ -186,7 +194,7 @@ namespace Volo.Abp.Domain.Repositories.MongoDB var oldConcurrencyStamp = SetNewConcurrencyStamp(entity); ReplaceOneResult result; - var dbContext = await GetDbContextAsync(GetCancellationToken(cancellationToken)); + var dbContext = await GetDbContextAsync(cancellationToken); var collection = dbContext.Collection(); if (dbContext.SessionHandle != null) @@ -195,7 +203,7 @@ namespace Volo.Abp.Domain.Repositories.MongoDB dbContext.SessionHandle, CreateEntityFilter(entity, true, oldConcurrencyStamp), entity, - cancellationToken: GetCancellationToken(cancellationToken) + cancellationToken: cancellationToken ); } else @@ -203,7 +211,7 @@ namespace Volo.Abp.Domain.Repositories.MongoDB result = await collection.ReplaceOneAsync( CreateEntityFilter(entity, true, oldConcurrencyStamp), entity, - cancellationToken: GetCancellationToken(cancellationToken) + cancellationToken: cancellationToken ); } @@ -277,7 +285,9 @@ namespace Volo.Abp.Domain.Repositories.MongoDB bool autoSave = false, CancellationToken cancellationToken = default) { - var dbContext = await GetDbContextAsync(GetCancellationToken(cancellationToken)); + cancellationToken = GetCancellationToken(cancellationToken); + + var dbContext = await GetDbContextAsync(cancellationToken); var collection = dbContext.Collection(); var oldConcurrencyStamp = SetNewConcurrencyStamp(entity); @@ -295,7 +305,7 @@ namespace Volo.Abp.Domain.Repositories.MongoDB dbContext.SessionHandle, CreateEntityFilter(entity, true, oldConcurrencyStamp), entity, - cancellationToken: GetCancellationToken(cancellationToken) + cancellationToken: cancellationToken ); } else @@ -303,7 +313,7 @@ namespace Volo.Abp.Domain.Repositories.MongoDB result = await collection.ReplaceOneAsync( CreateEntityFilter(entity, true, oldConcurrencyStamp), entity, - cancellationToken: GetCancellationToken(cancellationToken) + cancellationToken: cancellationToken ); } @@ -323,14 +333,14 @@ namespace Volo.Abp.Domain.Repositories.MongoDB result = await collection.DeleteOneAsync( dbContext.SessionHandle, CreateEntityFilter(entity, true, oldConcurrencyStamp), - cancellationToken: GetCancellationToken(cancellationToken) + cancellationToken: cancellationToken ); } else { result = await collection.DeleteOneAsync( CreateEntityFilter(entity, true, oldConcurrencyStamp), - GetCancellationToken(cancellationToken) + cancellationToken ); } @@ -346,7 +356,9 @@ namespace Volo.Abp.Domain.Repositories.MongoDB bool autoSave = false, CancellationToken cancellationToken = default) { - var softDeletedEntities = new List<(TEntity Entity, string ConcurrencyStamp)>(); + cancellationToken = GetCancellationToken(cancellationToken); + + var softDeletedEntities = new Dictionary(); var hardDeletedEntities = new List(); foreach (var entity in entities) @@ -355,7 +367,7 @@ namespace Volo.Abp.Domain.Repositories.MongoDB { ((ISoftDelete)entity).IsDeleted = true; - softDeletedEntities.Add((entity, SetNewConcurrencyStamp(entity))); + softDeletedEntities.Add(entity, SetNewConcurrencyStamp(entity)); } else { @@ -365,12 +377,12 @@ namespace Volo.Abp.Domain.Repositories.MongoDB await ApplyAbpConceptsForDeletedEntityAsync(entity); } - var dbContext = await GetDbContextAsync(GetCancellationToken(cancellationToken)); + var dbContext = await GetDbContextAsync(cancellationToken); var collection = dbContext.Collection(); if (BulkOperationProvider != null) { - await BulkOperationProvider.DeleteManyAsync(this, entities.ToArray(), dbContext.SessionHandle, autoSave, cancellationToken); + await BulkOperationProvider.DeleteManyAsync(this, entities, dbContext.SessionHandle, autoSave, cancellationToken); return; } @@ -378,9 +390,9 @@ namespace Volo.Abp.Domain.Repositories.MongoDB { BulkWriteResult updateResult; - List> replaceRequests = new List>( + var replaceRequests = new List>( softDeletedEntities.Select(entity => new ReplaceOneModel( - CreateEntityFilter(entity.Entity, true, entity.ConcurrencyStamp), entity.Entity)) + CreateEntityFilter(entity.Key, true, entity.Value), entity.Key)) ); if (dbContext.SessionHandle != null) @@ -407,14 +419,14 @@ namespace Volo.Abp.Domain.Repositories.MongoDB { deleteResult = await collection.DeleteManyAsync( dbContext.SessionHandle, - CreateEntitiesFilter(hardDeletedEntities) - ); + CreateEntitiesFilter(hardDeletedEntities), + cancellationToken: cancellationToken); } else { deleteResult = await collection.DeleteManyAsync( - CreateEntitiesFilter(hardDeletedEntities) - ); + CreateEntitiesFilter(hardDeletedEntities), + cancellationToken: cancellationToken); } if (deleteResult.DeletedCount < hardDeletedEntitiesCount) @@ -482,9 +494,11 @@ namespace Volo.Abp.Domain.Repositories.MongoDB bool includeDetails = true, CancellationToken cancellationToken = default) { + cancellationToken = GetCancellationToken(cancellationToken); + return await (await GetMongoQueryableAsync(cancellationToken)) .Where(predicate) - .SingleOrDefaultAsync(GetCancellationToken(cancellationToken)); + .SingleOrDefaultAsync(cancellationToken); } [Obsolete("Use GetMongoQueryableAsync method.")] @@ -499,6 +513,8 @@ namespace Volo.Abp.Domain.Repositories.MongoDB public async Task> GetMongoQueryableAsync(CancellationToken cancellationToken = default) { + cancellationToken = GetCancellationToken(cancellationToken); + var dbContext = await GetDbContextAsync(cancellationToken); var collection = dbContext.Collection(); @@ -511,6 +527,8 @@ namespace Volo.Abp.Domain.Repositories.MongoDB public async Task> GetAggregateAsync(CancellationToken cancellationToken = default) { + cancellationToken = GetCancellationToken(cancellationToken); + var dbContext = await GetDbContextAsync(cancellationToken); var collection = await GetCollectionAsync(cancellationToken); @@ -693,13 +711,13 @@ namespace Volo.Abp.Domain.Repositories.MongoDB [Obsolete("This method will be removed in future versions.")] public IAsyncCursor ToCursor(CancellationToken cancellationToken = new CancellationToken()) { - return GetMongoQueryable().ToCursor(cancellationToken); + return GetMongoQueryable().ToCursor(GetCancellationToken(cancellationToken)); } [Obsolete("This method will be removed in future versions.")] public Task> ToCursorAsync(CancellationToken cancellationToken = new CancellationToken()) { - return GetMongoQueryable().ToCursorAsync(cancellationToken); + return GetMongoQueryable().ToCursorAsync(GetCancellationToken(cancellationToken)); } } @@ -722,7 +740,7 @@ namespace Volo.Abp.Domain.Repositories.MongoDB bool includeDetails = true, CancellationToken cancellationToken = default) { - var entity = await FindAsync(id, includeDetails, cancellationToken); + var entity = await FindAsync(id, includeDetails, GetCancellationToken(cancellationToken)); if (entity == null) { @@ -778,10 +796,9 @@ namespace Volo.Abp.Domain.Repositories.MongoDB return RepositoryFilterer.CreateEntityFilter(entity, withConcurrencyStamp, concurrencyStamp); } - // todo: This method should consider concurrencyStamp protected override FilterDefinition CreateEntitiesFilter(IEnumerable entities, bool withConcurrencyStamp = false) { - return RepositoryFilterer.CreateEntitiesFilter(entities); + return RepositoryFilterer.CreateEntitiesFilter(entities, withConcurrencyStamp); } } } From a8b4e0dfa9bea041f674d2a92aadd3498913cc42 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Halil=20=C4=B0brahim=20Kalkan?= Date: Tue, 2 Feb 2021 11:31:21 +0300 Subject: [PATCH 176/217] Seed identity & permission data for a tenant via event handlers. --- .../Entities/Events/Distributed/EtoBase.cs | 0 .../Volo/Abp/MultiTenancy/TenantCreatedEto.cs | 4 +- .../Abp/Identity/AbpIdentityDomainModule.cs | 18 ++++- .../Volo/Abp/Identity/AbpIdentityOptions.cs | 5 ++ .../Volo/Abp/Identity/IdentityDataSeeder.cs | 79 ++++++++++--------- .../Identity/IdentityTenantCreatedHandler.cs | 32 ++++++++ .../Abp/Identity/PasswordOptionsExtensions.cs | 35 ++++++++ .../AbpPermissionManagementDomainModule.cs | 23 +++++- .../PermissionDataSeedContributor.cs | 1 - .../PermissionManagementOptions.cs | 6 +- .../PermissionTenantCreatedHandler.cs | 38 +++++++++ 11 files changed, 197 insertions(+), 44 deletions(-) rename framework/src/{Volo.Abp.Ddd.Domain => Volo.Abp.EventBus.Abstractions}/Volo/Abp/Domain/Entities/Events/Distributed/EtoBase.cs (100%) create mode 100644 modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/IdentityTenantCreatedHandler.cs create mode 100644 modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/PasswordOptionsExtensions.cs create mode 100644 modules/permission-management/src/Volo.Abp.PermissionManagement.Domain/Volo/Abp/PermissionManagement/PermissionTenantCreatedHandler.cs diff --git a/framework/src/Volo.Abp.Ddd.Domain/Volo/Abp/Domain/Entities/Events/Distributed/EtoBase.cs b/framework/src/Volo.Abp.EventBus.Abstractions/Volo/Abp/Domain/Entities/Events/Distributed/EtoBase.cs similarity index 100% rename from framework/src/Volo.Abp.Ddd.Domain/Volo/Abp/Domain/Entities/Events/Distributed/EtoBase.cs rename to framework/src/Volo.Abp.EventBus.Abstractions/Volo/Abp/Domain/Entities/Events/Distributed/EtoBase.cs diff --git a/framework/src/Volo.Abp.MultiTenancy/Volo/Abp/MultiTenancy/TenantCreatedEto.cs b/framework/src/Volo.Abp.MultiTenancy/Volo/Abp/MultiTenancy/TenantCreatedEto.cs index 6cd1544d8c..317995c971 100644 --- a/framework/src/Volo.Abp.MultiTenancy/Volo/Abp/MultiTenancy/TenantCreatedEto.cs +++ b/framework/src/Volo.Abp.MultiTenancy/Volo/Abp/MultiTenancy/TenantCreatedEto.cs @@ -1,10 +1,12 @@ using System; +using Volo.Abp.Domain.Entities.Events.Distributed; using Volo.Abp.EventBus; namespace Volo.Abp.MultiTenancy { + [Serializable] [EventName("abp.multi_tenancy.tenant.created")] - public class TenantCreatedEto + public class TenantCreatedEto : EtoBase { public Guid Id { get; set; } diff --git a/modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/AbpIdentityDomainModule.cs b/modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/AbpIdentityDomainModule.cs index 4269ae2e01..6c2197b38d 100644 --- a/modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/AbpIdentityDomainModule.cs +++ b/modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/AbpIdentityDomainModule.cs @@ -1,10 +1,12 @@ -using Microsoft.AspNetCore.Identity; +using System.Collections.Generic; +using Microsoft.AspNetCore.Identity; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.DependencyInjection.Extensions; using Microsoft.Extensions.Options; using Volo.Abp.AutoMapper; using Volo.Abp.Domain; using Volo.Abp.Domain.Entities.Events.Distributed; +using Volo.Abp.EventBus.Distributed; using Volo.Abp.Modularity; using Volo.Abp.ObjectExtending; using Volo.Abp.ObjectExtending.Modularity; @@ -57,6 +59,20 @@ namespace Volo.Abp.Identity }); context.Services.AddAbpDynamicOptions(); + + Configure(options => + { + var serviceProvider = context.Services.GetServiceProviderOrNull(); + if (serviceProvider != null) + { + var abpIdentityOptions = serviceProvider.GetRequiredService>().Value; + if (!abpIdentityOptions.IsDistributedEventHandlingEnabled) + { + var identityDomainAssembly = typeof(AbpIdentityDomainModule).Assembly; + options.Handlers.RemoveAll(x => x.Assembly == identityDomainAssembly); + } + } + }); } public override void PostConfigureServices(ServiceConfigurationContext context) diff --git a/modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/AbpIdentityOptions.cs b/modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/AbpIdentityOptions.cs index 6cfaf75c0c..36b7ba587a 100644 --- a/modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/AbpIdentityOptions.cs +++ b/modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/AbpIdentityOptions.cs @@ -4,6 +4,11 @@ { public ExternalLoginProviderDictionary ExternalLoginProviders { get; } + /// + /// Default: true. + /// + public bool IsDistributedEventHandlingEnabled { get; } = true; + public AbpIdentityOptions() { ExternalLoginProviders = new ExternalLoginProviderDictionary(); diff --git a/modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/IdentityDataSeeder.cs b/modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/IdentityDataSeeder.cs index f6bed1b914..9051dc7d66 100644 --- a/modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/IdentityDataSeeder.cs +++ b/modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/IdentityDataSeeder.cs @@ -49,58 +49,61 @@ namespace Volo.Abp.Identity Check.NotNullOrWhiteSpace(adminEmail, nameof(adminEmail)); Check.NotNullOrWhiteSpace(adminPassword, nameof(adminPassword)); - await IdentityOptions.SetAsync(); - - var result = new IdentityDataSeedResult(); - using (CurrentTenant.Change(tenantId)) { - //"admin" user - const string adminUserName = "admin"; - var adminUser = await UserRepository.FindByNormalizedUserNameAsync( - LookupNormalizer.NormalizeName(adminUserName) - ); + await IdentityOptions.SetAsync(); - if (adminUser != null) + using (IdentityOptions.Value.Password.ClearRequirements()) { - return result; - } + var result = new IdentityDataSeedResult(); + //"admin" user + const string adminUserName = "admin"; + var adminUser = await UserRepository.FindByNormalizedUserNameAsync( + LookupNormalizer.NormalizeName(adminUserName) + ); - adminUser = new IdentityUser( - GuidGenerator.Create(), - adminUserName, - adminEmail, - tenantId - ) - { - Name = adminUserName - }; - - (await UserManager.CreateAsync(adminUser, adminPassword)).CheckErrors(); - result.CreatedAdminUser = true; + if (adminUser != null) + { + return result; + } - //"admin" role - const string adminRoleName = "admin"; - var adminRole = await RoleRepository.FindByNormalizedNameAsync(LookupNormalizer.NormalizeName(adminRoleName)); - if (adminRole == null) - { - adminRole = new IdentityRole( + adminUser = new IdentityUser( GuidGenerator.Create(), - adminRoleName, + adminUserName, + adminEmail, tenantId ) { - IsStatic = true, - IsPublic = true + Name = adminUserName }; - (await RoleManager.CreateAsync(adminRole)).CheckErrors(); - result.CreatedAdminRole = true; - } + (await UserManager.CreateAsync(adminUser, adminPassword)).CheckErrors(); + result.CreatedAdminUser = true; + + //"admin" role + const string adminRoleName = "admin"; + var adminRole = + await RoleRepository.FindByNormalizedNameAsync(LookupNormalizer.NormalizeName(adminRoleName)); + if (adminRole == null) + { + adminRole = new IdentityRole( + GuidGenerator.Create(), + adminRoleName, + tenantId + ) + { + IsStatic = true, + IsPublic = true + }; - (await UserManager.AddToRoleAsync(adminUser, adminRoleName)).CheckErrors(); + (await RoleManager.CreateAsync(adminRole)).CheckErrors(); + result.CreatedAdminRole = true; + } - return result; + (await UserManager.AddToRoleAsync(adminUser, adminRoleName)).CheckErrors(); + + return result; + } } } } diff --git a/modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/IdentityTenantCreatedHandler.cs b/modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/IdentityTenantCreatedHandler.cs new file mode 100644 index 0000000000..92a0be629c --- /dev/null +++ b/modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/IdentityTenantCreatedHandler.cs @@ -0,0 +1,32 @@ +using System.Threading.Tasks; +using AutoMapper.Internal; +using Microsoft.Extensions.Logging; +using Microsoft.Extensions.Logging.Abstractions; +using Volo.Abp.DependencyInjection; +using Volo.Abp.EventBus.Distributed; +using Volo.Abp.MultiTenancy; + +namespace Volo.Abp.Identity +{ + public class IdentityTenantCreatedHandler : IDistributedEventHandler, ITransientDependency + { + public ILogger Logger { get; set; } + + protected IIdentityDataSeeder IdentityDataSeeder { get; } + + public IdentityTenantCreatedHandler(IIdentityDataSeeder identityDataSeeder) + { + IdentityDataSeeder = identityDataSeeder; + Logger = NullLogger.Instance; + } + + public async Task HandleEventAsync(TenantCreatedEto eventData) + { + await IdentityDataSeeder.SeedAsync( + eventData.Properties.GetOrDefault("AdminEmail") as string ?? "admin@abp.io", + eventData.Properties.GetOrDefault("AdminPassword") as string ?? "1q2w3E*", + eventData.Id + ); + } + } +} diff --git a/modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/PasswordOptionsExtensions.cs b/modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/PasswordOptionsExtensions.cs new file mode 100644 index 0000000000..793cc6349e --- /dev/null +++ b/modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/PasswordOptionsExtensions.cs @@ -0,0 +1,35 @@ +using System; +using Microsoft.AspNetCore.Identity; + +namespace Volo.Abp.Identity +{ + public static class PasswordOptionsExtensions + { + public static IDisposable ClearRequirements(this PasswordOptions options) + { + var oldRequireDigit = options.RequireDigit; + var oldRequiredLength = options.RequiredLength; + var oldRequireLowercase = options.RequireLowercase; + var oldRequireUppercase = options.RequireUppercase; + var oldRequiredUniqueChars = options.RequiredUniqueChars; + var oldRequireNonAlphanumeric = options.RequireNonAlphanumeric; + + options.RequireDigit = false; + options.RequiredLength = 1; + options.RequireLowercase = false; + options.RequireUppercase = false; + options.RequiredUniqueChars = 1; + options.RequireNonAlphanumeric = false; + + return new DisposeAction(() => + { + options.RequireDigit = oldRequireDigit; + options.RequiredLength = oldRequiredLength; + options.RequireLowercase = oldRequireLowercase; + options.RequireUppercase = oldRequireUppercase; + options.RequiredUniqueChars = oldRequiredUniqueChars; + options.RequireNonAlphanumeric = oldRequireNonAlphanumeric; + }); + } + } +} diff --git a/modules/permission-management/src/Volo.Abp.PermissionManagement.Domain/Volo/Abp/PermissionManagement/AbpPermissionManagementDomainModule.cs b/modules/permission-management/src/Volo.Abp.PermissionManagement.Domain/Volo/Abp/PermissionManagement/AbpPermissionManagementDomainModule.cs index c199a2130b..5b3eb9f40f 100644 --- a/modules/permission-management/src/Volo.Abp.PermissionManagement.Domain/Volo/Abp/PermissionManagement/AbpPermissionManagementDomainModule.cs +++ b/modules/permission-management/src/Volo.Abp.PermissionManagement.Domain/Volo/Abp/PermissionManagement/AbpPermissionManagementDomainModule.cs @@ -1,6 +1,10 @@ -using Volo.Abp.Authorization; +using System.Collections.Generic; +using Microsoft.Extensions.DependencyInjection; +using Microsoft.Extensions.Options; +using Volo.Abp.Authorization; using Volo.Abp.Caching; using Volo.Abp.Domain; +using Volo.Abp.EventBus.Distributed; using Volo.Abp.Json; using Volo.Abp.Modularity; @@ -13,6 +17,21 @@ namespace Volo.Abp.PermissionManagement [DependsOn(typeof(AbpJsonModule))] public class AbpPermissionManagementDomainModule : AbpModule { - + public override void ConfigureServices(ServiceConfigurationContext context) + { + Configure(options => + { + var serviceProvider = context.Services.GetServiceProviderOrNull(); + if (serviceProvider != null) + { + var abpIdentityOptions = serviceProvider.GetRequiredService>().Value; + if (!abpIdentityOptions.IsDistributedEventHandlingEnabled) + { + var identityDomainAssembly = typeof(AbpPermissionManagementDomainModule).Assembly; + options.Handlers.RemoveAll(x => x.Assembly == identityDomainAssembly); + } + } + }); + } } } diff --git a/modules/permission-management/src/Volo.Abp.PermissionManagement.Domain/Volo/Abp/PermissionManagement/PermissionDataSeedContributor.cs b/modules/permission-management/src/Volo.Abp.PermissionManagement.Domain/Volo/Abp/PermissionManagement/PermissionDataSeedContributor.cs index ac8274d445..8260df895f 100644 --- a/modules/permission-management/src/Volo.Abp.PermissionManagement.Domain/Volo/Abp/PermissionManagement/PermissionDataSeedContributor.cs +++ b/modules/permission-management/src/Volo.Abp.PermissionManagement.Domain/Volo/Abp/PermissionManagement/PermissionDataSeedContributor.cs @@ -10,7 +10,6 @@ namespace Volo.Abp.PermissionManagement public class PermissionDataSeedContributor : IDataSeedContributor, ITransientDependency { protected ICurrentTenant CurrentTenant { get; } - protected IPermissionDefinitionManager PermissionDefinitionManager { get; } protected IPermissionDataSeeder PermissionDataSeeder { get; } diff --git a/modules/permission-management/src/Volo.Abp.PermissionManagement.Domain/Volo/Abp/PermissionManagement/PermissionManagementOptions.cs b/modules/permission-management/src/Volo.Abp.PermissionManagement.Domain/Volo/Abp/PermissionManagement/PermissionManagementOptions.cs index 674f5daa88..c36cde49ee 100644 --- a/modules/permission-management/src/Volo.Abp.PermissionManagement.Domain/Volo/Abp/PermissionManagement/PermissionManagementOptions.cs +++ b/modules/permission-management/src/Volo.Abp.PermissionManagement.Domain/Volo/Abp/PermissionManagement/PermissionManagementOptions.cs @@ -5,11 +5,15 @@ namespace Volo.Abp.PermissionManagement { public class PermissionManagementOptions { - //TODO: rename to Providers public ITypeList ManagementProviders { get; } public Dictionary ProviderPolicies { get; } + /// + /// Default: true. + /// + public bool IsDistributedEventHandlingEnabled { get; } = true; + public PermissionManagementOptions() { ManagementProviders = new TypeList(); diff --git a/modules/permission-management/src/Volo.Abp.PermissionManagement.Domain/Volo/Abp/PermissionManagement/PermissionTenantCreatedHandler.cs b/modules/permission-management/src/Volo.Abp.PermissionManagement.Domain/Volo/Abp/PermissionManagement/PermissionTenantCreatedHandler.cs new file mode 100644 index 0000000000..8962574434 --- /dev/null +++ b/modules/permission-management/src/Volo.Abp.PermissionManagement.Domain/Volo/Abp/PermissionManagement/PermissionTenantCreatedHandler.cs @@ -0,0 +1,38 @@ +using System.Linq; +using System.Threading.Tasks; +using Volo.Abp.Authorization.Permissions; +using Volo.Abp.DependencyInjection; +using Volo.Abp.EventBus.Distributed; +using Volo.Abp.MultiTenancy; + +namespace Volo.Abp.PermissionManagement +{ + public class PermissionTenantCreatedHandler : IDistributedEventHandler, ITransientDependency + { + protected IPermissionDefinitionManager PermissionDefinitionManager { get; } + protected IPermissionDataSeeder PermissionDataSeeder { get; } + + public PermissionTenantCreatedHandler(IPermissionDefinitionManager permissionDefinitionManager, IPermissionDataSeeder permissionDataSeeder) + { + PermissionDefinitionManager = permissionDefinitionManager; + PermissionDataSeeder = permissionDataSeeder; + } + + public async Task HandleEventAsync(TenantCreatedEto eventData) + { + var permissionNames = PermissionDefinitionManager + .GetPermissions() + .Where(p => p.MultiTenancySide.HasFlag(MultiTenancySides.Tenant)) + .Where(p => !p.Providers.Any() || p.Providers.Contains(RolePermissionValueProvider.ProviderName)) + .Select(p => p.Name) + .ToArray(); + + await PermissionDataSeeder.SeedAsync( + RolePermissionValueProvider.ProviderName, + "admin", + permissionNames, + eventData.Id + ); + } + } +} From 5809e343b46572e2ebdcca39d61fb54847777a6c Mon Sep 17 00:00:00 2001 From: Ilkay Ilknur Date: Tue, 2 Feb 2021 11:36:07 +0300 Subject: [PATCH 177/217] add catch-all route for pages and do not handle root. --- .../src/Volo.CmsKit.Public.Web/CmsKitPublicWebModule.cs | 5 ++++- .../Volo.CmsKit.Public.Web/Pages/CmsKit/Pages/Index.cshtml | 2 +- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/modules/cms-kit/src/Volo.CmsKit.Public.Web/CmsKitPublicWebModule.cs b/modules/cms-kit/src/Volo.CmsKit.Public.Web/CmsKitPublicWebModule.cs index 7833e6aa3e..953102aa79 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Public.Web/CmsKitPublicWebModule.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Public.Web/CmsKitPublicWebModule.cs @@ -55,12 +55,15 @@ namespace Volo.CmsKit.Public.Web { options.AddMaps(validate: true); }); + } + public override void PostConfigureServices(ServiceConfigurationContext context) + { Configure(options => { if (GlobalFeatureManager.Instance.IsEnabled()) { - options.Conventions.AddPageRoute("/CmsKit/Pages/Index", @"/{pageUrl}"); + options.Conventions.AddPageRoute("/CmsKit/Pages/Index", @"{*pageUrl:minlength(1)}"); } }); } diff --git a/modules/cms-kit/src/Volo.CmsKit.Public.Web/Pages/CmsKit/Pages/Index.cshtml b/modules/cms-kit/src/Volo.CmsKit.Public.Web/Pages/CmsKit/Pages/Index.cshtml index c31edaaba8..73c7637b01 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Public.Web/Pages/CmsKit/Pages/Index.cshtml +++ b/modules/cms-kit/src/Volo.CmsKit.Public.Web/Pages/CmsKit/Pages/Index.cshtml @@ -1,4 +1,4 @@ -@page "{pageUrl}" +@page "{*pageUrl}" @using Microsoft.AspNetCore.Mvc.Localization @using Volo.CmsKit.Localization @using Volo.CmsKit.Public.Web.Pages.CmsKit.Shared.Components.Pages From 6413691c0e9fda04119c54f6efdf7424f2cd9d74 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Halil=20=C4=B0brahim=20Kalkan?= Date: Tue, 2 Feb 2021 15:13:25 +0300 Subject: [PATCH 178/217] Cancel event handlers in identity and permission modules. --- .../NullTenantDatabaseSchemaMigrator.cs | 13 ------- .../TenantDatabaseSchemaMigrator.cs | 13 ------- .../Abp/Identity/AbpIdentityDomainModule.cs | 15 -------- .../Volo/Abp/Identity/AbpIdentityOptions.cs | 5 --- .../Identity/IdentityTenantCreatedHandler.cs | 32 ---------------- .../AbpPermissionManagementDomainModule.cs | 18 +-------- .../PermissionManagementOptions.cs | 5 --- .../PermissionTenantCreatedHandler.cs | 38 ------------------- 8 files changed, 1 insertion(+), 138 deletions(-) delete mode 100644 framework/src/Volo.Abp.MultiTenancy/Volo/Abp/MultiTenancy/NullTenantDatabaseSchemaMigrator.cs delete mode 100644 framework/src/Volo.Abp.MultiTenancy/Volo/Abp/MultiTenancy/TenantDatabaseSchemaMigrator.cs delete mode 100644 modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/IdentityTenantCreatedHandler.cs delete mode 100644 modules/permission-management/src/Volo.Abp.PermissionManagement.Domain/Volo/Abp/PermissionManagement/PermissionTenantCreatedHandler.cs diff --git a/framework/src/Volo.Abp.MultiTenancy/Volo/Abp/MultiTenancy/NullTenantDatabaseSchemaMigrator.cs b/framework/src/Volo.Abp.MultiTenancy/Volo/Abp/MultiTenancy/NullTenantDatabaseSchemaMigrator.cs deleted file mode 100644 index 7d5e76f11b..0000000000 --- a/framework/src/Volo.Abp.MultiTenancy/Volo/Abp/MultiTenancy/NullTenantDatabaseSchemaMigrator.cs +++ /dev/null @@ -1,13 +0,0 @@ -using System.Threading.Tasks; -using Volo.Abp.DependencyInjection; - -namespace Volo.Abp.MultiTenancy -{ - public class NullTenantDatabaseSchemaMigrator : ITenantDatabaseSchemaMigrator, ISingletonDependency - { - public Task MigrateAsync() - { - return Task.CompletedTask; - } - } -} \ No newline at end of file diff --git a/framework/src/Volo.Abp.MultiTenancy/Volo/Abp/MultiTenancy/TenantDatabaseSchemaMigrator.cs b/framework/src/Volo.Abp.MultiTenancy/Volo/Abp/MultiTenancy/TenantDatabaseSchemaMigrator.cs deleted file mode 100644 index e6fef5c427..0000000000 --- a/framework/src/Volo.Abp.MultiTenancy/Volo/Abp/MultiTenancy/TenantDatabaseSchemaMigrator.cs +++ /dev/null @@ -1,13 +0,0 @@ -using System.Threading.Tasks; - -namespace Volo.Abp.MultiTenancy -{ - public interface ITenantDatabaseSchemaMigrator - { - /// - /// Set Current Tenant before calling this method. - /// - /// - Task MigrateAsync(); - } -} diff --git a/modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/AbpIdentityDomainModule.cs b/modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/AbpIdentityDomainModule.cs index 6c2197b38d..4326d1aeb8 100644 --- a/modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/AbpIdentityDomainModule.cs +++ b/modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/AbpIdentityDomainModule.cs @@ -6,7 +6,6 @@ using Microsoft.Extensions.Options; using Volo.Abp.AutoMapper; using Volo.Abp.Domain; using Volo.Abp.Domain.Entities.Events.Distributed; -using Volo.Abp.EventBus.Distributed; using Volo.Abp.Modularity; using Volo.Abp.ObjectExtending; using Volo.Abp.ObjectExtending.Modularity; @@ -59,20 +58,6 @@ namespace Volo.Abp.Identity }); context.Services.AddAbpDynamicOptions(); - - Configure(options => - { - var serviceProvider = context.Services.GetServiceProviderOrNull(); - if (serviceProvider != null) - { - var abpIdentityOptions = serviceProvider.GetRequiredService>().Value; - if (!abpIdentityOptions.IsDistributedEventHandlingEnabled) - { - var identityDomainAssembly = typeof(AbpIdentityDomainModule).Assembly; - options.Handlers.RemoveAll(x => x.Assembly == identityDomainAssembly); - } - } - }); } public override void PostConfigureServices(ServiceConfigurationContext context) diff --git a/modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/AbpIdentityOptions.cs b/modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/AbpIdentityOptions.cs index 36b7ba587a..6cfaf75c0c 100644 --- a/modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/AbpIdentityOptions.cs +++ b/modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/AbpIdentityOptions.cs @@ -4,11 +4,6 @@ { public ExternalLoginProviderDictionary ExternalLoginProviders { get; } - /// - /// Default: true. - /// - public bool IsDistributedEventHandlingEnabled { get; } = true; - public AbpIdentityOptions() { ExternalLoginProviders = new ExternalLoginProviderDictionary(); diff --git a/modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/IdentityTenantCreatedHandler.cs b/modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/IdentityTenantCreatedHandler.cs deleted file mode 100644 index 92a0be629c..0000000000 --- a/modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/IdentityTenantCreatedHandler.cs +++ /dev/null @@ -1,32 +0,0 @@ -using System.Threading.Tasks; -using AutoMapper.Internal; -using Microsoft.Extensions.Logging; -using Microsoft.Extensions.Logging.Abstractions; -using Volo.Abp.DependencyInjection; -using Volo.Abp.EventBus.Distributed; -using Volo.Abp.MultiTenancy; - -namespace Volo.Abp.Identity -{ - public class IdentityTenantCreatedHandler : IDistributedEventHandler, ITransientDependency - { - public ILogger Logger { get; set; } - - protected IIdentityDataSeeder IdentityDataSeeder { get; } - - public IdentityTenantCreatedHandler(IIdentityDataSeeder identityDataSeeder) - { - IdentityDataSeeder = identityDataSeeder; - Logger = NullLogger.Instance; - } - - public async Task HandleEventAsync(TenantCreatedEto eventData) - { - await IdentityDataSeeder.SeedAsync( - eventData.Properties.GetOrDefault("AdminEmail") as string ?? "admin@abp.io", - eventData.Properties.GetOrDefault("AdminPassword") as string ?? "1q2w3E*", - eventData.Id - ); - } - } -} diff --git a/modules/permission-management/src/Volo.Abp.PermissionManagement.Domain/Volo/Abp/PermissionManagement/AbpPermissionManagementDomainModule.cs b/modules/permission-management/src/Volo.Abp.PermissionManagement.Domain/Volo/Abp/PermissionManagement/AbpPermissionManagementDomainModule.cs index 5b3eb9f40f..f437802c6b 100644 --- a/modules/permission-management/src/Volo.Abp.PermissionManagement.Domain/Volo/Abp/PermissionManagement/AbpPermissionManagementDomainModule.cs +++ b/modules/permission-management/src/Volo.Abp.PermissionManagement.Domain/Volo/Abp/PermissionManagement/AbpPermissionManagementDomainModule.cs @@ -4,7 +4,6 @@ using Microsoft.Extensions.Options; using Volo.Abp.Authorization; using Volo.Abp.Caching; using Volo.Abp.Domain; -using Volo.Abp.EventBus.Distributed; using Volo.Abp.Json; using Volo.Abp.Modularity; @@ -17,21 +16,6 @@ namespace Volo.Abp.PermissionManagement [DependsOn(typeof(AbpJsonModule))] public class AbpPermissionManagementDomainModule : AbpModule { - public override void ConfigureServices(ServiceConfigurationContext context) - { - Configure(options => - { - var serviceProvider = context.Services.GetServiceProviderOrNull(); - if (serviceProvider != null) - { - var abpIdentityOptions = serviceProvider.GetRequiredService>().Value; - if (!abpIdentityOptions.IsDistributedEventHandlingEnabled) - { - var identityDomainAssembly = typeof(AbpPermissionManagementDomainModule).Assembly; - options.Handlers.RemoveAll(x => x.Assembly == identityDomainAssembly); - } - } - }); - } + } } diff --git a/modules/permission-management/src/Volo.Abp.PermissionManagement.Domain/Volo/Abp/PermissionManagement/PermissionManagementOptions.cs b/modules/permission-management/src/Volo.Abp.PermissionManagement.Domain/Volo/Abp/PermissionManagement/PermissionManagementOptions.cs index c36cde49ee..2e29ab9c29 100644 --- a/modules/permission-management/src/Volo.Abp.PermissionManagement.Domain/Volo/Abp/PermissionManagement/PermissionManagementOptions.cs +++ b/modules/permission-management/src/Volo.Abp.PermissionManagement.Domain/Volo/Abp/PermissionManagement/PermissionManagementOptions.cs @@ -9,11 +9,6 @@ namespace Volo.Abp.PermissionManagement public Dictionary ProviderPolicies { get; } - /// - /// Default: true. - /// - public bool IsDistributedEventHandlingEnabled { get; } = true; - public PermissionManagementOptions() { ManagementProviders = new TypeList(); diff --git a/modules/permission-management/src/Volo.Abp.PermissionManagement.Domain/Volo/Abp/PermissionManagement/PermissionTenantCreatedHandler.cs b/modules/permission-management/src/Volo.Abp.PermissionManagement.Domain/Volo/Abp/PermissionManagement/PermissionTenantCreatedHandler.cs deleted file mode 100644 index 8962574434..0000000000 --- a/modules/permission-management/src/Volo.Abp.PermissionManagement.Domain/Volo/Abp/PermissionManagement/PermissionTenantCreatedHandler.cs +++ /dev/null @@ -1,38 +0,0 @@ -using System.Linq; -using System.Threading.Tasks; -using Volo.Abp.Authorization.Permissions; -using Volo.Abp.DependencyInjection; -using Volo.Abp.EventBus.Distributed; -using Volo.Abp.MultiTenancy; - -namespace Volo.Abp.PermissionManagement -{ - public class PermissionTenantCreatedHandler : IDistributedEventHandler, ITransientDependency - { - protected IPermissionDefinitionManager PermissionDefinitionManager { get; } - protected IPermissionDataSeeder PermissionDataSeeder { get; } - - public PermissionTenantCreatedHandler(IPermissionDefinitionManager permissionDefinitionManager, IPermissionDataSeeder permissionDataSeeder) - { - PermissionDefinitionManager = permissionDefinitionManager; - PermissionDataSeeder = permissionDataSeeder; - } - - public async Task HandleEventAsync(TenantCreatedEto eventData) - { - var permissionNames = PermissionDefinitionManager - .GetPermissions() - .Where(p => p.MultiTenancySide.HasFlag(MultiTenancySides.Tenant)) - .Where(p => !p.Providers.Any() || p.Providers.Contains(RolePermissionValueProvider.ProviderName)) - .Select(p => p.Name) - .ToArray(); - - await PermissionDataSeeder.SeedAsync( - RolePermissionValueProvider.ProviderName, - "admin", - permissionNames, - eventData.Id - ); - } - } -} From f57c4c8b47f13dc3732c79bf64c81262208ed6ce Mon Sep 17 00:00:00 2001 From: maliming Date: Tue, 2 Feb 2021 20:41:14 +0800 Subject: [PATCH 179/217] Add data-datepicker attribute to ignore initialize Datepickers. Resolve #7571 --- .../bootstrap/dom-event-handlers.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared/wwwroot/libs/abp/aspnetcore-mvc-ui-theme-shared/bootstrap/dom-event-handlers.js b/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared/wwwroot/libs/abp/aspnetcore-mvc-ui-theme-shared/bootstrap/dom-event-handlers.js index 431d9093f7..a4e7405385 100644 --- a/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared/wwwroot/libs/abp/aspnetcore-mvc-ui-theme-shared/bootstrap/dom-event-handlers.js +++ b/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared/wwwroot/libs/abp/aspnetcore-mvc-ui-theme-shared/bootstrap/dom-event-handlers.js @@ -159,7 +159,7 @@ abp.dom.initializers.initializeDatepickers = function ($rootElement) { $rootElement - .findWithSelf('input.datepicker,input[type=date]') + .findWithSelf('input.datepicker,input[type=date][data-datepicker!=false]') .each(function () { var $input = $(this); $input From 1b6b6c6758555b40015f874aaa088b073e830233 Mon Sep 17 00:00:00 2001 From: maliming Date: Tue, 2 Feb 2021 20:44:54 +0800 Subject: [PATCH 180/217] Rename data-datepicker to abp-data-datepicker. --- .../bootstrap/dom-event-handlers.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared/wwwroot/libs/abp/aspnetcore-mvc-ui-theme-shared/bootstrap/dom-event-handlers.js b/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared/wwwroot/libs/abp/aspnetcore-mvc-ui-theme-shared/bootstrap/dom-event-handlers.js index a4e7405385..55c604cf4a 100644 --- a/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared/wwwroot/libs/abp/aspnetcore-mvc-ui-theme-shared/bootstrap/dom-event-handlers.js +++ b/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared/wwwroot/libs/abp/aspnetcore-mvc-ui-theme-shared/bootstrap/dom-event-handlers.js @@ -159,7 +159,7 @@ abp.dom.initializers.initializeDatepickers = function ($rootElement) { $rootElement - .findWithSelf('input.datepicker,input[type=date][data-datepicker!=false]') + .findWithSelf('input.datepicker,input[type=date][abp-data-datepicker!=false]') .each(function () { var $input = $(this); $input From f5fadcb41057f0486d4712a89d6e4bcb8e528346 Mon Sep 17 00:00:00 2001 From: mehmet-erim Date: Tue, 2 Feb 2021 15:56:02 +0300 Subject: [PATCH 181/217] fix ng-bootstrap modal closing problem --- .../theme-shared/src/lib/components/modal/modal.component.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/npm/ng-packs/packages/theme-shared/src/lib/components/modal/modal.component.ts b/npm/ng-packs/packages/theme-shared/src/lib/components/modal/modal.component.ts index 0142adeb25..c5829c8e79 100644 --- a/npm/ng-packs/packages/theme-shared/src/lib/components/modal/modal.component.ts +++ b/npm/ng-packs/packages/theme-shared/src/lib/components/modal/modal.component.ts @@ -154,6 +154,7 @@ export class ModalComponent implements OnDestroy { } ngOnDestroy(): void { + this.toggle(false); this.destroy$.next(); } From 89a3d558a2c06a914ca2655f340c4b0f50b0dd8f Mon Sep 17 00:00:00 2001 From: mehmet-erim Date: Tue, 2 Feb 2021 15:56:09 +0300 Subject: [PATCH 182/217] update yarn.lock --- npm/ng-packs/yarn.lock | 100 ++++++++++++++++++++--------------------- 1 file changed, 50 insertions(+), 50 deletions(-) diff --git a/npm/ng-packs/yarn.lock b/npm/ng-packs/yarn.lock index c87d4f36e2..bae49929de 100644 --- a/npm/ng-packs/yarn.lock +++ b/npm/ng-packs/yarn.lock @@ -2,12 +2,12 @@ # yarn lockfile v1 -"@abp/ng.core@~4.2.0-rc.2": - version "4.2.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/ng.core/-/ng.core-4.2.0-rc.2.tgz#d5ae888cd6beba0ab7cc92a9759e8f3b4095f5dc" - integrity sha512-uPsxulybSdGyBpR08d9XR3i/YdG/ILvo1Gzyz2wTOG/gay12hh/p83S50kWeBuPkh8uOiT3ezO9BY/GPVrRI+Q== +"@abp/ng.core@~4.2.0": + version "4.2.0" + resolved "https://registry.yarnpkg.com/@abp/ng.core/-/ng.core-4.2.0.tgz#cd6848291699b9bc60303c58162074d80a0c4428" + integrity sha512-HhTpOeK5RdzlfK5zy5t7v68DDqNqAB75if6E4Lt2CwgY8pQUuY0EIzD0+AXhkC5+bjyULNHV2/HW3q/Fm75TVg== dependencies: - "@abp/utils" "^4.2.0-rc.1" + "@abp/utils" "^4.2.0-rc.2" "@angular/localize" "~10.0.10" "@ngxs/store" "^3.7.0" angular-oauth2-oidc "^10.0.0" @@ -17,35 +17,35 @@ ts-toolbelt "6.15.4" tslib "^2.0.0" -"@abp/ng.feature-management@~4.2.0-rc.2": - version "4.2.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/ng.feature-management/-/ng.feature-management-4.2.0-rc.2.tgz#c0273a07f73d95e7133ec90c1facd5de51121430" - integrity sha512-sGQfh0plQGtm3qCGYs1qmCtWt2EOwVgRyUcNd2ipzorH55S5/dX7or9dYKZofPz7GF55FohbfpxBqnKnBo0WOQ== +"@abp/ng.feature-management@~4.2.0": + version "4.2.0" + resolved "https://registry.yarnpkg.com/@abp/ng.feature-management/-/ng.feature-management-4.2.0.tgz#2c89d64845533c23560325f806289c131457ced9" + integrity sha512-IftgAecb2bygNQhMCvQ6m6BxTq7eAvKE36jBZ1s72S658PtO9xx1LIjCql/QNKyu8YpI88Uc5OXZM8mJOVsYuw== dependencies: - "@abp/ng.theme.shared" "~4.2.0-rc.2" + "@abp/ng.theme.shared" "~4.2.0" tslib "^2.0.0" -"@abp/ng.identity@~4.2.0-rc.2": - version "4.2.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/ng.identity/-/ng.identity-4.2.0-rc.2.tgz#fe20f05b60980561218f8357df55c00d85af8eb2" - integrity sha512-zrY5oPhDq8lPcvDvxYM/hS5CtRj71Zlu04Slz4f+ljlStWHBOBZx1VVBl4OQvbDGxDGC04Pf2Sj3PtppEU28gw== +"@abp/ng.identity@~4.2.0": + version "4.2.0" + resolved "https://registry.yarnpkg.com/@abp/ng.identity/-/ng.identity-4.2.0.tgz#e6e321545a612b37f7f1ff8d0df43086319e77fa" + integrity sha512-yNSxscWa9Po9H+7b7m94oAzMNLe360yJq9s/yw2EhEnkUTJ5bBbbrnSKK35NNRhziYp9V5CwYsW7uhjxQ3NGqQ== dependencies: - "@abp/ng.permission-management" "~4.2.0-rc.2" - "@abp/ng.theme.shared" "~4.2.0-rc.2" + "@abp/ng.permission-management" "~4.2.0" + "@abp/ng.theme.shared" "~4.2.0" tslib "^2.0.0" -"@abp/ng.permission-management@~4.2.0-rc.2": - version "4.2.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/ng.permission-management/-/ng.permission-management-4.2.0-rc.2.tgz#771285283bf3c82dcdd6a07ef444ada73b918d4a" - integrity sha512-FSMSiXGhalTMZIJzQCS6fYRdFH2eVmk73aPeFn1NnMxNdhzCXfbsHpX/lVes+UMw7CddEEgriv0GQYi8dYMnDw== +"@abp/ng.permission-management@~4.2.0": + version "4.2.0" + resolved "https://registry.yarnpkg.com/@abp/ng.permission-management/-/ng.permission-management-4.2.0.tgz#ad2970796b8b1aecfcd5b0a0136c508a0e18e9d4" + integrity sha512-wG26+7clnqll7d2+Uypd4xleA2DjpSkkctMOGai7EDaHqgVFDjfX3lZHtz/u7Xt9y9wHltGhqONjh/FuRkrgBA== dependencies: - "@abp/ng.theme.shared" "~4.2.0-rc.2" + "@abp/ng.theme.shared" "~4.2.0" tslib "^2.0.0" -"@abp/ng.schematics@~4.2.0-rc.2": - version "4.2.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/ng.schematics/-/ng.schematics-4.2.0-rc.2.tgz#93774148f57964c72498fa060c04eb99f6c3987d" - integrity sha512-Ul/+nPTnGpNhi0NMfeYY9fDnsTVzVxP4iSIdqXevPxugeY6pqCefC84i0XHdkVsxIi1UR7VP84tqE9SCv7KnCw== +"@abp/ng.schematics@~4.2.0": + version "4.2.0" + resolved "https://registry.yarnpkg.com/@abp/ng.schematics/-/ng.schematics-4.2.0.tgz#db1a8ae787cf028452774a51cb62e784a1670e25" + integrity sha512-44bDoLRqDzcJ/X75KH1O0AoQev7zKh0IkAe4N7KQNgjgRiIuWe3h/SQPfqTSlZNT2ZYo/SZMZyX5Nv8OSKXydg== dependencies: "@angular-devkit/core" "~11.0.2" "@angular-devkit/schematics" "~11.0.2" @@ -53,37 +53,37 @@ jsonc-parser "^2.3.0" typescript "~3.9.2" -"@abp/ng.setting-management@~4.2.0-rc.2": - version "4.2.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/ng.setting-management/-/ng.setting-management-4.2.0-rc.2.tgz#a7c5bb30e881f8efe702fcc8f3b95bf442b0289a" - integrity sha512-5sOk19EzFBIIdeTAx6EEmgh2pYOj5oRXq6uuAOmGVzZiX7arFoyqvTR4OAypIBQdMlZ0Iv4EApvJLD6/1IIrqw== +"@abp/ng.setting-management@~4.2.0": + version "4.2.0" + resolved "https://registry.yarnpkg.com/@abp/ng.setting-management/-/ng.setting-management-4.2.0.tgz#4a4b685ee74ac5030b7e9e73ee67110219df9065" + integrity sha512-Ldl+I2jWgMuQdMOnnOBIfk0OoTao5QN9zzQwCGMPgu7dOGjD8IT9h9CpkG4ROKw9YAT1R+P8QlQ6502jQWOMYQ== dependencies: - "@abp/ng.theme.shared" "~4.2.0-rc.2" + "@abp/ng.theme.shared" "~4.2.0" tslib "^2.0.0" -"@abp/ng.tenant-management@~4.2.0-rc.2": - version "4.2.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/ng.tenant-management/-/ng.tenant-management-4.2.0-rc.2.tgz#dc5c019f16ac679589dbeac85317628ec6682096" - integrity sha512-O2Lb0Fe+L11yC69DAcgX4hY6KwI9ojaDnPTFxGtvvTjaUVKnxxchQrJwP0ITsudZe5cWKbF7cME3b3uH4jorBA== +"@abp/ng.tenant-management@~4.2.0": + version "4.2.0" + resolved "https://registry.yarnpkg.com/@abp/ng.tenant-management/-/ng.tenant-management-4.2.0.tgz#e42aa4b81036c653abcc0144b74c287587a4ec9f" + integrity sha512-EWfwKAH4wjA37xigikXzI+jTNGopV3WEP/ezQj1KO7pbW1peiTXwIPHN7GDc8MJ6f2olZki7kXypzmgJn9A6KQ== dependencies: - "@abp/ng.feature-management" "~4.2.0-rc.2" - "@abp/ng.theme.shared" "~4.2.0-rc.2" + "@abp/ng.feature-management" "~4.2.0" + "@abp/ng.theme.shared" "~4.2.0" tslib "^2.0.0" -"@abp/ng.theme.basic@~4.2.0-rc.2": - version "4.2.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/ng.theme.basic/-/ng.theme.basic-4.2.0-rc.2.tgz#83c6ae4d0d95fc0271386a02c2f22531325c3b26" - integrity sha512-VGEDWIIRnmHPrhcjIhhBcqILI8NUsuVIX7K5XfJUuf3WmEzH9Ru9Yyi81AYZNuBNXNAjyjRH/nIxwljnHxO8bA== +"@abp/ng.theme.basic@~4.2.0": + version "4.2.0" + resolved "https://registry.yarnpkg.com/@abp/ng.theme.basic/-/ng.theme.basic-4.2.0.tgz#bc239a9c014cca926c80196eb751a40ceeb7446c" + integrity sha512-xTy/AjuPujVNVb/cUenwRiKAS/BoYRR2Hh+AMksfgndIPMUEXYtJ8eSG+XOAtu0+QE/QI5RYk7FzcbfxDBeuvQ== dependencies: - "@abp/ng.theme.shared" "~4.2.0-rc.2" + "@abp/ng.theme.shared" "~4.2.0" tslib "^2.0.0" -"@abp/ng.theme.shared@~4.2.0-rc.2": - version "4.2.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/ng.theme.shared/-/ng.theme.shared-4.2.0-rc.2.tgz#935ca3aa32d8ced85d277139ce790f3cc3faa184" - integrity sha512-UjYPd6KL3bO9PN9XEmBlKQSc0C3EJsLHhifoV+rgtqAHvortOygSHHknOthRA4PN+cg2/PiuWA5gpvMHP1K7Ow== +"@abp/ng.theme.shared@~4.2.0": + version "4.2.0" + resolved "https://registry.yarnpkg.com/@abp/ng.theme.shared/-/ng.theme.shared-4.2.0.tgz#4b7925c61224d4d1b182c50e11ef915b50b78dda" + integrity sha512-LfatA+lk/Wn6MOAZlHlJIiTH5uxqRWBl4QyWXhFrXhYYpJG4je06Y9KA3h+BP4dIQIe06gwAVYpE7D/ur3CbEQ== dependencies: - "@abp/ng.core" "~4.2.0-rc.2" + "@abp/ng.core" "~4.2.0" "@fortawesome/fontawesome-free" "^5.14.0" "@ng-bootstrap/ng-bootstrap" "^7.0.0" "@ngx-validate/core" "^0.0.13" @@ -92,10 +92,10 @@ chart.js "^2.9.3" tslib "^2.0.0" -"@abp/utils@^4.2.0-rc.1": - version "4.2.0-rc.1" - resolved "https://registry.yarnpkg.com/@abp/utils/-/utils-4.2.0-rc.1.tgz#397615ec208150f46ae626b67ea71053750f612f" - integrity sha512-MkXq5pKf/ZzJJT9oHYgBlUOL5wTx03qdxJeD82nxwJx6w5JFdshBWKj5iJixE1aM5HnzwSGn7bxFqe5QOKST+Q== +"@abp/utils@^4.2.0": + version "4.2.0" + resolved "https://registry.yarnpkg.com/@abp/utils/-/utils-4.2.0.tgz#073330e3e3f6ee61892f50260e48dbe1b05df35e" + integrity sha512-75qR3SdiAa75wqleAx9sUMXLj4m9duuBo5+2sVv7Y29GcEyKUPvm8B1s6tksvSGA0e3vnFTHeVEc10eD1xKHSQ== dependencies: just-compare "^1.3.0" From cea97c23191abd4e40a3ed526b6fe073e1850ee8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Halil=20=C4=B0brahim=20Kalkan?= Date: Tue, 2 Feb 2021 16:00:04 +0300 Subject: [PATCH 183/217] Create TenantConnectionStringUpdatedEto.cs --- .../TenantConnectionStringUpdatedEto.cs | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 framework/src/Volo.Abp.MultiTenancy/Volo/Abp/MultiTenancy/TenantConnectionStringUpdatedEto.cs diff --git a/framework/src/Volo.Abp.MultiTenancy/Volo/Abp/MultiTenancy/TenantConnectionStringUpdatedEto.cs b/framework/src/Volo.Abp.MultiTenancy/Volo/Abp/MultiTenancy/TenantConnectionStringUpdatedEto.cs new file mode 100644 index 0000000000..022343821b --- /dev/null +++ b/framework/src/Volo.Abp.MultiTenancy/Volo/Abp/MultiTenancy/TenantConnectionStringUpdatedEto.cs @@ -0,0 +1,21 @@ +using System; +using Volo.Abp.Domain.Entities.Events.Distributed; +using Volo.Abp.EventBus; + +namespace Volo.Abp.MultiTenancy +{ + [Serializable] + [EventName("abp.multi_tenancy.tenant.connection_string.updated")] + public class TenantConnectionStringUpdatedEto : EtoBase + { + public Guid Id { get; set; } + + public string Name { get; set; } + + public string ConnectionStringName { get; set; } + + public string OldValue { get; set; } + + public string NewValue { get; set; } + } +} From 183b4a7058dfb70f7e48007707e6ef68dde27d09 Mon Sep 17 00:00:00 2001 From: muhammedaltug Date: Tue, 2 Feb 2021 17:40:01 +0300 Subject: [PATCH 184/217] Permission service should filter granted policies from list of policy resolve #7572 --- .../core/src/lib/services/permission.service.ts | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/npm/ng-packs/packages/core/src/lib/services/permission.service.ts b/npm/ng-packs/packages/core/src/lib/services/permission.service.ts index c549c5a7a8..af6a8e3d46 100644 --- a/npm/ng-packs/packages/core/src/lib/services/permission.service.ts +++ b/npm/ng-packs/packages/core/src/lib/services/permission.service.ts @@ -19,6 +19,17 @@ export class PermissionService { return this.isPolicyGranted(key, policies); } + filterGrantedPolicies(policyKeys: Array) { + const policies = this.getSnapshot(); + return policyKeys.filter(key => this.isPolicyGranted(key, policies)); + } + + filterGrantedPolicies$(policyKeys: Array) { + return this.getStream().pipe( + map(policies => policyKeys.filter(key => this.isPolicyGranted(key, policies))), + ); + } + protected isPolicyGranted(key: string, grantedPolicies: Record) { if (!key) return true; From 143a9788c737fd2c0c82481dde535ad01640625f Mon Sep 17 00:00:00 2001 From: muhammedaltug Date: Tue, 2 Feb 2021 18:55:35 +0300 Subject: [PATCH 185/217] filter fn modified to filter given items by policy --- .../packages/core/src/lib/models/common.ts | 4 ++++ .../core/src/lib/services/permission.service.ts | 15 +++++++++++---- 2 files changed, 15 insertions(+), 4 deletions(-) diff --git a/npm/ng-packs/packages/core/src/lib/models/common.ts b/npm/ng-packs/packages/core/src/lib/models/common.ts index d4d44faae0..db03b1cea7 100644 --- a/npm/ng-packs/packages/core/src/lib/models/common.ts +++ b/npm/ng-packs/packages/core/src/lib/models/common.ts @@ -12,6 +12,10 @@ export namespace ABP { sendNullsAsQueryParam?: boolean; } + export interface HasPolicy { + requiredPolicy?: string; + } + export interface Test extends Partial { baseHref?: string; listQueryDebounceTime?: number; diff --git a/npm/ng-packs/packages/core/src/lib/services/permission.service.ts b/npm/ng-packs/packages/core/src/lib/services/permission.service.ts index af6a8e3d46..b47c29ed61 100644 --- a/npm/ng-packs/packages/core/src/lib/services/permission.service.ts +++ b/npm/ng-packs/packages/core/src/lib/services/permission.service.ts @@ -3,6 +3,7 @@ import { map } from 'rxjs/operators'; import snq from 'snq'; import { ApplicationConfigurationDto } from '../proxy/volo/abp/asp-net-core/mvc/application-configurations/models'; import { ConfigStateService } from './config-state.service'; +import { ABP } from '../models'; @Injectable({ providedIn: 'root' }) export class PermissionService { @@ -19,14 +20,20 @@ export class PermissionService { return this.isPolicyGranted(key, policies); } - filterGrantedPolicies(policyKeys: Array) { + filterItemsByPolicy(items: Array) { const policies = this.getSnapshot(); - return policyKeys.filter(key => this.isPolicyGranted(key, policies)); + return items.filter( + item => !item.requiredPolicy || this.isPolicyGranted(item.requiredPolicy, policies), + ); } - filterGrantedPolicies$(policyKeys: Array) { + filterItemsByPolicy$(items: Array) { return this.getStream().pipe( - map(policies => policyKeys.filter(key => this.isPolicyGranted(key, policies))), + map(policies => + items.filter( + item => !item.requiredPolicy || this.isPolicyGranted(item.requiredPolicy, policies), + ), + ), ); } From 8c70f3593033c85592a7ec33d73c0babf4eabeed Mon Sep 17 00:00:00 2001 From: muhammedaltug Date: Tue, 2 Feb 2021 19:02:58 +0300 Subject: [PATCH 186/217] import changed --- .../packages/core/src/lib/services/permission.service.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/npm/ng-packs/packages/core/src/lib/services/permission.service.ts b/npm/ng-packs/packages/core/src/lib/services/permission.service.ts index b47c29ed61..eb6b3fc75e 100644 --- a/npm/ng-packs/packages/core/src/lib/services/permission.service.ts +++ b/npm/ng-packs/packages/core/src/lib/services/permission.service.ts @@ -3,7 +3,7 @@ import { map } from 'rxjs/operators'; import snq from 'snq'; import { ApplicationConfigurationDto } from '../proxy/volo/abp/asp-net-core/mvc/application-configurations/models'; import { ConfigStateService } from './config-state.service'; -import { ABP } from '../models'; +import { ABP } from '../models/common'; @Injectable({ providedIn: 'root' }) export class PermissionService { From 9f1009b7cdaffb75d14c8aa2e09205eeb9992212 Mon Sep 17 00:00:00 2001 From: Arman Ozak Date: Wed, 3 Feb 2021 12:01:31 +0300 Subject: [PATCH 187/217] explain how Angular module template works --- docs/en/Startup-Templates/Module.md | 104 +++++++++++++++++- .../images/angular-module-dev-app-project.png | Bin 0 -> 55096 bytes .../angular-module-folder-structure.png | Bin 0 -> 110046 bytes 3 files changed, 103 insertions(+), 1 deletion(-) create mode 100644 docs/en/images/angular-module-dev-app-project.png create mode 100644 docs/en/images/angular-module-folder-structure.png diff --git a/docs/en/Startup-Templates/Module.md b/docs/en/Startup-Templates/Module.md index 2dc0896c65..84b7525944 100644 --- a/docs/en/Startup-Templates/Module.md +++ b/docs/en/Startup-Templates/Module.md @@ -1,4 +1,4 @@ -# MVC Module Startup Template +# Module Startup Template This template can be used to create a **reusable [application module](../Modules/Index.md)** based on the [module development best practices & conventions](../Best-Practices/Index.md). It is also suitable for creating **microservices** (with or without UI). @@ -20,6 +20,20 @@ abp new Acme.IssueManagement -t module - `Acme.IssueManagement` is the solution name, like *YourCompany.YourProduct*. You can use single level, two-levels or three-levels naming. +### Specify the UI Framework + +This template provides multiple UI frameworks: + +* `mvc`: ASP.NET Core MVC UI with Razor Pages (default) +* `blazor`: Blazor UI +* `angular`: Angular UI + +Use `-u` or `--ui` option to specify the UI framework: + +````bash +abp new Acme.IssueManagement -t module -u angular +```` + ### Without User Interface The template comes with an MVC UI by default. You can use `--no-ui` option to not include the UI layer. @@ -160,3 +174,91 @@ You should run the application with the given order: - First, run the `.IdentityServer` since other applications depends on it. - Then run the `.HttpApi.Host` since it is used by the `.Web.Host` application. - Finally, you can run the `.Web.Host` project and login to the application using `admin` as the username and `1q2w3E*` as the password. + +## UI + +### Angular UI + +If you choose `Angular` as the UI framework (using the `-u angular` option), the solution will have a folder called `angular` in it. This is where the client-side code is located. When you open that folder in an IDE, the folder structure will look like below: + +![Folder structure of ABP Angular module project](../images/angular-module-folder-structure.png) + +* _angular/projects/issue-management_ folder contains the Angular module project. +* _angular/projects/dev-app_ folder contains a development application that runs your module. + +The server-side is similar to the solution described above. `*.HttpApi.Host` project serves the API and the `Angular` demo application consumes it. You will not need to run the `.Web.Host` project though. + +#### How to Run the Angular Development App + +For module development, you will need the `dev-app` project up and running. So, here is how we can start the development server. + +First, we need to install dependencies: + +1. Open your terminal at the root folder, i.e. `angular`. +2. Run `yarn` or `npm install`. + +The dependencies will be installed and some of them are ABP modules published as NPM packages. To see all ABP packages, you can run the following command in the `angular` folder: + +```bash +yarn list --pattern abp +``` + +> There is no equivalent of this command in npm. + +The module you will develop depends on two of these ABP packages: _@abp/ng.core_ and _@abp/ng.theme.shared_. Rest of the ABP modules are included in _package.json_ because of the `dev-app` project. + +Once all dependencies are installed, follow the steps below to serve your development app: + +1. Make sure `.IdentityServer` and `*.HttpApi.Host` projects are up and running. +2. Open your terminal at the root folder, i.e. `angular`. +3. Run `yarn start` or `npm start`. + +![ABP Angular module dev-app project](../images/angular-module-dev-app-project.png) + +The issue management page is empty in the beginning. You may change the content in `IssueManagementComponent` at the _angular/projects/issue-management/src/lib/issue-management.component.ts_ path and observe that the view changes accordingly. + +Now, let's have a closer look at some key elements of your project. + +#### Main Module + +`IssueManagementModule` at the _angular/projects/issue-management/src/lib/issue-management.module.ts_ path is the main module of your module project. There are a few things worth mentioning in it: + +- Essential ABP modules, i.e. `CoreModule` and `ThemeSharedModule`, are imported. +- `IssueManagementRoutingModule` is imported. +- `IssueManagementComponent` is declared. +- It is prepared for configurability. The `forLazy` static method enables [a configuration to be passed to the module when it is loaded by the router](https://volosoft.com/blog/how-to-configure-angular-modules-loaded-by-the-router). + + +#### Main Routing Module + +`IssueManagementRoutingModule` at the _angular/projects/issue-management/src/lib/issue-management-routing.module.ts_ path is the main routing module of your module project. It currently does two things: + +- Loads `DynamicLayoutComponent` at base path it is given. +- Loads `IssueManagementComponent` as child to the layout, again at the given base path. + +You can rearrange this module to load more than one component at different routes, but you need to update the route provider at _angular/projects/issue-management/config/src/providers/route.provider.ts_ to match the new routing structure with the routes in the menu. Please check [Modifying the Menu](../UI/Angular/Modifying-the-Menu.md) to see how route providers work. + +#### Config Module + +There is a config module at the _angular/projects/issue-management/config/src/issue-management-config.module.ts_ path. The static `forRoot` method of this module is supposed to be called at the route level. So, you may assume the following will take place: + +```js +@NgModule({ + imports: [ + /* other imports */ + + IssueManagementConfigModule.forRoot(), + ], + + /* rest of the module meta data */ +}) +export class AppModule {} +``` + +You can use this static method to configure an application that uses your module project. An example of such configuration is already implemented and the `ISSUE_MANAGEMENT_ROUTE_PROVIDERS` token is provided here. The method can take options which enables further configuration possibilities. + +The difference between the `forRoot` method of the config module and the `forLazy` method of the main module is that, for smallest bundle size, the former should only be used when you have to configure an app before your module is even loaded. + +#### Testing Angular UI + +Please see the [testing document](../UI/Angular/Testing.md). diff --git a/docs/en/images/angular-module-dev-app-project.png b/docs/en/images/angular-module-dev-app-project.png new file mode 100644 index 0000000000000000000000000000000000000000..08e0e9fd6c73b018c44bf524f4f47f28297c44bb GIT binary patch literal 55096 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 Q69D|EJk?YvdW;D8A2&}E2LJ#7 literal 0 HcmV?d00001 From 9217fcf1cafb3e342b509ec69acc28db2c3253bd Mon Sep 17 00:00:00 2001 From: Oliver Cooper Date: Wed, 3 Feb 2021 15:59:15 +0000 Subject: [PATCH 188/217] Improve DataTable.Net AJAX Adapter (abp.libs.datatables.createAjax) function --- docs/en/UI/AspNetCore/Data-Tables.md | 10 +++++++++- .../datatables/datatables-extensions.js | 5 ++++- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/docs/en/UI/AspNetCore/Data-Tables.md b/docs/en/UI/AspNetCore/Data-Tables.md index b97d49d562..3dea38d179 100644 --- a/docs/en/UI/AspNetCore/Data-Tables.md +++ b/docs/en/UI/AspNetCore/Data-Tables.md @@ -110,7 +110,7 @@ The `createAjax` also supports you to customize request parameters and handle th **Example:** ````csharp -var inputAction = function () { +var inputAction = function (requestData, dataTableSettings) { return { id: $('#Id').val(), name: $('#Name').val(), @@ -131,6 +131,14 @@ var responseCallback = function(result) { ajax: abp.libs.datatables.createAjax(acme.bookStore.books.book.getList, inputAction, responseCallback) ```` +If you don't need access or modify the `requestData` or the `dataTableSettings`, you can specify a **simple object** as the second parameter. + +**Note:** This option should not be used if you need to customise any of the following options: `maxResultCount`, `skipCount`, `sorting`, `filter` - these options will be overwritten by the `createAjax` function so you should specify an `inputAction` **function** instead. + +````javascript +ajax: abp.libs.datatables.createAjax(acme.bookStore.books.book.getList, { id: $('#Id').val(), name: $('#Name').val() }) +```` + ### Row Actions `rowAction` is an option defined by the ABP Framework to the column definitions to show a drop down button to take actions for a row in the table. diff --git a/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared/wwwroot/libs/abp/aspnetcore-mvc-ui-theme-shared/datatables/datatables-extensions.js b/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared/wwwroot/libs/abp/aspnetcore-mvc-ui-theme-shared/datatables/datatables-extensions.js index 1808f267eb..9895097d99 100644 --- a/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared/wwwroot/libs/abp/aspnetcore-mvc-ui-theme-shared/datatables/datatables-extensions.js +++ b/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared/wwwroot/libs/abp/aspnetcore-mvc-ui-theme-shared/datatables/datatables-extensions.js @@ -334,7 +334,10 @@ }; } return function (requestData, callback, settings) { - var input = inputAction ? inputAction(requestData, settings) : {}; + var input = typeof inputAction === 'function' + ? inputAction(requestData, settings) + : typeof inputAction === 'object' + ? inputAction : {}; //Paging if (settings.oInit.paging) { From d367ea057f44ca19a8f8f85e8b1104b0a8594e13 Mon Sep 17 00:00:00 2001 From: Yunus Emre Kalkan Date: Thu, 4 Feb 2021 10:59:11 +0300 Subject: [PATCH 189/217] Cli source-code download remote error log --- .../Volo/Abp/Cli/ProjectBuilding/AbpIoSourceCodeStore.cs | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/AbpIoSourceCodeStore.cs b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/AbpIoSourceCodeStore.cs index 0462920fbb..4d4a8726a8 100644 --- a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/AbpIoSourceCodeStore.cs +++ b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/AbpIoSourceCodeStore.cs @@ -199,11 +199,12 @@ namespace Volo.Abp.Cli.ProjectBuilding { var url = $"{CliUrls.WwwAbpIo}api/download/{input.Type}/"; + HttpResponseMessage responseMessage = null; + try { using (var client = new CliHttpClient(TimeSpan.FromMinutes(10))) { - HttpResponseMessage responseMessage; if (input.TemplateSource.IsNullOrWhiteSpace()) { @@ -225,7 +226,8 @@ namespace Volo.Abp.Cli.ProjectBuilding } catch (Exception ex) { - Console.WriteLine("Error occured while downloading source-code from {0} : {1}", url, ex.Message); + Console.WriteLine("Error occured while downloading source-code from {0} : {1}{2}{3}", + url, responseMessage?.ToString(), Environment.NewLine, ex.Message); throw; } } From b9aaffd7db08a95614e25aa80a997f5629a5fac7 Mon Sep 17 00:00:00 2001 From: Yunus Emre Kalkan Date: Thu, 4 Feb 2021 14:50:53 +0300 Subject: [PATCH 190/217] Cli solution rename: handle company name kebab-case resolves https://github.com/abpframework/abp/issues/7586 --- .../Cli/ProjectBuilding/Building/Steps/SolutionRenameStep.cs | 2 ++ 1 file changed, 2 insertions(+) diff --git a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Building/Steps/SolutionRenameStep.cs b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Building/Steps/SolutionRenameStep.cs index 611d4d5266..ce2c8c3b2a 100644 --- a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Building/Steps/SolutionRenameStep.cs +++ b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Building/Steps/SolutionRenameStep.cs @@ -55,11 +55,13 @@ namespace Volo.Abp.Cli.ProjectBuilding.Building.Steps { RenameHelper.RenameAll(_entries, _companyNamePlaceHolder, _companyName); RenameHelper.RenameAll(_entries, _companyNamePlaceHolder.ToCamelCase(), _companyName.ToCamelCase()); + RenameHelper.RenameAll(_entries, _companyNamePlaceHolder.ToKebabCase(), _companyName.ToKebabCase()); } else { RenameHelper.RenameAll(_entries, _companyNamePlaceHolder + "." + _projectNamePlaceHolder, _projectNamePlaceHolder); RenameHelper.RenameAll(_entries, _companyNamePlaceHolder.ToCamelCase() + "." + _projectNamePlaceHolder.ToCamelCase(), _projectNamePlaceHolder.ToCamelCase()); + RenameHelper.RenameAll(_entries, _companyNamePlaceHolder.ToKebabCase() + "/" + _projectNamePlaceHolder.ToKebabCase(), _projectNamePlaceHolder.ToKebabCase()); } } From 25ae8b12d8ad40baae3a579f419cfc1e7f77e547 Mon Sep 17 00:00:00 2001 From: Alper Ebicoglu Date: Fri, 5 Feb 2021 20:31:50 +0300 Subject: [PATCH 191/217] Make CliHttpClient singleton #7618 --- .../Volo/Abp/Cli/Commands/LoginCommand.cs | 25 +++++----- .../Volo/Abp/Cli/Http/CliHttpClient.cs | 8 +-- .../Volo/Abp/Cli/Http/CliHttpClientFactory.cs | 47 ++++++++++++++++++ .../Abp/Cli/Licensing/AbpIoApiKeyService.cs | 24 ++++----- .../Volo/Abp/Cli/NuGet/NuGetService.cs | 29 +++++------ .../Analyticses/CliAnalyticsCollect.cs | 40 ++++++++------- .../Cli/ProjectBuilding/ModuleInfoProvider.cs | 25 +++++----- .../ProjectBuilding/TemplateInfoProvider.cs | 24 ++++----- .../ProjectNugetPackageAdder.cs | 21 ++++---- .../SolutionModuleAdder.cs | 49 ++++++++++--------- 10 files changed, 179 insertions(+), 113 deletions(-) create mode 100644 framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Http/CliHttpClientFactory.cs 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 12810aebb9..f03c101c88 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 @@ -22,13 +22,17 @@ namespace Volo.Abp.Cli.Commands public ICancellationTokenProvider CancellationTokenProvider { get; } public IRemoteServiceExceptionHandler RemoteServiceExceptionHandler { get; } + private readonly CliHttpClientFactory _cliHttpClientFactory; + public LoginCommand(AuthService authService, ICancellationTokenProvider cancellationTokenProvider, - IRemoteServiceExceptionHandler remoteServiceExceptionHandler) + IRemoteServiceExceptionHandler remoteServiceExceptionHandler, + CliHttpClientFactory cliHttpClientFactory) { AuthService = authService; CancellationTokenProvider = cancellationTokenProvider; RemoteServiceExceptionHandler = remoteServiceExceptionHandler; + _cliHttpClientFactory = cliHttpClientFactory; Logger = NullLogger.Instance; } @@ -79,20 +83,19 @@ namespace Volo.Abp.Cli.Commands { var url = $"{CliUrls.WwwAbpIo}api/license/check-multiple-organizations?username={username}"; - using (var client = new CliHttpClient()) + var client = _cliHttpClientFactory.CreateClient(); + + using (var response = await client.GetHttpResponseMessageWithRetryAsync(url, CancellationTokenProvider.Token, Logger)) { - using (var response = await client.GetHttpResponseMessageWithRetryAsync(url, CancellationTokenProvider.Token, Logger)) + if (!response.IsSuccessStatusCode) { - if (!response.IsSuccessStatusCode) - { - throw new Exception($"ERROR: Remote server returns '{response.StatusCode}'"); - } + throw new Exception($"ERROR: Remote server returns '{response.StatusCode}'"); + } - await RemoteServiceExceptionHandler.EnsureSuccessfulHttpResponseAsync(response); + await RemoteServiceExceptionHandler.EnsureSuccessfulHttpResponseAsync(response); - var responseContent = await response.Content.ReadAsStringAsync(); - return JsonSerializer.Deserialize(responseContent); - } + var responseContent = await response.Content.ReadAsStringAsync(); + return JsonSerializer.Deserialize(responseContent); } } diff --git a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Http/CliHttpClient.cs b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Http/CliHttpClient.cs index d853067abf..1122648ff2 100644 --- a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Http/CliHttpClient.cs +++ b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Http/CliHttpClient.cs @@ -22,7 +22,7 @@ namespace Volo.Abp.Cli.Http { Timeout = timeout ?? DefaultTimeout; - AddAuthentication(this); + AddAuthentication(); } public CliHttpClient(bool setBearerToken) : base(new CliHttpClientHandler()) @@ -31,11 +31,11 @@ namespace Volo.Abp.Cli.Http if (setBearerToken) { - AddAuthentication(this); + AddAuthentication(); } } - private static void AddAuthentication(HttpClient client) + public void AddAuthentication() { if (!AuthService.IsLoggedIn()) { @@ -45,7 +45,7 @@ namespace Volo.Abp.Cli.Http var accessToken = File.ReadAllText(CliPaths.AccessToken, Encoding.UTF8); if (!accessToken.IsNullOrEmpty()) { - client.SetBearerToken(accessToken); + this.SetBearerToken(accessToken); } } diff --git a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Http/CliHttpClientFactory.cs b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Http/CliHttpClientFactory.cs new file mode 100644 index 0000000000..3748e8e64a --- /dev/null +++ b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Http/CliHttpClientFactory.cs @@ -0,0 +1,47 @@ +using System; +using Volo.Abp.DependencyInjection; + +namespace Volo.Abp.Cli.Http +{ + public class CliHttpClientFactory : ISingletonDependency, IDisposable + { + private static CliHttpClient _authenticatedHttpClient; + private static CliHttpClient _unauthenticatedHttpClient; + + public CliHttpClient CreateClient(bool needsAuthentication = true) + { + if (needsAuthentication) + { + return CreateAuthenticatedHttpClient(); + } + + return CreateUnAuthenticatedHttpClient(); + } + + private static CliHttpClient CreateAuthenticatedHttpClient() + { + if (_authenticatedHttpClient == null) + { + _authenticatedHttpClient = new CliHttpClient(setBearerToken: true); + } + + return _authenticatedHttpClient; + } + + private static CliHttpClient CreateUnAuthenticatedHttpClient() + { + if (_unauthenticatedHttpClient == null) + { + _unauthenticatedHttpClient = new CliHttpClient(setBearerToken: false); + } + + return _unauthenticatedHttpClient; + } + + public void Dispose() + { + _authenticatedHttpClient?.Dispose(); + _unauthenticatedHttpClient?.Dispose(); + } + } +} \ No newline at end of file diff --git a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Licensing/AbpIoApiKeyService.cs b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Licensing/AbpIoApiKeyService.cs index 2aeb8ed90a..5ff4d39d4f 100644 --- a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Licensing/AbpIoApiKeyService.cs +++ b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Licensing/AbpIoApiKeyService.cs @@ -25,16 +25,19 @@ namespace Volo.Abp.Cli.Licensing private readonly ILogger _logger; private DeveloperApiKeyResult _apiKeyResult = null; + private readonly CliHttpClientFactory _cliHttpClientFactory; public AbpIoApiKeyService( IJsonSerializer jsonSerializer, ICancellationTokenProvider cancellationTokenProvider, IRemoteServiceExceptionHandler remoteServiceExceptionHandler, - ILogger logger) + ILogger logger, + CliHttpClientFactory cliHttpClientFactory) { JsonSerializer = jsonSerializer; RemoteServiceExceptionHandler = remoteServiceExceptionHandler; _logger = logger; + _cliHttpClientFactory = cliHttpClientFactory; CancellationTokenProvider = cancellationTokenProvider; } @@ -56,22 +59,21 @@ namespace Volo.Abp.Cli.Licensing } var url = $"{CliUrls.WwwAbpIo}api/license/api-key"; + var client = _cliHttpClientFactory.CreateClient(); - using (var client = new CliHttpClient()) + using (var response = await client.GetHttpResponseMessageWithRetryAsync(url, CancellationTokenProvider.Token, _logger)) { - using (var response = await client.GetHttpResponseMessageWithRetryAsync(url, CancellationTokenProvider.Token, _logger)) + if (!response.IsSuccessStatusCode) { - if (!response.IsSuccessStatusCode) - { - throw new Exception($"ERROR: Remote server returns '{response.StatusCode}'"); - } + throw new Exception($"ERROR: Remote server returns '{response.StatusCode}'"); + } - await RemoteServiceExceptionHandler.EnsureSuccessfulHttpResponseAsync(response); + await RemoteServiceExceptionHandler.EnsureSuccessfulHttpResponseAsync(response); - var responseContent = await response.Content.ReadAsStringAsync(); - return JsonSerializer.Deserialize(responseContent); - } + var responseContent = await response.Content.ReadAsStringAsync(); + return JsonSerializer.Deserialize(responseContent); } + } } } \ No newline at end of file diff --git a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/NuGet/NuGetService.cs b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/NuGet/NuGetService.cs index 057ffcc02d..7907baaa2d 100644 --- a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/NuGet/NuGetService.cs +++ b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/NuGet/NuGetService.cs @@ -23,6 +23,7 @@ namespace Volo.Abp.Cli.NuGet protected ICancellationTokenProvider CancellationTokenProvider { get; } protected IRemoteServiceExceptionHandler RemoteServiceExceptionHandler { get; } private readonly IApiKeyService _apiKeyService; + private readonly CliHttpClientFactory _cliHttpClientFactory; private List _proPackageList; private DeveloperApiKeyResult _apiKeyResult; @@ -30,12 +31,14 @@ namespace Volo.Abp.Cli.NuGet IJsonSerializer jsonSerializer, IRemoteServiceExceptionHandler remoteServiceExceptionHandler, ICancellationTokenProvider cancellationTokenProvider, - IApiKeyService apiKeyService) + IApiKeyService apiKeyService, + CliHttpClientFactory cliHttpClientFactory) { JsonSerializer = jsonSerializer; RemoteServiceExceptionHandler = remoteServiceExceptionHandler; CancellationTokenProvider = cancellationTokenProvider; _apiKeyService = apiKeyService; + _cliHttpClientFactory = cliHttpClientFactory; Logger = NullLogger.Instance; } @@ -93,18 +96,17 @@ namespace Volo.Abp.Cli.NuGet url = $"https://api.nuget.org/v3-flatcontainer/{packageId.ToLowerInvariant()}/index.json"; } - using (var client = new CliHttpClient(setBearerToken: false)) + var client = _cliHttpClientFactory.CreateClient(needsAuthentication: false); + + using (var responseMessage = await client.GetHttpResponseMessageWithRetryAsync( + url, + cancellationToken: CancellationTokenProvider.Token, + logger: Logger + )) { - using (var responseMessage = await client.GetHttpResponseMessageWithRetryAsync( - url, - cancellationToken: CancellationTokenProvider.Token, - logger: Logger - )) - { - await RemoteServiceExceptionHandler.EnsureSuccessfulHttpResponseAsync(responseMessage); - var responseContent = await responseMessage.Content.ReadAsStringAsync(); - return JsonSerializer.Deserialize(responseContent).Versions; - } + await RemoteServiceExceptionHandler.EnsureSuccessfulHttpResponseAsync(responseMessage); + var responseContent = await responseMessage.Content.ReadAsStringAsync(); + return JsonSerializer.Deserialize(responseContent).Versions; } } @@ -120,9 +122,8 @@ namespace Volo.Abp.Cli.NuGet private async Task> GetProPackageListAsync() { - using var client = new CliHttpClient(); - var url = $"{CliUrls.WwwAbpIo}api/app/nugetPackage/proPackageNames"; + var client = _cliHttpClientFactory.CreateClient(needsAuthentication: true); using (var responseMessage = await client.GetHttpResponseMessageWithRetryAsync( url: url, diff --git a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Analyticses/CliAnalyticsCollect.cs b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Analyticses/CliAnalyticsCollect.cs index 621631af2a..e97d7443d4 100644 --- a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Analyticses/CliAnalyticsCollect.cs +++ b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Analyticses/CliAnalyticsCollect.cs @@ -18,15 +18,18 @@ namespace Volo.Abp.Cli.ProjectBuilding.Analyticses private readonly IJsonSerializer _jsonSerializer; private readonly ILogger _logger; private readonly IRemoteServiceExceptionHandler _remoteServiceExceptionHandler; + private readonly CliHttpClientFactory _cliHttpClientFactory; public CliAnalyticsCollect( ICancellationTokenProvider cancellationTokenProvider, IJsonSerializer jsonSerializer, - IRemoteServiceExceptionHandler remoteServiceExceptionHandler) + IRemoteServiceExceptionHandler remoteServiceExceptionHandler, + CliHttpClientFactory cliHttpClientFactory) { _cancellationTokenProvider = cancellationTokenProvider; _jsonSerializer = jsonSerializer; _remoteServiceExceptionHandler = remoteServiceExceptionHandler; + _cliHttpClientFactory = cliHttpClientFactory; _logger = NullLogger.Instance; } @@ -34,32 +37,31 @@ namespace Volo.Abp.Cli.ProjectBuilding.Analyticses { var postData = _jsonSerializer.Serialize(input); var url = $"{CliUrls.WwwAbpIo}api/clianalytics/collect"; - + try { - using (var client = new CliHttpClient()) - { - var responseMessage = await client.PostAsync( - url, - new StringContent(postData, Encoding.UTF8, MimeTypes.Application.Json), - _cancellationTokenProvider.Token - ); + var client = _cliHttpClientFactory.CreateClient(); - if (!responseMessage.IsSuccessStatusCode) - { - var exceptionMessage = "Remote server returns '" + (int)responseMessage.StatusCode + "-" + responseMessage.ReasonPhrase + "'. "; - var remoteServiceErrorMessage = await _remoteServiceExceptionHandler.GetAbpRemoteServiceErrorAsync(responseMessage); + var responseMessage = await client.PostAsync( + url, + new StringContent(postData, Encoding.UTF8, MimeTypes.Application.Json), + _cancellationTokenProvider.Token + ); - if (remoteServiceErrorMessage != null) - { - exceptionMessage += remoteServiceErrorMessage; - } + if (!responseMessage.IsSuccessStatusCode) + { + var exceptionMessage = "Remote server returns '" + (int)responseMessage.StatusCode + "-" + responseMessage.ReasonPhrase + "'. "; + var remoteServiceErrorMessage = await _remoteServiceExceptionHandler.GetAbpRemoteServiceErrorAsync(responseMessage); - _logger.LogInformation(exceptionMessage); + if (remoteServiceErrorMessage != null) + { + exceptionMessage += remoteServiceErrorMessage; } + + _logger.LogInformation(exceptionMessage); } } - catch (Exception ex) + catch (Exception) { // ignored } diff --git a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/ModuleInfoProvider.cs b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/ModuleInfoProvider.cs index 81bc704151..92bbe728c0 100644 --- a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/ModuleInfoProvider.cs +++ b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/ModuleInfoProvider.cs @@ -16,14 +16,18 @@ namespace Volo.Abp.Cli.ProjectBuilding public ICancellationTokenProvider CancellationTokenProvider { get; } public IRemoteServiceExceptionHandler RemoteServiceExceptionHandler { get; } + private readonly CliHttpClientFactory _cliHttpClientFactory; + public ModuleInfoProvider( IJsonSerializer jsonSerializer, ICancellationTokenProvider cancellationTokenProvider, - IRemoteServiceExceptionHandler remoteServiceExceptionHandler) + IRemoteServiceExceptionHandler remoteServiceExceptionHandler, + CliHttpClientFactory cliHttpClientFactory) { JsonSerializer = jsonSerializer; CancellationTokenProvider = cancellationTokenProvider; RemoteServiceExceptionHandler = remoteServiceExceptionHandler; + _cliHttpClientFactory = cliHttpClientFactory; } public async Task GetAsync(string name) @@ -47,17 +51,16 @@ namespace Volo.Abp.Cli.ProjectBuilding private async Task> GetModuleListInternalAsync() { - using (var client = new CliHttpClient()) + var client = _cliHttpClientFactory.CreateClient(); + + using (var responseMessage = await client.GetAsync( + $"{CliUrls.WwwAbpIo}api/download/modules/", + CancellationTokenProvider.Token + )) { - using (var responseMessage = await client.GetAsync( - $"{CliUrls.WwwAbpIo}api/download/modules/", - CancellationTokenProvider.Token - )) - { - await RemoteServiceExceptionHandler.EnsureSuccessfulHttpResponseAsync(responseMessage); - var result = await responseMessage.Content.ReadAsStringAsync(); - return JsonSerializer.Deserialize>(result); - } + await RemoteServiceExceptionHandler.EnsureSuccessfulHttpResponseAsync(responseMessage); + var result = await responseMessage.Content.ReadAsStringAsync(); + return JsonSerializer.Deserialize>(result); } } } diff --git a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/TemplateInfoProvider.cs b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/TemplateInfoProvider.cs index b9308dd707..1a4bf3c05a 100644 --- a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/TemplateInfoProvider.cs +++ b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/TemplateInfoProvider.cs @@ -24,13 +24,17 @@ namespace Volo.Abp.Cli.ProjectBuilding public IRemoteServiceExceptionHandler RemoteServiceExceptionHandler { get; } public AuthService AuthService { get; } + private readonly CliHttpClientFactory _cliHttpClientFactory; + public TemplateInfoProvider(ICancellationTokenProvider cancellationTokenProvider, IRemoteServiceExceptionHandler remoteServiceExceptionHandler, - AuthService authService) + AuthService authService, + CliHttpClientFactory cliHttpClientFactory) { CancellationTokenProvider = cancellationTokenProvider; RemoteServiceExceptionHandler = remoteServiceExceptionHandler; AuthService = authService; + _cliHttpClientFactory = cliHttpClientFactory; Logger = NullLogger.Instance; } @@ -76,21 +80,19 @@ namespace Volo.Abp.Cli.ProjectBuilding try { var url = $"{CliUrls.WwwAbpIo}api/license/check-user"; + var client = _cliHttpClientFactory.CreateClient(); - using (var client = new CliHttpClient()) + using (var response = await client.GetHttpResponseMessageWithRetryAsync(url, CancellationTokenProvider.Token, Logger)) { - using (var response = await client.GetHttpResponseMessageWithRetryAsync(url, CancellationTokenProvider.Token, Logger)) + if (!response.IsSuccessStatusCode) { - if (!response.IsSuccessStatusCode) - { - throw new Exception($"ERROR: Remote server returns '{response.StatusCode}'"); - } + throw new Exception($"ERROR: Remote server returns '{response.StatusCode}'"); + } - await RemoteServiceExceptionHandler.EnsureSuccessfulHttpResponseAsync(response); + await RemoteServiceExceptionHandler.EnsureSuccessfulHttpResponseAsync(response); - var responseContent = await response.Content.ReadAsStringAsync(); - return JsonSerializer.Deserialize(responseContent); - } + var responseContent = await response.Content.ReadAsStringAsync(); + return JsonSerializer.Deserialize(responseContent); } } catch (Exception) diff --git a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectModification/ProjectNugetPackageAdder.cs b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectModification/ProjectNugetPackageAdder.cs index ee736f3aa0..5e039f7f3f 100644 --- a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectModification/ProjectNugetPackageAdder.cs +++ b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectModification/ProjectNugetPackageAdder.cs @@ -21,13 +21,15 @@ namespace Volo.Abp.Cli.ProjectModification public class ProjectNugetPackageAdder : ITransientDependency { public ILogger Logger { get; set; } + public BundleCommand BundleCommand { get; } protected IJsonSerializer JsonSerializer { get; } protected ProjectNpmPackageAdder NpmPackageAdder { get; } protected DerivedClassFinder ModuleClassFinder { get; } protected ModuleClassDependcyAdder ModuleClassDependcyAdder { get; } protected IRemoteServiceExceptionHandler RemoteServiceExceptionHandler { get; } - public BundleCommand BundleCommand { get; } + + private readonly CliHttpClientFactory _cliHttpClientFactory; public ProjectNugetPackageAdder( IJsonSerializer jsonSerializer, @@ -35,7 +37,8 @@ namespace Volo.Abp.Cli.ProjectModification DerivedClassFinder moduleClassFinder, ModuleClassDependcyAdder moduleClassDependcyAdder, IRemoteServiceExceptionHandler remoteServiceExceptionHandler, - BundleCommand bundleCommand) + BundleCommand bundleCommand, + CliHttpClientFactory cliHttpClientFactory) { JsonSerializer = jsonSerializer; NpmPackageAdder = npmPackageAdder; @@ -43,6 +46,7 @@ namespace Volo.Abp.Cli.ProjectModification ModuleClassDependcyAdder = moduleClassDependcyAdder; RemoteServiceExceptionHandler = remoteServiceExceptionHandler; BundleCommand = bundleCommand; + _cliHttpClientFactory = cliHttpClientFactory; Logger = NullLogger.Instance; } @@ -121,7 +125,7 @@ namespace Volo.Abp.Cli.ProjectModification private Task AddToCsprojManuallyAsync(string projectFile, NugetPackageInfo package, string version = null) { var projectFileContent = File.ReadAllText(projectFile); - var doc = new XmlDocument() {PreserveWhitespace = true}; + var doc = new XmlDocument() { PreserveWhitespace = true }; doc.Load(StreamHelper.GenerateStreamFromString(projectFileContent)); var itemGroupNodes = doc.SelectNodes("/Project/ItemGroup"); @@ -162,7 +166,7 @@ namespace Volo.Abp.Cli.ProjectModification private string GetAbpVersionOrNull(string projectFileContent) { - var doc = new XmlDocument() {PreserveWhitespace = true}; + var doc = new XmlDocument() { PreserveWhitespace = true }; doc.Load(StreamHelper.GenerateStreamFromString(projectFileContent)); @@ -173,12 +177,11 @@ namespace Volo.Abp.Cli.ProjectModification protected virtual async Task FindNugetPackageInfoAsync(string packageName) { - using (var client = new CliHttpClient()) - { - var url = $"{CliUrls.WwwAbpIo}api/app/nugetPackage/byName/?name=" + packageName; - - var response = await client.GetAsync(url); + var url = $"{CliUrls.WwwAbpIo}api/app/nugetPackage/byName/?name=" + packageName; + var client = _cliHttpClientFactory.CreateClient(); + using (var response = await client.GetAsync(url)) + { if (!response.IsSuccessStatusCode) { if (response.StatusCode == HttpStatusCode.NotFound) diff --git a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectModification/SolutionModuleAdder.cs b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectModification/SolutionModuleAdder.cs index 90f4ff5d8f..683e279a78 100644 --- a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectModification/SolutionModuleAdder.cs +++ b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectModification/SolutionModuleAdder.cs @@ -7,7 +7,6 @@ using System.Linq; using System.Net; using System.Threading.Tasks; using Volo.Abp.Cli.Args; -using Volo.Abp.Cli.Bundling; using Volo.Abp.Cli.Commands; using Volo.Abp.Cli.Commands.Services; using Volo.Abp.Cli.Http; @@ -22,6 +21,12 @@ namespace Volo.Abp.Cli.ProjectModification public class SolutionModuleAdder : ITransientDependency { public ILogger Logger { get; set; } + public SourceCodeDownloadService SourceCodeDownloadService { get; } + public SolutionFileModifier SolutionFileModifier { get; } + public NugetPackageToLocalReferenceConverter NugetPackageToLocalReferenceConverter { get; } + public AngularModuleSourceCodeAdder AngularModuleSourceCodeAdder { get; } + public NewCommand NewCommand { get; } + public BundleCommand BundleCommand { get; } protected IJsonSerializer JsonSerializer { get; } protected ProjectNugetPackageAdder ProjectNugetPackageAdder { get; } @@ -31,12 +36,9 @@ namespace Volo.Abp.Cli.ProjectModification protected ProjectNpmPackageAdder ProjectNpmPackageAdder { get; } protected NpmGlobalPackagesChecker NpmGlobalPackagesChecker { get; } protected IRemoteServiceExceptionHandler RemoteServiceExceptionHandler { get; } - public SourceCodeDownloadService SourceCodeDownloadService { get; } - public SolutionFileModifier SolutionFileModifier { get; } - public NugetPackageToLocalReferenceConverter NugetPackageToLocalReferenceConverter { get; } - public AngularModuleSourceCodeAdder AngularModuleSourceCodeAdder { get; } - public NewCommand NewCommand { get; } - public BundleCommand BundleCommand { get; } + + private readonly CliHttpClientFactory _cliHttpClientFactory; + public SolutionModuleAdder( IJsonSerializer jsonSerializer, @@ -52,7 +54,8 @@ namespace Volo.Abp.Cli.ProjectModification NugetPackageToLocalReferenceConverter nugetPackageToLocalReferenceConverter, AngularModuleSourceCodeAdder angularModuleSourceCodeAdder, NewCommand newCommand, - BundleCommand bundleCommand) + BundleCommand bundleCommand, + CliHttpClientFactory cliHttpClientFactory) { JsonSerializer = jsonSerializer; ProjectNugetPackageAdder = projectNugetPackageAdder; @@ -68,6 +71,7 @@ namespace Volo.Abp.Cli.ProjectModification AngularModuleSourceCodeAdder = angularModuleSourceCodeAdder; NewCommand = newCommand; BundleCommand = bundleCommand; + _cliHttpClientFactory = cliHttpClientFactory; Logger = NullLogger.Instance; } @@ -131,7 +135,7 @@ namespace Volo.Abp.Cli.ProjectModification { var blazorProject = projectFiles.FirstOrDefault(f => f.EndsWith(".Blazor.csproj")); - if (blazorProject == null || !module.NugetPackages.Any(np=> np.Target == NuGetPackageTarget.Blazor)) + if (blazorProject == null || !module.NugetPackages.Any(np => np.Target == NuGetPackageTarget.Blazor)) { return; } @@ -211,7 +215,7 @@ namespace Volo.Abp.Cli.ProjectModification return; } - var projectFolderPath = Directory.GetDirectories(srcPath).FirstOrDefault(d=> d.EndsWith(postFix)); + var projectFolderPath = Directory.GetDirectories(srcPath).FirstOrDefault(d => d.EndsWith(postFix)); if (projectFolderPath == null) { @@ -235,7 +239,7 @@ namespace Volo.Abp.Cli.ProjectModification return; } - var projectFolderPath = Directory.GetDirectories(testPath).FirstOrDefault(d=> d.EndsWith("Domain.Tests")); + var projectFolderPath = Directory.GetDirectories(testPath).FirstOrDefault(d => d.EndsWith("Domain.Tests")); if (projectFolderPath == null) { @@ -250,10 +254,10 @@ namespace Volo.Abp.Cli.ProjectModification return; } - File.WriteAllText(csprojFile, File.ReadAllText(csprojFile).Replace("EntityFrameworkCore","MongoDB")); + File.WriteAllText(csprojFile, File.ReadAllText(csprojFile).Replace("EntityFrameworkCore", "MongoDB")); File.WriteAllText(moduleFile, File.ReadAllText(moduleFile) - .Replace(".EntityFrameworkCore;",".MongoDB;") - .Replace("EntityFrameworkCoreTestModule","MongoDbTestModule")); + .Replace(".EntityFrameworkCore;", ".MongoDB;") + .Replace("EntityFrameworkCoreTestModule", "MongoDbTestModule")); } private async Task AddAngularPackages(string solutionFilePath, ModuleWithMastersInfo module) @@ -355,9 +359,9 @@ namespace Volo.Abp.Cli.ProjectModification ); } - await DeleteRedundantHostProjects(targetModuleFolder,"app"); - await DeleteRedundantHostProjects(targetModuleFolder,"demo"); - await DeleteRedundantHostProjects(targetModuleFolder,"host"); + await DeleteRedundantHostProjects(targetModuleFolder, "app"); + await DeleteRedundantHostProjects(targetModuleFolder, "demo"); + await DeleteRedundantHostProjects(targetModuleFolder, "host"); if (module.MasterModuleInfos == null) { @@ -519,12 +523,11 @@ namespace Volo.Abp.Cli.ProjectModification return await GetEmptyModuleProjectInfoAsync(moduleName, newProTemplate); } - using (var client = new CliHttpClient()) - { - var url = $"{CliUrls.WwwAbpIo}api/app/module/byNameWithDetails/?name=" + moduleName; - - var response = await client.GetAsync(url); + var url = $"{CliUrls.WwwAbpIo}api/app/module/byNameWithDetails/?name=" + moduleName; + var client = _cliHttpClientFactory.CreateClient(); + using (var response = await client.GetAsync(url)) + { if (!response.IsSuccessStatusCode) { if (response.StatusCode == HttpStatusCode.NotFound) @@ -625,7 +628,7 @@ namespace Volo.Abp.Cli.ProjectModification protected virtual async Task IsProjectTiered(string[] projectFiles) { return projectFiles.Select(ProjectFileNameHelper.GetAssemblyNameFromProjectPath) - .Any(p =>p.EndsWith(".HttpApi.Host")) + .Any(p => p.EndsWith(".HttpApi.Host")) && projectFiles.Select(ProjectFileNameHelper.GetAssemblyNameFromProjectPath) .Any(p => p.EndsWith(".IdentityServer")); } From fa477b9e47856b36fb4571f483544c42e6d3919d Mon Sep 17 00:00:00 2001 From: Alper Ebicoglu Date: Fri, 5 Feb 2021 21:29:21 +0300 Subject: [PATCH 192/217] implement timeout for singleton HttpClient #7618 --- .../Volo/Abp/Cli/Http/CliHttpClient.cs | 8 +- .../Volo/Abp/Cli/Http/CliHttpClientFactory.cs | 51 +++++++-- .../ProjectBuilding/AbpIoSourceCodeStore.cs | 101 ++++++++---------- .../MyGetPackageListFinder.cs | 28 +++-- .../ProjectModification/NpmPackagesUpdater.cs | 23 ++-- 5 files changed, 125 insertions(+), 86 deletions(-) diff --git a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Http/CliHttpClient.cs b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Http/CliHttpClient.cs index 1122648ff2..5aaf2ae2d3 100644 --- a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Http/CliHttpClient.cs +++ b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Http/CliHttpClient.cs @@ -67,7 +67,12 @@ namespace Volo.Abp.Cli.Http }; } - cancellationToken ??= CancellationToken.None; + if (cancellationToken == null) + { + var cancellationTokenSource = new CancellationTokenSource(); + cancellationTokenSource.CancelAfter(DefaultTimeout); + cancellationToken = cancellationTokenSource.Token; + } return await HttpPolicyExtensions .HandleTransientHttpError() @@ -95,5 +100,6 @@ namespace Volo.Abp.Cli.Http .ExecuteAsync(async () => await this.GetAsync(url, cancellationToken.Value)); } + } } diff --git a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Http/CliHttpClientFactory.cs b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Http/CliHttpClientFactory.cs index 3748e8e64a..b509a1614d 100644 --- a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Http/CliHttpClientFactory.cs +++ b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Http/CliHttpClientFactory.cs @@ -1,5 +1,7 @@ using System; +using System.Threading; using Volo.Abp.DependencyInjection; +using Volo.Abp.Threading; namespace Volo.Abp.Cli.Http { @@ -7,32 +9,67 @@ namespace Volo.Abp.Cli.Http { private static CliHttpClient _authenticatedHttpClient; private static CliHttpClient _unauthenticatedHttpClient; + private readonly ICancellationTokenProvider _cancellationTokenProvider; - public CliHttpClient CreateClient(bool needsAuthentication = true) + public CliHttpClientFactory(ICancellationTokenProvider cancellationTokenProvider) + { + _cancellationTokenProvider = cancellationTokenProvider; + } + + public CliHttpClient CreateClient(bool needsAuthentication = true, TimeSpan? timeout = null) { if (needsAuthentication) { - return CreateAuthenticatedHttpClient(); + return CreateAuthenticatedHttpClient(timeout); } - return CreateUnAuthenticatedHttpClient(); + return CreateUnAuthenticatedHttpClient(timeout); + } + + public CancellationToken GetCancellationToken(TimeSpan? timeout = null) + { + if (timeout == null) + { + if (_cancellationTokenProvider == null) + { + var cancellationTokenSource = new CancellationTokenSource(); + cancellationTokenSource.CancelAfter(CliHttpClient.DefaultTimeout); + return cancellationTokenSource.Token; + } + else + { + return _cancellationTokenProvider.Token; + } + } + else + { + var cancellationTokenSource = new CancellationTokenSource(); + cancellationTokenSource.CancelAfter(Convert.ToInt32(timeout.Value.TotalMilliseconds)); + return cancellationTokenSource.Token; + } } - private static CliHttpClient CreateAuthenticatedHttpClient() + private static CliHttpClient CreateAuthenticatedHttpClient(TimeSpan? timeout = null) { if (_authenticatedHttpClient == null) { - _authenticatedHttpClient = new CliHttpClient(setBearerToken: true); + _authenticatedHttpClient = new CliHttpClient(setBearerToken: true) + { + Timeout = System.Threading.Timeout.InfiniteTimeSpan + }; } return _authenticatedHttpClient; } - private static CliHttpClient CreateUnAuthenticatedHttpClient() + private static CliHttpClient CreateUnAuthenticatedHttpClient(TimeSpan? timeout = null) { if (_unauthenticatedHttpClient == null) { - _unauthenticatedHttpClient = new CliHttpClient(setBearerToken: false); + _unauthenticatedHttpClient = new CliHttpClient(setBearerToken: false) + { + Timeout = System.Threading.Timeout.InfiniteTimeSpan + }; } return _unauthenticatedHttpClient; diff --git a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/AbpIoSourceCodeStore.cs b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/AbpIoSourceCodeStore.cs index 4d4a8726a8..bebe44542d 100644 --- a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/AbpIoSourceCodeStore.cs +++ b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/AbpIoSourceCodeStore.cs @@ -9,6 +9,7 @@ using System.Net.Http; using System.Reflection; using System.Text; using System.Text.RegularExpressions; +using System.Threading; using System.Threading.Tasks; using Volo.Abp.Cli.Http; using Volo.Abp.Cli.ProjectBuilding.Templates.App; @@ -28,22 +29,23 @@ namespace Volo.Abp.Cli.ProjectBuilding public ILogger Logger { get; set; } protected AbpCliOptions Options { get; } - protected IJsonSerializer JsonSerializer { get; } - protected IRemoteServiceExceptionHandler RemoteServiceExceptionHandler { get; } - protected ICancellationTokenProvider CancellationTokenProvider { get; } + private readonly CliHttpClientFactory _cliHttpClientFactory; + public AbpIoSourceCodeStore( IOptions options, IJsonSerializer jsonSerializer, IRemoteServiceExceptionHandler remoteServiceExceptionHandler, - ICancellationTokenProvider cancellationTokenProvider) + ICancellationTokenProvider cancellationTokenProvider, + CliHttpClientFactory cliHttpClientFactory) { JsonSerializer = jsonSerializer; RemoteServiceExceptionHandler = remoteServiceExceptionHandler; CancellationTokenProvider = cancellationTokenProvider; + _cliHttpClientFactory = cliHttpClientFactory; Options = options.Value; Logger = NullLogger.Instance; @@ -134,24 +136,17 @@ namespace Volo.Abp.Cli.ProjectBuilding try { - using (var client = new CliHttpClient(TimeSpan.FromMinutes(10))) + var client = _cliHttpClientFactory.CreateClient(); + var stringContent = new StringContent( + JsonSerializer.Serialize(new GetLatestSourceCodeVersionDto { Name = name, IncludePreReleases = includePreReleases }), + Encoding.UTF8, + MimeTypes.Application.Json + ); + + using (var response = await client.PostAsync(url, stringContent, _cliHttpClientFactory.GetCancellationToken(TimeSpan.FromMinutes(10)))) { - var response = await client.PostAsync( - url, - new StringContent( - JsonSerializer.Serialize( - new GetLatestSourceCodeVersionDto { Name = name, IncludePreReleases = includePreReleases } - ), - Encoding.UTF8, - MimeTypes.Application.Json - ), - CancellationTokenProvider.Token - ); - await RemoteServiceExceptionHandler.EnsureSuccessfulHttpResponseAsync(response); - var result = await response.Content.ReadAsStringAsync(); - return JsonSerializer.Deserialize(result).Version; } } @@ -164,32 +159,25 @@ namespace Volo.Abp.Cli.ProjectBuilding private async Task GetTemplateNugetVersionAsync(string name, string type, string version) { - var url = $"{CliUrls.WwwAbpIo}api/download/{type}/get-nuget-version/"; - try { - using (var client = new CliHttpClient(TimeSpan.FromMinutes(10))) - { - var response = await client.PostAsync( - url, - new StringContent( - JsonSerializer.Serialize( - new GetTemplateNugetVersionDto { Name = name, Version = version} - ), - Encoding.UTF8, - MimeTypes.Application.Json - ), - CancellationTokenProvider.Token - ); + var url = $"{CliUrls.WwwAbpIo}api/download/{type}/get-nuget-version/"; + var client = _cliHttpClientFactory.CreateClient(); - await RemoteServiceExceptionHandler.EnsureSuccessfulHttpResponseAsync(response); + var stringContent = new StringContent( + JsonSerializer.Serialize(new GetTemplateNugetVersionDto { Name = name, Version = version }), + Encoding.UTF8, + MimeTypes.Application.Json + ); + using (var response = await client.PostAsync(url, stringContent, _cliHttpClientFactory.GetCancellationToken(TimeSpan.FromMinutes(10)))) + { + await RemoteServiceExceptionHandler.EnsureSuccessfulHttpResponseAsync(response); var result = await response.Content.ReadAsStringAsync(); - return JsonSerializer.Deserialize(result).Version; } } - catch (Exception ex) + catch (Exception) { return null; } @@ -203,36 +191,35 @@ namespace Volo.Abp.Cli.ProjectBuilding try { - using (var client = new CliHttpClient(TimeSpan.FromMinutes(10))) - { + var client = _cliHttpClientFactory.CreateClient(); - if (input.TemplateSource.IsNullOrWhiteSpace()) - { - responseMessage = await client.PostAsync( - url, - new StringContent(JsonSerializer.Serialize(input), Encoding.UTF8, MimeTypes.Application.Json), - CancellationTokenProvider.Token - ); - } - else - { - responseMessage = await client.GetAsync(input.TemplateSource, CancellationTokenProvider.Token); - } + if (input.TemplateSource.IsNullOrWhiteSpace()) + { + responseMessage = await client.PostAsync( + url, + new StringContent(JsonSerializer.Serialize(input), Encoding.UTF8, MimeTypes.Application.Json), + _cliHttpClientFactory.GetCancellationToken(TimeSpan.FromMinutes(10)) + ); + } + else + { + responseMessage = await client.GetAsync(input.TemplateSource, _cliHttpClientFactory.GetCancellationToken()); + } - await RemoteServiceExceptionHandler.EnsureSuccessfulHttpResponseAsync(responseMessage); + await RemoteServiceExceptionHandler.EnsureSuccessfulHttpResponseAsync(responseMessage); + var resultAsBytes = await responseMessage.Content.ReadAsByteArrayAsync(); + responseMessage.Dispose(); - return await responseMessage.Content.ReadAsByteArrayAsync(); - } + return resultAsBytes; } catch (Exception ex) { - Console.WriteLine("Error occured while downloading source-code from {0} : {1}{2}{3}", - url, responseMessage?.ToString(), Environment.NewLine, ex.Message); + Console.WriteLine("Error occured while downloading source-code from {0} : {1}{2}{3}", url, responseMessage?.ToString(), Environment.NewLine, ex.Message); throw; } } - private bool IsNetworkSource(string source) + private static bool IsNetworkSource(string source) { return source.ToLower().StartsWith("http"); } diff --git a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectModification/MyGetPackageListFinder.cs b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectModification/MyGetPackageListFinder.cs index 75e9156ce0..5434ede83f 100644 --- a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectModification/MyGetPackageListFinder.cs +++ b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectModification/MyGetPackageListFinder.cs @@ -6,17 +6,23 @@ using Microsoft.Extensions.Logging.Abstractions; using Newtonsoft.Json; using Volo.Abp.Cli.Http; using Volo.Abp.DependencyInjection; +using Volo.Abp.Threading; namespace Volo.Abp.Cli.ProjectModification { public class MyGetPackageListFinder : ISingletonDependency { - private MyGetApiResponse _response; - public ILogger Logger { get; set; } - public MyGetPackageListFinder() + private MyGetApiResponse _response; + private readonly CliHttpClientFactory _cliHttpClientFactory; + protected ICancellationTokenProvider CancellationTokenProvider { get; } + + public MyGetPackageListFinder(CliHttpClientFactory cliHttpClientFactory, + ICancellationTokenProvider cancellationTokenProvider) { + _cliHttpClientFactory = cliHttpClientFactory; + CancellationTokenProvider = cancellationTokenProvider; Logger = NullLogger.Instance; } @@ -29,18 +35,20 @@ namespace Volo.Abp.Cli.ProjectModification try { - using (var client = new CliHttpClient(TimeSpan.FromMinutes(10))) + var client = _cliHttpClientFactory.CreateClient(); + + using (var responseMessage = await client.GetAsync( + $"{CliUrls.WwwAbpIo}api/myget/packages/", + _cliHttpClientFactory.GetCancellationToken(TimeSpan.FromMinutes(10)))) { - var responseMessage = await client.GetAsync( - $"{CliUrls.WwwAbpIo}api/myget/packages/" + _response = JsonConvert.DeserializeObject( + Encoding.Default.GetString(await responseMessage.Content.ReadAsByteArrayAsync()) ); - - _response = JsonConvert.DeserializeObject(Encoding.Default.GetString(await responseMessage.Content.ReadAsByteArrayAsync())); } } - catch (Exception) + catch (Exception ex) { - Logger.LogError("Unable to get latest preview version."); + Logger.LogError("Unable to get latest preview version. Error: " + ex.Message); throw; } diff --git a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectModification/NpmPackagesUpdater.cs b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectModification/NpmPackagesUpdater.cs index 8fc800c146..bf23bc3786 100644 --- a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectModification/NpmPackagesUpdater.cs +++ b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectModification/NpmPackagesUpdater.cs @@ -27,15 +27,18 @@ namespace Volo.Abp.Cli.ProjectModification private readonly PackageJsonFileFinder _packageJsonFileFinder; private readonly NpmGlobalPackagesChecker _npmGlobalPackagesChecker; private readonly Dictionary _fileVersionStorage = new Dictionary(); + private readonly CliHttpClientFactory _cliHttpClientFactory; public NpmPackagesUpdater( PackageJsonFileFinder packageJsonFileFinder, NpmGlobalPackagesChecker npmGlobalPackagesChecker, - ICancellationTokenProvider cancellationTokenProvider) + ICancellationTokenProvider cancellationTokenProvider, + CliHttpClientFactory cliHttpClientFactory) { _packageJsonFileFinder = packageJsonFileFinder; _npmGlobalPackagesChecker = npmGlobalPackagesChecker; CancellationTokenProvider = cancellationTokenProvider; + _cliHttpClientFactory = cliHttpClientFactory; Logger = NullLogger.Instance; } @@ -151,16 +154,14 @@ namespace Volo.Abp.Cli.ProjectModification { try { - using (var client = new CliHttpClient(TimeSpan.FromMinutes(1))) + var client = _cliHttpClientFactory.CreateClient(); + using (var response = await client.GetHttpResponseMessageWithRetryAsync( + url: $"{CliUrls.WwwAbpIo}api/myget/apikey/", + cancellationToken: CancellationTokenProvider.Token, + logger: Logger + )) { - using (var response = await client.GetHttpResponseMessageWithRetryAsync( - url: $"{CliUrls.WwwAbpIo}api/myget/apikey/", - cancellationToken: CancellationTokenProvider.Token, - logger: Logger - )) - { - return Encoding.Default.GetString(await response.Content.ReadAsByteArrayAsync()); - } + return Encoding.Default.GetString(await response.Content.ReadAsByteArrayAsync()); } } catch (Exception) @@ -356,7 +357,7 @@ namespace Volo.Abp.Cli.ProjectModification protected virtual string ExtractVersions(string output) { var arrayStart = output.IndexOf('['); - return output.Substring(arrayStart, output.IndexOf(']') - arrayStart + 1); + return output.Substring(arrayStart, output.IndexOf(']') - arrayStart + 1); } protected virtual bool SpecifiedVersionExists(string version, JProperty package) From 90decc7606924cc7b0c110eb73efc99991b28846 Mon Sep 17 00:00:00 2001 From: Alper Ebicoglu Date: Fri, 5 Feb 2021 21:34:35 +0300 Subject: [PATCH 193/217] add cancellation token --- .../Abp/Cli/ProjectModification/ProjectNugetPackageAdder.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectModification/ProjectNugetPackageAdder.cs b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectModification/ProjectNugetPackageAdder.cs index 5e039f7f3f..6ebcad2c08 100644 --- a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectModification/ProjectNugetPackageAdder.cs +++ b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectModification/ProjectNugetPackageAdder.cs @@ -180,7 +180,7 @@ namespace Volo.Abp.Cli.ProjectModification var url = $"{CliUrls.WwwAbpIo}api/app/nugetPackage/byName/?name=" + packageName; var client = _cliHttpClientFactory.CreateClient(); - using (var response = await client.GetAsync(url)) + using (var response = await client.GetAsync(url, _cliHttpClientFactory.GetCancellationToken())) { if (!response.IsSuccessStatusCode) { From f69f8c9fd661e13fbfd131b67e5557e8b75ac76e Mon Sep 17 00:00:00 2001 From: Alper Ebicoglu Date: Fri, 5 Feb 2021 21:35:33 +0300 Subject: [PATCH 194/217] remove unncessary async usage #7618 --- .../ProjectModification/SolutionModuleAdder.cs | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectModification/SolutionModuleAdder.cs b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectModification/SolutionModuleAdder.cs index 683e279a78..c84713ffcb 100644 --- a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectModification/SolutionModuleAdder.cs +++ b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectModification/SolutionModuleAdder.cs @@ -36,7 +36,7 @@ namespace Volo.Abp.Cli.ProjectModification protected ProjectNpmPackageAdder ProjectNpmPackageAdder { get; } protected NpmGlobalPackagesChecker NpmGlobalPackagesChecker { get; } protected IRemoteServiceExceptionHandler RemoteServiceExceptionHandler { get; } - + private readonly CliHttpClientFactory _cliHttpClientFactory; @@ -54,7 +54,7 @@ namespace Volo.Abp.Cli.ProjectModification NugetPackageToLocalReferenceConverter nugetPackageToLocalReferenceConverter, AngularModuleSourceCodeAdder angularModuleSourceCodeAdder, NewCommand newCommand, - BundleCommand bundleCommand, + BundleCommand bundleCommand, CliHttpClientFactory cliHttpClientFactory) { JsonSerializer = jsonSerializer; @@ -175,7 +175,7 @@ namespace Volo.Abp.Cli.ProjectModification { await RemoveProjectByTarget(module, moduleSolutionFile, NuGetPackageTarget.EntityFrameworkCore, isProjectTiered); await RemoveProjectByPostFix(module, moduleSolutionFile, "test", ".EntityFrameworkCore.Tests"); - await ChangeDomainTestReferenceToMongoDB(module, moduleSolutionFile); + ChangeDomainTestReferenceToMongoDB(module, moduleSolutionFile); } } @@ -230,7 +230,7 @@ namespace Volo.Abp.Cli.ProjectModification } } - private async Task ChangeDomainTestReferenceToMongoDB(ModuleWithMastersInfo module, string moduleSolutionFile) + private void ChangeDomainTestReferenceToMongoDB(ModuleWithMastersInfo module, string moduleSolutionFile) { var testPath = Path.Combine(Path.GetDirectoryName(moduleSolutionFile), "test"); @@ -505,7 +505,7 @@ namespace Volo.Abp.Cli.ProjectModification } } - protected virtual async Task RunMigrator(string[] projectFiles) + protected virtual void RunMigrator(string[] projectFiles) { var dbMigratorProject = projectFiles.FirstOrDefault(p => p.EndsWith(".DbMigrator.csproj")); @@ -520,13 +520,13 @@ namespace Volo.Abp.Cli.ProjectModification { if (newTemplate || newProTemplate) { - return await GetEmptyModuleProjectInfoAsync(moduleName, newProTemplate); + return GetEmptyModuleProjectInfo(moduleName, newProTemplate); } var url = $"{CliUrls.WwwAbpIo}api/app/module/byNameWithDetails/?name=" + moduleName; var client = _cliHttpClientFactory.CreateClient(); - using (var response = await client.GetAsync(url)) + using (var response = await client.GetAsync(url, _cliHttpClientFactory.GetCancellationToken())) { if (!response.IsSuccessStatusCode) { @@ -543,7 +543,7 @@ namespace Volo.Abp.Cli.ProjectModification } } - private async Task GetEmptyModuleProjectInfoAsync(string moduleName, + private ModuleWithMastersInfo GetEmptyModuleProjectInfo(string moduleName, bool newProTemplate = false) { var module = new ModuleWithMastersInfo From 005bf4b10a7f2747cf34d5d2971425485e4cbe54 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Halil=20=C4=B0brahim=20Kalkan?= Date: Fri, 5 Feb 2021 21:42:10 +0300 Subject: [PATCH 195/217] Define and handle AbpDbConnectionOptions.Databases option. --- .../Volo/Abp/Data/AbpDataModule.cs | 9 +++ .../Volo/Abp/Data/AbpDatabaseInfo.cs | 28 +++++++++ .../Abp/Data/AbpDatabaseInfoDictionary.cs | 58 +++++++++++++++++++ .../Volo/Abp/Data/AbpDbConnectionOptions.cs | 44 +++++++++++++- .../Data/DefaultConnectionStringResolver.cs | 25 ++++---- .../MultiTenantConnectionStringResolver.cs | 30 +++++----- 6 files changed, 165 insertions(+), 29 deletions(-) create mode 100644 framework/src/Volo.Abp.Data/Volo/Abp/Data/AbpDatabaseInfo.cs create mode 100644 framework/src/Volo.Abp.Data/Volo/Abp/Data/AbpDatabaseInfoDictionary.cs diff --git a/framework/src/Volo.Abp.Data/Volo/Abp/Data/AbpDataModule.cs b/framework/src/Volo.Abp.Data/Volo/Abp/Data/AbpDataModule.cs index 8c9643012e..bc3bc8e5dd 100644 --- a/framework/src/Volo.Abp.Data/Volo/Abp/Data/AbpDataModule.cs +++ b/framework/src/Volo.Abp.Data/Volo/Abp/Data/AbpDataModule.cs @@ -1,6 +1,7 @@ using System; using System.Collections.Generic; using Microsoft.Extensions.DependencyInjection; +using Microsoft.Extensions.Options; using Volo.Abp.Modularity; using Volo.Abp.ObjectExtending; using Volo.Abp.Uow; @@ -27,6 +28,14 @@ namespace Volo.Abp.Data context.Services.AddSingleton(typeof(IDataFilter<>), typeof(DataFilter<>)); } + public override void PostConfigureServices(ServiceConfigurationContext context) + { + Configure(options => + { + options.Databases.RefreshIndexes(); + }); + } + private static void AutoAddDataSeedContributors(IServiceCollection services) { var contributors = new List(); diff --git a/framework/src/Volo.Abp.Data/Volo/Abp/Data/AbpDatabaseInfo.cs b/framework/src/Volo.Abp.Data/Volo/Abp/Data/AbpDatabaseInfo.cs new file mode 100644 index 0000000000..4f719a862a --- /dev/null +++ b/framework/src/Volo.Abp.Data/Volo/Abp/Data/AbpDatabaseInfo.cs @@ -0,0 +1,28 @@ +using System.Collections.Generic; + +namespace Volo.Abp.Data +{ + public class AbpDatabaseInfo + { + public string DatabaseName { get; set; } + + /// + /// List of connection names mapped to this database. + /// + public HashSet MappedConnections { get; } + + /// + /// Is this database used by tenants. Set this to true if this database + /// can't owned by tenants. + /// + /// Default: true. + /// + public bool IsUsedByTenants { get; set; } = true; + + internal AbpDatabaseInfo(string databaseName) + { + DatabaseName = databaseName; + MappedConnections = new HashSet(); + } + } +} \ No newline at end of file diff --git a/framework/src/Volo.Abp.Data/Volo/Abp/Data/AbpDatabaseInfoDictionary.cs b/framework/src/Volo.Abp.Data/Volo/Abp/Data/AbpDatabaseInfoDictionary.cs new file mode 100644 index 0000000000..93098d303d --- /dev/null +++ b/framework/src/Volo.Abp.Data/Volo/Abp/Data/AbpDatabaseInfoDictionary.cs @@ -0,0 +1,58 @@ +using System; +using System.Collections.Generic; +using JetBrains.Annotations; + +namespace Volo.Abp.Data +{ + public class AbpDatabaseInfoDictionary : Dictionary + { + private Dictionary ConnectionIndex { get; set; } + + public AbpDatabaseInfoDictionary() + { + ConnectionIndex = new Dictionary(); + } + + [CanBeNull] + public AbpDatabaseInfo GetMappedDatabaseOrNull(string connectionStringName) + { + return ConnectionIndex.GetOrDefault(connectionStringName); + } + + public AbpDatabaseInfoDictionary Configure(string databaseName, Action configureAction) + { + var databaseInfo = this.GetOrAdd( + databaseName, + () => new AbpDatabaseInfo(databaseName) + ); + + configureAction(databaseInfo); + + return this; + } + + /// + /// This method should be called if this dictionary changes. + /// It refreshes indexes for quick access to the connection informations. + /// + public void RefreshIndexes() + { + ConnectionIndex = new Dictionary(); + + foreach (var databaseInfo in Values) + { + foreach (var mappedConnection in databaseInfo.MappedConnections) + { + if (ConnectionIndex.ContainsKey(mappedConnection)) + { + throw new AbpException( + $"A connection name can not map to multiple databases: {mappedConnection}." + ); + } + + ConnectionIndex[mappedConnection] = databaseInfo; + } + } + } + } +} \ No newline at end of file diff --git a/framework/src/Volo.Abp.Data/Volo/Abp/Data/AbpDbConnectionOptions.cs b/framework/src/Volo.Abp.Data/Volo/Abp/Data/AbpDbConnectionOptions.cs index 863bffb743..9f6ad78a69 100644 --- a/framework/src/Volo.Abp.Data/Volo/Abp/Data/AbpDbConnectionOptions.cs +++ b/framework/src/Volo.Abp.Data/Volo/Abp/Data/AbpDbConnectionOptions.cs @@ -1,12 +1,54 @@ -namespace Volo.Abp.Data +using System; +using System.Collections.Generic; + +namespace Volo.Abp.Data { public class AbpDbConnectionOptions { public ConnectionStrings ConnectionStrings { get; set; } + + public AbpDatabaseInfoDictionary Databases { get; set; } public AbpDbConnectionOptions() { ConnectionStrings = new ConnectionStrings(); + Databases = new AbpDatabaseInfoDictionary(); + } + + public string GetConnectionStringOrNull( + string connectionStringName, + bool fallbackToDatabaseMappings = true, + bool fallbackToDefault = true) + { + var connectionString = ConnectionStrings.GetOrDefault(connectionStringName); + if (!connectionString.IsNullOrEmpty()) + { + return connectionString; + } + + if (fallbackToDatabaseMappings) + { + var database = Databases.GetMappedDatabaseOrNull(connectionStringName); + if (database != null) + { + connectionString = ConnectionStrings.GetOrDefault(database.DatabaseName); + if (!connectionString.IsNullOrEmpty()) + { + return connectionString; + } + } + } + + if (fallbackToDefault) + { + connectionString = ConnectionStrings.Default; + if (!connectionString.IsNullOrWhiteSpace()) + { + return connectionString; + } + } + + return null; } } } diff --git a/framework/src/Volo.Abp.Data/Volo/Abp/Data/DefaultConnectionStringResolver.cs b/framework/src/Volo.Abp.Data/Volo/Abp/Data/DefaultConnectionStringResolver.cs index 4d5ce2fb27..f907cb0cb6 100644 --- a/framework/src/Volo.Abp.Data/Volo/Abp/Data/DefaultConnectionStringResolver.cs +++ b/framework/src/Volo.Abp.Data/Volo/Abp/Data/DefaultConnectionStringResolver.cs @@ -1,5 +1,4 @@ using System; -using System.Collections.Generic; using System.Threading.Tasks; using Microsoft.Extensions.Options; using Volo.Abp.DependencyInjection; @@ -10,7 +9,8 @@ namespace Volo.Abp.Data { protected AbpDbConnectionOptions Options { get; } - public DefaultConnectionStringResolver(IOptionsSnapshot options) + public DefaultConnectionStringResolver( + IOptionsSnapshot options) { Options = options.Value; } @@ -28,18 +28,19 @@ namespace Volo.Abp.Data private string ResolveInternal(string connectionStringName) { - //Get module specific value if provided - if (!connectionStringName.IsNullOrEmpty()) + if (connectionStringName == null) { - var moduleConnString = Options.ConnectionStrings.GetOrDefault(connectionStringName); - if (!moduleConnString.IsNullOrEmpty()) - { - return moduleConnString; - } + return Options.ConnectionStrings.Default; + } + + var connectionString = Options.GetConnectionStringOrNull(connectionStringName); + + if (!connectionString.IsNullOrEmpty()) + { + return connectionString; } - //Get default value - return Options.ConnectionStrings.Default; + return null; } } -} +} \ No newline at end of file diff --git a/framework/src/Volo.Abp.MultiTenancy/Volo/Abp/MultiTenancy/MultiTenantConnectionStringResolver.cs b/framework/src/Volo.Abp.MultiTenancy/Volo/Abp/MultiTenancy/MultiTenantConnectionStringResolver.cs index 959c910901..41ba7873ac 100644 --- a/framework/src/Volo.Abp.MultiTenancy/Volo/Abp/MultiTenancy/MultiTenantConnectionStringResolver.cs +++ b/framework/src/Volo.Abp.MultiTenancy/Volo/Abp/MultiTenancy/MultiTenantConnectionStringResolver.cs @@ -41,7 +41,7 @@ namespace Volo.Abp.MultiTenancy } var tenantDefaultConnectionString = tenant.ConnectionStrings.Default; - + //Requesting default connection string... if (connectionStringName == null || connectionStringName == ConnectionStrings.DefaultConnectionStringName) @@ -59,6 +59,18 @@ namespace Volo.Abp.MultiTenancy //Found for the tenant return connString; } + + //Fallback to the mapped database for the specific connection string + var database = Options.Databases.GetMappedDatabaseOrNull(connectionStringName); + if (database != null) + { + connString = tenant.ConnectionStrings.GetOrDefault(database.DatabaseName); + if (!connString.IsNullOrWhiteSpace()) + { + //Found for the tenant + return connString; + } + } //Fallback to tenant's default connection string if available if (!tenantDefaultConnectionString.IsNullOrWhiteSpace()) @@ -66,21 +78,7 @@ namespace Volo.Abp.MultiTenancy return tenantDefaultConnectionString; } - //Try to find the specific connection string for given name - var connStringInOptions = Options.ConnectionStrings.GetOrDefault(connectionStringName); - if (!connStringInOptions.IsNullOrWhiteSpace()) - { - return connStringInOptions; - } - - //Fallback to the global default connection string - var defaultConnectionString = Options.ConnectionStrings.Default; - if (!defaultConnectionString.IsNullOrWhiteSpace()) - { - return defaultConnectionString; - } - - throw new AbpException("No connection string defined!"); + return await base.ResolveAsync(connectionStringName); } [Obsolete("Use ResolveAsync method.")] From 9ed34c26a51e093da88676cba6aea6ce85b9922a Mon Sep 17 00:00:00 2001 From: okyrylchuk Date: Sat, 6 Feb 2021 17:24:12 +0100 Subject: [PATCH 196/217] fix code sample in Environment doc page --- docs/en/UI/Angular/Environment.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/en/UI/Angular/Environment.md b/docs/en/UI/Angular/Environment.md index 8c6fb28ce7..9802eb6264 100644 --- a/docs/en/UI/Angular/Environment.md +++ b/docs/en/UI/Angular/Environment.md @@ -138,10 +138,10 @@ You can use the `getEnvironment` or `getEnvironment$` method of `EnvironmentServ ```js // this.environment is instance of EnvironmentService -const environment = this.environment.getAll(); +const environment = this.environment.getEnvironment(); // or -this.environment.getAll$().subscribe(environment => { +this.environment.getEnvironment$().subscribe(environment => { // use environment here }) ``` @@ -166,7 +166,7 @@ This method returns the `url` of a specific API based on the key given as its on #### How to Set the Environment -`EnvironmentService` has a method named `setState` which allow you to set the state value. +`EnvironmentService` has a method named `setState` which allows you to set the state value. ```js // this.environment is instance of EnvironmentService From 4ccf7165801d12de237a0e8ae5b1d2fc644ccd3f Mon Sep 17 00:00:00 2001 From: maliming Date: Sun, 7 Feb 2021 13:21:08 +0800 Subject: [PATCH 197/217] Use ms IHttpClientFactory to create http client. --- .../Volo/Abp/Cli/AbpCliCoreModule.cs | 5 ++ .../Volo/Abp/Cli/CliConsts.cs | 2 + ...tpClient.cs => CliHttpClientExtensions.cs} | 35 +++--------- .../Volo/Abp/Cli/Http/CliHttpClientFactory.cs | 56 +++++-------------- 4 files changed, 29 insertions(+), 69 deletions(-) rename framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Http/{CliHttpClient.cs => CliHttpClientExtensions.cs} (74%) 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 9208357d4a..6b23857233 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 @@ -1,5 +1,7 @@ using System.Text; +using Microsoft.Extensions.DependencyInjection; using Volo.Abp.Cli.Commands; +using Volo.Abp.Cli.Http; using Volo.Abp.Domain; using Volo.Abp.IdentityModel; using Volo.Abp.Json; @@ -18,6 +20,9 @@ namespace Volo.Abp.Cli { public override void ConfigureServices(ServiceConfigurationContext context) { + context.Services.AddHttpClient(CliConsts.HttpClientName) + .ConfigurePrimaryHttpMessageHandler(() => new CliHttpClientHandler()); + Encoding.RegisterProvider(CodePagesEncodingProvider.Instance); Configure(options => diff --git a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/CliConsts.cs b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/CliConsts.cs index b062388c7a..37dbbba318 100644 --- a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/CliConsts.cs +++ b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/CliConsts.cs @@ -7,5 +7,7 @@ public const string BranchPrefix = "branch@"; public const string DocsLink = "https://docs.abp.io"; + + public const string HttpClientName = "AbpHttpClient"; } } diff --git a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Http/CliHttpClient.cs b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Http/CliHttpClientExtensions.cs similarity index 74% rename from framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Http/CliHttpClient.cs rename to framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Http/CliHttpClientExtensions.cs index 5aaf2ae2d3..9976542f05 100644 --- a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Http/CliHttpClient.cs +++ b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Http/CliHttpClientExtensions.cs @@ -13,29 +13,9 @@ using Microsoft.Extensions.Logging; namespace Volo.Abp.Cli.Http { - public class CliHttpClient : HttpClient + public static class CliHttpClientExtensions { - public static TimeSpan DefaultTimeout { get; set; } = TimeSpan.FromMinutes(1); - - public CliHttpClient(TimeSpan? timeout = null) - : base(new CliHttpClientHandler()) - { - Timeout = timeout ?? DefaultTimeout; - - AddAuthentication(); - } - - public CliHttpClient(bool setBearerToken) : base(new CliHttpClientHandler()) - { - Timeout = DefaultTimeout; - - if (setBearerToken) - { - AddAuthentication(); - } - } - - public void AddAuthentication() + public static void AddAbpAuthenticationToken(this HttpClient httpClient) { if (!AuthService.IsLoggedIn()) { @@ -45,12 +25,13 @@ namespace Volo.Abp.Cli.Http var accessToken = File.ReadAllText(CliPaths.AccessToken, Encoding.UTF8); if (!accessToken.IsNullOrEmpty()) { - this.SetBearerToken(accessToken); + httpClient.SetBearerToken(accessToken); } } - public async Task GetHttpResponseMessageWithRetryAsync + public static async Task GetHttpResponseMessageWithRetryAsync ( + this HttpClient httpClient, string url, CancellationToken? cancellationToken = null, ILogger logger = null, @@ -70,7 +51,7 @@ namespace Volo.Abp.Cli.Http if (cancellationToken == null) { var cancellationTokenSource = new CancellationTokenSource(); - cancellationTokenSource.CancelAfter(DefaultTimeout); + cancellationTokenSource.CancelAfter(httpClient.Timeout); cancellationToken = cancellationTokenSource.Token; } @@ -97,9 +78,7 @@ namespace Volo.Abp.Cli.Http $"Waiting {timeSpan.TotalSeconds} secs for the next try..."); } }) - .ExecuteAsync(async () => await this.GetAsync(url, cancellationToken.Value)); + .ExecuteAsync(async () => await httpClient.GetAsync(url, cancellationToken.Value)); } - - } } diff --git a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Http/CliHttpClientFactory.cs b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Http/CliHttpClientFactory.cs index b509a1614d..a5608a1f88 100644 --- a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Http/CliHttpClientFactory.cs +++ b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Http/CliHttpClientFactory.cs @@ -1,29 +1,35 @@ using System; +using System.Net.Http; using System.Threading; using Volo.Abp.DependencyInjection; using Volo.Abp.Threading; namespace Volo.Abp.Cli.Http { - public class CliHttpClientFactory : ISingletonDependency, IDisposable + public class CliHttpClientFactory : ISingletonDependency { - private static CliHttpClient _authenticatedHttpClient; - private static CliHttpClient _unauthenticatedHttpClient; + public static readonly TimeSpan DefaultTimeout = TimeSpan.FromMinutes(1); + + private readonly IHttpClientFactory _clientFactory; private readonly ICancellationTokenProvider _cancellationTokenProvider; - public CliHttpClientFactory(ICancellationTokenProvider cancellationTokenProvider) + public CliHttpClientFactory(IHttpClientFactory clientFactory, ICancellationTokenProvider cancellationTokenProvider) { + _clientFactory = clientFactory; _cancellationTokenProvider = cancellationTokenProvider; } - public CliHttpClient CreateClient(bool needsAuthentication = true, TimeSpan? timeout = null) + public HttpClient CreateClient(bool needsAuthentication = true, TimeSpan? timeout = null) { + var httpClient = _clientFactory.CreateClient(CliConsts.HttpClientName); + httpClient.Timeout = timeout ?? DefaultTimeout; + if (needsAuthentication) { - return CreateAuthenticatedHttpClient(timeout); + httpClient.AddAbpAuthenticationToken(); } - return CreateUnAuthenticatedHttpClient(timeout); + return httpClient; } public CancellationToken GetCancellationToken(TimeSpan? timeout = null) @@ -33,7 +39,7 @@ namespace Volo.Abp.Cli.Http if (_cancellationTokenProvider == null) { var cancellationTokenSource = new CancellationTokenSource(); - cancellationTokenSource.CancelAfter(CliHttpClient.DefaultTimeout); + cancellationTokenSource.CancelAfter(DefaultTimeout); return cancellationTokenSource.Token; } else @@ -48,37 +54,5 @@ namespace Volo.Abp.Cli.Http return cancellationTokenSource.Token; } } - - private static CliHttpClient CreateAuthenticatedHttpClient(TimeSpan? timeout = null) - { - if (_authenticatedHttpClient == null) - { - _authenticatedHttpClient = new CliHttpClient(setBearerToken: true) - { - Timeout = System.Threading.Timeout.InfiniteTimeSpan - }; - } - - return _authenticatedHttpClient; - } - - private static CliHttpClient CreateUnAuthenticatedHttpClient(TimeSpan? timeout = null) - { - if (_unauthenticatedHttpClient == null) - { - _unauthenticatedHttpClient = new CliHttpClient(setBearerToken: false) - { - Timeout = System.Threading.Timeout.InfiniteTimeSpan - }; - } - - return _unauthenticatedHttpClient; - } - - public void Dispose() - { - _authenticatedHttpClient?.Dispose(); - _unauthenticatedHttpClient?.Dispose(); - } } -} \ No newline at end of file +} From 4d82f418235844c3c4a53ce642eabe5d04b8ffe4 Mon Sep 17 00:00:00 2001 From: maliming Date: Sun, 7 Feb 2021 20:29:21 +0800 Subject: [PATCH 198/217] Remove AddAutofac method. Resolve #7627 --- .../ServiceCollectionExtensions.cs | 67 ------------------- 1 file changed, 67 deletions(-) delete mode 100644 framework/src/Volo.Abp.Autofac/Autofac/Extensions/DependencyInjection/ServiceCollectionExtensions.cs diff --git a/framework/src/Volo.Abp.Autofac/Autofac/Extensions/DependencyInjection/ServiceCollectionExtensions.cs b/framework/src/Volo.Abp.Autofac/Autofac/Extensions/DependencyInjection/ServiceCollectionExtensions.cs deleted file mode 100644 index 4b61ae5a6e..0000000000 --- a/framework/src/Volo.Abp.Autofac/Autofac/Extensions/DependencyInjection/ServiceCollectionExtensions.cs +++ /dev/null @@ -1,67 +0,0 @@ -// This software is part of the Autofac IoC container -// Copyright © 2017 Autofac Contributors -// http://autofac.org -// -// Permission is hereby granted, free of charge, to any person -// obtaining a copy of this software and associated documentation -// files (the "Software"), to deal in the Software without -// restriction, including without limitation the rights to use, -// copy, modify, merge, publish, distribute, sublicense, and/or sell -// copies of the Software, and to permit persons to whom the -// Software is furnished to do so, subject to the following -// conditions: -// -// The above copyright notice and this permission notice shall be -// included in all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -// OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT -// HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -// WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -// OTHER DEALINGS IN THE SOFTWARE. - -using System; -using System.Collections.Generic; -using System.Linq; -using JetBrains.Annotations; -using Microsoft.Extensions.DependencyInjection; -using Volo.Abp; - -namespace Autofac.Extensions.DependencyInjection -{ - /// - /// Extension methods on to register the . - /// - public static class ServiceCollectionExtensions - { - /// - /// Adds the to the service collection. - /// - /// The service collection to add the factory to. - /// Action on a that adds component registrations to the container. - /// The service collection. - public static IServiceCollection AddAutofac(this IServiceCollection services, Action configurationAction = null) - { - return services - .ClearServiceProviderFactories() - .AddSingleton>(new AutofacServiceProviderFactory(configurationAction)); - } - - private static IServiceCollection ClearServiceProviderFactories([NotNull] this IServiceCollection services) - { - Check.NotNull(services, nameof(services)); - - services.RemoveAll( - service => service.ImplementationInstance? - .GetType() - .GetInterfaces() - .Any(i => i.IsGenericType && i.GetGenericTypeDefinition() == typeof(IServiceProviderFactory<>)) == true - ); - - return services; - } - } -} From 11f84dfd135ea31417bc2e86ca4474ef5a8340d4 Mon Sep 17 00:00:00 2001 From: cx Date: Mon, 8 Feb 2021 08:52:21 +0800 Subject: [PATCH 199/217] add zh-Hans doc PlugIn-Modules.md --- docs/zh-Hans/PlugIn-Modules.md | 233 +++++++++++++++++++++++++++++++++ 1 file changed, 233 insertions(+) create mode 100644 docs/zh-Hans/PlugIn-Modules.md diff --git a/docs/zh-Hans/PlugIn-Modules.md b/docs/zh-Hans/PlugIn-Modules.md new file mode 100644 index 0000000000..3380e7372d --- /dev/null +++ b/docs/zh-Hans/PlugIn-Modules.md @@ -0,0 +1,233 @@ +# 模块化插件 + +可以将[模块](Module-Development-Basics.md)加载为插件。这意味着您可能不需要在解决方案中引用模块的程序集,就可以像其他模块一样在启动应用时加载该模块。 + +## 基本用法 + +`IServiceCollection.AddApplication()` 扩展方法可以获取配置插件源的选项。 + +**例如: 从文件夹加载插件** + +````csharp +using Microsoft.AspNetCore.Builder; +using Microsoft.Extensions.DependencyInjection; +using Volo.Abp.Modularity.PlugIns; + +namespace MyPlugInDemo.Web +{ + public class Startup + { + public void ConfigureServices(IServiceCollection services) + { + services.AddApplication(options => + { + options.PlugInSources.AddFolder(@"D:\Temp\MyPlugIns"); + }); + } + + public void Configure(IApplicationBuilder app) + { + app.InitializeApplication(); + } + } +} +```` + +* 这是典型的ASP.NET Core应用程序的`Startup`类. +* `PlugInSources.AddFolder`从指定的目录中加载程序集(通常为dll)。 + +就这样。ABP将在这个目录中发现这些模块,像其他普通模版一样配置和初始化他们。 + +### 插件源 + +`options.PlugInSources`类实际上是`IPlugInSource`接口的一系列实现并且 `AddFolder`方法仅仅是以下表达式的便捷方法: + +````csharp +options.PlugInSources.Add(new FolderPlugInSource(@"D:\Temp\MyPlugIns")); +```` + +> `AddFolder()`方法仅在给定目录下查找程序集文件,而不在子目录中查找。您可以传递一个`SearchOption.AllDirectories`参数作为第二个参数,来递归地查找它的子目录。 + +这里有两个内置插件源的示例: + +* `PlugInSources.AddFiles()`方法获取程序集(通常是dll)文件列表。这是使用`FilePlugInSource`类的快捷方式。 +* `PlugInSources.AddTypes()`方法获取模块类类型的列表。如果实用化此方法,则需要自己加载模块的程序集,但是在需要时它提供了灵活性。这是使用`TypePlugInSource`类的快捷方式。 + +如果需要,您可以创建自己的`IPlugInSource`的接口实现,并像其他方法一样添加到`options.PlugInSources`中。 + +## 例如:创建一个简单的插件 + +在一个解决方案中创建一个简单的**类库项目** + +![简单插件库](images/simple-plugin-library.png) + +您可以在模块中添加需要使用的ABP框架包。至少,您应该为这个项目添加包`Volo.Abp.Core`: + +```` +Install-Package Volo.Abp.Core +```` + +每个[模块](Module-Development-Basics.md)必须声明为一个继承自`AbpModule`的类。这里是一个简单的模块类,用于解析一个服务并在应用启动时对其初始化: + +````csharp +using Microsoft.Extensions.DependencyInjection; +using Volo.Abp; +using Volo.Abp.Modularity; + +namespace MyPlugIn +{ + public class MyPlungInModule : AbpModule + { + public override void OnApplicationInitialization(ApplicationInitializationContext context) + { + var myService = context.ServiceProvider + .GetRequiredService(); + + myService.Initialize(); + } + } +} +```` + +`MyService`可以是注册在[依赖注入](Dependency-Injection.md)系统中的任意类,如下所示: + +````csharp +using Microsoft.Extensions.Logging; +using Volo.Abp.DependencyInjection; + +namespace MyPlugIn +{ + public class MyService : ITransientDependency + { + private readonly ILogger _logger; + + public MyService(ILogger logger) + { + _logger = logger; + } + + public void Initialize() + { + _logger.LogInformation("MyService has been initialized"); + } + } +} +```` + +编译这个项目,打开build目录,找到`MyPlugIn.dll`: + +![简单dll插件](images/simple-plug-in-dll-file.png) + +将`MyPlugIn.dll`复制到到插件目录中(此实例为`D:\Temp\MyPlugIns`). + +如果您已经按照上述方式配置了主应用程序(参见“基础用法”部分),那么在应用程序启动时,您可以看到“MyService has been initialized(MyService已经初始化)的日志。 + +## 例如:创建一个Razor Pages插件 + +创建内部带视图的插件需要更多的注意。 + +> 这个示例假设您已经使用应用程序启动模板和MVC / Razor Pages UI[创建了一个新的Web应用程序](https://abp.io/get-started)。 + +在解决方案中创建一个新的**类库**项目: + +![简单razor插件](images/simple-razor-plugin.png) + +编辑这个`.csproj`文件内容: + +````xml + + + + net5.0 + Library + true + + + + + + + +```` + +* 将`Sdk`修改为`Microsoft.NET.Sdk.Web`。 +* 添加了`OutputType`和`IsPackable`属性. +* 添加了`Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared`NuGet包. + +> 不需要[Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared](https://www.nuget.org/packages/Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared) 包。您可以引用更基础的程序包,例如[Volo.Abp.AspNetCore.Mvc](https://www.nuget.org/packages/Volo.Abp.AspNetCore.Mvc/). 但是,如果需要构建一个UI视图/组件,建议参考[Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared](https://www.nuget.org/packages/Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared)程序包,因为它是最高级的程序包,不依赖于特定[theme](UI/AspNetCore/Theming.md)。如果依赖特定主题没有问题,则可以直接引用该主题的程序包,以便能够使用插件中特定于主题的功能。 + +接下来在插件中创建模块类: + +````csharp +using System.IO; +using System.Reflection; +using Microsoft.AspNetCore.Mvc.ApplicationParts; +using Microsoft.Extensions.DependencyInjection; +using Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared; +using Volo.Abp.Modularity; + +namespace MyMvcUIPlugIn +{ + [DependsOn(typeof(AbpAspNetCoreMvcUiThemeSharedModule))] + public class MyMvcUIPlugInModule : AbpModule + { + public override void PreConfigureServices(ServiceConfigurationContext context) + { + PreConfigure(mvcBuilder => + { + // 添加插件程序集 + mvcBuilder.PartManager.ApplicationParts.Add(new AssemblyPart(typeof(MyMvcUIPlugInModule).Assembly)); + + // 添加视图程序集 + var viewDllPath = Path.Combine(Path.GetDirectoryName(typeof(MyMvcUIPlugInModule).Assembly.Location), "MyMvcUIPlugIn.Views.dll"); + var viewAssembly = new CompiledRazorAssemblyPart(Assembly.LoadFrom(viewDllPath)); + mvcBuilder.PartManager.ApplicationParts.Add(viewAssembly); + }); + } + } +} +```` + +* 由于我们添加了相关的NuGet包,因此取决于`AbpAspNetCoreMvcUiThemeSharedModule`。 +* 添加插件程序集到ASP.NET Core MVC的`PartManager`中。这是ASP.NET Core所必需的。否则,您插件中的控制器将无法正常工作。 +* 添加插件的视图程序集到ASP.NET Core MVC的`PartManager`中。这是ASP.NET Core所必需的。否则,您在插件中的视图将不起作用。 + +现在,您可以在`Pages`目录下添加一个razor页面,例如`MyPlugInPage.cshtml`: + +````html +@page +@model MyMvcUIPlugIn.Pages.MyPlugInPage +

    Welcome to my plug-in page

    +

    This page is located inside a plug-in module! :)

    +```` + +现在,您可以构建插件项目。它将产生以下输出: + +![simple-razor-plug-in-dll-file](images/simple-razor-plug-in-dll-file.png) + +将`MyMvcUIPlugIn.dll`和`MyMvcUIPlugIn.Views.dll`复制到到插件目录下(此示例中为`D:\Temp\MyPlugIns`). + +如果您已经按照上述方式配置了主应用程序(参见“基础用法”部分),那么在应用程序启动的时候,您应该能够访问`/MyPlugInPage`URL: + +![simple-plugin-output](images/simple-plugin-output.png) + +## 讨论 + +在现实世界中,您的插件可能具有一些外部依赖性。另外,您的应用程序可能被设计为支持插件。所有这些都是您自己的系统要求。ABP做的仅仅是在应用程序启动时加载模块。您在这些模块中执行什么操作由您决定。 + +但是,我们可以为一些常见情况提供一些建议。 + +### 库依赖 + +对于包/dll依赖,您可以将相关的dll复制到插件目录下。ABP会自动将所有程序集加载到该目录下,并且您的插件将按预期工作。 + +> 请🌘见[Microsoft文档](https://docs.microsoft.com/en-us/dotnet/core/tutorials/creating-app-with-plugin-support#plugin-with-library-dependencies)。 + +### 数据库模式 + +如果您的模块使用关系型数据库和[Entity Framework Core](Entity-Framework-Core.md), 那么它需要在数据表中提供其表。有多种不同的方法可确保在应用程序使用插件时创建表。一些例子; + +1. 插件可以检查数据库表是否存在,并在应用程序启动时创建表,或者如果插件已更新且需要进行某些架构更改时,则会迁移它们。您可以使用EF Core的迁移API来做到这一点。 +2. 您可以改进`DbMigrator`应用程序,用于查找插件的迁移并执行它们。 + +可能还有其他解决方案。例如,如果您的数据库管理员不允许您在应用程序代码中更改数据库模式,则可能需要手动将SQL文件发送给数据库管理员,以将其应用于数据库。 \ No newline at end of file From 9f49b111cc4e56f38785b75d983046516af38304 Mon Sep 17 00:00:00 2001 From: liangshiwei Date: Mon, 8 Feb 2021 09:45:42 +0800 Subject: [PATCH 200/217] Update KafkaMessageConsumer --- .../src/Volo.Abp.Kafka/Volo/Abp/Kafka/KafkaMessageConsumer.cs | 1 + 1 file changed, 1 insertion(+) diff --git a/framework/src/Volo.Abp.Kafka/Volo/Abp/Kafka/KafkaMessageConsumer.cs b/framework/src/Volo.Abp.Kafka/Volo/Abp/Kafka/KafkaMessageConsumer.cs index 2ff70dd8d5..3b8f022012 100644 --- a/framework/src/Volo.Abp.Kafka/Volo/Abp/Kafka/KafkaMessageConsumer.cs +++ b/framework/src/Volo.Abp.Kafka/Volo/Abp/Kafka/KafkaMessageConsumer.cs @@ -1,5 +1,6 @@ using System; using System.Collections.Concurrent; +using System.Linq; using System.Threading.Tasks; using Confluent.Kafka; using Confluent.Kafka.Admin; From 857781c0946dcef6088c2e7e1162a801c8cf4052 Mon Sep 17 00:00:00 2001 From: liangshiwei Date: Mon, 8 Feb 2021 09:53:35 +0800 Subject: [PATCH 201/217] Update PlugIn-Modules.md --- docs/zh-Hans/PlugIn-Modules.md | 62 +++++++++++++++++----------------- 1 file changed, 31 insertions(+), 31 deletions(-) diff --git a/docs/zh-Hans/PlugIn-Modules.md b/docs/zh-Hans/PlugIn-Modules.md index 3380e7372d..10f156b659 100644 --- a/docs/zh-Hans/PlugIn-Modules.md +++ b/docs/zh-Hans/PlugIn-Modules.md @@ -1,10 +1,10 @@ # 模块化插件 -可以将[模块](Module-Development-Basics.md)加载为插件。这意味着您可能不需要在解决方案中引用模块的程序集,就可以像其他模块一样在启动应用时加载该模块。 +可以将[模块](Module-Development-Basics.md)加载为插件.这意味着你可能不需要在解决方案中引用模块的程序集,就可以像其它模块一样在启动应用时加载该模块. ## 基本用法 -`IServiceCollection.AddApplication()` 扩展方法可以获取配置插件源的选项。 +`IServiceCollection.AddApplication()` 扩展方法可以获取配置插件源的选项. **例如: 从文件夹加载插件** @@ -34,9 +34,9 @@ namespace MyPlugInDemo.Web ```` * 这是典型的ASP.NET Core应用程序的`Startup`类. -* `PlugInSources.AddFolder`从指定的目录中加载程序集(通常为dll)。 +* `PlugInSources.AddFolder`从指定的目录中加载程序集(通常为dll). -就这样。ABP将在这个目录中发现这些模块,像其他普通模版一样配置和初始化他们。 +就这样.ABP将在这个目录中发现这些模块,像其它常规一样配置和初始化它们. ### 插件源 @@ -46,14 +46,14 @@ namespace MyPlugInDemo.Web options.PlugInSources.Add(new FolderPlugInSource(@"D:\Temp\MyPlugIns")); ```` -> `AddFolder()`方法仅在给定目录下查找程序集文件,而不在子目录中查找。您可以传递一个`SearchOption.AllDirectories`参数作为第二个参数,来递归地查找它的子目录。 +> `AddFolder()`方法仅在给定目录下查找程序集文件,而不在子目录中查找.你可以传递一个`SearchOption.AllDirectories`参数作为第二个参数,来递归地查找它的子目录. 这里有两个内置插件源的示例: -* `PlugInSources.AddFiles()`方法获取程序集(通常是dll)文件列表。这是使用`FilePlugInSource`类的快捷方式。 -* `PlugInSources.AddTypes()`方法获取模块类类型的列表。如果实用化此方法,则需要自己加载模块的程序集,但是在需要时它提供了灵活性。这是使用`TypePlugInSource`类的快捷方式。 +* `PlugInSources.AddFiles()`方法获取程序集(通常是dll)文件列表.这是使用`FilePlugInSource`类的快捷方式. +* `PlugInSources.AddTypes()`方法获取模块类类型的列表.如果实用化此方法,则需要自己加载模块的程序集,但是在需要时它提供了灵活性.这是使用`TypePlugInSource`类的快捷方式. -如果需要,您可以创建自己的`IPlugInSource`的接口实现,并像其他方法一样添加到`options.PlugInSources`中。 +如果需要,你可以创建自己的`IPlugInSource`的接口实现,并像其它方法一样添加到`options.PlugInSources`中. ## 例如:创建一个简单的插件 @@ -61,13 +61,13 @@ options.PlugInSources.Add(new FolderPlugInSource(@"D:\Temp\MyPlugIns")); ![简单插件库](images/simple-plugin-library.png) -您可以在模块中添加需要使用的ABP框架包。至少,您应该为这个项目添加包`Volo.Abp.Core`: +你可以在模块中添加需要使用的ABP框架包.至少,你应该为这个项目添加包`Volo.Abp.Core`: ```` Install-Package Volo.Abp.Core ```` -每个[模块](Module-Development-Basics.md)必须声明为一个继承自`AbpModule`的类。这里是一个简单的模块类,用于解析一个服务并在应用启动时对其初始化: +每个[模块](Module-Development-Basics.md)必须声明为一个继承自`AbpModule`的类.这里是一个简单的模块类,用于解析一个服务并在应用启动时对其初始化: ````csharp using Microsoft.Extensions.DependencyInjection; @@ -89,7 +89,7 @@ namespace MyPlugIn } ```` -`MyService`可以是注册在[依赖注入](Dependency-Injection.md)系统中的任意类,如下所示: +`MyService`可以是注册在[依赖注入](Dependency-Injection.md)系统中的任意类,如下所示: ````csharp using Microsoft.Extensions.Logging; @@ -114,19 +114,19 @@ namespace MyPlugIn } ```` -编译这个项目,打开build目录,找到`MyPlugIn.dll`: +编译这个项目,打开build目录,找到`MyPlugIn.dll`: ![简单dll插件](images/simple-plug-in-dll-file.png) 将`MyPlugIn.dll`复制到到插件目录中(此实例为`D:\Temp\MyPlugIns`). -如果您已经按照上述方式配置了主应用程序(参见“基础用法”部分),那么在应用程序启动时,您可以看到“MyService has been initialized(MyService已经初始化)的日志。 +如果你已经按照上述方式配置了主应用程序(参见“基础用法”部分),那么在应用程序启动时,你可以看到“MyService has been initialized(MyService已经初始化)的日志. ## 例如:创建一个Razor Pages插件 -创建内部带视图的插件需要更多的注意。 +创建内部带视图的插件需要更多的注意. -> 这个示例假设您已经使用应用程序启动模板和MVC / Razor Pages UI[创建了一个新的Web应用程序](https://abp.io/get-started)。 +> 这个示例假设你已经使用应用程序启动模板和MVC / Razor Pages UI[创建了一个新的Web应用程序](https://abp.io/get-started). 在解决方案中创建一个新的**类库**项目: @@ -150,11 +150,11 @@ namespace MyPlugIn ```` -* 将`Sdk`修改为`Microsoft.NET.Sdk.Web`。 +* 将`Sdk`修改为`Microsoft.NET.Sdk.Web`. * 添加了`OutputType`和`IsPackable`属性. * 添加了`Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared`NuGet包. -> 不需要[Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared](https://www.nuget.org/packages/Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared) 包。您可以引用更基础的程序包,例如[Volo.Abp.AspNetCore.Mvc](https://www.nuget.org/packages/Volo.Abp.AspNetCore.Mvc/). 但是,如果需要构建一个UI视图/组件,建议参考[Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared](https://www.nuget.org/packages/Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared)程序包,因为它是最高级的程序包,不依赖于特定[theme](UI/AspNetCore/Theming.md)。如果依赖特定主题没有问题,则可以直接引用该主题的程序包,以便能够使用插件中特定于主题的功能。 +> 不需要[Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared](https://www.nuget.org/packages/Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared) 包.你可以引用更基础的程序包,例如[Volo.Abp.AspNetCore.Mvc](https://www.nuget.org/packages/Volo.Abp.AspNetCore.Mvc/). 但是,如果需要构建一个UI视图/组件,建议参考[Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared](https://www.nuget.org/packages/Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared)程序包,因为它是最高级的程序包,不依赖于特定[theme](UI/AspNetCore/Theming.md).如果依赖特定主题没有问题,则可以直接引用该主题的程序包,以便能够使用插件中特定于主题的功能. 接下来在插件中创建模块类: @@ -188,11 +188,11 @@ namespace MyMvcUIPlugIn } ```` -* 由于我们添加了相关的NuGet包,因此取决于`AbpAspNetCoreMvcUiThemeSharedModule`。 -* 添加插件程序集到ASP.NET Core MVC的`PartManager`中。这是ASP.NET Core所必需的。否则,您插件中的控制器将无法正常工作。 -* 添加插件的视图程序集到ASP.NET Core MVC的`PartManager`中。这是ASP.NET Core所必需的。否则,您在插件中的视图将不起作用。 +* 由于我们添加了相关的NuGet包,因此取决于`AbpAspNetCoreMvcUiThemeSharedModule`. +* 添加插件程序集到ASP.NET Core MVC的`PartManager`中.这是ASP.NET Core所必需的.否则,你插件中的控制器将无法正常工作. +* 添加插件的视图程序集到ASP.NET Core MVC的`PartManager`中.这是ASP.NET Core所必需的.否则,你在插件中的视图将不起作用. -现在,您可以在`Pages`目录下添加一个razor页面,例如`MyPlugInPage.cshtml`: +现在,你可以在`Pages`目录下添加一个razor页面,例如`MyPlugInPage.cshtml`: ````html @page @@ -201,33 +201,33 @@ namespace MyMvcUIPlugIn

    This page is located inside a plug-in module! :)

    ```` -现在,您可以构建插件项目。它将产生以下输出: +现在,你可以构建插件项目.它将产生以下输出: ![simple-razor-plug-in-dll-file](images/simple-razor-plug-in-dll-file.png) 将`MyMvcUIPlugIn.dll`和`MyMvcUIPlugIn.Views.dll`复制到到插件目录下(此示例中为`D:\Temp\MyPlugIns`). -如果您已经按照上述方式配置了主应用程序(参见“基础用法”部分),那么在应用程序启动的时候,您应该能够访问`/MyPlugInPage`URL: +如果你已经按照上述方式配置了主应用程序(参见“基础用法”部分),那么在应用程序启动的时候,你应该能够访问`/MyPlugInPage`URL: ![simple-plugin-output](images/simple-plugin-output.png) ## 讨论 -在现实世界中,您的插件可能具有一些外部依赖性。另外,您的应用程序可能被设计为支持插件。所有这些都是您自己的系统要求。ABP做的仅仅是在应用程序启动时加载模块。您在这些模块中执行什么操作由您决定。 +在现实世界中,你的插件可能具有一些外部依赖性.另外,你的应用程序可能被设计为支持插件.所有这些都是你自己的系统要求.ABP做的仅仅是在应用程序启动时加载模块.你在这些模块中执行什么操作由你决定. -但是,我们可以为一些常见情况提供一些建议。 +但是,我们可以为一些常见情况提供一些建议. ### 库依赖 -对于包/dll依赖,您可以将相关的dll复制到插件目录下。ABP会自动将所有程序集加载到该目录下,并且您的插件将按预期工作。 +对于包/dll依赖,你可以将相关的dll复制到插件目录下.ABP会自动将所有程序集加载到该目录下,并且你的插件将按预期工作. -> 请🌘见[Microsoft文档](https://docs.microsoft.com/en-us/dotnet/core/tutorials/creating-app-with-plugin-support#plugin-with-library-dependencies)。 +> 请参见[Microsoft文档](https://docs.microsoft.com/zh-cn/dotnet/core/tutorials/creating-app-with-plugin-support#plugin-with-library-dependencies). ### 数据库模式 -如果您的模块使用关系型数据库和[Entity Framework Core](Entity-Framework-Core.md), 那么它需要在数据表中提供其表。有多种不同的方法可确保在应用程序使用插件时创建表。一些例子; +如果你的模块使用关系型数据库和[Entity Framework Core](Entity-Framework-Core.md), 那么它需要在数据库中提供表.有多种不同的方法可确保在应用程序使用插件时创建表.一些例子; -1. 插件可以检查数据库表是否存在,并在应用程序启动时创建表,或者如果插件已更新且需要进行某些架构更改时,则会迁移它们。您可以使用EF Core的迁移API来做到这一点。 -2. 您可以改进`DbMigrator`应用程序,用于查找插件的迁移并执行它们。 +1. 插件可以检查数据库表是否存在,并在应用程序启动时创建表,或者如果插件已更新且需要进行某些架构更改时,则会迁移它们.你可以使用EF Core的迁移API来做到这一点. +2. 你可以改进`DbMigrator`应用程序,用于查找插件的迁移并执行它们. -可能还有其他解决方案。例如,如果您的数据库管理员不允许您在应用程序代码中更改数据库模式,则可能需要手动将SQL文件发送给数据库管理员,以将其应用于数据库。 \ No newline at end of file +可能还有其它解决方案.例如,如果你的数据库管理员不允许你在应用程序代码中更改数据库模式,则可能需要手动将SQL文件发送给数据库管理员,以将其应用于数据库. From 223e9eddf2054c1472d734f8f7642c1da315673f Mon Sep 17 00:00:00 2001 From: liangshiwei Date: Mon, 8 Feb 2021 09:54:55 +0800 Subject: [PATCH 202/217] Update docs-nav.json --- docs/zh-Hans/docs-nav.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/docs/zh-Hans/docs-nav.json b/docs/zh-Hans/docs-nav.json index 5d231099c9..4f47dd2760 100644 --- a/docs/zh-Hans/docs-nav.json +++ b/docs/zh-Hans/docs-nav.json @@ -313,7 +313,8 @@ "path": "Module-Development-Basics.md" }, { - "text": "模块插件" + "text": "模块插件", + "path": "PlugIn-Modules.md" }, { "text": "自定义应用模块", From 697f3e1eb6a3a1a4829fa24c0e2f2bf7077982b0 Mon Sep 17 00:00:00 2001 From: chxmind Date: Mon, 8 Feb 2021 13:29:33 +0800 Subject: [PATCH 203/217] add zh-Hans doc pictures for PlugIn-Modules.md --- docs/zh-Hans/images/simple-plug-in-dll-file.png | Bin 0 -> 35011 bytes docs/zh-Hans/images/simple-plugin-library.png | Bin 0 -> 17231 bytes docs/zh-Hans/images/simple-plugin-output.png | Bin 0 -> 39597 bytes .../images/simple-razor-plug-in-dll-file.png | Bin 0 -> 52768 bytes docs/zh-Hans/images/simple-razor-plugin.png | Bin 0 -> 25725 bytes 5 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 docs/zh-Hans/images/simple-plug-in-dll-file.png create mode 100644 docs/zh-Hans/images/simple-plugin-library.png create mode 100644 docs/zh-Hans/images/simple-plugin-output.png create mode 100644 docs/zh-Hans/images/simple-razor-plug-in-dll-file.png create mode 100644 docs/zh-Hans/images/simple-razor-plugin.png diff --git a/docs/zh-Hans/images/simple-plug-in-dll-file.png b/docs/zh-Hans/images/simple-plug-in-dll-file.png new file mode 100644 index 0000000000000000000000000000000000000000..3155708d68e59ecfc8d2c954f9cb2c5360182766 GIT binary patch literal 35011 zcmd43WmH^S)Gb&MLU0Z4?jBqsgD4k-66O;1P`vkUEe16-X7nd z{?nu1>)t6L;sm9F?4sMGoW<2Ng%0jbDvv<_t`EV%N7fcbq!gO zcB`2W3sK}P@N-}nC;9-dLdGMP{O-w(8W=S;Rn$@}k`YTP6njhNqcyNvAlu1TTu zdI%ia;CErSvO2p*Ah|d9aHXoT%W5X>YadKF zpdI;@ZwM{!zXNCEZ#?*k)OuIpcDxQ1i)0cOI4N$fLdam&ti5U7YU+VyN`I*8Jlk1G zDV%F?tTV@W970V`S(n*Ak*~@Zw!*u&J&|wT^%%mIwdBhb_$T%&5-uugT6u})FEa?_ z(9!+A*y{0sX6>cP9X`JC(MhI=N7g&(uJgN{)S>qQsJgq7cGNnGSw%&1Sc>lMb!|%l zrg5sp+DQT~*4UguI6v(Y>At6>rJbFf>6Rm-qE=N`9m=d8B9!9xeBw8ANej*Ayk zwr0_*S!=&mRKFKwgn&gW*FQ9Le&@Q}9{B0gr;3V-xjD`Kr|e(x$`cb4Pfi>u`0bXV zE)VToNnWVZVv1$Nu&}UDg051it)uN_ySC_mYQ0P@c_Z%qByRn zq-4*-&$*v&uXKgW$8*td=XCzGBM~q{Q#H1=Jy?V3pbE))cw8f~HrSqQDx{C(?9Ske zhB+9y47Rkie0lRVEIdkAHSg}ud*qKF zg4bBB`>DB|-Qh^OxP!etA|m45b@P3FeZ9xo?lh_A!Rt*%`R9`LJGv)&UeRGhe4`T+ zFS)p|Ez9~~tow7dtU14BuJIlTu9UY;0mGo`y6gThP%BrfWX2?ULXk_{ASG&QQq1m}&C5hUs{_f#pIIxjASL#A1Q%{35x zqWAUsK*Id|ygwSLoS`Lx)77}$D2^~)x?2A#JZ?YL(s(X!RSZU*IitCHfpaqLByubz zMRK)D1yx$NtUm2gHzM$tvA z?bEA2v(@5PYkH5JZOqNLkJkF`5Bx>2ad1e4+__>azA6@JH`ZCrR%J@V{Jf+iNE@_^ zb?O|q?ryKscPQDo!;d98%vei}l^9ivn3$N5Z!9!4W#7p;j4Ki7OLPGA3mTVnHaLX0&QQi-Cb9;o z9@ko|Q5_b5O2mt9CTMWU3uE>6*qSy;Y4pD3zrLUvh~vyIEd0|QK`E8w9uzz__@Tko zF5u?*&T;10miNsHX;%{q>qw@}I9^Bg<@d&z_O@;zxx15W5sVQu?}I0ogHJ7QL)< zmqO&C6|F(%5?F3nSXg@p4>zB1DVAO5M>!64uZUdJr`0b=?YYx9=5(W+`}^aAd<;6l^dx@Z&Qbs2X?j-i&dwRM0s2Kk)# z^`Eh9G@i#do9W?+a@mQU#7ESw=W_8}TTA|=#>xy0%|t{*1;xcf0|TeAsfESG=S`2w z$|`p+E!+H1((*o~ZlL%%)eLVrq6r?nVrnh_w4}PmYvM6<{whYWVOoM3 z1PRMt5V5kdXt-N}!*4X{0`WnVRidffUpU+_XiVE2?21N@bFf7}Cw-u%rUpBjo`nUq z6#bI0&s;AyHnt22j*(eYON)4!7e*;3;9q%T)V`}LmVtB5hdAz-8L;9KFYcZ~ z@H&A;@<`)gG_wvsz6SZZ8T-|f2_xt`WHH{!J}f)8 za%gR7n*I}vX_40|G#JslP0>+N>62PjMMXs!8D9eWjgJ%g93IR`zawaPh!n)n+nwgS z9X~(6t+DKcfpyVfoFqZFqbPadK>a_!Yp#Khv*lC3@>fS~Fj8KI3K&Wq>=_-Big+j9 z^78VkDJuR{r~5vzuAHxeF#?==viFr4_oLZRhxLB)G(Ly*?*qo=)BW1Nehv~M&z6E1 zVw>^8&Fk}d?C61PYl-UD&88*!19-dB?Fl#}oQu6ibbl8ut$BH$t1)pBH$&ico;-OX zay>l+mTY!r#&{@MHo1Idb0qzEV+eM$JaaCnZvy>wOo!KTu2|weq!86yDlc;D`1b9S z>vJ@pi#FY^T2DLvFO!8Du-MqMqdr#nCgRGfs;taRxGFaNatUMFHO($4tO<{gC=8ez z2+f?dv|X0mB1henC@3h>u}rnzw{`v0B}37nwq2;Fk&%&`e(J$pCfI$KF{=qUzMCp< zB6P;0>*yjdyS_`@ghdUfIQ{a%TMm;+MwT`<&g%d63?6;N-PM`-&wNz~M9FbPyIdgnw~Hq z__o=csRu(hh?{vc+MaU>x<=jaE<@HVnP#7>^uwwrYiI*g6C!>`_x7MisB~dO9Amn( zQGfiI&bqd`iXL&E)?YNgu-Fwiw&i&`p&Cvsuzq{jP*h|M_B05^oN+R(3mYGrzXNAF zEx^$F`?s#+XMr+Nq3hjp0Oxk6snfcMFEML9rl)k8n&Vzts3<8#RjWRit_1PIXTHwK zy|Jn0Z!0R=14{~G5_ae*y8D7IyJmyy;nnF5r^#Rl^~L!3`}7gh@@eRwA`m%hJc0PYTk-=baa2~7^}jAlw(a{3$w>-49H z_?+*}19Wqil$1m~TWy1j5^qpGEtewfwcd}v-?eJXyFQdcT0;?sJtu7`;<_W$rQHg> z>%3b+^TETzJ7{bWyj+cH4Rg3$wtH@5VnT@gtbX1b;FLvK-3~If*+zg2`N}mL-A{pE zWd^bJ_F&s%E12JMp8%ItTabSOk zN@pEOHYwZV=)>beMv%ajQy}kW| zbGM$a154cwyL;^s7eR4COC1*>nYTKlb9aP$7T$BjzwFvPd^*TmSMoZ>ve5rcbu3?_ zPw|{yd|D=R9s{Q>w4pMS#x)-Uv(8+|$doW&rU2E-pfUm}=WYH2Aghy}h|kL-$PXoo zXw;euXrErN-Uyih5G^!x&ojW}h2^6Kr|31KivhE0^&Xxeb4qcHajjAfj~)%_DS>*Q zk4ro%`K%mqGQr2Z6w60A2{JTMJ*z2WN8CU32E5+ztlObYVPo$@rQ@DTklUkZ-N|2F zMb1P(SxeR>0Oa*LpT~7)nY>%>z|{#kNuAts1S5_+9Zu#jl6w2L4TLv-0RgXs)h~na zp_-pRe+JN6quN?aK|#UVnq{Y$q}dH?*qp0}FzeZl(^1P4v`t5T1)jT>_hbUyqQ#S~ z>Iu@5dwTeZ5<75o`9(!xFV6zgWR=*Cc(^SsA~MQ=TmJd;&0<~N0=ts06`Vk2&#Ie+KzMjyDdS4=9UL_;L*QDEIC@ed$kRaIOMNmjy7Ok)yl-63 z!qHbu!Y#*0nZ_e^uTPtw_4Ro=yWcnO3CYd;Tw78fYnK{&cC{4XDj+@Z)DWF0NhP`a z-TETIS7pJ&0e{nAnY75(nGbG>P{mIhPHA7=RF|3|h1zr8;@DrSa>nr_(MaExnx5%D zxjg?JSzk(SYx&;d^QRSF?j~1hS(*6+GK@|v43v3Wt-Da;UNO;FUW%eYXoc}WJczj! zsi}H16=r;Ve9bp&tZS;DdU|>!<>hJ9_I>WJX zF!oHhP%CGij+$5c{+VJ;jQ>#cyA^*-C^SI$dKcJhV;3BS)e@&ju#1%6$hNFO|#c-+r9T< z1z}+U=Ur1%Q#vN56K0gQt9*a0_e{rP;@AyTXL;!JM_8VT#p;z(N7SqSA~$-8lQ{vu z&M^tQ;{q(X6IQYAS9_v>_Y}VP{n^!#Re!I3Us&`AmEus~iwwd2A6Hi4Ff@Qe;?=`i|i)8m$oZxxJWx~S#@`J zrwdb>e5&RMr<=K$RxcN}tYnFe)ZgcNAKjlq)@4`Fd;@s!9l+500*jY&0f8d-Hx4!^ z1Ys+f7&`i1&YL-Npz6=UN%R%Er_Fs< zQr-8tTA(e#rfI8QwCRcYQ>?y*kr*!wxZ(>2%(K@e*{i_hbZ(Y$52g9P;G90GR`f92 z9?#YBI#vF?@8RwqKu1d}-U^?kw!lJxIrY|bG(&O-7@i*rArlS~MydUJDl4?$+OHaZ ztbV`Af(`FyR`v_p%U;~7pQeda>s<1`$Ty@rGy*B6D%70gm%G%KNj=`zvVM`6?lyxl zm{AF{Kc?*MW0Sl?0Kn-Ma9-%DeJvpJq&_!?=vbt@wk`E$l9rhR+F*;b;^eil-niJ!A9DXZJU5#MBV69d}@Wq z(s~*9lyu|J!s&%X*%E&~2I1Djq|(29Sy@}lcW`cbQZ$w=FFtSkwiS4n$Ef77xC`|z ztQbA??R`>T2tvhzJB~h+-n48v0`{!b%JoS4{K8w2)axW-Z0jV19`zcB+Hgc^e5shfC2!7x^U*GUC=V{7EK6yWLxY6 zi}KwoZ5rTd_PzE!;^N{8O8ZIgFS_3PqY8m76{$qR@3$K6(uCqNW-hI zl_$^pw9wS{@T3l@Yz!zn%-5d|6m9PFphw(d9j=!@=5Z_k7A^VogJ`#rdWml9;_dum zXmtKDaF;gCw`bs70m!_xDW3K~RoK1O6XhoYNVlr8vQWG63dB($k$`Fb@zBV4cvRCz zqNAgU1e}>hjTo9dz=9>aE(bnF+Yev>RxaYa``vW-UHXUwR4hH>PbmPAJPWQXDR)~b z&^|+*k^P0n`kb829@-R3bMr_M8?xBp2%?4$-UkKu*ccxQRrU?&Eb_3lNJF6{8$f5? z-rbdvmev59(cS$DND3dcwUZMPJb;$ae6^k5Ta;f?a&WzPe+LA}UtQ73$xT3%0N!oW zZ%Xng|8)otN%H9+Z6D+yo+=%$p2#F|WO7z|Wfy&LzO+jG< zJOqGpQ539(x5Pv7FN01P;YtU0Hj1G}>ph%!cC~l}Sy>Ezl_hpKU zPe69wKqdw$>Bb9hSL$>}=YHn;M(O=~N6^Vx%PIi&rnEgmWzk(1Pr`^n{}8Lr?HwFG zur~pXRkZYlq<1)kPfgo6!_)VC&S7Y|Be+o{SWQT8QSlJQ>4}TLsAIzMCzBI-jw&6j!_vZe^iH;=M#i^I{}7oWW5RAVMGYN<9u+qf zqq%glX$`0WHbPj@Q#5s8ApUS6OlzB%L-dXlRlfqe-)VBq<>yzW{WN(+1DKk)q0M2^ z#4X=NKb+mmh3jI#O2PiV^-1ZXD*#vq7 z$rorgDP=-c;PeH^NyGxq0W@Pfr^U^8S6K3btu!9HrCqB-gxvzsAugKV>3q*w+FcAy zxtscdl9#@d9?`v`Sv&=zNEbl74>Ubl$RmJ`nb`^`Lxeom?;Eze02Dg|fZcMTVftFK zqb!!HnV`L_G_uPLy4>iXW`KW&7FS+k-%O>v%!3209vmuxef|@;2YEmcqN0ug|Hi?= z*_)}9=2`>d0+6*>;>$8JR)PN2j2$8_49IsN7Hw5k)!wht6`i{^9c;d4{nX{cFBG*| zJ#%K;BnEk!n}&ODdl)AGZ@&xHxk<~+>^Q&72B&K0$B_*-?y7YT8-pOs0ePuVtNtt# zrX5t5ZxFdi`6>(}BJA*Lw)s|r0_+OICtCHIMba=9H;XIx%!~{s?FLtHZp82fj}+Jj zIR!;_V`irum!{%0rzWNe(`gS}4dcX&hWT#0-Ls^y?yaI1ZTR!K+ib&#qF7 zOEBKgrQ`3RT9q$V7T&Fs^aMT~8A?-r9yX};XF=IEF}23AR6C!V!d{I*eV2+oyG?Oq zS;Vh8`nd_LwA6B4edvs!H&52Ru%B<*8ogNg;b%33uERO8Ve#WdrJMwC0@E*>D#sp0 zep^O}=B0KQD`Jny##16Bi~t8GzvB>z8MA_nh<2{j3Ka^HZ6!EzOp?akw z82A1N)*M2}vlk|?*WKNH0VF2ZMXz)EdJ3l~4#}j5M|e@bNxLggeBi#l2N?Mbgk&IH zXyp?1p8c7nl}p6a;&J_`5E$B+rW>e}`OoTV-QN{CWho%MIVJYg6#$bQ^BDW z;QmTVYzN|BGCVtefZl-N0#XPE2RBu$w8}YG{QomQ;(sJx_#Og1Q$gV0gb@*g4I!glOM1xD z(Hc#bN`wE>HSipUy%7Grcm?rEuT5XAY+}ghN3ojUCi{RCs?JwS^lir$wIA#w2PqGSn{-HTM*nCr9r!(X9dF(fy zqun2%K`R`$6e}tJxhH@GWM!~%l!Wxp+BC~TA3#dD_X*`2?SBR;#sLyqbe|p!bhCB$ z{T)|}gg?k@p{j2QLH^wEPl8K`DH!N0MWomWy>GC;c`hF#kkVNny;2nLx^gTDK|Vg4 zwE@yCzuw_LQ$r`ZVqZHRMm}OaSMwT*MI-Z0038?>#>Wk}u$A$!#}NIm4*0K76Y0@q z62nmb58FndOXlh2wz$+eNd)`W*M&xllw$9U_j@OHC=XMD&87VZ(izQII5eek6)4ec zHq~1j8Kuczb5^_8`c)BBIi!^D71Ml=CxKE_32> z)M;nEpvX!ZN-7zBI$~GsdYnW(1k#cdlRI#9SFf|VgL`#VZ*^T)zRo;js?A0n1gFhE zadrKK)KJ`dzI)Z( zIbz7`CO`NC{|uRBvvQ8FO>G|A##04DN&+}wSZijo^1&R>Ras7&s!y547nk;4;(n23 z6}w4vUs`z*+xBLX1MaiT8_vmQwQ}u~dTCmbP1@dZk#88*Qjo7Q>_wJrsQ29jgV=Ws zkI{-CkK`tVrslyJ*Vo|>eJCwmVo-BRcI?d4Cdo6&EIcTbsm3%n}?0FPc`Hn9FWX5EmjW3j)`i% z7m(7Z*-h;V<@CH-P03@NH|W!>Sm}TpuXovD3==*#OukZt$xSp?b#)pKjVB~)(^rl% ziWlrRHiZvJN9QtoGLdZ|K_KW+_;APF&T1FGR~Y;J^V`1E4O~tV{h3w0?-r&=D=>;d zNt>o@@}YOxISCZBNWKdc&)mk>`MYqjZF?v^@zv((d~83JoH9Ku7e*kS+t}}X&f`a| zQ&7%R6tU%hX^}JHeS8e$h35)m;yk+KI{ zPMYe3SjepvuTC?5Gi|^-I;$N8RSb{HXq>~~cIdQ9l_+)!Rro-E)8Q9qq-a)^ZE~yx zua8>EpIL(yYBAF~Q>(eM@UrzSB*_wD9Lwu%tD8I*V^W>#pmbIx9p3Ow-?qv95<%K; zHQHp12y)Q9%3r8RRjS)V(hC;AC#1b}sY*r_xVm73?%rYUad&MYZ6G+d>g@pYz?CDX zsDmA|uufj9o>UJmWguw0OcL4M6qsvVD|xHw)h1vBx`T*hKNOF2^^+}iUdSi;P8ieD zA8wz)lUwjxgBFGn8^n8ExQ=eewtBUGGa{TA`kr@opZzqg(ymYV)7(b1?hZ`w??lKh zyiv+(8(nN%cbhq>xWRa~U+1FTq70i~UoSLA51)qeQi=(INm=3ZuU2>XnW(CC0#=vL zGcuvLLRiO!&-2IW2)?(x|Lwen=}4H?p2o_RI9iccQT_fwvN)>JWLdAvT)x_6O{Lv{ zaO=^vQlGyAzp8o)*!SmseMKe~5wo$tY+sScC5Vo1Tqk_1uBCTFn%o$H%h%n(En8>O z+;`~;xx9OETNw4iCF5s`Dyol}nYLT1%YM8nQI+Z$4sx|##P?BR!w1Y^S}aIvolO#M0lX!Y z%O)lV|1!EEMj+PAtFIF-ZuA!U2cBC!#p~9V?_^$Sr3OqEa$$7-Y8MXoV}b^)okr@- z(+@^I5pv2pxqDG79GtUndmg)yH^rS&hdzy2R3Y5l)hUOyzi%rRLJgb)!+{_6cnoDD zyhg(Lq|jo`*`>M7zPrzi%zem~P-5)k{a}2T#SM|!2SZXHOJ5#*7tK@tEr3Nc?4S(9 zO>}y`YCd-AJspJwe%2%3lRP2(#HMsw)-TB%lqTNB7Z-++wTzfp$RRIwH;-jn|Io+ab=|le zf~Pd>C26D-BEn8wSWUE`#8YqV)$%7OAfSlI>~0>%=4F!%v+M|NWE;+}eqJSy@B*g= zCmWiPgI(1tR`dv6x1t$Ly9)^9+xR~)PCrFVvSC;}y5sUad$d~umeTUwi?Kqb#9_O> zn(L;eyAR~q??d{vBEIXAu|ytfI#2y^_WV_E&*Bl#=y>$mJI#%=gYuDdvMHtsB8fP; zN?tO(i)@d^bcqFdeeQ?k*#!Ec4wg({r(V7}ZZv}dt`fcZIfRiMdG!{TW5L3%MYGNK zmnBG(i&lJ0@75_6XA}x78q4eq2gVj@FX8vBjZ{GzEdu4nG)3zWX~FYNujCAw-D4XabZo`w=n%p}e*j_TF+LJEi$lTm#;;Mq<0NrWABXD4^C!!X7d;0= zwOhg9Hta|^k|9E6yM&Z`+**nD+-p`R4Qav?GA$S_^lxXN> z*zek-B^_Pm=eyFHC4{L;&n$y#{l_p7NIgA8d%gnu3V6U1FZ_M1=D%AzY|l5(Wd=}7 z|J1tpwKOKOQ`ApSMQpflmtg;>XZ8gG;C zN|nc!ge(fZ^P5`oo?Kw_Ctc@^O9aEzqMW|2Ak_ce3e0YtNP$;j$(CMy_^J_%heT<{5n=tN8GX9Q^y5n7~ z^(^Bl_o(r}*n+s@oo{+^N&fa@Oj6|KC5=DGa6zkz!w4^7}IAfO@(<~fsAFF=n3JPmW)%ujmty5A+I zAOt99rF%qQ$BHf#NxWlY%K|#bJWeFTVV@xjhwRqEQ6i1!k^ERHlVKj=o9@M37 zc48s;1hBqLXXHTVl};3jcs4!XnNPq7Lm+}f4n*0`*bwx5*Q7oe>O<^hbr?Yn#4wbb zh}kQZyhk9DTq=Tp;6|@x|4F0|z+{|e)LO=cKz_ddH|0LfVY{sjyP=&G0{Qak-%Nez zitp*iP&$k0H(Qv^z|EunM^~u;R`&`HAo99>h-n0$(QW~@BPahiH9ul&#|2$svO$?} zU>O7C#J>^_`CAc?s!N3Uapchk$44SwB{IB!J_JL6u(|&aV)_4m$$+UQ3v7m+Y6kGf z0Mnme5dPzXfVAVP|9? zHz$A09R9MJvD8wK$#vI_UDX{ zI?dH9sdPKp@fUO4huZciJW+NiwSpp;ZV5yG+yrSc{q*-X`;lR?`ML;q*ivy*zKe^> zkp&s&U(Mz3ed%bC9NR}3>V8FIg%*o-$JZ>d>Q5m`T#BnP^d+vyGO?&+*@tYUwd7KTE`>3D+GXC)avLGD>JZ5I!~6-l;lP5q-mVfH zg*2~@miU5~8qJKuGh@Z6T0iCi=;f)2h^Bz@A2q-VYk>kk=$xNK%fkBGhCeJS(SO5@ zV$=wF=G}G46zWp0QJC1OW*)SXuW##n%^dlVAGPW@G%XmH-t>t5=jetu2!kmaPg>{Y5Tne6PJWtLqS9)$y>nSVUXVV$aPBl#@k=k)tn_cv z!0|HzV-az5$@fU%eBOAE9uKkVxGO2A(--aFhMgWkH5ZtO40^~d>Pk=P!>gpT? z%H_MVZHDGOCH2PK{#Vd5dB60-3dq5{ZlQN+1m$vJl3sdjb&8QF=KN2C5K>@x0na7l zsD2-<8u@iQ^$DC*_TB0namPyf?n#3$Ic%R9d~h;|kxU`?Avp`Op;IaN1oB#fj7Vqd zpMJ%mhiS7aD2wJF??1)NfcsdL!|OTN&V1t?`$EzYNtMj|!LHA#PiqA;4ZB6T+7WNd z6gdi(i(Tr}R2_>_$?D6x=Jw2c_vm#8*k)`y|YlGHgHvihWbAsXyURf4mfIIIfZ!fe9v z14lP@>|BgQ&)-9ejT{yHVF51Mm~@7%bDL-7hExwC_Pu@~2M&qF4I4p;dW*djc8}ne z=f(m3>VSp?Lje^FGbL{w|E$OD;P7(C5rb#&Pxk1Tc;5jW7JHoR)Pj)=CpG8FUv80= zZy^vra{BZl@}ZnxZ=tJOU8@whwOko?JfU{?eq6m3(ROG*sIIhL+c}_NtR)Q8LTTd@ zJmQ1P<&m?svV^R;H%0^3*GY!BxD4VcmcV?`Ey#2ZB*oYvLKmn#%*V<`t6v9?xzipe zg@rM*1aXKhMMec6pYPmy$L5(83=Cs@Wmv;Z|0wZbMcCi#BTKPgF8fD_uS?QKMwqab z9E~L7OKw#sSthtg;u{G8TfRM$+Lqp?$S}zRT+*&9SVq zvKs`5WsHonDAc4yNm5)+Ju_LkPxSf}r;{{)yhfn{0Z6)ufh)`DeBwU>z)-Py<$AP33YsqY)!-7;3Vy9rUYKRv_g z#?PPF8zmzStjftNEyb{jBKulB`95G=EIKjTZB*2^vVih!T+Wkd6`MS6`_vr?xHwgf z_vY9z^&mR?1^8!62uZ2I9Z2wmMx?JSy8U?!AK!q%y^{$P$RWG;DtTgIs zF_l)Himl96zfNL37WC%J1ZSkoin+;}T>-0h#&H>6dYB;j2O|hxA)vF$$yZIuK6Co_ z*?N=)*D^deL#c#8Vzztz2m~w(09AccD@Y4;nyrn^V*BC)i93z|)v%O14a%-u`L8o5bD;f)7} z&AauUg2$fd0D}Gm{M?!u&59ZQ3O&o) z!yvt-hhydYCuhWUHHN0>8&YqLp9JTi(+=Tcd$3PF9&GbICQ^tpC1)d)J30(R zY$#GvRG`&}RwWa)690`Y$x z61zn}X)zAlx@q?_f-NJ+2j4kMA|zvt8*fVRlS~#2x+tzu!b86Kf#BQ#XB41W#LAN5 ze6PZ_t0?H^_o0_%AAQYe&?y?mL#7Ji-y!B697As=BC51ip~v{F;-XEh&`Q?08c`Z9 zbE{sdE4-y%R79gFS1%~2i{#u5nUjfn2rOmQ7tbh5CWS_+ohfKIF;nxom&u*zK(FY? zjx&Pw;}lJDJSuk3yGR8r-F8@-Kg`2h&pq_&%bs+eJ~2$wQero?_}RUnwI-t5H6xte z@%n(>N~alDYIdZJbdEL+-4g;IuiDGyqL9pcCK7uLtn`?~Ld`l(JbF?9He+f<} z@kG2E^xfieEkpzb3iWnkdE!0X)wunRjt9bRW@?-f5C=feOf1<(E9HsCA8bd*0B6T; z=d7seqbeHjm6Jv$rWY(W+|JxZAIcbU22z>x@{-p8EZIv6SwZf|jBxBdM6&p9Gx1KI zO+`Qhp$k7KhUE^E8}px|?U55+sRt7U8<0ZVxCNiVCPLVs*=ECSS#5xNdmDv6Hxi)D zr^7WKy&=@#V2dmb0gEPw`1#0vqxh6OCQ8H(jsl{QzM46hcF;bSK7MKR{xs?9Nm8?m zi%uGOWjc_N|9;c{T2agj%j8`r!|0q?QEF>zt4-6TF>;mGzrY;t^Mle;Juj=tCws9| z+;kNb5S{-U?Crm;2kGVisL_5n%KWGOpDV^*nLvdE1c1B?koxVkGsz6=dodD1Pfx!B zPW(hjQYioFPs{VqFt<}LkUkG`EP|{TQvWuPB62sOa~mU;uE5RqZ_firsf^yAO{nUC zGu`)0T8=M*1EHuzNEF7+M4JGoGgHlCC#-04)CcvfNXubtL=x>8Fqxi$h zi8xnd_cH*eA)$UcXGN{A3^^2MvkYH+L_8x!L+YgL^}3S_Z|)*|ugO>>@} zlOZ_5!;l8~gH3l=J6iS57z*QFKmOhUaOEK&NGN@&Ak$W$)X?xdwcmX$`1J4p1pqa_ zSP#zlvEIL{`s&S(>R@v<#r5B3LzolKeJGH!fZ4SG8{b#YoXB*)AcSkL=^u~wWqJ^kzbl|#pi4!ZOXUi zV5X&Of`W@)f$=a(V*oJ3y8Ip<{IN|Dq@L^9PzUvSu|62yKrtJtJ6C9}|Uqu;qks8!x(q`IN7+`s% zm|b|C$P=wx{z6KK);5t`e!(3RKz9t*qjhc}n~Ee2!lRg5&9>Nebe~vC5s}5lDp2md zp1i!?%N|4c2!eO~R9w}heqs;{hI_z6+$A~Kb}Wdo#X;fme%Uj&vwpfzWl%TT`*nx_ z01SG?zKN|rD6;{&I*TRn_$^K4K~D8R^u+%yPoZ=dL9R@p44?}7%7`TrA|Y(Uzjqv- zc4g&@GwaKtba!jg? znT5?jE0py!G_P2nqIALfn%deL-Dfj4?X!_tXj-!7@Q)w{N$1Mi@m1aLm8o88s9K>6 zIdpbl2!-2qDvo@PA>-wD0jpSF*}27(uee&sLh&DsV_lYE;-m2Haa2>^ZP>Q}^sP;C zOuu?>JDz$&kG=naU*_PDINY!)@-e+sN#=bUcVE5eo1T9hc^{ozUDRUJ0_Sg}8k|%; zIUYHlkI`i(SS+JXbAY)dZIfrt)lu^da*%plr9_^F&eKAWe~;2m1qiy@ALhzB(^2ZZ zU=$NNq{Qia3Nqe0=SsE9)jFlrtbVm98}1FPmo{d+xQ>xwg)u^VThZ)J4?)p$5-Of+ z^ceEW9%SA8Eu97(8bR*~0YwVD24?+366%Eu@0FFURs&o;f(bIo_gM3bjyxU#!f5o2 zqRfYbD0Fzjns(%w#c6OT5r)klWWvgZTPDWHO&k(~8#a4BVZD@wi$2rBrtbHv32*dl zv_S4tzRYsdV?ZwR>iS=`19FS-iLs}T6Fq{TmJI@x*P*K8sj*D!$30^E|#T=VVn6y6PM>d(ElaUBl!#- zYRE~Pc1X?t(A*aRq+&EnkxC1WKn+9#pb$a~dRU%yNr<#4T2xBA9 zdgh*lw+mKm5x^rZUL3Aa=1vio?^Y)C7a&EA>j+e-oT0~&YP`wztY<47iA1EDo$4l# zr1ucp^y7Ig&W>1i;y{eD21iis>w6UDQ1E&H8K1_S zqdlB++OwXr6gITDn4!GpQM7mYnslov{`npo^O~|s3m#(Nzc7w>QRu3+XUq|Cs)ZDo@(Ocu za!%)Y@sYw`dgGN=;PXcw&a8UxAUY_*3rGeAyvel0rt~SGj+;V(pd;BgKUaUnlE%&S z==O(UyF&qtmSZmEU~r%n@R72`n{^(W##0rLyY!IC7(yx{7lnCCHhsiAtwvgaq|~MH zpz9EJz?uAFiu_{%=m|}1C&JopE=k%A{xtg+p z9v17ptsc_k^-#{EW3nYKlcw}1nhZy6&AD1G8OTi0mUddy=bt8d?bDSP&2Br8|fAGnReeO`;<6VoqHy7 zHzee@?pq%GUQ8WZmZ#WP%Afky9tz=qH8&q8?Rx^aKoGiKzj(`nkr^V5Pe4$2IZ${Z z##Xs{c+;EQqVQc%3pOc7&Ch5P`@@V##IhBrQ*;XJ)xg)4`FGEGSM_lAJ1a%GwAk>) zGcI-)i|ia(N{n?rguvu=W)wo$Q${G0PbP?&K?xo=&q!S4KbV=*9Tq#zDSenTuok&a zb*ZsEr|`;h+~;4+9O1jPQu;Z-QmQpRzDhr!dH3D5y@1Y{81jlYOwJ;)sbX}Smm|sTk z5lxnU~wWn|2q6}r;)Wl1^f5$x4b zdBh$}$2x5A_kP&+rS{NYBPp7l6HbKcE`8WuQ>EdyIg$=5u|m=?6`z!v7bu+<`Csk5 z^;;ZG*ELEK5(oi;Cj=kd-7Uc2?he7--2+K*2`+K+I#K2R^5S`ul(rkT?Z=j0Ah$s(h68IcVHIeO)7M#T0rBjY1zIx009?2YZcAGUv-|$zPUC3Wxf!Y`9G!Bn9vx&#Clv&x> z)`rnQ8SKi>QVSfQWotmZB~a4@Uv_tNM|1GcOcFw5pGMt315Q*V)wh~*ox?c@MVE-@ z5WqJdb!^o%Kz;pxoVjJe$uc;PN8N6ys5U0EG&hC8{3J$bhXC~j7-M_;`_zCI&UC4_ z6TtHT6aj3!_BDBVc>(sX7a-tKs?%IBZrZcLM%Q8o>#TQLl@C9^Wz=tA3^Ml~Brk1y zGm1P^!}7snKibgb1N)U+OZ}r|pgKHXzUd}1;5Pt0U##kMVHye8s?xOr|Y-l**%cBAg+h@AmOP_nJuSR zFg#VaplCp>BC!DAQQ{O1B5Hkh;U9IgvdPc?^$UpWEF$fD8(hdfpznv~ufp zdeF`JT7NJyxpt{Zd|fkD%{W&re>xwW--VV2oj4`!E9;^`_f z{*{!XK0xfMJdE@d;{4qXfKt$E?*qASsErgam5eQ@Hfhu<`bMVA>cPu0@`|$>^RkJ- z5J*TRgpz-ysUKuMji%8D6|#=^`3S%tYbCYh>M}ig`6xaXSb7q^vDIVc*lIoq^329T zZeUhblD>CRfUElY-0u{{r3mc|wm9%7fD&Y!2%$}y17x9|?gNy{88xO)UJ$+4`>`9u zTCyDar8dp1Djp%5k3D@52%rU`cKVa46bA<7yNV4JE0;x4Q}v`gi{~4Qkb(kc02>7+ zA^_KiKUeTp^_m}6*bvTV7BHCzhb%2C6o#xqKNq@;ZWH`002b4BAf6duVk%TEeH@SQ zj){wNzP~;Jw3~pg1SX~T#LQ|(V-`by48{kEtmsM`4UYkAGh!ZQ(gSs`LZHwA_oCfM+N08)>wTs3!is2y@4tYK4}*_MO~I{lQ}9Tz9>_i`5LE90OSFUktj z^AK$5+u+XW>_^AmSowUOYaaI}KR*Xh+IXuyMD-kJwF5<-larGGmub8g-{YWW!MYJB z^9M>kmw_tMWNw$|^5yIEN!b;EHfS^$r`_t^TvT+x{&ccX_j+xl+|q0=L0YeYuD*PW z^{5DOKR-+AWEnn%!y)|T1cHfdcdd3na%{yG=}m-qCj6m>NEycQi*&K`Brn?3(A~8ptRnkKZs6S1j?aHv!xdE!#@Eh~tk=_SWNFm3 z!H%vXw=d+>4dP0~bY562p;Kc6BT3-o+pVEbI)F49)&ds#N>eSNG}Fih>s)$}CY=4%1~nu^YQr~$ZzbT#WtTbw)bTL6Sz1vG>tWo4fLd8a#o>bc~$opKQG-pt3# z`vB;$G&vv6Ki!W$Jui|j%WiotKgl9b)|a3xVPv^PRlH6@HP%QAPW{Zi^U}sHlu6;W zNwHMR`Bc7B#Rv&;I~@p+>Z-Xp-}Y z8*b`+wN0Sr4Xm`2F`v3{fy&sOWGTy#qXHvJ>@;}}D7(RLfA5)*fso>_uW?o>(q+ov z3q|#wz)e^xZGwqt+^3)*8PHk)2_bZm=KJq+q{8o#mvQN=Uz<(xi>OwPK4Dy94KgN{ zQwS{s*2&L+{jSXA&84!$#whIbEOD-m)F$)4fJmjXr2v&qs|zcS&H$qaP*f__ZrqY? z1YE4=?f?i$K;?F$^WmqvoWV_fBh!z^t;hA-_`#gSLK}D(zv?+XpQlDdVvzf?sX>;> zAVgG#q^PO*$(A2@;UV3LSSlHHc@rD#bU&wJ$~gc(Y1|ZnXa8rb!YG3z^hK=GD1iIH zg&IvMnw>(%D#dIn_O(OUbmJv^rrr# zD@SKcjD**&MvV{^3JN5c>fN)wBLEA=cdwyz1%%vHUU}?KKn4(TBYACiFkLpysOcq= z{kJ$-i)YG=Ofg8#8eYJ3S;u5D3)?y#R`?J1!z0IKv&INd&k5TUIIBJ&`7oaqQ4wYF z4FI4b6`7WiatX{c(o8@s%;#=l#oEH+xmR%_c0=e}t^vpF@g^t9 z$GwD$mDLH5HA~Yi(31qHJugthaPr#Vr2!xJ=LExq1CMd;*4BW80u%WhZgPWbj|v{14wrmv(XUe2|3q9XC!OQ3f2FO`3iPVZD9;Z> z^$M5hesMe19o(`0$5v}%`y)~@ao#L;ky!w?>`?Ufygda;+x59G~^NTo|ZQn_YBjK$~=<32N?_j=f!~ z8|NQ(02Rm5F7Mx2?=6!1of+Kfd^v7;cI;jUtxLUmCC`Do;Raf>Y~1X2P22xTuR-&1 zBdF4eEq}2fJ&$^b@&Wqg5apP|V4YD*Aeg~HFxvdQX`?F>5F$u%; z{SD0E6j||OQ;z3`1Ly85PSEKo+w`kk96vQ^@ukud#YLp#slP8`p4XIaw*-N)ZyDghEU2AJ|gFvNH2>l zMp&a@^WBM@%F0SM$l)_x4}bvy^{L$4+&DVz2IJwR_W%JqzV+US0;2)&pq86Gf_4Cz z64K1b$jGM~_7$-rLjX6F<+~xlq@W;vBSaBGhYIbrQ<_=e-YVsGp4vr*UG#-X97cXp zvpG}KoZt~*Jrpv)anB}gZXTX;Xpoae&C8XLN{H^3$P$(f5f19JbUxs>ujA!(8boh4 zz}XAOa}s$)6mD%+o< zOH7cceqi9bls_#}qhfAV*vOSFY2Vp+0wRIC#@0LTZ|!BkQJB;!7(VEMfju5H z)gxc)xf``A&q`XQO`M`T>1hHV@gA(W3LF32*`^l!3%P#n5Ry&I)Tl6g`z{xNT79kq zd=iq9qJ#}qN_7rTT=6~sw0|c2`7u(x#u5tP!_EhDCmYeSC4izMz)4IJHq1;km84sO zhtTfujYGFadfufY=H^$@O`d^?3l4z<>&nRJSec#-&Gq zmxmGwwYI&jN6YCoup=2Q@L^_7M)*JEzJ>1yP>7ficLD3mBKFL z{tMa4Aqikx(df1$lRf~FK1OC_N-O|I1tY0e|tpghPP?j?B3x-?fPzN9fl zrdE-!8Z{B`@s254!Uu9h!Kok39=llg7q6G|PY*SYqfxIg?2pRihVS4wH!H8SI~Sv2CGTAUGhFf!4A9onvd;Iv#XeZ@L;pv$)i(~`L1KZ#zOYe`N!ODDa0Eq<6SD*qn#E3? zf5C1-UHAdhgWbF|nR{iq>!85zKvy;a2)uFS&Dxiz?Wg@CIF({bg}cAE^~L+kbyOUz z0AXf*eLWQTLZ83&P*{h`E8}jTt*x!V9Y83@yh^QS`Q+*M2yOAge`Ipq1mr{{X())@ zgzsBr%I^XBJ$0y0xu@HL>FWJ4>c4a!7#Oual$dd}cLRN|n895-vbUXp>Kh=Q@O0pi zws1*08J3YY?DOjHy?<#T%nOZM)B7NB+S&yQYBp}tu{qc_qE;C)82r!urV>$Pk@^bj zeV;204Hx_J6x3~av;z=x+XDY#tZ9X?@4r~@d zbO~*B(aNsuk^&;z8pM4e6ZB|4>j>&9k7C zTXMSLK0sZs?4()HGFIj7gp5R&(3rK%4)={&|E%uReSe)+BquCb>LSI{<$D?tDDzZe z(!k>oTB~KpZ?X`jMMW=nmoX)Mf!DwxsI+2k!)QJmJhn=m8e~@TyB^tqF}xg9YK_{N z3QJlGH`06n5qGcm6fKB=e7xK(bp(gGH=Fo@b5lmkWkET2-z7>KMjD_|)7z^}Lcs7C zZwn3&oWVvMj4%Cl>p9$2+Kc}fGODVy$A5iw74#kGG_G$%j4;Gval-_eBPAj9pyx#Nh8GTHfirRv^Y^wIo&$T&QmS5aBnL$EI$ zuxR`9Pn#Crzw25edV-aABV}jCOUA7(UHPRf6dE>~YMLD2e*8GV&(jfqOfj(+Oxc}_ z3DuvAW{@3l!JyEmxNQ7ga7F4vP1r13hlh}Ifhc>oj61Kz)h@9SGamK%&%uE#*a6+Q!cz0VrH ztolZnK`(vu$=9qe4~m6JX+C)iVi;U5j}L;=KuKGU+0?!ll$obPF~@8hS&{9X&d1c; zQ#`n{Bf|{(1=E!?OA{f|amPRUx)h^(_Hxyw4iVWFRo-5b7ObdYh`s2Bi}_xiG^#xI;w*xjI zUV<;$K#o@`34tob{ZB&tXztz20!l4e%no3Gbpttkp<+D1{-O<@-6diUQmgQv_wwKS zcHO1A)@@b-8luPO1dqGX{9eZ0_HI&S+sRBmbTd8+TZE(506L&s` z{J5P**TLs1vfvl)A)pB3ch9ogXJ1TIcsZ+LL)wshdmPQXvbcpvsT2iLKQ?@_;OBF{ z$G|Z*V#DV+eK4rDSul^#l}Vdn*IBq_cb942;2BJ+nm*xW1s;)_bp6HCRm8Nh8Z6AJ zcjdVCsGj4uIUvv%2>66uxM!ySJ?&n(i(;6Cht=`-lB57*>laehCD$@}B3D$rH<+@K zjieDItdZOkTHjo3fV#@*4^cCXJ#sQE4riT>F>FYB)_3aVq(a(W@vh?5!kDq!3*Ksk zYUjnb^2DgT3cX0OqPqipgl?@=Sy`g2+gE5_0XnFac>BPY@dBJ(re z9qU9qRlAGw^pbO5LkW!O>YL&N*W5%DOJr2^+#ce3YX+G@dgE!MEpziT>}nZ1jU`lL z_9RG=XMVCrmqKvpAN;tfxe=omqf zKH_nD^_EF160SQ1S$mVj3~%zM}wr`A;nXTSkK)W$k9Z4M%T(`SUR z!irSPN1StjWSwApV}IZbf6}5bC(Cv4{#wo|qTTdG?w)%%V0xKL9E2*Yhcen#wY*IH zm?xEVYzj))W6}AUqeKaO7YLS#GH?BNw!dtQNQ0P)B=8HX-K~zykR8nXZA#C;EDjIm zY@G^K7W^2o9M1XX#HjL#-5M#Ea`oI((=I*i0>D)ios0^isT-pbv-y>YiFR*vWbV62 zWpyo;){|&~+c2MTDVk8ye!i-5&hDCv$7=GR(}{wuaguVM%68+m{cQTg&t`65beMR$ zbPbavAtR^RQN}4PmN=>wOiM=`uLk-ZlO0vb(?duK?F@RP72Qac>M=6};`i6!`4zE! zgvf1jyx2o($uq#^eUAk+?o(6=d;9vmO?!b-hQVI%+hwAod{cpiht~*yN$##k)0g3? zeUB9rhoBg}<N>-gY)L6I;XP;pX>FJL){j4s|`S9b6mCMK7P&bhV(Y4fV`z< z8oR;s_ORc%e{n9Fm!DJEakYuyQjW+id83)?2PiCoO~nrrsYV$cp2l>NQah4vcx8#p!_sg-Sja8fX&U)-{h z7}yFDsdcIO7&Kv%G(ep(UyPzCKt3Z9neRw+ka;LhVR!#$Fu)%g0UcHH+Ac2njhecr zsX4J-EUWbn6_uRxkHjlrG6ua?0lcWj8c3S=UjIUEu2Xi%_fGUyd~&>p-b2mN`-rE< zzRvyS+irRv)<)RP*;A$x2G zO(cGQDbYLSArR$!YSKKau!&f(Or8>?axffeYj32>lrof8usjEX;Ho}};fZ#w)W>$a zf5dW6zg2;*Ye7XkB<=GsL7)Qb7+4N9)vO^mHzl3?zPUR3$AP7c=*~%{X4!5}2lIW^ zMohp6lgJ`x>b7!ilIFO2phUPiQ*e4{+}uYJU!e3KHk1GU@%^!^v`lE&h}UUv|H}RCG9bCr=5sB; zVQG0iVUSDDTVrI=T>kr;ty&-*WVXQt?{QfrQ&ChG657(y(4W0~R#9j~kD9WF6WrQG zHYyWdQ@1d?S5x6rGhLI0Fs9ObwJaXJNBU0D;6?Wf6{U-=*_wi)&XYP%90&nF!wNMJ zRFbZd@M+@ryG-N^DTw&6u_>XC55GU|3Bfe2x;X?q^^y=`D3VLshnz_?H3q?GVho%{ z5`FTJ(*x~^C@@&*@(1lE27i48ePZ~YA}bRs7s}ola?6C%QLIq86g5;oix#7^x9CLt zRbv$Uq?&S?n=nz~<5^lW-lO`!b$9N=Qh zg4c8{@phOr;J2hk)N2)I&&|Q(rH_?tUQXS?m^M#q@r^Z_-pn@(qeb@zCIr_9kf&1z zPz6tm!%c8(hQ+KjQV&n#0LrwdQN+#lX4@!SPnz8n%J|)@JRz`0E5!UBxxB9%s(8e{ zvQu4_-m`I&7NYJO4a5^4=0(}Pif{g?I!|NhucD!b$u^6EAv3C&xeaJKlrU{x0zg&OAlH`u4?4&TuIqx?CUOeHfJO;ON)YFmpTh8sN#A zFie*gkVr7U{52uh#&=_;83oC#A*f>H;t>F2H0>aeJvTUtzA<&v@Hri5lC1txN zHCsS)gmk`7i^pw)-;iKVl8Xhz|ojM3;kYW2ai~DgVPu32iYFnw4F)RQuG!V;^r-=Ah1$nA?b-S-q+W z-i$CXWxvEH0tbp2m1ZH?^w<>=purZg_~ANr9UFy`Z2jVScV!l-3!vsLv`$L zcsM^rqQ0?@2T52-ZcHk|fcYZd=;g#D9lSCv9Y*V>G(rZ-ud>1-<~y*CD4e%ewOh%> zu$EgYYaH*#!?zKStz@_;&dYX@ZBeQsVHY;%HxF0js;Au=Iti5hN8F!W?QyfTI+#svY#^!j&vbKwSM<_AO|{6c$I1poGlMAJl#8|@P^ zlI~5d3jnp;Vi-)f#kxPFX(}S%D&Urc{uNs{!Hg zOw`=hiwHFN=a~M~Xp{7vSTwLt5{>uTT#lciO=LZz46!*LzitJI{?EYZ92v%NurGJS7tf1Qn3>M6^+XWhx*(nG zcP*eALG9@o*&tln>snGySIcgo#zaL8bH7ugO2mrO>d7*W+o9PT{o(C3*zPZ3hrrhT zQg|V{Y^;n&MSV0{+jw_QT^6jK9V9;>Q%nkLR28EKA4Lf7S5|3vw{m}>t6ZdWVQMw} z{Le%4#S(M%*n;_1r>{E|ca{Y}A2?SZkRqgTKg~-Xg#vwG_I5B~|1pT0=no_GX^nlc z!Y}UF5hqBHeohyXeNK9I(y~zDRD1*(@4+wuT-Yn@OJ3)hT3zhLaH$KY6!dLP-UJ@K z-XYT2)n5l@BuvxWVZ+yiBm0bNoa8AlHjZ|_CaDumi6pTdS^qM8FMm?KXw>YnSN!_s zji!<05weq;cEAX!v`bX`eJw#1aVjL=&tkuJA*Q1Iw9|w%U#ENBS1O|4L9&oOQ6^VW zxwRlF&@cLgL)ft3c*8b0l8>34Ir(M2>h@t{m&w9)DD{AA4hR7$HE7g#csVAB8Np$o zk4@U?0kB*mLKDOSjJRYrpHVMKV#?%x$$HOy*Ex}r3r{25*W|*X3d;5JN?d0Gf)_e7 zQH?`A0BTg|QvSYCE?%xC)lu;SegHh#l`V#p6_|79gik(ghpTL!dQ-A~&AyoN!Mrw= z`Pj=5z1ijPVDsw<+>(c`t%Q4)Qnk+$Twa=vqZ(!t0U=+h_G@nREZ71CdO> zQbK-b@#YHe@cjp~=g!4(UQY!rWog|1ftK{|&@-1Sp~mL=H}|KUg@uhmkD3l39P3Gh zB~8m^!8;?vt3xcPc1R1G-T#DFncX6O%)lZr8&fWDa910|tnES-`>3V2L>x{(hI2Jf zrfxu0zlZQ`E=nR6%EhcWi*|V}%{*JWT%C<=@zZj7;eC?cI>O{oP>s8Ta*mBiTtwx> zjNEU)?JsMZs4DPFVFEudF)Znyz4{S>DDPHuukJShUJYe%pI|0_avm#le3@H8Z%NtO zH5%$Vvcytc0I%5HF0z^axnO#8=6Yx$_ECZrKxqi6R?0QCj`wnVU9@%^NwB+O^nqCC z?Q{e4PQ9!DT%$OKF*;^mN^+wq;1A8FppO0#J1?up9zItxv*Q;H?Qor( zFCNzmo$_?-Q=4%)JUBmV4twb0d3evxh0yoC<2(3x+na=MCVqU@xKr)$!#tRSHP&tv zy}VuhtW^Q#>mA}C-p?l%-bv36B|I&+=8V1Zr5>gHI~DdrH*2dM+NTY8e&!CWje-4I zo*L~WSQn?s)NMA|W~b97wQ>NwJNd$P=G=R9pG}4F2>^CvrOv=WE7fEDx=b}-Pg`k5 zInrWKH9;`#;T)+5k0qH8CL>uFJ-*qlma-iX(660~Y+kV4B*s3!gVX|}xbQgEW%f~6 zliY9r1dJADW|((btlh^4X*}W92X(h{JOG1?(`vN;+olmd8hk7Z`xs6f~iF$gosT$7xycNzuo- z5Dn=v%ymTB@kku8c;Faa;wVc(^%wGocYXg!L?yQ>*9jRa*nyk9ZjYZXfz~03hfi*K3y?;puH1I%P zK^$dAl>fGz5dLNPQ`ut6!R$^e0>6mQjK~ut@7GUC?{^yyzLUTL;V5MGBls@@ukabb zffv&FvYpT?E?e$))Isa-kuBK4zn-c)*=Kz6mK0*g3fSjU-HATGmUZ}>U}3NUvLH^& zrgvMC;0YhwQW0S5fPC4K%!#)jc;!t zpUU$5j%mMer2g-=h-loJG(6MUS^mjea*z&3}?$TiDNls2YYy;KRU9AnawDn$*^EGgMpm z!JH+Km`1bVAg}bXYHk<^j-EeXJKFz{N_S_{kOaQ?G$GzY_y3jDSpX2Ll49L`XN+;z z2;rK3Ao-dyGQnJ;4S8-Nz3Y1uARoT>DbREY8HNJ+9B_~c;RTCY5#@P6=nu@hj^NYX za)UwR`kE7b$ztZu;H{(bjLW3+A9o9mD(tA7_kuQmGdTa|%$qqoskUEONX;w&t-nUY z-m%w)PC&=AqSS+oX3V!K7f(4hO9|=cAaf~YPtEg+l z6d0uI&n*<^N1-(&@dNLsyeR~Tj)`RDZqa%ZYt&pUJk4W&Mzz3V&U;mt%Y8mOIq3=) z$?cf2tq3mK@b}KfAj2(9Bc2Hj#Tcai^T?U&D z#`z6L^kKTTv~Auhh^RD#cf_77+PC93;V2w$NqYXp_azES>{DkqKOWTHM8r1;aNj(~ z))5L3C4^Pu-1$w$qj0I{rGU&+_XvIJ_6_0j+uJF8zN@gPM%dvzKO0LD7Tb28Zd(-9 zux=9_{?wQm_OVSMvr;pXJtlKs7pBu!5;H@N`8-b683cI}5j})O{ZIyvsrSiwu7YI=) zc^|nmV#P7Cn|5mY@kX2R|0_T8RowoK@cT46A#vUj(?VE!fwR0nI5_otSFhbhRN6!Y z-zLmPkZ<0qrF|TkO7gUe!mo`SYZH%%pf8rC`X?1KJ{Lkq#6jEzVyXbQMWs0$QW`jO z41tfb%$O3-2^`*Z+5eEAT;!gyGS+rPP$mZ`&$&OZeh#j`JMBu;u*$W>YFb?ns>B<* z!xt}QpXcV{vcg3rICm9tQ;GlPKQn?XK5N=MzHAQ4T(xatjeOzr(-5bK{iwzc+;lA1 zqf)r=FZ}OTLx2Tp9v_h@qE?MOB4ItG7Z7&TwW9gOTuLCDud;i3a!O&3;BF8-4F-GG zeWx?{XR(0Aat-=nkm+U!n-dtCj+@%Apgs6lb%M&~*l(AeL)VK*Q2;Fq3Vb=+i=Ym` zN--oOh8BlB<9h5R%B_eVUF_=b0NzDQ{{;ZX9F#OHeVA|doh%! z@TrAmdBx#iXP4{vfw@CCFkBbpE0%{oc}oUsV2Fw>&|)cLz7WBYtl|<(B=yjn`~oB@ z$$X)Xu4_H1zC@`2TPTsIscAwc!AudHL!|PHMEG$1fwwoDYpF=25^C4Apb1o!Uv$?Q0Kvj_=PA@|3I+>*+*W=T!FP=5WypZpxGqK zR!thFW>hkhyzu4?@S3PD--!Ach(-VtP@CX1^&HkMvnvLLMmKPSL_wyEl9Lk3ncw=U zcs{{R`xGUkov<&cCsX}{H`-atFV|^WH2m_&M z{CkdYLrWU9SqZS93DjLN(F%CP94Rv5$5hcwU30!gD`)N{Q4eJHK_Qw4FKdv))oFwW5))&;whJ z=O16xPVTjofY49WBDx3OxNruRXgk2Yw6-{8RWG6%+{!ONhxx)t?aGcFc^!iij?!%& zzLjfK|5}kOFAP(XMpV^>eRHm-FF;SC3C^&UdXr_Ql$C_%3`<8r@_E1^iS_HR1Gxax z&>uj_kwa?Th68JNT0NArO9r%z-UK4hN1^U#5>e#%cwX0$tJH}fHG`?0iY_~2`}6%R zPkWhQG7;0*<_W3^Q=*!KXUUhk3vj1xJb9l3S#(e)eLy~nnZs!vY`4Z>^c({ts`*i3 zRpsI+RAPQk>UeOTmJD4I1)p1_uPjc9_FYKS{W@jk&)SgTn(W(b6y^cj+?gn@7zqjr z2ZG?M7*wD52mV`41qEFqPKoH)B=Sp0ith%Bq~nf)2hw;#gD_eLhgn(h@Ld`OI3c68 zcm|u${<>FxN!;DTz!!yeab$Aqh>@s)s5#)D!X^C}3D9cQ8{Eh83^jTzyJ{H^z;{QH zh#OV}>`hxHR>LYJkG?otcP}I*IY&1idKl?T7cU!iO0O|A_324v-a6vD{ZRq|HV5TG zm(&WJ1i?B2c|GavuqFq=D7BNjxN3yRAzWBc{&z!B$+_crSy>#(lb;OlgS8o>^903D zij;VIFlK~-x;fRLxix{OHtVeHkH=>}i_gF`j2EBd2Ycao1N^#3n-3aM%m6AQoT5J=swIf%QGR=7#+Sc|+ri4nLK zjHmCbG~lvoSCggjkJgHpc=hb2q_T;mcM%u~Z;XEs2z(?rVLcSZwZzKpQe78{SE7&N zoM+-&Ug>#>Ml%;pZ`WWQpv%>km%Fr3%*R~59!Rp>UL!3HTEi#|JC4ImiZ7Re`Pxm( zf}8F4URyzD@--uR`bKVQj)1tB3=TC}v&AHi!#)>5kWeXD9)N_4G-LmEb6DxPzoeRpH9b z%-RkmvXNfzsyQqDYMH+0YP>5M7&>f$bGbgeV()`rsDJ z9n($+-%A?vyjRlk%fz4)T+@k+AEMcR&|)xOj=xdE!V1UbPvy|0ey7mD)UC>~&>sE^ z*p$?F?emRgR!LqN{+imj4eMoT2$A`D97PsnC9zhZwKw3YO-S#O=a1a&+Y zDXHlxnA6Uj%`!NTVWh<^aUT{&ZK%uBBY4+Ptw17(<`_z{OFw7oq|R>q!-(m6V<#{JS*qqaFG}+0;s6g8#tUT`d}9pl^DTokznWn7R^q;+)`$A|W%$g4l%Yc#d%5 zZ~fr*FQ+H@mt{kat|sGExO4*Y!NtRjCW-==4n47b6G-{qx-okL2I^{Jr?;*X>`qnw z@7??aWaEiKJYF@+Yn3p3!+58kcya!yW*uf~j#M}z{g#rwD?X?4BJ@hF=;*5<7e1q% zzaU*GA|;P`(t-!XtZ6%m8-?MRe-Tnjk0}w-gk(cC#^IQHBwVlpl$T;X+H5zgtK$0ZK z6m;7F;MP*pZBUK(x!C8~ETZxmX{l4yB<$U${H7AA(W>fFyd_uS0Z%M-AlKy}~;xlMXW;B|ZjUuHJ z)VeE#r&enNKF!>6m_XWtJv8ko;&Gv()%eZ23gh39)g>1DsCM-<*nAIkPJr9 z%~H;KAhS1k~-gE zpiFR}Qg?ev-k%~{i*p1923|uPETELsNMd_CR~{-9pD9^IU>BHgdV9C{Lt+_+_!)5? ze_Meu2ky}B`mLEa=_cul~FTFOH00E$^4c)xzDd3{u$LtffOMuj0c3& zDSRoCQ@oeub7F{h`22Cv?2*-F?|WDeby_>6Ues2rFh>6Ahyx(!pCJ4!WA)fB%GkxD zA>c`qG;zVcliSb(=w6)sBwE}88{-+nxT}xm#EWhw47g-x@l&&$sGBeSd9uaEID+LYPt)2QC)>=jWoW*I3Mb9%7Z)gnp z{$^_NC_jt^+hu_xGo8Gg5%tol(mpt)DBn^XsDK~K5K=ecNq)NQ?1;T3IUU%t(eFh) z=BA{iz!xu2G5RSRi}BV?);tlN?O0L{W26wn0LXwnSi(;PS5%9h9 z!Rj*W=yRJ@u@eN(+va%fV|xs!B$H(~>R$jkfFTC}kek3E-xjU&q7ks8gCfivX7*$t zco4So?2)Y_>wwAKIIMH$v=XN`$<O^`eNwW@PQh_IhPfQrj_ugGgV2vZX z{WAvEB!+Fx(y4yas8inuS}erVE+`j7$y#}A5>q94vg=FO*3K9^UX`|9*l*x?!kX{Q z)mQ-j)eu+aVX#)J6~IBtvp_YOD@{MnPCUmP zC~$S>4J#u{#e5TQ>R^Ld6DXYBbLKpethE@g<6uO$)Z{JyYQPd zmYc7{tJRm3^?!kn{+-?|K3q}pPW4tdW8>Fjx)OcTg{t01#Wgz|Zc8H~#js7R7(Iv1 zKKs*=yriw=j4ho{$2OIkOV)+WGJ5`buPOM5oeMTv%s$Xb5vwtLuh@x;^uiT2YHl`o zY%mZ_0bUXw{7>k?pNI>#h-%Jg2oFn5hN#BG!h#fU-n(fG#xMo@j%0H8UbZPb?!C|+ z8QdjNd@1e_y=a}#CUMkAlS6h*h^pR4-? zQa?nC*e9EXDA#-kOpJrWPKUTp(Z}AzBDhNIm`>`vY^k9?*jAzReJUMxWEL6Gt%jCC z*Z0wbfmr|sj78QRO|h#)+;7(f=a$M5XXN*$gkq+!Dz$n!I(27)Of#=J=uLytu&olx zncZ6eUOYJ3vHZxfdnLTiNCpvP%xbQjCS3AJaW?3JR6V#IZCkRd9NuNx?3p6D2!|wU zDAQ3l+U7iAO2h@fAD{snwD(ss_D3v4-Tj&fdn>p$x#Aj;GlR`Am{)B~&#mvEmPZj6 zDs76VD|ZVg{(5gOrj`T_*n^D`wOFg3X%+z?cl&wgXkceQS^nnuLqC8>RF=o#oEFhSWRwwt2r9TaH@9LRXCBu!xRo3caeW z?nk#XB)0XEQqXL*eEn&-j9K;{{#eJFz(G75;vg$ijjQd$>mN z%nm~4TXx(>;V5gN|A83?)_c8{xK{n$drtXv8wVot>*uZ^f}qr^Z)Vxg*eMnVBc<4` zRCtBh^CkUw&>lpXO_H&gO#o8D!CaaLS7_2D(UVh%a?!|d^31;!l%mzZt3R3IwZAR- zpCM+pWe1jS#~tCxl}TrVZ|4j+$2NsdZ&<7Wg;y9DLvohY2isy6T5-pyT!kcDqxMek zHx$}jNTThgIga)NG$apJaajQ33>(NIQ`}+S`?Dzk3t$>#xa|x5NdBi5|8=i@(oat& z(3(^+RJQFU<@24EH05^r-$@Xzl4YVLL^j=&wL-#ETd?*&$C`YgeZKCPznx2A*u82; zd4Hh7hzRTr@OCJ)cm7K)NcY7x`7cWR)sygl;Til7$oYRE3H)!MvcO-!8wLjH|8M;H fjXZx$SD#+3H{9}4yi8Pj{=c}e47fz_i{JkP&dJ_> literal 0 HcmV?d00001 diff --git a/docs/zh-Hans/images/simple-plugin-library.png b/docs/zh-Hans/images/simple-plugin-library.png new file mode 100644 index 0000000000000000000000000000000000000000..9fefd57dda8c1cbfa2b597ef441e6ab966623a5a GIT binary patch literal 17231 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

    wlL(BEY(XaGsJ{4cZ?-2dPR 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 q>M@NXCk|ttVwo315l_y(N9RgyyQ{~`1b Date: Mon, 8 Feb 2021 13:33:09 +0800 Subject: [PATCH 204/217] Update PlugIn-Modules.md --- docs/zh-Hans/PlugIn-Modules.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/zh-Hans/PlugIn-Modules.md b/docs/zh-Hans/PlugIn-Modules.md index 10f156b659..48a507ac7d 100644 --- a/docs/zh-Hans/PlugIn-Modules.md +++ b/docs/zh-Hans/PlugIn-Modules.md @@ -6,7 +6,7 @@ `IServiceCollection.AddApplication()` 扩展方法可以获取配置插件源的选项. -**例如: 从文件夹加载插件** +**示例: 从文件夹加载插件** ````csharp using Microsoft.AspNetCore.Builder; @@ -55,7 +55,7 @@ options.PlugInSources.Add(new FolderPlugInSource(@"D:\Temp\MyPlugIns")); 如果需要,你可以创建自己的`IPlugInSource`的接口实现,并像其它方法一样添加到`options.PlugInSources`中. -## 例如:创建一个简单的插件 +## 示例:创建一个简单的插件 在一个解决方案中创建一个简单的**类库项目** @@ -122,7 +122,7 @@ namespace MyPlugIn 如果你已经按照上述方式配置了主应用程序(参见“基础用法”部分),那么在应用程序启动时,你可以看到“MyService has been initialized(MyService已经初始化)的日志. -## 例如:创建一个Razor Pages插件 +## 示例:创建一个Razor Pages插件 创建内部带视图的插件需要更多的注意. From 605761de02599e49d60d375ab9fbac24ec69759d Mon Sep 17 00:00:00 2001 From: Rwing Date: Mon, 8 Feb 2021 15:51:06 +0800 Subject: [PATCH 205/217] docs: update the missing parts of the chinese doc --- docs/zh-Hans/Best-Practices/Application-Services.md | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/docs/zh-Hans/Best-Practices/Application-Services.md b/docs/zh-Hans/Best-Practices/Application-Services.md index 82a5dc8aba..c99d67d518 100644 --- a/docs/zh-Hans/Best-Practices/Application-Services.md +++ b/docs/zh-Hans/Best-Practices/Application-Services.md @@ -199,7 +199,7 @@ Task VoteAsync(Guid id, VoteType type); #### 查询数据 -* **不推荐** 在应用程序服务方法中使用linq/sql查询来自数据库的数据. 让仓储负责从数据源执行linq/sql查询. +* **不推荐** 在应用服务方法中使用linq/sql查询来自数据库的数据. 让仓储负责从数据源执行linq/sql查询. #### 额外的属性 @@ -210,11 +210,16 @@ Task VoteAsync(Guid id, VoteType type); * **推荐** 总是从数据库中获取所有的相关实体以对他们执行操作. * **推荐** 更新实体后调用存储的Update/UpdateAsync方法.因为并非所有数据库API都支持更改跟踪和自动更新. +#### 处理文件 + +* **不推荐** 在应用服务中使用任何web组件, 例如`IFormFile`和`Stream`. 如果你想接收一个文件, 可以使用`byte[]`. +* **推荐** 使用`Controller`来处理文件上传, 然后将文件的`byte[]`传递给应用服务的方法。 + #### 使用其他应用服务 -* **不推荐** 使用相同 **模块/应用程序** 的其他应用服务. 相反; +* **不推荐** 在同一个模块/应用中使用其他应用服务. 相反; * 使用领域层执行所需的任务. - * 提取新类并在应用程序服务之间共享, 在必要时代码重用. 但要小心不要结合两个用例. 它们在开始时可能看起来相似, 但可能会随时间演变为不同的方向. 请谨慎使用代码共享. + * 提取新类并在应用服务之间共享, 在必要时代码重用. 但要小心不要结合两个用例. 它们在开始时可能看起来相似, 但可能会随时间演变为不同的方向. 请谨慎使用代码共享. * **可以** 在以下情况下使用其他应用服务; * 它们是另一个模块/微服务的一部分. - * 当前模块仅引用已使用模块的application contracts. \ No newline at end of file + * 当前模块仅引用已使用模块的application contracts. From fe02e72e5990a59bf57c399e0fb358dcbc2efa8d Mon Sep 17 00:00:00 2001 From: Galip Tolga Erdem Date: Mon, 8 Feb 2021 16:13:51 +0300 Subject: [PATCH 206/217] added Eto Extra property test --- .../LocalDistributedEventBus_Test.cs | 18 ++++++++++++++++++ ...pleDistributedSingleInstanceEventHandler.cs | 10 +++++++++- .../Volo/Abp/EventBus/MySimpleEto.cs | 8 ++++++++ 3 files changed, 35 insertions(+), 1 deletion(-) create mode 100644 framework/test/Volo.Abp.EventBus.Tests/Volo/Abp/EventBus/MySimpleEto.cs diff --git a/framework/test/Volo.Abp.EventBus.Tests/Volo/Abp/EventBus/Distributed/LocalDistributedEventBus_Test.cs b/framework/test/Volo.Abp.EventBus.Tests/Volo/Abp/EventBus/Distributed/LocalDistributedEventBus_Test.cs index d3371f383a..7022f41b21 100644 --- a/framework/test/Volo.Abp.EventBus.Tests/Volo/Abp/EventBus/Distributed/LocalDistributedEventBus_Test.cs +++ b/framework/test/Volo.Abp.EventBus.Tests/Volo/Abp/EventBus/Distributed/LocalDistributedEventBus_Test.cs @@ -44,5 +44,23 @@ namespace Volo.Abp.EventBus.Distributed Assert.Equal(tenantId, MySimpleDistributedSingleInstanceEventHandler.TenantId); } + + [Fact] + public async Task Should_Get_TenantId_From_EventEto_Extra_Property() + { + var tenantId = Guid.NewGuid(); + + DistributedEventBus.Subscribe(GetRequiredService()); + + await DistributedEventBus.PublishAsync(new MySimpleEto + { + Properties = + { + {"TenantId", tenantId} + } + }); + + Assert.Equal(tenantId, MySimpleDistributedSingleInstanceEventHandler.TenantId); + } } } diff --git a/framework/test/Volo.Abp.EventBus.Tests/Volo/Abp/EventBus/Distributed/MySimpleDistributedSingleInstanceEventHandler.cs b/framework/test/Volo.Abp.EventBus.Tests/Volo/Abp/EventBus/Distributed/MySimpleDistributedSingleInstanceEventHandler.cs index 53fe8e347b..9141a28024 100644 --- a/framework/test/Volo.Abp.EventBus.Tests/Volo/Abp/EventBus/Distributed/MySimpleDistributedSingleInstanceEventHandler.cs +++ b/framework/test/Volo.Abp.EventBus.Tests/Volo/Abp/EventBus/Distributed/MySimpleDistributedSingleInstanceEventHandler.cs @@ -1,4 +1,5 @@ using System; +using System.Collections.Generic; using System.Threading.Tasks; using Volo.Abp.DependencyInjection; using Volo.Abp.Domain.Entities.Events.Distributed; @@ -6,7 +7,7 @@ using Volo.Abp.MultiTenancy; namespace Volo.Abp.EventBus.Distributed { - public class MySimpleDistributedSingleInstanceEventHandler : IDistributedEventHandler, IDistributedEventHandler>, ITransientDependency + public class MySimpleDistributedSingleInstanceEventHandler : IDistributedEventHandler, IDistributedEventHandler>, IDistributedEventHandler, ITransientDependency { private readonly ICurrentTenant _currentTenant; @@ -28,5 +29,12 @@ namespace Volo.Abp.EventBus.Distributed TenantId = _currentTenant.Id; return Task.CompletedTask; } + + public Task HandleEventAsync(MySimpleEto eventData) + { + var tenantIdString = eventData.Properties.GetOrDefault("TenantId").ToString(); + TenantId = tenantIdString != null ? new Guid(tenantIdString) : _currentTenant.Id; + return Task.CompletedTask; + } } } diff --git a/framework/test/Volo.Abp.EventBus.Tests/Volo/Abp/EventBus/MySimpleEto.cs b/framework/test/Volo.Abp.EventBus.Tests/Volo/Abp/EventBus/MySimpleEto.cs new file mode 100644 index 0000000000..55d176c392 --- /dev/null +++ b/framework/test/Volo.Abp.EventBus.Tests/Volo/Abp/EventBus/MySimpleEto.cs @@ -0,0 +1,8 @@ +using Volo.Abp.Domain.Entities.Events.Distributed; + +namespace Volo.Abp.EventBus +{ + public class MySimpleEto : EtoBase + { + } +} \ No newline at end of file From 8a2100c1d5466edf719395c7f37161062b847a17 Mon Sep 17 00:00:00 2001 From: maliming Date: Mon, 8 Feb 2021 22:36:35 +0800 Subject: [PATCH 207/217] Remove setting connection string on the tenant management UI. Resolve #7655 --- .../TenantManagement/TenantManagement.razor | 43 ------------- .../TenantManagement.razor.cs | 48 +-------------- .../Tenants/ConnectionStringsModal.cshtml | 26 -------- .../Tenants/ConnectionStringsModal.cshtml.cs | 61 ------------------- .../Tenants/ConnectionStringsModal.js | 20 ------ .../Pages/TenantManagement/Tenants/Index.js | 16 ----- 6 files changed, 1 insertion(+), 213 deletions(-) delete mode 100644 modules/tenant-management/src/Volo.Abp.TenantManagement.Web/Pages/TenantManagement/Tenants/ConnectionStringsModal.cshtml delete mode 100644 modules/tenant-management/src/Volo.Abp.TenantManagement.Web/Pages/TenantManagement/Tenants/ConnectionStringsModal.cshtml.cs delete mode 100644 modules/tenant-management/src/Volo.Abp.TenantManagement.Web/Pages/TenantManagement/Tenants/ConnectionStringsModal.js diff --git a/modules/tenant-management/src/Volo.Abp.TenantManagement.Blazor/Pages/TenantManagement/TenantManagement.razor b/modules/tenant-management/src/Volo.Abp.TenantManagement.Blazor/Pages/TenantManagement/TenantManagement.razor index 2a5aabfe8d..47fac0a124 100644 --- a/modules/tenant-management/src/Volo.Abp.TenantManagement.Blazor/Pages/TenantManagement/TenantManagement.razor +++ b/modules/tenant-management/src/Volo.Abp.TenantManagement.Blazor/Pages/TenantManagement/TenantManagement.razor @@ -40,10 +40,6 @@ RequiredPolicy="@UpdatePolicyName" Clicked="() => OpenEditModalAsync(context)" Text="@L["Edit"]"> - } -@* ************************* EDIT CONNECTION STRING MODAL ************************* *@ -@if (HasManageConnectionStringsPermission) -{ - - - -

    - - @L["ConnectionStrings"] - - - - - - - @L["DisplayName:UseSharedDatabase"] - - - - @if (!TenantInfo.UseSharedDatabase) - { - - - @L["DisplayName:DefaultConnectionString"] - - - - } - - - - - - - - - -} - @if (HasManageFeaturesPermission) { diff --git a/modules/tenant-management/src/Volo.Abp.TenantManagement.Blazor/Pages/TenantManagement/TenantManagement.razor.cs b/modules/tenant-management/src/Volo.Abp.TenantManagement.Blazor/Pages/TenantManagement/TenantManagement.razor.cs index 1bc3ce7cd1..46a4b7df18 100644 --- a/modules/tenant-management/src/Volo.Abp.TenantManagement.Blazor/Pages/TenantManagement/TenantManagement.razor.cs +++ b/modules/tenant-management/src/Volo.Abp.TenantManagement.Blazor/Pages/TenantManagement/TenantManagement.razor.cs @@ -20,9 +20,6 @@ namespace Volo.Abp.TenantManagement.Blazor.Pages.TenantManagement protected FeatureManagementModal FeatureManagementModal; - protected Modal ManageConnectionStringModal; - protected Validations ManageConnectionStringValidations; - protected TenantInfoModel TenantInfo; public TenantManagement() @@ -33,8 +30,6 @@ namespace Volo.Abp.TenantManagement.Blazor.Pages.TenantManagement CreatePolicyName = TenantManagementPermissions.Tenants.Create; UpdatePolicyName = TenantManagementPermissions.Tenants.Update; DeletePolicyName = TenantManagementPermissions.Tenants.Delete; - ManageConnectionStringsPolicyName = TenantManagementPermissions.Tenants.ManageConnectionStrings; - ManageFeaturesPolicyName = TenantManagementPermissions.Tenants.ManageFeatures; TenantInfo = new TenantInfoModel(); } @@ -47,47 +42,6 @@ namespace Volo.Abp.TenantManagement.Blazor.Pages.TenantManagement HasManageFeaturesPermission = await AuthorizationService.IsGrantedAsync(ManageFeaturesPolicyName); } - protected virtual async Task OpenEditConnectionStringModalAsync(TenantDto entity) - { - ManageConnectionStringValidations.ClearAll(); - - var tenantConnectionString = await AppService.GetDefaultConnectionStringAsync(entity.Id); - - TenantInfo = new TenantInfoModel - { - Id = entity.Id, - DefaultConnectionString = tenantConnectionString, - UseSharedDatabase = tenantConnectionString.IsNullOrWhiteSpace() - }; - - ManageConnectionStringModal.Show(); - } - - protected virtual Task CloseEditConnectionStringModal() - { - ManageConnectionStringModal.Hide(); - return Task.CompletedTask; - } - - protected virtual async Task UpdateConnectionStringAsync() - { - if (ManageConnectionStringValidations.ValidateAll()) - { - await CheckPolicyAsync(ManageConnectionStringsPolicyName); - - if (TenantInfo.UseSharedDatabase || TenantInfo.DefaultConnectionString.IsNullOrWhiteSpace()) - { - await AppService.DeleteDefaultConnectionStringAsync(TenantInfo.Id); - } - else - { - await AppService.UpdateDefaultConnectionStringAsync(TenantInfo.Id, TenantInfo.DefaultConnectionString); - } - - ManageConnectionStringModal.Hide(); - } - } - protected override string GetDeleteConfirmationMessage(TenantDto entity) { return string.Format(L["TenantDeletionConfirmationMessage"], entity.Name); @@ -103,4 +57,4 @@ namespace Volo.Abp.TenantManagement.Blazor.Pages.TenantManagement [Required] public string DefaultConnectionString { get; set; } } -} \ No newline at end of file +} diff --git a/modules/tenant-management/src/Volo.Abp.TenantManagement.Web/Pages/TenantManagement/Tenants/ConnectionStringsModal.cshtml b/modules/tenant-management/src/Volo.Abp.TenantManagement.Web/Pages/TenantManagement/Tenants/ConnectionStringsModal.cshtml deleted file mode 100644 index 6b6e33ed55..0000000000 --- a/modules/tenant-management/src/Volo.Abp.TenantManagement.Web/Pages/TenantManagement/Tenants/ConnectionStringsModal.cshtml +++ /dev/null @@ -1,26 +0,0 @@ -@page -@using Microsoft.Extensions.Localization -@using Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers.Modal -@using Volo.Abp.TenantManagement.Localization -@using Volo.Abp.TenantManagement.Web.Pages.TenantManagement.Tenants -@model ConnectionStringsModal -@inject IStringLocalizer L -@{ - Layout = null; -} -
    - - - - - - - -
    - -
    - -
    - -
    -
    \ No newline at end of file diff --git a/modules/tenant-management/src/Volo.Abp.TenantManagement.Web/Pages/TenantManagement/Tenants/ConnectionStringsModal.cshtml.cs b/modules/tenant-management/src/Volo.Abp.TenantManagement.Web/Pages/TenantManagement/Tenants/ConnectionStringsModal.cshtml.cs deleted file mode 100644 index 45a36060e0..0000000000 --- a/modules/tenant-management/src/Volo.Abp.TenantManagement.Web/Pages/TenantManagement/Tenants/ConnectionStringsModal.cshtml.cs +++ /dev/null @@ -1,61 +0,0 @@ -using System; -using System.ComponentModel.DataAnnotations; -using System.Threading.Tasks; -using Microsoft.AspNetCore.Mvc; -using Volo.Abp.Validation; - -namespace Volo.Abp.TenantManagement.Web.Pages.TenantManagement.Tenants -{ - public class ConnectionStringsModal : TenantManagementPageModel - { - [BindProperty] - public TenantInfoModel Tenant { get; set; } - - protected ITenantAppService TenantAppService { get; } - - public ConnectionStringsModal(ITenantAppService tenantAppService) - { - TenantAppService = tenantAppService; - } - - public virtual async Task OnGetAsync(Guid id) - { - var defaultConnectionString = await TenantAppService.GetDefaultConnectionStringAsync(id); - Tenant = new TenantInfoModel - { - Id = id, - DefaultConnectionString = defaultConnectionString, - UseSharedDatabase = defaultConnectionString.IsNullOrWhiteSpace() - }; - - return Page(); - } - - public virtual async Task OnPostAsync() - { - ValidateModel(); - - if (Tenant.UseSharedDatabase || Tenant.DefaultConnectionString.IsNullOrWhiteSpace()) - { - await TenantAppService.DeleteDefaultConnectionStringAsync(Tenant.Id); - } - else - { - await TenantAppService.UpdateDefaultConnectionStringAsync(Tenant.Id, Tenant.DefaultConnectionString); - } - - return NoContent(); - } - - public class TenantInfoModel - { - [HiddenInput] - public Guid Id { get; set; } - - public bool UseSharedDatabase { get; set; } - - [DynamicStringLength(typeof(TenantConnectionStringConsts), nameof(TenantConnectionStringConsts.MaxValueLength))] - public string DefaultConnectionString { get; set; } - } - } -} diff --git a/modules/tenant-management/src/Volo.Abp.TenantManagement.Web/Pages/TenantManagement/Tenants/ConnectionStringsModal.js b/modules/tenant-management/src/Volo.Abp.TenantManagement.Web/Pages/TenantManagement/Tenants/ConnectionStringsModal.js deleted file mode 100644 index de01d1cfdd..0000000000 --- a/modules/tenant-management/src/Volo.Abp.TenantManagement.Web/Pages/TenantManagement/Tenants/ConnectionStringsModal.js +++ /dev/null @@ -1,20 +0,0 @@ -(function ($) { - abp.modals.TenantConnectionStringManagement = function () { - var initModal = function (publicApi, args) { - publicApi - .getModal() - .find('input[name="Tenant.UseSharedDatabase"]') - .change(function () { - var $this = $(this); - $('#Tenant_DefaultConnectionString_Wrap').toggleClass( - 'd-none' - ); - $this.val($this.prop('checked')); - }); - }; - - return { - initModal: initModal, - }; - }; -})(jQuery); diff --git a/modules/tenant-management/src/Volo.Abp.TenantManagement.Web/Pages/TenantManagement/Tenants/Index.js b/modules/tenant-management/src/Volo.Abp.TenantManagement.Web/Pages/TenantManagement/Tenants/Index.js index 69bbb0b955..9f61ffdcfc 100644 --- a/modules/tenant-management/src/Volo.Abp.TenantManagement.Web/Pages/TenantManagement/Tenants/Index.js +++ b/modules/tenant-management/src/Volo.Abp.TenantManagement.Web/Pages/TenantManagement/Tenants/Index.js @@ -11,11 +11,6 @@ var _featuresModal = new abp.ModalManager( abp.appPath + 'FeatureManagement/FeatureManagementModal' ); - var _connectionStringsModal = new abp.ModalManager({ - viewUrl: - abp.appPath + 'TenantManagement/Tenants/ConnectionStringsModal', - modalClass: 'TenantConnectionStringManagement', - }); var _dataTable = null; @@ -34,17 +29,6 @@ }); }, }, - { - text: l('ConnectionStrings'), - visible: abp.auth.isGranted( - 'AbpTenantManagement.Tenants.ManageConnectionStrings' - ), - action: function (data) { - _connectionStringsModal.open({ - id: data.record.id, - }); - }, - }, { text: l('Features'), visible: abp.auth.isGranted( From 546c24da4817c086375a14efe07b6bbac27d5fde Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Halil=20=C4=B0brahim=20Kalkan?= Date: Mon, 8 Feb 2021 18:31:59 +0300 Subject: [PATCH 208/217] Remove unused method: ShouldRegisterDefaultRepositoryFor --- .../AbpCommonDbContextRegistrationOptions.cs | 20 ------------------- 1 file changed, 20 deletions(-) diff --git a/framework/src/Volo.Abp.Ddd.Domain/Volo/Abp/DependencyInjection/AbpCommonDbContextRegistrationOptions.cs b/framework/src/Volo.Abp.Ddd.Domain/Volo/Abp/DependencyInjection/AbpCommonDbContextRegistrationOptions.cs index c7f7230710..dbd46811f2 100644 --- a/framework/src/Volo.Abp.Ddd.Domain/Volo/Abp/DependencyInjection/AbpCommonDbContextRegistrationOptions.cs +++ b/framework/src/Volo.Abp.Ddd.Domain/Volo/Abp/DependencyInjection/AbpCommonDbContextRegistrationOptions.cs @@ -117,25 +117,5 @@ namespace Volo.Abp.DependencyInjection CustomRepositories[entityType] = repositoryType; } - - public bool ShouldRegisterDefaultRepositoryFor(Type entityType) - { - if (!RegisterDefaultRepositories) - { - return false; - } - - if (CustomRepositories.ContainsKey(entityType)) - { - return false; - } - - if (!IncludeAllEntitiesForDefaultRepositories && !typeof(IAggregateRoot).IsAssignableFrom(entityType)) - { - return false; - } - - return true; - } } } \ No newline at end of file From f2816f79fdb7641e87a2a0d9b1fdc6bff2b02e07 Mon Sep 17 00:00:00 2001 From: maliming Date: Tue, 9 Feb 2021 09:25:16 +0800 Subject: [PATCH 209/217] Update TenantManagement.razor.cs --- .../Pages/TenantManagement/TenantManagement.razor.cs | 2 ++ 1 file changed, 2 insertions(+) diff --git a/modules/tenant-management/src/Volo.Abp.TenantManagement.Blazor/Pages/TenantManagement/TenantManagement.razor.cs b/modules/tenant-management/src/Volo.Abp.TenantManagement.Blazor/Pages/TenantManagement/TenantManagement.razor.cs index 46a4b7df18..475be40e38 100644 --- a/modules/tenant-management/src/Volo.Abp.TenantManagement.Blazor/Pages/TenantManagement/TenantManagement.razor.cs +++ b/modules/tenant-management/src/Volo.Abp.TenantManagement.Blazor/Pages/TenantManagement/TenantManagement.razor.cs @@ -30,6 +30,8 @@ namespace Volo.Abp.TenantManagement.Blazor.Pages.TenantManagement CreatePolicyName = TenantManagementPermissions.Tenants.Create; UpdatePolicyName = TenantManagementPermissions.Tenants.Update; DeletePolicyName = TenantManagementPermissions.Tenants.Delete; + + ManageFeaturesPolicyName = TenantManagementPermissions.Tenants.ManageFeatures; TenantInfo = new TenantInfoModel(); } From eb55d640912026b3544e3cd8a4b1285bdd665aac Mon Sep 17 00:00:00 2001 From: maliming Date: Tue, 9 Feb 2021 09:38:49 +0800 Subject: [PATCH 210/217] Remove ConnectionStringsModal.js --- .../Pages/TenantManagement/TenantManagement.razor.cs | 9 +-------- .../Pages/TenantManagement/Tenants/Index.cshtml | 1 - 2 files changed, 1 insertion(+), 9 deletions(-) diff --git a/modules/tenant-management/src/Volo.Abp.TenantManagement.Blazor/Pages/TenantManagement/TenantManagement.razor.cs b/modules/tenant-management/src/Volo.Abp.TenantManagement.Blazor/Pages/TenantManagement/TenantManagement.razor.cs index 475be40e38..6bae1b0b9f 100644 --- a/modules/tenant-management/src/Volo.Abp.TenantManagement.Blazor/Pages/TenantManagement/TenantManagement.razor.cs +++ b/modules/tenant-management/src/Volo.Abp.TenantManagement.Blazor/Pages/TenantManagement/TenantManagement.razor.cs @@ -13,7 +13,6 @@ namespace Volo.Abp.TenantManagement.Blazor.Pages.TenantManagement { protected const string FeatureProviderName = "T"; - protected bool HasManageConnectionStringsPermission; protected bool HasManageFeaturesPermission; protected string ManageConnectionStringsPolicyName; protected string ManageFeaturesPolicyName; @@ -30,7 +29,7 @@ namespace Volo.Abp.TenantManagement.Blazor.Pages.TenantManagement CreatePolicyName = TenantManagementPermissions.Tenants.Create; UpdatePolicyName = TenantManagementPermissions.Tenants.Update; DeletePolicyName = TenantManagementPermissions.Tenants.Delete; - + ManageFeaturesPolicyName = TenantManagementPermissions.Tenants.ManageFeatures; TenantInfo = new TenantInfoModel(); @@ -40,7 +39,6 @@ namespace Volo.Abp.TenantManagement.Blazor.Pages.TenantManagement { await base.SetPermissionsAsync(); - HasManageConnectionStringsPermission = await AuthorizationService.IsGrantedAsync(ManageConnectionStringsPolicyName); HasManageFeaturesPermission = await AuthorizationService.IsGrantedAsync(ManageFeaturesPolicyName); } @@ -53,10 +51,5 @@ namespace Volo.Abp.TenantManagement.Blazor.Pages.TenantManagement public class TenantInfoModel { public Guid Id { get; set; } - - public bool UseSharedDatabase { get; set; } - - [Required] - public string DefaultConnectionString { get; set; } } } diff --git a/modules/tenant-management/src/Volo.Abp.TenantManagement.Web/Pages/TenantManagement/Tenants/Index.cshtml b/modules/tenant-management/src/Volo.Abp.TenantManagement.Web/Pages/TenantManagement/Tenants/Index.cshtml index 67fd507bcc..12857a7efb 100644 --- a/modules/tenant-management/src/Volo.Abp.TenantManagement.Web/Pages/TenantManagement/Tenants/Index.cshtml +++ b/modules/tenant-management/src/Volo.Abp.TenantManagement.Web/Pages/TenantManagement/Tenants/Index.cshtml @@ -20,7 +20,6 @@ @section scripts { - } From 033b5c3503d6daec54acaa4d615331ee2d1d0811 Mon Sep 17 00:00:00 2001 From: maliming Date: Tue, 9 Feb 2021 10:49:28 +0800 Subject: [PATCH 211/217] Remove AuthorizePage and ManageConnectionStringsPolicyName. --- .../Pages/TenantManagement/TenantManagement.razor.cs | 1 - .../AbpTenantManagementWebModule.cs | 1 - 2 files changed, 2 deletions(-) diff --git a/modules/tenant-management/src/Volo.Abp.TenantManagement.Blazor/Pages/TenantManagement/TenantManagement.razor.cs b/modules/tenant-management/src/Volo.Abp.TenantManagement.Blazor/Pages/TenantManagement/TenantManagement.razor.cs index 6bae1b0b9f..72c5d4e589 100644 --- a/modules/tenant-management/src/Volo.Abp.TenantManagement.Blazor/Pages/TenantManagement/TenantManagement.razor.cs +++ b/modules/tenant-management/src/Volo.Abp.TenantManagement.Blazor/Pages/TenantManagement/TenantManagement.razor.cs @@ -14,7 +14,6 @@ namespace Volo.Abp.TenantManagement.Blazor.Pages.TenantManagement protected const string FeatureProviderName = "T"; protected bool HasManageFeaturesPermission; - protected string ManageConnectionStringsPolicyName; protected string ManageFeaturesPolicyName; protected FeatureManagementModal FeatureManagementModal; diff --git a/modules/tenant-management/src/Volo.Abp.TenantManagement.Web/AbpTenantManagementWebModule.cs b/modules/tenant-management/src/Volo.Abp.TenantManagement.Web/AbpTenantManagementWebModule.cs index e03a7ec2a2..02433ff1c0 100644 --- a/modules/tenant-management/src/Volo.Abp.TenantManagement.Web/AbpTenantManagementWebModule.cs +++ b/modules/tenant-management/src/Volo.Abp.TenantManagement.Web/AbpTenantManagementWebModule.cs @@ -61,7 +61,6 @@ namespace Volo.Abp.TenantManagement.Web options.Conventions.AuthorizePage("/TenantManagement/Tenants/Index", TenantManagementPermissions.Tenants.Default); options.Conventions.AuthorizePage("/TenantManagement/Tenants/CreateModal", TenantManagementPermissions.Tenants.Create); options.Conventions.AuthorizePage("/TenantManagement/Tenants/EditModal", TenantManagementPermissions.Tenants.Update); - options.Conventions.AuthorizePage("/TenantManagement/Tenants/ConnectionStrings", TenantManagementPermissions.Tenants.ManageConnectionStrings); }); Configure(options => From 5cdad9c210a8e137daf946ea07841baa27003bcf Mon Sep 17 00:00:00 2001 From: liangshiwei Date: Tue, 9 Feb 2021 14:54:45 +0800 Subject: [PATCH 212/217] Add email settings to setting-management --- .gitignore | 1 + .../Volo.Abp.SettingManagement.sln | 37 + .../DemoAppDbContext.cs | 26 + .../DemoAppDbContextFactory.cs | 29 + .../DemoAppModule.cs | 136 + .../20210209024820_init.Designer.cs | 809 + .../Migrations/20210209024820_init.cs | 500 + .../DemoAppDbContextModelSnapshot.cs | 807 + .../Pages/Index.cshtml | 10 + .../Pages/Index.cshtml.cs | 11 + .../Pages/_ViewImports.cshtml | 4 + .../Program.cs | 47 + .../Properties/launchSettings.json | 28 + .../Startup.cs | 20 + .../Volo.Abp.SettingManagement.DemoApp.csproj | 63 + .../abp.resourcemapping.js | 12 + .../appsettings.Development.json | 10 + .../appsettings.json | 5 + .../gulpfile.js | 9 + .../package.json | 8 + .../@fortawesome/fontawesome-free/css/all.css | 4619 +++++ .../fontawesome-free/css/v4-shims.css | 2172 +++ .../webfonts/fa-brands-400.eot | Bin 0 -> 136822 bytes .../webfonts/fa-brands-400.svg | 3717 ++++ .../webfonts/fa-brands-400.ttf | Bin 0 -> 136516 bytes .../webfonts/fa-brands-400.woff | Bin 0 -> 92136 bytes .../webfonts/fa-brands-400.woff2 | Bin 0 -> 78472 bytes .../webfonts/fa-regular-400.eot | Bin 0 -> 34350 bytes .../webfonts/fa-regular-400.svg | 801 + .../webfonts/fa-regular-400.ttf | Bin 0 -> 34052 bytes .../webfonts/fa-regular-400.woff | Bin 0 -> 16776 bytes .../webfonts/fa-regular-400.woff2 | Bin 0 -> 13588 bytes .../webfonts/fa-solid-900.eot | Bin 0 -> 204814 bytes .../webfonts/fa-solid-900.svg | 5028 +++++ .../webfonts/fa-solid-900.ttf | Bin 0 -> 204528 bytes .../webfonts/fa-solid-900.woff | Bin 0 -> 104280 bytes .../webfonts/fa-solid-900.woff2 | Bin 0 -> 80252 bytes .../wwwroot/libs/abp/core/abp.css | 56 + .../wwwroot/libs/abp/core/abp.js | 769 + .../wwwroot/libs/abp/jquery/abp.jquery.js | 395 + .../wwwroot/libs/abp/luxon/abp.luxon.js | 46 + .../wwwroot/libs/abp/utils/abp-utils.umd.js | 694 + .../libs/abp/utils/abp-utils.umd.js.map | 1 + .../libs/abp/utils/abp-utils.umd.min.js | 2 + .../libs/abp/utils/abp-utils.umd.min.js.map | 1 + .../bootstrap-datepicker.css.map | 1 + .../bootstrap-datepicker.min.css | 7 + .../bootstrap-datepicker.min.js | 8 + .../locales/bootstrap-datepicker-en-CA.min.js | 1 + .../locales/bootstrap-datepicker.ar-tn.min.js | 1 + .../locales/bootstrap-datepicker.ar.min.js | 1 + .../locales/bootstrap-datepicker.az.min.js | 1 + .../locales/bootstrap-datepicker.bg.min.js | 1 + .../locales/bootstrap-datepicker.bm.min.js | 1 + .../locales/bootstrap-datepicker.bn.min.js | 1 + .../locales/bootstrap-datepicker.br.min.js | 1 + .../locales/bootstrap-datepicker.bs.min.js | 1 + .../locales/bootstrap-datepicker.ca.min.js | 1 + .../locales/bootstrap-datepicker.cs.min.js | 1 + .../locales/bootstrap-datepicker.cy.min.js | 1 + .../locales/bootstrap-datepicker.da.min.js | 1 + .../locales/bootstrap-datepicker.de.min.js | 1 + .../locales/bootstrap-datepicker.el.min.js | 1 + .../locales/bootstrap-datepicker.en-AU.min.js | 1 + .../locales/bootstrap-datepicker.en-CA.min.js | 1 + .../locales/bootstrap-datepicker.en-GB.min.js | 1 + .../locales/bootstrap-datepicker.en-IE.min.js | 1 + .../locales/bootstrap-datepicker.en-NZ.min.js | 1 + .../locales/bootstrap-datepicker.en-ZA.min.js | 1 + .../locales/bootstrap-datepicker.eo.min.js | 1 + .../locales/bootstrap-datepicker.es.min.js | 1 + .../locales/bootstrap-datepicker.et.min.js | 1 + .../locales/bootstrap-datepicker.eu.min.js | 1 + .../locales/bootstrap-datepicker.fa.min.js | 1 + .../locales/bootstrap-datepicker.fi.min.js | 1 + .../locales/bootstrap-datepicker.fo.min.js | 1 + .../locales/bootstrap-datepicker.fr-CH.min.js | 1 + .../locales/bootstrap-datepicker.fr.min.js | 1 + .../locales/bootstrap-datepicker.gl.min.js | 1 + .../locales/bootstrap-datepicker.he.min.js | 1 + .../locales/bootstrap-datepicker.hi.min.js | 1 + .../locales/bootstrap-datepicker.hr.min.js | 1 + .../locales/bootstrap-datepicker.hu.min.js | 1 + .../locales/bootstrap-datepicker.hy.min.js | 1 + .../locales/bootstrap-datepicker.id.min.js | 1 + .../locales/bootstrap-datepicker.is.min.js | 1 + .../locales/bootstrap-datepicker.it-CH.min.js | 1 + .../locales/bootstrap-datepicker.it.min.js | 1 + .../locales/bootstrap-datepicker.ja.min.js | 1 + .../locales/bootstrap-datepicker.ka.min.js | 1 + .../locales/bootstrap-datepicker.kh.min.js | 1 + .../locales/bootstrap-datepicker.kk.min.js | 1 + .../locales/bootstrap-datepicker.km.min.js | 1 + .../locales/bootstrap-datepicker.ko.min.js | 1 + .../locales/bootstrap-datepicker.kr.min.js | 1 + .../locales/bootstrap-datepicker.lt.min.js | 1 + .../locales/bootstrap-datepicker.lv.min.js | 1 + .../locales/bootstrap-datepicker.me.min.js | 1 + .../locales/bootstrap-datepicker.mk.min.js | 1 + .../locales/bootstrap-datepicker.mn.min.js | 1 + .../locales/bootstrap-datepicker.ms.min.js | 1 + .../locales/bootstrap-datepicker.nl-BE.min.js | 1 + .../locales/bootstrap-datepicker.nl.min.js | 1 + .../locales/bootstrap-datepicker.no.min.js | 1 + .../locales/bootstrap-datepicker.oc.min.js | 1 + .../locales/bootstrap-datepicker.pl.min.js | 1 + .../locales/bootstrap-datepicker.pt-BR.min.js | 1 + .../locales/bootstrap-datepicker.pt.min.js | 1 + .../locales/bootstrap-datepicker.ro.min.js | 1 + .../bootstrap-datepicker.rs-latin.min.js | 1 + .../locales/bootstrap-datepicker.rs.min.js | 1 + .../locales/bootstrap-datepicker.ru.min.js | 1 + .../locales/bootstrap-datepicker.si.min.js | 1 + .../locales/bootstrap-datepicker.sk.min.js | 1 + .../locales/bootstrap-datepicker.sl.min.js | 1 + .../locales/bootstrap-datepicker.sq.min.js | 1 + .../bootstrap-datepicker.sr-latin.min.js | 1 + .../locales/bootstrap-datepicker.sr.min.js | 1 + .../locales/bootstrap-datepicker.sv.min.js | 1 + .../locales/bootstrap-datepicker.sw.min.js | 1 + .../locales/bootstrap-datepicker.ta.min.js | 1 + .../locales/bootstrap-datepicker.tg.min.js | 1 + .../locales/bootstrap-datepicker.th.min.js | 1 + .../locales/bootstrap-datepicker.tk.min.js | 1 + .../locales/bootstrap-datepicker.tr.min.js | 1 + .../locales/bootstrap-datepicker.uk.min.js | 1 + .../bootstrap-datepicker.uz-cyrl.min.js | 1 + .../bootstrap-datepicker.uz-latn.min.js | 1 + .../locales/bootstrap-datepicker.vi.min.js | 1 + .../locales/bootstrap-datepicker.zh-CN.min.js | 1 + .../locales/bootstrap-datepicker.zh-TW.min.js | 1 + .../libs/bootstrap/css/bootstrap-rtl.css | 11392 ++++++++++++ .../libs/bootstrap/css/bootstrap-rtl.css.map | 1 + .../libs/bootstrap/css/bootstrap-rtl.min.css | 7 + .../bootstrap/css/bootstrap-rtl.min.css.map | 1 + .../wwwroot/libs/bootstrap/css/bootstrap.css | 10298 +++++++++++ .../libs/bootstrap/css/bootstrap.css.map | 1 + .../libs/bootstrap/css/bootstrap.min.css | 7 + .../libs/bootstrap/css/bootstrap.min.css.map | 1 + .../libs/bootstrap/js/bootstrap.bundle.js | 7045 +++++++ .../libs/bootstrap/js/bootstrap.bundle.js.map | 1 + .../libs/bootstrap/js/bootstrap.bundle.min.js | 7 + .../bootstrap/js/bootstrap.bundle.min.js.map | 1 + .../css/dataTables.bootstrap4.css | 210 + .../js/dataTables.bootstrap4.js | 184 + .../datatables.net/js/jquery.dataTables.js | 15383 ++++++++++++++++ .../libs/jquery-form/jquery.form.min.js | 23 + .../libs/jquery-form/jquery.form.min.js.map | 1 + .../jquery.validate.unobtrusive.js | 432 + .../libs/jquery-validation/jquery.validate.js | 1657 ++ .../localization/messages_ar.js | 35 + .../localization/messages_ar.min.js | 4 + .../localization/messages_az.js | 35 + .../localization/messages_az.min.js | 4 + .../localization/messages_bg.js | 35 + .../localization/messages_bg.min.js | 4 + .../localization/messages_bn_BD.js | 35 + .../localization/messages_bn_BD.min.js | 4 + .../localization/messages_ca.js | 35 + .../localization/messages_ca.min.js | 4 + .../localization/messages_cs.js | 36 + .../localization/messages_cs.min.js | 4 + .../localization/messages_da.js | 46 + .../localization/messages_da.min.js | 4 + .../localization/messages_de.js | 82 + .../localization/messages_de.min.js | 4 + .../localization/messages_el.js | 35 + .../localization/messages_el.min.js | 4 + .../localization/messages_es.js | 38 + .../localization/messages_es.min.js | 4 + .../localization/messages_es_AR.js | 39 + .../localization/messages_es_AR.min.js | 4 + .../localization/messages_es_PE.js | 39 + .../localization/messages_es_PE.min.js | 4 + .../localization/messages_et.js | 33 + .../localization/messages_et.min.js | 4 + .../localization/messages_eu.js | 35 + .../localization/messages_eu.min.js | 4 + .../localization/messages_fa.js | 39 + .../localization/messages_fa.min.js | 4 + .../localization/messages_fi.js | 33 + .../localization/messages_fi.min.js | 4 + .../localization/messages_fr.js | 64 + .../localization/messages_fr.min.js | 4 + .../localization/messages_ge.js | 35 + .../localization/messages_ge.min.js | 4 + .../localization/messages_gl.js | 40 + .../localization/messages_gl.min.js | 4 + .../localization/messages_he.js | 35 + .../localization/messages_he.min.js | 4 + .../localization/messages_hr.js | 35 + .../localization/messages_hr.min.js | 4 + .../localization/messages_hu.js | 35 + .../localization/messages_hu.min.js | 4 + .../localization/messages_hy_AM.js | 35 + .../localization/messages_hy_AM.min.js | 4 + .../localization/messages_id.js | 34 + .../localization/messages_id.min.js | 4 + .../localization/messages_is.js | 33 + .../localization/messages_is.min.js | 4 + .../localization/messages_it.js | 39 + .../localization/messages_it.min.js | 4 + .../localization/messages_ja.js | 36 + .../localization/messages_ja.min.js | 4 + .../localization/messages_ka.js | 35 + .../localization/messages_ka.min.js | 4 + .../localization/messages_kk.js | 35 + .../localization/messages_kk.min.js | 4 + .../localization/messages_ko.js | 35 + .../localization/messages_ko.min.js | 4 + .../localization/messages_lt.js | 35 + .../localization/messages_lt.min.js | 4 + .../localization/messages_lv.js | 35 + .../localization/messages_lv.min.js | 4 + .../localization/messages_mk.js | 35 + .../localization/messages_mk.min.js | 4 + .../localization/messages_my.js | 35 + .../localization/messages_my.min.js | 4 + .../localization/messages_nl.js | 46 + .../localization/messages_nl.min.js | 4 + .../localization/messages_no.js | 35 + .../localization/messages_no.min.js | 4 + .../localization/messages_pl.js | 38 + .../localization/messages_pl.min.js | 4 + .../localization/messages_pt_BR.js | 91 + .../localization/messages_pt_BR.min.js | 4 + .../localization/messages_pt_PT.js | 39 + .../localization/messages_pt_PT.min.js | 4 + .../localization/messages_ro.js | 35 + .../localization/messages_ro.min.js | 4 + .../localization/messages_ru.js | 35 + .../localization/messages_ru.min.js | 4 + .../localization/messages_sd.js | 35 + .../localization/messages_sd.min.js | 4 + .../localization/messages_si.js | 35 + .../localization/messages_si.min.js | 4 + .../localization/messages_sk.js | 33 + .../localization/messages_sk.min.js | 4 + .../localization/messages_sl.js | 35 + .../localization/messages_sl.min.js | 4 + .../localization/messages_sr.js | 36 + .../localization/messages_sr.min.js | 4 + .../localization/messages_sr_lat.js | 36 + .../localization/messages_sr_lat.min.js | 4 + .../localization/messages_sv.js | 35 + .../localization/messages_sv.min.js | 4 + .../localization/messages_th.js | 35 + .../localization/messages_th.min.js | 4 + .../localization/messages_tj.js | 35 + .../localization/messages_tj.min.js | 4 + .../localization/messages_tr.js | 37 + .../localization/messages_tr.min.js | 4 + .../localization/messages_uk.js | 35 + .../localization/messages_uk.min.js | 4 + .../localization/messages_ur.js | 35 + .../localization/messages_ur.min.js | 4 + .../localization/messages_vi.js | 35 + .../localization/messages_vi.min.js | 4 + .../localization/messages_zh.js | 36 + .../localization/messages_zh.min.js | 4 + .../localization/messages_zh_TW.js | 37 + .../localization/messages_zh_TW.min.js | 4 + .../localization/methods_de.js | 24 + .../localization/methods_de.min.js | 4 + .../localization/methods_es_CL.js | 24 + .../localization/methods_es_CL.min.js | 4 + .../localization/methods_fi.js | 24 + .../localization/methods_fi.min.js | 4 + .../localization/methods_it.js | 24 + .../localization/methods_it.min.js | 4 + .../localization/methods_nl.js | 24 + .../localization/methods_nl.min.js | 4 + .../localization/methods_pt.js | 21 + .../localization/methods_pt.min.js | 4 + .../wwwroot/libs/jquery/jquery.js | 10872 +++++++++++ .../wwwroot/libs/lodash/lodash.min.js | 139 + .../wwwroot/libs/luxon/luxon.js | 8296 +++++++++ .../wwwroot/libs/luxon/luxon.js.map | 1 + .../wwwroot/libs/luxon/luxon.min.js | 1 + .../wwwroot/libs/luxon/luxon.min.js.map | 1 + .../jquery.mCustomScrollbar.concat.min.js | 5 + .../jquery.mCustomScrollbar.css | 1267 ++ .../jquery.mCustomScrollbar.js | 2458 +++ .../mCSB_buttons.png | Bin 0 -> 2998 bytes .../package.json | 37 + .../malihu-custom-scrollbar-plugin/readme.md | 82 + .../wwwroot/libs/select2/css/select2.min.css | 1 + .../wwwroot/libs/select2/js/i18n/af.js | 3 + .../wwwroot/libs/select2/js/i18n/ar.js | 3 + .../wwwroot/libs/select2/js/i18n/az.js | 3 + .../wwwroot/libs/select2/js/i18n/bg.js | 3 + .../wwwroot/libs/select2/js/i18n/bn.js | 3 + .../wwwroot/libs/select2/js/i18n/bs.js | 3 + .../wwwroot/libs/select2/js/i18n/ca.js | 3 + .../wwwroot/libs/select2/js/i18n/cs.js | 3 + .../wwwroot/libs/select2/js/i18n/da.js | 3 + .../wwwroot/libs/select2/js/i18n/de.js | 3 + .../wwwroot/libs/select2/js/i18n/dsb.js | 3 + .../wwwroot/libs/select2/js/i18n/el.js | 3 + .../wwwroot/libs/select2/js/i18n/en.js | 3 + .../wwwroot/libs/select2/js/i18n/es.js | 3 + .../wwwroot/libs/select2/js/i18n/et.js | 3 + .../wwwroot/libs/select2/js/i18n/eu.js | 3 + .../wwwroot/libs/select2/js/i18n/fa.js | 3 + .../wwwroot/libs/select2/js/i18n/fi.js | 3 + .../wwwroot/libs/select2/js/i18n/fr.js | 3 + .../wwwroot/libs/select2/js/i18n/gl.js | 3 + .../wwwroot/libs/select2/js/i18n/he.js | 3 + .../wwwroot/libs/select2/js/i18n/hi.js | 3 + .../wwwroot/libs/select2/js/i18n/hr.js | 3 + .../wwwroot/libs/select2/js/i18n/hsb.js | 3 + .../wwwroot/libs/select2/js/i18n/hu.js | 3 + .../wwwroot/libs/select2/js/i18n/hy.js | 3 + .../wwwroot/libs/select2/js/i18n/id.js | 3 + .../wwwroot/libs/select2/js/i18n/is.js | 3 + .../wwwroot/libs/select2/js/i18n/it.js | 3 + .../wwwroot/libs/select2/js/i18n/ja.js | 3 + .../wwwroot/libs/select2/js/i18n/ka.js | 3 + .../wwwroot/libs/select2/js/i18n/km.js | 3 + .../wwwroot/libs/select2/js/i18n/ko.js | 3 + .../wwwroot/libs/select2/js/i18n/lt.js | 3 + .../wwwroot/libs/select2/js/i18n/lv.js | 3 + .../wwwroot/libs/select2/js/i18n/mk.js | 3 + .../wwwroot/libs/select2/js/i18n/ms.js | 3 + .../wwwroot/libs/select2/js/i18n/nb.js | 3 + .../wwwroot/libs/select2/js/i18n/ne.js | 3 + .../wwwroot/libs/select2/js/i18n/nl.js | 3 + .../wwwroot/libs/select2/js/i18n/pl.js | 3 + .../wwwroot/libs/select2/js/i18n/ps.js | 3 + .../wwwroot/libs/select2/js/i18n/pt-BR.js | 3 + .../wwwroot/libs/select2/js/i18n/pt.js | 3 + .../wwwroot/libs/select2/js/i18n/ro.js | 3 + .../wwwroot/libs/select2/js/i18n/ru.js | 3 + .../wwwroot/libs/select2/js/i18n/sk.js | 3 + .../wwwroot/libs/select2/js/i18n/sl.js | 3 + .../wwwroot/libs/select2/js/i18n/sq.js | 3 + .../wwwroot/libs/select2/js/i18n/sr-Cyrl.js | 3 + .../wwwroot/libs/select2/js/i18n/sr.js | 3 + .../wwwroot/libs/select2/js/i18n/sv.js | 3 + .../wwwroot/libs/select2/js/i18n/th.js | 3 + .../wwwroot/libs/select2/js/i18n/tk.js | 3 + .../wwwroot/libs/select2/js/i18n/tr.js | 3 + .../wwwroot/libs/select2/js/i18n/uk.js | 3 + .../wwwroot/libs/select2/js/i18n/vi.js | 3 + .../wwwroot/libs/select2/js/i18n/zh-CN.js | 3 + .../wwwroot/libs/select2/js/i18n/zh-TW.js | 3 + .../js/select2-bootstrap-modal-patch.js | 4 + .../libs/select2/js/select2.full.min.js | 2 + .../wwwroot/libs/select2/js/select2.min.js | 2 + .../wwwroot/libs/sweetalert/sweetalert.min.js | 1 + .../wwwroot/libs/timeago/jquery.timeago.js | 232 + .../wwwroot/libs/timeago/locales/README.md | 27 + .../libs/timeago/locales/jquery.timeago.af.js | 30 + .../libs/timeago/locales/jquery.timeago.am.js | 30 + .../libs/timeago/locales/jquery.timeago.ar.js | 104 + .../locales/jquery.timeago.az-short.js | 30 + .../libs/timeago/locales/jquery.timeago.az.js | 30 + .../libs/timeago/locales/jquery.timeago.be.js | 43 + .../libs/timeago/locales/jquery.timeago.bg.js | 28 + .../libs/timeago/locales/jquery.timeago.bs.js | 55 + .../libs/timeago/locales/jquery.timeago.ca.js | 30 + .../libs/timeago/locales/jquery.timeago.cs.js | 34 + .../libs/timeago/locales/jquery.timeago.cy.js | 30 + .../libs/timeago/locales/jquery.timeago.da.js | 28 + .../locales/jquery.timeago.de-short.js | 30 + .../libs/timeago/locales/jquery.timeago.de.js | 28 + .../libs/timeago/locales/jquery.timeago.dv.js | 32 + .../libs/timeago/locales/jquery.timeago.el.js | 28 + .../locales/jquery.timeago.en-short.js | 30 + .../libs/timeago/locales/jquery.timeago.en.js | 30 + .../locales/jquery.timeago.es-short.js | 31 + .../libs/timeago/locales/jquery.timeago.es.js | 29 + .../libs/timeago/locales/jquery.timeago.et.js | 28 + .../libs/timeago/locales/jquery.timeago.eu.js | 28 + .../locales/jquery.timeago.fa-short.js | 30 + .../libs/timeago/locales/jquery.timeago.fa.js | 32 + .../libs/timeago/locales/jquery.timeago.fi.js | 38 + .../locales/jquery.timeago.fr-short.js | 26 + .../libs/timeago/locales/jquery.timeago.fr.js | 27 + .../libs/timeago/locales/jquery.timeago.gl.js | 28 + .../libs/timeago/locales/jquery.timeago.he.js | 26 + .../libs/timeago/locales/jquery.timeago.hr.js | 54 + .../libs/timeago/locales/jquery.timeago.hu.js | 28 + .../libs/timeago/locales/jquery.timeago.hy.js | 28 + .../libs/timeago/locales/jquery.timeago.id.js | 29 + .../libs/timeago/locales/jquery.timeago.is.js | 29 + .../locales/jquery.timeago.it-short.js | 30 + .../libs/timeago/locales/jquery.timeago.it.js | 28 + .../libs/timeago/locales/jquery.timeago.ja.js | 29 + .../libs/timeago/locales/jquery.timeago.jv.js | 28 + .../libs/timeago/locales/jquery.timeago.ko.js | 31 + .../libs/timeago/locales/jquery.timeago.ky.js | 42 + .../libs/timeago/locales/jquery.timeago.lt.js | 30 + .../libs/timeago/locales/jquery.timeago.lv.js | 30 + .../libs/timeago/locales/jquery.timeago.mk.js | 30 + .../libs/timeago/locales/jquery.timeago.nl.js | 30 + .../libs/timeago/locales/jquery.timeago.no.js | 28 + .../libs/timeago/locales/jquery.timeago.pl.js | 39 + .../locales/jquery.timeago.pt-br-short.js | 30 + .../timeago/locales/jquery.timeago.pt-br.js | 28 + .../locales/jquery.timeago.pt-short.js | 30 + .../libs/timeago/locales/jquery.timeago.pt.js | 26 + .../libs/timeago/locales/jquery.timeago.ro.js | 29 + .../libs/timeago/locales/jquery.timeago.rs.js | 54 + .../libs/timeago/locales/jquery.timeago.ru.js | 43 + .../libs/timeago/locales/jquery.timeago.rw.js | 30 + .../libs/timeago/locales/jquery.timeago.si.js | 28 + .../libs/timeago/locales/jquery.timeago.sk.js | 34 + .../libs/timeago/locales/jquery.timeago.sl.js | 46 + .../libs/timeago/locales/jquery.timeago.sq.js | 26 + .../libs/timeago/locales/jquery.timeago.sr.js | 54 + .../libs/timeago/locales/jquery.timeago.sv.js | 28 + .../libs/timeago/locales/jquery.timeago.th.js | 30 + .../locales/jquery.timeago.tr-short.js | 30 + .../libs/timeago/locales/jquery.timeago.tr.js | 26 + .../libs/timeago/locales/jquery.timeago.uk.js | 42 + .../libs/timeago/locales/jquery.timeago.ur.js | 30 + .../libs/timeago/locales/jquery.timeago.uz.js | 29 + .../libs/timeago/locales/jquery.timeago.vi.js | 30 + .../timeago/locales/jquery.timeago.zh-CN.js | 31 + .../timeago/locales/jquery.timeago.zh-TW.js | 30 + .../wwwroot/libs/toastr/toastr.css | 228 + .../wwwroot/libs/toastr/toastr.js.map | 1 + .../wwwroot/libs/toastr/toastr.min.css | 1 + .../wwwroot/libs/toastr/toastr.min.js | 2 + .../yarn.lock | 2592 +++ .../FodyWeavers.xml | 3 + .../FodyWeavers.xsd | 30 + ...ingManagement.Application.Contracts.csproj | 22 + ...ingManagementApplicationContractsModule.cs | 15 + .../Abp/SettingManagement/EmailSettingsDto.cs | 23 + .../IEmailSettingsAppService.cs | 12 + ...gManagementPermissionDefinitionProvider.cs | 21 + .../SettingManagementPermissions.cs | 16 + .../SettingManagementRemoteServiceConsts.cs | 7 + .../UpdateEmailSettingsDto.cs | 37 + .../FodyWeavers.xml | 3 + ...o.Abp.SettingManagement.Application.csproj | 17 + .../EmailSettingsAppService.cs | 46 + .../SettingManagementAppServiceBase.cs | 14 + .../SettingManagementApplicationModule.cs | 15 + .../AbpSettingManagementBlazorModule.cs | 13 +- .../EmailSettingGroupViewComponent.razor | 103 + .../EmailSettingGroupViewComponent.razor.cs | 41 + ...ettingManagementBlazorAutoMapperProfile.cs | 4 +- .../EmailSettingManagementPageContributor.cs | 41 + .../Volo.Abp.SettingManagement.Blazor.csproj | 1 + .../Resources/AbpSettingManagement/de-DE.json | 16 +- .../Resources/AbpSettingManagement/en.json | 16 +- .../Resources/AbpSettingManagement/es.json | 16 +- .../Resources/AbpSettingManagement/tr.json | 16 +- .../AbpSettingManagement/zh-Hans.json | 16 +- .../FodyWeavers.xml | 3 + .../FodyWeavers.xsd | 30 + ...bp.SettingManagement.HttpApi.Client.csproj | 16 + ...AbpSettingManagementHttpApiClientModule.cs | 20 + .../FodyWeavers.xml | 3 + .../FodyWeavers.xsd | 30 + .../Volo.Abp.SettingManagement.HttpApi.csproj | 16 + .../AbpSettingManagementHttpApiModule.cs | 35 + .../EmailSettingsController.cs | 32 + .../AbpSettingManagementWebModule.cs | 19 + .../EmailSettingGroup/Default.cshtml | 28 + .../Components/EmailSettingGroup/Default.js | 27 + .../EmailSettingGroupViewComponent.cs | 24 + .../EmailSettingManagementPageContributor.cs | 42 + .../Volo.Abp.SettingManagement.Web.csproj | 5 + 467 files changed, 99746 insertions(+), 15 deletions(-) create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/DemoAppDbContext.cs create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/DemoAppDbContextFactory.cs create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/DemoAppModule.cs create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/Migrations/20210209024820_init.Designer.cs create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/Migrations/20210209024820_init.cs create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/Migrations/DemoAppDbContextModelSnapshot.cs create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/Pages/Index.cshtml create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/Pages/Index.cshtml.cs create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/Pages/_ViewImports.cshtml create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/Program.cs create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/Properties/launchSettings.json create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/Startup.cs create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/Volo.Abp.SettingManagement.DemoApp.csproj create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/abp.resourcemapping.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/appsettings.Development.json create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/appsettings.json create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/gulpfile.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/package.json create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/@fortawesome/fontawesome-free/css/all.css create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/@fortawesome/fontawesome-free/css/v4-shims.css create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/@fortawesome/fontawesome-free/webfonts/fa-brands-400.eot create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/@fortawesome/fontawesome-free/webfonts/fa-brands-400.svg create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/@fortawesome/fontawesome-free/webfonts/fa-brands-400.ttf create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/@fortawesome/fontawesome-free/webfonts/fa-brands-400.woff create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/@fortawesome/fontawesome-free/webfonts/fa-brands-400.woff2 create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/@fortawesome/fontawesome-free/webfonts/fa-regular-400.eot create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/@fortawesome/fontawesome-free/webfonts/fa-regular-400.svg create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/@fortawesome/fontawesome-free/webfonts/fa-regular-400.ttf create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/@fortawesome/fontawesome-free/webfonts/fa-regular-400.woff create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/@fortawesome/fontawesome-free/webfonts/fa-regular-400.woff2 create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/@fortawesome/fontawesome-free/webfonts/fa-solid-900.eot create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/@fortawesome/fontawesome-free/webfonts/fa-solid-900.svg create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/@fortawesome/fontawesome-free/webfonts/fa-solid-900.ttf create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/@fortawesome/fontawesome-free/webfonts/fa-solid-900.woff create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/@fortawesome/fontawesome-free/webfonts/fa-solid-900.woff2 create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/abp/core/abp.css create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/abp/core/abp.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/abp/jquery/abp.jquery.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/abp/luxon/abp.luxon.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/abp/utils/abp-utils.umd.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/abp/utils/abp-utils.umd.js.map create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/abp/utils/abp-utils.umd.min.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/abp/utils/abp-utils.umd.min.js.map create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/bootstrap-datepicker.css.map create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/bootstrap-datepicker.min.css create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/bootstrap-datepicker.min.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker-en-CA.min.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.ar-tn.min.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.ar.min.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.az.min.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.bg.min.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.bm.min.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.bn.min.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.br.min.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.bs.min.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.ca.min.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.cs.min.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.cy.min.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.da.min.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.de.min.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.el.min.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.en-AU.min.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.en-CA.min.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.en-GB.min.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.en-IE.min.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.en-NZ.min.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.en-ZA.min.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.eo.min.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.es.min.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.et.min.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.eu.min.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.fa.min.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.fi.min.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.fo.min.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.fr-CH.min.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.fr.min.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.gl.min.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.he.min.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.hi.min.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.hr.min.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.hu.min.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.hy.min.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.id.min.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.is.min.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.it-CH.min.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.it.min.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.ja.min.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.ka.min.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.kh.min.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.kk.min.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.km.min.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.ko.min.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.kr.min.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.lt.min.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.lv.min.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.me.min.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.mk.min.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.mn.min.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.ms.min.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.nl-BE.min.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.nl.min.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.no.min.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.oc.min.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.pl.min.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.pt-BR.min.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.pt.min.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.ro.min.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.rs-latin.min.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.rs.min.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.ru.min.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.si.min.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.sk.min.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.sl.min.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.sq.min.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.sr-latin.min.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.sr.min.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.sv.min.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.sw.min.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.ta.min.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.tg.min.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.th.min.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.tk.min.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.tr.min.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.uk.min.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.uz-cyrl.min.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.uz-latn.min.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.vi.min.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.zh-CN.min.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.zh-TW.min.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap/css/bootstrap-rtl.css create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap/css/bootstrap-rtl.css.map create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap/css/bootstrap-rtl.min.css create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap/css/bootstrap-rtl.min.css.map create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap/css/bootstrap.css create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap/css/bootstrap.css.map create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap/css/bootstrap.min.css create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap/css/bootstrap.min.css.map create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap/js/bootstrap.bundle.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap/js/bootstrap.bundle.js.map create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap/js/bootstrap.bundle.min.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap/js/bootstrap.bundle.min.js.map create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/datatables.net-bs4/css/dataTables.bootstrap4.css create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/datatables.net-bs4/js/dataTables.bootstrap4.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/datatables.net/js/jquery.dataTables.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/jquery-form/jquery.form.min.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/jquery-form/jquery.form.min.js.map create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/jquery-validation-unobtrusive/jquery.validate.unobtrusive.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/jquery-validation/jquery.validate.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/jquery-validation/localization/messages_ar.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/jquery-validation/localization/messages_ar.min.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/jquery-validation/localization/messages_az.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/jquery-validation/localization/messages_az.min.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/jquery-validation/localization/messages_bg.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/jquery-validation/localization/messages_bg.min.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/jquery-validation/localization/messages_bn_BD.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/jquery-validation/localization/messages_bn_BD.min.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/jquery-validation/localization/messages_ca.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/jquery-validation/localization/messages_ca.min.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/jquery-validation/localization/messages_cs.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/jquery-validation/localization/messages_cs.min.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/jquery-validation/localization/messages_da.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/jquery-validation/localization/messages_da.min.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/jquery-validation/localization/messages_de.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/jquery-validation/localization/messages_de.min.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/jquery-validation/localization/messages_el.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/jquery-validation/localization/messages_el.min.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/jquery-validation/localization/messages_es.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/jquery-validation/localization/messages_es.min.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/jquery-validation/localization/messages_es_AR.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/jquery-validation/localization/messages_es_AR.min.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/jquery-validation/localization/messages_es_PE.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/jquery-validation/localization/messages_es_PE.min.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/jquery-validation/localization/messages_et.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/jquery-validation/localization/messages_et.min.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/jquery-validation/localization/messages_eu.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/jquery-validation/localization/messages_eu.min.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/jquery-validation/localization/messages_fa.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/jquery-validation/localization/messages_fa.min.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/jquery-validation/localization/messages_fi.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/jquery-validation/localization/messages_fi.min.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/jquery-validation/localization/messages_fr.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/jquery-validation/localization/messages_fr.min.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/jquery-validation/localization/messages_ge.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/jquery-validation/localization/messages_ge.min.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/jquery-validation/localization/messages_gl.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/jquery-validation/localization/messages_gl.min.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/jquery-validation/localization/messages_he.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/jquery-validation/localization/messages_he.min.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/jquery-validation/localization/messages_hr.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/jquery-validation/localization/messages_hr.min.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/jquery-validation/localization/messages_hu.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/jquery-validation/localization/messages_hu.min.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/jquery-validation/localization/messages_hy_AM.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/jquery-validation/localization/messages_hy_AM.min.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/jquery-validation/localization/messages_id.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/jquery-validation/localization/messages_id.min.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/jquery-validation/localization/messages_is.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/jquery-validation/localization/messages_is.min.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/jquery-validation/localization/messages_it.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/jquery-validation/localization/messages_it.min.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/jquery-validation/localization/messages_ja.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/jquery-validation/localization/messages_ja.min.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/jquery-validation/localization/messages_ka.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/jquery-validation/localization/messages_ka.min.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/jquery-validation/localization/messages_kk.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/jquery-validation/localization/messages_kk.min.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/jquery-validation/localization/messages_ko.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/jquery-validation/localization/messages_ko.min.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/jquery-validation/localization/messages_lt.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/jquery-validation/localization/messages_lt.min.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/jquery-validation/localization/messages_lv.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/jquery-validation/localization/messages_lv.min.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/jquery-validation/localization/messages_mk.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/jquery-validation/localization/messages_mk.min.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/jquery-validation/localization/messages_my.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/jquery-validation/localization/messages_my.min.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/jquery-validation/localization/messages_nl.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/jquery-validation/localization/messages_nl.min.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/jquery-validation/localization/messages_no.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/jquery-validation/localization/messages_no.min.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/jquery-validation/localization/messages_pl.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/jquery-validation/localization/messages_pl.min.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/jquery-validation/localization/messages_pt_BR.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/jquery-validation/localization/messages_pt_BR.min.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/jquery-validation/localization/messages_pt_PT.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/jquery-validation/localization/messages_pt_PT.min.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/jquery-validation/localization/messages_ro.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/jquery-validation/localization/messages_ro.min.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/jquery-validation/localization/messages_ru.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/jquery-validation/localization/messages_ru.min.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/jquery-validation/localization/messages_sd.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/jquery-validation/localization/messages_sd.min.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/jquery-validation/localization/messages_si.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/jquery-validation/localization/messages_si.min.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/jquery-validation/localization/messages_sk.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/jquery-validation/localization/messages_sk.min.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/jquery-validation/localization/messages_sl.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/jquery-validation/localization/messages_sl.min.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/jquery-validation/localization/messages_sr.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/jquery-validation/localization/messages_sr.min.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/jquery-validation/localization/messages_sr_lat.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/jquery-validation/localization/messages_sr_lat.min.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/jquery-validation/localization/messages_sv.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/jquery-validation/localization/messages_sv.min.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/jquery-validation/localization/messages_th.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/jquery-validation/localization/messages_th.min.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/jquery-validation/localization/messages_tj.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/jquery-validation/localization/messages_tj.min.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/jquery-validation/localization/messages_tr.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/jquery-validation/localization/messages_tr.min.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/jquery-validation/localization/messages_uk.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/jquery-validation/localization/messages_uk.min.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/jquery-validation/localization/messages_ur.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/jquery-validation/localization/messages_ur.min.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/jquery-validation/localization/messages_vi.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/jquery-validation/localization/messages_vi.min.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/jquery-validation/localization/messages_zh.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/jquery-validation/localization/messages_zh.min.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/jquery-validation/localization/messages_zh_TW.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/jquery-validation/localization/messages_zh_TW.min.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/jquery-validation/localization/methods_de.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/jquery-validation/localization/methods_de.min.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/jquery-validation/localization/methods_es_CL.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/jquery-validation/localization/methods_es_CL.min.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/jquery-validation/localization/methods_fi.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/jquery-validation/localization/methods_fi.min.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/jquery-validation/localization/methods_it.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/jquery-validation/localization/methods_it.min.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/jquery-validation/localization/methods_nl.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/jquery-validation/localization/methods_nl.min.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/jquery-validation/localization/methods_pt.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/jquery-validation/localization/methods_pt.min.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/jquery/jquery.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/lodash/lodash.min.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/luxon/luxon.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/luxon/luxon.js.map create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/luxon/luxon.min.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/luxon/luxon.min.js.map create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/malihu-custom-scrollbar-plugin/jquery.mCustomScrollbar.concat.min.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/malihu-custom-scrollbar-plugin/jquery.mCustomScrollbar.css create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/malihu-custom-scrollbar-plugin/jquery.mCustomScrollbar.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/malihu-custom-scrollbar-plugin/mCSB_buttons.png create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/malihu-custom-scrollbar-plugin/package.json create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/malihu-custom-scrollbar-plugin/readme.md create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/select2/css/select2.min.css create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/select2/js/i18n/af.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/select2/js/i18n/ar.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/select2/js/i18n/az.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/select2/js/i18n/bg.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/select2/js/i18n/bn.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/select2/js/i18n/bs.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/select2/js/i18n/ca.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/select2/js/i18n/cs.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/select2/js/i18n/da.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/select2/js/i18n/de.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/select2/js/i18n/dsb.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/select2/js/i18n/el.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/select2/js/i18n/en.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/select2/js/i18n/es.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/select2/js/i18n/et.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/select2/js/i18n/eu.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/select2/js/i18n/fa.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/select2/js/i18n/fi.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/select2/js/i18n/fr.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/select2/js/i18n/gl.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/select2/js/i18n/he.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/select2/js/i18n/hi.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/select2/js/i18n/hr.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/select2/js/i18n/hsb.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/select2/js/i18n/hu.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/select2/js/i18n/hy.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/select2/js/i18n/id.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/select2/js/i18n/is.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/select2/js/i18n/it.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/select2/js/i18n/ja.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/select2/js/i18n/ka.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/select2/js/i18n/km.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/select2/js/i18n/ko.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/select2/js/i18n/lt.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/select2/js/i18n/lv.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/select2/js/i18n/mk.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/select2/js/i18n/ms.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/select2/js/i18n/nb.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/select2/js/i18n/ne.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/select2/js/i18n/nl.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/select2/js/i18n/pl.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/select2/js/i18n/ps.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/select2/js/i18n/pt-BR.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/select2/js/i18n/pt.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/select2/js/i18n/ro.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/select2/js/i18n/ru.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/select2/js/i18n/sk.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/select2/js/i18n/sl.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/select2/js/i18n/sq.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/select2/js/i18n/sr-Cyrl.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/select2/js/i18n/sr.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/select2/js/i18n/sv.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/select2/js/i18n/th.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/select2/js/i18n/tk.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/select2/js/i18n/tr.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/select2/js/i18n/uk.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/select2/js/i18n/vi.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/select2/js/i18n/zh-CN.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/select2/js/i18n/zh-TW.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/select2/js/select2-bootstrap-modal-patch.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/select2/js/select2.full.min.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/select2/js/select2.min.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/sweetalert/sweetalert.min.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/timeago/jquery.timeago.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/timeago/locales/README.md create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/timeago/locales/jquery.timeago.af.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/timeago/locales/jquery.timeago.am.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/timeago/locales/jquery.timeago.ar.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/timeago/locales/jquery.timeago.az-short.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/timeago/locales/jquery.timeago.az.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/timeago/locales/jquery.timeago.be.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/timeago/locales/jquery.timeago.bg.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/timeago/locales/jquery.timeago.bs.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/timeago/locales/jquery.timeago.ca.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/timeago/locales/jquery.timeago.cs.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/timeago/locales/jquery.timeago.cy.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/timeago/locales/jquery.timeago.da.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/timeago/locales/jquery.timeago.de-short.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/timeago/locales/jquery.timeago.de.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/timeago/locales/jquery.timeago.dv.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/timeago/locales/jquery.timeago.el.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/timeago/locales/jquery.timeago.en-short.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/timeago/locales/jquery.timeago.en.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/timeago/locales/jquery.timeago.es-short.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/timeago/locales/jquery.timeago.es.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/timeago/locales/jquery.timeago.et.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/timeago/locales/jquery.timeago.eu.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/timeago/locales/jquery.timeago.fa-short.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/timeago/locales/jquery.timeago.fa.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/timeago/locales/jquery.timeago.fi.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/timeago/locales/jquery.timeago.fr-short.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/timeago/locales/jquery.timeago.fr.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/timeago/locales/jquery.timeago.gl.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/timeago/locales/jquery.timeago.he.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/timeago/locales/jquery.timeago.hr.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/timeago/locales/jquery.timeago.hu.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/timeago/locales/jquery.timeago.hy.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/timeago/locales/jquery.timeago.id.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/timeago/locales/jquery.timeago.is.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/timeago/locales/jquery.timeago.it-short.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/timeago/locales/jquery.timeago.it.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/timeago/locales/jquery.timeago.ja.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/timeago/locales/jquery.timeago.jv.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/timeago/locales/jquery.timeago.ko.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/timeago/locales/jquery.timeago.ky.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/timeago/locales/jquery.timeago.lt.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/timeago/locales/jquery.timeago.lv.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/timeago/locales/jquery.timeago.mk.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/timeago/locales/jquery.timeago.nl.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/timeago/locales/jquery.timeago.no.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/timeago/locales/jquery.timeago.pl.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/timeago/locales/jquery.timeago.pt-br-short.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/timeago/locales/jquery.timeago.pt-br.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/timeago/locales/jquery.timeago.pt-short.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/timeago/locales/jquery.timeago.pt.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/timeago/locales/jquery.timeago.ro.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/timeago/locales/jquery.timeago.rs.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/timeago/locales/jquery.timeago.ru.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/timeago/locales/jquery.timeago.rw.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/timeago/locales/jquery.timeago.si.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/timeago/locales/jquery.timeago.sk.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/timeago/locales/jquery.timeago.sl.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/timeago/locales/jquery.timeago.sq.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/timeago/locales/jquery.timeago.sr.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/timeago/locales/jquery.timeago.sv.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/timeago/locales/jquery.timeago.th.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/timeago/locales/jquery.timeago.tr-short.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/timeago/locales/jquery.timeago.tr.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/timeago/locales/jquery.timeago.uk.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/timeago/locales/jquery.timeago.ur.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/timeago/locales/jquery.timeago.uz.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/timeago/locales/jquery.timeago.vi.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/timeago/locales/jquery.timeago.zh-CN.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/timeago/locales/jquery.timeago.zh-TW.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/toastr/toastr.css create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/toastr/toastr.js.map create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/toastr/toastr.min.css create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/toastr/toastr.min.js create mode 100644 modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/yarn.lock create mode 100644 modules/setting-management/src/Volo.Abp.SettingManagement.Application.Contracts/FodyWeavers.xml create mode 100644 modules/setting-management/src/Volo.Abp.SettingManagement.Application.Contracts/FodyWeavers.xsd create mode 100644 modules/setting-management/src/Volo.Abp.SettingManagement.Application.Contracts/Volo.Abp.SettingManagement.Application.Contracts.csproj create mode 100644 modules/setting-management/src/Volo.Abp.SettingManagement.Application.Contracts/Volo/Abp/SettingManagement/AbpSettingManagementApplicationContractsModule.cs create mode 100644 modules/setting-management/src/Volo.Abp.SettingManagement.Application.Contracts/Volo/Abp/SettingManagement/EmailSettingsDto.cs create mode 100644 modules/setting-management/src/Volo.Abp.SettingManagement.Application.Contracts/Volo/Abp/SettingManagement/IEmailSettingsAppService.cs create mode 100644 modules/setting-management/src/Volo.Abp.SettingManagement.Application.Contracts/Volo/Abp/SettingManagement/SettingManagementPermissionDefinitionProvider.cs create mode 100644 modules/setting-management/src/Volo.Abp.SettingManagement.Application.Contracts/Volo/Abp/SettingManagement/SettingManagementPermissions.cs create mode 100644 modules/setting-management/src/Volo.Abp.SettingManagement.Application.Contracts/Volo/Abp/SettingManagement/SettingManagementRemoteServiceConsts.cs create mode 100644 modules/setting-management/src/Volo.Abp.SettingManagement.Application.Contracts/Volo/Abp/SettingManagement/UpdateEmailSettingsDto.cs create mode 100644 modules/setting-management/src/Volo.Abp.SettingManagement.Application/FodyWeavers.xml create mode 100644 modules/setting-management/src/Volo.Abp.SettingManagement.Application/Volo.Abp.SettingManagement.Application.csproj create mode 100644 modules/setting-management/src/Volo.Abp.SettingManagement.Application/Volo/Abp/SettingManagement/EmailSettingsAppService.cs create mode 100644 modules/setting-management/src/Volo.Abp.SettingManagement.Application/Volo/Abp/SettingManagement/SettingManagementAppServiceBase.cs create mode 100644 modules/setting-management/src/Volo.Abp.SettingManagement.Application/Volo/Abp/SettingManagement/SettingManagementApplicationModule.cs create mode 100644 modules/setting-management/src/Volo.Abp.SettingManagement.Blazor/Pages/SettingManagement/EmailSettingGroup/EmailSettingGroupViewComponent.razor create mode 100644 modules/setting-management/src/Volo.Abp.SettingManagement.Blazor/Pages/SettingManagement/EmailSettingGroup/EmailSettingGroupViewComponent.razor.cs create mode 100644 modules/setting-management/src/Volo.Abp.SettingManagement.Blazor/Settings/EmailSettingManagementPageContributor.cs create mode 100644 modules/setting-management/src/Volo.Abp.SettingManagement.HttpApi.Client/FodyWeavers.xml create mode 100644 modules/setting-management/src/Volo.Abp.SettingManagement.HttpApi.Client/FodyWeavers.xsd create mode 100644 modules/setting-management/src/Volo.Abp.SettingManagement.HttpApi.Client/Volo.Abp.SettingManagement.HttpApi.Client.csproj create mode 100644 modules/setting-management/src/Volo.Abp.SettingManagement.HttpApi.Client/Volo/Abp/SettingManagement/AbpSettingManagementHttpApiClientModule.cs create mode 100644 modules/setting-management/src/Volo.Abp.SettingManagement.HttpApi/FodyWeavers.xml create mode 100644 modules/setting-management/src/Volo.Abp.SettingManagement.HttpApi/FodyWeavers.xsd create mode 100644 modules/setting-management/src/Volo.Abp.SettingManagement.HttpApi/Volo.Abp.SettingManagement.HttpApi.csproj create mode 100644 modules/setting-management/src/Volo.Abp.SettingManagement.HttpApi/Volo/Abp/SettingManagement/AbpSettingManagementHttpApiModule.cs create mode 100644 modules/setting-management/src/Volo.Abp.SettingManagement.HttpApi/Volo/Abp/SettingManagement/EmailSettingsController.cs create mode 100644 modules/setting-management/src/Volo.Abp.SettingManagement.Web/Pages/SettingManagement/Components/EmailSettingGroup/Default.cshtml create mode 100644 modules/setting-management/src/Volo.Abp.SettingManagement.Web/Pages/SettingManagement/Components/EmailSettingGroup/Default.js create mode 100644 modules/setting-management/src/Volo.Abp.SettingManagement.Web/Pages/SettingManagement/Components/EmailSettingGroup/EmailSettingGroupViewComponent.cs create mode 100644 modules/setting-management/src/Volo.Abp.SettingManagement.Web/Settings/EmailSettingManagementPageContributor.cs diff --git a/.gitignore b/.gitignore index 407241c7fc..3c5c4f89da 100644 --- a/.gitignore +++ b/.gitignore @@ -269,6 +269,7 @@ modules/blog/app/Volo.BlogTestApp/Logs/*.* modules/blogging/app/Volo.BloggingTestApp/Logs/*.* modules/blogging/app/Volo.BloggingTestApp/wwwroot/files/*.* modules/docs/app/VoloDocs.Web/Logs/*.* +modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/Logs/*.* templates/module/app/MyCompanyName.MyProjectName.DemoApp/Logs/*.* templates/mvc/src/MyCompanyName.MyProjectName.Web/Logs/*.* diff --git a/modules/setting-management/Volo.Abp.SettingManagement.sln b/modules/setting-management/Volo.Abp.SettingManagement.sln index 8292218678..b7b5725614 100644 --- a/modules/setting-management/Volo.Abp.SettingManagement.sln +++ b/modules/setting-management/Volo.Abp.SettingManagement.sln @@ -27,6 +27,18 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Volo.Abp.SettingManagement. EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Volo.Abp.SettingManagement.Blazor", "src\Volo.Abp.SettingManagement.Blazor\Volo.Abp.SettingManagement.Blazor.csproj", "{BDF54E3C-C262-406E-8060-84C423335BDD}" EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Volo.Abp.SettingManagement.Application", "src\Volo.Abp.SettingManagement.Application\Volo.Abp.SettingManagement.Application.csproj", "{30798284-C33B-49D8-91A7-B379D8166F69}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Volo.Abp.SettingManagement.Application.Contracts", "src\Volo.Abp.SettingManagement.Application.Contracts\Volo.Abp.SettingManagement.Application.Contracts.csproj", "{BE6CB9AD-889C-4D4D-AD2C-6571689F99DD}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Volo.Abp.SettingManagement.HttpApi", "src\Volo.Abp.SettingManagement.HttpApi\Volo.Abp.SettingManagement.HttpApi.csproj", "{BCE3E834-B90B-469A-B274-74D401FAFD6E}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Volo.Abp.SettingManagement.HttpApi.Client", "src\Volo.Abp.SettingManagement.HttpApi.Client\Volo.Abp.SettingManagement.HttpApi.Client.csproj", "{F3126FDD-A574-4940-AE06-78898E2DE98F}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "app", "app", "{D3222BEC-EDCE-4509-9A19-36C43C9A59FB}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Volo.Abp.SettingManagement.DemoApp", "app\Volo.Abp.SettingManagement.DemoApp\Volo.Abp.SettingManagement.DemoApp.csproj", "{8488F380-83DD-4209-80B7-87ACAB83A052}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -73,6 +85,26 @@ Global {BDF54E3C-C262-406E-8060-84C423335BDD}.Debug|Any CPU.Build.0 = Debug|Any CPU {BDF54E3C-C262-406E-8060-84C423335BDD}.Release|Any CPU.ActiveCfg = Release|Any CPU {BDF54E3C-C262-406E-8060-84C423335BDD}.Release|Any CPU.Build.0 = Release|Any CPU + {30798284-C33B-49D8-91A7-B379D8166F69}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {30798284-C33B-49D8-91A7-B379D8166F69}.Debug|Any CPU.Build.0 = Debug|Any CPU + {30798284-C33B-49D8-91A7-B379D8166F69}.Release|Any CPU.ActiveCfg = Release|Any CPU + {30798284-C33B-49D8-91A7-B379D8166F69}.Release|Any CPU.Build.0 = Release|Any CPU + {BE6CB9AD-889C-4D4D-AD2C-6571689F99DD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {BE6CB9AD-889C-4D4D-AD2C-6571689F99DD}.Debug|Any CPU.Build.0 = Debug|Any CPU + {BE6CB9AD-889C-4D4D-AD2C-6571689F99DD}.Release|Any CPU.ActiveCfg = Release|Any CPU + {BE6CB9AD-889C-4D4D-AD2C-6571689F99DD}.Release|Any CPU.Build.0 = Release|Any CPU + {BCE3E834-B90B-469A-B274-74D401FAFD6E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {BCE3E834-B90B-469A-B274-74D401FAFD6E}.Debug|Any CPU.Build.0 = Debug|Any CPU + {BCE3E834-B90B-469A-B274-74D401FAFD6E}.Release|Any CPU.ActiveCfg = Release|Any CPU + {BCE3E834-B90B-469A-B274-74D401FAFD6E}.Release|Any CPU.Build.0 = Release|Any CPU + {F3126FDD-A574-4940-AE06-78898E2DE98F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {F3126FDD-A574-4940-AE06-78898E2DE98F}.Debug|Any CPU.Build.0 = Debug|Any CPU + {F3126FDD-A574-4940-AE06-78898E2DE98F}.Release|Any CPU.ActiveCfg = Release|Any CPU + {F3126FDD-A574-4940-AE06-78898E2DE98F}.Release|Any CPU.Build.0 = Release|Any CPU + {8488F380-83DD-4209-80B7-87ACAB83A052}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {8488F380-83DD-4209-80B7-87ACAB83A052}.Debug|Any CPU.Build.0 = Debug|Any CPU + {8488F380-83DD-4209-80B7-87ACAB83A052}.Release|Any CPU.ActiveCfg = Release|Any CPU + {8488F380-83DD-4209-80B7-87ACAB83A052}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -88,6 +120,11 @@ Global {DF76DE74-1029-4FEA-8ADF-3C5636944757} = {7E8D2943-ADE7-4C89-8048-0780CE07E0E0} {AF6BE46D-AC88-4DEF-BBEC-F60A00847D43} = {F1BE945B-F0CF-4712-BC2B-9AF8C02059EA} {BDF54E3C-C262-406E-8060-84C423335BDD} = {F1BE945B-F0CF-4712-BC2B-9AF8C02059EA} + {30798284-C33B-49D8-91A7-B379D8166F69} = {F1BE945B-F0CF-4712-BC2B-9AF8C02059EA} + {BE6CB9AD-889C-4D4D-AD2C-6571689F99DD} = {F1BE945B-F0CF-4712-BC2B-9AF8C02059EA} + {BCE3E834-B90B-469A-B274-74D401FAFD6E} = {F1BE945B-F0CF-4712-BC2B-9AF8C02059EA} + {F3126FDD-A574-4940-AE06-78898E2DE98F} = {F1BE945B-F0CF-4712-BC2B-9AF8C02059EA} + {8488F380-83DD-4209-80B7-87ACAB83A052} = {D3222BEC-EDCE-4509-9A19-36C43C9A59FB} EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution SolutionGuid = {24B3A486-E7CA-4AA5-B76F-27D351A97E59} diff --git a/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/DemoAppDbContext.cs b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/DemoAppDbContext.cs new file mode 100644 index 0000000000..5c595e9509 --- /dev/null +++ b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/DemoAppDbContext.cs @@ -0,0 +1,26 @@ +using Microsoft.EntityFrameworkCore; +using Volo.Abp.EntityFrameworkCore; +using Volo.Abp.Identity.EntityFrameworkCore; +using Volo.Abp.PermissionManagement.EntityFrameworkCore; +using Volo.Abp.SettingManagement.EntityFrameworkCore; + +namespace Volo.Abp.SettingManagement.DemoApp +{ + public class DemoAppDbContext: AbpDbContext + { + public DemoAppDbContext(DbContextOptions options) + : base(options) + { + + } + + protected override void OnModelCreating(ModelBuilder modelBuilder) + { + base.OnModelCreating(modelBuilder); + + modelBuilder.ConfigurePermissionManagement(); + modelBuilder.ConfigureSettingManagement(); + modelBuilder.ConfigureIdentity(); + } + } +} diff --git a/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/DemoAppDbContextFactory.cs b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/DemoAppDbContextFactory.cs new file mode 100644 index 0000000000..94ab7d0a75 --- /dev/null +++ b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/DemoAppDbContextFactory.cs @@ -0,0 +1,29 @@ +using System.IO; +using Microsoft.EntityFrameworkCore; +using Microsoft.EntityFrameworkCore.Design; +using Microsoft.Extensions.Configuration; + +namespace Volo.Abp.SettingManagement.DemoApp +{ + public class DemoAppDbContextFactory : IDesignTimeDbContextFactory + { + public DemoAppDbContext CreateDbContext(string[] args) + { + var configuration = BuildConfiguration(); + + var builder = new DbContextOptionsBuilder() + .UseSqlServer(configuration.GetConnectionString("Default")); + + return new DemoAppDbContext(builder.Options); + } + + private static IConfigurationRoot BuildConfiguration() + { + var builder = new ConfigurationBuilder() + .SetBasePath(Directory.GetCurrentDirectory()) + .AddJsonFile("appsettings.json", optional: false); + + return builder.Build(); + } + } +} diff --git a/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/DemoAppModule.cs b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/DemoAppModule.cs new file mode 100644 index 0000000000..68e272ffb7 --- /dev/null +++ b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/DemoAppModule.cs @@ -0,0 +1,136 @@ +using System.IO; +using Microsoft.AspNetCore.Builder; +using Microsoft.Extensions.DependencyInjection; +using Microsoft.Extensions.DependencyInjection.Extensions; +using Microsoft.Extensions.Hosting; +using Microsoft.OpenApi.Models; +using Volo.Abp.Account; +using Volo.Abp.Account.Web; +using Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic; +using Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared; +using Volo.Abp.Autofac; +using Volo.Abp.Data; +using Volo.Abp.Emailing; +using Volo.Abp.EntityFrameworkCore; +using Volo.Abp.EntityFrameworkCore.SqlServer; +using Volo.Abp.Identity; +using Volo.Abp.Identity.EntityFrameworkCore; +using Volo.Abp.Identity.Web; +using Volo.Abp.Localization; +using Volo.Abp.Modularity; +using Volo.Abp.MultiTenancy; +using Volo.Abp.PermissionManagement; +using Volo.Abp.PermissionManagement.EntityFrameworkCore; +using Volo.Abp.PermissionManagement.Identity; +using Volo.Abp.SettingManagement.EntityFrameworkCore; +using Volo.Abp.SettingManagement.Web; +using Volo.Abp.Threading; +using Volo.Abp.VirtualFileSystem; + +namespace Volo.Abp.SettingManagement.DemoApp +{ + [DependsOn( + typeof(AbpSettingManagementWebModule), + typeof(AbpSettingManagementApplicationModule), + typeof(AbpAutofacModule), + typeof(AbpAccountWebModule), + typeof(AbpAccountApplicationModule), + typeof(AbpEntityFrameworkCoreSqlServerModule), + typeof(AbpSettingManagementEntityFrameworkCoreModule), + typeof(AbpPermissionManagementEntityFrameworkCoreModule), + typeof(AbpPermissionManagementApplicationModule), + typeof(AbpIdentityWebModule), + typeof(AbpIdentityApplicationModule), + typeof(AbpIdentityEntityFrameworkCoreModule), + typeof(AbpPermissionManagementDomainIdentityModule), + typeof(AbpAspNetCoreMvcUiBasicThemeModule) + )] + public class DemoAppModule : AbpModule + { + public override void ConfigureServices(ServiceConfigurationContext context) + { + var hostingEnvironment = context.Services.GetHostingEnvironment(); + var configuration = context.Services.GetConfiguration(); + +#if DEBUG + context.Services.Replace(ServiceDescriptor.Singleton()); +#endif + + Configure(options => + { + options.UseSqlServer(); + }); + + if (hostingEnvironment.IsDevelopment()) + { + Configure(options => + { + options.FileSets.ReplaceEmbeddedByPhysical(Path.Combine(hostingEnvironment.ContentRootPath, string.Format("..{0}..{0}src{0}Volo.Abp.SettingManagement.Web", Path.DirectorySeparatorChar))); + options.FileSets.ReplaceEmbeddedByPhysical(Path.Combine(hostingEnvironment.ContentRootPath, string.Format("..{0}..{0}src{0}Volo.Abp.SettingManagement.Domain", Path.DirectorySeparatorChar))); + options.FileSets.ReplaceEmbeddedByPhysical(Path.Combine(hostingEnvironment.ContentRootPath, string.Format("..{0}..{0}src{0}Volo.Abp.SettingManagement.Application", Path.DirectorySeparatorChar))); + options.FileSets.ReplaceEmbeddedByPhysical(Path.Combine(hostingEnvironment.ContentRootPath, string.Format("..{0}..{0}src{0}Volo.Abp.SettingManagement.Application.Contracts", Path.DirectorySeparatorChar))); + }); + } + + context.Services.AddSwaggerGen( + options => + { + options.SwaggerDoc("v1", new OpenApiInfo { Title = "AbpSettingManagement API", Version = "v1" }); + options.DocInclusionPredicate((docName, description) => true); + options.CustomSchemaIds(type => type.FullName); + }); + + Configure(options => + { + options.Languages.Add(new LanguageInfo("en", "en", "English")); + options.Languages.Add(new LanguageInfo("tr", "tr", "Türkçe")); + }); + + Configure(options => + { + options.IsEnabled = true; + }); + } + + public override void OnApplicationInitialization(ApplicationInitializationContext context) + { + var app = context.GetApplicationBuilder(); + + if (context.GetEnvironment().IsDevelopment()) + { + app.UseDeveloperExceptionPage(); + } + else + { + app.UseErrorPage(); + app.UseHsts(); + } + + app.UseHttpsRedirection(); + app.UseVirtualFiles(); + app.UseRouting(); + app.UseAuthentication(); + app.UseAuthorization(); + app.UseMultiTenancy(); + app.UseAbpRequestLocalization(); + + app.UseSwagger(); + app.UseSwaggerUI(options => + { + options.SwaggerEndpoint("/swagger/v1/swagger.json", "SettingManagement APP API"); + }); + + app.UseConfiguredEndpoints(); + + using (var scope = context.ServiceProvider.CreateScope()) + { + AsyncHelper.RunSync(async () => + { + await scope.ServiceProvider + .GetRequiredService() + .SeedAsync(); + }); + } + } + } +} diff --git a/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/Migrations/20210209024820_init.Designer.cs b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/Migrations/20210209024820_init.Designer.cs new file mode 100644 index 0000000000..913e150570 --- /dev/null +++ b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/Migrations/20210209024820_init.Designer.cs @@ -0,0 +1,809 @@ +// +using System; +using Microsoft.EntityFrameworkCore; +using Microsoft.EntityFrameworkCore.Infrastructure; +using Microsoft.EntityFrameworkCore.Metadata; +using Microsoft.EntityFrameworkCore.Migrations; +using Microsoft.EntityFrameworkCore.Storage.ValueConversion; +using Volo.Abp.EntityFrameworkCore; +using Volo.Abp.SettingManagement.DemoApp; + +namespace Volo.Abp.SettingManagement.DemoApp.Migrations +{ + [DbContext(typeof(DemoAppDbContext))] + [Migration("20210209024820_init")] + partial class init + { + protected override void BuildTargetModel(ModelBuilder modelBuilder) + { +#pragma warning disable 612, 618 + modelBuilder + .UseIdentityColumns() + .HasAnnotation("_Abp_DatabaseProvider", EfCoreDatabaseProvider.SqlServer) + .HasAnnotation("Relational:MaxIdentifierLength", 128) + .HasAnnotation("ProductVersion", "5.0.2"); + + modelBuilder.Entity("Volo.Abp.Identity.IdentityClaimType", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uniqueidentifier"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .HasMaxLength(40) + .HasColumnType("nvarchar(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property("Description") + .HasMaxLength(256) + .HasColumnType("nvarchar(256)"); + + b.Property("ExtraProperties") + .HasColumnType("nvarchar(max)") + .HasColumnName("ExtraProperties"); + + b.Property("IsStatic") + .HasColumnType("bit"); + + b.Property("Name") + .IsRequired() + .HasMaxLength(256) + .HasColumnType("nvarchar(256)"); + + b.Property("Regex") + .HasMaxLength(512) + .HasColumnType("nvarchar(512)"); + + b.Property("RegexDescription") + .HasMaxLength(128) + .HasColumnType("nvarchar(128)"); + + b.Property("Required") + .HasColumnType("bit"); + + b.Property("ValueType") + .HasColumnType("int"); + + b.HasKey("Id"); + + b.ToTable("AbpClaimTypes"); + }); + + modelBuilder.Entity("Volo.Abp.Identity.IdentityLinkUser", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uniqueidentifier"); + + b.Property("SourceTenantId") + .HasColumnType("uniqueidentifier"); + + b.Property("SourceUserId") + .HasColumnType("uniqueidentifier"); + + b.Property("TargetTenantId") + .HasColumnType("uniqueidentifier"); + + b.Property("TargetUserId") + .HasColumnType("uniqueidentifier"); + + b.HasKey("Id"); + + b.HasIndex("SourceUserId", "SourceTenantId", "TargetUserId", "TargetTenantId") + .IsUnique() + .HasFilter("[SourceTenantId] IS NOT NULL AND [TargetTenantId] IS NOT NULL"); + + b.ToTable("AbpLinkUsers"); + }); + + modelBuilder.Entity("Volo.Abp.Identity.IdentityRole", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uniqueidentifier"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .HasMaxLength(40) + .HasColumnType("nvarchar(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property("ExtraProperties") + .HasColumnType("nvarchar(max)") + .HasColumnName("ExtraProperties"); + + b.Property("IsDefault") + .HasColumnType("bit") + .HasColumnName("IsDefault"); + + b.Property("IsPublic") + .HasColumnType("bit") + .HasColumnName("IsPublic"); + + b.Property("IsStatic") + .HasColumnType("bit") + .HasColumnName("IsStatic"); + + b.Property("Name") + .IsRequired() + .HasMaxLength(256) + .HasColumnType("nvarchar(256)"); + + b.Property("NormalizedName") + .IsRequired() + .HasMaxLength(256) + .HasColumnType("nvarchar(256)"); + + b.Property("TenantId") + .HasColumnType("uniqueidentifier") + .HasColumnName("TenantId"); + + b.HasKey("Id"); + + b.HasIndex("NormalizedName"); + + b.ToTable("AbpRoles"); + }); + + modelBuilder.Entity("Volo.Abp.Identity.IdentityRoleClaim", b => + { + b.Property("Id") + .HasColumnType("uniqueidentifier"); + + b.Property("ClaimType") + .IsRequired() + .HasMaxLength(256) + .HasColumnType("nvarchar(256)"); + + b.Property("ClaimValue") + .HasMaxLength(1024) + .HasColumnType("nvarchar(1024)"); + + b.Property("RoleId") + .HasColumnType("uniqueidentifier"); + + b.Property("TenantId") + .HasColumnType("uniqueidentifier") + .HasColumnName("TenantId"); + + b.HasKey("Id"); + + b.HasIndex("RoleId"); + + b.ToTable("AbpRoleClaims"); + }); + + modelBuilder.Entity("Volo.Abp.Identity.IdentitySecurityLog", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uniqueidentifier"); + + b.Property("Action") + .HasMaxLength(96) + .HasColumnType("nvarchar(96)"); + + b.Property("ApplicationName") + .HasMaxLength(96) + .HasColumnType("nvarchar(96)"); + + b.Property("BrowserInfo") + .HasMaxLength(512) + .HasColumnType("nvarchar(512)"); + + b.Property("ClientId") + .HasMaxLength(64) + .HasColumnType("nvarchar(64)"); + + b.Property("ClientIpAddress") + .HasMaxLength(64) + .HasColumnType("nvarchar(64)"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .HasMaxLength(40) + .HasColumnType("nvarchar(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property("CorrelationId") + .HasMaxLength(64) + .HasColumnType("nvarchar(64)"); + + b.Property("CreationTime") + .HasColumnType("datetime2"); + + b.Property("ExtraProperties") + .HasColumnType("nvarchar(max)") + .HasColumnName("ExtraProperties"); + + b.Property("Identity") + .HasMaxLength(96) + .HasColumnType("nvarchar(96)"); + + b.Property("TenantId") + .HasColumnType("uniqueidentifier") + .HasColumnName("TenantId"); + + b.Property("TenantName") + .HasMaxLength(64) + .HasColumnType("nvarchar(64)"); + + b.Property("UserId") + .HasColumnType("uniqueidentifier"); + + b.Property("UserName") + .HasMaxLength(256) + .HasColumnType("nvarchar(256)"); + + b.HasKey("Id"); + + b.HasIndex("TenantId", "Action"); + + b.HasIndex("TenantId", "ApplicationName"); + + b.HasIndex("TenantId", "Identity"); + + b.HasIndex("TenantId", "UserId"); + + b.ToTable("AbpSecurityLogs"); + }); + + modelBuilder.Entity("Volo.Abp.Identity.IdentityUser", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uniqueidentifier"); + + b.Property("AccessFailedCount") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasDefaultValue(0) + .HasColumnName("AccessFailedCount"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .HasMaxLength(40) + .HasColumnType("nvarchar(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property("CreationTime") + .HasColumnType("datetime2") + .HasColumnName("CreationTime"); + + b.Property("CreatorId") + .HasColumnType("uniqueidentifier") + .HasColumnName("CreatorId"); + + b.Property("DeleterId") + .HasColumnType("uniqueidentifier") + .HasColumnName("DeleterId"); + + b.Property("DeletionTime") + .HasColumnType("datetime2") + .HasColumnName("DeletionTime"); + + b.Property("Email") + .IsRequired() + .HasMaxLength(256) + .HasColumnType("nvarchar(256)") + .HasColumnName("Email"); + + b.Property("EmailConfirmed") + .ValueGeneratedOnAdd() + .HasColumnType("bit") + .HasDefaultValue(false) + .HasColumnName("EmailConfirmed"); + + b.Property("ExtraProperties") + .HasColumnType("nvarchar(max)") + .HasColumnName("ExtraProperties"); + + b.Property("IsDeleted") + .ValueGeneratedOnAdd() + .HasColumnType("bit") + .HasDefaultValue(false) + .HasColumnName("IsDeleted"); + + b.Property("IsExternal") + .ValueGeneratedOnAdd() + .HasColumnType("bit") + .HasDefaultValue(false) + .HasColumnName("IsExternal"); + + b.Property("LastModificationTime") + .HasColumnType("datetime2") + .HasColumnName("LastModificationTime"); + + b.Property("LastModifierId") + .HasColumnType("uniqueidentifier") + .HasColumnName("LastModifierId"); + + b.Property("LockoutEnabled") + .ValueGeneratedOnAdd() + .HasColumnType("bit") + .HasDefaultValue(false) + .HasColumnName("LockoutEnabled"); + + b.Property("LockoutEnd") + .HasColumnType("datetimeoffset"); + + b.Property("Name") + .HasMaxLength(64) + .HasColumnType("nvarchar(64)") + .HasColumnName("Name"); + + b.Property("NormalizedEmail") + .IsRequired() + .HasMaxLength(256) + .HasColumnType("nvarchar(256)") + .HasColumnName("NormalizedEmail"); + + b.Property("NormalizedUserName") + .IsRequired() + .HasMaxLength(256) + .HasColumnType("nvarchar(256)") + .HasColumnName("NormalizedUserName"); + + b.Property("PasswordHash") + .HasMaxLength(256) + .HasColumnType("nvarchar(256)") + .HasColumnName("PasswordHash"); + + b.Property("PhoneNumber") + .HasMaxLength(16) + .HasColumnType("nvarchar(16)") + .HasColumnName("PhoneNumber"); + + b.Property("PhoneNumberConfirmed") + .ValueGeneratedOnAdd() + .HasColumnType("bit") + .HasDefaultValue(false) + .HasColumnName("PhoneNumberConfirmed"); + + b.Property("SecurityStamp") + .IsRequired() + .HasMaxLength(256) + .HasColumnType("nvarchar(256)") + .HasColumnName("SecurityStamp"); + + b.Property("Surname") + .HasMaxLength(64) + .HasColumnType("nvarchar(64)") + .HasColumnName("Surname"); + + b.Property("TenantId") + .HasColumnType("uniqueidentifier") + .HasColumnName("TenantId"); + + b.Property("TwoFactorEnabled") + .ValueGeneratedOnAdd() + .HasColumnType("bit") + .HasDefaultValue(false) + .HasColumnName("TwoFactorEnabled"); + + b.Property("UserName") + .IsRequired() + .HasMaxLength(256) + .HasColumnType("nvarchar(256)") + .HasColumnName("UserName"); + + b.HasKey("Id"); + + b.HasIndex("Email"); + + b.HasIndex("NormalizedEmail"); + + b.HasIndex("NormalizedUserName"); + + b.HasIndex("UserName"); + + b.ToTable("AbpUsers"); + }); + + modelBuilder.Entity("Volo.Abp.Identity.IdentityUserClaim", b => + { + b.Property("Id") + .HasColumnType("uniqueidentifier"); + + b.Property("ClaimType") + .IsRequired() + .HasMaxLength(256) + .HasColumnType("nvarchar(256)"); + + b.Property("ClaimValue") + .HasMaxLength(1024) + .HasColumnType("nvarchar(1024)"); + + b.Property("TenantId") + .HasColumnType("uniqueidentifier") + .HasColumnName("TenantId"); + + b.Property("UserId") + .HasColumnType("uniqueidentifier"); + + b.HasKey("Id"); + + b.HasIndex("UserId"); + + b.ToTable("AbpUserClaims"); + }); + + modelBuilder.Entity("Volo.Abp.Identity.IdentityUserLogin", b => + { + b.Property("UserId") + .HasColumnType("uniqueidentifier"); + + b.Property("LoginProvider") + .HasMaxLength(64) + .HasColumnType("nvarchar(64)"); + + b.Property("ProviderDisplayName") + .HasMaxLength(128) + .HasColumnType("nvarchar(128)"); + + b.Property("ProviderKey") + .IsRequired() + .HasMaxLength(196) + .HasColumnType("nvarchar(196)"); + + b.Property("TenantId") + .HasColumnType("uniqueidentifier") + .HasColumnName("TenantId"); + + b.HasKey("UserId", "LoginProvider"); + + b.HasIndex("LoginProvider", "ProviderKey"); + + b.ToTable("AbpUserLogins"); + }); + + modelBuilder.Entity("Volo.Abp.Identity.IdentityUserOrganizationUnit", b => + { + b.Property("OrganizationUnitId") + .HasColumnType("uniqueidentifier"); + + b.Property("UserId") + .HasColumnType("uniqueidentifier"); + + b.Property("CreationTime") + .HasColumnType("datetime2") + .HasColumnName("CreationTime"); + + b.Property("CreatorId") + .HasColumnType("uniqueidentifier") + .HasColumnName("CreatorId"); + + b.Property("TenantId") + .HasColumnType("uniqueidentifier") + .HasColumnName("TenantId"); + + b.HasKey("OrganizationUnitId", "UserId"); + + b.HasIndex("UserId", "OrganizationUnitId"); + + b.ToTable("AbpUserOrganizationUnits"); + }); + + modelBuilder.Entity("Volo.Abp.Identity.IdentityUserRole", b => + { + b.Property("UserId") + .HasColumnType("uniqueidentifier"); + + b.Property("RoleId") + .HasColumnType("uniqueidentifier"); + + b.Property("TenantId") + .HasColumnType("uniqueidentifier") + .HasColumnName("TenantId"); + + b.HasKey("UserId", "RoleId"); + + b.HasIndex("RoleId", "UserId"); + + b.ToTable("AbpUserRoles"); + }); + + modelBuilder.Entity("Volo.Abp.Identity.IdentityUserToken", b => + { + b.Property("UserId") + .HasColumnType("uniqueidentifier"); + + b.Property("LoginProvider") + .HasMaxLength(64) + .HasColumnType("nvarchar(64)"); + + b.Property("Name") + .HasMaxLength(128) + .HasColumnType("nvarchar(128)"); + + b.Property("TenantId") + .HasColumnType("uniqueidentifier") + .HasColumnName("TenantId"); + + b.Property("Value") + .HasColumnType("nvarchar(max)"); + + b.HasKey("UserId", "LoginProvider", "Name"); + + b.ToTable("AbpUserTokens"); + }); + + modelBuilder.Entity("Volo.Abp.Identity.OrganizationUnit", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uniqueidentifier"); + + b.Property("Code") + .IsRequired() + .HasMaxLength(95) + .HasColumnType("nvarchar(95)") + .HasColumnName("Code"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .HasMaxLength(40) + .HasColumnType("nvarchar(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property("CreationTime") + .HasColumnType("datetime2") + .HasColumnName("CreationTime"); + + b.Property("CreatorId") + .HasColumnType("uniqueidentifier") + .HasColumnName("CreatorId"); + + b.Property("DeleterId") + .HasColumnType("uniqueidentifier") + .HasColumnName("DeleterId"); + + b.Property("DeletionTime") + .HasColumnType("datetime2") + .HasColumnName("DeletionTime"); + + b.Property("DisplayName") + .IsRequired() + .HasMaxLength(128) + .HasColumnType("nvarchar(128)") + .HasColumnName("DisplayName"); + + b.Property("ExtraProperties") + .HasColumnType("nvarchar(max)") + .HasColumnName("ExtraProperties"); + + b.Property("IsDeleted") + .ValueGeneratedOnAdd() + .HasColumnType("bit") + .HasDefaultValue(false) + .HasColumnName("IsDeleted"); + + b.Property("LastModificationTime") + .HasColumnType("datetime2") + .HasColumnName("LastModificationTime"); + + b.Property("LastModifierId") + .HasColumnType("uniqueidentifier") + .HasColumnName("LastModifierId"); + + b.Property("ParentId") + .HasColumnType("uniqueidentifier"); + + b.Property("TenantId") + .HasColumnType("uniqueidentifier") + .HasColumnName("TenantId"); + + b.HasKey("Id"); + + b.HasIndex("Code"); + + b.HasIndex("ParentId"); + + b.ToTable("AbpOrganizationUnits"); + }); + + modelBuilder.Entity("Volo.Abp.Identity.OrganizationUnitRole", b => + { + b.Property("OrganizationUnitId") + .HasColumnType("uniqueidentifier"); + + b.Property("RoleId") + .HasColumnType("uniqueidentifier"); + + b.Property("CreationTime") + .HasColumnType("datetime2") + .HasColumnName("CreationTime"); + + b.Property("CreatorId") + .HasColumnType("uniqueidentifier") + .HasColumnName("CreatorId"); + + b.Property("TenantId") + .HasColumnType("uniqueidentifier") + .HasColumnName("TenantId"); + + b.HasKey("OrganizationUnitId", "RoleId"); + + b.HasIndex("RoleId", "OrganizationUnitId"); + + b.ToTable("AbpOrganizationUnitRoles"); + }); + + modelBuilder.Entity("Volo.Abp.PermissionManagement.PermissionGrant", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uniqueidentifier"); + + b.Property("Name") + .IsRequired() + .HasMaxLength(128) + .HasColumnType("nvarchar(128)"); + + b.Property("ProviderKey") + .IsRequired() + .HasMaxLength(64) + .HasColumnType("nvarchar(64)"); + + b.Property("ProviderName") + .IsRequired() + .HasMaxLength(64) + .HasColumnType("nvarchar(64)"); + + b.Property("TenantId") + .HasColumnType("uniqueidentifier") + .HasColumnName("TenantId"); + + b.HasKey("Id"); + + b.HasIndex("Name", "ProviderName", "ProviderKey"); + + b.ToTable("AbpPermissionGrants"); + }); + + modelBuilder.Entity("Volo.Abp.SettingManagement.Setting", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uniqueidentifier"); + + b.Property("Name") + .IsRequired() + .HasMaxLength(128) + .HasColumnType("nvarchar(128)"); + + b.Property("ProviderKey") + .HasMaxLength(64) + .HasColumnType("nvarchar(64)"); + + b.Property("ProviderName") + .HasMaxLength(64) + .HasColumnType("nvarchar(64)"); + + b.Property("Value") + .IsRequired() + .HasMaxLength(2048) + .HasColumnType("nvarchar(2048)"); + + b.HasKey("Id"); + + b.HasIndex("Name", "ProviderName", "ProviderKey"); + + b.ToTable("AbpSettings"); + }); + + modelBuilder.Entity("Volo.Abp.Identity.IdentityRoleClaim", b => + { + b.HasOne("Volo.Abp.Identity.IdentityRole", null) + .WithMany("Claims") + .HasForeignKey("RoleId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("Volo.Abp.Identity.IdentityUserClaim", b => + { + b.HasOne("Volo.Abp.Identity.IdentityUser", null) + .WithMany("Claims") + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("Volo.Abp.Identity.IdentityUserLogin", b => + { + b.HasOne("Volo.Abp.Identity.IdentityUser", null) + .WithMany("Logins") + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("Volo.Abp.Identity.IdentityUserOrganizationUnit", b => + { + b.HasOne("Volo.Abp.Identity.OrganizationUnit", null) + .WithMany() + .HasForeignKey("OrganizationUnitId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Volo.Abp.Identity.IdentityUser", null) + .WithMany("OrganizationUnits") + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("Volo.Abp.Identity.IdentityUserRole", b => + { + b.HasOne("Volo.Abp.Identity.IdentityRole", null) + .WithMany() + .HasForeignKey("RoleId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Volo.Abp.Identity.IdentityUser", null) + .WithMany("Roles") + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("Volo.Abp.Identity.IdentityUserToken", b => + { + b.HasOne("Volo.Abp.Identity.IdentityUser", null) + .WithMany("Tokens") + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("Volo.Abp.Identity.OrganizationUnit", b => + { + b.HasOne("Volo.Abp.Identity.OrganizationUnit", null) + .WithMany() + .HasForeignKey("ParentId"); + }); + + modelBuilder.Entity("Volo.Abp.Identity.OrganizationUnitRole", b => + { + b.HasOne("Volo.Abp.Identity.OrganizationUnit", null) + .WithMany("Roles") + .HasForeignKey("OrganizationUnitId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Volo.Abp.Identity.IdentityRole", null) + .WithMany() + .HasForeignKey("RoleId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("Volo.Abp.Identity.IdentityRole", b => + { + b.Navigation("Claims"); + }); + + modelBuilder.Entity("Volo.Abp.Identity.IdentityUser", b => + { + b.Navigation("Claims"); + + b.Navigation("Logins"); + + b.Navigation("OrganizationUnits"); + + b.Navigation("Roles"); + + b.Navigation("Tokens"); + }); + + modelBuilder.Entity("Volo.Abp.Identity.OrganizationUnit", b => + { + b.Navigation("Roles"); + }); +#pragma warning restore 612, 618 + } + } +} diff --git a/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/Migrations/20210209024820_init.cs b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/Migrations/20210209024820_init.cs new file mode 100644 index 0000000000..a60b127956 --- /dev/null +++ b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/Migrations/20210209024820_init.cs @@ -0,0 +1,500 @@ +using System; +using Microsoft.EntityFrameworkCore.Migrations; + +namespace Volo.Abp.SettingManagement.DemoApp.Migrations +{ + public partial class init : Migration + { + protected override void Up(MigrationBuilder migrationBuilder) + { + migrationBuilder.CreateTable( + name: "AbpClaimTypes", + columns: table => new + { + Id = table.Column(type: "uniqueidentifier", nullable: false), + Name = table.Column(type: "nvarchar(256)", maxLength: 256, nullable: false), + Required = table.Column(type: "bit", nullable: false), + IsStatic = table.Column(type: "bit", nullable: false), + Regex = table.Column(type: "nvarchar(512)", maxLength: 512, nullable: true), + RegexDescription = table.Column(type: "nvarchar(128)", maxLength: 128, nullable: true), + Description = table.Column(type: "nvarchar(256)", maxLength: 256, nullable: true), + ValueType = table.Column(type: "int", nullable: false), + ExtraProperties = table.Column(type: "nvarchar(max)", nullable: true), + ConcurrencyStamp = table.Column(type: "nvarchar(40)", maxLength: 40, nullable: true) + }, + constraints: table => + { + table.PrimaryKey("PK_AbpClaimTypes", x => x.Id); + }); + + migrationBuilder.CreateTable( + name: "AbpLinkUsers", + columns: table => new + { + Id = table.Column(type: "uniqueidentifier", nullable: false), + SourceUserId = table.Column(type: "uniqueidentifier", nullable: false), + SourceTenantId = table.Column(type: "uniqueidentifier", nullable: true), + TargetUserId = table.Column(type: "uniqueidentifier", nullable: false), + TargetTenantId = table.Column(type: "uniqueidentifier", nullable: true) + }, + constraints: table => + { + table.PrimaryKey("PK_AbpLinkUsers", x => x.Id); + }); + + migrationBuilder.CreateTable( + name: "AbpOrganizationUnits", + columns: table => new + { + Id = table.Column(type: "uniqueidentifier", nullable: false), + TenantId = table.Column(type: "uniqueidentifier", nullable: true), + ParentId = table.Column(type: "uniqueidentifier", nullable: true), + Code = table.Column(type: "nvarchar(95)", maxLength: 95, nullable: false), + DisplayName = table.Column(type: "nvarchar(128)", maxLength: 128, nullable: false), + ExtraProperties = table.Column(type: "nvarchar(max)", nullable: true), + ConcurrencyStamp = table.Column(type: "nvarchar(40)", maxLength: 40, nullable: true), + CreationTime = table.Column(type: "datetime2", nullable: false), + CreatorId = table.Column(type: "uniqueidentifier", nullable: true), + LastModificationTime = table.Column(type: "datetime2", nullable: true), + LastModifierId = table.Column(type: "uniqueidentifier", nullable: true), + IsDeleted = table.Column(type: "bit", nullable: false, defaultValue: false), + DeleterId = table.Column(type: "uniqueidentifier", nullable: true), + DeletionTime = table.Column(type: "datetime2", nullable: true) + }, + constraints: table => + { + table.PrimaryKey("PK_AbpOrganizationUnits", x => x.Id); + table.ForeignKey( + name: "FK_AbpOrganizationUnits_AbpOrganizationUnits_ParentId", + column: x => x.ParentId, + principalTable: "AbpOrganizationUnits", + principalColumn: "Id", + onDelete: ReferentialAction.Restrict); + }); + + migrationBuilder.CreateTable( + name: "AbpPermissionGrants", + columns: table => new + { + Id = table.Column(type: "uniqueidentifier", nullable: false), + TenantId = table.Column(type: "uniqueidentifier", nullable: true), + Name = table.Column(type: "nvarchar(128)", maxLength: 128, nullable: false), + ProviderName = table.Column(type: "nvarchar(64)", maxLength: 64, nullable: false), + ProviderKey = table.Column(type: "nvarchar(64)", maxLength: 64, nullable: false) + }, + constraints: table => + { + table.PrimaryKey("PK_AbpPermissionGrants", x => x.Id); + }); + + migrationBuilder.CreateTable( + name: "AbpRoles", + columns: table => new + { + Id = table.Column(type: "uniqueidentifier", nullable: false), + TenantId = table.Column(type: "uniqueidentifier", nullable: true), + Name = table.Column(type: "nvarchar(256)", maxLength: 256, nullable: false), + NormalizedName = table.Column(type: "nvarchar(256)", maxLength: 256, nullable: false), + IsDefault = table.Column(type: "bit", nullable: false), + IsStatic = table.Column(type: "bit", nullable: false), + IsPublic = table.Column(type: "bit", nullable: false), + ExtraProperties = table.Column(type: "nvarchar(max)", nullable: true), + ConcurrencyStamp = table.Column(type: "nvarchar(40)", maxLength: 40, nullable: true) + }, + constraints: table => + { + table.PrimaryKey("PK_AbpRoles", x => x.Id); + }); + + migrationBuilder.CreateTable( + name: "AbpSecurityLogs", + columns: table => new + { + Id = table.Column(type: "uniqueidentifier", nullable: false), + TenantId = table.Column(type: "uniqueidentifier", nullable: true), + ApplicationName = table.Column(type: "nvarchar(96)", maxLength: 96, nullable: true), + Identity = table.Column(type: "nvarchar(96)", maxLength: 96, nullable: true), + Action = table.Column(type: "nvarchar(96)", maxLength: 96, nullable: true), + UserId = table.Column(type: "uniqueidentifier", nullable: true), + UserName = table.Column(type: "nvarchar(256)", maxLength: 256, nullable: true), + TenantName = table.Column(type: "nvarchar(64)", maxLength: 64, nullable: true), + ClientId = table.Column(type: "nvarchar(64)", maxLength: 64, nullable: true), + CorrelationId = table.Column(type: "nvarchar(64)", maxLength: 64, nullable: true), + ClientIpAddress = table.Column(type: "nvarchar(64)", maxLength: 64, nullable: true), + BrowserInfo = table.Column(type: "nvarchar(512)", maxLength: 512, nullable: true), + CreationTime = table.Column(type: "datetime2", nullable: false), + ExtraProperties = table.Column(type: "nvarchar(max)", nullable: true), + ConcurrencyStamp = table.Column(type: "nvarchar(40)", maxLength: 40, nullable: true) + }, + constraints: table => + { + table.PrimaryKey("PK_AbpSecurityLogs", x => x.Id); + }); + + migrationBuilder.CreateTable( + name: "AbpSettings", + columns: table => new + { + Id = table.Column(type: "uniqueidentifier", nullable: false), + Name = table.Column(type: "nvarchar(128)", maxLength: 128, nullable: false), + Value = table.Column(type: "nvarchar(2048)", maxLength: 2048, nullable: false), + ProviderName = table.Column(type: "nvarchar(64)", maxLength: 64, nullable: true), + ProviderKey = table.Column(type: "nvarchar(64)", maxLength: 64, nullable: true) + }, + constraints: table => + { + table.PrimaryKey("PK_AbpSettings", x => x.Id); + }); + + migrationBuilder.CreateTable( + name: "AbpUsers", + columns: table => new + { + Id = table.Column(type: "uniqueidentifier", nullable: false), + TenantId = table.Column(type: "uniqueidentifier", nullable: true), + UserName = table.Column(type: "nvarchar(256)", maxLength: 256, nullable: false), + NormalizedUserName = table.Column(type: "nvarchar(256)", maxLength: 256, nullable: false), + Name = table.Column(type: "nvarchar(64)", maxLength: 64, nullable: true), + Surname = table.Column(type: "nvarchar(64)", maxLength: 64, nullable: true), + Email = table.Column(type: "nvarchar(256)", maxLength: 256, nullable: false), + NormalizedEmail = table.Column(type: "nvarchar(256)", maxLength: 256, nullable: false), + EmailConfirmed = table.Column(type: "bit", nullable: false, defaultValue: false), + PasswordHash = table.Column(type: "nvarchar(256)", maxLength: 256, nullable: true), + SecurityStamp = table.Column(type: "nvarchar(256)", maxLength: 256, nullable: false), + IsExternal = table.Column(type: "bit", nullable: false, defaultValue: false), + PhoneNumber = table.Column(type: "nvarchar(16)", maxLength: 16, nullable: true), + PhoneNumberConfirmed = table.Column(type: "bit", nullable: false, defaultValue: false), + TwoFactorEnabled = table.Column(type: "bit", nullable: false, defaultValue: false), + LockoutEnd = table.Column(type: "datetimeoffset", nullable: true), + LockoutEnabled = table.Column(type: "bit", nullable: false, defaultValue: false), + AccessFailedCount = table.Column(type: "int", nullable: false, defaultValue: 0), + ExtraProperties = table.Column(type: "nvarchar(max)", nullable: true), + ConcurrencyStamp = table.Column(type: "nvarchar(40)", maxLength: 40, nullable: true), + CreationTime = table.Column(type: "datetime2", nullable: false), + CreatorId = table.Column(type: "uniqueidentifier", nullable: true), + LastModificationTime = table.Column(type: "datetime2", nullable: true), + LastModifierId = table.Column(type: "uniqueidentifier", nullable: true), + IsDeleted = table.Column(type: "bit", nullable: false, defaultValue: false), + DeleterId = table.Column(type: "uniqueidentifier", nullable: true), + DeletionTime = table.Column(type: "datetime2", nullable: true) + }, + constraints: table => + { + table.PrimaryKey("PK_AbpUsers", x => x.Id); + }); + + migrationBuilder.CreateTable( + name: "AbpOrganizationUnitRoles", + columns: table => new + { + RoleId = table.Column(type: "uniqueidentifier", nullable: false), + OrganizationUnitId = table.Column(type: "uniqueidentifier", nullable: false), + TenantId = table.Column(type: "uniqueidentifier", nullable: true), + CreationTime = table.Column(type: "datetime2", nullable: false), + CreatorId = table.Column(type: "uniqueidentifier", nullable: true) + }, + constraints: table => + { + table.PrimaryKey("PK_AbpOrganizationUnitRoles", x => new { x.OrganizationUnitId, x.RoleId }); + table.ForeignKey( + name: "FK_AbpOrganizationUnitRoles_AbpOrganizationUnits_OrganizationUnitId", + column: x => x.OrganizationUnitId, + principalTable: "AbpOrganizationUnits", + principalColumn: "Id", + onDelete: ReferentialAction.Cascade); + table.ForeignKey( + name: "FK_AbpOrganizationUnitRoles_AbpRoles_RoleId", + column: x => x.RoleId, + principalTable: "AbpRoles", + principalColumn: "Id", + onDelete: ReferentialAction.Cascade); + }); + + migrationBuilder.CreateTable( + name: "AbpRoleClaims", + columns: table => new + { + Id = table.Column(type: "uniqueidentifier", nullable: false), + RoleId = table.Column(type: "uniqueidentifier", nullable: false), + TenantId = table.Column(type: "uniqueidentifier", nullable: true), + ClaimType = table.Column(type: "nvarchar(256)", maxLength: 256, nullable: false), + ClaimValue = table.Column(type: "nvarchar(1024)", maxLength: 1024, nullable: true) + }, + constraints: table => + { + table.PrimaryKey("PK_AbpRoleClaims", x => x.Id); + table.ForeignKey( + name: "FK_AbpRoleClaims_AbpRoles_RoleId", + column: x => x.RoleId, + principalTable: "AbpRoles", + principalColumn: "Id", + onDelete: ReferentialAction.Cascade); + }); + + migrationBuilder.CreateTable( + name: "AbpUserClaims", + columns: table => new + { + Id = table.Column(type: "uniqueidentifier", nullable: false), + UserId = table.Column(type: "uniqueidentifier", nullable: false), + TenantId = table.Column(type: "uniqueidentifier", nullable: true), + ClaimType = table.Column(type: "nvarchar(256)", maxLength: 256, nullable: false), + ClaimValue = table.Column(type: "nvarchar(1024)", maxLength: 1024, nullable: true) + }, + constraints: table => + { + table.PrimaryKey("PK_AbpUserClaims", x => x.Id); + table.ForeignKey( + name: "FK_AbpUserClaims_AbpUsers_UserId", + column: x => x.UserId, + principalTable: "AbpUsers", + principalColumn: "Id", + onDelete: ReferentialAction.Cascade); + }); + + migrationBuilder.CreateTable( + name: "AbpUserLogins", + columns: table => new + { + UserId = table.Column(type: "uniqueidentifier", nullable: false), + LoginProvider = table.Column(type: "nvarchar(64)", maxLength: 64, nullable: false), + TenantId = table.Column(type: "uniqueidentifier", nullable: true), + ProviderKey = table.Column(type: "nvarchar(196)", maxLength: 196, nullable: false), + ProviderDisplayName = table.Column(type: "nvarchar(128)", maxLength: 128, nullable: true) + }, + constraints: table => + { + table.PrimaryKey("PK_AbpUserLogins", x => new { x.UserId, x.LoginProvider }); + table.ForeignKey( + name: "FK_AbpUserLogins_AbpUsers_UserId", + column: x => x.UserId, + principalTable: "AbpUsers", + principalColumn: "Id", + onDelete: ReferentialAction.Cascade); + }); + + migrationBuilder.CreateTable( + name: "AbpUserOrganizationUnits", + columns: table => new + { + UserId = table.Column(type: "uniqueidentifier", nullable: false), + OrganizationUnitId = table.Column(type: "uniqueidentifier", nullable: false), + TenantId = table.Column(type: "uniqueidentifier", nullable: true), + CreationTime = table.Column(type: "datetime2", nullable: false), + CreatorId = table.Column(type: "uniqueidentifier", nullable: true) + }, + constraints: table => + { + table.PrimaryKey("PK_AbpUserOrganizationUnits", x => new { x.OrganizationUnitId, x.UserId }); + table.ForeignKey( + name: "FK_AbpUserOrganizationUnits_AbpOrganizationUnits_OrganizationUnitId", + column: x => x.OrganizationUnitId, + principalTable: "AbpOrganizationUnits", + principalColumn: "Id", + onDelete: ReferentialAction.Cascade); + table.ForeignKey( + name: "FK_AbpUserOrganizationUnits_AbpUsers_UserId", + column: x => x.UserId, + principalTable: "AbpUsers", + principalColumn: "Id", + onDelete: ReferentialAction.Cascade); + }); + + migrationBuilder.CreateTable( + name: "AbpUserRoles", + columns: table => new + { + UserId = table.Column(type: "uniqueidentifier", nullable: false), + RoleId = table.Column(type: "uniqueidentifier", nullable: false), + TenantId = table.Column(type: "uniqueidentifier", nullable: true) + }, + constraints: table => + { + table.PrimaryKey("PK_AbpUserRoles", x => new { x.UserId, x.RoleId }); + table.ForeignKey( + name: "FK_AbpUserRoles_AbpRoles_RoleId", + column: x => x.RoleId, + principalTable: "AbpRoles", + principalColumn: "Id", + onDelete: ReferentialAction.Cascade); + table.ForeignKey( + name: "FK_AbpUserRoles_AbpUsers_UserId", + column: x => x.UserId, + principalTable: "AbpUsers", + principalColumn: "Id", + onDelete: ReferentialAction.Cascade); + }); + + migrationBuilder.CreateTable( + name: "AbpUserTokens", + columns: table => new + { + UserId = table.Column(type: "uniqueidentifier", nullable: false), + LoginProvider = table.Column(type: "nvarchar(64)", maxLength: 64, nullable: false), + Name = table.Column(type: "nvarchar(128)", maxLength: 128, nullable: false), + TenantId = table.Column(type: "uniqueidentifier", nullable: true), + Value = table.Column(type: "nvarchar(max)", nullable: true) + }, + constraints: table => + { + table.PrimaryKey("PK_AbpUserTokens", x => new { x.UserId, x.LoginProvider, x.Name }); + table.ForeignKey( + name: "FK_AbpUserTokens_AbpUsers_UserId", + column: x => x.UserId, + principalTable: "AbpUsers", + principalColumn: "Id", + onDelete: ReferentialAction.Cascade); + }); + + migrationBuilder.CreateIndex( + name: "IX_AbpLinkUsers_SourceUserId_SourceTenantId_TargetUserId_TargetTenantId", + table: "AbpLinkUsers", + columns: new[] { "SourceUserId", "SourceTenantId", "TargetUserId", "TargetTenantId" }, + unique: true, + filter: "[SourceTenantId] IS NOT NULL AND [TargetTenantId] IS NOT NULL"); + + migrationBuilder.CreateIndex( + name: "IX_AbpOrganizationUnitRoles_RoleId_OrganizationUnitId", + table: "AbpOrganizationUnitRoles", + columns: new[] { "RoleId", "OrganizationUnitId" }); + + migrationBuilder.CreateIndex( + name: "IX_AbpOrganizationUnits_Code", + table: "AbpOrganizationUnits", + column: "Code"); + + migrationBuilder.CreateIndex( + name: "IX_AbpOrganizationUnits_ParentId", + table: "AbpOrganizationUnits", + column: "ParentId"); + + migrationBuilder.CreateIndex( + name: "IX_AbpPermissionGrants_Name_ProviderName_ProviderKey", + table: "AbpPermissionGrants", + columns: new[] { "Name", "ProviderName", "ProviderKey" }); + + migrationBuilder.CreateIndex( + name: "IX_AbpRoleClaims_RoleId", + table: "AbpRoleClaims", + column: "RoleId"); + + migrationBuilder.CreateIndex( + name: "IX_AbpRoles_NormalizedName", + table: "AbpRoles", + column: "NormalizedName"); + + migrationBuilder.CreateIndex( + name: "IX_AbpSecurityLogs_TenantId_Action", + table: "AbpSecurityLogs", + columns: new[] { "TenantId", "Action" }); + + migrationBuilder.CreateIndex( + name: "IX_AbpSecurityLogs_TenantId_ApplicationName", + table: "AbpSecurityLogs", + columns: new[] { "TenantId", "ApplicationName" }); + + migrationBuilder.CreateIndex( + name: "IX_AbpSecurityLogs_TenantId_Identity", + table: "AbpSecurityLogs", + columns: new[] { "TenantId", "Identity" }); + + migrationBuilder.CreateIndex( + name: "IX_AbpSecurityLogs_TenantId_UserId", + table: "AbpSecurityLogs", + columns: new[] { "TenantId", "UserId" }); + + migrationBuilder.CreateIndex( + name: "IX_AbpSettings_Name_ProviderName_ProviderKey", + table: "AbpSettings", + columns: new[] { "Name", "ProviderName", "ProviderKey" }); + + migrationBuilder.CreateIndex( + name: "IX_AbpUserClaims_UserId", + table: "AbpUserClaims", + column: "UserId"); + + migrationBuilder.CreateIndex( + name: "IX_AbpUserLogins_LoginProvider_ProviderKey", + table: "AbpUserLogins", + columns: new[] { "LoginProvider", "ProviderKey" }); + + migrationBuilder.CreateIndex( + name: "IX_AbpUserOrganizationUnits_UserId_OrganizationUnitId", + table: "AbpUserOrganizationUnits", + columns: new[] { "UserId", "OrganizationUnitId" }); + + migrationBuilder.CreateIndex( + name: "IX_AbpUserRoles_RoleId_UserId", + table: "AbpUserRoles", + columns: new[] { "RoleId", "UserId" }); + + migrationBuilder.CreateIndex( + name: "IX_AbpUsers_Email", + table: "AbpUsers", + column: "Email"); + + migrationBuilder.CreateIndex( + name: "IX_AbpUsers_NormalizedEmail", + table: "AbpUsers", + column: "NormalizedEmail"); + + migrationBuilder.CreateIndex( + name: "IX_AbpUsers_NormalizedUserName", + table: "AbpUsers", + column: "NormalizedUserName"); + + migrationBuilder.CreateIndex( + name: "IX_AbpUsers_UserName", + table: "AbpUsers", + column: "UserName"); + } + + protected override void Down(MigrationBuilder migrationBuilder) + { + migrationBuilder.DropTable( + name: "AbpClaimTypes"); + + migrationBuilder.DropTable( + name: "AbpLinkUsers"); + + migrationBuilder.DropTable( + name: "AbpOrganizationUnitRoles"); + + migrationBuilder.DropTable( + name: "AbpPermissionGrants"); + + migrationBuilder.DropTable( + name: "AbpRoleClaims"); + + migrationBuilder.DropTable( + name: "AbpSecurityLogs"); + + migrationBuilder.DropTable( + name: "AbpSettings"); + + migrationBuilder.DropTable( + name: "AbpUserClaims"); + + migrationBuilder.DropTable( + name: "AbpUserLogins"); + + migrationBuilder.DropTable( + name: "AbpUserOrganizationUnits"); + + migrationBuilder.DropTable( + name: "AbpUserRoles"); + + migrationBuilder.DropTable( + name: "AbpUserTokens"); + + migrationBuilder.DropTable( + name: "AbpOrganizationUnits"); + + migrationBuilder.DropTable( + name: "AbpRoles"); + + migrationBuilder.DropTable( + name: "AbpUsers"); + } + } +} diff --git a/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/Migrations/DemoAppDbContextModelSnapshot.cs b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/Migrations/DemoAppDbContextModelSnapshot.cs new file mode 100644 index 0000000000..72995d69a7 --- /dev/null +++ b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/Migrations/DemoAppDbContextModelSnapshot.cs @@ -0,0 +1,807 @@ +// +using System; +using Microsoft.EntityFrameworkCore; +using Microsoft.EntityFrameworkCore.Infrastructure; +using Microsoft.EntityFrameworkCore.Metadata; +using Microsoft.EntityFrameworkCore.Storage.ValueConversion; +using Volo.Abp.EntityFrameworkCore; +using Volo.Abp.SettingManagement.DemoApp; + +namespace Volo.Abp.SettingManagement.DemoApp.Migrations +{ + [DbContext(typeof(DemoAppDbContext))] + partial class DemoAppDbContextModelSnapshot : ModelSnapshot + { + protected override void BuildModel(ModelBuilder modelBuilder) + { +#pragma warning disable 612, 618 + modelBuilder + .UseIdentityColumns() + .HasAnnotation("_Abp_DatabaseProvider", EfCoreDatabaseProvider.SqlServer) + .HasAnnotation("Relational:MaxIdentifierLength", 128) + .HasAnnotation("ProductVersion", "5.0.2"); + + modelBuilder.Entity("Volo.Abp.Identity.IdentityClaimType", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uniqueidentifier"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .HasMaxLength(40) + .HasColumnType("nvarchar(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property("Description") + .HasMaxLength(256) + .HasColumnType("nvarchar(256)"); + + b.Property("ExtraProperties") + .HasColumnType("nvarchar(max)") + .HasColumnName("ExtraProperties"); + + b.Property("IsStatic") + .HasColumnType("bit"); + + b.Property("Name") + .IsRequired() + .HasMaxLength(256) + .HasColumnType("nvarchar(256)"); + + b.Property("Regex") + .HasMaxLength(512) + .HasColumnType("nvarchar(512)"); + + b.Property("RegexDescription") + .HasMaxLength(128) + .HasColumnType("nvarchar(128)"); + + b.Property("Required") + .HasColumnType("bit"); + + b.Property("ValueType") + .HasColumnType("int"); + + b.HasKey("Id"); + + b.ToTable("AbpClaimTypes"); + }); + + modelBuilder.Entity("Volo.Abp.Identity.IdentityLinkUser", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uniqueidentifier"); + + b.Property("SourceTenantId") + .HasColumnType("uniqueidentifier"); + + b.Property("SourceUserId") + .HasColumnType("uniqueidentifier"); + + b.Property("TargetTenantId") + .HasColumnType("uniqueidentifier"); + + b.Property("TargetUserId") + .HasColumnType("uniqueidentifier"); + + b.HasKey("Id"); + + b.HasIndex("SourceUserId", "SourceTenantId", "TargetUserId", "TargetTenantId") + .IsUnique() + .HasFilter("[SourceTenantId] IS NOT NULL AND [TargetTenantId] IS NOT NULL"); + + b.ToTable("AbpLinkUsers"); + }); + + modelBuilder.Entity("Volo.Abp.Identity.IdentityRole", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uniqueidentifier"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .HasMaxLength(40) + .HasColumnType("nvarchar(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property("ExtraProperties") + .HasColumnType("nvarchar(max)") + .HasColumnName("ExtraProperties"); + + b.Property("IsDefault") + .HasColumnType("bit") + .HasColumnName("IsDefault"); + + b.Property("IsPublic") + .HasColumnType("bit") + .HasColumnName("IsPublic"); + + b.Property("IsStatic") + .HasColumnType("bit") + .HasColumnName("IsStatic"); + + b.Property("Name") + .IsRequired() + .HasMaxLength(256) + .HasColumnType("nvarchar(256)"); + + b.Property("NormalizedName") + .IsRequired() + .HasMaxLength(256) + .HasColumnType("nvarchar(256)"); + + b.Property("TenantId") + .HasColumnType("uniqueidentifier") + .HasColumnName("TenantId"); + + b.HasKey("Id"); + + b.HasIndex("NormalizedName"); + + b.ToTable("AbpRoles"); + }); + + modelBuilder.Entity("Volo.Abp.Identity.IdentityRoleClaim", b => + { + b.Property("Id") + .HasColumnType("uniqueidentifier"); + + b.Property("ClaimType") + .IsRequired() + .HasMaxLength(256) + .HasColumnType("nvarchar(256)"); + + b.Property("ClaimValue") + .HasMaxLength(1024) + .HasColumnType("nvarchar(1024)"); + + b.Property("RoleId") + .HasColumnType("uniqueidentifier"); + + b.Property("TenantId") + .HasColumnType("uniqueidentifier") + .HasColumnName("TenantId"); + + b.HasKey("Id"); + + b.HasIndex("RoleId"); + + b.ToTable("AbpRoleClaims"); + }); + + modelBuilder.Entity("Volo.Abp.Identity.IdentitySecurityLog", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uniqueidentifier"); + + b.Property("Action") + .HasMaxLength(96) + .HasColumnType("nvarchar(96)"); + + b.Property("ApplicationName") + .HasMaxLength(96) + .HasColumnType("nvarchar(96)"); + + b.Property("BrowserInfo") + .HasMaxLength(512) + .HasColumnType("nvarchar(512)"); + + b.Property("ClientId") + .HasMaxLength(64) + .HasColumnType("nvarchar(64)"); + + b.Property("ClientIpAddress") + .HasMaxLength(64) + .HasColumnType("nvarchar(64)"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .HasMaxLength(40) + .HasColumnType("nvarchar(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property("CorrelationId") + .HasMaxLength(64) + .HasColumnType("nvarchar(64)"); + + b.Property("CreationTime") + .HasColumnType("datetime2"); + + b.Property("ExtraProperties") + .HasColumnType("nvarchar(max)") + .HasColumnName("ExtraProperties"); + + b.Property("Identity") + .HasMaxLength(96) + .HasColumnType("nvarchar(96)"); + + b.Property("TenantId") + .HasColumnType("uniqueidentifier") + .HasColumnName("TenantId"); + + b.Property("TenantName") + .HasMaxLength(64) + .HasColumnType("nvarchar(64)"); + + b.Property("UserId") + .HasColumnType("uniqueidentifier"); + + b.Property("UserName") + .HasMaxLength(256) + .HasColumnType("nvarchar(256)"); + + b.HasKey("Id"); + + b.HasIndex("TenantId", "Action"); + + b.HasIndex("TenantId", "ApplicationName"); + + b.HasIndex("TenantId", "Identity"); + + b.HasIndex("TenantId", "UserId"); + + b.ToTable("AbpSecurityLogs"); + }); + + modelBuilder.Entity("Volo.Abp.Identity.IdentityUser", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uniqueidentifier"); + + b.Property("AccessFailedCount") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasDefaultValue(0) + .HasColumnName("AccessFailedCount"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .HasMaxLength(40) + .HasColumnType("nvarchar(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property("CreationTime") + .HasColumnType("datetime2") + .HasColumnName("CreationTime"); + + b.Property("CreatorId") + .HasColumnType("uniqueidentifier") + .HasColumnName("CreatorId"); + + b.Property("DeleterId") + .HasColumnType("uniqueidentifier") + .HasColumnName("DeleterId"); + + b.Property("DeletionTime") + .HasColumnType("datetime2") + .HasColumnName("DeletionTime"); + + b.Property("Email") + .IsRequired() + .HasMaxLength(256) + .HasColumnType("nvarchar(256)") + .HasColumnName("Email"); + + b.Property("EmailConfirmed") + .ValueGeneratedOnAdd() + .HasColumnType("bit") + .HasDefaultValue(false) + .HasColumnName("EmailConfirmed"); + + b.Property("ExtraProperties") + .HasColumnType("nvarchar(max)") + .HasColumnName("ExtraProperties"); + + b.Property("IsDeleted") + .ValueGeneratedOnAdd() + .HasColumnType("bit") + .HasDefaultValue(false) + .HasColumnName("IsDeleted"); + + b.Property("IsExternal") + .ValueGeneratedOnAdd() + .HasColumnType("bit") + .HasDefaultValue(false) + .HasColumnName("IsExternal"); + + b.Property("LastModificationTime") + .HasColumnType("datetime2") + .HasColumnName("LastModificationTime"); + + b.Property("LastModifierId") + .HasColumnType("uniqueidentifier") + .HasColumnName("LastModifierId"); + + b.Property("LockoutEnabled") + .ValueGeneratedOnAdd() + .HasColumnType("bit") + .HasDefaultValue(false) + .HasColumnName("LockoutEnabled"); + + b.Property("LockoutEnd") + .HasColumnType("datetimeoffset"); + + b.Property("Name") + .HasMaxLength(64) + .HasColumnType("nvarchar(64)") + .HasColumnName("Name"); + + b.Property("NormalizedEmail") + .IsRequired() + .HasMaxLength(256) + .HasColumnType("nvarchar(256)") + .HasColumnName("NormalizedEmail"); + + b.Property("NormalizedUserName") + .IsRequired() + .HasMaxLength(256) + .HasColumnType("nvarchar(256)") + .HasColumnName("NormalizedUserName"); + + b.Property("PasswordHash") + .HasMaxLength(256) + .HasColumnType("nvarchar(256)") + .HasColumnName("PasswordHash"); + + b.Property("PhoneNumber") + .HasMaxLength(16) + .HasColumnType("nvarchar(16)") + .HasColumnName("PhoneNumber"); + + b.Property("PhoneNumberConfirmed") + .ValueGeneratedOnAdd() + .HasColumnType("bit") + .HasDefaultValue(false) + .HasColumnName("PhoneNumberConfirmed"); + + b.Property("SecurityStamp") + .IsRequired() + .HasMaxLength(256) + .HasColumnType("nvarchar(256)") + .HasColumnName("SecurityStamp"); + + b.Property("Surname") + .HasMaxLength(64) + .HasColumnType("nvarchar(64)") + .HasColumnName("Surname"); + + b.Property("TenantId") + .HasColumnType("uniqueidentifier") + .HasColumnName("TenantId"); + + b.Property("TwoFactorEnabled") + .ValueGeneratedOnAdd() + .HasColumnType("bit") + .HasDefaultValue(false) + .HasColumnName("TwoFactorEnabled"); + + b.Property("UserName") + .IsRequired() + .HasMaxLength(256) + .HasColumnType("nvarchar(256)") + .HasColumnName("UserName"); + + b.HasKey("Id"); + + b.HasIndex("Email"); + + b.HasIndex("NormalizedEmail"); + + b.HasIndex("NormalizedUserName"); + + b.HasIndex("UserName"); + + b.ToTable("AbpUsers"); + }); + + modelBuilder.Entity("Volo.Abp.Identity.IdentityUserClaim", b => + { + b.Property("Id") + .HasColumnType("uniqueidentifier"); + + b.Property("ClaimType") + .IsRequired() + .HasMaxLength(256) + .HasColumnType("nvarchar(256)"); + + b.Property("ClaimValue") + .HasMaxLength(1024) + .HasColumnType("nvarchar(1024)"); + + b.Property("TenantId") + .HasColumnType("uniqueidentifier") + .HasColumnName("TenantId"); + + b.Property("UserId") + .HasColumnType("uniqueidentifier"); + + b.HasKey("Id"); + + b.HasIndex("UserId"); + + b.ToTable("AbpUserClaims"); + }); + + modelBuilder.Entity("Volo.Abp.Identity.IdentityUserLogin", b => + { + b.Property("UserId") + .HasColumnType("uniqueidentifier"); + + b.Property("LoginProvider") + .HasMaxLength(64) + .HasColumnType("nvarchar(64)"); + + b.Property("ProviderDisplayName") + .HasMaxLength(128) + .HasColumnType("nvarchar(128)"); + + b.Property("ProviderKey") + .IsRequired() + .HasMaxLength(196) + .HasColumnType("nvarchar(196)"); + + b.Property("TenantId") + .HasColumnType("uniqueidentifier") + .HasColumnName("TenantId"); + + b.HasKey("UserId", "LoginProvider"); + + b.HasIndex("LoginProvider", "ProviderKey"); + + b.ToTable("AbpUserLogins"); + }); + + modelBuilder.Entity("Volo.Abp.Identity.IdentityUserOrganizationUnit", b => + { + b.Property("OrganizationUnitId") + .HasColumnType("uniqueidentifier"); + + b.Property("UserId") + .HasColumnType("uniqueidentifier"); + + b.Property("CreationTime") + .HasColumnType("datetime2") + .HasColumnName("CreationTime"); + + b.Property("CreatorId") + .HasColumnType("uniqueidentifier") + .HasColumnName("CreatorId"); + + b.Property("TenantId") + .HasColumnType("uniqueidentifier") + .HasColumnName("TenantId"); + + b.HasKey("OrganizationUnitId", "UserId"); + + b.HasIndex("UserId", "OrganizationUnitId"); + + b.ToTable("AbpUserOrganizationUnits"); + }); + + modelBuilder.Entity("Volo.Abp.Identity.IdentityUserRole", b => + { + b.Property("UserId") + .HasColumnType("uniqueidentifier"); + + b.Property("RoleId") + .HasColumnType("uniqueidentifier"); + + b.Property("TenantId") + .HasColumnType("uniqueidentifier") + .HasColumnName("TenantId"); + + b.HasKey("UserId", "RoleId"); + + b.HasIndex("RoleId", "UserId"); + + b.ToTable("AbpUserRoles"); + }); + + modelBuilder.Entity("Volo.Abp.Identity.IdentityUserToken", b => + { + b.Property("UserId") + .HasColumnType("uniqueidentifier"); + + b.Property("LoginProvider") + .HasMaxLength(64) + .HasColumnType("nvarchar(64)"); + + b.Property("Name") + .HasMaxLength(128) + .HasColumnType("nvarchar(128)"); + + b.Property("TenantId") + .HasColumnType("uniqueidentifier") + .HasColumnName("TenantId"); + + b.Property("Value") + .HasColumnType("nvarchar(max)"); + + b.HasKey("UserId", "LoginProvider", "Name"); + + b.ToTable("AbpUserTokens"); + }); + + modelBuilder.Entity("Volo.Abp.Identity.OrganizationUnit", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uniqueidentifier"); + + b.Property("Code") + .IsRequired() + .HasMaxLength(95) + .HasColumnType("nvarchar(95)") + .HasColumnName("Code"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .HasMaxLength(40) + .HasColumnType("nvarchar(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property("CreationTime") + .HasColumnType("datetime2") + .HasColumnName("CreationTime"); + + b.Property("CreatorId") + .HasColumnType("uniqueidentifier") + .HasColumnName("CreatorId"); + + b.Property("DeleterId") + .HasColumnType("uniqueidentifier") + .HasColumnName("DeleterId"); + + b.Property("DeletionTime") + .HasColumnType("datetime2") + .HasColumnName("DeletionTime"); + + b.Property("DisplayName") + .IsRequired() + .HasMaxLength(128) + .HasColumnType("nvarchar(128)") + .HasColumnName("DisplayName"); + + b.Property("ExtraProperties") + .HasColumnType("nvarchar(max)") + .HasColumnName("ExtraProperties"); + + b.Property("IsDeleted") + .ValueGeneratedOnAdd() + .HasColumnType("bit") + .HasDefaultValue(false) + .HasColumnName("IsDeleted"); + + b.Property("LastModificationTime") + .HasColumnType("datetime2") + .HasColumnName("LastModificationTime"); + + b.Property("LastModifierId") + .HasColumnType("uniqueidentifier") + .HasColumnName("LastModifierId"); + + b.Property("ParentId") + .HasColumnType("uniqueidentifier"); + + b.Property("TenantId") + .HasColumnType("uniqueidentifier") + .HasColumnName("TenantId"); + + b.HasKey("Id"); + + b.HasIndex("Code"); + + b.HasIndex("ParentId"); + + b.ToTable("AbpOrganizationUnits"); + }); + + modelBuilder.Entity("Volo.Abp.Identity.OrganizationUnitRole", b => + { + b.Property("OrganizationUnitId") + .HasColumnType("uniqueidentifier"); + + b.Property("RoleId") + .HasColumnType("uniqueidentifier"); + + b.Property("CreationTime") + .HasColumnType("datetime2") + .HasColumnName("CreationTime"); + + b.Property("CreatorId") + .HasColumnType("uniqueidentifier") + .HasColumnName("CreatorId"); + + b.Property("TenantId") + .HasColumnType("uniqueidentifier") + .HasColumnName("TenantId"); + + b.HasKey("OrganizationUnitId", "RoleId"); + + b.HasIndex("RoleId", "OrganizationUnitId"); + + b.ToTable("AbpOrganizationUnitRoles"); + }); + + modelBuilder.Entity("Volo.Abp.PermissionManagement.PermissionGrant", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uniqueidentifier"); + + b.Property("Name") + .IsRequired() + .HasMaxLength(128) + .HasColumnType("nvarchar(128)"); + + b.Property("ProviderKey") + .IsRequired() + .HasMaxLength(64) + .HasColumnType("nvarchar(64)"); + + b.Property("ProviderName") + .IsRequired() + .HasMaxLength(64) + .HasColumnType("nvarchar(64)"); + + b.Property("TenantId") + .HasColumnType("uniqueidentifier") + .HasColumnName("TenantId"); + + b.HasKey("Id"); + + b.HasIndex("Name", "ProviderName", "ProviderKey"); + + b.ToTable("AbpPermissionGrants"); + }); + + modelBuilder.Entity("Volo.Abp.SettingManagement.Setting", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uniqueidentifier"); + + b.Property("Name") + .IsRequired() + .HasMaxLength(128) + .HasColumnType("nvarchar(128)"); + + b.Property("ProviderKey") + .HasMaxLength(64) + .HasColumnType("nvarchar(64)"); + + b.Property("ProviderName") + .HasMaxLength(64) + .HasColumnType("nvarchar(64)"); + + b.Property("Value") + .IsRequired() + .HasMaxLength(2048) + .HasColumnType("nvarchar(2048)"); + + b.HasKey("Id"); + + b.HasIndex("Name", "ProviderName", "ProviderKey"); + + b.ToTable("AbpSettings"); + }); + + modelBuilder.Entity("Volo.Abp.Identity.IdentityRoleClaim", b => + { + b.HasOne("Volo.Abp.Identity.IdentityRole", null) + .WithMany("Claims") + .HasForeignKey("RoleId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("Volo.Abp.Identity.IdentityUserClaim", b => + { + b.HasOne("Volo.Abp.Identity.IdentityUser", null) + .WithMany("Claims") + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("Volo.Abp.Identity.IdentityUserLogin", b => + { + b.HasOne("Volo.Abp.Identity.IdentityUser", null) + .WithMany("Logins") + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("Volo.Abp.Identity.IdentityUserOrganizationUnit", b => + { + b.HasOne("Volo.Abp.Identity.OrganizationUnit", null) + .WithMany() + .HasForeignKey("OrganizationUnitId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Volo.Abp.Identity.IdentityUser", null) + .WithMany("OrganizationUnits") + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("Volo.Abp.Identity.IdentityUserRole", b => + { + b.HasOne("Volo.Abp.Identity.IdentityRole", null) + .WithMany() + .HasForeignKey("RoleId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Volo.Abp.Identity.IdentityUser", null) + .WithMany("Roles") + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("Volo.Abp.Identity.IdentityUserToken", b => + { + b.HasOne("Volo.Abp.Identity.IdentityUser", null) + .WithMany("Tokens") + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("Volo.Abp.Identity.OrganizationUnit", b => + { + b.HasOne("Volo.Abp.Identity.OrganizationUnit", null) + .WithMany() + .HasForeignKey("ParentId"); + }); + + modelBuilder.Entity("Volo.Abp.Identity.OrganizationUnitRole", b => + { + b.HasOne("Volo.Abp.Identity.OrganizationUnit", null) + .WithMany("Roles") + .HasForeignKey("OrganizationUnitId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Volo.Abp.Identity.IdentityRole", null) + .WithMany() + .HasForeignKey("RoleId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("Volo.Abp.Identity.IdentityRole", b => + { + b.Navigation("Claims"); + }); + + modelBuilder.Entity("Volo.Abp.Identity.IdentityUser", b => + { + b.Navigation("Claims"); + + b.Navigation("Logins"); + + b.Navigation("OrganizationUnits"); + + b.Navigation("Roles"); + + b.Navigation("Tokens"); + }); + + modelBuilder.Entity("Volo.Abp.Identity.OrganizationUnit", b => + { + b.Navigation("Roles"); + }); +#pragma warning restore 612, 618 + } + } +} diff --git a/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/Pages/Index.cshtml b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/Pages/Index.cshtml new file mode 100644 index 0000000000..3a7083d68f --- /dev/null +++ b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/Pages/Index.cshtml @@ -0,0 +1,10 @@ +@page +@using Volo.Abp.Users +@model Volo.Abp.SettingManagement.DemoApp.Pages.IndexModel +@inject ICurrentUser CurrentUser + +

    Welcome to the SettingManagement demo application.

    +@if (!CurrentUser.IsAuthenticated) +{ +
    Login +} diff --git a/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/Pages/Index.cshtml.cs b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/Pages/Index.cshtml.cs new file mode 100644 index 0000000000..14e4b728a3 --- /dev/null +++ b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/Pages/Index.cshtml.cs @@ -0,0 +1,11 @@ +using Microsoft.AspNetCore.Mvc.RazorPages; + +namespace Volo.Abp.SettingManagement.DemoApp.Pages +{ + public class IndexModel : PageModel + { + public void OnGet() + { + } + } +} diff --git a/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/Pages/_ViewImports.cshtml b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/Pages/_ViewImports.cshtml new file mode 100644 index 0000000000..c1da1f5f10 --- /dev/null +++ b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/Pages/_ViewImports.cshtml @@ -0,0 +1,4 @@ +@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers +@addTagHelper *, Volo.Abp.AspNetCore.Mvc.UI +@addTagHelper *, Volo.Abp.AspNetCore.Mvc.UI.Bootstrap +@addTagHelper *, Volo.Abp.AspNetCore.Mvc.UI.Bundling \ No newline at end of file diff --git a/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/Program.cs b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/Program.cs new file mode 100644 index 0000000000..19907d2ee5 --- /dev/null +++ b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/Program.cs @@ -0,0 +1,47 @@ +using System; +using Microsoft.AspNetCore.Hosting; +using Microsoft.Extensions.Hosting; +using Serilog; +using Serilog.Events; + +namespace Volo.Abp.SettingManagement.DemoApp +{ + public class Program + { + public static int Main(string[] args) + { + Log.Logger = new LoggerConfiguration() + .MinimumLevel.Debug() + .MinimumLevel.Override("Microsoft", LogEventLevel.Information) + .MinimumLevel.Override("Microsoft.EntityFrameworkCore", LogEventLevel.Warning) + .Enrich.FromLogContext() + .WriteTo.File("Logs/logs.txt") + .CreateLogger(); + + try + { + Log.Information("Starting web host."); + CreateHostBuilder(args).Build().Run(); + return 0; + } + catch (Exception ex) + { + Log.Fatal(ex, "Host terminated unexpectedly!"); + return 1; + } + finally + { + Log.CloseAndFlush(); + } + } + + internal static IHostBuilder CreateHostBuilder(string[] args) => + Host.CreateDefaultBuilder(args) + .ConfigureWebHostDefaults(webBuilder => + { + webBuilder.UseStartup(); + }) + .UseAutofac() + .UseSerilog(); + } +} diff --git a/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/Properties/launchSettings.json b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/Properties/launchSettings.json new file mode 100644 index 0000000000..ee96111e8e --- /dev/null +++ b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/Properties/launchSettings.json @@ -0,0 +1,28 @@ +{ + "iisSettings": { + "windowsAuthentication": false, + "anonymousAuthentication": true, + "iisExpress": { + "applicationUrl": "http://localhost:63774", + "sslPort": 44396 + } + }, + "profiles": { + "IIS Express": { + "commandName": "IISExpress", + "launchBrowser": true, + "environmentVariables": { + "ASPNETCORE_ENVIRONMENT": "Development" + } + }, + "Volo.Abp.SettingManagement.DemoApp": { + "commandName": "Project", + "dotnetRunMessages": "true", + "launchBrowser": true, + "applicationUrl": "https://localhost:5001;http://localhost:5000", + "environmentVariables": { + "ASPNETCORE_ENVIRONMENT": "Development" + } + } + } +} diff --git a/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/Startup.cs b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/Startup.cs new file mode 100644 index 0000000000..50b57f668a --- /dev/null +++ b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/Startup.cs @@ -0,0 +1,20 @@ +using Microsoft.AspNetCore.Builder; +using Microsoft.AspNetCore.Hosting; +using Microsoft.Extensions.DependencyInjection; +using Microsoft.Extensions.Logging; + +namespace Volo.Abp.SettingManagement.DemoApp +{ + public class Startup + { + public void ConfigureServices(IServiceCollection services) + { + services.AddApplication(); + } + + public void Configure(IApplicationBuilder app, IWebHostEnvironment env, ILoggerFactory loggerFactory) + { + app.InitializeApplication(); + } + } +} diff --git a/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/Volo.Abp.SettingManagement.DemoApp.csproj b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/Volo.Abp.SettingManagement.DemoApp.csproj new file mode 100644 index 0000000000..b07c6bb8ae --- /dev/null +++ b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/Volo.Abp.SettingManagement.DemoApp.csproj @@ -0,0 +1,63 @@ + + + + + + net5.0 + InProcess + true + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Always + + + Always + + + + + <_ContentIncludedByDefault Remove="Pages\Error.cshtml" /> + <_ContentIncludedByDefault Remove="Pages\Index.cshtml" /> + <_ContentIncludedByDefault Remove="Pages\Privacy.cshtml" /> + <_ContentIncludedByDefault Remove="Pages\Shared\_Layout.cshtml" /> + <_ContentIncludedByDefault Remove="Pages\Shared\_ValidationScriptsPartial.cshtml" /> + <_ContentIncludedByDefault Remove="Pages\_ViewImports.cshtml" /> + <_ContentIncludedByDefault Remove="Pages\_ViewStart.cshtml" /> + + + diff --git a/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/abp.resourcemapping.js b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/abp.resourcemapping.js new file mode 100644 index 0000000000..56d68b1b51 --- /dev/null +++ b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/abp.resourcemapping.js @@ -0,0 +1,12 @@ +module.exports = { + aliases: { + "@node_modules": "./node_modules", + "@libs": "./wwwroot/libs" + }, + clean: [ + "@libs" + ], + mappings: { + + } +} \ No newline at end of file diff --git a/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/appsettings.Development.json b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/appsettings.Development.json new file mode 100644 index 0000000000..51737579ef --- /dev/null +++ b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/appsettings.Development.json @@ -0,0 +1,10 @@ +{ + "DetailedErrors": true, + "Logging": { + "LogLevel": { + "Default": "Information", + "Microsoft": "Warning", + "Microsoft.Hosting.Lifetime": "Information" + } + } +} diff --git a/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/appsettings.json b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/appsettings.json new file mode 100644 index 0000000000..6de3c41adf --- /dev/null +++ b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/appsettings.json @@ -0,0 +1,5 @@ +{ + "ConnectionStrings": { + "Default": "Server=(LocalDb)\\MSSQLLocalDB;Database=SettingManagementDemoApp;Trusted_Connection=True" + } +} diff --git a/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/gulpfile.js b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/gulpfile.js new file mode 100644 index 0000000000..5dcf4c5c6f --- /dev/null +++ b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/gulpfile.js @@ -0,0 +1,9 @@ +"use strict"; + +var gulp = require("gulp"), + path = require('path'), + copyResources = require('./node_modules/@abp/aspnetcore.mvc.ui/gulp/copy-resources.js'); + +exports.default = function(){ + return copyResources(path.resolve('./')); +}; \ No newline at end of file diff --git a/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/package.json b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/package.json new file mode 100644 index 0000000000..83a2d8ef83 --- /dev/null +++ b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/package.json @@ -0,0 +1,8 @@ +{ + "version": "0.1.0", + "name": "demo-app", + "private": true, + "dependencies": { + "@abp/aspnetcore.mvc.ui.theme.basic": "^4.2.0" + } +} diff --git a/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/@fortawesome/fontawesome-free/css/all.css b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/@fortawesome/fontawesome-free/css/all.css new file mode 100644 index 0000000000..b33b27dd9a --- /dev/null +++ b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/@fortawesome/fontawesome-free/css/all.css @@ -0,0 +1,4619 @@ +/*! + * Font Awesome Free 5.15.2 by @fontawesome - https://fontawesome.com + * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) + */ +.fa, +.fas, +.far, +.fal, +.fad, +.fab { + -moz-osx-font-smoothing: grayscale; + -webkit-font-smoothing: antialiased; + display: inline-block; + font-style: normal; + font-variant: normal; + text-rendering: auto; + line-height: 1; } + +.fa-lg { + font-size: 1.33333em; + line-height: 0.75em; + vertical-align: -.0667em; } + +.fa-xs { + font-size: .75em; } + +.fa-sm { + font-size: .875em; } + +.fa-1x { + font-size: 1em; } + +.fa-2x { + font-size: 2em; } + +.fa-3x { + font-size: 3em; } + +.fa-4x { + font-size: 4em; } + +.fa-5x { + font-size: 5em; } + +.fa-6x { + font-size: 6em; } + +.fa-7x { + font-size: 7em; } + +.fa-8x { + font-size: 8em; } + +.fa-9x { + font-size: 9em; } + +.fa-10x { + font-size: 10em; } + +.fa-fw { + text-align: center; + width: 1.25em; } + +.fa-ul { + list-style-type: none; + margin-left: 2.5em; + padding-left: 0; } + .fa-ul > li { + position: relative; } + +.fa-li { + left: -2em; + position: absolute; + text-align: center; + width: 2em; + line-height: inherit; } + +.fa-border { + border: solid 0.08em #eee; + border-radius: .1em; + padding: .2em .25em .15em; } + +.fa-pull-left { + float: left; } + +.fa-pull-right { + float: right; } + +.fa.fa-pull-left, +.fas.fa-pull-left, +.far.fa-pull-left, +.fal.fa-pull-left, +.fab.fa-pull-left { + margin-right: .3em; } + +.fa.fa-pull-right, +.fas.fa-pull-right, +.far.fa-pull-right, +.fal.fa-pull-right, +.fab.fa-pull-right { + margin-left: .3em; } + +.fa-spin { + -webkit-animation: fa-spin 2s infinite linear; + animation: fa-spin 2s infinite linear; } + +.fa-pulse { + -webkit-animation: fa-spin 1s infinite steps(8); + animation: fa-spin 1s infinite steps(8); } + +@-webkit-keyframes fa-spin { + 0% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); } + 100% { + -webkit-transform: rotate(360deg); + transform: rotate(360deg); } } + +@keyframes fa-spin { + 0% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); } + 100% { + -webkit-transform: rotate(360deg); + transform: rotate(360deg); } } + +.fa-rotate-90 { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=1)"; + -webkit-transform: rotate(90deg); + transform: rotate(90deg); } + +.fa-rotate-180 { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2)"; + -webkit-transform: rotate(180deg); + transform: rotate(180deg); } + +.fa-rotate-270 { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=3)"; + -webkit-transform: rotate(270deg); + transform: rotate(270deg); } + +.fa-flip-horizontal { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)"; + -webkit-transform: scale(-1, 1); + transform: scale(-1, 1); } + +.fa-flip-vertical { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)"; + -webkit-transform: scale(1, -1); + transform: scale(1, -1); } + +.fa-flip-both, .fa-flip-horizontal.fa-flip-vertical { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)"; + -webkit-transform: scale(-1, -1); + transform: scale(-1, -1); } + +:root .fa-rotate-90, +:root .fa-rotate-180, +:root .fa-rotate-270, +:root .fa-flip-horizontal, +:root .fa-flip-vertical, +:root .fa-flip-both { + -webkit-filter: none; + filter: none; } + +.fa-stack { + display: inline-block; + height: 2em; + line-height: 2em; + position: relative; + vertical-align: middle; + width: 2.5em; } + +.fa-stack-1x, +.fa-stack-2x { + left: 0; + position: absolute; + text-align: center; + width: 100%; } + +.fa-stack-1x { + line-height: inherit; } + +.fa-stack-2x { + font-size: 2em; } + +.fa-inverse { + color: #fff; } + +/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen +readers do not read off random characters that represent icons */ +.fa-500px:before { + content: "\f26e"; } + +.fa-accessible-icon:before { + content: "\f368"; } + +.fa-accusoft:before { + content: "\f369"; } + +.fa-acquisitions-incorporated:before { + content: "\f6af"; } + +.fa-ad:before { + content: "\f641"; } + +.fa-address-book:before { + content: "\f2b9"; } + +.fa-address-card:before { + content: "\f2bb"; } + +.fa-adjust:before { + content: "\f042"; } + +.fa-adn:before { + content: "\f170"; } + +.fa-adversal:before { + content: "\f36a"; } + +.fa-affiliatetheme:before { + content: "\f36b"; } + +.fa-air-freshener:before { + content: "\f5d0"; } + +.fa-airbnb:before { + content: "\f834"; } + +.fa-algolia:before { + content: "\f36c"; } + +.fa-align-center:before { + content: "\f037"; } + +.fa-align-justify:before { + content: "\f039"; } + +.fa-align-left:before { + content: "\f036"; } + +.fa-align-right:before { + content: "\f038"; } + +.fa-alipay:before { + content: "\f642"; } + +.fa-allergies:before { + content: "\f461"; } + +.fa-amazon:before { + content: "\f270"; } + +.fa-amazon-pay:before { + content: "\f42c"; } + +.fa-ambulance:before { + content: "\f0f9"; } + +.fa-american-sign-language-interpreting:before { + content: "\f2a3"; } + +.fa-amilia:before { + content: "\f36d"; } + +.fa-anchor:before { + content: "\f13d"; } + +.fa-android:before { + content: "\f17b"; } + +.fa-angellist:before { + content: "\f209"; } + +.fa-angle-double-down:before { + content: "\f103"; } + +.fa-angle-double-left:before { + content: "\f100"; } + +.fa-angle-double-right:before { + content: "\f101"; } + +.fa-angle-double-up:before { + content: "\f102"; } + +.fa-angle-down:before { + content: "\f107"; } + +.fa-angle-left:before { + content: "\f104"; } + +.fa-angle-right:before { + content: "\f105"; } + +.fa-angle-up:before { + content: "\f106"; } + +.fa-angry:before { + content: "\f556"; } + +.fa-angrycreative:before { + content: "\f36e"; } + +.fa-angular:before { + content: "\f420"; } + +.fa-ankh:before { + content: "\f644"; } + +.fa-app-store:before { + content: "\f36f"; } + +.fa-app-store-ios:before { + content: "\f370"; } + +.fa-apper:before { + content: "\f371"; } + +.fa-apple:before { + content: "\f179"; } + +.fa-apple-alt:before { + content: "\f5d1"; } + +.fa-apple-pay:before { + content: "\f415"; } + +.fa-archive:before { + content: "\f187"; } + +.fa-archway:before { + content: "\f557"; } + +.fa-arrow-alt-circle-down:before { + content: "\f358"; } + +.fa-arrow-alt-circle-left:before { + content: "\f359"; } + +.fa-arrow-alt-circle-right:before { + content: "\f35a"; } + +.fa-arrow-alt-circle-up:before { + content: "\f35b"; } + +.fa-arrow-circle-down:before { + content: "\f0ab"; } + +.fa-arrow-circle-left:before { + content: "\f0a8"; } + +.fa-arrow-circle-right:before { + content: "\f0a9"; } + +.fa-arrow-circle-up:before { + content: "\f0aa"; } + +.fa-arrow-down:before { + content: "\f063"; } + +.fa-arrow-left:before { + content: "\f060"; } + +.fa-arrow-right:before { + content: "\f061"; } + +.fa-arrow-up:before { + content: "\f062"; } + +.fa-arrows-alt:before { + content: "\f0b2"; } + +.fa-arrows-alt-h:before { + content: "\f337"; } + +.fa-arrows-alt-v:before { + content: "\f338"; } + +.fa-artstation:before { + content: "\f77a"; } + +.fa-assistive-listening-systems:before { + content: "\f2a2"; } + +.fa-asterisk:before { + content: "\f069"; } + +.fa-asymmetrik:before { + content: "\f372"; } + +.fa-at:before { + content: "\f1fa"; } + +.fa-atlas:before { + content: "\f558"; } + +.fa-atlassian:before { + content: "\f77b"; } + +.fa-atom:before { + content: "\f5d2"; } + +.fa-audible:before { + content: "\f373"; } + +.fa-audio-description:before { + content: "\f29e"; } + +.fa-autoprefixer:before { + content: "\f41c"; } + +.fa-avianex:before { + content: "\f374"; } + +.fa-aviato:before { + content: "\f421"; } + +.fa-award:before { + content: "\f559"; } + +.fa-aws:before { + content: "\f375"; } + +.fa-baby:before { + content: "\f77c"; } + +.fa-baby-carriage:before { + content: "\f77d"; } + +.fa-backspace:before { + content: "\f55a"; } + +.fa-backward:before { + content: "\f04a"; } + +.fa-bacon:before { + content: "\f7e5"; } + +.fa-bacteria:before { + content: "\e059"; } + +.fa-bacterium:before { + content: "\e05a"; } + +.fa-bahai:before { + content: "\f666"; } + +.fa-balance-scale:before { + content: "\f24e"; } + +.fa-balance-scale-left:before { + content: "\f515"; } + +.fa-balance-scale-right:before { + content: "\f516"; } + +.fa-ban:before { + content: "\f05e"; } + +.fa-band-aid:before { + content: "\f462"; } + +.fa-bandcamp:before { + content: "\f2d5"; } + +.fa-barcode:before { + content: "\f02a"; } + +.fa-bars:before { + content: "\f0c9"; } + +.fa-baseball-ball:before { + content: "\f433"; } + +.fa-basketball-ball:before { + content: "\f434"; } + +.fa-bath:before { + content: "\f2cd"; } + +.fa-battery-empty:before { + content: "\f244"; } + +.fa-battery-full:before { + content: "\f240"; } + +.fa-battery-half:before { + content: "\f242"; } + +.fa-battery-quarter:before { + content: "\f243"; } + +.fa-battery-three-quarters:before { + content: "\f241"; } + +.fa-battle-net:before { + content: "\f835"; } + +.fa-bed:before { + content: "\f236"; } + +.fa-beer:before { + content: "\f0fc"; } + +.fa-behance:before { + content: "\f1b4"; } + +.fa-behance-square:before { + content: "\f1b5"; } + +.fa-bell:before { + content: "\f0f3"; } + +.fa-bell-slash:before { + content: "\f1f6"; } + +.fa-bezier-curve:before { + content: "\f55b"; } + +.fa-bible:before { + content: "\f647"; } + +.fa-bicycle:before { + content: "\f206"; } + +.fa-biking:before { + content: "\f84a"; } + +.fa-bimobject:before { + content: "\f378"; } + +.fa-binoculars:before { + content: "\f1e5"; } + +.fa-biohazard:before { + content: "\f780"; } + +.fa-birthday-cake:before { + content: "\f1fd"; } + +.fa-bitbucket:before { + content: "\f171"; } + +.fa-bitcoin:before { + content: "\f379"; } + +.fa-bity:before { + content: "\f37a"; } + +.fa-black-tie:before { + content: "\f27e"; } + +.fa-blackberry:before { + content: "\f37b"; } + +.fa-blender:before { + content: "\f517"; } + +.fa-blender-phone:before { + content: "\f6b6"; } + +.fa-blind:before { + content: "\f29d"; } + +.fa-blog:before { + content: "\f781"; } + +.fa-blogger:before { + content: "\f37c"; } + +.fa-blogger-b:before { + content: "\f37d"; } + +.fa-bluetooth:before { + content: "\f293"; } + +.fa-bluetooth-b:before { + content: "\f294"; } + +.fa-bold:before { + content: "\f032"; } + +.fa-bolt:before { + content: "\f0e7"; } + +.fa-bomb:before { + content: "\f1e2"; } + +.fa-bone:before { + content: "\f5d7"; } + +.fa-bong:before { + content: "\f55c"; } + +.fa-book:before { + content: "\f02d"; } + +.fa-book-dead:before { + content: "\f6b7"; } + +.fa-book-medical:before { + content: "\f7e6"; } + +.fa-book-open:before { + content: "\f518"; } + +.fa-book-reader:before { + content: "\f5da"; } + +.fa-bookmark:before { + content: "\f02e"; } + +.fa-bootstrap:before { + content: "\f836"; } + +.fa-border-all:before { + content: "\f84c"; } + +.fa-border-none:before { + content: "\f850"; } + +.fa-border-style:before { + content: "\f853"; } + +.fa-bowling-ball:before { + content: "\f436"; } + +.fa-box:before { + content: "\f466"; } + +.fa-box-open:before { + content: "\f49e"; } + +.fa-box-tissue:before { + content: "\e05b"; } + +.fa-boxes:before { + content: "\f468"; } + +.fa-braille:before { + content: "\f2a1"; } + +.fa-brain:before { + content: "\f5dc"; } + +.fa-bread-slice:before { + content: "\f7ec"; } + +.fa-briefcase:before { + content: "\f0b1"; } + +.fa-briefcase-medical:before { + content: "\f469"; } + +.fa-broadcast-tower:before { + content: "\f519"; } + +.fa-broom:before { + content: "\f51a"; } + +.fa-brush:before { + content: "\f55d"; } + +.fa-btc:before { + content: "\f15a"; } + +.fa-buffer:before { + content: "\f837"; } + +.fa-bug:before { + content: "\f188"; } + +.fa-building:before { + content: "\f1ad"; } + +.fa-bullhorn:before { + content: "\f0a1"; } + +.fa-bullseye:before { + content: "\f140"; } + +.fa-burn:before { + content: "\f46a"; } + +.fa-buromobelexperte:before { + content: "\f37f"; } + +.fa-bus:before { + content: "\f207"; } + +.fa-bus-alt:before { + content: "\f55e"; } + +.fa-business-time:before { + content: "\f64a"; } + +.fa-buy-n-large:before { + content: "\f8a6"; } + +.fa-buysellads:before { + content: "\f20d"; } + +.fa-calculator:before { + content: "\f1ec"; } + +.fa-calendar:before { + content: "\f133"; } + +.fa-calendar-alt:before { + content: "\f073"; } + +.fa-calendar-check:before { + content: "\f274"; } + +.fa-calendar-day:before { + content: "\f783"; } + +.fa-calendar-minus:before { + content: "\f272"; } + +.fa-calendar-plus:before { + content: "\f271"; } + +.fa-calendar-times:before { + content: "\f273"; } + +.fa-calendar-week:before { + content: "\f784"; } + +.fa-camera:before { + content: "\f030"; } + +.fa-camera-retro:before { + content: "\f083"; } + +.fa-campground:before { + content: "\f6bb"; } + +.fa-canadian-maple-leaf:before { + content: "\f785"; } + +.fa-candy-cane:before { + content: "\f786"; } + +.fa-cannabis:before { + content: "\f55f"; } + +.fa-capsules:before { + content: "\f46b"; } + +.fa-car:before { + content: "\f1b9"; } + +.fa-car-alt:before { + content: "\f5de"; } + +.fa-car-battery:before { + content: "\f5df"; } + +.fa-car-crash:before { + content: "\f5e1"; } + +.fa-car-side:before { + content: "\f5e4"; } + +.fa-caravan:before { + content: "\f8ff"; } + +.fa-caret-down:before { + content: "\f0d7"; } + +.fa-caret-left:before { + content: "\f0d9"; } + +.fa-caret-right:before { + content: "\f0da"; } + +.fa-caret-square-down:before { + content: "\f150"; } + +.fa-caret-square-left:before { + content: "\f191"; } + +.fa-caret-square-right:before { + content: "\f152"; } + +.fa-caret-square-up:before { + content: "\f151"; } + +.fa-caret-up:before { + content: "\f0d8"; } + +.fa-carrot:before { + content: "\f787"; } + +.fa-cart-arrow-down:before { + content: "\f218"; } + +.fa-cart-plus:before { + content: "\f217"; } + +.fa-cash-register:before { + content: "\f788"; } + +.fa-cat:before { + content: "\f6be"; } + +.fa-cc-amazon-pay:before { + content: "\f42d"; } + +.fa-cc-amex:before { + content: "\f1f3"; } + +.fa-cc-apple-pay:before { + content: "\f416"; } + +.fa-cc-diners-club:before { + content: "\f24c"; } + +.fa-cc-discover:before { + content: "\f1f2"; } + +.fa-cc-jcb:before { + content: "\f24b"; } + +.fa-cc-mastercard:before { + content: "\f1f1"; } + +.fa-cc-paypal:before { + content: "\f1f4"; } + +.fa-cc-stripe:before { + content: "\f1f5"; } + +.fa-cc-visa:before { + content: "\f1f0"; } + +.fa-centercode:before { + content: "\f380"; } + +.fa-centos:before { + content: "\f789"; } + +.fa-certificate:before { + content: "\f0a3"; } + +.fa-chair:before { + content: "\f6c0"; } + +.fa-chalkboard:before { + content: "\f51b"; } + +.fa-chalkboard-teacher:before { + content: "\f51c"; } + +.fa-charging-station:before { + content: "\f5e7"; } + +.fa-chart-area:before { + content: "\f1fe"; } + +.fa-chart-bar:before { + content: "\f080"; } + +.fa-chart-line:before { + content: "\f201"; } + +.fa-chart-pie:before { + content: "\f200"; } + +.fa-check:before { + content: "\f00c"; } + +.fa-check-circle:before { + content: "\f058"; } + +.fa-check-double:before { + content: "\f560"; } + +.fa-check-square:before { + content: "\f14a"; } + +.fa-cheese:before { + content: "\f7ef"; } + +.fa-chess:before { + content: "\f439"; } + +.fa-chess-bishop:before { + content: "\f43a"; } + +.fa-chess-board:before { + content: "\f43c"; } + +.fa-chess-king:before { + content: "\f43f"; } + +.fa-chess-knight:before { + content: "\f441"; } + +.fa-chess-pawn:before { + content: "\f443"; } + +.fa-chess-queen:before { + content: "\f445"; } + +.fa-chess-rook:before { + content: "\f447"; } + +.fa-chevron-circle-down:before { + content: "\f13a"; } + +.fa-chevron-circle-left:before { + content: "\f137"; } + +.fa-chevron-circle-right:before { + content: "\f138"; } + +.fa-chevron-circle-up:before { + content: "\f139"; } + +.fa-chevron-down:before { + content: "\f078"; } + +.fa-chevron-left:before { + content: "\f053"; } + +.fa-chevron-right:before { + content: "\f054"; } + +.fa-chevron-up:before { + content: "\f077"; } + +.fa-child:before { + content: "\f1ae"; } + +.fa-chrome:before { + content: "\f268"; } + +.fa-chromecast:before { + content: "\f838"; } + +.fa-church:before { + content: "\f51d"; } + +.fa-circle:before { + content: "\f111"; } + +.fa-circle-notch:before { + content: "\f1ce"; } + +.fa-city:before { + content: "\f64f"; } + +.fa-clinic-medical:before { + content: "\f7f2"; } + +.fa-clipboard:before { + content: "\f328"; } + +.fa-clipboard-check:before { + content: "\f46c"; } + +.fa-clipboard-list:before { + content: "\f46d"; } + +.fa-clock:before { + content: "\f017"; } + +.fa-clone:before { + content: "\f24d"; } + +.fa-closed-captioning:before { + content: "\f20a"; } + +.fa-cloud:before { + content: "\f0c2"; } + +.fa-cloud-download-alt:before { + content: "\f381"; } + +.fa-cloud-meatball:before { + content: "\f73b"; } + +.fa-cloud-moon:before { + content: "\f6c3"; } + +.fa-cloud-moon-rain:before { + content: "\f73c"; } + +.fa-cloud-rain:before { + content: "\f73d"; } + +.fa-cloud-showers-heavy:before { + content: "\f740"; } + +.fa-cloud-sun:before { + content: "\f6c4"; } + +.fa-cloud-sun-rain:before { + content: "\f743"; } + +.fa-cloud-upload-alt:before { + content: "\f382"; } + +.fa-cloudflare:before { + content: "\e07d"; } + +.fa-cloudscale:before { + content: "\f383"; } + +.fa-cloudsmith:before { + content: "\f384"; } + +.fa-cloudversify:before { + content: "\f385"; } + +.fa-cocktail:before { + content: "\f561"; } + +.fa-code:before { + content: "\f121"; } + +.fa-code-branch:before { + content: "\f126"; } + +.fa-codepen:before { + content: "\f1cb"; } + +.fa-codiepie:before { + content: "\f284"; } + +.fa-coffee:before { + content: "\f0f4"; } + +.fa-cog:before { + content: "\f013"; } + +.fa-cogs:before { + content: "\f085"; } + +.fa-coins:before { + content: "\f51e"; } + +.fa-columns:before { + content: "\f0db"; } + +.fa-comment:before { + content: "\f075"; } + +.fa-comment-alt:before { + content: "\f27a"; } + +.fa-comment-dollar:before { + content: "\f651"; } + +.fa-comment-dots:before { + content: "\f4ad"; } + +.fa-comment-medical:before { + content: "\f7f5"; } + +.fa-comment-slash:before { + content: "\f4b3"; } + +.fa-comments:before { + content: "\f086"; } + +.fa-comments-dollar:before { + content: "\f653"; } + +.fa-compact-disc:before { + content: "\f51f"; } + +.fa-compass:before { + content: "\f14e"; } + +.fa-compress:before { + content: "\f066"; } + +.fa-compress-alt:before { + content: "\f422"; } + +.fa-compress-arrows-alt:before { + content: "\f78c"; } + +.fa-concierge-bell:before { + content: "\f562"; } + +.fa-confluence:before { + content: "\f78d"; } + +.fa-connectdevelop:before { + content: "\f20e"; } + +.fa-contao:before { + content: "\f26d"; } + +.fa-cookie:before { + content: "\f563"; } + +.fa-cookie-bite:before { + content: "\f564"; } + +.fa-copy:before { + content: "\f0c5"; } + +.fa-copyright:before { + content: "\f1f9"; } + +.fa-cotton-bureau:before { + content: "\f89e"; } + +.fa-couch:before { + content: "\f4b8"; } + +.fa-cpanel:before { + content: "\f388"; } + +.fa-creative-commons:before { + content: "\f25e"; } + +.fa-creative-commons-by:before { + content: "\f4e7"; } + +.fa-creative-commons-nc:before { + content: "\f4e8"; } + +.fa-creative-commons-nc-eu:before { + content: "\f4e9"; } + +.fa-creative-commons-nc-jp:before { + content: "\f4ea"; } + +.fa-creative-commons-nd:before { + content: "\f4eb"; } + +.fa-creative-commons-pd:before { + content: "\f4ec"; } + +.fa-creative-commons-pd-alt:before { + content: "\f4ed"; } + +.fa-creative-commons-remix:before { + content: "\f4ee"; } + +.fa-creative-commons-sa:before { + content: "\f4ef"; } + +.fa-creative-commons-sampling:before { + content: "\f4f0"; } + +.fa-creative-commons-sampling-plus:before { + content: "\f4f1"; } + +.fa-creative-commons-share:before { + content: "\f4f2"; } + +.fa-creative-commons-zero:before { + content: "\f4f3"; } + +.fa-credit-card:before { + content: "\f09d"; } + +.fa-critical-role:before { + content: "\f6c9"; } + +.fa-crop:before { + content: "\f125"; } + +.fa-crop-alt:before { + content: "\f565"; } + +.fa-cross:before { + content: "\f654"; } + +.fa-crosshairs:before { + content: "\f05b"; } + +.fa-crow:before { + content: "\f520"; } + +.fa-crown:before { + content: "\f521"; } + +.fa-crutch:before { + content: "\f7f7"; } + +.fa-css3:before { + content: "\f13c"; } + +.fa-css3-alt:before { + content: "\f38b"; } + +.fa-cube:before { + content: "\f1b2"; } + +.fa-cubes:before { + content: "\f1b3"; } + +.fa-cut:before { + content: "\f0c4"; } + +.fa-cuttlefish:before { + content: "\f38c"; } + +.fa-d-and-d:before { + content: "\f38d"; } + +.fa-d-and-d-beyond:before { + content: "\f6ca"; } + +.fa-dailymotion:before { + content: "\e052"; } + +.fa-dashcube:before { + content: "\f210"; } + +.fa-database:before { + content: "\f1c0"; } + +.fa-deaf:before { + content: "\f2a4"; } + +.fa-deezer:before { + content: "\e077"; } + +.fa-delicious:before { + content: "\f1a5"; } + +.fa-democrat:before { + content: "\f747"; } + +.fa-deploydog:before { + content: "\f38e"; } + +.fa-deskpro:before { + content: "\f38f"; } + +.fa-desktop:before { + content: "\f108"; } + +.fa-dev:before { + content: "\f6cc"; } + +.fa-deviantart:before { + content: "\f1bd"; } + +.fa-dharmachakra:before { + content: "\f655"; } + +.fa-dhl:before { + content: "\f790"; } + +.fa-diagnoses:before { + content: "\f470"; } + +.fa-diaspora:before { + content: "\f791"; } + +.fa-dice:before { + content: "\f522"; } + +.fa-dice-d20:before { + content: "\f6cf"; } + +.fa-dice-d6:before { + content: "\f6d1"; } + +.fa-dice-five:before { + content: "\f523"; } + +.fa-dice-four:before { + content: "\f524"; } + +.fa-dice-one:before { + content: "\f525"; } + +.fa-dice-six:before { + content: "\f526"; } + +.fa-dice-three:before { + content: "\f527"; } + +.fa-dice-two:before { + content: "\f528"; } + +.fa-digg:before { + content: "\f1a6"; } + +.fa-digital-ocean:before { + content: "\f391"; } + +.fa-digital-tachograph:before { + content: "\f566"; } + +.fa-directions:before { + content: "\f5eb"; } + +.fa-discord:before { + content: "\f392"; } + +.fa-discourse:before { + content: "\f393"; } + +.fa-disease:before { + content: "\f7fa"; } + +.fa-divide:before { + content: "\f529"; } + +.fa-dizzy:before { + content: "\f567"; } + +.fa-dna:before { + content: "\f471"; } + +.fa-dochub:before { + content: "\f394"; } + +.fa-docker:before { + content: "\f395"; } + +.fa-dog:before { + content: "\f6d3"; } + +.fa-dollar-sign:before { + content: "\f155"; } + +.fa-dolly:before { + content: "\f472"; } + +.fa-dolly-flatbed:before { + content: "\f474"; } + +.fa-donate:before { + content: "\f4b9"; } + +.fa-door-closed:before { + content: "\f52a"; } + +.fa-door-open:before { + content: "\f52b"; } + +.fa-dot-circle:before { + content: "\f192"; } + +.fa-dove:before { + content: "\f4ba"; } + +.fa-download:before { + content: "\f019"; } + +.fa-draft2digital:before { + content: "\f396"; } + +.fa-drafting-compass:before { + content: "\f568"; } + +.fa-dragon:before { + content: "\f6d5"; } + +.fa-draw-polygon:before { + content: "\f5ee"; } + +.fa-dribbble:before { + content: "\f17d"; } + +.fa-dribbble-square:before { + content: "\f397"; } + +.fa-dropbox:before { + content: "\f16b"; } + +.fa-drum:before { + content: "\f569"; } + +.fa-drum-steelpan:before { + content: "\f56a"; } + +.fa-drumstick-bite:before { + content: "\f6d7"; } + +.fa-drupal:before { + content: "\f1a9"; } + +.fa-dumbbell:before { + content: "\f44b"; } + +.fa-dumpster:before { + content: "\f793"; } + +.fa-dumpster-fire:before { + content: "\f794"; } + +.fa-dungeon:before { + content: "\f6d9"; } + +.fa-dyalog:before { + content: "\f399"; } + +.fa-earlybirds:before { + content: "\f39a"; } + +.fa-ebay:before { + content: "\f4f4"; } + +.fa-edge:before { + content: "\f282"; } + +.fa-edge-legacy:before { + content: "\e078"; } + +.fa-edit:before { + content: "\f044"; } + +.fa-egg:before { + content: "\f7fb"; } + +.fa-eject:before { + content: "\f052"; } + +.fa-elementor:before { + content: "\f430"; } + +.fa-ellipsis-h:before { + content: "\f141"; } + +.fa-ellipsis-v:before { + content: "\f142"; } + +.fa-ello:before { + content: "\f5f1"; } + +.fa-ember:before { + content: "\f423"; } + +.fa-empire:before { + content: "\f1d1"; } + +.fa-envelope:before { + content: "\f0e0"; } + +.fa-envelope-open:before { + content: "\f2b6"; } + +.fa-envelope-open-text:before { + content: "\f658"; } + +.fa-envelope-square:before { + content: "\f199"; } + +.fa-envira:before { + content: "\f299"; } + +.fa-equals:before { + content: "\f52c"; } + +.fa-eraser:before { + content: "\f12d"; } + +.fa-erlang:before { + content: "\f39d"; } + +.fa-ethereum:before { + content: "\f42e"; } + +.fa-ethernet:before { + content: "\f796"; } + +.fa-etsy:before { + content: "\f2d7"; } + +.fa-euro-sign:before { + content: "\f153"; } + +.fa-evernote:before { + content: "\f839"; } + +.fa-exchange-alt:before { + content: "\f362"; } + +.fa-exclamation:before { + content: "\f12a"; } + +.fa-exclamation-circle:before { + content: "\f06a"; } + +.fa-exclamation-triangle:before { + content: "\f071"; } + +.fa-expand:before { + content: "\f065"; } + +.fa-expand-alt:before { + content: "\f424"; } + +.fa-expand-arrows-alt:before { + content: "\f31e"; } + +.fa-expeditedssl:before { + content: "\f23e"; } + +.fa-external-link-alt:before { + content: "\f35d"; } + +.fa-external-link-square-alt:before { + content: "\f360"; } + +.fa-eye:before { + content: "\f06e"; } + +.fa-eye-dropper:before { + content: "\f1fb"; } + +.fa-eye-slash:before { + content: "\f070"; } + +.fa-facebook:before { + content: "\f09a"; } + +.fa-facebook-f:before { + content: "\f39e"; } + +.fa-facebook-messenger:before { + content: "\f39f"; } + +.fa-facebook-square:before { + content: "\f082"; } + +.fa-fan:before { + content: "\f863"; } + +.fa-fantasy-flight-games:before { + content: "\f6dc"; } + +.fa-fast-backward:before { + content: "\f049"; } + +.fa-fast-forward:before { + content: "\f050"; } + +.fa-faucet:before { + content: "\e005"; } + +.fa-fax:before { + content: "\f1ac"; } + +.fa-feather:before { + content: "\f52d"; } + +.fa-feather-alt:before { + content: "\f56b"; } + +.fa-fedex:before { + content: "\f797"; } + +.fa-fedora:before { + content: "\f798"; } + +.fa-female:before { + content: "\f182"; } + +.fa-fighter-jet:before { + content: "\f0fb"; } + +.fa-figma:before { + content: "\f799"; } + +.fa-file:before { + content: "\f15b"; } + +.fa-file-alt:before { + content: "\f15c"; } + +.fa-file-archive:before { + content: "\f1c6"; } + +.fa-file-audio:before { + content: "\f1c7"; } + +.fa-file-code:before { + content: "\f1c9"; } + +.fa-file-contract:before { + content: "\f56c"; } + +.fa-file-csv:before { + content: "\f6dd"; } + +.fa-file-download:before { + content: "\f56d"; } + +.fa-file-excel:before { + content: "\f1c3"; } + +.fa-file-export:before { + content: "\f56e"; } + +.fa-file-image:before { + content: "\f1c5"; } + +.fa-file-import:before { + content: "\f56f"; } + +.fa-file-invoice:before { + content: "\f570"; } + +.fa-file-invoice-dollar:before { + content: "\f571"; } + +.fa-file-medical:before { + content: "\f477"; } + +.fa-file-medical-alt:before { + content: "\f478"; } + +.fa-file-pdf:before { + content: "\f1c1"; } + +.fa-file-powerpoint:before { + content: "\f1c4"; } + +.fa-file-prescription:before { + content: "\f572"; } + +.fa-file-signature:before { + content: "\f573"; } + +.fa-file-upload:before { + content: "\f574"; } + +.fa-file-video:before { + content: "\f1c8"; } + +.fa-file-word:before { + content: "\f1c2"; } + +.fa-fill:before { + content: "\f575"; } + +.fa-fill-drip:before { + content: "\f576"; } + +.fa-film:before { + content: "\f008"; } + +.fa-filter:before { + content: "\f0b0"; } + +.fa-fingerprint:before { + content: "\f577"; } + +.fa-fire:before { + content: "\f06d"; } + +.fa-fire-alt:before { + content: "\f7e4"; } + +.fa-fire-extinguisher:before { + content: "\f134"; } + +.fa-firefox:before { + content: "\f269"; } + +.fa-firefox-browser:before { + content: "\e007"; } + +.fa-first-aid:before { + content: "\f479"; } + +.fa-first-order:before { + content: "\f2b0"; } + +.fa-first-order-alt:before { + content: "\f50a"; } + +.fa-firstdraft:before { + content: "\f3a1"; } + +.fa-fish:before { + content: "\f578"; } + +.fa-fist-raised:before { + content: "\f6de"; } + +.fa-flag:before { + content: "\f024"; } + +.fa-flag-checkered:before { + content: "\f11e"; } + +.fa-flag-usa:before { + content: "\f74d"; } + +.fa-flask:before { + content: "\f0c3"; } + +.fa-flickr:before { + content: "\f16e"; } + +.fa-flipboard:before { + content: "\f44d"; } + +.fa-flushed:before { + content: "\f579"; } + +.fa-fly:before { + content: "\f417"; } + +.fa-folder:before { + content: "\f07b"; } + +.fa-folder-minus:before { + content: "\f65d"; } + +.fa-folder-open:before { + content: "\f07c"; } + +.fa-folder-plus:before { + content: "\f65e"; } + +.fa-font:before { + content: "\f031"; } + +.fa-font-awesome:before { + content: "\f2b4"; } + +.fa-font-awesome-alt:before { + content: "\f35c"; } + +.fa-font-awesome-flag:before { + content: "\f425"; } + +.fa-font-awesome-logo-full:before { + content: "\f4e6"; } + +.fa-fonticons:before { + content: "\f280"; } + +.fa-fonticons-fi:before { + content: "\f3a2"; } + +.fa-football-ball:before { + content: "\f44e"; } + +.fa-fort-awesome:before { + content: "\f286"; } + +.fa-fort-awesome-alt:before { + content: "\f3a3"; } + +.fa-forumbee:before { + content: "\f211"; } + +.fa-forward:before { + content: "\f04e"; } + +.fa-foursquare:before { + content: "\f180"; } + +.fa-free-code-camp:before { + content: "\f2c5"; } + +.fa-freebsd:before { + content: "\f3a4"; } + +.fa-frog:before { + content: "\f52e"; } + +.fa-frown:before { + content: "\f119"; } + +.fa-frown-open:before { + content: "\f57a"; } + +.fa-fulcrum:before { + content: "\f50b"; } + +.fa-funnel-dollar:before { + content: "\f662"; } + +.fa-futbol:before { + content: "\f1e3"; } + +.fa-galactic-republic:before { + content: "\f50c"; } + +.fa-galactic-senate:before { + content: "\f50d"; } + +.fa-gamepad:before { + content: "\f11b"; } + +.fa-gas-pump:before { + content: "\f52f"; } + +.fa-gavel:before { + content: "\f0e3"; } + +.fa-gem:before { + content: "\f3a5"; } + +.fa-genderless:before { + content: "\f22d"; } + +.fa-get-pocket:before { + content: "\f265"; } + +.fa-gg:before { + content: "\f260"; } + +.fa-gg-circle:before { + content: "\f261"; } + +.fa-ghost:before { + content: "\f6e2"; } + +.fa-gift:before { + content: "\f06b"; } + +.fa-gifts:before { + content: "\f79c"; } + +.fa-git:before { + content: "\f1d3"; } + +.fa-git-alt:before { + content: "\f841"; } + +.fa-git-square:before { + content: "\f1d2"; } + +.fa-github:before { + content: "\f09b"; } + +.fa-github-alt:before { + content: "\f113"; } + +.fa-github-square:before { + content: "\f092"; } + +.fa-gitkraken:before { + content: "\f3a6"; } + +.fa-gitlab:before { + content: "\f296"; } + +.fa-gitter:before { + content: "\f426"; } + +.fa-glass-cheers:before { + content: "\f79f"; } + +.fa-glass-martini:before { + content: "\f000"; } + +.fa-glass-martini-alt:before { + content: "\f57b"; } + +.fa-glass-whiskey:before { + content: "\f7a0"; } + +.fa-glasses:before { + content: "\f530"; } + +.fa-glide:before { + content: "\f2a5"; } + +.fa-glide-g:before { + content: "\f2a6"; } + +.fa-globe:before { + content: "\f0ac"; } + +.fa-globe-africa:before { + content: "\f57c"; } + +.fa-globe-americas:before { + content: "\f57d"; } + +.fa-globe-asia:before { + content: "\f57e"; } + +.fa-globe-europe:before { + content: "\f7a2"; } + +.fa-gofore:before { + content: "\f3a7"; } + +.fa-golf-ball:before { + content: "\f450"; } + +.fa-goodreads:before { + content: "\f3a8"; } + +.fa-goodreads-g:before { + content: "\f3a9"; } + +.fa-google:before { + content: "\f1a0"; } + +.fa-google-drive:before { + content: "\f3aa"; } + +.fa-google-pay:before { + content: "\e079"; } + +.fa-google-play:before { + content: "\f3ab"; } + +.fa-google-plus:before { + content: "\f2b3"; } + +.fa-google-plus-g:before { + content: "\f0d5"; } + +.fa-google-plus-square:before { + content: "\f0d4"; } + +.fa-google-wallet:before { + content: "\f1ee"; } + +.fa-gopuram:before { + content: "\f664"; } + +.fa-graduation-cap:before { + content: "\f19d"; } + +.fa-gratipay:before { + content: "\f184"; } + +.fa-grav:before { + content: "\f2d6"; } + +.fa-greater-than:before { + content: "\f531"; } + +.fa-greater-than-equal:before { + content: "\f532"; } + +.fa-grimace:before { + content: "\f57f"; } + +.fa-grin:before { + content: "\f580"; } + +.fa-grin-alt:before { + content: "\f581"; } + +.fa-grin-beam:before { + content: "\f582"; } + +.fa-grin-beam-sweat:before { + content: "\f583"; } + +.fa-grin-hearts:before { + content: "\f584"; } + +.fa-grin-squint:before { + content: "\f585"; } + +.fa-grin-squint-tears:before { + content: "\f586"; } + +.fa-grin-stars:before { + content: "\f587"; } + +.fa-grin-tears:before { + content: "\f588"; } + +.fa-grin-tongue:before { + content: "\f589"; } + +.fa-grin-tongue-squint:before { + content: "\f58a"; } + +.fa-grin-tongue-wink:before { + content: "\f58b"; } + +.fa-grin-wink:before { + content: "\f58c"; } + +.fa-grip-horizontal:before { + content: "\f58d"; } + +.fa-grip-lines:before { + content: "\f7a4"; } + +.fa-grip-lines-vertical:before { + content: "\f7a5"; } + +.fa-grip-vertical:before { + content: "\f58e"; } + +.fa-gripfire:before { + content: "\f3ac"; } + +.fa-grunt:before { + content: "\f3ad"; } + +.fa-guilded:before { + content: "\e07e"; } + +.fa-guitar:before { + content: "\f7a6"; } + +.fa-gulp:before { + content: "\f3ae"; } + +.fa-h-square:before { + content: "\f0fd"; } + +.fa-hacker-news:before { + content: "\f1d4"; } + +.fa-hacker-news-square:before { + content: "\f3af"; } + +.fa-hackerrank:before { + content: "\f5f7"; } + +.fa-hamburger:before { + content: "\f805"; } + +.fa-hammer:before { + content: "\f6e3"; } + +.fa-hamsa:before { + content: "\f665"; } + +.fa-hand-holding:before { + content: "\f4bd"; } + +.fa-hand-holding-heart:before { + content: "\f4be"; } + +.fa-hand-holding-medical:before { + content: "\e05c"; } + +.fa-hand-holding-usd:before { + content: "\f4c0"; } + +.fa-hand-holding-water:before { + content: "\f4c1"; } + +.fa-hand-lizard:before { + content: "\f258"; } + +.fa-hand-middle-finger:before { + content: "\f806"; } + +.fa-hand-paper:before { + content: "\f256"; } + +.fa-hand-peace:before { + content: "\f25b"; } + +.fa-hand-point-down:before { + content: "\f0a7"; } + +.fa-hand-point-left:before { + content: "\f0a5"; } + +.fa-hand-point-right:before { + content: "\f0a4"; } + +.fa-hand-point-up:before { + content: "\f0a6"; } + +.fa-hand-pointer:before { + content: "\f25a"; } + +.fa-hand-rock:before { + content: "\f255"; } + +.fa-hand-scissors:before { + content: "\f257"; } + +.fa-hand-sparkles:before { + content: "\e05d"; } + +.fa-hand-spock:before { + content: "\f259"; } + +.fa-hands:before { + content: "\f4c2"; } + +.fa-hands-helping:before { + content: "\f4c4"; } + +.fa-hands-wash:before { + content: "\e05e"; } + +.fa-handshake:before { + content: "\f2b5"; } + +.fa-handshake-alt-slash:before { + content: "\e05f"; } + +.fa-handshake-slash:before { + content: "\e060"; } + +.fa-hanukiah:before { + content: "\f6e6"; } + +.fa-hard-hat:before { + content: "\f807"; } + +.fa-hashtag:before { + content: "\f292"; } + +.fa-hat-cowboy:before { + content: "\f8c0"; } + +.fa-hat-cowboy-side:before { + content: "\f8c1"; } + +.fa-hat-wizard:before { + content: "\f6e8"; } + +.fa-hdd:before { + content: "\f0a0"; } + +.fa-head-side-cough:before { + content: "\e061"; } + +.fa-head-side-cough-slash:before { + content: "\e062"; } + +.fa-head-side-mask:before { + content: "\e063"; } + +.fa-head-side-virus:before { + content: "\e064"; } + +.fa-heading:before { + content: "\f1dc"; } + +.fa-headphones:before { + content: "\f025"; } + +.fa-headphones-alt:before { + content: "\f58f"; } + +.fa-headset:before { + content: "\f590"; } + +.fa-heart:before { + content: "\f004"; } + +.fa-heart-broken:before { + content: "\f7a9"; } + +.fa-heartbeat:before { + content: "\f21e"; } + +.fa-helicopter:before { + content: "\f533"; } + +.fa-highlighter:before { + content: "\f591"; } + +.fa-hiking:before { + content: "\f6ec"; } + +.fa-hippo:before { + content: "\f6ed"; } + +.fa-hips:before { + content: "\f452"; } + +.fa-hire-a-helper:before { + content: "\f3b0"; } + +.fa-history:before { + content: "\f1da"; } + +.fa-hive:before { + content: "\e07f"; } + +.fa-hockey-puck:before { + content: "\f453"; } + +.fa-holly-berry:before { + content: "\f7aa"; } + +.fa-home:before { + content: "\f015"; } + +.fa-hooli:before { + content: "\f427"; } + +.fa-hornbill:before { + content: "\f592"; } + +.fa-horse:before { + content: "\f6f0"; } + +.fa-horse-head:before { + content: "\f7ab"; } + +.fa-hospital:before { + content: "\f0f8"; } + +.fa-hospital-alt:before { + content: "\f47d"; } + +.fa-hospital-symbol:before { + content: "\f47e"; } + +.fa-hospital-user:before { + content: "\f80d"; } + +.fa-hot-tub:before { + content: "\f593"; } + +.fa-hotdog:before { + content: "\f80f"; } + +.fa-hotel:before { + content: "\f594"; } + +.fa-hotjar:before { + content: "\f3b1"; } + +.fa-hourglass:before { + content: "\f254"; } + +.fa-hourglass-end:before { + content: "\f253"; } + +.fa-hourglass-half:before { + content: "\f252"; } + +.fa-hourglass-start:before { + content: "\f251"; } + +.fa-house-damage:before { + content: "\f6f1"; } + +.fa-house-user:before { + content: "\e065"; } + +.fa-houzz:before { + content: "\f27c"; } + +.fa-hryvnia:before { + content: "\f6f2"; } + +.fa-html5:before { + content: "\f13b"; } + +.fa-hubspot:before { + content: "\f3b2"; } + +.fa-i-cursor:before { + content: "\f246"; } + +.fa-ice-cream:before { + content: "\f810"; } + +.fa-icicles:before { + content: "\f7ad"; } + +.fa-icons:before { + content: "\f86d"; } + +.fa-id-badge:before { + content: "\f2c1"; } + +.fa-id-card:before { + content: "\f2c2"; } + +.fa-id-card-alt:before { + content: "\f47f"; } + +.fa-ideal:before { + content: "\e013"; } + +.fa-igloo:before { + content: "\f7ae"; } + +.fa-image:before { + content: "\f03e"; } + +.fa-images:before { + content: "\f302"; } + +.fa-imdb:before { + content: "\f2d8"; } + +.fa-inbox:before { + content: "\f01c"; } + +.fa-indent:before { + content: "\f03c"; } + +.fa-industry:before { + content: "\f275"; } + +.fa-infinity:before { + content: "\f534"; } + +.fa-info:before { + content: "\f129"; } + +.fa-info-circle:before { + content: "\f05a"; } + +.fa-innosoft:before { + content: "\e080"; } + +.fa-instagram:before { + content: "\f16d"; } + +.fa-instagram-square:before { + content: "\e055"; } + +.fa-instalod:before { + content: "\e081"; } + +.fa-intercom:before { + content: "\f7af"; } + +.fa-internet-explorer:before { + content: "\f26b"; } + +.fa-invision:before { + content: "\f7b0"; } + +.fa-ioxhost:before { + content: "\f208"; } + +.fa-italic:before { + content: "\f033"; } + +.fa-itch-io:before { + content: "\f83a"; } + +.fa-itunes:before { + content: "\f3b4"; } + +.fa-itunes-note:before { + content: "\f3b5"; } + +.fa-java:before { + content: "\f4e4"; } + +.fa-jedi:before { + content: "\f669"; } + +.fa-jedi-order:before { + content: "\f50e"; } + +.fa-jenkins:before { + content: "\f3b6"; } + +.fa-jira:before { + content: "\f7b1"; } + +.fa-joget:before { + content: "\f3b7"; } + +.fa-joint:before { + content: "\f595"; } + +.fa-joomla:before { + content: "\f1aa"; } + +.fa-journal-whills:before { + content: "\f66a"; } + +.fa-js:before { + content: "\f3b8"; } + +.fa-js-square:before { + content: "\f3b9"; } + +.fa-jsfiddle:before { + content: "\f1cc"; } + +.fa-kaaba:before { + content: "\f66b"; } + +.fa-kaggle:before { + content: "\f5fa"; } + +.fa-key:before { + content: "\f084"; } + +.fa-keybase:before { + content: "\f4f5"; } + +.fa-keyboard:before { + content: "\f11c"; } + +.fa-keycdn:before { + content: "\f3ba"; } + +.fa-khanda:before { + content: "\f66d"; } + +.fa-kickstarter:before { + content: "\f3bb"; } + +.fa-kickstarter-k:before { + content: "\f3bc"; } + +.fa-kiss:before { + content: "\f596"; } + +.fa-kiss-beam:before { + content: "\f597"; } + +.fa-kiss-wink-heart:before { + content: "\f598"; } + +.fa-kiwi-bird:before { + content: "\f535"; } + +.fa-korvue:before { + content: "\f42f"; } + +.fa-landmark:before { + content: "\f66f"; } + +.fa-language:before { + content: "\f1ab"; } + +.fa-laptop:before { + content: "\f109"; } + +.fa-laptop-code:before { + content: "\f5fc"; } + +.fa-laptop-house:before { + content: "\e066"; } + +.fa-laptop-medical:before { + content: "\f812"; } + +.fa-laravel:before { + content: "\f3bd"; } + +.fa-lastfm:before { + content: "\f202"; } + +.fa-lastfm-square:before { + content: "\f203"; } + +.fa-laugh:before { + content: "\f599"; } + +.fa-laugh-beam:before { + content: "\f59a"; } + +.fa-laugh-squint:before { + content: "\f59b"; } + +.fa-laugh-wink:before { + content: "\f59c"; } + +.fa-layer-group:before { + content: "\f5fd"; } + +.fa-leaf:before { + content: "\f06c"; } + +.fa-leanpub:before { + content: "\f212"; } + +.fa-lemon:before { + content: "\f094"; } + +.fa-less:before { + content: "\f41d"; } + +.fa-less-than:before { + content: "\f536"; } + +.fa-less-than-equal:before { + content: "\f537"; } + +.fa-level-down-alt:before { + content: "\f3be"; } + +.fa-level-up-alt:before { + content: "\f3bf"; } + +.fa-life-ring:before { + content: "\f1cd"; } + +.fa-lightbulb:before { + content: "\f0eb"; } + +.fa-line:before { + content: "\f3c0"; } + +.fa-link:before { + content: "\f0c1"; } + +.fa-linkedin:before { + content: "\f08c"; } + +.fa-linkedin-in:before { + content: "\f0e1"; } + +.fa-linode:before { + content: "\f2b8"; } + +.fa-linux:before { + content: "\f17c"; } + +.fa-lira-sign:before { + content: "\f195"; } + +.fa-list:before { + content: "\f03a"; } + +.fa-list-alt:before { + content: "\f022"; } + +.fa-list-ol:before { + content: "\f0cb"; } + +.fa-list-ul:before { + content: "\f0ca"; } + +.fa-location-arrow:before { + content: "\f124"; } + +.fa-lock:before { + content: "\f023"; } + +.fa-lock-open:before { + content: "\f3c1"; } + +.fa-long-arrow-alt-down:before { + content: "\f309"; } + +.fa-long-arrow-alt-left:before { + content: "\f30a"; } + +.fa-long-arrow-alt-right:before { + content: "\f30b"; } + +.fa-long-arrow-alt-up:before { + content: "\f30c"; } + +.fa-low-vision:before { + content: "\f2a8"; } + +.fa-luggage-cart:before { + content: "\f59d"; } + +.fa-lungs:before { + content: "\f604"; } + +.fa-lungs-virus:before { + content: "\e067"; } + +.fa-lyft:before { + content: "\f3c3"; } + +.fa-magento:before { + content: "\f3c4"; } + +.fa-magic:before { + content: "\f0d0"; } + +.fa-magnet:before { + content: "\f076"; } + +.fa-mail-bulk:before { + content: "\f674"; } + +.fa-mailchimp:before { + content: "\f59e"; } + +.fa-male:before { + content: "\f183"; } + +.fa-mandalorian:before { + content: "\f50f"; } + +.fa-map:before { + content: "\f279"; } + +.fa-map-marked:before { + content: "\f59f"; } + +.fa-map-marked-alt:before { + content: "\f5a0"; } + +.fa-map-marker:before { + content: "\f041"; } + +.fa-map-marker-alt:before { + content: "\f3c5"; } + +.fa-map-pin:before { + content: "\f276"; } + +.fa-map-signs:before { + content: "\f277"; } + +.fa-markdown:before { + content: "\f60f"; } + +.fa-marker:before { + content: "\f5a1"; } + +.fa-mars:before { + content: "\f222"; } + +.fa-mars-double:before { + content: "\f227"; } + +.fa-mars-stroke:before { + content: "\f229"; } + +.fa-mars-stroke-h:before { + content: "\f22b"; } + +.fa-mars-stroke-v:before { + content: "\f22a"; } + +.fa-mask:before { + content: "\f6fa"; } + +.fa-mastodon:before { + content: "\f4f6"; } + +.fa-maxcdn:before { + content: "\f136"; } + +.fa-mdb:before { + content: "\f8ca"; } + +.fa-medal:before { + content: "\f5a2"; } + +.fa-medapps:before { + content: "\f3c6"; } + +.fa-medium:before { + content: "\f23a"; } + +.fa-medium-m:before { + content: "\f3c7"; } + +.fa-medkit:before { + content: "\f0fa"; } + +.fa-medrt:before { + content: "\f3c8"; } + +.fa-meetup:before { + content: "\f2e0"; } + +.fa-megaport:before { + content: "\f5a3"; } + +.fa-meh:before { + content: "\f11a"; } + +.fa-meh-blank:before { + content: "\f5a4"; } + +.fa-meh-rolling-eyes:before { + content: "\f5a5"; } + +.fa-memory:before { + content: "\f538"; } + +.fa-mendeley:before { + content: "\f7b3"; } + +.fa-menorah:before { + content: "\f676"; } + +.fa-mercury:before { + content: "\f223"; } + +.fa-meteor:before { + content: "\f753"; } + +.fa-microblog:before { + content: "\e01a"; } + +.fa-microchip:before { + content: "\f2db"; } + +.fa-microphone:before { + content: "\f130"; } + +.fa-microphone-alt:before { + content: "\f3c9"; } + +.fa-microphone-alt-slash:before { + content: "\f539"; } + +.fa-microphone-slash:before { + content: "\f131"; } + +.fa-microscope:before { + content: "\f610"; } + +.fa-microsoft:before { + content: "\f3ca"; } + +.fa-minus:before { + content: "\f068"; } + +.fa-minus-circle:before { + content: "\f056"; } + +.fa-minus-square:before { + content: "\f146"; } + +.fa-mitten:before { + content: "\f7b5"; } + +.fa-mix:before { + content: "\f3cb"; } + +.fa-mixcloud:before { + content: "\f289"; } + +.fa-mixer:before { + content: "\e056"; } + +.fa-mizuni:before { + content: "\f3cc"; } + +.fa-mobile:before { + content: "\f10b"; } + +.fa-mobile-alt:before { + content: "\f3cd"; } + +.fa-modx:before { + content: "\f285"; } + +.fa-monero:before { + content: "\f3d0"; } + +.fa-money-bill:before { + content: "\f0d6"; } + +.fa-money-bill-alt:before { + content: "\f3d1"; } + +.fa-money-bill-wave:before { + content: "\f53a"; } + +.fa-money-bill-wave-alt:before { + content: "\f53b"; } + +.fa-money-check:before { + content: "\f53c"; } + +.fa-money-check-alt:before { + content: "\f53d"; } + +.fa-monument:before { + content: "\f5a6"; } + +.fa-moon:before { + content: "\f186"; } + +.fa-mortar-pestle:before { + content: "\f5a7"; } + +.fa-mosque:before { + content: "\f678"; } + +.fa-motorcycle:before { + content: "\f21c"; } + +.fa-mountain:before { + content: "\f6fc"; } + +.fa-mouse:before { + content: "\f8cc"; } + +.fa-mouse-pointer:before { + content: "\f245"; } + +.fa-mug-hot:before { + content: "\f7b6"; } + +.fa-music:before { + content: "\f001"; } + +.fa-napster:before { + content: "\f3d2"; } + +.fa-neos:before { + content: "\f612"; } + +.fa-network-wired:before { + content: "\f6ff"; } + +.fa-neuter:before { + content: "\f22c"; } + +.fa-newspaper:before { + content: "\f1ea"; } + +.fa-nimblr:before { + content: "\f5a8"; } + +.fa-node:before { + content: "\f419"; } + +.fa-node-js:before { + content: "\f3d3"; } + +.fa-not-equal:before { + content: "\f53e"; } + +.fa-notes-medical:before { + content: "\f481"; } + +.fa-npm:before { + content: "\f3d4"; } + +.fa-ns8:before { + content: "\f3d5"; } + +.fa-nutritionix:before { + content: "\f3d6"; } + +.fa-object-group:before { + content: "\f247"; } + +.fa-object-ungroup:before { + content: "\f248"; } + +.fa-octopus-deploy:before { + content: "\e082"; } + +.fa-odnoklassniki:before { + content: "\f263"; } + +.fa-odnoklassniki-square:before { + content: "\f264"; } + +.fa-oil-can:before { + content: "\f613"; } + +.fa-old-republic:before { + content: "\f510"; } + +.fa-om:before { + content: "\f679"; } + +.fa-opencart:before { + content: "\f23d"; } + +.fa-openid:before { + content: "\f19b"; } + +.fa-opera:before { + content: "\f26a"; } + +.fa-optin-monster:before { + content: "\f23c"; } + +.fa-orcid:before { + content: "\f8d2"; } + +.fa-osi:before { + content: "\f41a"; } + +.fa-otter:before { + content: "\f700"; } + +.fa-outdent:before { + content: "\f03b"; } + +.fa-page4:before { + content: "\f3d7"; } + +.fa-pagelines:before { + content: "\f18c"; } + +.fa-pager:before { + content: "\f815"; } + +.fa-paint-brush:before { + content: "\f1fc"; } + +.fa-paint-roller:before { + content: "\f5aa"; } + +.fa-palette:before { + content: "\f53f"; } + +.fa-palfed:before { + content: "\f3d8"; } + +.fa-pallet:before { + content: "\f482"; } + +.fa-paper-plane:before { + content: "\f1d8"; } + +.fa-paperclip:before { + content: "\f0c6"; } + +.fa-parachute-box:before { + content: "\f4cd"; } + +.fa-paragraph:before { + content: "\f1dd"; } + +.fa-parking:before { + content: "\f540"; } + +.fa-passport:before { + content: "\f5ab"; } + +.fa-pastafarianism:before { + content: "\f67b"; } + +.fa-paste:before { + content: "\f0ea"; } + +.fa-patreon:before { + content: "\f3d9"; } + +.fa-pause:before { + content: "\f04c"; } + +.fa-pause-circle:before { + content: "\f28b"; } + +.fa-paw:before { + content: "\f1b0"; } + +.fa-paypal:before { + content: "\f1ed"; } + +.fa-peace:before { + content: "\f67c"; } + +.fa-pen:before { + content: "\f304"; } + +.fa-pen-alt:before { + content: "\f305"; } + +.fa-pen-fancy:before { + content: "\f5ac"; } + +.fa-pen-nib:before { + content: "\f5ad"; } + +.fa-pen-square:before { + content: "\f14b"; } + +.fa-pencil-alt:before { + content: "\f303"; } + +.fa-pencil-ruler:before { + content: "\f5ae"; } + +.fa-penny-arcade:before { + content: "\f704"; } + +.fa-people-arrows:before { + content: "\e068"; } + +.fa-people-carry:before { + content: "\f4ce"; } + +.fa-pepper-hot:before { + content: "\f816"; } + +.fa-perbyte:before { + content: "\e083"; } + +.fa-percent:before { + content: "\f295"; } + +.fa-percentage:before { + content: "\f541"; } + +.fa-periscope:before { + content: "\f3da"; } + +.fa-person-booth:before { + content: "\f756"; } + +.fa-phabricator:before { + content: "\f3db"; } + +.fa-phoenix-framework:before { + content: "\f3dc"; } + +.fa-phoenix-squadron:before { + content: "\f511"; } + +.fa-phone:before { + content: "\f095"; } + +.fa-phone-alt:before { + content: "\f879"; } + +.fa-phone-slash:before { + content: "\f3dd"; } + +.fa-phone-square:before { + content: "\f098"; } + +.fa-phone-square-alt:before { + content: "\f87b"; } + +.fa-phone-volume:before { + content: "\f2a0"; } + +.fa-photo-video:before { + content: "\f87c"; } + +.fa-php:before { + content: "\f457"; } + +.fa-pied-piper:before { + content: "\f2ae"; } + +.fa-pied-piper-alt:before { + content: "\f1a8"; } + +.fa-pied-piper-hat:before { + content: "\f4e5"; } + +.fa-pied-piper-pp:before { + content: "\f1a7"; } + +.fa-pied-piper-square:before { + content: "\e01e"; } + +.fa-piggy-bank:before { + content: "\f4d3"; } + +.fa-pills:before { + content: "\f484"; } + +.fa-pinterest:before { + content: "\f0d2"; } + +.fa-pinterest-p:before { + content: "\f231"; } + +.fa-pinterest-square:before { + content: "\f0d3"; } + +.fa-pizza-slice:before { + content: "\f818"; } + +.fa-place-of-worship:before { + content: "\f67f"; } + +.fa-plane:before { + content: "\f072"; } + +.fa-plane-arrival:before { + content: "\f5af"; } + +.fa-plane-departure:before { + content: "\f5b0"; } + +.fa-plane-slash:before { + content: "\e069"; } + +.fa-play:before { + content: "\f04b"; } + +.fa-play-circle:before { + content: "\f144"; } + +.fa-playstation:before { + content: "\f3df"; } + +.fa-plug:before { + content: "\f1e6"; } + +.fa-plus:before { + content: "\f067"; } + +.fa-plus-circle:before { + content: "\f055"; } + +.fa-plus-square:before { + content: "\f0fe"; } + +.fa-podcast:before { + content: "\f2ce"; } + +.fa-poll:before { + content: "\f681"; } + +.fa-poll-h:before { + content: "\f682"; } + +.fa-poo:before { + content: "\f2fe"; } + +.fa-poo-storm:before { + content: "\f75a"; } + +.fa-poop:before { + content: "\f619"; } + +.fa-portrait:before { + content: "\f3e0"; } + +.fa-pound-sign:before { + content: "\f154"; } + +.fa-power-off:before { + content: "\f011"; } + +.fa-pray:before { + content: "\f683"; } + +.fa-praying-hands:before { + content: "\f684"; } + +.fa-prescription:before { + content: "\f5b1"; } + +.fa-prescription-bottle:before { + content: "\f485"; } + +.fa-prescription-bottle-alt:before { + content: "\f486"; } + +.fa-print:before { + content: "\f02f"; } + +.fa-procedures:before { + content: "\f487"; } + +.fa-product-hunt:before { + content: "\f288"; } + +.fa-project-diagram:before { + content: "\f542"; } + +.fa-pump-medical:before { + content: "\e06a"; } + +.fa-pump-soap:before { + content: "\e06b"; } + +.fa-pushed:before { + content: "\f3e1"; } + +.fa-puzzle-piece:before { + content: "\f12e"; } + +.fa-python:before { + content: "\f3e2"; } + +.fa-qq:before { + content: "\f1d6"; } + +.fa-qrcode:before { + content: "\f029"; } + +.fa-question:before { + content: "\f128"; } + +.fa-question-circle:before { + content: "\f059"; } + +.fa-quidditch:before { + content: "\f458"; } + +.fa-quinscape:before { + content: "\f459"; } + +.fa-quora:before { + content: "\f2c4"; } + +.fa-quote-left:before { + content: "\f10d"; } + +.fa-quote-right:before { + content: "\f10e"; } + +.fa-quran:before { + content: "\f687"; } + +.fa-r-project:before { + content: "\f4f7"; } + +.fa-radiation:before { + content: "\f7b9"; } + +.fa-radiation-alt:before { + content: "\f7ba"; } + +.fa-rainbow:before { + content: "\f75b"; } + +.fa-random:before { + content: "\f074"; } + +.fa-raspberry-pi:before { + content: "\f7bb"; } + +.fa-ravelry:before { + content: "\f2d9"; } + +.fa-react:before { + content: "\f41b"; } + +.fa-reacteurope:before { + content: "\f75d"; } + +.fa-readme:before { + content: "\f4d5"; } + +.fa-rebel:before { + content: "\f1d0"; } + +.fa-receipt:before { + content: "\f543"; } + +.fa-record-vinyl:before { + content: "\f8d9"; } + +.fa-recycle:before { + content: "\f1b8"; } + +.fa-red-river:before { + content: "\f3e3"; } + +.fa-reddit:before { + content: "\f1a1"; } + +.fa-reddit-alien:before { + content: "\f281"; } + +.fa-reddit-square:before { + content: "\f1a2"; } + +.fa-redhat:before { + content: "\f7bc"; } + +.fa-redo:before { + content: "\f01e"; } + +.fa-redo-alt:before { + content: "\f2f9"; } + +.fa-registered:before { + content: "\f25d"; } + +.fa-remove-format:before { + content: "\f87d"; } + +.fa-renren:before { + content: "\f18b"; } + +.fa-reply:before { + content: "\f3e5"; } + +.fa-reply-all:before { + content: "\f122"; } + +.fa-replyd:before { + content: "\f3e6"; } + +.fa-republican:before { + content: "\f75e"; } + +.fa-researchgate:before { + content: "\f4f8"; } + +.fa-resolving:before { + content: "\f3e7"; } + +.fa-restroom:before { + content: "\f7bd"; } + +.fa-retweet:before { + content: "\f079"; } + +.fa-rev:before { + content: "\f5b2"; } + +.fa-ribbon:before { + content: "\f4d6"; } + +.fa-ring:before { + content: "\f70b"; } + +.fa-road:before { + content: "\f018"; } + +.fa-robot:before { + content: "\f544"; } + +.fa-rocket:before { + content: "\f135"; } + +.fa-rocketchat:before { + content: "\f3e8"; } + +.fa-rockrms:before { + content: "\f3e9"; } + +.fa-route:before { + content: "\f4d7"; } + +.fa-rss:before { + content: "\f09e"; } + +.fa-rss-square:before { + content: "\f143"; } + +.fa-ruble-sign:before { + content: "\f158"; } + +.fa-ruler:before { + content: "\f545"; } + +.fa-ruler-combined:before { + content: "\f546"; } + +.fa-ruler-horizontal:before { + content: "\f547"; } + +.fa-ruler-vertical:before { + content: "\f548"; } + +.fa-running:before { + content: "\f70c"; } + +.fa-rupee-sign:before { + content: "\f156"; } + +.fa-rust:before { + content: "\e07a"; } + +.fa-sad-cry:before { + content: "\f5b3"; } + +.fa-sad-tear:before { + content: "\f5b4"; } + +.fa-safari:before { + content: "\f267"; } + +.fa-salesforce:before { + content: "\f83b"; } + +.fa-sass:before { + content: "\f41e"; } + +.fa-satellite:before { + content: "\f7bf"; } + +.fa-satellite-dish:before { + content: "\f7c0"; } + +.fa-save:before { + content: "\f0c7"; } + +.fa-schlix:before { + content: "\f3ea"; } + +.fa-school:before { + content: "\f549"; } + +.fa-screwdriver:before { + content: "\f54a"; } + +.fa-scribd:before { + content: "\f28a"; } + +.fa-scroll:before { + content: "\f70e"; } + +.fa-sd-card:before { + content: "\f7c2"; } + +.fa-search:before { + content: "\f002"; } + +.fa-search-dollar:before { + content: "\f688"; } + +.fa-search-location:before { + content: "\f689"; } + +.fa-search-minus:before { + content: "\f010"; } + +.fa-search-plus:before { + content: "\f00e"; } + +.fa-searchengin:before { + content: "\f3eb"; } + +.fa-seedling:before { + content: "\f4d8"; } + +.fa-sellcast:before { + content: "\f2da"; } + +.fa-sellsy:before { + content: "\f213"; } + +.fa-server:before { + content: "\f233"; } + +.fa-servicestack:before { + content: "\f3ec"; } + +.fa-shapes:before { + content: "\f61f"; } + +.fa-share:before { + content: "\f064"; } + +.fa-share-alt:before { + content: "\f1e0"; } + +.fa-share-alt-square:before { + content: "\f1e1"; } + +.fa-share-square:before { + content: "\f14d"; } + +.fa-shekel-sign:before { + content: "\f20b"; } + +.fa-shield-alt:before { + content: "\f3ed"; } + +.fa-shield-virus:before { + content: "\e06c"; } + +.fa-ship:before { + content: "\f21a"; } + +.fa-shipping-fast:before { + content: "\f48b"; } + +.fa-shirtsinbulk:before { + content: "\f214"; } + +.fa-shoe-prints:before { + content: "\f54b"; } + +.fa-shopify:before { + content: "\e057"; } + +.fa-shopping-bag:before { + content: "\f290"; } + +.fa-shopping-basket:before { + content: "\f291"; } + +.fa-shopping-cart:before { + content: "\f07a"; } + +.fa-shopware:before { + content: "\f5b5"; } + +.fa-shower:before { + content: "\f2cc"; } + +.fa-shuttle-van:before { + content: "\f5b6"; } + +.fa-sign:before { + content: "\f4d9"; } + +.fa-sign-in-alt:before { + content: "\f2f6"; } + +.fa-sign-language:before { + content: "\f2a7"; } + +.fa-sign-out-alt:before { + content: "\f2f5"; } + +.fa-signal:before { + content: "\f012"; } + +.fa-signature:before { + content: "\f5b7"; } + +.fa-sim-card:before { + content: "\f7c4"; } + +.fa-simplybuilt:before { + content: "\f215"; } + +.fa-sink:before { + content: "\e06d"; } + +.fa-sistrix:before { + content: "\f3ee"; } + +.fa-sitemap:before { + content: "\f0e8"; } + +.fa-sith:before { + content: "\f512"; } + +.fa-skating:before { + content: "\f7c5"; } + +.fa-sketch:before { + content: "\f7c6"; } + +.fa-skiing:before { + content: "\f7c9"; } + +.fa-skiing-nordic:before { + content: "\f7ca"; } + +.fa-skull:before { + content: "\f54c"; } + +.fa-skull-crossbones:before { + content: "\f714"; } + +.fa-skyatlas:before { + content: "\f216"; } + +.fa-skype:before { + content: "\f17e"; } + +.fa-slack:before { + content: "\f198"; } + +.fa-slack-hash:before { + content: "\f3ef"; } + +.fa-slash:before { + content: "\f715"; } + +.fa-sleigh:before { + content: "\f7cc"; } + +.fa-sliders-h:before { + content: "\f1de"; } + +.fa-slideshare:before { + content: "\f1e7"; } + +.fa-smile:before { + content: "\f118"; } + +.fa-smile-beam:before { + content: "\f5b8"; } + +.fa-smile-wink:before { + content: "\f4da"; } + +.fa-smog:before { + content: "\f75f"; } + +.fa-smoking:before { + content: "\f48d"; } + +.fa-smoking-ban:before { + content: "\f54d"; } + +.fa-sms:before { + content: "\f7cd"; } + +.fa-snapchat:before { + content: "\f2ab"; } + +.fa-snapchat-ghost:before { + content: "\f2ac"; } + +.fa-snapchat-square:before { + content: "\f2ad"; } + +.fa-snowboarding:before { + content: "\f7ce"; } + +.fa-snowflake:before { + content: "\f2dc"; } + +.fa-snowman:before { + content: "\f7d0"; } + +.fa-snowplow:before { + content: "\f7d2"; } + +.fa-soap:before { + content: "\e06e"; } + +.fa-socks:before { + content: "\f696"; } + +.fa-solar-panel:before { + content: "\f5ba"; } + +.fa-sort:before { + content: "\f0dc"; } + +.fa-sort-alpha-down:before { + content: "\f15d"; } + +.fa-sort-alpha-down-alt:before { + content: "\f881"; } + +.fa-sort-alpha-up:before { + content: "\f15e"; } + +.fa-sort-alpha-up-alt:before { + content: "\f882"; } + +.fa-sort-amount-down:before { + content: "\f160"; } + +.fa-sort-amount-down-alt:before { + content: "\f884"; } + +.fa-sort-amount-up:before { + content: "\f161"; } + +.fa-sort-amount-up-alt:before { + content: "\f885"; } + +.fa-sort-down:before { + content: "\f0dd"; } + +.fa-sort-numeric-down:before { + content: "\f162"; } + +.fa-sort-numeric-down-alt:before { + content: "\f886"; } + +.fa-sort-numeric-up:before { + content: "\f163"; } + +.fa-sort-numeric-up-alt:before { + content: "\f887"; } + +.fa-sort-up:before { + content: "\f0de"; } + +.fa-soundcloud:before { + content: "\f1be"; } + +.fa-sourcetree:before { + content: "\f7d3"; } + +.fa-spa:before { + content: "\f5bb"; } + +.fa-space-shuttle:before { + content: "\f197"; } + +.fa-speakap:before { + content: "\f3f3"; } + +.fa-speaker-deck:before { + content: "\f83c"; } + +.fa-spell-check:before { + content: "\f891"; } + +.fa-spider:before { + content: "\f717"; } + +.fa-spinner:before { + content: "\f110"; } + +.fa-splotch:before { + content: "\f5bc"; } + +.fa-spotify:before { + content: "\f1bc"; } + +.fa-spray-can:before { + content: "\f5bd"; } + +.fa-square:before { + content: "\f0c8"; } + +.fa-square-full:before { + content: "\f45c"; } + +.fa-square-root-alt:before { + content: "\f698"; } + +.fa-squarespace:before { + content: "\f5be"; } + +.fa-stack-exchange:before { + content: "\f18d"; } + +.fa-stack-overflow:before { + content: "\f16c"; } + +.fa-stackpath:before { + content: "\f842"; } + +.fa-stamp:before { + content: "\f5bf"; } + +.fa-star:before { + content: "\f005"; } + +.fa-star-and-crescent:before { + content: "\f699"; } + +.fa-star-half:before { + content: "\f089"; } + +.fa-star-half-alt:before { + content: "\f5c0"; } + +.fa-star-of-david:before { + content: "\f69a"; } + +.fa-star-of-life:before { + content: "\f621"; } + +.fa-staylinked:before { + content: "\f3f5"; } + +.fa-steam:before { + content: "\f1b6"; } + +.fa-steam-square:before { + content: "\f1b7"; } + +.fa-steam-symbol:before { + content: "\f3f6"; } + +.fa-step-backward:before { + content: "\f048"; } + +.fa-step-forward:before { + content: "\f051"; } + +.fa-stethoscope:before { + content: "\f0f1"; } + +.fa-sticker-mule:before { + content: "\f3f7"; } + +.fa-sticky-note:before { + content: "\f249"; } + +.fa-stop:before { + content: "\f04d"; } + +.fa-stop-circle:before { + content: "\f28d"; } + +.fa-stopwatch:before { + content: "\f2f2"; } + +.fa-stopwatch-20:before { + content: "\e06f"; } + +.fa-store:before { + content: "\f54e"; } + +.fa-store-alt:before { + content: "\f54f"; } + +.fa-store-alt-slash:before { + content: "\e070"; } + +.fa-store-slash:before { + content: "\e071"; } + +.fa-strava:before { + content: "\f428"; } + +.fa-stream:before { + content: "\f550"; } + +.fa-street-view:before { + content: "\f21d"; } + +.fa-strikethrough:before { + content: "\f0cc"; } + +.fa-stripe:before { + content: "\f429"; } + +.fa-stripe-s:before { + content: "\f42a"; } + +.fa-stroopwafel:before { + content: "\f551"; } + +.fa-studiovinari:before { + content: "\f3f8"; } + +.fa-stumbleupon:before { + content: "\f1a4"; } + +.fa-stumbleupon-circle:before { + content: "\f1a3"; } + +.fa-subscript:before { + content: "\f12c"; } + +.fa-subway:before { + content: "\f239"; } + +.fa-suitcase:before { + content: "\f0f2"; } + +.fa-suitcase-rolling:before { + content: "\f5c1"; } + +.fa-sun:before { + content: "\f185"; } + +.fa-superpowers:before { + content: "\f2dd"; } + +.fa-superscript:before { + content: "\f12b"; } + +.fa-supple:before { + content: "\f3f9"; } + +.fa-surprise:before { + content: "\f5c2"; } + +.fa-suse:before { + content: "\f7d6"; } + +.fa-swatchbook:before { + content: "\f5c3"; } + +.fa-swift:before { + content: "\f8e1"; } + +.fa-swimmer:before { + content: "\f5c4"; } + +.fa-swimming-pool:before { + content: "\f5c5"; } + +.fa-symfony:before { + content: "\f83d"; } + +.fa-synagogue:before { + content: "\f69b"; } + +.fa-sync:before { + content: "\f021"; } + +.fa-sync-alt:before { + content: "\f2f1"; } + +.fa-syringe:before { + content: "\f48e"; } + +.fa-table:before { + content: "\f0ce"; } + +.fa-table-tennis:before { + content: "\f45d"; } + +.fa-tablet:before { + content: "\f10a"; } + +.fa-tablet-alt:before { + content: "\f3fa"; } + +.fa-tablets:before { + content: "\f490"; } + +.fa-tachometer-alt:before { + content: "\f3fd"; } + +.fa-tag:before { + content: "\f02b"; } + +.fa-tags:before { + content: "\f02c"; } + +.fa-tape:before { + content: "\f4db"; } + +.fa-tasks:before { + content: "\f0ae"; } + +.fa-taxi:before { + content: "\f1ba"; } + +.fa-teamspeak:before { + content: "\f4f9"; } + +.fa-teeth:before { + content: "\f62e"; } + +.fa-teeth-open:before { + content: "\f62f"; } + +.fa-telegram:before { + content: "\f2c6"; } + +.fa-telegram-plane:before { + content: "\f3fe"; } + +.fa-temperature-high:before { + content: "\f769"; } + +.fa-temperature-low:before { + content: "\f76b"; } + +.fa-tencent-weibo:before { + content: "\f1d5"; } + +.fa-tenge:before { + content: "\f7d7"; } + +.fa-terminal:before { + content: "\f120"; } + +.fa-text-height:before { + content: "\f034"; } + +.fa-text-width:before { + content: "\f035"; } + +.fa-th:before { + content: "\f00a"; } + +.fa-th-large:before { + content: "\f009"; } + +.fa-th-list:before { + content: "\f00b"; } + +.fa-the-red-yeti:before { + content: "\f69d"; } + +.fa-theater-masks:before { + content: "\f630"; } + +.fa-themeco:before { + content: "\f5c6"; } + +.fa-themeisle:before { + content: "\f2b2"; } + +.fa-thermometer:before { + content: "\f491"; } + +.fa-thermometer-empty:before { + content: "\f2cb"; } + +.fa-thermometer-full:before { + content: "\f2c7"; } + +.fa-thermometer-half:before { + content: "\f2c9"; } + +.fa-thermometer-quarter:before { + content: "\f2ca"; } + +.fa-thermometer-three-quarters:before { + content: "\f2c8"; } + +.fa-think-peaks:before { + content: "\f731"; } + +.fa-thumbs-down:before { + content: "\f165"; } + +.fa-thumbs-up:before { + content: "\f164"; } + +.fa-thumbtack:before { + content: "\f08d"; } + +.fa-ticket-alt:before { + content: "\f3ff"; } + +.fa-tiktok:before { + content: "\e07b"; } + +.fa-times:before { + content: "\f00d"; } + +.fa-times-circle:before { + content: "\f057"; } + +.fa-tint:before { + content: "\f043"; } + +.fa-tint-slash:before { + content: "\f5c7"; } + +.fa-tired:before { + content: "\f5c8"; } + +.fa-toggle-off:before { + content: "\f204"; } + +.fa-toggle-on:before { + content: "\f205"; } + +.fa-toilet:before { + content: "\f7d8"; } + +.fa-toilet-paper:before { + content: "\f71e"; } + +.fa-toilet-paper-slash:before { + content: "\e072"; } + +.fa-toolbox:before { + content: "\f552"; } + +.fa-tools:before { + content: "\f7d9"; } + +.fa-tooth:before { + content: "\f5c9"; } + +.fa-torah:before { + content: "\f6a0"; } + +.fa-torii-gate:before { + content: "\f6a1"; } + +.fa-tractor:before { + content: "\f722"; } + +.fa-trade-federation:before { + content: "\f513"; } + +.fa-trademark:before { + content: "\f25c"; } + +.fa-traffic-light:before { + content: "\f637"; } + +.fa-trailer:before { + content: "\e041"; } + +.fa-train:before { + content: "\f238"; } + +.fa-tram:before { + content: "\f7da"; } + +.fa-transgender:before { + content: "\f224"; } + +.fa-transgender-alt:before { + content: "\f225"; } + +.fa-trash:before { + content: "\f1f8"; } + +.fa-trash-alt:before { + content: "\f2ed"; } + +.fa-trash-restore:before { + content: "\f829"; } + +.fa-trash-restore-alt:before { + content: "\f82a"; } + +.fa-tree:before { + content: "\f1bb"; } + +.fa-trello:before { + content: "\f181"; } + +.fa-tripadvisor:before { + content: "\f262"; } + +.fa-trophy:before { + content: "\f091"; } + +.fa-truck:before { + content: "\f0d1"; } + +.fa-truck-loading:before { + content: "\f4de"; } + +.fa-truck-monster:before { + content: "\f63b"; } + +.fa-truck-moving:before { + content: "\f4df"; } + +.fa-truck-pickup:before { + content: "\f63c"; } + +.fa-tshirt:before { + content: "\f553"; } + +.fa-tty:before { + content: "\f1e4"; } + +.fa-tumblr:before { + content: "\f173"; } + +.fa-tumblr-square:before { + content: "\f174"; } + +.fa-tv:before { + content: "\f26c"; } + +.fa-twitch:before { + content: "\f1e8"; } + +.fa-twitter:before { + content: "\f099"; } + +.fa-twitter-square:before { + content: "\f081"; } + +.fa-typo3:before { + content: "\f42b"; } + +.fa-uber:before { + content: "\f402"; } + +.fa-ubuntu:before { + content: "\f7df"; } + +.fa-uikit:before { + content: "\f403"; } + +.fa-umbraco:before { + content: "\f8e8"; } + +.fa-umbrella:before { + content: "\f0e9"; } + +.fa-umbrella-beach:before { + content: "\f5ca"; } + +.fa-uncharted:before { + content: "\e084"; } + +.fa-underline:before { + content: "\f0cd"; } + +.fa-undo:before { + content: "\f0e2"; } + +.fa-undo-alt:before { + content: "\f2ea"; } + +.fa-uniregistry:before { + content: "\f404"; } + +.fa-unity:before { + content: "\e049"; } + +.fa-universal-access:before { + content: "\f29a"; } + +.fa-university:before { + content: "\f19c"; } + +.fa-unlink:before { + content: "\f127"; } + +.fa-unlock:before { + content: "\f09c"; } + +.fa-unlock-alt:before { + content: "\f13e"; } + +.fa-unsplash:before { + content: "\e07c"; } + +.fa-untappd:before { + content: "\f405"; } + +.fa-upload:before { + content: "\f093"; } + +.fa-ups:before { + content: "\f7e0"; } + +.fa-usb:before { + content: "\f287"; } + +.fa-user:before { + content: "\f007"; } + +.fa-user-alt:before { + content: "\f406"; } + +.fa-user-alt-slash:before { + content: "\f4fa"; } + +.fa-user-astronaut:before { + content: "\f4fb"; } + +.fa-user-check:before { + content: "\f4fc"; } + +.fa-user-circle:before { + content: "\f2bd"; } + +.fa-user-clock:before { + content: "\f4fd"; } + +.fa-user-cog:before { + content: "\f4fe"; } + +.fa-user-edit:before { + content: "\f4ff"; } + +.fa-user-friends:before { + content: "\f500"; } + +.fa-user-graduate:before { + content: "\f501"; } + +.fa-user-injured:before { + content: "\f728"; } + +.fa-user-lock:before { + content: "\f502"; } + +.fa-user-md:before { + content: "\f0f0"; } + +.fa-user-minus:before { + content: "\f503"; } + +.fa-user-ninja:before { + content: "\f504"; } + +.fa-user-nurse:before { + content: "\f82f"; } + +.fa-user-plus:before { + content: "\f234"; } + +.fa-user-secret:before { + content: "\f21b"; } + +.fa-user-shield:before { + content: "\f505"; } + +.fa-user-slash:before { + content: "\f506"; } + +.fa-user-tag:before { + content: "\f507"; } + +.fa-user-tie:before { + content: "\f508"; } + +.fa-user-times:before { + content: "\f235"; } + +.fa-users:before { + content: "\f0c0"; } + +.fa-users-cog:before { + content: "\f509"; } + +.fa-users-slash:before { + content: "\e073"; } + +.fa-usps:before { + content: "\f7e1"; } + +.fa-ussunnah:before { + content: "\f407"; } + +.fa-utensil-spoon:before { + content: "\f2e5"; } + +.fa-utensils:before { + content: "\f2e7"; } + +.fa-vaadin:before { + content: "\f408"; } + +.fa-vector-square:before { + content: "\f5cb"; } + +.fa-venus:before { + content: "\f221"; } + +.fa-venus-double:before { + content: "\f226"; } + +.fa-venus-mars:before { + content: "\f228"; } + +.fa-vest:before { + content: "\e085"; } + +.fa-vest-patches:before { + content: "\e086"; } + +.fa-viacoin:before { + content: "\f237"; } + +.fa-viadeo:before { + content: "\f2a9"; } + +.fa-viadeo-square:before { + content: "\f2aa"; } + +.fa-vial:before { + content: "\f492"; } + +.fa-vials:before { + content: "\f493"; } + +.fa-viber:before { + content: "\f409"; } + +.fa-video:before { + content: "\f03d"; } + +.fa-video-slash:before { + content: "\f4e2"; } + +.fa-vihara:before { + content: "\f6a7"; } + +.fa-vimeo:before { + content: "\f40a"; } + +.fa-vimeo-square:before { + content: "\f194"; } + +.fa-vimeo-v:before { + content: "\f27d"; } + +.fa-vine:before { + content: "\f1ca"; } + +.fa-virus:before { + content: "\e074"; } + +.fa-virus-slash:before { + content: "\e075"; } + +.fa-viruses:before { + content: "\e076"; } + +.fa-vk:before { + content: "\f189"; } + +.fa-vnv:before { + content: "\f40b"; } + +.fa-voicemail:before { + content: "\f897"; } + +.fa-volleyball-ball:before { + content: "\f45f"; } + +.fa-volume-down:before { + content: "\f027"; } + +.fa-volume-mute:before { + content: "\f6a9"; } + +.fa-volume-off:before { + content: "\f026"; } + +.fa-volume-up:before { + content: "\f028"; } + +.fa-vote-yea:before { + content: "\f772"; } + +.fa-vr-cardboard:before { + content: "\f729"; } + +.fa-vuejs:before { + content: "\f41f"; } + +.fa-walking:before { + content: "\f554"; } + +.fa-wallet:before { + content: "\f555"; } + +.fa-warehouse:before { + content: "\f494"; } + +.fa-watchman-monitoring:before { + content: "\e087"; } + +.fa-water:before { + content: "\f773"; } + +.fa-wave-square:before { + content: "\f83e"; } + +.fa-waze:before { + content: "\f83f"; } + +.fa-weebly:before { + content: "\f5cc"; } + +.fa-weibo:before { + content: "\f18a"; } + +.fa-weight:before { + content: "\f496"; } + +.fa-weight-hanging:before { + content: "\f5cd"; } + +.fa-weixin:before { + content: "\f1d7"; } + +.fa-whatsapp:before { + content: "\f232"; } + +.fa-whatsapp-square:before { + content: "\f40c"; } + +.fa-wheelchair:before { + content: "\f193"; } + +.fa-whmcs:before { + content: "\f40d"; } + +.fa-wifi:before { + content: "\f1eb"; } + +.fa-wikipedia-w:before { + content: "\f266"; } + +.fa-wind:before { + content: "\f72e"; } + +.fa-window-close:before { + content: "\f410"; } + +.fa-window-maximize:before { + content: "\f2d0"; } + +.fa-window-minimize:before { + content: "\f2d1"; } + +.fa-window-restore:before { + content: "\f2d2"; } + +.fa-windows:before { + content: "\f17a"; } + +.fa-wine-bottle:before { + content: "\f72f"; } + +.fa-wine-glass:before { + content: "\f4e3"; } + +.fa-wine-glass-alt:before { + content: "\f5ce"; } + +.fa-wix:before { + content: "\f5cf"; } + +.fa-wizards-of-the-coast:before { + content: "\f730"; } + +.fa-wodu:before { + content: "\e088"; } + +.fa-wolf-pack-battalion:before { + content: "\f514"; } + +.fa-won-sign:before { + content: "\f159"; } + +.fa-wordpress:before { + content: "\f19a"; } + +.fa-wordpress-simple:before { + content: "\f411"; } + +.fa-wpbeginner:before { + content: "\f297"; } + +.fa-wpexplorer:before { + content: "\f2de"; } + +.fa-wpforms:before { + content: "\f298"; } + +.fa-wpressr:before { + content: "\f3e4"; } + +.fa-wrench:before { + content: "\f0ad"; } + +.fa-x-ray:before { + content: "\f497"; } + +.fa-xbox:before { + content: "\f412"; } + +.fa-xing:before { + content: "\f168"; } + +.fa-xing-square:before { + content: "\f169"; } + +.fa-y-combinator:before { + content: "\f23b"; } + +.fa-yahoo:before { + content: "\f19e"; } + +.fa-yammer:before { + content: "\f840"; } + +.fa-yandex:before { + content: "\f413"; } + +.fa-yandex-international:before { + content: "\f414"; } + +.fa-yarn:before { + content: "\f7e3"; } + +.fa-yelp:before { + content: "\f1e9"; } + +.fa-yen-sign:before { + content: "\f157"; } + +.fa-yin-yang:before { + content: "\f6ad"; } + +.fa-yoast:before { + content: "\f2b1"; } + +.fa-youtube:before { + content: "\f167"; } + +.fa-youtube-square:before { + content: "\f431"; } + +.fa-zhihu:before { + content: "\f63f"; } + +.sr-only { + border: 0; + clip: rect(0, 0, 0, 0); + height: 1px; + margin: -1px; + overflow: hidden; + padding: 0; + position: absolute; + width: 1px; } + +.sr-only-focusable:active, .sr-only-focusable:focus { + clip: auto; + height: auto; + margin: 0; + overflow: visible; + position: static; + width: auto; } +@font-face { + font-family: 'Font Awesome 5 Brands'; + font-style: normal; + font-weight: 400; + font-display: block; + src: url("../webfonts/fa-brands-400.eot"); + src: url("../webfonts/fa-brands-400.eot?#iefix") format("embedded-opentype"), url("../webfonts/fa-brands-400.woff2") format("woff2"), url("../webfonts/fa-brands-400.woff") format("woff"), url("../webfonts/fa-brands-400.ttf") format("truetype"), url("../webfonts/fa-brands-400.svg#fontawesome") format("svg"); } + +.fab { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } +@font-face { + font-family: 'Font Awesome 5 Free'; + font-style: normal; + font-weight: 400; + font-display: block; + src: url("../webfonts/fa-regular-400.eot"); + src: url("../webfonts/fa-regular-400.eot?#iefix") format("embedded-opentype"), url("../webfonts/fa-regular-400.woff2") format("woff2"), url("../webfonts/fa-regular-400.woff") format("woff"), url("../webfonts/fa-regular-400.ttf") format("truetype"), url("../webfonts/fa-regular-400.svg#fontawesome") format("svg"); } + +.far { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } +@font-face { + font-family: 'Font Awesome 5 Free'; + font-style: normal; + font-weight: 900; + font-display: block; + src: url("../webfonts/fa-solid-900.eot"); + src: url("../webfonts/fa-solid-900.eot?#iefix") format("embedded-opentype"), url("../webfonts/fa-solid-900.woff2") format("woff2"), url("../webfonts/fa-solid-900.woff") format("woff"), url("../webfonts/fa-solid-900.ttf") format("truetype"), url("../webfonts/fa-solid-900.svg#fontawesome") format("svg"); } + +.fa, +.fas { + font-family: 'Font Awesome 5 Free'; + font-weight: 900; } diff --git a/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/@fortawesome/fontawesome-free/css/v4-shims.css b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/@fortawesome/fontawesome-free/css/v4-shims.css new file mode 100644 index 0000000000..698118c28a --- /dev/null +++ b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/@fortawesome/fontawesome-free/css/v4-shims.css @@ -0,0 +1,2172 @@ +/*! + * Font Awesome Free 5.15.2 by @fontawesome - https://fontawesome.com + * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) + */ +.fa.fa-glass:before { + content: "\f000"; } + +.fa.fa-meetup { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-star-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-star-o:before { + content: "\f005"; } + +.fa.fa-remove:before { + content: "\f00d"; } + +.fa.fa-close:before { + content: "\f00d"; } + +.fa.fa-gear:before { + content: "\f013"; } + +.fa.fa-trash-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-trash-o:before { + content: "\f2ed"; } + +.fa.fa-file-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-file-o:before { + content: "\f15b"; } + +.fa.fa-clock-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-clock-o:before { + content: "\f017"; } + +.fa.fa-arrow-circle-o-down { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-arrow-circle-o-down:before { + content: "\f358"; } + +.fa.fa-arrow-circle-o-up { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-arrow-circle-o-up:before { + content: "\f35b"; } + +.fa.fa-play-circle-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-play-circle-o:before { + content: "\f144"; } + +.fa.fa-repeat:before { + content: "\f01e"; } + +.fa.fa-rotate-right:before { + content: "\f01e"; } + +.fa.fa-refresh:before { + content: "\f021"; } + +.fa.fa-list-alt { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-dedent:before { + content: "\f03b"; } + +.fa.fa-video-camera:before { + content: "\f03d"; } + +.fa.fa-picture-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-picture-o:before { + content: "\f03e"; } + +.fa.fa-photo { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-photo:before { + content: "\f03e"; } + +.fa.fa-image { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-image:before { + content: "\f03e"; } + +.fa.fa-pencil:before { + content: "\f303"; } + +.fa.fa-map-marker:before { + content: "\f3c5"; } + +.fa.fa-pencil-square-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-pencil-square-o:before { + content: "\f044"; } + +.fa.fa-share-square-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-share-square-o:before { + content: "\f14d"; } + +.fa.fa-check-square-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-check-square-o:before { + content: "\f14a"; } + +.fa.fa-arrows:before { + content: "\f0b2"; } + +.fa.fa-times-circle-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-times-circle-o:before { + content: "\f057"; } + +.fa.fa-check-circle-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-check-circle-o:before { + content: "\f058"; } + +.fa.fa-mail-forward:before { + content: "\f064"; } + +.fa.fa-expand:before { + content: "\f424"; } + +.fa.fa-compress:before { + content: "\f422"; } + +.fa.fa-eye { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-eye-slash { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-warning:before { + content: "\f071"; } + +.fa.fa-calendar:before { + content: "\f073"; } + +.fa.fa-arrows-v:before { + content: "\f338"; } + +.fa.fa-arrows-h:before { + content: "\f337"; } + +.fa.fa-bar-chart { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-bar-chart:before { + content: "\f080"; } + +.fa.fa-bar-chart-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-bar-chart-o:before { + content: "\f080"; } + +.fa.fa-twitter-square { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-facebook-square { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-gears:before { + content: "\f085"; } + +.fa.fa-thumbs-o-up { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-thumbs-o-up:before { + content: "\f164"; } + +.fa.fa-thumbs-o-down { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-thumbs-o-down:before { + content: "\f165"; } + +.fa.fa-heart-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-heart-o:before { + content: "\f004"; } + +.fa.fa-sign-out:before { + content: "\f2f5"; } + +.fa.fa-linkedin-square { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-linkedin-square:before { + content: "\f08c"; } + +.fa.fa-thumb-tack:before { + content: "\f08d"; } + +.fa.fa-external-link:before { + content: "\f35d"; } + +.fa.fa-sign-in:before { + content: "\f2f6"; } + +.fa.fa-github-square { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-lemon-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-lemon-o:before { + content: "\f094"; } + +.fa.fa-square-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-square-o:before { + content: "\f0c8"; } + +.fa.fa-bookmark-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-bookmark-o:before { + content: "\f02e"; } + +.fa.fa-twitter { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-facebook { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-facebook:before { + content: "\f39e"; } + +.fa.fa-facebook-f { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-facebook-f:before { + content: "\f39e"; } + +.fa.fa-github { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-credit-card { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-feed:before { + content: "\f09e"; } + +.fa.fa-hdd-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-hdd-o:before { + content: "\f0a0"; } + +.fa.fa-hand-o-right { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-hand-o-right:before { + content: "\f0a4"; } + +.fa.fa-hand-o-left { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-hand-o-left:before { + content: "\f0a5"; } + +.fa.fa-hand-o-up { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-hand-o-up:before { + content: "\f0a6"; } + +.fa.fa-hand-o-down { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-hand-o-down:before { + content: "\f0a7"; } + +.fa.fa-arrows-alt:before { + content: "\f31e"; } + +.fa.fa-group:before { + content: "\f0c0"; } + +.fa.fa-chain:before { + content: "\f0c1"; } + +.fa.fa-scissors:before { + content: "\f0c4"; } + +.fa.fa-files-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-files-o:before { + content: "\f0c5"; } + +.fa.fa-floppy-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-floppy-o:before { + content: "\f0c7"; } + +.fa.fa-navicon:before { + content: "\f0c9"; } + +.fa.fa-reorder:before { + content: "\f0c9"; } + +.fa.fa-pinterest { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-pinterest-square { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-google-plus-square { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-google-plus { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-google-plus:before { + content: "\f0d5"; } + +.fa.fa-money { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-money:before { + content: "\f3d1"; } + +.fa.fa-unsorted:before { + content: "\f0dc"; } + +.fa.fa-sort-desc:before { + content: "\f0dd"; } + +.fa.fa-sort-asc:before { + content: "\f0de"; } + +.fa.fa-linkedin { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-linkedin:before { + content: "\f0e1"; } + +.fa.fa-rotate-left:before { + content: "\f0e2"; } + +.fa.fa-legal:before { + content: "\f0e3"; } + +.fa.fa-tachometer:before { + content: "\f3fd"; } + +.fa.fa-dashboard:before { + content: "\f3fd"; } + +.fa.fa-comment-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-comment-o:before { + content: "\f075"; } + +.fa.fa-comments-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-comments-o:before { + content: "\f086"; } + +.fa.fa-flash:before { + content: "\f0e7"; } + +.fa.fa-clipboard { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-paste { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-paste:before { + content: "\f328"; } + +.fa.fa-lightbulb-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-lightbulb-o:before { + content: "\f0eb"; } + +.fa.fa-exchange:before { + content: "\f362"; } + +.fa.fa-cloud-download:before { + content: "\f381"; } + +.fa.fa-cloud-upload:before { + content: "\f382"; } + +.fa.fa-bell-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-bell-o:before { + content: "\f0f3"; } + +.fa.fa-cutlery:before { + content: "\f2e7"; } + +.fa.fa-file-text-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-file-text-o:before { + content: "\f15c"; } + +.fa.fa-building-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-building-o:before { + content: "\f1ad"; } + +.fa.fa-hospital-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-hospital-o:before { + content: "\f0f8"; } + +.fa.fa-tablet:before { + content: "\f3fa"; } + +.fa.fa-mobile:before { + content: "\f3cd"; } + +.fa.fa-mobile-phone:before { + content: "\f3cd"; } + +.fa.fa-circle-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-circle-o:before { + content: "\f111"; } + +.fa.fa-mail-reply:before { + content: "\f3e5"; } + +.fa.fa-github-alt { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-folder-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-folder-o:before { + content: "\f07b"; } + +.fa.fa-folder-open-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-folder-open-o:before { + content: "\f07c"; } + +.fa.fa-smile-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-smile-o:before { + content: "\f118"; } + +.fa.fa-frown-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-frown-o:before { + content: "\f119"; } + +.fa.fa-meh-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-meh-o:before { + content: "\f11a"; } + +.fa.fa-keyboard-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-keyboard-o:before { + content: "\f11c"; } + +.fa.fa-flag-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-flag-o:before { + content: "\f024"; } + +.fa.fa-mail-reply-all:before { + content: "\f122"; } + +.fa.fa-star-half-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-star-half-o:before { + content: "\f089"; } + +.fa.fa-star-half-empty { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-star-half-empty:before { + content: "\f089"; } + +.fa.fa-star-half-full { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-star-half-full:before { + content: "\f089"; } + +.fa.fa-code-fork:before { + content: "\f126"; } + +.fa.fa-chain-broken:before { + content: "\f127"; } + +.fa.fa-shield:before { + content: "\f3ed"; } + +.fa.fa-calendar-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-calendar-o:before { + content: "\f133"; } + +.fa.fa-maxcdn { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-html5 { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-css3 { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-ticket:before { + content: "\f3ff"; } + +.fa.fa-minus-square-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-minus-square-o:before { + content: "\f146"; } + +.fa.fa-level-up:before { + content: "\f3bf"; } + +.fa.fa-level-down:before { + content: "\f3be"; } + +.fa.fa-pencil-square:before { + content: "\f14b"; } + +.fa.fa-external-link-square:before { + content: "\f360"; } + +.fa.fa-compass { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-caret-square-o-down { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-caret-square-o-down:before { + content: "\f150"; } + +.fa.fa-toggle-down { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-toggle-down:before { + content: "\f150"; } + +.fa.fa-caret-square-o-up { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-caret-square-o-up:before { + content: "\f151"; } + +.fa.fa-toggle-up { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-toggle-up:before { + content: "\f151"; } + +.fa.fa-caret-square-o-right { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-caret-square-o-right:before { + content: "\f152"; } + +.fa.fa-toggle-right { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-toggle-right:before { + content: "\f152"; } + +.fa.fa-eur:before { + content: "\f153"; } + +.fa.fa-euro:before { + content: "\f153"; } + +.fa.fa-gbp:before { + content: "\f154"; } + +.fa.fa-usd:before { + content: "\f155"; } + +.fa.fa-dollar:before { + content: "\f155"; } + +.fa.fa-inr:before { + content: "\f156"; } + +.fa.fa-rupee:before { + content: "\f156"; } + +.fa.fa-jpy:before { + content: "\f157"; } + +.fa.fa-cny:before { + content: "\f157"; } + +.fa.fa-rmb:before { + content: "\f157"; } + +.fa.fa-yen:before { + content: "\f157"; } + +.fa.fa-rub:before { + content: "\f158"; } + +.fa.fa-ruble:before { + content: "\f158"; } + +.fa.fa-rouble:before { + content: "\f158"; } + +.fa.fa-krw:before { + content: "\f159"; } + +.fa.fa-won:before { + content: "\f159"; } + +.fa.fa-btc { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-bitcoin { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-bitcoin:before { + content: "\f15a"; } + +.fa.fa-file-text:before { + content: "\f15c"; } + +.fa.fa-sort-alpha-asc:before { + content: "\f15d"; } + +.fa.fa-sort-alpha-desc:before { + content: "\f881"; } + +.fa.fa-sort-amount-asc:before { + content: "\f160"; } + +.fa.fa-sort-amount-desc:before { + content: "\f884"; } + +.fa.fa-sort-numeric-asc:before { + content: "\f162"; } + +.fa.fa-sort-numeric-desc:before { + content: "\f886"; } + +.fa.fa-youtube-square { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-youtube { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-xing { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-xing-square { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-youtube-play { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-youtube-play:before { + content: "\f167"; } + +.fa.fa-dropbox { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-stack-overflow { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-instagram { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-flickr { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-adn { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-bitbucket { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-bitbucket-square { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-bitbucket-square:before { + content: "\f171"; } + +.fa.fa-tumblr { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-tumblr-square { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-long-arrow-down:before { + content: "\f309"; } + +.fa.fa-long-arrow-up:before { + content: "\f30c"; } + +.fa.fa-long-arrow-left:before { + content: "\f30a"; } + +.fa.fa-long-arrow-right:before { + content: "\f30b"; } + +.fa.fa-apple { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-windows { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-android { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-linux { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-dribbble { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-skype { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-foursquare { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-trello { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-gratipay { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-gittip { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-gittip:before { + content: "\f184"; } + +.fa.fa-sun-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-sun-o:before { + content: "\f185"; } + +.fa.fa-moon-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-moon-o:before { + content: "\f186"; } + +.fa.fa-vk { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-weibo { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-renren { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-pagelines { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-stack-exchange { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-arrow-circle-o-right { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-arrow-circle-o-right:before { + content: "\f35a"; } + +.fa.fa-arrow-circle-o-left { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-arrow-circle-o-left:before { + content: "\f359"; } + +.fa.fa-caret-square-o-left { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-caret-square-o-left:before { + content: "\f191"; } + +.fa.fa-toggle-left { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-toggle-left:before { + content: "\f191"; } + +.fa.fa-dot-circle-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-dot-circle-o:before { + content: "\f192"; } + +.fa.fa-vimeo-square { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-try:before { + content: "\f195"; } + +.fa.fa-turkish-lira:before { + content: "\f195"; } + +.fa.fa-plus-square-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-plus-square-o:before { + content: "\f0fe"; } + +.fa.fa-slack { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-wordpress { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-openid { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-institution:before { + content: "\f19c"; } + +.fa.fa-bank:before { + content: "\f19c"; } + +.fa.fa-mortar-board:before { + content: "\f19d"; } + +.fa.fa-yahoo { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-google { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-reddit { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-reddit-square { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-stumbleupon-circle { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-stumbleupon { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-delicious { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-digg { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-pied-piper-pp { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-pied-piper-alt { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-drupal { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-joomla { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-spoon:before { + content: "\f2e5"; } + +.fa.fa-behance { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-behance-square { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-steam { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-steam-square { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-automobile:before { + content: "\f1b9"; } + +.fa.fa-envelope-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-envelope-o:before { + content: "\f0e0"; } + +.fa.fa-spotify { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-deviantart { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-soundcloud { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-file-pdf-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-file-pdf-o:before { + content: "\f1c1"; } + +.fa.fa-file-word-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-file-word-o:before { + content: "\f1c2"; } + +.fa.fa-file-excel-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-file-excel-o:before { + content: "\f1c3"; } + +.fa.fa-file-powerpoint-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-file-powerpoint-o:before { + content: "\f1c4"; } + +.fa.fa-file-image-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-file-image-o:before { + content: "\f1c5"; } + +.fa.fa-file-photo-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-file-photo-o:before { + content: "\f1c5"; } + +.fa.fa-file-picture-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-file-picture-o:before { + content: "\f1c5"; } + +.fa.fa-file-archive-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-file-archive-o:before { + content: "\f1c6"; } + +.fa.fa-file-zip-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-file-zip-o:before { + content: "\f1c6"; } + +.fa.fa-file-audio-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-file-audio-o:before { + content: "\f1c7"; } + +.fa.fa-file-sound-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-file-sound-o:before { + content: "\f1c7"; } + +.fa.fa-file-video-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-file-video-o:before { + content: "\f1c8"; } + +.fa.fa-file-movie-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-file-movie-o:before { + content: "\f1c8"; } + +.fa.fa-file-code-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-file-code-o:before { + content: "\f1c9"; } + +.fa.fa-vine { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-codepen { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-jsfiddle { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-life-ring { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-life-bouy { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-life-bouy:before { + content: "\f1cd"; } + +.fa.fa-life-buoy { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-life-buoy:before { + content: "\f1cd"; } + +.fa.fa-life-saver { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-life-saver:before { + content: "\f1cd"; } + +.fa.fa-support { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-support:before { + content: "\f1cd"; } + +.fa.fa-circle-o-notch:before { + content: "\f1ce"; } + +.fa.fa-rebel { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-ra { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-ra:before { + content: "\f1d0"; } + +.fa.fa-resistance { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-resistance:before { + content: "\f1d0"; } + +.fa.fa-empire { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-ge { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-ge:before { + content: "\f1d1"; } + +.fa.fa-git-square { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-git { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-hacker-news { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-y-combinator-square { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-y-combinator-square:before { + content: "\f1d4"; } + +.fa.fa-yc-square { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-yc-square:before { + content: "\f1d4"; } + +.fa.fa-tencent-weibo { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-qq { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-weixin { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-wechat { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-wechat:before { + content: "\f1d7"; } + +.fa.fa-send:before { + content: "\f1d8"; } + +.fa.fa-paper-plane-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-paper-plane-o:before { + content: "\f1d8"; } + +.fa.fa-send-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-send-o:before { + content: "\f1d8"; } + +.fa.fa-circle-thin { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-circle-thin:before { + content: "\f111"; } + +.fa.fa-header:before { + content: "\f1dc"; } + +.fa.fa-sliders:before { + content: "\f1de"; } + +.fa.fa-futbol-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-futbol-o:before { + content: "\f1e3"; } + +.fa.fa-soccer-ball-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-soccer-ball-o:before { + content: "\f1e3"; } + +.fa.fa-slideshare { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-twitch { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-yelp { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-newspaper-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-newspaper-o:before { + content: "\f1ea"; } + +.fa.fa-paypal { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-google-wallet { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-cc-visa { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-cc-mastercard { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-cc-discover { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-cc-amex { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-cc-paypal { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-cc-stripe { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-bell-slash-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-bell-slash-o:before { + content: "\f1f6"; } + +.fa.fa-trash:before { + content: "\f2ed"; } + +.fa.fa-copyright { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-eyedropper:before { + content: "\f1fb"; } + +.fa.fa-area-chart:before { + content: "\f1fe"; } + +.fa.fa-pie-chart:before { + content: "\f200"; } + +.fa.fa-line-chart:before { + content: "\f201"; } + +.fa.fa-lastfm { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-lastfm-square { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-ioxhost { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-angellist { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-cc { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-cc:before { + content: "\f20a"; } + +.fa.fa-ils:before { + content: "\f20b"; } + +.fa.fa-shekel:before { + content: "\f20b"; } + +.fa.fa-sheqel:before { + content: "\f20b"; } + +.fa.fa-meanpath { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-meanpath:before { + content: "\f2b4"; } + +.fa.fa-buysellads { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-connectdevelop { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-dashcube { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-forumbee { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-leanpub { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-sellsy { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-shirtsinbulk { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-simplybuilt { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-skyatlas { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-diamond { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-diamond:before { + content: "\f3a5"; } + +.fa.fa-intersex:before { + content: "\f224"; } + +.fa.fa-facebook-official { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-facebook-official:before { + content: "\f09a"; } + +.fa.fa-pinterest-p { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-whatsapp { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-hotel:before { + content: "\f236"; } + +.fa.fa-viacoin { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-medium { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-y-combinator { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-yc { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-yc:before { + content: "\f23b"; } + +.fa.fa-optin-monster { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-opencart { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-expeditedssl { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-battery-4:before { + content: "\f240"; } + +.fa.fa-battery:before { + content: "\f240"; } + +.fa.fa-battery-3:before { + content: "\f241"; } + +.fa.fa-battery-2:before { + content: "\f242"; } + +.fa.fa-battery-1:before { + content: "\f243"; } + +.fa.fa-battery-0:before { + content: "\f244"; } + +.fa.fa-object-group { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-object-ungroup { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-sticky-note-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-sticky-note-o:before { + content: "\f249"; } + +.fa.fa-cc-jcb { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-cc-diners-club { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-clone { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-hourglass-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-hourglass-o:before { + content: "\f254"; } + +.fa.fa-hourglass-1:before { + content: "\f251"; } + +.fa.fa-hourglass-2:before { + content: "\f252"; } + +.fa.fa-hourglass-3:before { + content: "\f253"; } + +.fa.fa-hand-rock-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-hand-rock-o:before { + content: "\f255"; } + +.fa.fa-hand-grab-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-hand-grab-o:before { + content: "\f255"; } + +.fa.fa-hand-paper-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-hand-paper-o:before { + content: "\f256"; } + +.fa.fa-hand-stop-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-hand-stop-o:before { + content: "\f256"; } + +.fa.fa-hand-scissors-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-hand-scissors-o:before { + content: "\f257"; } + +.fa.fa-hand-lizard-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-hand-lizard-o:before { + content: "\f258"; } + +.fa.fa-hand-spock-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-hand-spock-o:before { + content: "\f259"; } + +.fa.fa-hand-pointer-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-hand-pointer-o:before { + content: "\f25a"; } + +.fa.fa-hand-peace-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-hand-peace-o:before { + content: "\f25b"; } + +.fa.fa-registered { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-creative-commons { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-gg { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-gg-circle { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-tripadvisor { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-odnoklassniki { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-odnoklassniki-square { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-get-pocket { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-wikipedia-w { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-safari { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-chrome { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-firefox { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-opera { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-internet-explorer { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-television:before { + content: "\f26c"; } + +.fa.fa-contao { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-500px { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-amazon { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-calendar-plus-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-calendar-plus-o:before { + content: "\f271"; } + +.fa.fa-calendar-minus-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-calendar-minus-o:before { + content: "\f272"; } + +.fa.fa-calendar-times-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-calendar-times-o:before { + content: "\f273"; } + +.fa.fa-calendar-check-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-calendar-check-o:before { + content: "\f274"; } + +.fa.fa-map-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-map-o:before { + content: "\f279"; } + +.fa.fa-commenting:before { + content: "\f4ad"; } + +.fa.fa-commenting-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-commenting-o:before { + content: "\f4ad"; } + +.fa.fa-houzz { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-vimeo { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-vimeo:before { + content: "\f27d"; } + +.fa.fa-black-tie { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-fonticons { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-reddit-alien { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-edge { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-credit-card-alt:before { + content: "\f09d"; } + +.fa.fa-codiepie { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-modx { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-fort-awesome { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-usb { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-product-hunt { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-mixcloud { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-scribd { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-pause-circle-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-pause-circle-o:before { + content: "\f28b"; } + +.fa.fa-stop-circle-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-stop-circle-o:before { + content: "\f28d"; } + +.fa.fa-bluetooth { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-bluetooth-b { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-gitlab { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-wpbeginner { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-wpforms { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-envira { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-wheelchair-alt { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-wheelchair-alt:before { + content: "\f368"; } + +.fa.fa-question-circle-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-question-circle-o:before { + content: "\f059"; } + +.fa.fa-volume-control-phone:before { + content: "\f2a0"; } + +.fa.fa-asl-interpreting:before { + content: "\f2a3"; } + +.fa.fa-deafness:before { + content: "\f2a4"; } + +.fa.fa-hard-of-hearing:before { + content: "\f2a4"; } + +.fa.fa-glide { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-glide-g { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-signing:before { + content: "\f2a7"; } + +.fa.fa-viadeo { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-viadeo-square { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-snapchat { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-snapchat-ghost { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-snapchat-square { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-pied-piper { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-first-order { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-yoast { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-themeisle { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-google-plus-official { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-google-plus-official:before { + content: "\f2b3"; } + +.fa.fa-google-plus-circle { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-google-plus-circle:before { + content: "\f2b3"; } + +.fa.fa-font-awesome { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-fa { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-fa:before { + content: "\f2b4"; } + +.fa.fa-handshake-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-handshake-o:before { + content: "\f2b5"; } + +.fa.fa-envelope-open-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-envelope-open-o:before { + content: "\f2b6"; } + +.fa.fa-linode { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-address-book-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-address-book-o:before { + content: "\f2b9"; } + +.fa.fa-vcard:before { + content: "\f2bb"; } + +.fa.fa-address-card-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-address-card-o:before { + content: "\f2bb"; } + +.fa.fa-vcard-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-vcard-o:before { + content: "\f2bb"; } + +.fa.fa-user-circle-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-user-circle-o:before { + content: "\f2bd"; } + +.fa.fa-user-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-user-o:before { + content: "\f007"; } + +.fa.fa-id-badge { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-drivers-license:before { + content: "\f2c2"; } + +.fa.fa-id-card-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-id-card-o:before { + content: "\f2c2"; } + +.fa.fa-drivers-license-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-drivers-license-o:before { + content: "\f2c2"; } + +.fa.fa-quora { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-free-code-camp { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-telegram { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-thermometer-4:before { + content: "\f2c7"; } + +.fa.fa-thermometer:before { + content: "\f2c7"; } + +.fa.fa-thermometer-3:before { + content: "\f2c8"; } + +.fa.fa-thermometer-2:before { + content: "\f2c9"; } + +.fa.fa-thermometer-1:before { + content: "\f2ca"; } + +.fa.fa-thermometer-0:before { + content: "\f2cb"; } + +.fa.fa-bathtub:before { + content: "\f2cd"; } + +.fa.fa-s15:before { + content: "\f2cd"; } + +.fa.fa-window-maximize { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-window-restore { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-times-rectangle:before { + content: "\f410"; } + +.fa.fa-window-close-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-window-close-o:before { + content: "\f410"; } + +.fa.fa-times-rectangle-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-times-rectangle-o:before { + content: "\f410"; } + +.fa.fa-bandcamp { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-grav { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-etsy { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-imdb { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-ravelry { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-eercast { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-eercast:before { + content: "\f2da"; } + +.fa.fa-snowflake-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-snowflake-o:before { + content: "\f2dc"; } + +.fa.fa-superpowers { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-wpexplorer { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-cab:before { + content: "\f1ba"; } diff --git a/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/@fortawesome/fontawesome-free/webfonts/fa-brands-400.eot b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/@fortawesome/fontawesome-free/webfonts/fa-brands-400.eot new file mode 100644 index 0000000000000000000000000000000000000000..cdef69f09be0ba253b6a8fcf74a683b2849424fd GIT binary patch literal 136822 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 &=&^OXx>DnU;mPNd2~DZS<1txA+=Q&CwkkVL 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 b)_CDZ?P2@cUmg6udjF%sU(l=3dY|||3h!_* literal 0 HcmV?d00001 diff --git a/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/@fortawesome/fontawesome-free/webfonts/fa-brands-400.svg b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/@fortawesome/fontawesome-free/webfonts/fa-brands-400.svg new file mode 100644 index 0000000000..54da424a7c --- /dev/null +++ b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/@fortawesome/fontawesome-free/webfonts/fa-brands-400.svg @@ -0,0 +1,3717 @@ + + + + +Created by FontForge 20200314 at Wed Jan 13 11:57:55 2021 + By Robert Madole +Copyright (c) Font Awesome + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/@fortawesome/fontawesome-free/webfonts/fa-brands-400.ttf b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/@fortawesome/fontawesome-free/webfonts/fa-brands-400.ttf new file mode 100644 index 0000000000000000000000000000000000000000..8ecb67b04090d546a75fff5b110a75887a5dfd79 GIT binary patch literal 136516 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

    P=Dl^Rj^C)5i_MLUN1jaQkTwY#yUE~OY%Uf% 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 literal 0 HcmV?d00001 diff --git a/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/@fortawesome/fontawesome-free/webfonts/fa-brands-400.woff b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/@fortawesome/fontawesome-free/webfonts/fa-brands-400.woff new file mode 100644 index 0000000000000000000000000000000000000000..9bd812abc35c6ce879a42e0a38ad38412ea27bf2 GIT binary patch literal 92136 zcmZUZV{|1=*RbPEG)X45Z9AFRII(Tpm~dj7ckC0}#))m)Hr{!@zhAF)t?GUC-c?;c zx>r@N_E40N00RdD0|U1>0Ym!NLSTr2%ZBFvJNy3*2?gA{Gn`mf1-Z=Frx`*(O(3I?w22?mDr?>;eXv?Z;zJhM#<4Gm4f zf^=%W^k8Q_RCC8gtSG?rwP1_>P48cCi2uO+2gJV!5*+le{oni`{sH#CS|i^9?!ds5 zz`)tREHQzBeFQQAX7Q$$MuvvQhGyoy@DOvlD%iM$wcnn7o;%;*FapDDh$O#_B;xT4 zG4_>-i+g*2fcY`~l=aNMoY%2cRYQl_VH3@FnaXH_u^qy57m2>jT=_NRNi%57tRzMw z5)8j9UzeW`*iTtYCHb?asf}KOBrc8zEz+b;QMV*zKe~RT< zZ>N$nv(k57`0LU98Kt+E{K3b!tiT-^{h>wO5vF^}SQotOBZaL2xUY-=BSpfLQnRLo zQEe@znlW>$RJ*%a*U{rSvaY+B2hbn{J))P6)S*%nBet{LEjiWPI@# zM^S9qynpxhNz2>%=kv$UZG*feP8CD&(%ZzThfTKTCv*O<6 z{=zkjc&=SrW&3ZUp9xoUaGzaUHA!zu&D=VPc9YF!@Abi}rcW!c_o;3PE2P&r4tnkG zs`R;p_-GxVZ~+O7#>m{Fp z`c{Mb2e`3LXgz(`ckds8sON_yg50!Et^9OMW4L5bk+#XLwka(|^1LxC`qEN)sCewg z(mb?OG3gG2L9`n3${N^pHs9p#nlUd^+vxA^a#b_o0z#Ba|8bqWlRd4buhgP;aPZw5 z*PX0Vi^oaEiFXv{iSZTINM?~TBn(UWnd+Geo4Ow;qw|Lbr}x&>Vm}tMci?@&WSxFu?oWE6ZH03gg6qeqFcaM~hoCv~!w8GQ zOYBgq_Bw0A$nK(QLLAm&WA=$q2SeWwPyF>#f_K>!Oh73|F@!-MAYdl254KW* z3Ux#{7!dmrjA#F2In-uA4d|?Lh01mMb#Ud;~aqc!EG5a^QP(#E!$VVc(z(2(M{LD-DECi;ZzKA~@7;Gl?w41f z@G1079tgKYWE=ROR$q_cOB(VU@*SV*5>ed0M-%+ty9dHEJERjXom|q5F_VgvjqJJD zxzZ1`=3N71DDALl_wn|YU`v#kv&FS4nq`b3N68|O2PYvxi3<4*i5-k8ft__&H%8BC zh)145MGxXFD^ZEJ)iHB!m@Z5=}wb;PgcwFX^iw~nF|X5TVMx-wGHc`KJ8IrLBWA9K{Fsp}P`-Ip$hZUPXvIOW0&pBrdF4F#(z(rmSPKv4sq zU{Hz$2{0~?_hL$%^xA|Zc?ZvE|N9L(9_&WMpNqgci$sc)qTphCBTyoWqc#&-tt|Id z&}v{F0?n0#Ob$-eD9!OVH@z;yj|}}2(Bl#@?o;q!UZ7DA*5jdTn@m{nlBXhn^eQvq z)5x|V^cu@K)u(%n9Hc?44da8v=@{cf;R~=_*{Y&U->bKQ{u(*;#Dz;cvsyOaV)KQk zi*QqgDXntMrhdqpg)YTGuggetk?=LNnke|TAnmJPKqwIOhewI}R>c2i5G^1(XZxcU z)^uPo_#(mMs*91GjG_Ii{d~hg?PytY$mc59q9rz`{qt$P|$R-TH1b?_?Ia2}pvaFZ$HrlzP?6vT?-8EvjoEGg!5oAyD z1ODzOq)idZu2wat%S$%naLsiVaq~GO$lAOzf9{Gk;(kN;FrMA^&iw9AS#j%N`+EG6 zCCj&@^{W{T=bKJM)OoKo9~hm4 zI{6XaobY~lwKzvcNCrk2ZvsEsIK{_^s)X0DY+Ij=MD*>%?E_Di4Qdj6DTA=ii*_WI zD&f3VB3Zo(^pKzZR8>z#SXaXycj&4l+|LnSl3uyhP9$HuHE!C|lt#WeeSe;JlT5(L z_S^Mu27wW}c=5GJMs;F)>D%&`bTBjveG9+9Vv4vVZcs%TPRT+; zhBq~@7sZ?^4@qjVcj5`kDi@|VI{(E@MV?tCOxf|hdYg3bPl$6E*?9<V|BMqnr7SpdGuoPnJrDAs9m*hjCmrE5?Tnz^(+T2C z^2wkw7PwK}fl0oSSCWJ!G2|w2he0<_o+oPe<~+<0_;F{vcRK5HccE}dU7455yywFa z>kn@K-DjeMyl?NPzKvk75Btw)*p@F;kB`|vNTTgHp%$WaU;Dg|XfrC0Bf1-p75|_a zksNa9CRQ8@OTY6K@UUtz^Uqm+tC1Bk-Nf4Gqg@*vgRsT@Z?w8Z&{C zbMqdE9Ocyr;xbklEsh_y8oEJgq++!Vfo3Vr;E@rhIDtCINCOQ5;qO*0lk zEy~Owt(Z;{)fCI}PZ+Fi>q{VlB>7SzUl42kYoNma4r|=8j&Mc6==%F^h)uHn_KCND zRI(tQ~s3K_mM~TH9#ZhyX+P;=W!JgB4qe@UG0%RU(J7tH78Y=*`Xu1`7Kw zFa{$`s4pux#9vg(iij6&?EAy?8~j%wH3>gCxD+kv?>$m$3ivulq*>UqUr?TcQpsYc zujH^lSYAZLCd+2Cqs=TR_JpOZJg>~57(4N19_&NDh^{FU^8#A<=L54l7Aq?&oQwCA z`ZX6qd1SVWsnv*i0h#kENTJwDO6gS<^`nD5gG@W^<@%7e>1h$XQRfvCTkXmdQZ{)A z<*+Dp@wZ%j(166Di?az0-=2*n^q8Qk&w6XxNW{DAQETm^w1BPqNED|c##{rTi=Z{Q z!KlojoNW|R*f%WIpQPR2CMww;Z2z53PSyMuwJu_T#r6Kw72dju;$W1S3K+t^W5Gd{ zH}lSRGU>`)${7^XkLx@VEVT;VfaEN$&}3I#RN@1c2>x!MHLEY-RV{9uKcVFTOyD4t z7%-Y)40)7^eId}zsR~7F?1+F3YE6?)d8ZaeQ@Y;~4{3B3LYatz9`7tqo<4_IrVwr} z1jb@&dTxj134~I#dI*y(YDm^>+g=qf745ge|L#ELFu=M6G(%7cFT;d;Oc@_qQ1MGx zmZ$@JqUaocV&=W{!hT%{eeL(b_I&IFpSD>_>LYQ%A@rjHuM6TUtF$YLn$kV0H{rt-1V!*FpTBi7KS_#$T(aV8Mz&|H)^UR33`u7N>(IvruWkaz%Evh(6 zJWZ9b6#r?0#b?!mVc}se+%ozn-yzV2H`RTi&J0}l4v3(pz1&o#vg)XsRlCQCmcQ{2 zd4z4JHVcA7JH+E*0PR4;-UwrhDDsm}tZX;T6BCFMlijIV)iJSEmo;SoKa2e{t{>TS zKP2NYnz#x`WF@D<5)!Zn0%+PClN^9}sR zkz;VLM|ZH$cNFpL{&pjyGc^%WhyfO+6WI-wJ1rdco~v!W9&vGa!003_YZu8Hw*8>Y z%)twh;K^5eLB%-8|1K6c<<#VEX*r#Otjr~VVLy8lF4)!LF)G)+ko?LI6uV#M2`sp{ zRW#<~HF#*kQ?tAO=u+K%!Uo_At}6oEM?4k66DegiJD9{9KY@Z18_#p|2Jao!d0S3r z-Dm5m-A@C1Lha8EpQpo2uL_zTD@Ll{F{#RrgrAXG69+~0s65T(;qAavcrw){yOCew z=qxE`uI>7#HM(d@A-IMI`X175nnor0nk_-s)T_UK8N2C0t)YS+H~jd4yh0SIHX5lO>RzguggZWPSmAy0K%+o+?h8mWFNYb%eU^oLy0?v;x_NG zrg5^zZV=6G>09YffOOfDIaE0qwGXuc(#CO%7{UH!tl z>5j^+Xmw|z{rmlVC^ZEe#Y)x*WTcIsXn%rOd4@IRVwFV4(NGU99OD!E@fAWPe;6mB z?q;In*l-(F@0#iyIi&MW!mM=N(srZG@-#ot3iHRJr{?{Bfdf>GDd&6u{=8FT(7;ig za*_gcb=`%)gA-dSEj#V0q?GK_*ku?~z?>oqP;Qko@8##Y=r)o}woWoiEH)3ckaUEc(e>{(yW}rZdTbna28)S+qR(eG+ zLeiu0)FfmqJ7u7aotuN1d({bYyvj4}LVFby?+M5|7dBE(GcdM(LHxdUj2ep(flPf$Pp{7k2Lf7s==Er; zJ-V&%6f_bS(d^{H{}xXtx**AL`Vl$G;zzWC;OtsGZ7J8zaewzEa&vF7m}WoWjv`*WjiV6*mg&-Yi{ zhR3$70WV%!SN*)^>iQLwewLR$jmmG{?*u+xg@vn)1h~64&~wWE=1A7@x@}eqr0#-8 zF>0dp*P$kfbun>!C^l*I0Vf2k!k%)G0Df=Mv6m7iKjJ&8~x}wQb}Ksm#SFP{G%$SL2-OD zPkO=*`#1)ZxCOEHSBskBo05a>(z845kcbs+NAuJ0Lu`^ykIT1+O&a=CYSQO5zR+Lh zy7G0my~0hxFWWB94N&`Kcz;VCm99daK*DZmuBB6USrEhAr( zt*S|F_ecaHEXU{kIu-bry}-w%!?&zzM8Wt{&t_hAn(a2N-}{xW*1g^S)PjcZ)hZAZ zh-Qy*^-G_;Q_eHq=RDwu#%mxNK#@aL za4~m=DApXB*faHr#9Np4U}8FDjDTUR$LuN^V8S!o8)_K#ILfWbuSi^2Bev&lwtgYf zemB)18vFg9p9tiZ=SI(-^A&>f$9ZuK_i-E(Ew zkIp|4Vk96DGsi z{Ru0I5H1B$3S<>VJaMs{QOHY*jXK;dbj8uD-F*8)P9~QB%c1gTa~4#Z?N-b2fm!5P z*lL&s&P(Z{d|`bDy;)|3otSz_E`nSIw3_^rlCz&V0PxU2V)7qt+V;&LJu>pH#t;*H zoF)~%MFgob!-td~YB8i3w0vE7O&{FWz&X{)`JxE;Nm z49BIdro_&PMuym9tp$}P?sdJ*eyY&2@JVy8IR?-#DqhYoRDl&7K9E(%+>5N3XFa5~ znoz0lypy?^M#L0GkEA_20sQ)Kp83(KL>@-Jo|$&+uiaR>;>XD2|Asg7HEh+Dq{EVJ z<8jUFJ85ktUC0`N(kJ$qu_@coBwQXpiwj*;X)VB1AdYz(qxjnP+FuFec6;OZ^T&Qy zs+gd_Si3b_AMd14Mf_@QIyr!wIjVeYlM2nC;a5ef z&hC1gZD|+o%Z%NQ<@;1-UaWTViGBVM>@K8yKyA9^PU=A#_x^PTPLmtv#qwx*=fD(A zxdl4~Ei!Dzf+P{cha%qJDWi=x`sT%C(mD}kL{o@aQX$=}*(kZ%W(&A2#h}xlkY|!> zagK7+v8wSn8@8Q6GN14sp;Kt7-*omM3DCLls{7Wg+_iA4Apx>?1{EqV2(>4<@Qz*C zb7H078>skopdS{zrVZ(3D7WDqYX{P>1{|G9RL)u!b4th0JamcNwAN7JG@1Vy){owH zj~TJwIp;zy+o!+k^g0}!%JP`%^Q(+0q4|v3xBG+)`S6+F*Z{&&`eGldp+g8e+9WrT zL=<+%jPnA22O#Zn^5gd$3+%`Uu?kWnOYQ~v(rwrZkoC{&JR`xBEp4@1YgK~~LJf4Y zAMUS9@0h?aQy;V%VVXj|`<|D3p0fiq+pgWVmP+xt%N+dXhD35Z&noar%`F@R`T3(0 zMW*=?YQ!@#u-xyLY{D%0u*Z!B6ao?n71^c2?t9N}ndMN-;yjCr=}G0_ym!k+CTBXS z8}wUgOKn)9f3m(N#tdb*mFX7(jxu3p%E)I6DYuW+WV_++xO(RyKy2~trW-*q@XW07 z1Ui)SkTplDyXP4L16ocl)4B4dGLd(sKZC)0Q#5+}=-}8`p)Fod)ao0RiEr*rT^u*HpOttzK7-{>5SJC}D*Ozv{0WZO!<6XN!jBDQFb zXA%msJ1BCxVn0)MxHUWofB&0F5C57Atx2(QzKyWmqd4mh`nAd@Yv$Dw%lR;NUPkV4 za^YQek!QRXM*lfahot8HdYEXf`)NQlxQ(1NEBcP~NSdQ5|0yg~h=xXJ(yKF$@!Mw8 z!P)7kZj*X&os68<08hV0N>4c@*^3-8MLf49e|H)p>53RHvHlN?&pv6+i{B%*e0+Lr zY}8##0%ky@;2#|(zRH>iwp$Zp0|?CgnPxPuh*lN&05X_y8>X+`!;x6Rq3=Q+2O;;1 zlQhRrhud_VJ`cY|t?gfN7?_@NJzX%-X<@P-w@Rsn(zYnZkIyN22iqw=ZTDGMg-n&* zwl|AJ?#)|^UM4;j0tQ}guc9%9lPv-{e%|Le;zYZ9q&4PQ-I342mxBN-Z8eDtpEE=zs7RRw}dq&^2vW8e~ zpG`)G%O(9?2eS8jw{wu?K@{z3kM?$h52YF+l+xaNW0b-`x;~^x4_R&Hg9-G27Qx0D zSbMNu)tz}b{R!=p=dL;*JItY$EJdv@U&AegCs1yOThKJ?+UV0XuvQq_+pBJVzF+(5 z_4w^FgJQUC?_@hdKqlaeeee?Ov@EH*Qv){Q`?&@E6E^C z$O;dwpkNQkw#l4UO*N9LOV-rNrOtE4lU-x!x~HjiK2w$-vct-CJ%wxNvJ!NnLQU${ zde9k&XEl!PUCqd9{LLu~G(G=`^QnRUPKAE`weurs9pg^>a}FDMp7(iS@kz7~Yd;on zS9t9i=6e^nt8unX2+FQiSlV?f|Cx>%GCW8{qmarU66H#`ijCabvd3Nyzg@?PeB*RA z)6n9-v)XL&DVb);s;9fv<>Qqwj(ZB!BS~_5jcn2GZugs}tG9_K+nk7joR` zh1__q$bHp&LFE5CohwT4K)WlwE83s-JD6rAm=(VTRyWmmFr#WJcod*${x}4@2nAne zqj!sKG2@S{%5-ov@IGTyG@06$>r-zJstW5+1wmOIa-YY?G{B0|?mO5lFqypXcB3jH zR)A*9qA(eD=`olT32@3L-;63g<{n6@Qh5oQhFR0C1*cNuoh5W1W5PZboZ!i?F5|9_#o{?mNZf_7)(sr_gHn%(@6h+8XBStRq-N>nvH3tb`NB8?5O+W1NJsD!}t6yv+ z1pHYf!M1n%WD|~CLz7FKXo&-M|Imm7@iE~?X=5l&n$5!}Kx)avbnA(Op1e_}+N381 zWvgt0;%nB+&VWT#lrZc}0GnRYyLx<<02M0qx0%*(l&ZCjOu5Y%3_SJd4|b(|Y?A3P zF?%{2uS8S|oknpGv#ssg&sz>rm2ep|6)YN$)NuA?=K8L2W$>Crd|WIFY5T}TWt5E5 z@_KSJXUYaRK{HNBT8|5<=SnJD5_k-6Nh8>pa`D`xn1kWgQzbE^4Ea3D{aOEWhfA0q*M4Nc>IS=1G9?))`JQhB18qsDzKm8>| zGD@rO;KfHFZX|})ClP5iDn?q-^hn}I&8cKkK3J3(!fI@0s+b@y-JFt3=M$*R4$*dk zo$An`pKUg5oT_SlFCgEa6=Zfl!@B6=)kCaKyXgNTrs~)fk=fU z`GM3<-2AsxQ3uQ*=~kj8F2J*r6)@i#3z$*(^f}vinjK$2wTKJJIj$8=>VPE69gh0J z7p)Gb_ywPYdG913oZ)c)K&V^iY1lB-?@>&Nn48#jsHujm3zOF9a6Zj`7V(~TXfNNr z`!rlbab+2hWHlYoxBL43X70A!6yP(Xy{;29U9wagbTD=&I@$K%n9Y{@gw0T6GRe63 zU+ufwUyoFe37ZVLl$q~JD{PW)lH?{_P`=!2=?*CaH!F~Pt4%c%mu(7jdZ3h&PyA^tleweY zO;t5kYlTWFppki(-0TB8sQcjZaOp#WT+op|dB+(|Lf+#*cTp+^oBBVk^8ueP@;P8F2&&=WPz^$rj;M(8Q3+Hn80#0IFw6xcnHbd_Ym{t`Ss`I|oG zxE~)|)`e*&5PZB?5XZj~VXZ^7K1U$A-CsCGx0S7bXWlKCkW!=In-%IZ$4JuR(9-IY z7}Wv&!&@Ql@YPEdLNv}gY?d|J+cY2E`&P^lSy};ww%t0zP^$u{M)m|;xcqaiO99y` z%^i-n!TthByI1z*B78ZXywK6Tbc=|Z-QO=C^Ok*BbJC7|;cN=WLxYy#Id{vdFRG?xPJxiNmgT3EkYHX9 zP#=rPM73t9JhBYyHen9X({SN%S(dNx+PG7bM>k{XoSuZ@^P46Z>HAZ5L(+$?Eux`` z!6+`_FK~4*jLvW#?sAV=tw_(o<>i}~jVnYMH%BXO#&RcN$#$sD+8tZclr!8Hs3C}Z zuVzV6U1t1C(HOMX!O-Vx3Pf>u>rWNdiR*nmL^cIzSE0tUMp!a^AzZ-E@5S zNouFl&4?irWjXw@>uCN3B=e(mxFhn+;0!1@$Jx56RoFB?O`P)CNctdSRbrxxy1^M%AT0l>-9U{7VNC!Z#VL?wj0^V z1lCMaATLT>-ejhUxW3GuZJ~8styS8+9`5D8zKRarakvLu?kxCRi~xlK<^OzMAnzKz z$X_Xn=fq%#1;2rNY-{ls+F_vd-#or`E)Y76oLX`#O2QRT;l*zvsSoL!0&*XkWkfw! zt{A4Y)DMp+22KcRy(UAoIuhCG7#naB1el1#ae~=loQP#q8)cdgh8R@A6D`+PeJ_N) zyvOU)r6<+ty!tpu)$2Ruo1sffcGdlUM&*8cVjb)r7b^&{1n)AX*kMCc;`nAa_j?6D zb|lKhN+s&-0hq;3J<`CB69{i-j7vMyOI+xlc(=jPq?}$x7Cw}^>xvcOuDy+`M+C2N zzNJ6<`4#ypIgHzY3DhBu`+5sJr@GXJH_5ut`IU(m9E_^KMCM?{b`o7m{NuWeWOLx} zL1CdYAP_={ApL(y#9gD`~4J&3}ehU;938MWVw z>ymhm9ccQwYQL-h@+s9*Y?d+LPgICSh-%Sn#^bN1Q07@|HR2K5Cxe8>m^?iA_*4pS z+DCdGUiJ-wEYFGVO4X0gu67c8NOqiwD=H4!xjyyUS@>2^R~5QCKWK=<;JZRiUsLz4 zU2($%pCEnzq}{%7HouZIKPS=1pk>m#8Qym~5K=jzaaobU;DrGorjBmkuXz$L1X?>^ z@oKD6`F!5%RMdW6V-wDqFA&5mu?815RsYSSe#PM|ROP>lk<@x~I=h#V%=YxlEYZkI ztJr(g`uI#z+?eTpFCmC?JFh^)UVWpx=J%p{Xc2VZD|Ik>tU~3s?n0P-4v~(2sJwx+ zEj7kX;>XiS|0}HtK5N1+_VE@hndfo#aH_&}y{XdmWa#{Fi%ZMsw?{NIz5NMO6|~tw z=Y47D@cf8+w^S)=`*``JQF~oucus^C0^kjT4s~50__e52nIpEI(LL(+?-MUe2tNc) z>@MM%*v04u=ORzv0W+t(BJOjH&`)}VN-jB_`Nl?x>CHes`c3l=^1Vmgic8OWc_20h zCZ6Db5d4&pi3j>uq(H1mfxxMnv>2}SO!M_G6RW5%4+cpfvn%My4g~RPoj6~Q5lWLY zIK{!=xSVp~rx|(Do_&|@Xy;uw?CQ=58};mk*5-ybyC7dK85Z8$T zrG@XwGae@P0g!EB19usnJxn1RH0mQLNFFnEN;H#>N>a|gG#2sz*6zJGLf|)`Xs_p+ z?C<~kV?n?`1>Md2c*-hE)p00yhTKH2F_A1EpL%-~(;EMU@FrStW zJqj}=qfq@rnP3NRhc7Urv1WT$o2(KzCPZlfB&YCq#dj?T_KBSHD;nxSEzv5QhG);`H@a`gV&(%WSLE zb)Jq+p3REM=51Fp7DuRmW*u`X%$3G&uM0gI0A8@r4jCR<;O_4^tft8gbia;Ps#^*Q zt;&{Qee@3^tBz5~Ww1kwJR{ogemaWbb(AuZAA7PHToipOo|*`+u~IEtPZJHa1J^6D zBode?WU}G$x+K4K)CZ2UMHmLrO2SY%Rg-ES{yGJn+j4JN!oFOV_RYRHe$NhItbCso z{zWDN`VwHJj58tMKz<#5zeX(Q@V~YbDPoi=oEyNFKbVu4v zECeM}QDDbL*_T4)cez5R5e!hi!sFCzpXW4o#xN0nlv+iV=2a;V`bf`=aF`*@A(}!l zS@F8j8TG}Jh6(4gDw^Q5`D-x~1E#`{#y2@6)k6(5mNv_jfvsjt^ob8%-$ zuN87iqOr@+D+d8G>KE`O>HDMl#kUJ?;{Y;<0Pi4HHS-z8biwgC$b`gM*2w97Q}_;Y zb-7@x0tqCU-gE(R4Amrb#MIXwBXJN}TC_!z+OF5->yi>n>`GKE$@vwg7-nFUG zFxX@r!HZ}JM8JQ%VF6ch5Kt2$2Qz3DkPSJBGi(vYvA{PzfzcOBB?AP@U{u2+xefbaDNt&zB+6@J^`mO*(GfDR&x#QpXVxWi0A&?%0|d z4b>Y_z}CHP-^wy~xj1z@zv1Ls@y@Wx;MiYCKx>*@sRYJK+|OyT=+S}-59HSsY z!2j#m&&GXe?jh2>`e)1Gp0c6bw6^E1T|-y+kz~!YR+fgrB`pk`sIjXv8)j z^QauizwHJSL`i!zYH_=gOZn-d8S>cH_+j|`wJRy~vM1E(Y*fZ@%?*3>WCo0|6Q`=wu=SLsjJ&?EFmr{>ha$+YAi8R1jMA3Z=;xx#H|sixcYc)YJN zQd$f9_(;LEHM(q6R?_e(^fMc}xNv_x$>_f82VC#;f5eS6w!M-Wr33JiV}p?4ybKX- z^>|OPc{LN0X3ZR820omi4!?Np+zayux((e6)7YPMj9tf%rNneZMB=x&r2yy@n}Z5+y=x`6N!9}SQRqjJq-U_ z1n0KZSe?4t^P5|lJdqpSDO3ItD=(mO{g+>sm4Pgqcb+>3QDZBP#(@xo>l{X{XE-Y*>E3Z;ur*QLsx*#SKTHRv4IfCO?+0xNCeficgqQ#ma9@`^vG_yCvALMA;UFS)lU2kudM zfj&NWZO%nw|Dj!NOAWtudu?^CA8)eow|s}z(?@=Qf&m{YsciwWiCc_!(JDnuUJ%jX zdqzA|Y!a`DyOOEj7yw|wT?iy;B7UZU40Rkc2~5de7jI8?8dOci+3AIeNF_F^BF?svslOQ7}(WKl7!>A2x6?O?fIFEmB0ylDHyc z_XCCoqkgC%*oPKHOgc+E+%d^=#oVTsYmFX<^@U6R9d_X5?}J9i?M|NW!%mEWlzzZ| z-*(4dB%Qr1*MGElia2*Fk#`GE|05$}z{oS^QgpAvRq6L5eQF zJ;UP=Aj726K$LL^rKeS8c^CHesIo|T(@p{@nHDobzGL}B|D%w*kCe@8YJaX9#5 zLy6%3x@YjjbHGSw0spDRVOXc~SJuAT^ju6-g9SNA^6hb@w z^kfAu3VXa9j54dJmNNTlvffCOt4y7>sNP@QwtdJ>qY=KV4KEG)qqoACpprsfqY&#h z>htx2qW1#T;!GfEQ(2iz&)=TRB3i^gCRK3*Kz2rVWjQfxM&id+u{ek{o`&9jYU7^L zh}GQGwg&NnOvN(p`9~U@WQb14NL{@)OTETmx7`pSeaZmZ*BV3RB*lB@8Pk#YDQgwSLh4h;Y2xUcLCaeHIeN&yV ziX^S>whK#bbL-`8)+2QISW?N%CyB9!GzS`<$b<~-S@u%jd*|TDZ?=jh00w8m)Ni+A{ilxapOGEUYl^6f z!+Pa5Wz*REU4i7Q1l9&&M)rD%bOdv@x#=rjWRP`u%XvS0^MdrQaBS;Hl}UEq1mLmE zizWF{g;?L>mcPi><0GeNo@_&EJf2f}0eBsh-rz&1m!dVJxTbz4U~s^QDM%qU@h)1k zO@|t*Xm4RYRk3KCd%lZJsp};O_I3V4Xt!XqEF{6c`Y%T5ni^oq27`mwTn4hy!xFpt zvxN<0G-Dl4U#ACH>KqM#v*@l5v(@)E3(p&w3LaZF&d-9nTMZ(#470>h+iW2VHa;f* z;fB;2Cgt&(%`*>*hknzRieQYYr8`d7-bsk>l{m4R=6E0@?bV6LLJZ02H>v_GjO#NK zo+d~7Y02Phl1maxw>d)BE}d2L5v#zbYUcyEGLRX z)aFO?N}>F8gbw09ah70_`6{w{AMzGv!{|tNSOYflcaphYGBe6gt}3h~V5rQ&4){;q z*RS@zW59uf5$*hvmW(*4!HHe7ef#cGw^0>?Ebq2pog+21!W#8vgnUf*Hqxvk7iz-FP<_lw}GBK!r`jMC1HVZlQoQQo<*%)K(qY0&)dC$xCkdH{XeX8;ig3FJ~cT z^mmyWYCEUZkKg!RKKA+4via-PJ?E;p%Ri=k!4*h;x}gZcmsz&O*v2%lA2eUYq*VjZ zV`1AhslhgOyJVgU!78PVRq2fEieEapF1ije{@R*XZ}}}MyEIL)799PjZclWvHrRga zCmZU|P@&f8V|1U|rLl1pDSn2()!?dTa+;`Fw=lJsHUXE^Im*<3eBb;J9!YA?+ zOmYbp4%2Sufv#J;(B8^=-?TSXgmHxh7lAQ;W|t5Pf~;3Ef!V?c1%khpPjoTycEr2N7xO zu=c`=SqA=GM7V9kHgzZBZ}`k(&@r=%qJ4Ml527;mRRB`K5yzP zpF>P!g*W&qV{YoV`c<%BssF_TTisGX11)0v^`&)SDI_%lV!j~K5_A#aCAC}uwnb0B z9m@=4t|KQ3c6K+d`lIN-+y--P!xC-174B!j?yh0&953MPF4uJYWb|7nvi+QY^FF)( zBIOS;y90da8OgUMvNbyLuXS-K)Qg?-=bliBUG|xjYGxI>GUiH)7_;UkS@JJSpmR$4 z66UfmWGm#exnzmw9HUi`eu&yKF<9RfdrLRQ|C-z=e0kFQd3#3vZ~^6%XW?^3E9zBa z=V#Lzbe!e(sPHx^u8whUNZk%#;QNjqSv4AP)Gx~%Kd;JGP1BXO#-g~aq0pt1^*ZO( zWAtOD%2?xKtN6r`Zf>*ZaXFgs*kSP$TAKs4N`@bs-pzRIIX#bsOI~;p!dJG?C*FKa zSXoB|^7Fv)aZkIXy^bTimZ|3Q_+}LK!k@@E1ptjK8m)v>+9bf(Xa1|u$Z@7TZsl*g%Q23pJ0#19!|T)lygH)Hb~!(3AFvjDz4Z@A#VbYD zd+Ih~lz&jBgv+%A2W2_60#g9j{+vUwfl5*)BUM-9u9c)&Uxc9@8@8_F4^CFr01zO;c;#l4DAAV7vO5WH(TmKY%5eVn6ppkg# zHrQx4_bXv2$gUPW;Mht(KM>T5Bd%uvIQ!P@iIDX|=8|^|$-GBcFQ&RHuwhFDtQoT< zicCr3=?Hm0Z|+jS6rg@SUi*76U7tn5AzDvNXtza|7z@QI^E%mlKZl@g+W8vu;9e?03=n8~T?+g;2jFUh;49$~fiHgDF=2J`L6&TMGyQ?@`>c zi);W)C*x6H#(sCp+8c0D!C!`T+e1B$bs$F`%?oGbL*_Fdti{Uo_W0JZ=<`|2nN&YP z!>kb}9HRK{q>>~BC_!MN8t?xBJwU?0Sxw?#d!noaw+7f{`ItivbpjvFNI2@Z%ues$tJ5xwKyL($w5v)P|ay?$!y^)Iy<62K-^C7Dv9 z8Tfl{wTZ0J)n!RnMJiGRk(weAiF>jbLp`PI%r&SR>58qWsE|scA~pksQV&%sW5{w; zMV6|f!q-%(DXDmvi8S&QwSYSw;-ju#dBJIdVjevpMQ^~rOe z_7UNE!u`T82(RYsvpIInUp$qk#Dyg4a{@U}r}^0RvyEqnZLy5FBWfJ3O?yxrNJBp2p*L!V=^Rq{1VphV$yQQN@>p^{?U2yVdsLB4 z$yuH&6^o^pxUtg6ge%Q_zL~$lDSCPa8BeWh-)zX5IjdQQt0-0@&}HTMVPyDbbe#jA z>Ho{i;k2x7O{*%iMbZ9WX6~Km^QXrTBeSBute|B$Y=u_FI(jr&&hwk#(`9YL*NDtV zW@Kz@LDM`n)HF$w8C7&sa~&ocikWi^Pdj}0@TX5#?~2r)u)HFV5LKVS`rnQ9?+JNf zUP!S1cMAto@9Zhz6~e1v5e~r3a1T5HzW`6cd(lb?;4?l!<4!V9CetpmabO3Ply9Yt z!Dl?d=1Ex6PDAfOG-S#6q{)snJTI|vQR8}N=M~kChb(SmIWdb-x%0C6tlyT>5oN)4 zNPsK;FzOHSyUGLB!(N}y;D>~Y9|(HrbUvM%z zhJg4yb$-q?L7u|TB=y!b!HZ|WqA79VfpK2yV1zuch~lyn_>ECzqLi*dod+PI0EH$= zrw-)7Eo6B7#ai-soe!xA5jJtr-mV~CAMH`U+v}r%avw-PK%7AXe+9-BkWLIUt`Q`m z5!MFofW3z95Gsoqr(G!NdVqulJFsk$njdWJK`riOrW%dAb8DIw=An2CBOgQxYRO%p;-f5JwuTTTzZxHB<~dbR`ibCYzeCX!bIo zf&ft_gd906Yl!l@5b14&yiEq$P;Fn7-6~WS)3LI(Pw$*^V7ch^&B* zmkk|GU zPfnuebX1SB%0Q%{!RYm#ss)OP3NlrRMuui-pfOQw8R_)GpWtefq|=KKkY%or0q;l2 zNv0z?R20S(2dhR!)?rezlksVu@~SOMMALn%!}ISoJ+K)X5ls*64!#6fdv5?2`MhD< z_)JXnlZ}nV#l3@pZP#O?*x4)a*~}(-nCG|@g;~@B*9b2WUN8KL@DbrNX|^brI>hm9 zK8Xj)_JAh?`RU5fB);&mcnJJg_^h6T(K1PA2T0+@B$y?0vE~OOJ|$mzb~=zZ=<-D8 z^k6dHJw9(0mdWD9h4|Zrq^AaKd|A6Uanp=GZ)lFGI(PGIBwxXrsb(NlMEWNenEv&8 zM*;^#Pr^2mLcMZqXTtCqBYm4M@e2MVn)<-2yp9t>2)-qAaZank1vy5 zFX!5hmR>cBr#ZL=mpc4WzMz`6YStvpDiA$WAdj49x!+xs?hxfXp;=SW3Z9iQDB}Bd z@s{fm5YTo@6iXFSqVxs)JX$*MJbY|CuO`wv5t%OH4Q$Qea}Q72lcmw_b>S-E1R~E{ zgcoC*rZcj|gH>R?Nty!BUb@J@MuV}(DjH7ac;Kh<*&)-p9?;OTaVre@AWS@oW3m2l z#1pX+JQhu69O1i@VaS^~b<2!rlfR;n@vP7& z6f8H$_)%eRAr2f@q1oHf+*KOdu12Hrf}mLPZG%)B=En+I)3+2S??!lGp8U0ryig>n zt=b+NvM-)*P=AU{TV^V^5BDSDY4RH zwQ9Mps~=E0YG08`4b9D3LCI1}N-&9&3X4R5E3wxIi6w4lG?b=^U`F3l5>-0 zL}is%X{$ZYCi86eMr-g_AZPqIv%0al9yRlk-8#b*PD^-m-n8GUZk~Emb`PlBTeId-fe>(nPf6U zbFZwVLNl+Pn@DsG+GjI9%5qc|FUW%zFQ=%K4bh=qkS~yixLj(^P))|?6-7c?^A4zZ zf~HtjM(@mcaXwR#W!*1&*}TWNW<@ngsAdNjPjT{D4jla`729%&RZ|ZTi@oJ zkj>w)BW?8;5qEUqss-G5|z<$2?wxrn&u z&pZong=Z0WF9uTX$SMR&AuT(OMu^{WN z(M-^$XPhW+`q5Rj`hxC!ab7OfBS#^k%68e3-2L@@AZyOGHDpvT5s6I{&r`gdPCA5W zV&s(<1KD93lc+kc+K%q-ncF==WTKY-Ug@^3x%c{|B`Z`ivGiz3_blZD5|Dm#AzutC z-VO328AmKVAky3SNaTMoO>_?_qJ916i&rfx7Scbd^Z!xy9&nOe)wy`xTRG>d&N)m^ z?CGBFp4my8cW1O&o3+Yel_ex3Bq51K0a*eh5YZ&dWP?q#L5L(hg7N#=ARCNraKJX^ zJwN*yo97_gF#FEA)w2ow|Nq|ZbahpA<+}Hzd(QWf5Hz!7HUp)s%5>h!ZHm-T)j*wS z%e8WA>f?cE$kKV37L?^mVZHx_V>CLc^4&rFgR#RzKeqvIy8P7Tm)xErt!MtnxlxG^ zk8_d(+qFwSyZWS!}1Kj1@b=(cytswF5;_l-fhIjiU_h#;wxp#5D%6*vo z1os*4bKIA>ZzL6vHd&vrG32U*pQI5q*C(K98`CgNYC<}3w~wEMgF}v4y(GcxTR8%W z4}BbYIOMn;!x}`jg)gxu#{-*mn}eo|@tx)XmO*_qG2#<9tMLF%EQf<8D1J5=9}d{a zlZ>$lXntMfEa`*Fug3jlS{=;b@H`U3G!glmHVk7xj2R+eJ=;y9CEf_OrAlTDGBAuj zQD=#WzucJof-uUnl0w%$I6gi>#=E>QLuQ5UIGr3PcU-lx`b8r)_FcU1n0vppwQ|?R zSJ4f`5I#7kUEh84MS^h;NIXJXdlwdJwVT`nRdUJIgn#6Q6O9vB3da53oyRG0t5HN; z;V_x3hJ^nXH4Xl9o*MjdO5xmsD2gfwqhq{5VZC8eQ1zN{C67N!5<21n<*!gBURe91 zT}ro2$?}OAdK`<9ub}VR2_}nBUbrYluG{jV7mWD8(Ss-4+>RgIfAm^GAlDFnVe#I6 zUnDz%KG}cq*rDY+cQrcm-r;Xuew+~g^2+W)(motZ}*n{^>$kvjNb7^ECTJ`PPVAiTkub&~Y(iB$T; z>&VHMeW;uY%OAKsTl1X3%*e!+dnM`6L)BuY@{W_n6Pe73hsE0KuPp!C9e&~V50(A3 zzilsBL0W!b^TbWnM-B`6_3y4^Szm-62`}{&XK{7JsU>l>!9rp_OI7w6niE?A_wNtW zmt&o*uVq0qmeNcfw)NSmi4C(`isS9Y(bhlKDudoqtF_bvi17Bb7cR&lYA~ms6W~iJIxFi_@V?&n|&sNPw=M>GJyL|R-{-OMD$1%V7bW!=%%al+ljG28*H<4=r97^N$+xvFW8IxQyR`*d zH{wPd&hET=Tkx6NaLe0pn@7$}-Umm3DbD_-q-iiwRct4xzXI*%i@%UdV+{0Hmm7dK zUgoxdMn)`Oj2}G!8tpaQYq_VmH*s&{-pTz6_df1J;Lm)V`!x4i?u*c3H?5=))SMRl{e5#yNR6pmJ()n~D zs}dz|8-aVTPOj9~enlT8&;Qk*llQIN_rllK?n~*qeyT!v`1)e`+c15yyuWf+T$!pg zG)ogSQ_F%S8N&Q#%~I2*W-73}WN9Wjsa^1I?ZryvkKqt;MgL)MSFg8g1DNrmV%wf! zxsFA7*)|n$ z*cvhEE3saw=z4;&gZSz{g?^r4*%B98uF%MF*pH#I(hFgI{*qOOFX8k?*^r;J^`8xz zpuT>}rsR~Zul*)g){tGg4Zn|!==R#5HrbEtZ|EBcU@zX!9UIoTO-k4Zm>)C@wzHav zVb3i{ILOM3#l%cbJf~!XB)uMXK(RwlZSCayBdv0)*~^d4nbyMCmU$v$+(7b57msW_ z-r7D|UKk&*H0zV;9JmAZj9M1K-P+Pgjl{5((%4w&){Ij}sstr1qnr^YK$zSYVjYe`D#Z1Q{=RM>b}@8%6vTw2c;{W>{Co&%4Q z^Uu@;Hm!uIi4`=nyFdu-vn6&zpZ-i8+V8I1$zj(JoH|~g-KGK261#YhyTndC|btTu#&R;x}>C?Jh0`F z6LZsdmkJM^IB{avtz@qM_FM9Tzg-@CyGD4KPpg^M^hE5-io&bB3tHcx)Pk-kfGY<^ z?B!dIpLi%+ytBJ-;-R%0ZrQau+rN2NZ$jSc37OZ5R0X7-XdT*h&!(`%=Hk8TFv z?e*N-x%aZz)|a{8;r@{O0rz*@ON5dpnI$Xa5^^iKkGz^ZN!~?1On#GmnN?6m2%>@i zSvqB-kKPJ=W?&}nG1O$1aT#~wPQQyosx!R?%jJw>%1&Vn?Ai^cPR`-hlHlL_Dw z9vBN**ds|`jru(-`;w5|tJ6=MIov2p0FuN>p}D?e*u#EO?f2NgGhFcSG8vo_NQEWB zPZD_vp~NDFmc&dOa2avnrrBr3HVLH|tFKQipd@n^2LS_iMSZ#mc5OEJUk-sgXzKhXvfohG3{8jPh~fk zjfI)DKh_PA8jffN^}k7#M6K?o+r@v@EpTM0q{}w>q*)J4H5LRzmt$f}CWx@CEW|A& z%aKyxNyU;V%e*YRiYVwr;?+QL^@=5E$fHRRWgGsv-VR#;pAD=Og3)nmC`8QJz98zA z9dRAGji^RtS+puO-vvX3@>De_fw$x8y6eM(r4rEvQGll|@$$c^S*@&KqPt>(sA&p{ zAdJvrnRqobtHN=JsFWLu&`iNI9TDA19$A{wIr2VuJ*A0>QgPzr#7nu*Up%=)1zyZg zN)3%@HBlgarv#>~Frtu>BJRzaGou0`2$v;z{iaMo{YoGUos=o-ibg*s2xjC`sR0dM zm58%9n=U$WpCIlQ2y{L^AnS&v3MyhRD^7(F$;+n0fWni+@d84-X}2CVB);Uk0SUdBmkD$KN6=M5ED_$Fypt3RRTHQutMM4|;AK!) zZw+G>e?lK2A7c4cZOl(da;qxC>?*LI1dB(?KkT&9q|_`>@}W#4n{E6XPBLVFbAF_t zNS@J5WxF|}+X&*L`!`&KFk4i{>bjRqi|5n(B;$pSN^;tM>SCgZ$e>|UKXkcUeN zRsbCyZyoRPnNK|Mz$YGfIZ-_|U9V+SSDhQlOk{qn%P--WIZR#>5z|F{y$hRoVPRO& z|I1%`?6EIBM&9xO?yqE3H5-={r4-}b$XsUPM^9o+_>*vqH#{l`kBYreE2?Ty3#~9D zCQDmh`}AXYkn?hC9I#sExjo#~j8AYHEy)VPc1qP==jTRcszHR+w3TL9pq*~qSrTSI znv*294}PCT;H^eQG6RB|CH;|RQt(DT(J)OSS{5A{x&FMtle_0If5FnS1toNBLGZGk zAyM+F^q^a=^m}n?x>A`=Jk+-=#=0)r zIYiW#B*)0QbxEdbIg^EMD&Wb%Ud!-IT0KJW{W%FO*Xw^^d;c`u=6h^*5f} ze8<+c#XFB4y8FKU7vD3qzc_<(ScHD z*3;DofAHXgxRlwmM^6n4-hOn^o^&q*Kc{LB-v8i(XO@zhRTBRhBhl6WkfHUq2>x8m1EQJbejQDJ^VQqM=>)+I!Iy67mnw)ISE*zYky5YdJ*Is=6 z+Q`1SxqWm0v^X_0JJ+3Be8UJVZpeCck|@;q4OGw6FkuPKtG+7l!)7)sNF#yWZy z#W9$E#L6t|>m;e(-Fh%%D+<+*T|X%y{XZkJhAja}h*Uh^&H)a}*j9YN;2&EAB(Q#Ke!fx>Nyx22ki`N`WkuBNO4M+bP|tHEC-Ag)d=cl+sv8mngP=(vl_bES~-;}$B&;Q zr!IzFx3qs<5fo1qMEH^|1q=v-Oquy)SF3FZrf#2$$%ApmF&2F|gXMt%RlL5WDb?QZ<=rI$XOa(^#XY1y8kIhCyM=Sq%ddiH1~rKZTKl>6AF4?leAV{U5g zpW{-~(+$rkXFNY!gc;o(Da9(o{rV?*iaf>b!t7uPUWHt3qOIMSX0`0{0_k-_X7eLp zBSSeovjR)TNENo&K)Yxi!zv$E^ysOkD~&Zeo^?Q8_3Ze{SZjOl^-7X_qbcXhk~pvE z6Hhw6q!!e?FG_*yF0{l(FwbwK_lX6Ayxt%q=GDjVY`tJTStn%hz1gTuz<@JJU|Ii~ zGiMh~?J?W8Okx_rW`8iLnG*g?3$Ik45=h22!5VPSV7nlOa*iQWZs!hg$GMxi2f5dA zZ{|M8eTw@G_YLkvL_`{_qwhAh6ydk(vKLFhN{6 zvlm>>#b-BzFP~k3oSa`F)D~N!1a`Y1!{Hxwoc-tS`s6vcB>yRe%YvgQqK=19>~rqn zyrbOqiI;z32is-%NOn5Tutxi<;LLrF@pV;@>3qNn=Ar8~8y1aOG>)~EI`jMy)B+^` zfPrca9@$;JZm?y;#`5n)t!g$MH{$B_^!8~oUtZX^arO2zpZjL8dvy8uJtIH5d%Rt) zZ`O$(mgiwR*lPOzi$6YD7k;C5wER%Br95E0_QdKEi=WY9TmA^f3WroC%^7fz6EB?M zO(d>8n?z- zA9Qdr03$Gr!U*ieI6$P~801kqY)7E%rs0P+Yy!*h^E5K_h5>nL^PO8xJYf?hrR2?+ zcPHv6{Lw{~R}n|IXn?~bk#y~fESOSu^~yHV$4PmtKq}5evF`hn2qd2sscA@(rkFZC zo2+}@KmObmBK?-AZn<;wUB{?Ix6B1~X?$d^l9heystuvx2ZH%1m! zl3<-+q7%piR_l!Kpy5k6mNkPDu+qtf#Vbb5#^RCQSUeWG35Q5YTc z$BH|Od&#e?-t=JmqQbKH)HNsHxLjDf)8|9yst2!fLf&8f6V`^m1m5s}=gMHkbP$o3 zL~@zg^NcEHShR;BBBW%;I8q>51S`!NgKk3jGl=3LP!aj-hQ9XMspYNyy{T8MZZB1q zdc}-4x3{;=e|-Oyx38^u;KNs2@yfAp6{a$yi=W*xVOwcCOG;Z;YF#H)+PcSfUA|E* z?Ju3&9_>AJlQ@>1YyN$GuIy989Q{&uJk@_wX0=gpQr7x&LvB*6Rq8;kE;leqPp48xXbs{~scESd>j%LV(aAh0%sj)_hvc@~#umc+;TK{d8QOOtugto3t` z2c@T`MmJ%Xy59=?bkMFYW&b{~)*i8f#gm04UGa_XwyF78&&tLi-z_IN4#m?ikoS?# za;xB7zKnZ4j#t9DK?C;IQD0aA5!2zQR&z8Qc0~sERF#me5Isvo$nP#O{7#Eb5`Sii z5hWyGNf^ZPS*bRQVMSqq?>BMOoyns?KSI(;hEkls7n~F+xJjl(=0-*~?CmJ3lCPyk zXMM!}X&x`JG|z@D5y`T&pD4-?Nd4MF^Yyu%TNm11zCJ!N=?juZNmOrdsY>c!OMy83 z>e~*g#J08G%7FuK3OruGtT|6`1kV+9kp_aK@`5N{uc-nr6`afJgSnCEd7IDiY9W(v zkVsN(BO6WmDWlZ5rP*lMs>Tb-=e5G4BYtInZ**JJw5G`@s32Z6(!QW6Zs<~z_tu`1 z0%orC9ttq9rSLg}v&6?erjen^p#Q|4a3?MZEPfbZataDpMklbuWAI+W4i9#n3fj&# zZDDm~sW_QJEi>1U&B@M0K2z`3y@R>DtNoH(J2=(8tn2U~k5bW~v2kv-$xAiW5J1)F zf;4J^*41>ep-_-e1he1a`kG61WBS>CBY5v zxP^4yb=O3E?I77 z!9F%zTNMkTHWC&hb;d|}PKD+u4fA&S(ru)%>5f;d_|=J4+YPfy-Aidi-1Roc?$L=j z^m*xKo}L%O*OD=WdK3Dp9J5h^g^e4Z-MH}t#_nJF?BT=D9=nk5V4PcqH_!HCRC0rv zv;1`(hUt(DJIpL%1<}j^-Q^h8RAvxJx+=#B@WV1`vRrDJ4fwJViqA_j->nuhWiJN` zKYVyxAhY^burMw@>G1pHG_2bn3E%}eSs_y8Qc-3j3|&D}rD9|i(_x*zO(ryx7BEZW zWpzqZnkN4wjgTJX?FETSH%o;7A1N)D(^6%{brp7Rh^zS%@?MbObKDNbUetl}N8vgH z6`12J`+$K|^t%b*T%(6Y$$jyhF*L+h$7WnfkRiZEJclKXJew`3DgKp5=dPUP(`q3b zIdgl9RK3!O-8gog_-Jn5oU`^9DX^q8DRy*E|0BdH32y>-L6)=kW?@arapL%&8`Fkv zEgx%b8#Q&a-E>CyCsZ0maXF5i-~qmA-{8cOZYgf8d)MR6VTgbyxdWP~yD=Uk@mcxP zzs-F9EO@LZhGTC-c$S%Uqa3vs+%exSh;dSS$SUqS%!HZbhtv!8^)b|h1Y)p`nS)!B zzluuPY-u*7N_Kg2*VM&<|JbpWSN>SQ*6b*jwsLPFCyK49#nDW1cfXnX?m@EYHCHsA+EDoJ+J9{L9oW-5{XF>x@)hnFcP;2l zxEEI9!7!T`;be!6wqN+&?P2&akVCvz1{VnZw2H(ka`<2DQD?d1NpyE`&OG^B@w1iD z%4fx_SQ~!oy6S+}tV@w7x>U%5%F%73F64wd+hXlM;S2uWlzcrS{OJ{$d_Hr!hcF1B9Gv>e=VUhM`NH`pz~yS z6G^BUEr2nSa00Uz-HDdO0qCvHI=S7@55O)iBUW{h(1*lhh-4`KgOZ8Nta?m^zihf0 zWUOnYMmj$_nol<*(G?9r1x03sX)llkDeLNirP?Xm%}NC`%BZBTipRdD@jXNXsF@3u zEFMVBj`zpo!sv$4LX4KSV)XYo~S9Br;8yt|!s z+>Z#ut5~wtA=@K+`*!;q%rSJkwR<|-YyVP=R`bk>{kNUnmsVL#_b_L|=LX=-9~v^J zpUHA!LP1UhUz1@74Tb?xd5ChBbdDOsdulL)4Ag*h{v!EsSP5pEYkxkqc`)i8?Qgom z(tS(yZ7K*USCm#~>dST^(v(mS^Y}=qiPQy#Tqr0;q*k($ZWszGc;cTe`GY@_)5OJvX7WW!`_){ z*2!o!rOKh-_hT_IYNKNfkGR&%wn=a_p z0F&V-=}bbwBM+Kkb6w-s#|Rm{Ur!arCkvBX=JNT$)`{`W-OPLTKCqg-^wR7qeH97E z4zKHyYHFxr&qmO-ZC3D${?8-+@vG$jS^EcuAI%gq|77G$1 zAzR#wtIa$eeD$g~^M{K!-&{QW^h~Gog_Cdj`r*>eHv`W=4Y!&B|@buh&JW{j(Dn0sWFx30_o)l2#ZzHk|LTF_tmtJ&E{ z=HQil=;I%k*M4$z?R(Fv*RFluGVzIn<{JP_dWpV8-qoaQ^ zac!${^DQ6z;Df2zsbVIT$`q$&Q;mbG^VRD7>cNQ(Z-^bQl&*L;ZW!YJ{Kc94mjoFL zbLsjlAM%2TEAN7Y#m8E$fJ+8z$S_%LnN-EIvq(}$o=ymog;^J*8 z_|P{>YyY{jvU0G0H}Ssu)vw;Z@$M(CCU>3PG`;o+Y;#ekbCI<6Rk>P2+bB zzt{e?UOzt%B#oHKE{;Hw5Z-hJY<`3piyIR11*4UK`8#Ob3Wp!v*9*a3*q_-hW#e+G z-taTkl$F^UQ%#L(wzp%YK}=Jw_bnrz9wE=<#+MeiO}E7ZJ47D*p}-C&H_hG5Yl0%% zT9^=aY@Rr}DVV6`t^>nR6%<~ibYI4mR8^4N-6LKh zjj1Hd$Z@lF`pe{taQ`B-+3gsIZ!}qS9gB}81a4#AzBDXx!$>?2MsSjt4>#=>m0kmg978iO}DsHN&*z={nu2Q!Oy_j${?1LUX$2z+Qe(pH1nh($x#8JaLpv z0a|$6QUzzyxu72Cec7EEnRkMEmy8{%Rftq(X=x8}EJs-Kx$ zihWy^P2beTVjw8ljB_40(Dmowd-f6Ku$s6jL#R&~-dYpdY`ZdDu^7KOnt}|?0#V~+ zL>vhtHlN^RM*{|=%#yR9aSw4n-^(jz$}%xyj#5`3uBJ!|!ZgZCw&Y2Qn@!7#fP?KI z7x;jHz@=F2WZ1DOk?|ywDN|SW{9G7ieNS%@bb_o+SsI}K^r7C5+7lFo55DhV47^ZgHiyK8-}o{3Cs*U%wW18 zFd#!^0lDl{A*K6)H&Q8#dV#NHcw|bZPAW%K3+`E0krW6dzD4ppjX?l_h*FIDNXAe} zcB*A4ydZ+W(CrKr(*iFM$q#G3C=NW8D7v7Es*$IB!GIawPzaT5m8gW*ZO;Y)Lv&e` zd4U*?stFQJt@xRmEqe8=zmlSe3u;;b54-%4&M7)sx zuq2UuLzbl5Y%N!7bfebP%JmbnHh`88?@tB3o`dAFL6 zuV2~HvCYMUhwp>!vV*lJfBQ1;`jrC-zKsAn?F%5&IaYUYG5C5{V^u*XmJzn_><3zF z6A=v0ek#oY!X2LdAgUrFAD;chE;FK=au^TzI0O&8#$q{mgXXslO^8B2KjE64MNQfW zQhLiqNnh+3-bCJwBSDXJ+@LVwTHQrM#0|D?6ph8M=}i>;FygfzegFI4|L^SI7ryWX zLY}zlswb}c{v+pX<-uW8(^Q8ig5&7YrfuuTG5m=_5JrNj>bejI0Xx%@j%O;K=1!d= z+^Hw-y6f-mzMJg3<@>kZ`n~z9wr{)o>TTN-o$(!L@4pUK_9UW(BXLZUk<|^8p>ae8 zw^VqgJur+0XeKqg@xZP22VHljIfyQKPX2U$Y^-I}`>D~jE&fO_Crs&b)SE)p%5 z@s~P3`mRPlJ1sAgm;0^!H}fsOSO2|KD>d7>VdJ*ONEn)iRHR*TGDY<4j!o0=ethk_ zmPq1B*9%w;_4Aa2cdKzn;jP}qJ;FWBy@&e<_dDDlgS=noqpw!PKw>1^!{WIF11^c( zB?`OIj0P-SJgFFBS;Esy*|Uxr$c#ijS*Rti7bRmnGZ>Z$B-NHuLmpCrFevQaAQ`{G zr^c2Vzj%I_G{k~p>>T~%j}-|ez&Whspg`pQi<$#AjHr-?@49<31hl84swGt^sj8!z za;8|x*mfzX75kQ~dbQYnBLLU6gM5aV2_FuhOC)(X6*}J&R1;BDk;7kOcY8v zArzIFLCbIrUXlgXm=-k=W6H*~?!uSeF)&Tj*zHU$m$x663iXQW;`tR7&+jUwhS6D6pShAXX<8pLy` zVBw(h$X3OQUY?I*TXpo;r_1@x{VGVeh-#T{!F8!6QI?>2mn2n!1?&kWw)*_JuM{S; zH|$KOJ4=&?^RCVQIoUl=jV{+72PGN!tqWr$b@W=!|87!Yq27`w2y(EHBKMSwa zO{ix++1pI-+RnE!PA)ViN`;_YneMKvkW95&gMUL!{?}W3MAODnc{9v8rAfbBTDflJ zMnrS0UZ8Ile}TSXaLm=pa1g84ACg|i!;*iv-hO9Yne@q%L7@<=y&tD!QXwOzBGyy6 z3gyip=bMINBP1GW3Tr=n9jFV0qxDr692v{ezONV-A;JW>4X(w5 zFRp=%{S5TO&0saJa(lP~++prG^vILkZQPwKGe4-Jt2F$I@vGXHMz;^ERoQfkz_ini zaj4rSaR($Sf{G=;&p5m`;4!%@o+3VciUbaW#ientiJM2uM2;CCbc7=ZHX*-7G%}zR zoPaHq<|sJ`x44PggnHSK@Yx2*68@Ex9H$bk)F`PEnj&PLlI`SoueB~Q?hS5yZpGg> zx6#}_wn1CkvsXBDB3mF)ie4^kCP$@>qyxS#})-!qDZTZe`R`K@=oE6M9# z-$w__Aj@*Ombg!0D@>r;p}WS6QXL7|7%5v5bC|K{rXX2J96D$uG&Ji7pgyaWk&z{J zh9zJ0(1UKE`^8YwV^+7*XjX8b3150eo|#5=Guh(tfy8Wt7{d{5(6;?<#Dq179B4#U zOJtSGEc*s4!^ni9Xo{lCVA-mHm{0)}VTyBm9L>&@SqhcF;M>$zSqGMw^-$IWxOw8LTF%UsMTF*|mf^adr&vnQ&~6>g)vM`vIEIqcupMRoV*{)~ z1>D1#Nu}8n26A;$Niz8doh4<^m4diB2`wT?{s&i*oYJI^eob@{Yl`QQQGxP^Or9vDjC14{4blaeD-@uZ846){x6Jpr-)+NMBFF{Rd!uJ0U< zPMh(RR=6&=h1-wF^cU)7Ic8{yRk^{yb{O(u2T4(8ddL`Gt&CxD1EU< z2-X8&2rXuKGgyjzuKSnWRepL*miV!}5gH?+Hfduyk!A2C^$bCj;bMWPMsyc64}ly) zrgrIk$L?#FoH})Cq2-@Cbm+(tYt+>|5aZ^LMKp;5?Y zLQM@dNqCQ!vc;7Z+y5?NUpt|m&O|=6EMA3Us3`8CUpuC2I$oH`2B9EWrsu|CD$smM zu{0grU%VJWaqLjnGbPWXxh=9|mcD$M=bw$MAs?T^4cPcNzQS{xgU3YM^bC%QOL3CW z4J#^b^p+5+mqk${kbo7NG#Fz6=>~0<7mcKBnA|(v!CYf7;;zh$r)QgMYt7l&=I2Kv zP#hpY{LoXiz)VdA@Ki*QKZ2uL9_XRk{jwE-nYX_c)&=|tw)8_I*-#K|oswtLha^%Bg>+2#kTgxW`unU&8_2<-?uP-oIG=6 z>G1YzRngGJBa261PKtjxe^j8Ajm?E40>5V+!#42)W!66v%mI#D*Dvb@76~FB zCN&Df+6cv!&c__>GSZ|#L6^&@YZvOCjOH8iRPK8YxqipvE8FHkIO z9bU?nLLg}GG!(_qRe3q)DJUKCgw1Q74YGqw+nyi_jw^~^*DVDkkR_8_L{O6;vo*}m z9OE?|?D2z!t@5B16+Uo^>7u$l%NMqVVAnK+R9I~W*Nt`$3PtlWIzs3e5elXPk^nlp zCE2RtgMQU?RgqJHqtX`UG1DAqxIiMd3;jt_X`NC~bz%@&g5ra^aC}`D4~3BK19uP< zoQ3& z@ixe$z(DYC*mf%|8y6xcn`27U5q}@#G40)26`v=NY4wHI? zq$UoRJBgi*!%-LdjxKlwWpE2z@C(YFKDihqiCl=x5jWGsq*+TbOh4-zgs-O46%e$I zg>(GJ8x?8o{Wvy7PDly~1^zLCw;Y#@gAA|?Mq$YR2n zDq}Pk$%jo^%oDBUj5Y%$nl3i;&FbW?v94W`&8?3AIz!Yq+-Ug|qlH3f#nz7snPz_b zrhd6R;?UI8^Y8Xe&%ckBYD*K%c%f6xG)v0i^rUGPtwl@Uuat}}5(!>c7%jlg;o2#8 zB(}WfrbchHnVOwMGCThC>C-=^kCHcn7c|Y#w86ERW;9{&nxrI#-YtUvhn=<4Wf>*w zs0EEdA~E5Ps_=(-&(Hbp-J)-Pb+lFCC6eOn5`rYY{2nBq zA)D{z$(R845fRkzuYCdBF>q0+M0T;nYJpTLU`h#nXe!!jq|6ZXT9TSaj@d|vOnE=| zOWb>Y-ad+1u{bMQ8PXjU;C13-XfDu60eO+wkT8lRai%c}Edbgzj>90*f4Kuv-0#iE zqm)I}CJBqHW3Dv(@8ChZon909s@T{Bh|YGSGAZ_0Tpl5_BZ>T#XBghvyr&!PTP*O* z=j|}0{PdQb0%ipftFp*Td_ujUD;pQpNU>x`Qh0Shx&p6~uYaAWJg87XCFHe41smQ1 zpOOSpJep6NLRytdt%(3075I<3$15{xy{g73qvu#;?b{MB^AZRc=s4TJs&0^H;9~Cg zb=@Pcag8r%AdM7RZ$`y3?@6HGK@5TYYgIC~TC~!-tExh#C}y$}7__{cvi~<4_(?_^ z5y^4r9kRc}loi)iJDu{Rk5$0+{(G>WD@En(DBu4AWO-qa)v;XzohsIOzA!V}i!0O`7jo#t3SsT2QC^yZNuex!j zbeU;f^x*2ugtdLT8@+4UPIr}N@VlEBJF)R&6M?z*5 zH;F-s1vv6L5X|$dGc&6*ZwHCo;)QoPS*My>`%J1@O}&cnU_AODfF~5=pd=}j!Xwte z%a9yt^9`%3H>?tM2KR>dU!(jMf&K&Rp6pCkQ`JLuLKJ5!hA|;RQ=q)6C^FK|ifgNQ z0A?#YaF3sad+Z`lV#13kSCWJ>7B%F13v@|9bvtD1U&UfcDa;0{ye^~V?gS-}-HkQ6f2}@T&oJLu_ zOp+}Tr3oiC4_h_CL1cqr@CuhH1~fWLG=_Z#O?e7-fNj~Ij00c=nH>nu!j1(lJy>gS zCJTfpJ66&Rknuce5%MxcqJ(PVmkgTp6knxP_*D3f##AX)G)woGIdkp%zL4X?TBb~C zJ+GJuWGwK_y2x+hYtRJh@V}obsS$q>pVBr6Bg#jzs*BtfgxI!YX6K1v^Rlc7n1uXp z#eNfPQkqK@wQNJm3zAy!U}FVr59nphj4qbUxHu-}MTb^0bv!p(>WXfuElWr@q(8MK z8NCtrcEyw>MXvD6q=+Ocx(-(Q3n}Ffa=gdqX+Sf=%kHFi(|s48x`*E5)fyyUp`?^e zjZj2s7NsKPvsocWJ(}eMKD>+Gc9`bG96iC?)LEh~k-)7neL_6aPz91Byu5kAQ;o*R zZkPI?E3UhqE^nqS!weBnA5&!ozQj|*pktGC&jg(qt65E2Z_*M`LhSC!3`yfW?L?4U~F(bZj=TIFyNMv$%8QJJey?-4na8wiScVQYZw#U zhwz(dgEofDd(oK!!L#AbKH*fswM6mAvTe(s!^r>4=0FrJSJ>{0Sov~LgJb(FW|Ov5$qtSOEv%Kxjv)}`e!SXW`IiifSZu7=OC z{ZA(QzKT1aGd0C^hUlZ`XIl)Q!AeX4f=I*4P4EPplPt6+CrOcI6l!B|!%2B(0X)Ge za&ACiuWzSpxDV$k*|wJs!`(Ros0POpgkVz_1eHQkIGu6E;4am!1wV;GaKUKrGi6^% zDUKp6n%TF=@C^q;L@Bv?M>5)zTUBbYb2O#EN~JvHq2msNeBih;!=T>HUCG_bJ;A-1 z`zXf^7)=jmLdn&Heg?7Qkxwc~9$JSSW;_&fH!0;C8nVr5SRI`6K4F9Z^7kamD&YXl zBm7RXrq^8$GY`Rxk;om+lLW=XYO+$sB#GaZPAa!Yh^@dqGo^6~k4I zH^BI}olu7+ld?etH1{jWAOR-sh6a)07tMrU9Gf5hf<PV2|II)YyTZB6yPFtM)EmQ3N;e-L{C{jv`(jnu@B|M@&sMw%;5Y zx)++p-k)1(o01V#bv;$mDX(Y)p?4`&!50!HLGh(Pv{P_=1a<2$w*1d@6L||a z1-%d>c5$_dlYxYOaRZ;~fXUA&_TwZDE3?A10u8acu_=QYN~JKja@}M)U;d@IR*tT% zY$K!d*X7I8g)yV^rMLOc%7!~`y5r!H<9~KVe|LlYOE$arx^k`j+Q_?ghoKcLOM2Idg^d^F)J z73)25fVJgvHAz5=#dTzc=CCLM^ab=Tk)B$6e(ia(@xlJDZ3S~Ve@U;px#zF_b9G^% zI$4=1zS#;}kM7?6Xlt5GKm8u^rkDEP_(uO5r*?$10v+wdt=#nVbiRF?9xbn|EEmYu zO~FAHr$7ClU@wWRueTGgjJJ@ODj_EF2UBE;pGGoIguk+(drLCHsxtOO^0j zYu{L(kuJylJXxZaC)&PvQuVimp|Qc4X?c;GzLPxD%CG${;=7TVd~59k$}411lSI*T zK+Ji<%f$RO`N%9f?L~8=?%WDC`RSjXJ`H}ztKnTQaMyD0cGCN7gq-a68r6mrW7Hj)p&HXO-8SR=>Bs9|8%TtsGfhl( zhA)v>J~MFwPt}~1FomemPf~=iZUAi{Oqq-e5`)&V5?h~9#C1E8ky@c4=(buA0?`yykq>N7 z@4kKup~v34EK1VTA0ZFkse#^K0Xxy3X^3)^7G(M_nxj*Js?;>{BvZ^)sN@70UZcbp zMAHqjJb$gPE51l<&-5aqe?S1og6OY*Jy`AfQ%~t=nt#|J#CZI1(5Hr==qj&J*$`tH zd2cYoizpd4svz&0pvlZm)m2|15`pI-@#$jq`bKMcgP`ySNn5a-SS7LmmW-(G4tZWU zFE_A?qlv#@q!|rwxynMc-E}-31e~2D2#^3PBJvFS{A;IhN;ZycbT>+5<3?i6xv*fR zCgEv?@np&(&z#u`rfa9Gqa)3W{%5s0vNQH=(XoQSwv!r{^>L|X?f_z$ugCJhR~Rr3 zQkXz9Yj+B?GaZ5b*KJpt7}}ba;{xB686_!9&^+wR77ylk6)n?&C4fUnn=mhtmzeVA z*+m6K4 zj4b5?ACRFLOEQR1F$-d6MJn4OJq)ILR#4J@Bvv}^7|0$$u7~p7YCgn#$)94WJ!79D z)ICah(ZOsH-WA1%t=L5$N0wF1kU#W6+0TfC$OXOh_2-k6*C?MCRNs*tbZ{alyCv|FHhlse5jJ`M0Q2ZxYFrtn?6{XZ10%vRI06BwK_488)A<9 z{zSDhIa#UpTGdJiRt(3sPScl>hd|aH<*w)M;$F?Y0c6QgSkIGWARRSvH5toE$S^Ie zRYHot0%2>X2=uK!W1f%VNrY|y*`Xjt2}t_^`qZkL4&C_W)=yg?R6;G~YI zilJ|-<2`V_?6IPIYr1e1Do(W2A2PT7p=%FNxZJB;2YXtcIxRWuh&)A z)ZPIP!2rvYC`P&@i#cyZ;*GztUEUJ?Im6)v$7l<@9tuKLz|8p#G8P}b1B`1S?bN99 zCvL_NRjT;Bpz{W}wJ-~oYvxTWqM&cKk)TC))G3(Z1;5AhdV~RWu`CmX{!ov7Go@Rq zb-DhKF6nmN_rXTajHH7w)~m5K<5`|>nz|wtC0({EB7e2*KdMx{qEl8xenho5!q-)+ zp&nZ!iX}&u;h8#^!csvx7gJfl7`9vH5@~`cfXrNKapN3 z-!6Pm==b<(>FTS@+rZ0Od-==^S(xIdz`nK3#%ezQbcf}+e1m)(`g(@3qn=X>j2v~t zLhmI)jz*iRm-n#7yLWkYQ)Kq@qf1MpexvZ@fofw6jKQ%+^*~%)I=IA&b0jW0{dqb{ zzQRp%_i`U426-!a7g#in0mB52`w7&8%!u$2zXs3Mf&b{;*rxFNRVhMd5Y!M9BU z#0=}qOtXQbL4^fG+j1LI?x!X6(y+up7<8t)%#;|$)8RA>trycbFf%%CCrKR))d+sU z3zGXW)3ZtK{xn0|#$77aXb`ZtL8IA54Nz$!t`5czuu=pM*+lGN*d83kp+0YS;$i(m zgc&kX2!g93!xA%8oBcXsFyk%^G!8MAnvG;EXRw|>GBlTP&2$3DjAPkgWc9IY%J{VU z_`EeSj5*kvqY1UM7dJMICP8>@&H)%yjl@R7>D7k zCEKb2u3Ao|)Sy(;i@F2uR!KKO*L;V1Sz8BRkJi)KfY6LeDy>Y0rv}Lt!9FKW3rCE= zl9zZ>2GN7`>?UOdrdWv_e~*&!onzI4hb4b1ab+XWO}mBsPuaRg;<$tZJS8MRqtfq} zbXm1iWkOO}k+_*cTPA7(#_M=+5~T6AMTAdMz(paBBKSlS@Tv(_bY53gKLz%iY4hN_ z$OMeF*fGEsGL5y@N>1!*qU=f)363c{yeME|74Iq;U*d`687|xhqOtH^jL@_SC7KGZ zkZefQr=hL|CCLG+NCIPt@VY=s2AKQkgG#nz>uPKmepU=Cn&6iT367Jig5Mzfp`_eT z;EEJ-X~8pmlg*ROfUZjDT z$Y2U9jt_Sgm^fgkl}!!oNhPaG68(^_5zz}B{r|G|CSa0WSD9$sdn4|ReP43Vtjx;H z+AFiNGPAn7x~jT*k=(8BmRfsjYweP?Ses=VZ|xP!*g|+2zyr2qFksALFvD2jMPR|R z84Si?d+@VCn2&8>z%alwi>v3H8(FQE@Vw#8_o^}@B4f+QhrJTD~fL7mo4LM5Tf2A@(!KTM-5hE5O&pV1hCh5^y4^Pr>RjLIQ>i zMNHxheral}%!d17ThN}%u&)aCHr#S1EVw11ZgCRi_?sY1$yxAU5V3Esa#T4Db{A4x z$Q&kFE{jNx&qGpncQ?`(Zj|D&eL=>-Fj(z$Up&t6y46*8(TfXN>@Im*VKs`N-Rf^# zU3HdRC$_T$wr)k0NcRmlB8Q$IMu?nJr&HQFi&L`p%_QKu(J5wKL)ZMhZWKFCYv>Z3FW8`aX8g&>Ij6`|!L-pSom1p_V5+FH9`rfzu?tES{F6%*B|~3J%ai%KgIGrF z$F1>zcN1j&Tw+6+=Y>TAU^R`UA&|r?u)i#>&%iYOt$OBS87`$RW1O8djn$_0oIk6l2S9C^2^DSGVFum1*{%cu|X+SdvWi8mCn9OVB zC+hX*K0LO)*kC3#Td7@Gu7Amg1{eFLSq_S`(?@G*olVA9pauMj^h=tUD~0SO`1oWl z`LMqtT`E}s*#c<@@|X2n!@<=@-?p(qem5y@zjS?YX(g~0YvUW%&y22nbZhPMuikW1 z^XSp<-v4J?k6t%Avwp+4wrB;F%U0H3x?N1d%Xj|hrd^z%yvEp35~YpoIMcf*I#_$N z3t8O`I^FET()QKPGFf6^1Jy_!JP(hI#^49LG^x=6itc4_K>E@f<|11Gu}x+@OV~mc zU|~L-dLCFwGkf>DJ6})g^@LoL)L#;shM5Jfs$p6g5nemQXH?-v3c9-gVIejx}7Kff~^?CI50ayqTocfK`!EQ)kXV=4#lxJV;C zc3D|3oty^y)-qKO#2}-Q2sAS>W30)#AYaZzyxu5}c0mIhMZ5U5Se*8a>)-gs>%Z~V z)5BxOUV6;SP8G?MZ~o73c}~6V4LeW5nq$MM%CXp<_#~euPe`1H82W2#h%xke5`bfb z47o5LlE)wKo%!8QeliTa@TQv{B#n3c)a!ngD(nin^Ru_XIm~naa_$f5*%$b&i%MS^ zDtoXNrHvHM6EuNcwi^xAYgZOmfzqEsCUZo7}j)z5T@YX?T;X9ldyP z_QQ|fzgEsT`B)|KRIm%%S~S07!}ce(?d{*&_kH{Kf8V}+7q7$LZJ-*K$gOv8Po3^s zg}te3mZzB-?~{M9$NBi%bL1)T5^-$kC74w-oRVWCm~MkTw#ITElgY?QjY)E8E(Y+E z#?zB*L4ml8Sd`M0<`;SHiJgyLdokll7BjV17ZK5flLqtydZ(;uyz+PdKs6NSohm}NHeIkCLR%9?Y*md^Gh?`4(4PM<@<$R!w5Uug3(9{|eqH%} z<!Q<`CU`RZEaG+^L*jX2 z6h-1!9OK0}>x%R`#+{r)9gl`4K=zP=O}MF2!*?zIIW6W+2^4|t2cLEf17xE19~{$k z406I6#xJG1JGG^AMs<^^E;9KDX(1VOaq(h8%gpgeg{NSeRec@)h}ZCL3HDgL&@^TC z5v4Q(`+^hd*OO#=Q4p0{Hf07zDYVgCbA}P2QIcwyiR>CSmMZW34RO+{*A;r`h>HwW zr~|H{Z3b2_T)2y%M(^Y^Nh{Sg<6>?nI_LxmHIVh>pdkxo6!KXK1Zn*C& zSMCC%+vJfA){e&E8Y~~Pb)d7E)ONXR=)%%m*AzAqPuO4^6>q3kyizK_U=zL-3$<*c z$7;EP&KP?GFy!OfGp1a}5%vzOE za`-ofe3_S3q<_c690f=4uqv30q4-u5^vF^CeSjH8$Y3pep@z&}zi<;$5| zAXAClO3rSbedfo`o-UPeR@y48tdLK-;N?WJNkHN~_eBH0Z_q-G2 z@;c_Zj0aeHobb9Nqr>tf6kwBTJ+X_92=_83lkLl7JisI1`LJD}q``QQ4YG%B@QxF{ z?_*U%uXTpQx#h#AgYB3Q@0}IPoHFi*8HtgW<$o{k3wX=&7W}~THAyTgBx%My4(s97k3|e0<-kNNdI&Y@k%T88Q!B`Q z0XuNfhi!fM&=a^FbKPNW(&C~wNBJD>^VS^eH=!xZl+j+ZFXwZ#)te)oIjxVd-*W_J zu)fpn4doC=tG9}tjI7XrHN8F#F|5k}VYdlQd71P&NSNGR#fp~ZDlWt74lc;Hj#{<5 z+VA#o4NTTSV+`feYW@)p!*wsNg^}=xy;MRsr)&a@*ZQ~f)-bQ(#o^uNB;Om0eVbS* z^qmip^L%h*C?k9F3%{VMsj9w1PT#jg{$Kti91xZN`)<$Y6T}`mfqP~MtgO-;g8BR& z`984uw)G2unX%gPfBCnBS!39Vg* zNjIw(?BK@rnIv6UNRyd*{JZKZW2Mo^CwcJ77ZdcKwXBfN%g0+*vRS$0KbQm19Cu3M;t`GLoKmUv20a z?Uws=uhLIq@>;HyU-z-s?Y(v1>aqduj2j&HbaKWU*6#BRx7BXf`d23L51K}Q&$X|A z{k8jU-CNW+s}!bIJzdt?KT9tLS$wbZ3gu0^*rG#lq$QxLERR8h2Kr?(8BmZJ@^YQb z_FrNcgcz?3Bz=&}B!H1fB%-RUKb3fda7tK5F;+Mp@$=bZs}pEKw07wzeClD_e)y?S z11Bwb^DUM=yrO@258n6HjT0Nf5+U!G={+)2z-~Her@a20vH$#y?BDiY=QUKl%Qp(Ki&wol zx=W?6(T_fKu(t@t(T5#VfGHg}Rc>geg*7V3c!V4lsjOniDNWD>dNMrI&wp9=WZ zw~}8`ddenhbOeA)b27;xvP^(B!oeW0%vUEr7&Zn}U}XQ!FFaNhpaUZE*x>{H%OZ;f*_BIcTa#xbYcz7dUTL#Iq)myb zC}Ul6`Hz0^M|QqUMwjjU#?<9MblF=-dFM~E$H@;rzVo+_qy9(y#y^+i3I;sm2#)S* zZG+(R)G$uf9g}fJ4u6dlc7BGCopUMqv`gIe0|$0~^K0v0{`yltb51#@SOxM+g|C=1 zW^-$6=ks4*ml#2xC0k%u%qf@2+_W4M3EBYis>-oM39=?JR;h&P;owybWtWy{;VQ_2 z9)4T~H|haOIn}8}nd91lb}}g>wT1Z_QNwU*X6m=-L8dk|H#113LL@RbWluW;L4*i3jB9o=rJhz_3yX7EW24_27Qyq#7LxLw*^%ei2anK2ohPed;JXV|#&yHe zbiLe|^GqScrAnw!xL>b>_R>)nm6OU<%5BQufoKm%i}WOC<B)4+v+lSH_a;v6I2iN33-84rA^SiLXj?CdWEiqR0h_m6j_q znj=$6MuTyU=JmQckT@m+Apy@w3QKvL$E&0MXo!&)X`>*(Gj3>gC+5m%0RC$)mVkJe zbTPDR3`>Iy&C$Tc=i;l(v{f+^FBfKJvgITysHz1PRmw29;W(a85%(d`n3elj%rl9t zhZWl{XJ8#AI$=z0K@$$(%D~Ol)U0gVPG-XHri+H2ty_q(i0Bz;xA>mp2*hzqW|Dv+ z5{B#e8rUngV>lM#DykYnlaZajP&ME7IQYdZNOZ%owZ3ZTHX2wAb}5F0YFEsv@N51j2#5Yw~_yb(5-H-vys&Oxn3r4Cq!buDOI(Fn9gqVi5DauK_f!Oznf z6%(UV_dK42Gr}So+wW>*=!BdbcWh)D=h35)t!3XEI;O#o=tOhZ!9TLZ>^nHvn2zf@ zZXbTHYQjA>R2rJK>btR!vx8U%L)3@`p>-X}C{4-?P7%6TkEwK`%qKF-r|3}OMz8fmxYh^eF1^G;wEOA{9hmt5M! z5JnzW$JD-jNt&oAk0xaed9C(fWipUGj`_rplf|(j!IY@gu86@8$2j-O7hSDg3aSD3 z>UaNG_KTSZa)KZf2)Bjw;&3R9_y~C+Oh$8B9gP;j2^0)joa9&=`Xn01Kp|*WSPdN> zTEB30=0fkZg-#HTLJBo_ysDU=6^=#H`Ng>uI;CdVOp>cgcuM$JHKM7836CCn zkZ)LUerRu@3D5ucA9>^uSUJvqX!mT7dFTiwDN!qXikAu;=exA%5Yr*{+bn2~+!sjW zfdsKC^ikBXTn%X^u(kulfVPFHw7SkLs$oec$WZ9QhUQ6v42t`VINdD9@BJ?={$_46VO{RY$Uq& zfF_k$qN+hM9g%0kddzknXEWt;M{JryQqIeo#kq~?DefDlQM=;e6QnkC z)8f*puyf|9K3;5bwQf}p6#e7tcg_{}_UCLHQ&}f_g8GQFhIe>OKpQIte!;{w9 z@OfAO3Db=HnUgf+&IHPCxcYpkJ|@vd2X=}llM?6>RK66^Mccu8+`NohqBfo0oPGovfbg|*kt zRN<)EJul#r94d#={(rtEc(^K>7*$Dj*~xdEEjgAZOS#Xljq;?$-Mqv>g!Fuqq^uu& z=k2#We*3==gFM7k3CzoDx@GzjJx5%lg6@YEI_S70U7lZGpZ`0YylVB@!Qk4}OCNlY zJaGFvZ@>MW-=qGBNfHDedJ_sz-K;Upk>L*t;)5WFicM(9LQg?LsbqC>7MSeZwtCIo z*Q`GHfd{dTeCym-$s5QAWfT=HV(A@I8HL1W&pz5Kw;OSs)P>_(TgO0~q zMCjwAw_2oZ3y{g{iEe^O)r4|R$M#L4%kO==PLxc^pnd%Xc^3ToTa|~Er?rng42Fab}Jdthk<1o<- z^qM9M^fMWXl_}tu#mb26M1xU^d%_FZa*#M@lqM@9Sx(fIDc{*h=7C`*SzZu~`Vr|P zu<8iUhu|s#OnN>^o=as;xl0o)X+m!T2Y3+_B~8Gs!a{eKcH?I5;A2W%7bF@Ek)>kL z%Tw^>dBJVyj|cE+ybf2>g5%c7P#XQ<8pV^^r)N1lI$aJ#xY`K$t(*@ zQ_B#l1suA;h)LW6(GeZQ{_Kob`j~8pt_e(gy&;IHPlsSqOb~^6 z;!>GIFRQF7G+9F2HTWjDCJjgWHW)aGX~H{M-qa{w^`J&ZAV^G|@0^xWmtpz{GndK~ z3~)h;uB8h(I7(@Q8D?munpJJzSrdWhsu9Hm2OZ3@0L=oi^JkS+Lk&Ts5`??Ps3I5- z>>gK*=RjM7pteNQHv(_OYkr|bf}oWwjzqYiQ6U-*HGGp|m9Z|g%8~j(A90J2Rz49S zW-^sS%|*B}jrSyNdpfAPSI#*Vycv& zi>A6JcrKPfMH$>b)25!MCc$Eg1M+ANZF)vvff=YG4OFIiK`3Tk(@QMsn%s5?MPK4g zdNU!CRnhVos$VQQyU|~@<5cCELA@gmdv3ZItFGXsYFvmb!t1J~%^O!7*9PZN7U~%S zL<@-jskT`NONLR0iv>F?^`lw1@v6|^_q~mRy+nj>WsK=As9BIgAw&5L_8hSr8iGt~ zRF`>cU}6UQMC!(-=MaB6D1n{I5&~kEQ%U1x*ecN-A9_7nr)rcs&;W%r>omc6V)91H zRNW+q&?h*vI*mv*FeQPUwiApT>$7wj&QvyA94tAb?vk=5;p8;aFjmDS(;Hov+mlZLiE=aOTb}-^N z_DC*II^*!4iF>-N0)jyfx`?JfV)`Ocz9?&_xXmBvJJOlj#)Y-=P z=8p_MW(>#2erkE%)8fvN#aRZ{Z)64@52n6hnq=uGn{_R=JR31cR86zM@i6>N^6n9w z_ukK5y|%IQ1K6H)@N~g4wpA-ElF?gTfg^vOG(^qH0qUN1;mJH zXu1|A%|;J-N>!nQe^ZL*Uue@;cBAAksQ&-|e61Il{m=gUula>c3jf~A#~QnHp9Npx z<4QqUQVuEC%bJr%5iuRL8AcC4QLKRKn?w<$j_;*?P+>9JlUUq5>cZMA$NtBl(in4J zHb~me(`vdhO}&eW?PD2d60%k1?HY8X7)az=u$sqP>-`hUU1sQ{zwh9HOfyj}B;{H1 zT{TLU3!bHiMflB&o8Tet{NEN^^7Jkx30Q-4sRUa|P$UmUl}co3n|PuG&oWD$^fSWP zcd>ip%P$t|5xh{k22GGHfh_WV+g|(Deh9Wbg>-d{^jB>fBBA8(#hr?}mM&Bd?hD zS672p5rp_u?*$moD~h6B5FEiK!*ZCIT`=+eBv0;HmPz$EDnOpNAZO}p!u0eg(M;b6 z({*zSd~dx!gY3Q?d!aGeNwx{HWCa#4MgP$VY>}mNmsrHMYUbu%vuZjt+>$w0e@Na4 zc4}Qwq9jLB@^Yj(Xsmhi99*ePAbI!Y>5&vvz_IH*78N$a2WA@6-JqE@X32?*9&M;u zGz{-~I2^?pP2PUV+}v`Tl(Xq{PGU(2uq*!w{1(KEzFv7yd4=*C<&DZ)mG8m$QO*RRHvo@jIL3sM7;aZ@5U2gPir6~C-l*Rj4u-uA(wEyY%pMQo zey@$JR&dHqk_@~3P9IL#gZVn`50^=>NxL4=hOm7MACnwRdJLb*w}^U!`phJ>`zu(% zNNxsobOskL#mO0}!5Tt#UU}JNm+H->spac&^>Xv+m+!mu`YVXO_@<98HJ4{$>ou1( zm&qlB+^@3X-5PxvAuof2k4^&OWBHPQzqNGt?n+AK%3GF}m)*Ghxw!PZ*RM{teWe`l zd`>;sTpITK*OiW4|Mlz2(RJmkmX?;jf9blYjCD)9HI_xC4f67oa*OgxL{GqMjb&L2 zJ4xWE=ahG?3o<#xWVy4O;xS42$Z0&EpXX^G|0cdCvsZE4UQ~!oTmy~cGf z{vt*e=2TVA7`q5x>u@$gVR6qooIL-xaKqKlpQ!gkqZ21a{i8YqI}tPF)yhKHm9ksm zAp2epEptw}Sk`358D=;Q+emwm7rb{cTPi`!J>Jbzcrr|!M(`1gS`OuapR0Bd{$PN) z-zUoULZL|h)Uztfl~SqOEhe?~x%Qe~D(rmq_*|-cf<^D`qM>?0;+DN)gwruOQaAGEAIZJ(a|H2Dkk^6H{G<^AY12@Y31DY*Pm0`L^->2y>f2) zoH8C01!mzSZ)yw9hZ(io$|IO(st!OGNX|HxU`lrC5=_SyO>p&a%ww6%p+L`CP06h+ zCiAf*0vuyVPd1O70W3$t%7cA5X|pTiCy!zZg(^b@Fj2tfaKVU@MH7H}BZ#1?VjmIqw#J}tJ%QNxd;)@6I zOu6rS3x=hcT{9?@E6atsi{`G|DlAvZCC>zz>cW%wJ8~AshoaSGG8|;%K>`Xgcs?zR zwb=P2vF^oU@g4Ww^wutBSav?uRqyp)PxQeP1A~$kLyYvl{%gIhik)u?wXN$NReWvd zuSoo~ZEWcJhGFmK+JBbLgD!WKsxprV0U&{x`@?YNDsRr&+`AzR%cJ!sUJvDwqr|HhQcDZp&pT2ZP z*WuNZQ@KFOzxXy+eBYgSexGo6o}PW{K0n(2z>SsdC|Nd0ZPxBDJ~ZFCvNhLm$o&@{ zmoL1Sb9lmqDyyjBEhh7?eC028U*yTJeB~=4yrq8oTR844SZH8BLci_Eel3y-DgqXQ z;o2d2W?^A&p4Fyn#YTlKEReImSFSGr` z$A#zo7h=WR@Qq4)AhDLZgJCw-TIYxTT0_w#XYNf7oLbm^aO&Q>?%Mg*F$d1>9DC{m zThpW3f$`b9@4mDbA*QhqY)#~IZd)+T-kaZEEN*;!qflB{5F1zBdgUfxSon(3+AGwY2pr6w zXH`*3E0(2BLx0oc2rl_B*oCX$^YTtdJ(?J1{MlNqWInZcq#Xp)7cD+zHZ-1PoG)fX z96l__;mVyAviFJ(>0G%F7C$xP6L9P}xUh^5p&!~w01i6C6*?2IRyD`r;6YDtkDrA$ z^{dK0<)w;}V%jT?MM>1oJfjn{VWG>wn$h|G1AP%Tz{i~BLYh2dTq|`kqCu|=S3#og za*oJBPMI^4Yu5i38ylwXIg~9k_B3T5XZTu43R=dirKr%0qNm{%$4|epw{Q#3z>O`o z#^4?o!*VlTn7N8GR#1srtn|{^rOvw6Mr3&8%b+i%>X#Ty;l;kBlA7+gU*!CY<+@$5 zvM;69Jr=yuFJ;y}pRY|F($qMpBA7l%YqJnn>RXJdkykPe&I^(oLQ%Hp7HKFbQhd-+{$a#D0B_%BUzG3 z1uko?2XT$ag6?6yF(*gP)1*PyAUL8kyJe`=oFWuyUS&Gf^DyYrtxE(rJn#i= z+)wU?Sq1ya2Ehz$97yaYDIV6$;0>o;>0-f57w*qprE*ztj9igYHkFdq(xE=-9WE8; z3Zygq;nMJuQK?%lbxR~|WaaLtLp~UCh8Si#cxII_s&SGLBa1jQKxLVU&MU#JlM($l zOXLV*5^D$_scXE{DC44G9nzYdPtEc+=j}f)6*o)OkCot0ld1W{&oUpbqSQZhs1Fx0 z?37BKAx_JkPN`h-)6|EhTWlmJBZP^7lpMrnwrOOW`8wSv1;=j?i-ZpzIy59z+jVVH zH3c_F(e^x>6b-J=xu)rwr+m}&t-|T=zEN`Ycv9XyL7tYZ!zaLRxKX)7xgR{#*MZ;g zxbh#A_bWf9d=zx-UQ)wSUNy}?@N`!Z~|1P?xKXhXrBK6 zw0<}5WVCV(|JqcxyOH-2By=)lX-NOy9TjuP2AS-tgr1cE7*K16s*SFpSWFkNquFfc4tWKm68v-+Sg|vq$zMME75vyE^_{mhzVr{9wLkOqCCk*E)p4I3cbE5Ge6%-J zt4;ldRV)>~J8O0=;3a-l*|xKaX&SZS!i0b7Il2Zq*Hi||eTXQMvy&l;6P5(Zydnw4 zHblD7j*vl!3CrqAo{#`7o$jL>+F*Bf_5G%^gbu*VF{0_Opk;-At%!Kzhg07Z}}ykcqERk}q; z<(8x#Ao(BsmMpdGo#&j;(6Sn=+v)7(%P-McbR%Kmg8Rv#=Yg-|%&c42?OkmLmJskf zF0MO~okS`*WqCsNG7nQ+BHbW{rbfp?(|{9wHG-yRIF6=%H8gi^pWgs~?HA#Gxs$t< zV=|Cn5K!gbOD?$=-#g0bZ^P0L+;`v38^~YnOfc0$@M(Sqe40>cD#JYgSh!3g&`Dj( z@&w@=aFRxO+Q?{}mo#@rH9{U*KP8gxj9WO;xct>uU4FT{e`EQ+W0&5)yt(!I?ZxRm zB`qnpOXc=wR^vKW^F5;=w|J{JTxlC}4*&8`K( zW&;*>zH#mAPM?0=wZD|aMnf+Y^eKbTIC0=(RZkM5YLGZl?T|!p3d3FUd;U#iZA|9Y zU}d=JzKg*li-4J{6P>}e63rnv>|<%*^7F^2 zj?B^s%1Af?ll3cL4LfBjW9FzBoli2o8s)Go5gW_5V-j{uu1qCzVW@ z0oz|`yUe3Q31H$OeiV(Fe@pMh`-%kG%E0`1}k(I ziU;nwtgDkEUE(jHJ&%F0N!}9pqPuw_DB{V-JH z59?t&t#H@n(}i~cUqGP0-@}9zxr4Q|UQZu_tr}RX$d~!8&814oo$dIZ=XdT%8?)u! z&W;_}9Jc>NSP%Nu;%Ho~I7IwEkO;`sMGyqR<&-SpO_t z5}0StFYhO?jogf+J~_3|3h|A#xcWZRjjJD>%wZLIa(4&h{`s)slWOdm@2kfCWWENg zUc^Or<%L{y2-YejlF(p9Ae5~9n2+v_c0ckwCwtU6zhWYU@hHp%$>$Rg?jKQ&*MO(Z zT-8|j4Mufm=;*A5C0LXcRFid?MyrHbOgAbH;=Ht=Z|e0(P)3V_X-n5}T4%a?z)*w9 z=!pxrz77IO9AO9%#fFBujoD;jvRPFH50A|In##&T)ecjkcP`*6@Ido!L2HvdU)qcD z(el*Kmb4+!#jEEznjIuiA5CBypXXi#Z!eW7#d+;fX95?MFOjWhhR2Q#aqo%2n$S(tY_#f4-}UqviwubCUT>SGL)@3UZcpv~RJ`mna>jz?fQ zrkt%zlE;>bHkK|dGBBW++aRnnB*kB^d}5}gS(?9n=%MX*-EnwtM(REDYd1_6Tej); znu~uBzxCCfpWJiH$Pz)<2UlbJ;e&U)t95DHX_m`oHZ|Ms>8i7J`8_*t+Bkw^2ISn& z(oOO^VBaBD$Z_R1MVa2^^zC42esUgjPu7Q!R$jO^o^X##Bxs&Hc^6Kz36(E9kFk+r zbpZULO@xvqZY4H6=qaaR?i+6WE!Q@6{otnz-nfF?I68XboU+s$ zpKb*0mQi)r3P!oAW_&GSX*EvPE2KDI*UD3~dTTyea$j>%VZ1nB8KnD%mj(y7uO-c; z?t)fn)~abG+t&(P+hHN>SG-EYX+r1d7^$&rdCsi+Lww7;c#k{!vU*1UsdO=2iLSOj zRNXF3#*@E5z5sn+Q)1}*hZH3eLv$y?=38++Sx8|o@8&+TdS=FFJ@ zQs3SC8NR8+_x;6PGMrvAO76b|DurV)iJSxG=$#?;>nIQ+wCa`k`BHdF+

    hI~?`i@&~Ju+UXUxI#Ej+uV$+}Fuxz{fp~`JU~RKOa~YdCd^s)-LMo z4e0yb$s&Qp4n`1D#7{>cjT%MV@fwmRWH?6(5%MX`br*fras86&-{>)`qamm};AgzFgy#RsRMLjuWn9Qh(7c8;-kFUo=DSUv8}5@bj?UTZWTpp0nIo zG9#C1uG0&NYYNXcsdqXcj)fd(-m+W)XIie~0a(-^mOag>mNoCR$C$IHak?&_je72D zY>ANh z&U7R^-vx`F6y~M~F}!Bh36Z4Rbg0C*{}lNIc@}y-X00NTm)PD-8yXN~jsaDJ5YQ{3hUIA75Ck6*?4H0K`>{9?|p zht*@wd6)AK!C@a1n(W)>WXwk>4P`~yxBycebehPCy_d-_8)cLFO)l9Yb~zinyZTy6 zg24)T$Mm4p8eDU5`99X4ax1CF_THRTFCyE^^I`F|`l;^}y? z-XJr0*!0Ho!IM)9W>|Eyd%7;YeR;b!{JYgQHT6!%*NH)!zrVQ$mMpzZa`KQKYHgSFb690C$U1X*0&WK^6|{?2 zN2^0J@W-PMuYMOITogX}biNZqxRr!c2-bZSH9_2S63 zB=|_N7^a6{Hz~q5pnzm_g{ug0F5vB0$gZSW4#T=QmFQt4iUzoOOy@)}WWz&$i%XWH zD*9$rGRqLe?xVZ)_v(DR8dp7{`-}uJ6<8Vqz8eC}O7=l?3%RW3=a}-J*XXO7ge3*r zDvF95Ltfbv8wE;h3$|bN9YUSFXkP<+Qy`0)#<0?!ed~lB8VI4SI)YGYfjNn_`kJhN z(Wp@>8V#ShHZi&}FHn8XL=FHm#~{ErvytXjhu<+x+#1757@=FS#*okxj>DAJ>3Ka} z6sG)j%+V3O1HE5HOqrL<7lNvR-_Bu=={eojs)3vOz6BS}Rfp@86sNce#}_RNE{+5T)a8mj5pkn2bSd*Fipmr~RB-?5ceDN9L=;dtcu=!Rn}iE7PNgN*Tss4JV_&m(`cfjmnSfF z5n)Bfdu5hJhM+h(`dTu?1CgosJFJq>Ef~6!VQ`79)*Q~k`_IC;DLj!Y1_X2@xjvY+aHC=xN-DaqQa&-sCu*<2$;?9`(Xn zA_hb4-8VA=C*52Gi0nC2NYqMp&#H}zHBWl^QVBIfE{eIJ%b$j$v%Nx}(w5N#w^X2`DuUsl_z34oHmonLMGm-NiLe+pW>_TGjTi}z`P@`C)i znSbjghqBVXiMVbT0@Sop@_rXA@trs0^gRz;#I+N5ozQL+hXlNCyz_4R z>b2D)M^i8T)A4gLAh1AM|l}WmAiv3 z5*b0$LX=5p!}%05MkeoU^4?w6M&kh&7*50hWOst|$U5CAF4$zPCO>u0?>YI3-t@uci1#rw*3^A3jLC4wr%^Ut{5Ky&Kj)E_EhR1kN7&mns3pGtk7AsPdQRu%q zVz~K~#VMtQ7)LpG9uK0h7BUJ)hQ7-{y!y=;zS2+;F^d{ZhaQ@b$LBSIhVokFEy_EU zA5=c1{2Z}J1uRr-WMDb;V~vZf`)}SY0k=(zzvFwj3f%&3eD)pRpl(*Ou}Htu8x#(j zIT_!Lq)zNLtd7m(7|W1%FIc{CeFkEkw^G^XJ9&XV{sxJd082|`ve<7)4!yII4q|&<|^v(GOP20u%F#y4`HsezEGueiWy| zO5r)AsU^}l@}i(p^quLZtuM~&Y%rkXHOlwy- znq|*hnsMz>-!}HG8GL;&r)z6uaP-c1-F4TyPG0-^Yp;F%YgDYrW#;T;9!=(-2Vrbz zAy@>4N;xrvh87be2G(>KDj^}|4BQyvGuz@6$wn=#bulT{yl$wLt=+>5jxcT8MxZtl z{)i{!fPXQLvnUSg<ofrk|^TmzlZH(}R6SIeLm zlZp$PiX%ogall+64l`{beD3H|w}+|NwsmO>iru*5x1`?Lhdyky!Sa+iiGwjIL_}t* z1am#Gu5XD9EcB7^mU_?_K83fDMG-{1D ztcRDKT9LE!%RagCO0YoVM<0!AF8N6!@#t;v_x>4V=>ROQ+m(lvv&v6TDq2O$MU*I) zH9@d4=+>C&7*C&C8lbqU~O~x ztdi+0GGxhluXfvXYxT-T!OSY6_L2oPSe)&7vtWyx!AzCt>Y@5pjg!DhgV27PL+dKE zjQNzzv{f*?=Wv*3nTx}#obSEFGAnMdnHC}+{bQmf0l3awAhrcoA2~riGBnflDZyt zY)d~W1k+9;gRiQYLDsrM@CMvqx;C|doL{RQ6-7BT`h5qTV;>9>O=|{GAt?qGuDKOc zSe`K5z%(dk&>BUIi`kCh2d1LDxc=b9_LGK{kE8Qi5o?LEU8-sv(k+TJ2hp5Ob9sPx_~LQfb*8Z_oy@2)j)`~s)M zV{dt*=&oLMO38V&l{55>&@2~}E0x!S9%^=$=@P{Tw^CygN^-PGH&n@iL1UNUwJ+1o zciil%t?o)%rzsY*s}hxx%Y!772JAMt+sjlnn;@(~zT=q4J%3H^XvR}0ltKKqHD7?7ZEFa%GG*c!VMik{&Um_b zfKW`KL%5S;j$rH<(Gd()Qy(CzsSDgA{9kT;GT#i_`FGs@!kk%O*;Y=0Po;zsphu4D zgX0H%Q4%ueypOpBCBZIaNLvPdk~r(tgp8|4FRpHqzSw!#>JQ)7ojEa{u4^j}i@&H+ zBB1?2gJnFb7ZaA>jU%KJI zeEU=yP2z5UDDTa(vR8Q{^au~fs&m%i)-sM?qkX?jhMSW5SP~NtKz8Tj*kG^7sADIu z;7a~I2WLonEcZ>sWMBz%cI0U{X_q`xrHNG)Mv{OLA?zsDMa_&ExOTBs(e*g8VYQV+ zLR4|}E4-55T%MXbvpiP2@yHFj-Nc!5(&@J6j^mCt8u4y2^t|?TX3yCfS1qOm1x}`y zHx}A^bw^N*1{#k+fY$Nb4839}tXgG>UDibyV@@G_n{Je?1W^VPc@eQ?Y{M64Q&Y=R zfji@XrR968*$l_8OIHG~)k)o1FYZpe{%YLit4o~nh^rxixufsx%x^5WL?O_at#ai; zu3#ZYoVS#t7i3a{{l<8-GR6VpG|F-suwAzwA*facV=1*VxY<(Q5!FrkOh8FKU zaBqc7&+q)LL+CI6szEOLo1>$!)@TKOf$S?T*1=#Rl>F_xZeoVP{sbmj`4aass zL|NrC^J(g;mDbLaMzr~=6*KNvV?v7c**9L@u%-=9<5R9@FW*$`5pwE1_g%Rd35^*m z7e%vvvr)ATP&Iw^K(G!bVmSc!Cv2X2<&5Ljw$2i>V$`VvR;TS)lUkK$lpXLpY{aV{ zBL}U-4hdSrK*mq^ksrKz>&&q$w@!_#ot0~vYanh0?4Wsc&PC7iugP@2zK2GuxVT5B_-6Rq=sFl~R;7|}8h~ao4 z5ht@|YY2TCy8a*=j0f?E7`5sS#&``ZQ_Phem-k0~&Z938!e} z6*W@`4U5rTzohG=lI{VsL({C5UyUl$+aEq2x8sjwQAed#A$DS`nB1Hdv(N#(7I8y6 zS|G9U_`?ssw-n_V^nXOR$Wzc;J;};;NV!ybsqz{eSH~f;3~ostk$rJtn1+}N*rt)o zN5U@PozAg5CMYrpl!VysgCQnzWHLts#3M2}S0{HAcEV(F48dpktXhebon)z6C>)P7 zZj106AnhAc+CK-yFQru5^M3(?;hzhcrmnI>Hj z?UTBQmH$m$#CIr*;Ny5w7Lmw-T@?De6%oVEZb8KOc@jR1!H%&820JS>B#`{Ddq)n@ zwxJK_-;l@2dHxlXuawo0X+G~nQv^1bVsA5GZmV&x?ctwHW)d{ z_QNOn@>E9KY$*Xx3Sa3LVMhuA3tk(Pw$*%3m|kWRg@-SO6=Ysu!uOg#jS-M(73!eG73M zQlNPCw17v1m@0_FAStCSqQWk;g-1;e4^;5n5K9IobC`+I!tL6T-R+|{BJU^SF>j%c;t8(9K-pP28&`zSm`&R5JqGh3`6iZ3^wy@88aATJYZ}v9O#bE4Xu68~n1Xsve6XWy zU`Fl6U{q788O!6r62gHEJB|-`L1&20!8pOyV*ND&Y?2Pha$P#k#@mH%inI)_g&}mQ zmxTrDCds<RG>0q?9anm1k7G-Ypz z`sG}{Let7ow+qggbb_!o@EzCpJn!A0y=bQwWx5vhDux%A^JJw5#k!u!Ufr+N`ZeNt zi&?e;LI&KBjX7z>HF!3ykyzFaJQHEwN}4XYjOoVGu5G0)csi{STh`H4$>}LgRO(FU zBA@6o{_nO|PBd!1IZbU)%IwNCiX#v|Q5>gH1fnO7l4HKfv@G#1O;e3Ij`<+M1hj~wvd4?c4vhy=1D`zX$y!?hm zN-q6S{L#Jb_(LXndar%`^>2CIFB=DZ|A5gd6**l?Qz-95X%TFu*Oh*u^lwYQh5MOV zQY=IZl^&vSCcz6(^ld8H%~-`o3pvBR<qE9=%KSg21mfvtB}0FR4}jJSBCKnjO0mR|q!@qhq!;s~zK;AF9RJ^??+^(tWCi+rI+%HT z=;+~kOPb8o!SuYGkuw!B`*d>AH(+6m(Mj3GY`(O}yoHeum?E$CuO*~xGN4lw$`WpGKliSjeq7;ntdW+8YNzQgU2IGZK4 zNCud%1LdSP$u~q79}i7ZrO;GvZ-UOyV29yG&8F~Zs{D84J6`+VBG{RjR$KG5=6tWF zk+NySP_pzYA}G9AWtxml%Wy5kgVY75+(sM5_e{)ZXn`4|gCMblsTnq*(lvE%FhAIC zI}k31>GA5(EV_C zWj=xNfjK)B|A$K403r)R5;BJOPEr=B}ve}yB9NdyLl$gr0k-^k;oOXk7->!IqYl?M> zbwPM(HIRS{?WT|RTU2$N$TtkB>GOUy03pnXvs12BbUxpl>*M}KyRsMu)8@Eat}ZR! zgo!q^0D0L&!i`(IRn`r9)jEvtd>Kiups7I|TNauUAiZ5bkeUf?k8PkkH<{dl=P(@2 z@TIpEn8xglC_C@$V(v|i_^rOC+0P$Bx9EOF4?Rc1kg&r6bf=UFgBe>v^iOymvxpci zQL-`Dq(z3=RMtpO=H%YnzWL3kHx7LBqaU3-{4jZZ?{V_@nKSLZZ<6*Gzo^#k{Bz$V zPm_|X=+3TK?bNY_EXR~KLZ`o*e%>Ztuf*SvmVVY#H8J6C!+eJy!;>0705m%a;j zepN*kdIY%?Sw8MTS0V?DqE^IRA%$AS1)^Qj6DlG_C|-R$5iQmnbF|H3!O_1%2X&}K za)!Xyje^+;A;fAIZK6KS(DEOoI21C>@C}_QH^BbH6EXWJz9M1dM6ogbS{9C(~3BP4zK4i9U{# z->ewIz`(4SaLW?ZsQYfrS+ZrPLJLzvNkvD3H%2{#s!?j2wk|b6d?GN&z~_Ml{wEi> zT}6dkODw(O2NW3|!9FDxBjCvyMbaE_TRf@w2H{Pe;JzOCwM;X?-P4ea8XaR9q|(}O zoe-Q{4IEXtsHeZz2h#fkdmn$-$GQ0!(((wmIKoDDdEcaP!9j*VKlm;HK%x zwqsYzrbTSMW;^9_qH+zx#NnVU>=4-uIaip$$Y~QV>4Ff3Vlbi11a~kDUN#Ln$Am>J zUlHi9BKsw?#wjRBMz_{Y+<^oa*_3)~^^mLE3!V#?aY5!YrrB`>Rv>OM3FPg!HzhJi zY9{UnBL}1>Ws4viC-HYGt(YQ|cAp~b0`Kquxd(BD4lP*n8D~159&ZeefQucwZk%=3yBV>( zENeLP*O}Q-DvUF_$m$J3uJI$VbRG-pS+|=t{I&+uPOH~-_JUy+ zzzhC@&^$62+&g^V@V$c{B}cB_yPA9gfB)|93XX`YLC!D2wZ<&2VYhTe=>w&oE`1C+ zB2vT;ihMfPJ^v6Yhv_uQn-sH~VQw;syN59U>1aH{&@!09ay-I?p@BN9&Rh+Hiu2hy zV7ny+7_pxh;piY4lxqnkuW=;_vT34xTQ&r@a*9(hMQScp=sUm}>h~8X5&7A25LEoF zttYn5fYr@(p}CI5Svy1<95t=cPSW%R_zt<*IlJh4qj#xOjgn@~vUn#66T{pJs;*S{ zhQVTbxX<>_{%&I}WHd~_m8N&YfDn!qlCyzrJC1EX`N9`|wDwz%30tMG0OPNPz7c6VRxuH1A0C9_q>Vj%IB4H!-anr4~Cu!>6X@{F$)L^x8%lD;dT|k~zW&G~U;p|oGd*AI1q2Fxw^KS*I#c?Q(o0K^A?KaKaHaz=c!i4m$|hOT zm#BrOi5zS3ezZ|OE;K&!mcFFO8>5vy>m%5@#|3~t7ZWlc53A~$vk?R+|1f=*ht&ae5={LWz8{6 z_a&9NUe))=N=|(Pp`or$^oLi-dcVJGnBez|a{RWX)L4}M{Xcnd&YZhb8ZryL6dKaA zq^T!CR@0ZPWkXhtjvdTZduwZv>v_ZF`Gp00VE&%vz7n*0rXMjnKlzhIepc(;XUU_` z_8n-q7(}poz*)2K3(fL@&c-Dh?FVna{;C^}PuqC>z%5rFx$MeKGVi8txp{Ems%zV? zUF-Q}uiQ8=f7MOZH_pxa_M7C_z^+R$Ut^>+=2W5e)dm@zis_)}3)Km~QePa#w(Os( z&7C=DI9tc&+*iJ(KJSF{4e2_iI&D^n}Z5Wih}0QvM-9&6a};xL%`M!z2losWDCE5CM%CB+Dd5321N*I_f-6y6U#9AbU%Rn#E9()aVHgpGFHB%aKh?(|? z3Hti^K%P0jGpbBOJhV}E2^NJb-lTM_86G}}zOQe|&1`24(e& zyMOcF&mUQ2d@8oNL~jFRNW4E$iUd`d=Cdnfk-!Pa;!uR#s*F*%;;@+}D$ZEVyMnYG zQ#Wm@v72C;x!E*IlR8Z{lJ4d{<^@^y)s>?|iaoU8t;YiLWwIfP666Lho?(ev|NLAp za5Lv=p$5YZnD3kCGrshv=Ych{xCb`EOqguO>2Uwd(W^-qClVZ%y62M*z*u9JVRIL{ z$@6v6y?AHytI+v#rb^tx!2<{T7#yS&jO{pwZ+wlC2IC^ZVa{#IeiY`zyoXkx1e=h$ z5*#XOQrDukCR{Ca4KQIG;Ne^gXmU;a!}xbSEMizh9p16v`det$-+Xd zddYy6F$c%wvUV>?1Xv9;&DyQ?IlS*0`1)qx$H+1R<21AoYYBF;N-(2SPZ09Ab1+41 z@Gq>uGpp314)b*rLwG1=dPcg?AG>Iib%jymOj$$72+mer<(7$bIk*?C9eBDMbQq}K zwkLG{{LqjB40HH`p3y{r;p9*coG6-tz2cfY*cQ@I)q@FY-SA6PE#qvHNN8n0DTh_` zAIxHoa3cOYp*1A$(713b!~uVklZ}dn%lqJ_cok$>Z*b*DFjM9KR0%{q+skmy5uHVK zCN#BI^f_{1X2W8%brgWhP7b_J{rmMh?jYLUYj6L?H_r0{e3pC&EZwx!_yN2CYDat= z4OLh=d0nN~EARapyjE(Tx&B2vM;^W9b9a*u^(uRx#&5_KmEO%yJn_gQdw>1<*FRiv zw4KKT?nnCmK>li^RhrIz$uAg=W9&VMuWwuU(pmgRKC=G_d5_`jedbGFT3EPF{lAFY zfP$nLAhujSYvvb8WMF2g6+=*f7&V5VzhdF>*YCQEXcr^7mUL0IuV^+Nu2%);&v^5< zlgVFPG;DtRU}JWQv*LT(#rd*gulUcvLt$FHCEd?f|Bq~u!T-DKv@T3i&YW0>(TtzbtTspf zPS=b%;-;0%W3ov+d%b-rhR^@wZyN6dh6}T+xwcYBR-w3L6b8iIC zqa2X#?=tqg%!zw%W`=xaC_o)pl)f1zEDZ4Lt;eIdXK`KgyD-=z*U`&vqm_9kUDcQ) znaL{F1G~5FMrRoNRAV_cJ~m$s>cRYQ{(AwIk8`1vfqnh}93d0=Zt1?#D@#wor!!Wy z`9TviW-Bvrhs((}S>sEjC%5R1CZ}k9z}V5cJvf$w$pABpFqg|-k${se@t*9>PeyCn z>>_^tBHk5n8Tq&W_{+cikH5V4A8vm4O*g&!7vFtTws`Q0Q=qt+uGzw4F2(c{xPEZ9 zb4A;A^%%6T9*HV5eth2Gq2U@Bj-l2?!24qJOp_|pAJ<^`nLL^Y+Y-LnFD=$Qup~rL zm=SSPIwBMqGsrEsz2dgpUh#s}leeE-T|K#$t<1F(`~8|B6~*Nhm=Hl)_kPs(C!vPi zIb`MkTva9$IQJm;jL55jXWjKQMOD3f{z6=Xw(n8baa>>^1qYdZ?n~rv$){lUBO^>n zQ-rY>;=TL%MA4FivYIB73k(co%VgaiA@{!h?O%R-Obwnc?RJmcamNude`>3`R$JVv znbd^u-hSV3joIBxH=1|6{tiNZervI|TH87`~&Y?a^id#?YAoY-5KQy=%-@kS4fUX~ydl&mD z#y-L?ekJ(AKk|%M@-9-3|5se^El^r(1@-uEqsCgVx3>4U8DkkceBqTpnsJWD#VdXS z+Teel`wV$f@sj1GL#1oMCw&wo%Da$xRT=)cP`H7RfL&a9V7O8M_Bq-~O*(a{qPW6^ zz#XRKN2Kf)L<1E$l~t~peIUX>W!{X7w6yC*u~U^M2TsP7Mdfb5x3kZnd`yf<(rfR# z1R5w_u*}8A{NkyT&fR{R7(`kd^QknGQ&}SH^s)AQK&63jT+ajBm~(mP-fDc*6e&jZ za;+1`l>}~E%ddFzV6a@RbSy5dCe;>yZ_U-&w=|lJCa!n+u{lb<-0Fimec$O(yzr!B z*k`Vq1IY!d*f5X0DKRt~tO>(*pjb;(ytJBTroT`hH2mq|sN2k%KNmLQ%yAe^+NMdk zZ3p@l1AFg#ybQy#gJ!LTJQ<&v!Re(ut>RL0<9phG9K5S%y znL2r|!K|^nS`iXqEU(AX?;bQO%TXb z1f8=CQ`v%BOCQg=v86LtYLz*s5%=qPv|^9Nvb$9o=G#3g`B*a+pL^uSdS}z8{Y%I9 zO_^Cs%UV4MyJ0q{l7HnjDnUTBBaRuz#uQ|YC(5$T1FdYhnB9+yyLFhT7OsC%>fLt> z^j|gD>~u$IbHTls&)6-+r8crd%_oXXvB>TQj^PM=@9uQAtbq$<*^Kf=?Ol_D^^*-# z+y^al-{qJ09(enE?z!(>Z+retFMI5U(H&cl?%j9x?0v%2v`c!u?g!uTBQJRBo%i4S z?$uXZfBNj;&Vx5Ty3d7F)WIq(Vm^)NqMOOty)@)+#MPN@K5ddI2B&u=rcc6snM`8J zC{Ufsz5ed35;s|APgmBvttjC14w07|i`{PJ5Hi(2|L|RME^c(|?OxqCHdbFF4jv?* zdiw(}ca(ad;grjQe<&L! z@Icj#oh$p;u$}GsuBknKn|+`boAvqCEA(2H@k_09e1Wwk!1;AH8GFGM4NOGt~^I z`HbhXKw{6Aww~EL(O{a-hRblApMREICi_nVqd&_LKtGhj{f>G5gO{B;eCY6Du~mPK zarR?VcKBZX(Hq-aOHJ$g+L489`N(dcd}C z9}QZqXl{6udG{mFsAsuU$4raSKR0Ce!)L$y{e#u`#3w#c-1nJ-^c~B~*DWnwG)`ry zhpZm^cy-K02VP%+SXHdM2^=X!w%#Il2kk6aY1p+YJ z#|BHCQGL+Kys!7bjF+S3@0V5O()JIj zt=wV5^Ndwc=V7Wy4Awv($f3-iRn_0(wYj?68`tdG_ENf>YddU|&RJm9YXcE(ZvLPe zf3&d_%G&aB+Bvx3t<9}1EQ1ZGla+mKdi3sMK(o2pDBn3yds8Zw)d%)CHMct z-7(B@e6!IXt54U7!ZH=KJ)`3CA_@}AdDe4Y52mq(D_n+YgQ2}OjF=CG1H1(Xoq{|P zP`o;T_r%mG*bAdoWL(4@5L1&X$1zer{(uGvGF<`X*S;OBfvb;0 zfj8e}+c)1p;4L|GiD6u=Cv{2n__NUCWm(Kt~r z39*^ajhibJZl)#FIJ_cQR?aUtiQRh~gRDK^xMwP*8NdE6*qoOtcI=a- z=YYRlB174m=Gcr`uRks-t@cjx7#v|_cu?E1G57|9VG+NAiYOmue8%cE9e4M`Ehh8G z?o;HK*r!y>x@hE=Ub8ZS31hM8JF ze_eTD&d@uQchco*{E*k&Xf`)OMo3v&dNrw)?Z8j<#m?MPzpp3NG^we!anF67d|c(3 zy{`1!(o?1PDIP(kp9`u$1(id>&_rya&jWUPfxJUv1H?fhg#p4m3by!xVlEKbq(Ern z772Xc_YmDS%nHr}v~g6FDK=nBMXeM&NXU1mJ}QpkRTe=-=wp-2GfmHW-JGX^GebOZ zPMo#s_7f{*aGIs*NK?zGh51K}q)wRUq;!FE-4~g|+{i1t!ZfDeWV~T3#9Bri`ZJuK z!YnzQMgdd!GDZWp%ZQK66Fq}-ey?V5xU1E$T+4DlJl@*K9ZF2Czv8-tMz##H&Q;s> ziqC};MvYFRJKe~@ts%{1F7)73JJsC^3hA_knLv5@4iu#JJj2xP8p@#m18T$WMgkDV zQU~u0&NFp_8YTpf7_C|S5lz=5+`otmbI*MP`s}AbPTY;`+yzoHM!x024xbJ)6`U%H zjd!|BCWEZWRi{_l2wFh8tSo1(RAFS7|D&&}nC*_~Di&Dweam zI|o8Tw;w(quS+k7u^W{JrOQiKDWpZ#%LV#7v;E~J(ZDSq54Q;JzhZjFw4lOJNxBE= z0Mjku@|ft!WH9ab=;gN@eeptP{(1L3`3q;Sed9HItCt`69V(+B@yxJNHH^??{MaLR z-}buytXG`KFgevU%kb<(C-uy+zH#c3hp#gD&W`=y71uvJy7g#&ssB|R8;!6$A6iN~ zv)=I|N3XeqfKIY>p{p#YkEbkpX5OA{(4h|$YpwGtbMC(FnI}+hkf=%t#4hh8gCPj1 z?wU3_L~wJoiL?T2n{0v-h!N_nWD;skwHAsT9kQF_mL*IrwSFrcH;aO_RiWDko$a&1 zc!a|y4?=1vUNPZiku_JpYzE87^859j@^VtqrlHVj7E-*TF57UK%hED%EG z$YVdi$soSNB5T-iQ^~7-eXjTKEaH3q!hIt$Sh;*Y&Kb8jGFx~JWR(9zvaXI?L7bFSUuxbMW8 zD@~Wbd`*NYW46(4*e{)?^H;1nt>xSzwJfQYO{Q%wYh3D^;mQNVwg_Juaq9e(&i%SW z+e_8?nch3^cX_3()G9sig6|d1wAlB*pBFOE&i{7vDW){K@H?7jAkHuP9bhc`#lNx4 z3s3FGzxdQsUwrDvKl$3%e)6?XJpHOyJ^d>3HsM}*$WNwoS*5NyRfpHA+1w=ccdm5B z$y1b`zUIOSH4Z0e^-4B3P5eVwI`W#+gq+%U>VEzyES>DW7K`8e53j=V^Zj#Oan0#j zVLQP;f45U7@dQ7e^wMf^w~~r4{2a;Eo|C0otrQ_IYa+8`o$S)gBjXlz8L!qC|oevXSX>m)($sSKBDrkPaP^aO^@D+$-fpn0_(GQp5}}?oD4luo}*<9ax(WS1)V3&cXDc!A_lG z1{^r<_kCb{pX%xrS>OA7SeF$Y55q2beMRqv^}RoZQda*uTs^RMK=lu~=1q8mhw)2U zQKv5Nm)r98%jNnrZZulOnqY-qj5RudmAe}6)eS?uHI8ZAOaB(gf)AIfAoH&TALEs! z*Oz{*^h?lBn1Be$jYb#3n7{x5`=r={?)7_ccL z6m>@i?GGXoWlLA(3&#Me@lKI*G~G{PGn+z_*?Wn=kRcQ}EEc5T8Z04!B5)@j(}PX^ z-Zotlp^!zv!AOjBt5rt&x>L7ZW>^VmdneFCn@HzcM26d;9ypdI6U$((U3c_8S+oyz z7W%uM8<|@RolV0o+oIA>7q-mE^>+IUokJOBZY@viQB;psQr}Pgw_!duqWe0jW@#-( zPFAP2B>c87mRgRhQImYQ=AFH+ng+VgRaOCA57O%RwnOI2J9)GS9#RZiS%!{n$j5)UU)r>o9R$3dNL37BFUob{UGHU^E?W1y`4`Vt#}bb9}7W&}?8z z!G=jAlau8ZW-o6o6K+Oyf8F>`$ZwLLD}m~thd#xOX}vXVonV5+HHv1ATO5;OaUPH1 zm9;>i7o?5hA(D)fIGVx?%KCYRy8!sx)P&q&qr3?o;@g;6GpQZ)R*o(4rOQ{lNIhni zbs1;SG$!XZ2@>6Cn2o;g*FrZj&A>8}T4sP+>y~$SEwCGG;6sKmGR0_yCP(Hyx230joWrMEGwRD zEIW2*do`~{oClZ9Z5YOMjjSO}Clh;rur`G=+x$jmEp1-6s`;C%)0pbD*5>fC9&=#K zRy2P!x)O9k?c8U{&w+*UO7b4^H2DJgPo+}UM-0bwo8+Uhifw|Q{S3s!0sn}4g;rR?=v!8VWE``b^rg$IlzACe-NHUC-R~t41MRAAN zH2A+uly}i2O6y}_Q6dt>YLM*1zlwmISrlqf6|BL|dD~%HL^G%-Oj^(|SyEi)QH0RM zo5jYwLjFosIubSE10~3!fS$Tbr~M*UyI@{NXpE|SK`k@NXWxy66S#p;A)p@FV9274 zCO%ksDj5tID+SF3e&Le-f5BZFg;|0brAYEM0#_?!hBRH9s&n82C`%JyDIx@(!%2bA6*?SwYY-uZcxt?f;-ZyOSB$O5 zDXU4afQco+7Nybwj zLHH{ANBs&LrUn!)Wltk&kWN~IrwO;0Ml`NJ|yMGU?Y*ZfFh22@bXOv&_?ro$`PzXq}) z8OSXNwy%ux9SXhN#;C9VmUhH!uz_TsNEIZf1 zKc$8Q`;QXj#>KDzs_EGAGQ-vswg8J7Gokq4ajO0|kXVR&gxd~BQe8#!D=}Fk?vEEd zzzpe_xWx#Iar0YqMZxw<3J{#?WJ4%!M(jOG99|3q)pSVnNL4CG6$gV62?V?xMG(xT zoq{uD9mPPi6KDe~5QdAydVbOuOzKgD)X1yE1qai~ z;A1s-q;K1L+&1{UhNDL?UxTyCP)Q*ST{HVJ> z*z{sCIs4fn!xS!={(v92+vbH^cYDZWHg(TqcC$io6_12aK=_{)2guupVB6WXJw?&C zkGVyXnAw%d49<7~2ApqzV8;iW{U2TQVCPeU$uQ}&lsoB-y5newsFyKGCv#t&**Egv-9pc89j5*&Cr{pqPM?o z+Mqfdgf5$I7%sG0A;ZXLwl8CZU0$xXFhi1s`GdHQsfG|zLM%`jmKQi0_5E?CF*1`( zR5J;)!{)MMf_-ZukEc#u+cWJX3S6D*QZBnnKq1X%Vu$6H1DYiWh=5^DOlH9ELZ=*p z6vedJiVTP_%W&dqzHT`n=d71S6(T8E;R+IDfi|!xt{p-heBYD?{9t_)#Ue;}GcbM~ z^Bg2CgPSPQxzH>Rbc0Z;hC7C^QRsqJ5V{xh`>0ZnsAoAUHPlF~(6)u*LY*fH*c7Jt z!Yn_+l~Af<8zMkTc95&kUf?-6T!NC(;Jpxttzu5l?n-HKKL~1;MnKOV_?8rre|~L8x`w@7k{#dSk{cN)yf5wA4Slp z!tfCc4~=2-dS%c{9YqgA_iZO^Xbc}R?UhR%SJ5D9C&a9YzIS%mAwrW*kS92x0t&88w>KEN&z%3#&13 zba*PT#?T{_apXCe3IO^OTHOS*1{;FeY8e?iLW9a$j=-LC1Cy0A$4UaDjuG2tGtx;~ z(TpH~>7e_TjdM^yF{b8u%R#c?x!ZnnAMoot)=smL7;2eUph3?xp zc9rc1!wDK+g_?uygX}$AvoY7T#wGGisu=^5!byZfioWoRT!K&~j2YL87)HuW7+wiX zB2vLojLbI-#;Fc&EqsG^GZi>BOo3VE;RL;~3&}-;ZZ`7J3)5$I_UxqMOa-_mysxbY z(=nZP)s(Kp%41xGkYJPG^v7-&y2jktlsfVe3*E2<+GeKo%isg^MpLt4*q6iD5-4zp zik5)cq0C4IW))0RH?pArE$K){;dQ?N=Y6_#KW0mfCfOwG7f3hog7#JYKJm+BT!8yi zmAi3Y&pm@(2kn!z2stQJ_Dn+*Y&5tiLNs;d-6w8eT3P5ES>tx2p3Tq6NhbsM*7h_l z$zq%;LDZ`yfv{}D=1c3FomCoS#Oa0}CgQ4YbXs7|;xrPZrBlBtw93NCgKwN}w^PQ3 z1UV~7NM3sh^ec?VA<;naLDvVXoo?HP!RpvHg-LH}7K~jm8FiDjvy9}_Z%{p(@3bnW zC9Kt@2{R<0tArKYmS6MSg}L?ZC?2hz=+*V^{Lac|Yjo!ZTIl98^3HWjONh-5vK-U7 zPbL1Ovd9P_a`hJ7I%M$vzV)HU?Ax5GbDRCxv4h7n4PM}bYPERJ*s+7ZcmMGd_nr92 z@zLn`h6ApTaY#b(8(SxB_|p@chyK!)edFTBQ~k z_Nn4LO)lIAEW2H@e{r!+{NB&M15b{_A(dud1E?m#OEa zHq9~`7>*>aOLY5R7_&op*7FjJq$#z({h2qs;WKX_M{ao67eBc0ve6B99eZ)|!7uIp z%G0mjgfb7mbj5gQ7I=xn%OHY(wOBv?#kb&HKigaX?JumIy8S@;y7Cvlc!v>&MqJiJ znVQ1!KtbE$gP48LW!$w-1%VM~nwG`?>J50qPHT8-@P*(0%Bf3FUAlMUt8Y2EJ&bmL z`wIse?OTo+L1ZOm!OJD9R6qAQ^5^7prJpE$p!8FvpDX?A(#K1`TKbLB=SyEI{l3Z= z1wY9e&qwe(L9kvXpsC?UeFO7uGL`+Q92MwnFgXdXNrJWAqPc95DJCDmBqR#Wg8}gS zClu=!O`7DXgsWnaV1ch~z z*&&>sz!~6HT9&3E?*M3XW_e9eMwOOqhFV>OMpQK_vI+)Hm0M|^1v#Zz7!%M!g6LNmK8G9W6UDscSu#)x)Zx#q(x7Pf0uS8k*mYxZXKbA3Qg| zV_Slh-#qKXzq6a5F68zd`Ev*LLmiz*U0-W>QJWwMi8&u@Mm4N6x2M$;C>!q3*P97j zSa4e9w%=r;k(52!l=cfPA%d0I=1d2n?s_{xZcy)PUbdXoi6y$EOjG@b3EgM+X}Mmu~L_r%nK*l>$%CddMdi>8<^ ziD9OsjX3G`r`_|Ry6Dtt2zbY|Pabk8sN71ut{hLY0{4Jh{%ms=hS49piaY^spt2r; z-?KSPuO?|bO?^gf2TZxZ9s?3O(Btw3=rrnGk9PX6lzs zPBy?Eq-B{k9oL9#BP+Z970X0_@o|!Qx@(Fz`zfBt+B>UrP>h{;U?49HBYF*^@Kq}f z=bFtd@h!$~cdLQL7vVed>V%gYj$`<)=9XjI%tsAM9=pN}O+QV*33-yWch}~OqCB1D z1Co(V%Dq&Wt}O5U&#aXuQl*kYa@qBcuMq7anE%$fKP8_aKV7nwRK^S@cb48! zdVlF@a8edarFrE(t7twLY<;AWFK`r1s*)^-B1kpwgVyeEF zDnB=ND=nCevUFa-S6m96)P>VfCG~eS%w4q!r@&WD7NhGYQ*D6kd6<1PFGw^L^QbJy ziZYR_n8Cq@3a~|Dq{)Saiz2QNvu*WYB%s(wc6)VWqE-X;9l$jr3%0nvfSER!=HnzD z?ojYfN1IT><`{z(!QY6>N;Sb)R&2uUD+b(O9I37E?LQ; zS~Aj+X^~hQTsiRTBJOd`tKqQ&2B8P$Bz2E3SZ3fRV2pz4rzOp7A+o8Fz-)LAkz&qSQ$=NIs!#`=rx-?8ONbd4KvQHt!}v)G#g>< zB{yt>LxyfRLg#9e&ao!9qUTV@wS?&gR`YgHVs8E)D@yrN?V2AZ`JJ%Hat@7DA=*l=hkd*EVv7h^Ituyu09VU)<6?&tL! z=lCNN{K+u$`~K^H>~=cc%Zn7BPafQ^R<{pUtDSDO+U->TTeo|p(;;?Y68z202XEQF zDvGY!zUAP}aeQf~bLs3=$x|2f_`{&bWhqp7=S!2>y~XH!sLxahK%^fEG9-XMPkH{A zneS)*^Zm?|wr=gt9a(QY@a`X3O|EOt9qOHY;WgL%IDF-08JuS6w)}j3{YdZ1`|rP! zT>Gs~Z|^I;LvxdpCm%YA*q;dO&|g$|tzM}#x1Xmk=@lf9<4lf`EWJsJo9EM%bn{8S zKl%9APQUC$*FE&m_UWY)Hy&TgJ8Q?kgrDb!zDCcUzW!0s-`!mhw;ozLu>}7Yk0sTE zrGl@s;2Uot*Di?vjb5QcaFX{h#1}De4E=<-z>5`YX4-g0yi4A5(#CYYdud9ZO9Gsojl*%&_CrbfVdeMosRER0>ZvwI_t|| z@t39UT7GDD9eIeT{MYBseFqA8Yblw<1eFl)q$p;)`4sJ3Jc1g}K2oifVx|mCY(G-q zD2aA@aT&NX#b?;Jxw`n%A8ef3YCPsGy6^WIi{1xi;(o`IAF7{f=w7V5_{o2L)*14z zic_RJJLQ27HnvW|Io|udg@*erkkezpx)M_MixacYlU`{;=8b!Em?+PHIABwVYdHsxlZbp zPOUas3WBA8e9AN*WTq|tC@~*0&4+ks{E-pz+wW`6&E4DM?FPB8+r7aLIwXqvQD>nu z9*4cTxf#b94v5#3*1&I3(Y0}ra1nDABZ;3J&ES<8Zoz}1*&*31z|#Zm(=T2XI)4Ts z94a4|{Ct1YY)HeC)uV?hl|x6XMq)b><;`%uxvCp;HOGvrnb6k`=w@Iw;GLDo1_}^GafWt29Sr3TLLu`a zfu$l!Q-pzJ8FVxvxsZqu{vZMjflj^gHbeeG>T}(y&CxoRr8ZKNQqZ6_xlb=03 z7g|d~E*pByG)|xH1=g|@E0(N+0^SB=JHW*jkkd#&(ThU*U80GgY#-XhO~uU}s~mt5 z`z{TmH#}6yvdTk`8}Cg6TxokBh00O%DAdNIpr>ESJ@b%h?qH^-SH4R4#;$4Z;v4eJ zT+fY*^RO$zTTC=ma07!iGT6_j{$}KUGKmGwn?+27#XHyCcijwK^j6Ix@O?fU<^t|u zip||!H9j-Y0sk-PfB9yY)U zD=-x<_y_}d9%wbN^FWrb6Pa8Hz)pgx3M2Ih*`P!_Dzq22^q~&_p8!uwW9+RH$+V}M z59&JkYhB;_{Wl7OzDeoof1s}=Zzy@CTB-Z&IC(PeNfm~lO+ig73O{-(s@0-@`Z~Un zxkEdLc6N3Sec|?E!9<~ zz>?O>6WI%pgm5|xNH85o!)cF1NDn9@f&^HsMFL4aeAk0FJ$K=uSKj=by`#tf(~YBR z_I`VG-L)s$WODktKYi=*0P-5ZdP?G4A@+xtpRKEIb8y!YX6jLBc_ z9V4IK`z>j-1jJr5j3jm)@;#N%*)(2rvXkU1dNJ2$pM77ld|> zlU{(~-GjECjFIj`s!SF`@WzXL39+0Dfw#D6cl4q!AL8AjH(dsXpw6E|3l1In6U?Dq|^dOSnh)+Sh{bF`ir{5 znvbk3XUIsp?MwP1vhv5(YWWv_Aq?*X=Qd7kqr;>w(OkSVg-S=p=G9p?WOl^tdKgmE zf=9H3miMT;pmNjV(rvp#Eyw2E-2(UE>hcLUv804SN^J8ATNC$y3&4GYYaFVNyAb!1 zi}(x1nBSOSyTZ&xsE}H?!ZD~8sfLKw>Y^`%DH9Z~^!&JGeFf+0b;&Cli{*PNX3Y65 z4?Q$|;R|p7xEWl(wzbOH+Q#b1>Q&E)+R@%u8jFjKjPzE!S50@1l8-Dl{!*Va;#J3K zMZ;m#3YyKzdatp*I@g`R`HKxQYAo)3BkZ(Kl)Q8Q1mpUjU|io*dQa)YWRARu{8#c< z@c>YqELh0Mccnf+#n>B4qY`jJX8Yq@x+!8KKbg8oatTCvj zvWSKo2*tuCSF8IHV>Nmh1UwW4t#z>kh%p)HyOaN-QNh5Gl&`zv_9K^)ST2wTqqboS z%SWgQ@mn39RTT(B*BaDb9Ww_!n7SyZtk>aza7@o2)OI5aW7Mby&uqLX)@}Gqlekyo z(ySd;WAxYwOmUdCwuz+6Qf55R7BJZ_Q*1JOe_>IFnAEaCo4Xb>aZeB2Mq67<*Q+iG zbQYp8tLQY7M54kpz>UVckhbOUi# zRD_cIZp2N^fk{VV#5FakNdgNzW()ji3JRGX*kWe0Hs@v=(g9cIfa7x!fnwIeuu;$Z znU`4}4XiM3Mk@s2FRwKm({|h%Df>a_E;=0ZHn`k&(bBMt^&o6d5(ciay;7D<&WuzO zR#D-oZ8%UJfg4rCw>%@I=82UmlxsGdf!`690iqNaK1gIFlw&@G<^FP=vB>)eX(0g1 z7P^5?+Y0O#B;6N&u$;O z6>gla_7rAK<2((GfD@zNaD|XI{7RXW)76^C9H~=K7%^@ao4DmEG$duhbsiH8{J z8)oTS9L+Lplbeo3m~LC9ug6xPn?ycpXsL%Qb9t@u78We*%EqNN@$`(&lc366gdZ2tdQNHUZPUUUND3nY8Qe4dXa8k0VTtIJl$B9Py}T%v-kS zZwxKnbSggQi7j#0Rr5^3q>D^zFeCRPp^?2`61ZIVuanJhx}G?0#f}R$x_~;`W;I|4m$OVoQ6;aURRu1PRhMN8^g7>he7EL`%GQIvIP}!2Na(#bR`42x;`ZlSMTggw8Z&613 z^a}d-&`DL+VXJHtY+!{5Q_In^x5md9lB9CDq1Favya6tJvav%pp>J?kS#i(g1^P(& zQ3zp@O9b;8ZIPJ<>-PFnMG&_UZ#JpwEhttg+d;CCVtO>Nf$M>5XoXc<}^O2Nvhz>gS7L`5HZNX&BEfJxVl)fyL`hJ1+Fv|u#<*&l+k zG46kWvh>ga7(~qavM`?WoR-dPhqT*7Cu=F8zfOf?8@fv|G!pLTia}mV%xH zTfxw|0FBKejVt8}%01Bx)KpwSoCpaRU6%V>B?_K{fNPFR^5AU1X%w?H5|wldtiiOP z>_e0Wy&wN}ur?ST4kvj9WX(q8xPpyoT_jmXXBwzCi$0&g zP_mfEI8vq?HW)^n-AILiDgTFv=KI_$p^;wwqo5_Xwu#eg*Kt|r&uWZ{M_7DdYJ;%W z{^GzCZgDL%k3k$0I=CjVGgU~fbJSMb-?A1dV#W%L6H6iFtArf80$TIvp})|2*wuOS z^m_@r^a>%aJaXk!wWutrcmi!Q9an@nD@(P8X2y60XZ(tntfd0Rp-j`_xy^b6g-}2wy`0JKA7sj||4u z@P&x7gol+>OC1yMfM0`cDD;+aUxFofbOezhgFZ4<)?@f=3yRTvS6Ow~qI~a*+Wp`* z=m;G{WMhlcmZlN2PswoW)0l|Os^E;MdSy_be2!^-0oF@Re9_b8y)cC(LB0%{`NAwE zV7uH(A1D1%x0IJ|D?MEL(bDTn?=SsX=`TwENHTcNZE_{Kh1^9RByT3~BOfDQ1%F>9 z7mBm~Gza@-m!vVchf{PBkxXHVPVXd^lN=;qo=!muimccpUW3x$(pVvUF-OFy zC;L70gvT2bTnEU&uu~=kU!pyz%n<%#)l@X}4pLxXfS%l9I~-ZK)+n5oB}nrCCn6n& z#O=9)2?y&x>32n%Cz<*lAv8n8f2+hjG?@%VG8MQc3R(rNiezJp?ocST3wmxSaldW< zT6pAfK4Ywz z@rXi`DHx%qrZv|JxU8n>x#d`ff+NDYMq1Sx~|vs_4U2K=ip)mn$FNe zMk%c31!5X47`NP2%7hklwFS~p?Gl4Wjgdi2p(Ht!3+^0@R~WUt3b$WE!H+xE3dV~& z0ejyv!I{uBL%Mcm=$54)aI;Hb$YXr7E_H?>K7uK>S1>8TDJS=CyVpy3!X3@KpY_X* z5O&2+8$vdc$n|=jccomCE2|jpv~)rzvQv>5k0NmE-tu}NTOy4q)ub@Jf1b;fu27jv z*`kZ=VK1OO^rR7?2crU9z*!ZF@lmJp_YqM5P2(eEP~nx4dI1TeLks49SivU+4;!R~ zP#ACxtXKsYMQVtBL61+4j|bBo8^`rPjq6CSQ{Y+kG9T8`O{!m`)2l_Nt=%J;ZYZ=O zH$gaJM2^LZ`g1C|=Af~S-GV%nRHCWPaVwl_g@vIo=1gfu1vP~}X9_$Usv!WzJ4m_* zF+;R1R1J-`*Dx&CFDKaQOjT@~6etLVD)$rPq@H-mwiPBxXeEtCa!non8IfT`M`XV* zZxja46f>^?=Mx+_xHQ*z7uR_tHpR8ZjdBHyALD9+=laqE#J4rg@eMuT*kO1x4q%G3gdLZU=}4DF_RY)JCn;W>Z{F2V3)D`+wKd>zT_IYXI52KWmfLhUES5)>Q--3w_5ws0xf_9LJ}Z^B#Z=&BoN4kW3dd2 z$F^+nE_*y<4+hR*Mi}e?+u|@j7-P?1;pGgB$H#*`17l-TJ@5U6%OkZ_KH!Xc=^Ot4O&bJz_>?ds)O6dzn8(na|7zWwcQ zlb?noM)5v4Aa^69BvVT^)NVHuDnrM&oCN@E1g`!#O-3_(8<_SOz68p~ z3x{-shv?#bJA4J6xCBi5Vm2Uo#c#8_0QWN^IZwzKckLlgajA&0Cx=iKDtGwR-gMUE zu$qfTrWgWPOaP8_QDaO@U8I}ft7CRA&MDxG4NvhkF4nq&KM8LJz(44sr#M9-7&Ur) z6C(_8Gxfmb9a6lVdeA?R#j}U=5t-ac=My~Y4l-b8G73@7ax5e+w1SXFj8r_yr4rK_ zBF1L-znG?BmYAJma5I_VUH~`pXA~`Jy1MsaB-NJaW>=MT|!Pik$2OtoP z=7_>nO=xb3;#Mq024n6ZmUA#5jsZHEd*EPbv=Cz<31zv9jh?V5c>xfT5R|z>%ZR8; zk*gZ=?PBOt2xlQxzR7G3umW6R_vGcBqetQYZUR(#=1N<-et`-&^*Wv2BqF%^A z$U!qo5@_pKlmanbTm?kI(1dbclcoxOBOOqemIpQwGTugtP%i;+h)v)jnxv{J zGG#Q4u0b1sZ(!=W4p<+)i-Wz*1mY4sogcDVPfKJ;PFZtH7G z6~1%9t{K}_P_|Xh!vaoq5F=|8wU_tp8;r2>F6gE*nc{rB_M!NRLYIkUk=PLi%m#_oP3U{=4)&)NvtKf?xeM@)zVE zp`+MzLJwl@piqRwa-PNB8qfV-Z~~Do3zK7V!7)+DJD>1zu33Oi;v`>>_a1wgqtOI= z`Vz?l6f8ix^%yyCmoM|EPn(BwMFbei^PO8SzM)Uj7tey5=ntIb#n&e3p2XU}aORxS zJzng6(3iYV9Fb4*;+)ALf?57(F_3c^Py>bw(DbH`jOJ=FkTKs>BzcNTXWWQ1TS!xe zA%zY~d$Lhp7Y@!nIM$e_N9IDH7t2gAVL?#;q6Hr05IKLPE5HrX)#Ugsf=Ai~_x5>nZAMn>Ki_)`szNLbje-2Ze8MTB45iwzuwRGiLWDaAj$Qb_zN>lL{g0=EayDo8EGmZyB8^$!z z-Z`!ZM*LRTE@FWN1Ae}UA4-+sn+s7L#ju}!VEv}`i61J+PSTESF zQyJBcED8m$-n?znU$c!+=1FliRg{%e6VnNH{~gZh;!wKQPs@suMCDQ(4Q{9wNHW`>{wFLm6tj?RzLf<446py%u<2d1Tjbw^bbmX3p=ypoNRUU~1vlRPZWPURcva zb0ugZLNQtES@PbCf5RE)*tE;XIWrt*#c?b{Rokj69OVGb!2t}5%cy)Dg#{+3;B##= z$I?w*jmz8MFIh6%me;CdS)S(%Ni!U}4~x(MjOw&}2#>qsOxu>#Hj8CS%4K{VWwA|e zRvV7thz+S`W|QSddb_{5IrPr=D<_XL{m@|(ZCp7~l%V7&vf`ZGk$E0pXU-ktZZF_agd|5TyJRJdLyXJLeOr%3|1 zp^6lSM(R?zRKwZIN}1^~w4&mNZhvFLiy}gjSYxFsn8>UQyH(*5Rg17!j0Nw(EoACA zQ$oh3IVRUGzmY@o6`~eI(;O0rOf=9dmlp!OYkKi{0C7Jf^7=jSh#G05+3R4=A@Y8= z02FR-@BU@oAz$>v)!mCX)ZByLy#K_Vl{?Dy6XejKz|pY#~HU6p_-}TYZL`q@io4w#G3}(DN{f;w452H+V3i=xl)GCzObpH?GI$d z^zXb?VRkEmyZ;S$8V;uT*-UvESL~yPOpW>hs&MU5xB;zmCpC+w4;f&rcgl)E?E~Ca zIEwRlFX5TY*#XN^OVlSJm-x|T#N&GD77_KBfj5K6ORbpqW-e*LdOX1j40x&4TTEu1 z84QbYtJjHp;Cw84GNv8R7Bv#L;Bk^JV)T1jGmcMqZ-S*6y%b|PlbAGXmp@S7Xf3uj zOfxVqY;9e*>GJv|TNe!D!tSTe)z5o3kxKn0_omt_H|l48v~l^D&(`2sy?*(yw(gO6adF17_Gk4c&cR#Qt-u{cm1{~EmQ{RXe8-}@2I9ogKo*$g8!?L#f z`TFH2;E1ohqJEQi{yePRRlj>!-}t~{alte%tkti8Q;Yn9i{HEWIjWM+Knop5pM9~T zIhPyhaj$O^(0PK5*#z&BX+6v$1TecG_!B z!-iAvZOysM!Qys15c`Zq`vBQZaG%0tb${H9eWKfUIc=sTr9rVkqC%-4Tk3rXT2(Xj zB1Vj;96Q=28abZtRE*L>365|doK3X~QNa9KmDu_b4ZauZgT9Ymkp5Qmfn3$9FAb%s zv?chbPv+GW6W+lf`UGwwoRvm7I(Vkwb)Jh&aId0+NjY?a$$SJ0>@Aq}DjxB@d;)e8 zfW+c&lkH^pkFR4_{pzu#^~%)=j1C4P$9GnCcF(Z$UsCw%<2S_~cQ$lDxa_&J%J<+6 zA5(5Rb?S`HuKM2o-jA>BPfAcHTSjAeHkyx7NppvcGP0@i%_QDL zjlF*+H<0VDKXQVSIys3nQFjV&@X||3?Z?Q~*O41v_TT~XR)8jiyowYG^n-+)JzGf0 z9h>Aw$e~AaJuIB>sf!jq1b5g~(#v5aNl}w^*2={#Fwp5>p2I>2n~SVe)UOu&W|Mpa z+%?K%K#;`|*Rtq7^pN z!15Yir)6koKDk;d#2z?vMfdWNS19yDa%sI*n`G;iX6+YN2K)A{H?!%uTAfU={gaCq zq5VG#?Qco}^f=7eUWGn4gHh)Q^tdz9)zZ79_edX*J}N!Etd{60vn5L>ij8s#snuCCZtQOJ2p~2oaq| z-DZa(`x~ZLBhw}Zc`<_X!%r4rN+)s-&S$XY@lQWS9(&m@r!_*JlotRN$im&dsA(Ez zCIc?WRHeoFOl3_)9Vv2KW&>I75qUuAR2|6+dCTp~Wcx5vPtxzZw(T~xe#!wy=!QZ1 zJ8Pb8dktA_q$ts6s*XCi;u2lcWlvMfSXu?hM$zYr(o&R71*aniOkR=4b52$Px4>b^ z(~p1Zv3l|=H*%URPbT|1&Ok>eGC?R_oS-U4crke0u!Wqx6S7Yw%T6$HlDj!%rot=97Y zS734cIQ)-Ed{KfYCvY8?`O5L7#@3$3AF}24pkE%5PW><~LE%C)`M>a}V7$A@MFE*3 zpul43mXUX*jYhir>$v=@EW1qnoz60Hlu^bFw)u%MGdQg8f9?QmeR^+SaxQIL^##ZI zf~$Sab-(5&VtwPCuKP~+f5AIcwz|qxJOFu**tn--vG;vS;0gc#-(%X{Bk51a(19^b zyO<9EE5qP1!I2(^AwCglMGF|#bDb_(9L`Hw z)6$O_^~f#-jWc>ZCC!1WZItw4j5IfztjIhdPwyRp-0K(a^KIKVJ=yvClxM_JXT@#+ z2xFyvMaE=Dd$j#BGfli={mwR%Bg2wQPSN!=X{k;4Ecv#m%ZV`~K61$+ipl91rv)^) z=yCGbs(K3G=QEYBs_L1a>;CeWFTecqFR7k-8X)O2)jxtY-1;zVMLa1P^ilFgz(H5x z@h~A!gupSdjs$6OqW0A8VwOKo@F@~5pe`6DXlL>S69X~#2`i|Dl=ZSul1%6uJnA^D zT7giWj`|xTk3=iI-bx&d`s<^Rc&qJ7MK+6-nr8&FS#dS0x=s>;`Jc@K6U_JSUsao( z5-D};EP6|@Z8@4ziF|J}3B6z)Zu;60a4qU&BlLrKNJ(>Bk=HjcEn&R5aUChviXOK3 zbsL*wa4}ZWQm0dLDwvDlT-=3r{0RAN>2B$M>0#-2r9UJ^Fm`KX4p8PYay@wkxd++< z`6bk)_ACPHB|{ptz#%dfiat0sw)~x^NQs8aF%r0qp+QnHhlZKxDHdan(Y)a<<8+Q8 z>iic^k&(DJ&%^O5-coQc$#_3uEFhB?7-Ob#<}1xsbGGR6E+({3k>^aT z;r~pO=w zh?{d!AJ4_-6oqFhQrC5p{0qPtd(-^v8Ci(xV4U0>&r>mVA!cm^=W5=w$o+0ChX9c} zPPtfVlXj(8u{+Elp&Yx+2^^QgFEM3<0mj!YHDs3NVn(w{z{R4bsV0V=aH3nf%!$TS z=4hr8V!i;3y@qTOafGA*_gW{l`osMlwK{046&V~0Z}s4@lI$lQj@A+QC=t9rVmdK3 z4bG~`7S*8_Q|_v|4=#&ARNIgh-C(kzQrV&Hu$dJKRnmTs65;TlR^;NbgR8FW>XbO( z?;A1$uNuYfZ&G_)jZS%wp9vgYbvGdkl~t5n-^tXC>} zEVru_Egp9aHL3eL)0t)HnB!xZngiyIYM8x-Dfot6tJyd;A&T(9A;WBUXi-ClGw6l| zZ?#)>nl>FqJH3~u!@gY@u92Ei%y=Vel}#6!vSg9S2H@VngaM7f6##3jtAuC~W`@XMhKZq} zATgf7r9|U|FoQBxE~?$Ov(otli#p(3o2%`+wKdOoxzY<$`$to|KPcG!zb@&zNrUmpB5+i$mm)86 zl^7vX@5oC96_mug?y6W;eJ{Dh(qcoeX{l98*5;=kQ5O9JuRqM0M5)wP_Z1DDC{{6Cy>WYcr8E%e&GSsI~0VFJidqlYgDVm2%~ zcE8Z;75cXKMeqxXDYrWvHegrv)8UwgC2hbuQAZvR)Bc`x!l9&uN3ov^ZQaquLLOIF z$}cakRL4&LLpC0ylw8`LlHo8~O&upvUPY#DEs33UHQq!&mcjk>F!@=ylX~E{9S5K7 zwct&IbLxnWJpt1?2jdJl8L;3$n>A*r<|%k0b`&u`fT`tiYk|x_I9Cn66L?`UbV46idHJ!`D(|Mzq!KJzwU#T@?ta6 zEz^k17ywe{e@$g>zwx%xN~M+rZdgpJ&9|$n(rZpy+NHN(l2suLQq-1rs*zuH2wV`O z;MXEQbEvPodXi)CvQ(!Xa;q2)g>S6Jq#jWB2dK z?;hK|k-SeKilGpdg;jFpJ5PQ|5Pl;)vk31CQg24JV5S(JT@Ba0?~=mH{1)cPB0J{K z?mqidl=9FEu@)t%yx?Et{r*bnM)26B4o1Q9+85WYcHWrxaaD5$2zoTkkmIF(^ zS=>CAP}fXqU>xcJ9z%7(Xj2s{4Ou0mn!(|YB$kHNb50>LqG3tnO+e>dXLm9`;y95E zfQGAr!iP}HkS%cA8RuTboHeLk&}^&*&`FBrQ99;tmU?Dn!WWJltLy<9@uUABMuXkY z7&Zw3G$za086DP3WpBeV0hwXWovqUtzGxU1nj@={II_=e1K^lq`3@txiPufO_&oWH z$i*9>YEoXaEBKyv1d^9qO=rn}FUp&`g4zoPs>LRz{4Du6a>ZqMg?*!=S*@&)==|5q zk&#`igB7<_Q`4b)0{Xa1cZP7(bwgiWjhZp7WS6{B*MjZQV&A^SXge_P3feW-DF)q@ z%Lbhd&xyiz`yq2&JpFT_m2fO^vQ$qde^TgdD{Qj0zPjx-2S+=nemV^4_}tFUxpDoE zI&B(OFTECX)|R<@zbze-PKYS>Pe?y6{hIV!7)k166pK?3wddT%7{FcZi9VwoH1;2) zxk~d&pPa@y5$*_<=A$VTngFn~x=8ZGK0eRuaD?d{(AIb_Ly$)zOG}MK|L-jiCI~o_ z@s2ve^679uIriu|c5aSY*CJ>zUUXCP**LS*;#+E+UI9~A%GLUmac|o40S@Thgk4`` zPG^fIp5u~&>4iz9Fofn9y_8Mrqdg6)6_L2m?u^()Y{CeYN~B=(mu(x zSdL>_bpX?={dV`a{>-ivV%|~urIV2?v&t}LaB-^|bG=%3d%SJ{s-@il7}NbFo6@Ab zqXft5+-Z;eHOsz>T9#I=_Fq$yWjBbdj}b2j!$A8?eYV=`1)2>mL*%BqlK8$?mgVS* zTc~>aifWBIb?77e_xFR|8K!yepera}g}#9i5=TucL=UnsRV+d$B>eGm&meXXr7viS ziCBpx6>~M^j!<)*Vb4d69ic<#(B|T$5tIgu+|%9+nau}spZNRbIcnO@N!tu{<;pAF zh|}?9mw6%6VL17N_1f-NYwPPZvQ}HacLaW%R|(%14$`vaYC4;}%MDd>rS2KWPFjv` zx|}`!;{NM@zt14v3R6Sd)c|M0_wsU0`frfmgwGvIebiv=2=UA=av0S}&T0gYJ(Se` zf48Tdy{Cd1i9GW=vL^oy=R?NX6R`ROJPtYh{E+RtA9`UkJ{-M`(%TqI2{}sXQ9@Go z4kq7D>FqKm5g!$s&&%?8Lh>cFcMM4Ne~=3z3XHL~z33D+x!;IUM|&c}rq&D>({3w; z{~25a@@!Bn1|R(3?uC9a=$AW(cW&q(T7UNS=WctFTqp*+Uk!?VvUd1zP~3gCQ~u!f zJL`vDd+zmp^6uM~HtTuvcJeX6{|`xzVr61$O$FG(TZ>o)b5&8ot|(i}gT8>+MmRgL zIZ!dJx4UG!oz55g8C+^XYd96zu7HZinJTCg9F72gA?o4AVENumQa!Y6j+H+!@ZSUW z`wFvJwN>!G_1Fl@Y8vXAZCZe6WG%9^+B^z%gMizbI-ag$SpWrhuo%~sBgEyt?r0h@ z7}#dh@qOPlnH;Q~l$l<`a+eiy0B68ohY4p2)3|L#yPvC!ND+?CHOnrCT3A4XsBpvK zRh|M0@sm4d;TNz zzf~A(-z+_WY*ffzNS49#nV>^kGUY6v;PyQ1E;#cOEL&M1K`B@30w|y+(^zdHIVs8H z3AAyth)~pEN1lQqQAM5!xRV0}(Y-k8HAgcJ_ua|*hhKArH>&w@R$Z++fL&7uR7Sc`Q6}{*383 z&Rg!tnCn-ITIe-{Rn1Fm%uwqTZM)b(`)$~PrL6`{FGOu$SvK_HszZtd{?rP}KT7V! zf4=xUy&(Kq7e=dN(w)%m@0b3q^ru845qJ`($!joDw`k4BSjCwWgUrVqAU0S!XnOEN zp*!~kIixzEV4AQ-RRrnObe>TKrDx_?=DInbAm_hOWXO-?l4yiTtI4BLG)j}vCOVC9 zlXfwbg&{C3#UWUii7{_Lx3k64_s=tQX1ys+cEON3+r*kARM5r`h!b3CZ*xAv6ACA3 zdCKXi8S`k8;2{M$<_vBtEXHo(_HDA1YT%pdNSz3}>ILkRijyvrg1UV6;^#rN+&Px; zE@qqQ5N_BeoO=WVAq?d6mMGfAH;tAbdozFf(vLkmKnG-;w*Ik13Qr;z1<}~wsjdsS z?mMqKY;@-}qqVxR($re}YkCDtW46^i*l7+m&v9(i&{^x!t>*Xt!FPy{92i8e2S~q; z`K)eSchDDQfFjkz<#tgfW}6rQ=gAf~9VEu^Y%C1XG_M2qcryuX4dthBlck%!V*q}H z^>f5h2L_N=o)pd>fmIhiX#%xIQ>0`9{nXctK7_mFhZ0@z^`6xql67{W@IT;qgg(@h%=@meV_j`r>M zvz>8$)S^t)bQ3_G(K>X@0=SF}>>T`W)v*AQBN2s0_(4&61Rp|2N>5$EoX;i?#?whB{sA6GE?syrGSLCNKkf20 zKu3IYAPeS$OcC;4Lf}f|-Q)b#9IyjAY&6aN0vyfZW!_ZNNKngBB%PTh;LgL=2%&Os zN10&7H<;0nZIBZ69B5Y%o{yegA5j+!5Yo6B$qbbihDFqPc!qAJ`Q z7W8dU46p3E^27H~Tr7n!kr=@eKyNR<%i3qB#$vw1&qXAiZ zR)`{C^i5>s?#)F89o7Oz0i6J>d=%`J>Rc>&cP?mk5oHQC{$`ha*WB4LYUMa1G$|Aq z$zocnYKJe%>%*MGES;aJ@{y;SUg`W zl|Dc%hsy0@vBl(~tPED_lkXnBFDq_TBNA81S}_^f)u=djH%|3#-Th}hTTKR6?{v;= zn`>F!+lYKUA(dZkI8MX1#c~ypt>%}(e)*PaB`c(pgD$tLRH%opV6*Uo9$ zEul!~b^v2x!2u0#(X?~dAW5yM#T#oC${t7v-Ms<;m&>mtXJA-z$h}^-M@*FHAe<*f zldPl-RXHW1;pR8E3C=e$PpV4eUcywaAh|D=HwHfjgP`j?_xrA+GkN!au62=%%qHc! zL@r(gtd6-4{pBpBfaFt@%T7=-8hyTbw>L}C?e6j({$m0g`J|?OPEYmEYuXcIMR(Do zuNamb49#H_R!d`^MUxf1pnU~)`kbbH9vIJ5PrSR>8UP3^Z*9YR{~N}%xpY)I z3w`J|>0aqUXxjfLA2ou2(BY1Pc&F}UcIq5Y8 zr&*UzM36}YaiMvTPYWAEOk{$0PyVzRK78x_k3W9@tq(`V@ZRh0dei8ZqrG;vQJ8MH zr%rp>dO8~fmC(5I)vsiXx2s{l(D2_^tb(m)KYsq|lV{#^*QK}5>8RaHH)?|^sg(+i!bUcn8et_E$(R4B z*6uXbvfn5iyP1_cu_i}_s{7uG)@o^$2~XQ)rX}slkC&BdtLv!8+FjdBQ`3$U=n)*o zuYH1JxGZ&~nREanmwPq?YaHoJP+nq)1g^i_;XSzSixmDAE$9N-9x);Bjd70n5E-NY zEa*!Y&wT6SAOF_JKX*gbuljK-M&zP&2JbvWy1H90bu_b`+!w!kc5{+e;AK_uZmDrz zD>?)4c66}VsS{h|>Bm0(*khmm3vz(P^&o0RfZJQ$-LHSL)48eDy6F?wJa?7WE5xmc z9DFD%?|TISv=MGf7`x`ut?=C%;OCcNd_Eu@hw)hoF{eu8VZmQ#oXIJ;`ryUQQlSry zDMJ~>cmNej;)3D47f&{!uR!nO^91Lwcq{gYYpWaffR#2X$~tK=yIzb)Sg9Ds=8$sF zG76^kx6BNMkoaIqdEme>asWjYHJQ;MiNQqHA9&!|GiT17dzP9(uT)+E^Y-lfscOV_ zRHC#()M~eEsn0Ui0T<8l1XzVF=q?j)@ zUTTUXd=t~*0*u6@x7z1^t1!G(SnglQT)-2S2C&2Y!02EyZC^>)dc!P~ypR5-FtcC# z@|V8}yJ(hJd~;{5G^l@hnVXT1c?VF3h6shTD9;~gAs0+*nJqb+3QC|C1U9i;Z!+G- zj+5tFqD2rvw&j$)s0!%zM7&MJ)kG#Ha_FE=C(Q_X7Tm|Oow;27f~L5cU3R#lpvR}- z1a)G{%1d84PQk$jm)hChUkVMR#kl;YR?}h)vwE7C{M-~q>TW2xfTpnJ1pjG0HjnJ`Pu^Ey`cXleRrU+Ck zwrD$5T*psAU%gt~e{commY}ws=G6N$xck6E5q{X7=H9YdmvnyfLu59Z4#`qB5M@N6 zD=)D8@gvVYRU90=eC5uk$h)z=3M{1jOcb0$E)B{s49!Y)i{o9!O0IG-*=Nl~o zkjudUmIeTSf(^s~c${NkWME)C@c#e<15?BQcmF>!wK4!jkOAWv0J+=f1n9 zp5m?Uk73U>rY9T^sa*@Z?d6-u`k?oOtOuxJ=0c1THy5AJIa`SvxrQpS5wCCI{R_E^ z{qKwTh8DSwRO6GPzFPIn{pf6*tL^<+r#pAWechW_H;R+KMX|iJn2cwjC3J=TDSQsH zc6tu}k(~RN5S6`nrFBf9uXH`a-bn8n`YvauB`!wUYrEWvE6au0P2z~%XFY`WMJ(^X z$@AzCiN*yUr4dM7hOX~t50@we5rZ zwhNzkjrMa_yt6H2-{B+mBwpG4EW{QJ;~)2hv5WWTv*Vd>W`FDdE2Q5yz{c)TF7@~l z&o7rXC&nK74pus{;gq( zSvcYBqQtp}UqdUNNB(DUtmH}O?lsps_a_wd-zxSWWk%$m1piWesoo*-UMoii#aky> zFO9>}U&?*uI-VC?;679$Hist~Jplh4D~A9800000000000J;G(0f+&@0q_De0<;41 z1C#^O1P}zY2IvPK2Q&w$2iOQM2z&^b2@VNl3Ni|e3iu073xW&K43rGq4G0a+4mJ*| z4)_l+4{8tI5CRY?5K0id5d0A|5rPq_5#ADV5~dQ!67~}^6Mz%K6W|mg75Wxn7S0zc z7j_q@7!Vk$7~UCF8H5?u8d4h08vGk38&Vt499kTx9PAxB9e5qs9`GM8Hx4&uH`F)&I6gRDI`}(6JHR|lJf1xMJt{q7 zJ<2{VKA1k*KS)4iK(0ZGLB>KRLUuzwL(W6uL?A>uM5sk1MXE*aMi54nM+!$WN3ci= zNJ>a-NS;XMNkU1EN*qd@O9)GZOcqS4O+-zGP9jcpPn=KUP&iQVQ9M!LQWR1yQ#Mnm zR3uciRX$aCRlZi}S5#NPSUOo8Sx8yBS{_?UTfST_T@GDnU9?^VUlw0rU-DpVV8UTk zVZ>r8VrXKtV&-G2WPW6-WY%XQXQXHlXijL>X#Qy+X?|(&YG!JPYt(EAY%FYyY`|?Q zZw_x#a0YNXaH??(aVl|Eal&+jb<}nUcDi=>cT{)Gcqn@0dv1Had>(w%eIR{Qeg=M= ze*k|df69OafOLS6fV_bAfg*vrf=YsbgKmUmgxrO6g_4EhhEj*Nh!luuh~SAPiJpoc zie!rPizJJji~@`(j82TujV6tXjp&aOk7AHYkaUo+kkFBMk{Xk+lpd87m1LF`mJrDmm^r#h(C zsO+g6sZOb!skW+Os~)RdtKO`@tt72xt;nu4u86L>uMV$bue`7lu&%L8v81v3vWT-{ zv*xr=wA!_Hwh*>Fw&1tixPZG7zjVMHz-+-d!gRwp#N5Rk#bCvl#puRf#?Hq=$Lh!) z$cD(W$mq!~$^6Px&Fapk(ni$0)fCm1)+pJ|+3?)R-0IyP-Gts6-iF@*-#*{K;N0O3 z;dbHb;u7MHI~{=>cr~+>!|Ev?k?_p?=tVi@ILT_ z@aFN7@&NL3^0@O>^U44Kc${NkWME)C!|cPL&Hw^TK+Fh)3=9rnJ_7(F6ak3qROc@s_d3v&YvPcUzx=Cw#&cq=s9 zvz=5d5aA88gE~GjyLgFj%pM{UFfZYi_`tl3Jx4IF;+->KUW4!aU|z>l_Yw03>Tb-u ziO7A=+@PHA%v-2?+c<Qv>CoVn@T*qIjy=Zti3Gr}dqnTzhVi(@)PRfko%6SVAq$f&HgJ_>u@ zeixF|e{36&6i;l%OjHsp8WWsTjv-e#9w%~|oV2vels2+ZMI|WHSmjbDMp7HnC^b1x z4P{qH*^rc`pVOmp#y*F0K7A{nQMxgOj(WW_ayFbf^JA6$%XZ(sy^A=v_Z_5#_52HR zhywutc${@t1(fT^mHqG8mbtq>%uIe@Cd^7E1IdJ$nHfq_S*o_A(yuDnR)?9HnVFdx zcQ;E}-YhdSQ}&i@cRKt3_UWSnO9ij)yZ6>HKGy#I=!eHnA3Mh%ecwNhF)?+hOFasx zPXij#h{iObDecfM?a^^MK_}@Hok!=>1#~4kO;@I?&{gSbbRk_tSEp;xHR)P(ZMqI! zm##=|*&83h5?vQ@WULMwif~bQxVvH$V0Rx&>W9x1?Lqt?4#&Te=^gen&eSkhlAEFP_N9d#UG5R=tf<8%~qEFLj=(F@W z`aFGszDQr9FVk1(tMoPcI(>t_N#CMx(|72*^ga41`f2(Z`abx|3d#t|3?2#|3Uvr|3&{z|3g1w4*=#4ce%#__j$lW9`Tqb zJmnqU+<#Z`g{Yv zA>W8^%pu=|Z^{?*&G-_&lrQ7U`R05JzJhPbx8hs#ZTPl)JH9>Nf$zw7;yd$Q_^y06 zzB}K8@5%S#dmp=q@5A@y`|k7!Vl$#@x%EM{78NjKbjxIkLAblGgiFMbI!Tok~LR+h7DVGT=RmLyyAur_=)@^elkCWpUO|;r}H!Tnfxq% zHa~}-%g^KI^9%Te{33oazl2}PFXNZW_>KG~elx#?-^y>} zxAQyro%}9-H@}D9%kSg&^9T5Y{2~4@e}q5EALEbnC-{^6DgHEnhCj=n24{ z{xW}szsg_Zuk$zfoBS>QHh+h|%ir6bDI;fk6-Guctu#HANRbZ<6&oGpIz3(~nS_<9 zqzUbrS{T`@OXZqzB2?ZK+9_S`snR-;8c}RtDbz}uzRh%{W=)Vtc_7VLCaDZ_nTog> zrCO)C3@g!eO>JG^)ZFR$pe}8d3!9DNT-V7g$5{QeR(T?mZl)G;pvqEPJ#&M0%3LQq zI(E9MZJ5X^*G(Vmj2b70bs1;EIGLPW3KwUED8oWy;o7J&?Jjjv@3^IM?r>YXGZD*3 z>-nZV$W=L)i7Kb5a#3BO; zsLIi1Hj%ra5UV&TdzmZp%e%3)mv$l-_ZwZiI+EQLHZt~)?aC6Pt4ObQ5SVx#>V-73 zTrY=*hZD?l70*paB;_ztE~?|XMC9ut%FT3LY=>H^G65X=qQsyo>0yEOYLFNeMNuw$ zcHUHSG}Ek_KiBw_?X*Y|LE1XW5%E>|%Qg2aX zbNn`3YLiq5pAB>+OHAH~OzU7BF$|a_%1zhBHo&%By{s!;hOshnF2_f@h6(15m9A|! zQE56og6OK+InwemPfT5jJlNN|$VESrSY|ADHs#?$ofO5SeQqOWE2P4#86|R|MCky% zk=1pXv_S4Iu=jqffl*lw_U%k13BqV(B=bNP6;jZj`(~^Ts^biyz>-S2v{NTBcj>}5 zq(NWOF2|&DsM1D&wr%$h-=00NBD7VoQ4+j8>v- z?6KnC5QSU~QLabuHR}vQ6CfwuteCEg?Ut2ZW!k!-Kgc{+){UaNv8al~?!>w*W$X|R znd@qhAgN=Zb}-Wh2P0)am!hodDDWTHW@0mCoK`5Gt2E+xyVDZiVXe6~(gX;n6S{Z##TQqrKosIY zgBNstaL`|8&|(<*J%dV&20Whc}Am1%?vYOy9@as}qETL1| zXi^yvW9-7LF5Lhm-l8|KF%mz)47GGxyKH<|3nNc|xrj!~Dv~MK89-WA7`L#2EEmd% zUg}ZWZ=Ycr;J^~8r|V)%wYC%$2*K@aD`D!9wR_myg!0F^I!3^N1W*MetI@#a&}Fia z%Hn{Ikn6+;W4pxw6oee?ovF1EJ2NBw0b^CMD5`;zkS4I?AOh+6o-SI8u5`BPsv?Q{ zXvy3(0}t336OL_-g;aV8*kJpIM^#Aa>T2)k#GYApMI3|F6i6xbr!zpiZlw%Z!Vn_g z5wn@fm2k4%N?+uuMia;Fd#6Y<(`=DB1o)Ahm~eVn3zfD#w4@mc+Z2TaQ0IM7Cw|Vp z@Vq2f9kH}v|3XLmNY6fWz~@gFWix6a6iH*6zL)+~n&GAlqrIpGP&Ek4=MRK+ zf&i}7+QuT^Rtt#Oq^oBAW~```n1RETLFQ6%900Rh|ucsX-EU(>kwC91(-9fdE}%-Y^5<19O>n`@-}Q z46j3hay7Jeye`60JK5itPlFL`PfGhYxhG1Fou~-f~s*DMgSd#KHi?9yumPV6VRCiKUkeZqtlUTiQ02c-&Z}2 z**MG9YHWd=I0GnDIe|}JC}gwuGJUJONUlb$dkHfL9n63fb5V`(LbLXETeHv+VLuXMgcDHJ|wJ*!8i0$5?&k9?)g`tFb3>xI3T%B4M;aZ5=Si%nozcz0U zCf+M-8=YC+bp2^|v{mplB6br|!<0kO{57C!A&9+2E%&{j1fGQnJQ+FNlW+p&_)jn; zJb&sn1@l7Sz<&X@Di$JGJCVV<2yM?bmA-VemO{UbY3pCMt%2uIBkLlVYlFFm2x#FU zYj!sNc@vBwOfg(D%n&XZmF-knH9S)zQ({qhw<(fBcK5M>qec<&Jo$e;LKrn?_m%Pa z=jaP%ea`Ov>Kr2^XZKaf1?TAVEOhp;Mj{2z9>R*#=ja0rkOUY0zrVDSdiETx1wHSq zZru5FS4N`ggJB|J<-j{no%l=)LGNCGU{ThIl|uH0K1bTz**zlfYj&;k7{>827_zJc&fbe#t3tHN6{A&V#u~p#%t&nd1Uhc1sCOKgd*82bkZd9tH_L zku}n((;@~|ZA+UL$qISILJ);y8hbK@B8NtUPc{-8MzYam(t#^KHS@O=+aTdon!#{^ zKJ5e^xokq52O@E5sSc19Hq^7wPa1odHFg>JEc9n&$8D}l_ySx8p%oj_9kzDeBIqY$ zQG$^C)mwP7faRYB-Zp4Ef{xDMB5|?lBw0SdTh=eV=fl4W@N63@EyO^reMW%_OgCoe z?!#9i?4YPzHWPzSTi1f@^!Gz#XJA_v_g63z!v{&(wKWVw9f33JPF>k0@g0wyS@P~G^SNlf8m1V8o{|q3#E@i3aW`z01HzU~W9=L$3+_sadW;KHScYK8RCeGwdl(fLV7pY% PTwI$BE<67V$F61&bYTzk literal 0 HcmV?d00001 diff --git a/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/@fortawesome/fontawesome-free/webfonts/fa-brands-400.woff2 b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/@fortawesome/fontawesome-free/webfonts/fa-brands-400.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..2acd92d78fcbf7794e5c03f3b580f60b9305c8dc GIT binary patch literal 78472 zcmV(`K-0f>Pew8T0RR910WydH4FCWD0u@960WvNDONF5T00000000000000000000 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

    GeiDTd z5fCX=JLs9;Z7ur|kYw9uFDyQM`6I;Ag{{fx^rxaz=t!FrnCj?zsecV(rGl8We5I@B zd$IZ;01BS3-8(p&$?b;%ibHjAf~Gd-RPR)_rERT?|7()+srmy;QpZUM#0IDk7ylB4 zbB)YHg)+=srWSL3DR|L}WZR0(y9{CmR^Kr4rEc<4mj$qGa7{C#g_32*=bDr6PeCsu zVu;q+^M+JOA|WPVRB3%-TV(1tO-IzLorK8fX*JLA>x1*lXQziCdqgN(CHQl9^`!UB z$?SO~Nq!_%;-a;ovDjlNfX((l3-LhL`0WOAG!_or(VMPJ|D^xS{fP7^v+ENI#PVp5 zon@3K4VZvPiwZ&^C7Xy@1Vey1%vB*yc#(*6PX<|Fh>!wc*5!|ln{*dFblJd^&%H8;TKXt*&Oz zjm~i0wHAFG>L{VSx*S*9*W@1-!a2Ra>&YUod@KsnaCc~?cXh&bTQoRcI2~sPPBe@? zLRxQ*Dm6;GD&F#?SReXP0w z##bZ)^vRcBCTZ|%wo z?W>co{u8XOVOzEo0RmC)n7l9k<4;&0J->_SLg|O+9fsek50z+q6?QtG)%K5essH73 zdCezd3=&QWf4p&wu(56ci3xX{r==l&2`(QIH=BmgA{bzRS(1sz!2m~$M>RL0>HBAHq$YToO?e?6uoN{n_IKIDgrnFwZxGA1V7Y_a51y88D6<*@S{*37X zLwIu!j!4pQ+PFO-QzOuWtL%(FYSMfgYV%`Rn4*!0Z*k23lLlGjLR>HHe2=Yki!`B( zegO^$6=Ubbs;Zpl)WO(jmY`Q$9gCqBRl|$Q3^4r*$>Qs4by?KTp?hyVIQrzxm8n9-lG*0ByzJJA;H~>Qt#5KS zW4f)I+@39v1j1#kS(8&q(AfUOx$)UE^Omd7CrmqHX)UGM0j9Qv?c^gK0Na~Q{@_01 zI!THOq$Lb~ZOoyC)%wYM7xO>)@<>xmQ~Vc9vqqpxr(6j zySZ)cMAdT1cn_D6f7H(wRhZ1tDD?42ExlBf5=JWKVM6GYR_)D3Qf%kFESmbEpW}hT zut8Soq;4j4a+!8N(1-Q2)IK`N(Z;>XJuO$s9${*F8tvk$8iCr}6r_hG+oU(Srj7nF zNndE#ZX0WTwVCFTw$1?US(UlnniOI}io1+>mK)bj#90Bxlmr=#?%nR*mb5g003kLk zwGTT!%mdZ|d^l5CnkzIdN@ih$J6W9C3Kw1Fzg ztm(v9)Hy~p^O77+2;pd0c2~K4#8a%U(MKYQIRi;yrf<9v8Wf*h z%1QQS@LhYbebx3}ZpjUL4i&0{6Ww=(dHRdj?PJ?!;{7Uk)*`>)8gw)Hjw>AG7R{F} z|MdK@Z#r&sKxbbq0_5!Q+xh*IxBG+Rz-Eh_y(y`+4MVCQEY2I<7Xpkf)r!;ivGTi+5JZ-MLn-P@6v$fgr}o3|dYyE}o|l`qCT`zgP4WX#)FuOA)# zLU{3FymBxf^8DGu&Mk-l);La&PF?_mT3yKU8n$pp{wpPqcXf3Vio z(uxk&MKOm-E8QWw$Bm}JK7k~Jsm6u$hqA3xh-4|#sP}qE6XmMiggyxqi_`iTaIA7W z?0ms``n6+niC#Yz#-wwi?cj#vA|U9VypOd;4S+2xa|d5A$_PtNjMPL02%JoiG51{2 zl=~AG@&^hr;|pmWjUX3LG@mVWc>s={D(`dVDi zw#T`r84)W?^z15`J!{NxW1vYo_VoxkJ;lb3a(sf1aZS`nXQ`BG4v#i1vDlz|=pZaQ zK>!SEp&bVh;fu+S4GH=L+#un-v?K^&o`Fsk0N4T|K$w8FKvW_iCKnls5bI*xAaZU2 zBJhO_j(`^>1S4cZ00_9bF!UA3USy;Q#8w?F$r;m51tH-D1-fiY92Afzl6EzK_ ztaXL?2<-^O`-&y`2z5wS8lC^}7cMkq-QaJz#;z?0V> zUIj4h9|+&yd&Cj20rC;FxvU0DbICO^09+pI!JolxCw1n;M(41tJzvNqe%%2bcpoz{ z=rl|KDnQl0IUrKGG1RHBQb#G6Rku!|A{9(iip2z!sbL@>si9Qy$L&mEadVg7ytfv`!?=13Z#-sJ8m#gv@kQq#$*Ar`->qRhBi z)Y7+>vdK8hUDeG+Mo4=W$!c41frP>!fJOyabR?{~NZkVY1;7}J0z2FLIxj^qs*VTU zMTl8Nb_RUSP0inGuHRC5x7e9Y@CGqLP|QeTyW|!;fF|>0-aPDPB<}iXGJ>??SM!-8 z1q{uJ3lt@+Z( zZbx^DH17`$3{qM|IU;m&g*i4i&HW%CfAYRly7oB%87?;=dmTHw21qRe8(%?(lu z2`QaIn#d<~e^ke9mWv7!14~+c(K=2}8V=Lcn8ySrRp$KJi|RmNIq|!Kmao95gV5_l zetb5o^pU@i{uU79quGQ==J+8P=RhR1UrIABq|@s!h7S$4I}exc$gZocsDFu+%#0p@ zxh({VwK~XSf+T+5AVL_KsZN~f=sZ{p>k3}qJp`hJQa7!Y0xlUf;yvapXgew2oE# z2FWp@DSJ~$wWpM_PKtZABV6Uen7i%qo}mfXAq-y#0h}5Vtc}*RwDA@l=5OE)yZ|dB zVipT==HY@#NaM8VR`Zz(malbI=F)}tp3^N3u3Oyn?JC(CnXRgMPV)=5H@da8`Fq4) z<@;gosv>m)bi?Tw$Tl3THpD`!w>zX}-S4S*X04K_SkWAiSeVRYLtfAef)#}dYYi>KA{0G~XU5JDaHWRa zaSR(1+p(0bGo>8%KTRA7dt5M;mra9=wsBqnWMz>A$t1E!(c;D5^n{XGFzAR#Z5N3- zuN&ZHOx6z@yn5@ZktBnXfY|-7d67`!@Gv>t)hXBT9)(sj?Q*P>_^m_;2bQ&d#5_%= z5bjk`^Vx~xAo%z+0P83M zyBdj8`*dp}g;0tMAm`j-uHt9>@1j-DFfJoj%C_mX;lfmqG0j$<+}NY@oU~vVwl_kQ zXgqJPuRWp{yW(ES^Ikxi|6=Ca9tkXB?)hb`tspai!N|3)vXZiAA0a-A7Q@CV%fwns zbC$oFle<3ubdwIw?4Opq6VnB~jfwNEcR65dwsK%RB>PY(`tyW|UwF@3NB>!pmj$_b zpn2r@cZcfHlY&umRnM$QWcp~xhEpehAD_%$R1nQ}qUrV?YfWEE$-H?4?*|cn&r!bp z`~Sosq3Y{*WP>ec!etIoBhz$TWBb#6@=0nit#)3T0eLwscJ6n4r&q(N`u9>u(LoXj z4_ewWUPm_xA(4=wgaX205z4p`XG)#IC`A{Ff1JS;ta!wmF>lW~+C;ajhH>*Ltg9|PDjtd6=>w^Fsd!#vw{ zDiImET4hDSo%Aw+OKZp$^?kKJVGgY-FGXZJ9>Uig5nL$Uj|Fi(Se9jc03A|)s5CG7 zqgN%F6W?_g$kRpiHZ`O$2|~@_NURh4B1g;(!^Y_V`R%Iszpz*_gqG7S&QHocsC?9X z{zJkM6b&y(h0Bdya@$CNxd+Jo6PS_g706l`t{3#7oSp|3-jtvIJ43#gws34vF87TaXCJjuDEVJ`03#8x=I*6 zUHrJifEVrB=3P}JxkHCIK$?dm=HA*QChRdDtI!uF9%zn*%9iNEmcHHYZo8u=S$wgB zJFKW{2JOCP_}+;oG~&^uuWhJ}%BS4~4?8G?rA$E>543+U*qB+!8C0lxrsWbkuq=dG z{sm~|MI=k&rJyweP|5f>2xRnb(qK+#hwz@6A#fiWGjMDdkfbq0jv5W-^y4!{EK)a$ ztYPH9%muDR>sZ_rIQCF72}@TgYs|2QZ8BtWLXw8vyynErkf^k#Mn({HjhI9V14PgX zpPCG02)PxaS{by+^N!S3+t$OHFIN>Z@D})1D^*o^FI&a&vCqDN z@Tj%Q)0>{>ej`YWJ9~6woqD`i8qL>{i)e{RFBbVVWpEAzz&YR!krDjhZZTl)%geCaSqHJz(tm% z5|S;uxYYRxu%Y*G9Z+eXYKmR*UK^fh@^d|Q?bQ`s7PszZag;oEPGnFOW-4gz@F;7s zeO0(HgBy5c9xoos(g<8BjR%8jzE;D~5f=VnY&5LwW_)t9490(S{1JR>{#QzoWsvuW z>(U22t%-tr;JvhS@bdos53?v0B8V*;cHE$ID?1o=lDy;+-~2UK?mq6nhQYZ}BE+w; zt8)Wy<--y&^URG+3f^Yr1WZiQN+p~#`k9X`-`QXS1#e?Yc}Teqm$Y+g;HXx%9^^%m zo;T@I9Wo_YR>tQcwg!%Vk>IQwf9=&`m2ia7#_94lWS5tRsmO4#5`6^0 zjwc8{SA890IIFZS`afm+8`iO*B+aGa!*?g^>7pM^O;;o#22=i;-g^w}|EPR4=C1ZU zpmITlbry`9MIC)Rf68B|roN>6odX}(&IzslA`nxE+pNnzONY0j+@gDEXU`Vmo^)Wa z7jIAOn9yJcTgN#3Z~N0B09WO$0t`<}OWzqUT&hWO$Z}3>mE#S!^jqkV zIVd!d8fX=XdG6qW76MU!8m;Ld}h)ph5tx{Kwh4@avbZZ%svp0l!7tr5epz|1vc)S5)I zobeAPy%RIiam`)kx+7Ol{Mk{^^v*4XcMF*6f!6oH51qzNYvB3sDN}w%5!8)|cb|=W zht_|Bcvmxr#;Vrg#{9JW+E3rXn?VwVgKARp@Ete8tSL#Yr-o{-)s5rsHUjYj{qR^K zYGVzb9?@**@FCk`=CkWpQ+1e5vGQ~7Z_?;l6#D-zXo64DK*Xs3#6EV_%kMxvHX{q^ z%4Ol~O|Z!2rVcM*r7y7QsHOBzp*cK@%ugGN0Fx9PzCnK{pf^Wj+R~WoKuw<}lq8QS z1}ic5qoNYkd%C+&8k%+NW5`XEA zKn~&Z0wJ z`^CP0j(FVk{vv9|^^EqK#~t_Bbywf28vHv@LB@r<0ajyK z;0P*Qf(7j;(pP-#60kH!sBix@$;7>5sV5hz9C0G<_)(u}Kgim18tq05afbEnIP=2k zo5RSNiZBiyZ5=+^LfdwCiU-DWr$6uUV=DLjnMT{!t`rdP^Sk=_H!jtncdjM=!Ht1e zKH3wm;f$@w2{f{Y^i?|+_u;^YpALHWYA^fdMfvrMXV~cLG1xSZ;%N{;kq!yVVVrn) zWy9+bv@RMStf*oX2-1XF>+F__gHpKX0CUfyVxTUN6#4YyP$^I(2CD-_Vh1T! z+z!X`w4@S;7f;WyE?eqJa9n|rIs&@M0!<`>MT}BL6jWLJw}HBAJGcMnn{udNUR25k zUQMzg#Ng%o35n;jc~zN8#?{MOSE8H5P&FY?9YCYa<+9k_$y3yWy%dM9dqahv$!m0Nm}SZEJt0(l#vay^L5`oAN_?+O}!k?IH}@XT=`JjKBe!v2K7 z;Y&#Y_A_UpyS7j&fY*B+!i0@UGmDJa_beUbyX8u=rs7Myo%o#?CIjsCN2hGds<8U6 zuDRC7CD&1%H!?X>o#rI;NpybeKO-!YF8kBMLE{SR7B`{QEvB5Uq)=ofnr4NJ6o`iB zZpoI6l~gqor=?ZuhIVK#EJW6U1lS>_EC<9}#FgiuL(EvNxdB2DolF(I2zGV=NE;|* z5i9Rm$soMWukimaa%AnSIRbEL+XS7EGXnxn2^))wwA$5?(@Z?iYRfv!Nn&r>g6?Cz zTLw~X>Iz286Bfw9RheeTykQF|GNh{l5w&)}+mALf!UvxNKAlyW>zS1%WR4{uR>7X} z>sv*qd;{y$+E=><-ye!hcxyP(N#bKtHx!#yoVr09l7A@H;6B*<-X}Js))ASpGDIu% zeSRTN#S?rDRDKnrXzvK~Gh~=Q%}7G|`~F5^d}>XcMA|C)S={G(5KV>p?pgyY_{H2Y z!diC3&&udE#U!=_Gzj%?~m}HgQH|HTMC)k4f%bU)uMEG z^OI~Zg53b(h!dd72fw2&K+7Lk>btD#z@R~^B^__Juqh+HF~;IpwcPGpu2zt|CPcl) zZY=BKT{4aQ#z|)DhqAr5i`X9^GB>AyuAD&rV6bLWMaH5zcnR!R`oQ9uQgLv~tAyK z(bnf=NRhCiwmR*6d(zGSlW!V1Fz@q5VPr@31%Nb*-G$vV#Hm*2CIgLOy>hDGykKGE z-Bpd3k9P<{=o^2b@%Ao*>?g`oHH;!Ago!G!3(8SPHZFlI`p2y|u)O{HCu z(mQ9`nXGj(9g@}kQ@aet%O8fcPtqW$+g6&RqcOBk38~bn4T7*B&fL)QJiu$qgo3rg zi$DeaAx7v80t;b8^JlAXmPe&Xa1h9Q+l1@k4aUOAKrQNwXsysPs32e@$BFc8jv4VC zyLli^Cu+Gx%7|#Ao64*_w$fw?GLEC8)TO+TFj&KseJ&iRJmJslO8%!WvyeNY{%&!j?d$^ z7M&W!N6LRg=x9S^v&)3H6v63XNcQe@j<4+w{Ga%@aPmDq5Ale|L z7eKPqr+cSQ-7vKF986mYR@!ljJu0&a2nC1c+!}s*eeORdYC<=)f)n=U`@lq* zN4j%@ZlGWKphBvM0aAU&j)$>rGbJAnlmdSrz^JU^Hu$=0^!xMjsKT=~>zftBR*7m@ zxY@~t+kVgU&N*T@b5>Wf@TjxZ~MV+L_q=C~@k#x)-t|=@k_56&TrIot;N9D>syd=;Zf05=oV<6(4w%a^wh(7Ty2r8jw@xvf{JXZn)AaO_ z#Rl*ucSEKHy+;dkfQ1)U-NRUsjH_4s%95AQq%;A(KpjkE`l_*aiqM ziIPUTNs1@njUUiQ1D7ZO)8-I6qicmgkWNT#fNxWwTL1w*rL^Q3XRbxEYCz~6LxkkO zit#z_TD-2LG9Lw9U>$})#4xUtxM(u#2}nnzg@$-c-!x?eGuDof|9KmLFyGkwA&y;k zNJXS*Ibs6k@-h-|JPp$vPa+uZg`)Raa4r;_<(c2`m`k+bN<;{;of8T3cLK~EB%o(<=GBe?=7~gs2?pg+2LouqD%+8jYqXQF0yEIr9rRKehXW`@Nirrqy^F`QxHqSW> zv^LoBauht})vYoSEw&93^G~}tOYL#~s2JzATNA@-Z&Fi5aw6y;wOMl*5HPnVk&fAr zvs0~Wuf{Z)8>IZ@hy~hcWNGrd{MkIqM2ijRtsx#SS1WIDZQe1?>fcYky!pISN=U>P zY#5_w)C<#Y*{g>-I0CHJeJWTvdcE9xebVvpCUloS6S^`I!cYg(7^X&$-%~>j>#t(Z zi^xk`aV6F3uqrFPVWB^LvHwd0&)yPWgc49Ug)pxNIm7` zJ5})M*FQtQ-a6F@{)F`*4=ZkMVS&Rr6ll_;(~o6xUASoZ^Ut(3$jj1LxRj{MCC>J_ zh%3QQSmkqSwX->k<(fua`%+K>1j;B5_KC|`<$6gC&BA(&75cZc0iab$zEI{{*YQ3F zM;a6o8qfzOC#D>DF`Y!Rtsd)>7{cQZ@@_r;qWz>17+bIo@Et7J4=*K@v`l^?h=esr zV}YGUAOIcB74NgdG%DS>$A&Q60FO)s!@alhp+Js2lO*l+f}|i~-r<|MBWX)<=6gDJ z$bWM{@PveA4j(TI3nI%vn;M>u=xDfBuw7zjkM2@cgA{OW>p(h*gbl)efM6rA@&rva zq2mROR}IW@PN=N-{s)Mp362>mf*%^u_Wt^^tm|&PcN8dqMw-z%U+^T@zxggkB`DOg zn_>+B+oR@`*_mYj%zMc0%${;e$ z5V^L|w59al+9s*O?|=d@Qo04f6lic|^_3yBFZ!_8-*;ze?l^RJUp(6AS#D?0KWr?# z(kV?j@0m5qridT{={?4LR*?fmdiNI)u$plqI2^hRtei0Xle@6^Tz2Xa-TR52eQ}N* zxYgd8w8ZgVPZrdYG#fgzu)Vf-4IT}%QVh&qAfWBLtCjZZ%{Wmm7CRHEV6FX@Zd}-t z8w?A5OEGGOn4`P45G>^iw~u$(+5wp>s=^)a=exp#w7nRqE4-qWoz;wx{ zXF72v{IY9&;_O2NFXcY9xdomD z`3oMn{u~IGF3C;j&e~8v^0302{@0UN+&_&n?lHFAe|&S|9dKppM|D^h*=F!eU>#3vvTwW?z&)fEsM~?5#+RvOlx$@0gmGOE5 zQF;5K`R>-7kZFP}tbxC!S zRYb9c(+iua;6-m}?ah!8m(myL>91i3nFc44*Q(u|nV#RodJk>W3qt9wk(7AqO*=B4 zXtQJ5G1B&UR5nIq0@Ula4G7t++wD?>ay%=g>Q9L6{fFzzs`bwB!GptHcI(U37<{+8 zSC-m)Zw9#hkA_ztYOnWrrvvYbymbeQ1vQ%9xnq~FoIdjZpaFut_1N)C7mp2Cpu11* zU$?WqzxVRfXOHp2=PxVMu=nB~O3_OxpTP+?+YuXI>{Zx60|O6d?Ig%{tZ9$UmMlSl z8EQfl-lsJJ8H1QtDGCdW7Jys^z&L)_Cb)_w)tnPU5cD0|!-0DiGZjX$ z0Gb34XNxAF;wlK$z@-lv1}J$s$F(unXiy-ikwkQ;92wRh(8g$pnXKzEMdIv?299Yx z0xK`&TO`%PH!|l<&iTa+b6ip^*>ZoN3T*%YI7|{J_*zwSyXe@6=g)pT9!Ap#H+1mi zo89wSwX?I>v6L(wpKNL@swvX5-ojifcaBIRlx8bHdrpe*H|pWc*Js^5S>L7EiRf#~lD&^c@*obIcd;|`rXTF@2 zJLX|+Hg%+Cmfoke(V1TLt~JYNJj+Q1oZ)r5mGuc?3RQ(&Ss*aGJPMu3A574d&YYrD6Xxvf zkQ-U_g9uorNKXzWuLOQk$gTyj_8|dPB@$LBNq$1Z#AQhgYm(q>POkDE7epSO{4V8- zq`2BjKEA807$jCmym&n*_6#XTS%NMV5KH)v;M6v+X_P;*S=<>c(&`&J(W;8ci9N}% z2BNPJ6w829hCVKpL7l+_XO-HAOoZ78XYx^v0P7_DzzP zfUF*FUQtAxHM+3;fmAVE%IZ$hW%*1`qe}+`czbwE?y7~KH(vk1d_HZI`>x6VIN0y# zh@u0YeV6KGg3H?Mb6Z9KknP`B;-*o?+*`YVH&;s7=5{7W z7y+aTsVo~})N<4s&3m0=OCxjBq*BfpHG)Q5>Y2vaOz<%E-r4HWU{uV{krrO;Pw4yF zRLyhzgkzYKMeiiNU@_Z!XqzYZw~+>W>s60w9v_PdF`k^&91nFyO2+OW+b7bd9MTJQ3WSQ1BMrx^8Lg8s zSWaXf0^hE)gqwx9RDZ44p53Y~>fwBX6+vsG-g|!gHZ@$;F==(ieETI)z8JT-LhKZf z4s|p3Z9qhyRdw#8<8_;ETRn4Oh)B$BN}*M1!dIs0#m?mj-u(H_9d@01+n1#tr4Rvx zO@~;@Sz1Cu;ja*iVoa!yPy~ZJM8kb_Gt$2bp^K-MskK*{*wKe597`SInSe4QsayD@%}6I=0jBN_If>WSKYn;`p1tqLsDAkefSG-)=*#|67^07ztLv-C$GCn ze_DSRly3_IM!$Zlj3Y?1+l|%)(jqPEKzxl$p4~|A(q_!HgT-Vn-3;hPpsZx&dmX6n zm<b?Y~~g3Hy}5&=QwuYABO4;f(VbICtJ! zzq-|2f-hT`10SjLRTz?=l~VTToJ$9nx~G#6q9CbD`t^(U>g%TvurvH`pq*&g_-=4h zD-5J7N~Z7Rp0i0~j1Vrj2>~=m)?8Z-KD^#JDWZQoxeo&(E3b!?cQplEo~+`jUi9)7 z?J4*ou`TgW@ zOTPqaleo6s86*DbYeYBwZg;mRoQs`yy|&ZM_zH-hq-T3U@PcN^jE~Iv4BM{`WP^FE zu?WwtuL3~&Hw&Ghsaft+_4|uMUqxm0=)nslyLs<9j91sCn{gjeBrm3O0yzP~I9uq8 zt?c#9KdBC!D@FR4$hQWxWF_vqCVqtc2aCIe{>5lS(sX=DQV4>sEIq54`1=Y8-An^_ zRYd;GmFs3gXvA?S5fQ;FFm6K&oOf*uKLtp*wMhh4qy!rntQ5y!B5=Fm-T%Cjz*Zc> z{EwsmZ(sL+ES~daA~DVsAFL4UqfG`Bm9Jxs!llPcg3J66J-#eRYSVg*%T!v?y8LP| z(8X!%K^9Lfy1+!coAKlk2@8xfneGxgz2YC->f_Ldo|D+XW_wwyUN>XMwr$~3am6Qi z+AR0ng=BmTYC(crP84Lsu$`);c_L1BG5Ya-fM2KfbC&ecdB|8tEr&OF=s$Bt!(6ta zJrw8;zO-&>dPx*lN_LdejtLdLIj5Z-bE#E##)z{$wdF8DWJn292nC0px*#Mr3m9M|F~iqOwcs9VcqOe7q$*gryMaAaXTy>U z8;PqL0@*hLRP0ccOivIv>~X?_(*28W#;$-V>Q*}pB|&8`QOeE9KW9KB%{i}36O+7i z?Y_BJu(D`Jxu^|4TVM?uxPp)6`sI_$(^|LR0&UnBjcCeFa!Vn{#>E^Z4Ao$dnA=8= zfSBx`S~SZSC(ML83#X5%4!Ydnf>?LFbs!04_aN;ghB2w+7WK|KJMwZ(f8 z1wlfXUv^=jgosR)8IT26Ns=_?7JZ-S0bBJa{bZ~Xgd&VQkja|lBW;t zFcBU2qAAP*86x*6bKY!B&CHH45+OZTB@(&kTI*#lBf{mtDsf?&BrE~mYLI>#L{ zO>A31RI)H#zTGMaV{|$PA{jAEpPag{0*Lcn*f$F+j@l`4h$nAU?7Q8s#+LjwkQQ|Aj?5NJ6MrQfo}^UZn0X)&F6 zVq<`C%H|2x5{^SmlBBf?dn0xFQ(`6N-RcXz3W6q=B9GYD^6IXJXV~;))oWHjsO#8ZPui3p+D+!km~?4tj|< zBsF-Fxs{9Ou0o{-FAl~pvkPX@n52aqz<6hZd|Xe< z0IYDOX=~GQ=xEjz`xIlxGYY+8(+o4ha)BIB`Q%f|F% zE?^Q?)rar`(Ev~+f;@*`QrjR}Cr{Zq&O);9V1P1rMGI$djGtJ#qha;`EK8LQdB-yJ&?% z@910p6;&I^^G80n6zpjo?q{x>w)M2_w)th)<_*2OYMc3~ayj&4jx`6lLLaVByDZx_ z|Lm6GhHUI?e=s(w#E3&SoVa{{h_Y@kHjuWTRaL{~FioBJ0)C~PoOWbb2_2leHq4Pq zs`V{mTj^U?<>FfqBgs2;3oj;@)6o);$ML;F{OfXMCRt>XdsWQdz;`mOS9h>3i}O)g zj59!pW%+WVQ?_{p3N8_icImYTs(mBLI#H9m{chj;XO}`H7Dv328Jz0oM2&XJm~6S1 z|NSQvmqwFmj=34}*tKg>w$aB$+gv_KC*z#w>sawH9<+@DGmDQpp!H!qDz#+SB@?>h zbC>!h{~tMIeI)Xew8J{0b8mSBgrAq>CCS#fA-7Oqj` z``?Ceoa;+bGMG3UgU0het=|i8J|;kq#my5oRErqQrAG*=45})ErAxpf^B{N_souc2 zhCHVMnG6ll<0$8FcsIIzIWn=na?}r2-UvVn)%+nD2fcy3SX zVGI!ph)8!*x>HIh*EB4Vy}~PWONl28nShEBhQIpQulm)gi@4jf?3%Wp`1u0__mc|% zeu`&vBwJLX_On0g{32fE^`}?C-a@h#TozoKhZrs`0qJ>s>uof*fNr^&Z@`p=z-IlE zZ#N|S1XyxN(vKIu0n*S6$O#2|hXpyW`8%`cy*T@01wXa)W1{&x^V7t_FB1=iS1LX} z^{pYQ?L6Em+_r2io$?G>GO*6o7 zn3JziN!)(PSNvZHUWg~(%oh(ih|iO6NjO1~JBQIMtFDnlc(%G>h?*eg9xP9TAjSyPJm1=ShCcdSt@gmB zK-YXTFqm6i?%hLJwRM-wm#?pn-%SW=bmCh7$Fk|ZQ&V@_5WM=nRzBL(J+pfF#p@}a zZ7dc_-PP)1tdmOfZ^P;vPn)7&ONgw_xMB4{Cf>%j(I#BIQdVfUm$L4IBkcvvmG%xR zObtzp5$H}yt4d@Ymp#m8mVFMmrA|p}|BB932h7b+bFfCSEbcTPoebdIW_9ZIVKSy}}?4gaQwGiGM&3ecI(Sp+D4JD4SDk z6AMz&M2UhRro=uxK+pvAt8s0(pTG-SHs)J7BKh1- zzzdu{Mew`H+V$<5N4w|8`+?qK`E*dO3bGD;=_T8Z^diU>xI7DUgzYvgJ9ZcmiAR!I zBS5&M`js-G8JScV=h}VtuH*@TdT;px!SmMfTs)06o8Kcp)+0rkHcGE>LmXYh&6XxJ z{mqzXx0}XfHl9L0i9cL(m*+=f`N8RtG2iShFX=8$2tr%O=T9f}9$r`t;UaIO>~WRB zxa`Y@H5YsnX|3;`k9I^`vT>>d>=Ybeik>yzEkGRfq{ZvQV!jjijz>G~X>MWchPRQv ze3{**AKQ&5ha;H``*CtYtPQqKQmUnKBF0tzz3YO4jy4mA%&36qA6%J!Y%}=jN1q)) z|LU#nRaqWx9eQ>y?m4}2g%{iKxd-R-&E8JenXQC-V$ExAuOa=k*3_`IY;M+-qX%W@ zyji+sQ9v8vlTm$!m|whmyL+^Cp?@lKH+;Q!dt_J=s+jV zEtzq>CsnhY0V7zV80TbOtyt>TzBsL08|+@ab4z5R2ya9z{b6bsY_5`$>PvsC(#!J#6G=}AolPI~8f@Eo_U6GrNwt_3))hL9jjGk+btB={ zSZkszwMXWi>Pc_PQnmEP2eIyzINbcf9)0qCa^WYewS%3@%7n{$F8;-cH-AMOZpysn zJtetVTuGzgsIsN9&VsMwO9f%aw%{!tAxG=5FfFN88X*%TAsUO_NG}D&>r?Ob9S7U!Rs5`uC{XzP_#%2ix=5BO|E%U> z@W$fniBroJ=-P|wSlF>P6B01GcWB^-$TlT7>LEt+jY-fF$bDEeY1~eK%IXl^y3n@X zcHA|VBac;2%ut&nwcab0qYF$nwccRtWRU~ax(DMyBn|C7R}z6%YP#QDjdZ^m0>!r0 zjGk`Fyee;jP7b!6fK?2YPVopYYiI5~?OOYldz}^WMEvZHT)cgJa`L#>e{to={f+dYTWk8!F)Bn)g+|Hy$3K@vf~8FwLMwBO zT7rog`ibMigmqGx%{A;sh{#Vr`)mSQMoR>9?oY$bhkt=n3c)6vl|vB`24Ww&>=!iy zg^Li-YV{zg$ZX=|i(5%Tf-N5>Pa^*^6xOyyfLO~|umK9(8&W{To&w0B=s$_i))6y6 z6RbR+Ap(Do=S(#$+;ktgOlZ}w0!14z!Gf}fXp`X&Md}Ku$BV0szs@;H$r2hh2^U2r z`r{|Ch0C5YnnkdY51}?1()&RV%Zfn$Ls$Mahc(O2z==5Qe!vuHnhIg=DU6WOi?ifX zYgPnze^~q;%PJIXjEQnV%>$Po59Ho{%?(t7M8A&4mU~b3z9hAWS-15t>7bAnp_u7C zUwTzQ@3*Ykm3YdcqSRALILAFnIDgc?KSIq+*UA@l%MY(vZ5{PPbr^_o%UT(hRr1}n z-Y*f16pMH0ovfqkX11*fX-mn*xZ3J-8{_Tot5?m{*rYVC`O(1`6k<%)oN{P!!mT~p zsGgoQEH$j?-jz|+Xn=21k}B zySAOzb{0cE^X)RRL$%!8-PN~&onX}Xx-u7A37D=om4oFKMubu3tzGHOY<4tP@Vq3E z9D-CHE*p;o*%3F&#K;dAfdwo=Px_vg9w@$2L_Xy#IDbQkVT{@@Yaj5}a2+W(V!f*5 z9z*TDOvqi8*ma;6(NFCb&_N4m1L7P9sD`&HsF>vIFYhuhOpt+o5AoXT+{m(JO5cufuuSJ z=%^5{wZw411HuB3VNeacAClDBE;u7bw%ZU4ZY+ zLvEO_dJ<+uUgywBVPg4BO8~6@Qtnz3_r-oAUYSoPWtSYltuxrzRT(TP(MRoq)2aP3 zJ30Ieac(Qe=u&VkG}|Ta*AcJksSV=^7X|xjn@Wm{TZ^i{&x^*ui9A@E3>D~wY%rs3 zryrBTAsQQ$HML~}8_NnV@eR!Oi)hH9!YL{lsvU3+&yWa+qOf!m!wOkjNBo}k6c|N8 zsBnV+{sj>hn@t;GW%i_F3Mx}csla{nQDche)z78psSS*X+J-lxSj4*x;N!;!R}F_x z=#B=>nc`ON$H>GF;9^)u*Gw{+W`F80z?Nh_Yjo(A8^lOY+wK&doiXB zG)H4*jvhU6gA8CraqQYX0>Oxl&E~8Afi&RO7ms)FiaR257w2}TeO>%Dt=qQdp0xe~ zf7GRgl!KH}$|mxZ6^v0vp7=+Jm%xj$_U#IDmS#mu3lH1rUr^uBwuz3BwQs)4rmmxJ z$()oqVF`Ucja_TnLSIK^Uv1w)!^qk;U1ihe)0ceS3DBA9TQk{Z#{)5p81H=@!0C9H zUe2Xk2f2&%&K&n5y(k?Y= ze^4B{?aw$0D7c7*qZeDo7d0*d`rp3|U%47f2j3*bKFD5oeX!qB0FIrDnjAH0%jC$( z=PfC$NF!WO;z^X|p^R`Oev|^Z_s^4~5(rQ7Fh#PP<+I}$1>^LVd|znZbpQUz+db9S z|5#1{`KH}@_~PkP3XP?KH;;qzuM2s2%MS8 zm~I6>n9SetQSnWI_qhoy8uW#R`QSbcK=(SAc^f5Kx1K0J6pJw^OAeAx%E_Suwy6on zXDuLWl#hV)7bhT=Ga3c~H6~w16mRGv1=w66AgotNv*c{34* zL402hE>Y`=js$H`sB3__W$o#3E9v%~_L&gkQA+GCQG`E1K9Q5m@))i4b$@L>Uc~Wv zva_TYL*gq`KDn^&3|{~*O4C>3tE-7jPF|xY(H;#D0|4MIZolVS-}FrVkM;5a+z?OG zOh(Pb9@y6UHwXnP#`DvrrpGIS__& zOXs%?dBbv6jQmGjC~6V4Qjj{c2h}B<9=9+K9C-^ls&-m)a(dKVvf_Kkti=1Cabard zOqWqnb{Yf(<*P=oD3PWrS=Kw>h-4RNLgx-XU7g$u;HMyhb6x=$v}^6#UO^b_I$nL0 zM+34$Fx3h>;3G{4q~SqDgdmvn(uJe|kp1gvtT_*$g7r27A+SqygpS=gt`W;NG+V#T z_Me*q(^0zaghce>$Q^~G?CazUnC% zMA>iwoGt*nE@L#`n<-Fh`17&Dv{{yiCX|3e;tNwhyeEvB<-2Ol$kvHfR7KzOKmWew z?<17p7ns%oZpgd094FR+iN-B!#jA2PF*eqF%eJDp(ClF!S>=!v8+aRKu(-EY^q41&*?=MuWRS zySC3UzY$WZep_Oou4j^hAeS{V4}r}`;RJyZp=%1UCK9Fsn-r4iD=0J?m10PfQmOUz z$rngr0O+XTwkw>C4k(LEY48b8i}YGfO5H4rT-uKnKWxm-;KGXA-}?*RMCd2L(qe#Kf$I5XEf)ecz+QHwFc#_rEdSvGC$MUK}oy2yQcl zU8eJjArC(5311m3&Ac54vx)@G&hqG+v4EHpuv~Xh5KB`y(A-#n{ z)9Yzc1lpx?nM4u^-Yau7QK&IRu&#OJrO)FJ*H4EC#@lnx&}dn=|E)%wM)? zzSyP?NwJ$^Qc^+%`!WhpFc))t!${mO>pbUsh%N3cTDq3EvI6VVvFgt$43t2lgrM`f zr3Oy|p;x$G9L;9(f;Cv&Z5|l)IB9^_D37|GAk`XpoSz#GxVmjj+=y^{D`+tHzL=a{ zS(a$8sac*B?J*|p121vScZtpxuGJ;SR9mW1ae(rJ0{)<4tb6ty)-R8iEm`8PmritM z4^kNu;;52x*>JXdh8wi%rC55RY>ot+>Ql;S1Y9kU8)g3Rq4JK6bAA-m3Iyb=hI4KE z+x+}Y%UZbX2QqTU25)s*C&}+}#9sS}a_m z!(zo2Y=G0?;y(0?@RBhkj>-mO3EKE}VumF_^6k9#9J%nWGY`@&XI_)-+mMYFwri2w z2m8T4Q0bxePtH4MYjC0+X|B-EKSN-$xLasMjvcelIKq&ZBMuGOw6J2>jIdLh!i^@c zYK#&8*Rvh7?O^3wV4FD+XQNUS*75E!@-&o9Fqz3+_Fu+Yc_hkyKQTq?p)ZoBs3IzH zb}D80V`hplDd9=9Z;_ZV(jYCrgqzt|6z$tUM7p3;1$;hsDUs4amw! ziIb(Q+i;!E6p=-B8c-AlkM(hl`uqPnl1L=X3`V{Yi z*P8CShFNV_$PE;cRB&>8*FI0b>aS+M%fC4(u3-EL?#}(2=k4FF-TCFlAFh&2a_bA& zGC+UGcu0TCU=ua!EhhSRhj$_s&T*8VIccHEv~c<5s51jzc;eHz7G#PwV2gnVRu~Tf zuNA{Fl)6V4=`2(?=t+U}KI_KrWw1RG+65G&myCX z7~W`t_Del+LkGPR;kWqh${;z?m#O=b?4ka2p&k;6&TRV)eVM(=OEI-b6E@}_&8stW zrl4GI6=a+zc`~m}_=Qw(Itc*hDPWN=QG<+d69wKqwi1{hiOCdkt)E^)SJ*4|6azG4MH3ZBP& zm7;10yZ7E`Ao>f_eG`wTMZffn)e{Rpv*Nrm!TOu4Vin^r};fd`6n+gyDKJC;Z#fJJ(My^vHOOlPZGndxyma=TcB9qI^+9YdM05 zE=P>zS&dXWRUXvYkw**SfVD*TV)}~T%mb;aU2f6~hhVvLV?r!3F%c2Fb}EV4!7mO* z3dAgZqKR&h|6}pgmtnHT>AroRCmSBD@kVkAtV2vJ4NTt z9k~5{WdRsUO-nZilOa)2MITyPP{gX7!k&JO>|=MQDXNC%Jm=}3}+QF(@iCzo<$PsXJ&ZJi@I9SPG!~E zBmI%vg}O0bGh$!WwNq*(EEIERtlrOg8U`gv65b}95n$X2py_@tcfM(t`UM8$|7#rm zE+?Gc?3%jMPfVY#&USztarma78{PgsRrW+|$ONmOTp1fMFUcZq-#)WLV7c1tZbgR~ zz{k4mnTa{d^zt8hezW^fW+{g-|7{0BBh^e~m1R9D1FsKMboEr0c-1J)w;IjHpJ}*s zoo}qpl%8pnl{|yOdQ$%K0gq-eAK|!<<^>qczWfLg-WP9(qf+7~;$IQ(mPdHWl)FYI zEt%@yN9F@^Ub8TP8NR-JQd}e*Lw`BiHK{?bw^~3fusHSl3ueGb!zU;QM~^uUc*Pbg zHIZty7_1K?A6ip1`2PihALIHd@OFi4KrHY7i+KHH-qIH+Tu$0M$xch!g5F)3l6{tZIVsyAig?ER`km5=%G?&>Fy|e zeBIclr|3Y0OhTu_k$27Zv9aywF518b4tcEp-|lUW?rc$ZM0fX>Zns21qC+L`dqK5L z@VSs>jx-wd2CiY70lX&`v510lXCYpcG=XUHRT2f+|IX_4iUpTRsLQ@v#ViAZLBoW; z@20=8Il#Qd1!c~DnpQxt9I_dI!36RZF$m@}O57vnZvA`$O)5;kOhwm=`kqxT^uI;)c#Wi7HOG&s z_nEN)1J>==pM?Zv=Q*ha0-!^`Jo^ZNk+EG(nH;NYVohm$d_$E(!L_9C{rjDB&QtpJ z_qD4Cqnvt*#8XaQYqua%45kF6$x-j^Bkj3IWY?%53_!Vul*1-O6^)D%y%Jp(78Z_5ptq;5jo0_L=OiaRlx6iOglvwK z%f90Le&Nu2L9)xnk@WP3m5Eo_Tq&2dgdDPPme1(_B#gqs^BEbfE&1SA)o4q#=a(6z z$b~Itzy8+fp~r%S8$}D#Qa6Fu*NoIieT3d;bK$zWH2v8)XM(r8$_M*Rg16p3x!}Nu zep$cYH6(pX2l)u9!_=YtV=P-(IZrJP3>z<|ETnCu=zdCFxmbg-2n~KZ zVlma%n=HwlMa=jdWkfDdxR97Vw6?|7wK%TW6-vmh4es(qm-KWN9Eh-;uU?+Nc;V)M zey;wV4d~ir_SBb6dW*q=0uF}jeitxb!9d)>O*ikeSgv2cj&nuT-nscbJ7bFK(&S$3 z-zfZ2!su9|MIo0)N##(i%OPm=UJ(|iKh#j+W0z=F(fj0miV+&&$k5Y#24&qxby0#f zCH^yAj*+NV8m*YgP1HI?Cd@uYv@6}CNcZ0t9&?&OD}I_n`L{t9gMG z?k?F#nF6}oQdQ>L(&ktZxp+cScWPt}-jGoC<3c{~Qf_xN}`Ao!iU zAcT}lZJyd$Jljw5NGy3Mxz~>Ui>`0w`Nc=tUU7oZ4DP~KhGrOKMP1A@io(mWz1$Qn zgqPE+#57)l?KFUHQ!D{(7Y%E;o$;CTv(~KJD36v+#-^naY7(ZeKL6INj??OVjozvs zi_+)XKXNBcV0j5htR^AGAN($wOV})2^Ub1t`$owav9L5JG*)-JepCGdSKM!g=%Q(3 z-pEmIoF1N`a4a|{0za?OTr8csu)Vk*)p(_Wj^IZxF%;l0}Wlxv{-~gQ+&cd z0N!{JJrBV&HQ zb??6Yk9zPIwN;X|H}cr_l$14G1>}4>WQus>UcPdmakn0TR=%;%-~wxz34X;^&z=jb z_6#a3fIy_GV-3Z0a3mV~<=8Z;bbKo+z>z~|1QvDrmz={b=jPAS|i6UV^sR$&8lP-yvaWTuw4t^4`fLgM3 zXGMLF#g?CMi=R+rr#!E`_PE?(2}no?P+aGrl4O2MDE_6GT>tP`4{(%kKX`bXkDNQN ztNtZtqWtwZnXLMI`bXccd0Zf`7(b)6SPYMtwyaEShmCc$CORA~uyHzj*|HkY&bH;I z8yU`ijGS@k)p5RYwz^zLL~Y!`_BsQ>OC=x(-cwx|^2WbZJ-`dx=q-yvEc*9Z<7wf! ziA}w`;pPJ8Ju$k!0Ezu`2a)s{n($97s2QX}f5_2iBxk@1gb06(V(aer0PN8Zi8D4orLLy@@ziA#NF&&-+Lpu#iA!+BoGn>p0hOlS*p9mep~28JUgI>j%&J z&{B<-usEQ;T&TI_{kf7$fwOmLPN>_GOF^1n&m*vTsg6zODe$T6OBSKsHQkf_UzAC{ zP>~9MeiBwVvG5rKDJ3R(zi^usl2JimbA>~8MXrV*_a1j&#+hBZTaJ=|sp}9?alrw; zNQg#}Eo4GHdJp5347i$S^r3!wJl`d)3StI(;gf!y7KpbgYsNz~qIe5U#zctnaG2Oi z<`ctJGcX*~310vDlsEee&gJ%ofz3ukl1uCkF{j|EK!`T{he?cy;Ww4JR0qY%{EG%eqWvx{k5YjVst0drjNcgaztCdFl8P0p<*w#L^daA>nOxCA zF*$wcEOh}qDhWK(?6e^1Vp+Mcpg&=4sQ3Rm_r4!&cCABF;@DrBK zYJOqXB>ft0u-gOF$|^83(^VZX`&(pBWE7<};h#vvXl~ZEMy}WB%n;JHeUejyl4< zpaLd(Q2$WpEt>wI^`Ndd3H?T6knwP#W_Zxlhe)Vm)1HmS*qZ?>r2XME-PASR3MQa3 zZs`x|k$wApmj7t+s)*$AqWVGmobsEm@`Ld-$I9b}x?vbjZdt#McRKe|#0w10;r zqFh9@`{sz(?8VpaNaTGgxd#)jtlQjm3aRFH%?ww^s=`%vb$HxLbnD4(yXP6x129w8 zI)B>}5DA_r?>{O3uE??f_ckvqxaxt+CspPH=Z{hvZN2e30hVezQPgrxFgBusug(d@ zyRPg~U9TS*@cvWTC$R%^|Ajv~wflx8yqQO!B_4k51UaP0;BKOm+vTdYuJWVBr$Znb zVXLZQvVLgb7!{(p-`rMcEjG2*B%P_jR3sJJpwGVJN1UOXQOn#{7px7_&ARZc)>$1J z&WOTK93q8PP}FovOXs%CSMDG;a{p4kd2?iQbD}rdYgf0FRptwoy_Z)Ws*AsO?le_q z{$Sj)dd^JFS3IM$o!K=_0i0cpHp9UFavcMqg7LINyvJ%0ncWz>rp=zZrrzmTH9cCl z#$!kCS5zv$fUbV2_eu^%R&aY+l&R=8R?zLS#4_4R_pVXDCGc`jeWJc&v7xd>Dn)pGwsbZz& zg*{!0)9RZ7x6BXs)EQEo`@=1Kw9Jo8F*N>FCl;&lBKIvK>_}~>FFd<-_UyHw0pTbC zgs%J_MY8Y{Xnw(w+*R6^h4N8Wamr$~mi;&?aeboK@e|2~f%oD!)LE?-yz?9OeN#n@ zuNZ2B7ua21?dl7NdA4cC^tr^ozGK_7%>Q2~NYo1+8D`uOVh$w)7Z}^x9kjW&LD>&F zVJobjBgUDyl)gHSpnJzhtGP)EKoJ(k}yUKFz z*a=3|Ljrv-bBM9XRmj|on4iutk?WU|`DOU-8Ro%YN?)+67Rvj3*~qJ=xxT6A#Q9xA z*ZKdT?RW~M1#La?SGsuRt3vDXr%^_g6|r=bl+9qTw#K;dMXvQ^Cr@n@Nb8A_6)=6w z08cbop1e3Xe=S{@ESoL#6;}5#w~JklGRUVj;4@FUf9xY3xL&z+&+= z2y!{8YQk;RY|ZxfcQ!UU<)C-P70IhFDFYc_qf7kL%IZ_Xb20-0Jex4GPidH=VO>Ie z)-WgYFZZ6A{v3b~2ey zNWzO&A6UdlNT2_I8d=XYVluD}AV{KUaaA^XOk-erS)c-SS{OHcGTlXEw55G18!15I z`2_b7EBUn-V-NE*`D`s@Y?^iwJXWcfrQp6i7mXUza@^V@npu;<&H#!_JBY%8m>d{t zxRL1)B4WxBbmU|!$vMf2rn)GEBR8)QLNVh=CORCQ2?4fQW1b1b{1h zdVJF1p!!%JZBQlT&Xrz*#*8b>0OC&A#G)K!eu?B82s0^ZRzrFw1qf%TQegl#=2pTW z#G#|5t873FlJbj7Hz^X7FO&(2m#*PTcRy&*Zz6W-*O(rWQM62C0Oak3ysVCnEKXOZ zY{txzyjtB!;|$wAOz zC;cg?{r-HQznSj>4VXg~_P&poi^_aLdwWBD%DkmeQ1P`0fVTk+Q4a!U z@g4>|>}5nfj2br0YxCdDc@Xv2zPC|t>q6cJ{I$OXXW&GF{Vu2H+D+mHWVn-iclL;I zDc<0^&6FTPjW=MN_$)RFrm@CO4I!D?v@RpB*zIO^9aWGpG1kunC=KutE@JKTC#h`s7s~k zCRdQv+Z)TnawN5$qVlN-yHUrfE1-X$lVod=(M4`G3ki%u=4A>2cMe2VWJbwpmVl#5 zMt!^cCXZQFr(bTBK!%Z6PoYy=${7@E5*{#T(CFM~dL`=4a&jf@EQ2w?CpaN4m|Y1m zizwwmjeSBPm^998&dBPVniYU+@)6Zv3(lH)|3=HooEKYN6$_#kCNHR}jP<$TOS9Oh zg&XEiABId7uI=qZQxWe^<#83o7zVR}3^39C4^f$SvF92Lm%@GO>p|N#?;4H9`Z!Tj zns(XkOErm)ts0GYjnRH2Csv#HHs7ngooGl#W+x0;hEkD-9moY#;_t{Y$YSQ?xPW0i7Muz!y?SOpawGZd zVxEePBw|$cz9pL1MVa z*ShcD?~6OEuWHVE*4CJt0GwNSto)K0Wrm$1IDW#@LUho+XQc)Nvi{EYX(b7 z21-f?>0bjq+pqlF8s1Vv_`XF(nsl6=yX$*PX|MOW%Mw~^RpOEKDXxsM`gZO>&EigbIN>G+1Ai> zxu#^GztkLBS8uT$bBwP~OKxgPPH7zPa5lGqop(!=U%Yd@3k#%eSEG-O*}2nw<-U>< zFmiKQ;MB{g=-9Yc>xNiiHye9olP5o(IJuBeH4?V~f-QhT_;w^1mgEcys367d_78R@ z1%=&vR_^dGE>83>yZzJNXYYlm4{Gn=*rz`J0g9(bV9tizK_Wf)^IuLR6$%E|iJE&kplu1Elr9b~P^4??IVAVR>Zn-^Xb_Z?-YuQ` zOCb*J5b?ieSC@Z1Uv-*LoEkW7%1TetQqj*tGCPH)j#HjdSw2*T7eqSD4JmRD51gP1 zn@u0jjekH81KH-P@bD_`T5<0vz}7o=eO@p#`n`UAy7Z#9=Gn>Fx2%vVbpe*@+yTe zO<n&hL|V)KQji|7!D1o2Bla--ZT2(wFqqf>nz+CpY0;HT=0f8VLoa&Id=?IS zyv;X%ickKw7vZo^M@QWS&qN9fE+tj|?7fBUJ)Ui8j*AZeNx5QvDHC(;BL9+jo6Qj>Xy zu#+Oivrrca_8-R|ORF>X{poSgsF#SUE}>_IYr%ap(Yduk8GX(-b8oLe_W_htM{!oI zv|W6hgXj!YEl_FW16}H8)C>J5^MrG26}Gf^KA+`HFHOh4)zvA*etyaC(xAeJ*D+@} z?ia>~8C(D*SJ09qfp#CY+&V3S;1C@OcSEYLn|GhTBh{zRhe4O~gBcoNgFB_V>Nvmq7{=4G)?}+xpJWJ48Ar zSUz{*Saq2;8MYZ5QNXMPbs5cJuDr;^jzjy&gDm+tZGNNac6z%3KT17M^pin7#A29_ zy%bkw!JM!(#txbgwl6Gse?Y6wO!LV+s6&+pVNJdY7aq~agDFt3PZr3K`v{H$tX@RB*V_^e+&qhUVXoT+)tJ#1=;q=ZT-p`_CJlM-N^|BK5g%@oWR z8?!OeDhgh^{Z?slNrkPI)|8VCdeeBG1MjgNFKwn!N@I}{@H8OHP5gD+HnD$gHwG1a zO4q<1qu5>S#-&G1Fu&^uT4&ep-Ct_2;8I)TgvQaR=sC|q)LNZR&X5%cX#XZ0 z`R=iB52KoC*C7!6Wqg2GW|71iB3bLPcI$`7X=gm)YLFx68;3%ntTo zyGL@1C(Zsl;NdMdPC)|eAw$pPj;u$f*)$EBDCwi( z<6d>*#b3`ROZ#$Mh^|dDePzf6_B0=m_?sx1oRk($zTtIJF+b&7q*UJeLl+$`2fLqJ zc)l#x7FVga$?WAmZZ0f;gs&+#m3U7O@TvpP2fq{q2Q`q>vl)h{D1+k7liSG)nr-W> zLg9j-1wum0!iX}w@YtjWRSzcYc1)K<=C4b`i+;@+6d7E;$Jhtlj!n`>WhX>Y4#nd~ zL_|caZ8QV7a5ov}464F_G~|UN0_2O1b1Tw*1|?PjN6Opa2zS)mhjY0`CQ5UIovg)q zuRCf7a>hoGOn1XKPE6C|MmOKweaFSi%QbMnyt<=d^+2qxmI6!?0_)$?q!_^8KOGrGdo;YEeZI6-?OWzZG=(ZB>#gMPB(& z72o%*UtM%4Tk-Q^@cKLSRN=SPs&x5pWs$)9ll}abj+42RzeXy^uO_<4#x3>pD@J7N zqRypDOY*{>6GtJkCwZs?)pzEwFBehga2=J@s`9mgYr&Dm3R*7>A>&Su^-=b05}Jt^mC$UHk<1xLB0aRfBZ7 zdA4xW&hfBcQ=DGIo^0bCZlwh_Q9gfKPSBr}@ZLz5TnOAeT^#LGa(DOn-YMWeHE!hM z7KDiZkjC|PYe0!EN0glYj}mqb<2IWSWcxhF8qH|{sP9R`tlV|OcioO8{mX<90RfnN z`>Q9ME^cXZ0_2xz=2n{q&EK3%k-By=-O);n0S|x&@;5N=FNYFM(rPv^jY5GzCFv2O z;l6gH`KqqCa!;}epE9s~?ZHKMtU|v%{r@ZkV(ls6W>0yl!{{sjJX0=U7IT3fll@iw zje)CZsy{P|iedsg(1QL!msk~Tav2Sx2&;|;dmqr~ndlY?U+k63niN+U&a2 zbv${RDLc&+BssU5S;h;Da|TKeDv_aPBP$7$9>Br-$M;oPG|S^1K`!|&ozVEONTpyy zv}$@5YS5;Q*vW9wpZ|Zs4bQI-Z?dLilTV$xR>M%htjH0ZEMEcfD>Y}v{zpqZ#@&3K zcC$t-NBHqKg;h$1qICi;ar&pipgo+6#6Rkn-f6x-C(fvt-HC|(`)&iz{~fJ3s;WCW z`N2^o3uY|ArCGM$*WuUFAY$@(B6f4wLuaD-C>#9gb0oS^BhT3h94~E z@Y|}RcC_d?fN=tnG(xm2bf?k2(vyby1<@o_6QC0O^sUC$MGjouPx#G z({ZaY8;C;G(Cend7yym-ha0`9TjwYs09X4n=5<^L=e;@Q4L5O=B_OK)fMv=s0kG)# zN!P*pC|50#JGOfD3!-=7F=pD!`? zS4io?j~i*yIYY#yDLuVDKifGjij=$NaIjsPHO)J!v^2_cbll?2Nh#yUZ&nkh`2Jz? z<<@1MD$F*iqIx|M5We-Wldv2+O04b|ju9?-T^vaHYJoE%5o5={=d8RS*e*PF0avLs z!kxXWZ1-5XI(QvR}mvFuC(lD_bonXpQT;#OQ|KHCdaV=}( zT3>!29-cX)_|Zo_;s*^7Jm?wDHHt&Ei(mGtZ!KZ$V|#(JE8ubtbuncohKg%OGNx`Z zEgl9lhRla_?CcvDzGs$r*5nvFi-Ns56}!q;I`7GgAAx?)Qm)jvFsCx~Y-&zw3P=Vf zFehB$imQblYBD75{)R@*8+b=GPV~bXOG9;@_DV9__AO5AyM$ZofwDy(a}nbnKDB|!-gT355>8jpD)MHywgY--TO4-|=`Isy| z5a-e49_~7mM>%92rHC(zU39=#tB;H-GUF~NAg)r;O;?t1{95=ZMw(D+mSBaBT9P+wV$b$l4t5g!6i%n8nPUu(UE2ICqi zIRIX;c>za$6w>~NxQK_Osk|vNgca-y#-zP&76ipDYjBM&G$psx#3wY5OUaE2DCA+T zO^jMjD8xvYA|y7zILe5WT!}P7 zr50h-mvSO$h=fzKvq3gQTk19qKywb>e)VtRyrCkbxy@6dgtAAx6x##) zmdeaK;e>D#rbq&UEy1i41jtrb=~U@DXZXm<&U_f@a_uGFhUgw_Et3mN6T%cN!l@3?H&4woS!TF;rW1^p9whCHeEzhj1Mp77 zWVB1#2ix5%)1>b0!eo4o5}%i^LULh0V5OW)$;I9mVyM|xAjfliIAM3NsNDtKEmSpT zY9UOLPBMp##3ahmN=Ov)3nr2jczqKBCIEavlsfJ2le7}+LEV1b)b+g%s8k0*9f`YYz!*11SAqZ^DLARL05)oUm{nbV)xUeiGS0<3(d=EEGi zs)8ET)xbk~Cc?NE(HYQ>@CTSrv0BnEjm@=O?lS3(ci>q~veXFaKeDZQkflI4&_ZJT zD;BX$%F6?=85qLhV&)9<_!fm|@RSmzCuxv=2$w5JM2kv>PCrD)mCwpTwNSuMwwmby z>y8jM%l4R;4!=C&Wn67}k`$3kz00n7W=LabhzY33qeoQDJKa9!KXt18|Bj=9fTtq;qE}Gij5wh)!Ke|c1tYD4gTS$b%Lt6haZj_s*rT!k(1r6%a^D@^AUUd~Y0Y))ycd2`WAw>~@lO&9(R4%>s2SNhmY3LA zMs z3AaDb4zBuxJR*14H|+Ii-`TT$Ki>}X)fwybnA6fxjD|TQJ&1|=M;*1UaP1sj>g`+e z7EbWffS@bXlm2W94PlKyV1HTi428#_KRG>s1_iWS$E$e;T~mXrVCY7nRLC?I<|q-c z_$vx?{XvE5P#=f<^-w4&z+TCmNEFSGF(;9PGvnixh?>Zi7M$BV<&AsBkcTy4MKcp+ z=MGB5En<8+!c2SvMo`K4BYwhSnR4`CtPY0QCZQmgA&Ns?=}?D)dX0l5jR*;2DJ~GR z&HzB(k+>tWy2LZQ?=+&TLJ!=PG%Ft!v|)3x=q!S{e-NMbH)<-K_sr{8WL!W`9i@U& z=i(&hg`{gAc;*uG)0HU_%x`a(MaPdXUJ85=pzV!s*l9yet;uaZ;p-U|KMNJQHAd?r zGqEDw@n&6cu=s(}(=1TLz3v=z~shVwsQ=>#vW+c*j}x`!6Fk zr`fmYY*P_Pl0Ifw-%2bcwOt<8!dTm(rN6FNBFM!ptFH#TzTh&)zzEAtDjcB$MO8`w zy>1u&jvdUo6j@&)v(JIF%IVfgOgQ1`qVwS>w}Mr#X44JyCx;;+JgMwgYgfYw00>0Y z{XE%B@l4)w>T;fVwtO~XbO;#<7`dCjoVJ`V?lp(M;wMr+b6$TFVCMx4C^Ng1B~)#q zWYF=&k@q^CiY)WR*sFYK2#zNC$5sN-``L7?{F%nbctYD{lls4-;i^qDRTc;pZV&z4 zlA1W++z5f$pgw$P)?-#A#!5wo_$OP-n6X{D0{Z7B-asRPQQcys8dIQA);C5ObUmJG zYzd2C(;soX$clGK3Pn8Ii}MJ4SFZb66ZUxGiOp*^)?M4QcJmHLWEFtrtR@(Egul!~ z0D&~Zb*cfpucFvBCfI>pqXR29uQ|l=-uzeNscuAm#~^X}!~A2=cTm2PId8oO%BAp0 zs;lisuXIfXH=%*D6j&j9{c$g}swGbc3uAnv$q#(>eqT$d=S_M%oXHlN?S<13nS7B}s~N z?PJVp$BrYdK7#oHFw9IV{-sLVaUw5E1CFWC2Z-x5=2W+*x+GCy`v-%zUR-2gbqG({ zuhp$tlfQG`+O%?a*1EMU^9H#w%8vRWP1LtCc{@9ivRv0dy6q)NF;aA>cMl@j1hy~dm9Vh-{6&Pysqc65Xs^dl5 zCBtFb-if>Ho}T7?B+2zGFFADT?iy83a-GFI;2aSMPZT&oEC9Xj^0c69&t`s$ecng7 zMzBH5-K2Iac9_uS=M@gG&-9y&NoG|HYSoFrG!&#zqO)}Y7_!t>1N9=IpXIC*k^RTFgx-ZSG_+c^Cly#p<` z-%9_;-113)4lRlrv8}VL1-6sfC+nS$CRv1kELWj6P%WD7HaXq1TydP2z!15F(L7hf z!m@ywmd(jUL`zhWrYsL3c<@{uel3fr%U9zC>_LquS>chR#(Nm1PK%mY^7hsdIbr2W zf&f`CnlAKsQ)bysQ>Ca0pBuwUd3(1Wj>^#q^` zAg(`TSaa@=J{@A5aDV19WM%b-aSb?5$MXh+G>~(j{P+I6u0Ixi2&;Vd!KrG^2r^IYcu}NL#%Mt;Iie(pbwJ6seeh})<{G!HiSSe>m{i& zP$E4@j--6Y0>}hm%pyINQa!~50;_QICb6`6hZ45|Lrkj%w4W0x^$tjpZ-JyR9MRh? znAeB)1@un^MX|ZBK0H~|UAb$g`wF9xzfdFnaSw)JdMMHdwtotPRl(6oO%ti;No(x2 zU~;VCgMoSFfn3#^0N3rc3obuPkDx^iSwl{ zG4ZYoC@Hmo>JH}#o<327q2jBDkb(x)d(IQq6OQYS^Mhv|%b4$28LW5AG>nZz`$?k* zJLXp)9ukDn^dTu}e<`%%E6YQgEZXk?BVNwf)Wls_etn#efnwGISt6?U^SdXonBRlD zEx*J`C2MNuzNuYV&z>NP7PP15`b0-psK)q6{$xcv=rh19(d?PtoARa{yZ#&ajRwp4 zgqG{btt$fAkIX^lfe>@Zocmb21Rb_t?i z2i%->H`*dy^_k9C-Vc2E7)vC<$J#j#qdhGv!XZtGs0@|(e*3e)8`-NpT!2?YjVIUN z{}w!1+&6b(YfZECy)cB}ot~O$V)_2Tdq%%Ndq96cQyy|~Jw0u*&)%GY;ElN0&qX^t&+?0}&7iKKXbyWHpf&UzA!%-+} zwShYI#uQNx2gSJz^LX7$S5w z^H9Uf0xg0$&Cp_oB?%;he1@$`uS_?EX3Ed(k9g1&AE?7cY??<<_C_|yqX*6LL9H-o zdz&i(Fk`&6`p}GJyoC<9+8T|#48@vuMMF^carU#gr7(UU}@TE3YmJmpQ&!Inm1)MMDS9J`uX$t;|D1x7$#=M?%M8kxIhMrHz>A9|taP ziH|Z06Dk5n5yTRaw_%p2F#&;KLzXf4e|5+hT_91UDI^S0m<-WRpb0WVMil|ThW*2^ zfeWBYtjr=ZPzKV5FkYCDTSNhf$HyVSbEv|@v<=81;U`Fj0oa&^pe_Yc5SH^ni2$-d z8bgqmVvOaTe?CbNP*OO*LLZN?Q-aio{-YfEVhSA;svyGKbso@$fSI92nPGg3-jF0M zDwa@|s2h3QF1M{f2byw3&!k8;g;iTpo}&n{gY&M!stSK2a2(#^r14;VTbqA6($lwb6$X zy?Q8sV5#UF&L_;;zN;+OY0(t;Tdj3-)PVL<}c!&(>^?g2)D-eOL8B(UlUJC^mjTdZ)aPGYYQG{S0Cyrk;V zBOr19D&ESKJU5oFeU`6yapJ5+q!R_KPwqcpFL!JKzln{4mVPjZT>2)9f zrX2+}E0J1N24fO+D}~2+O^78634Y$7QWZXrRZcJ%R+W^vIn**- zk6vOvb^0lu{~O{#1k5CqVtdHyhV3v+U`A?sGYB1Sr3wf~c8}A-V0taU$v|C@yS|@H4bL2opAguiUKQhe}iWr+%j};xY;YM^e z6QsbzmK*aGob_C^#{RO_mr3p!Lv&G%v{f{w_b;Yz?MpKU?NJVf=Wa#`IsxDzFL-{K zst&~fa9)jc+i_ykx@@P9{jCl2f6h-#;(taTXZCyriOq5&gU3Yq2?m zOUP$+bY~bZb8n6Mfccu)wF9oJg>RjCt_uQ`y*|(a^aCVPR@$-=Fy_>)o!#1;J?gNQ zb8vY&Gw@|xFRpkp^ymtxE%k-*p5HLU1R(Kvv^(A#<1CwJOPcpTfMRy-rI-Dudv`_* zlV!5}(Ag5}H@dlvT7TJ^vS_3u$4=do4sY@C&igI6HH-=i~lp)NvmKw>dG0NFxXtUBIFB@??WghS3%aB10QUmBu{NXj4F-?`gNwCdW_ocV!?A)_M3Cf8AhXf*UyXr!j@vxXjS zR0djldQ`gUptOXFE|U&;_!mtI=n>Mrp3#M^0bqU2tfHb>g+;UV59~kF;eA{?tW&@v z^au#%iD~v5EgP16f;~UxfvlrT^U3BqjNAiCblqrfL3Zx3IKA}lqwb#&uXT|jO|MHW z57<$Iy|#84xj2|S)N=KyEPpAL^IjB=r4ldyxdteoehC6S*YdHlhy(lLU~4j2ZEUtCz*F|8%!QF5t=IQ zc)Wa4F_6+BOslca|El(df;E|zHRs|=&`&E!gAaUNp_xA=MMJYwk!M6edZ46?)3Hz6 zrD3ALcA%L)MJg?Bq(L?V%rGhYu|8;s1&<_&KorI$*3ifwcVIrt&c5|^{9-tbLy|6~ z6mkzE#!9QI|2@l|@o9iM!Pc76Tx{BI!+mELe+fWaQZeity1<%8{a8#!d!)v@NTa{i z2E&63Ar|Le3?~bc?1`>%5*4&^{!@wczS+L^$}R}Of3|%QdaN)OK^1A(A6a!rb;Xp$ zfx7{#n7Ha2==@nQ=ThxAE(97`AcIyzf`I)({ij+8L+Z~_g?Xg{GD#l{q^zhcOzbAO z{)X$GngEpsqQa>tA*J@a5rxe1wZVw$TfmZ7ENgC}WhCbg!n+WFRTUr7V|H)P@AGk0 zP5sSFYu7ErmORv?N|)tgMr44ENl=884kICI(j9*@5$3Ymv8731fwVEkJor_{Y(%LH zrQq_GN2F{m4DODBatwedq30gx*E!VV6mfJU0$CJrmSka$){m;C>VPRijtnwJ01~VH zZSLz{?BqHI`Opu^LX~5c>7}`4768%>q;dZl!T6P_K3=CQx1RReT6sJ`d{SI%L&Cyq zN+)K+l7PgFR`&hg6NvJZM}vH(myIp;+1M@K3Gaz&%#Zfmr1FYZTS=J?pB$U$Scf-f zFV$@x?uUFh_eu2Nd zy{`N*zLJMe%pF5R$K!>e$_mjObeNu`+b~?uaa6 zuGi zn1$f{M&fkw^yz{Pha5YOfWf$k_i6OD4W1WaxEfuNQU6pSYre{;>5Em57t6;f_-wdR zE$#!~V*qqL5m9U?M_Mk7d#gez=_A0!aav^B8wMa~TN(pMRpNV|@4b|0c|X&$9C{N0 zR3arYR3uBWZ&DWK+db`G30{-w_s+tgi+4~&(wJfGn4iQApbcTjs*w^rV&^`5XqRp4*HK8j)gc2W3pH9 z{bSV=p^!)3dIHDa2nxRf_7(b?kghbW&)S|Rl>U^C+V@h?-XV*8bK-h(<9xMoQR|L* z>EMVea}V90@sS0ljlSx>;=se3`uRjk9;wVd&P}r_&GA`#w6IregsVqpkOsy57Ujxm$N++5V$x|=L6a5`}?8tL0mgFM^j+R;Gj?i#u`|! zh*P1t6)Vj%FZ5Ex6p?OA6Cn_%&cZ3a+CRQEjy)FNnTUrIxevv`@*aiOH zJpvAY-YU07<}LXx<~Byp$6eC*{5^Yl^^aofEK%YC6fK+RKydkKT$40%HU53op;0}(nE?=Q`AGxOFa6-f7R@pEcN~h zbt@Xky2%dQCYgG{<%36o6-lW{Y;2eL36Vt8)lTY4t{+2iSe23sH((8cBbEv@JY2zo zo2fvwOl%a3!p6kncJcDDWuo?WW1iTZENg3DZWJ3Iw~e_85CYW$JYj9%^N`gPvKbgK zE##{tDP$NK#MW9YTFC620z7Wtd=BLAT&$46W@3|+?I^#P&nsR$9*>->E2i+Dj_aGe zBA=Ft@n4x=yS+Xo57HJNrqQqDfJ!(|P0z&n&oeFWAB<>&G{r}#ZkM4+pzcnsm1ngX zAn&5zq`$=g!kk@Ak&s8xQt{RpfSJ8uoyComYDgy)>QxR(x+0yDp?J;C;Pr4rvw3bp zkbeS3@vtgTvn!hlDW)#OM?XYCMalHXti~6Rd{p}8Gs=FL)xe&21U_WYO<@wRTIPdh zaB_k_Jo7h`_l5AkB$!=ICQVMxh;ucu_i%neMv|pA&cOcJ`ZlFD1dqwp(p>v^_2ZhJ zc+w8=-EVDGS9BZK^1gWP@QvIrHM4C(|5uaVRFK=obaZWcgq9@9xA?d|F zCPhos@ih!|r8g1RCPywLImtX^7)-5hCJB0jJ4Hg!70v=f=<3 zwF*IakNB1|qezBwdC@U@tjN46lfZJX0!FlmD#0>RLqFC>b(fyJV!N2ASrUsR9+XQU z7rgzKuB?nj%!0})L;b2>xBiv!7pQAHoa%H`mqk`gBxw>u|4yt*N}Dh_#hLh)baS}f zt5{{PYKXB{H`rCTrlIy9Q(QbuMo)R?Fv6Nf+o)Jb6K;w$@iKtZ&1ICa}Z$DWhSvz%C zn#bszF$a1&7&6gsS01zVxN|3fil3T#`M{}Fb#`Fd!W!wqn=!bW^TZ;Z@F)UOBu0DI ze_UArMMf?_HzXp$E9D699=oDk@$cfkw2@dcR7`1iELb067GzQZ^jEP;=9J;Xe`7Yz z6+>Xq>i~$9-UhdIC#PP|Yg`Nf+HqaW>-zq=w)<@_kVqm5?o9i` z{JRN8T47}>4~|{Yn-6E+(j~!cYe#kSr~pi95hv=b`edrE%V-DJ`v7!Ct~doi?Wd;B zMr*1x0!jpdF|u`YJH?U1XFMqH!wuW3NZg+hbeaeYM8q6gNPVOkj6g~#~zQ21rqnx#zG&x9_ zkQ1M)EMfg(P3E=oH7ZpHBt2s-G1P(-6w|$%_SA){Rj>}F-Mp0+%o!q14#I`jtXE!B zwL0H1OIYt&b+eeBB|ddNiaEm&0Xc;rZ(ChP0wvL|$Go+1j0=o~xL4dp^Nicb808;w zM=gNP& z)m}zE>j2J%lm7htQJ)F(jB67Cby z0YHy0iT+jGymf3bA&(B_P!0%t)Ci*u=_6J+bNqm*&(zYrfv ztJ4Kv@kzlQN3Z#r>Uvg;1&zyWiyR#EZJy+|&_~4{uJq84g#M zlzMDhb4cMhW=KiE@jJ}|lPQf0UWQn%cBc6pZXnOZpMRGkb^XKFcYbU}aBzHj`?`lW zz-ZIKmUKldjO z`@QtoSY(Cp)`FUl`rPa}#8IU)4NhyQ)k6Tez!C6hVCZJBHNRkHbM>_j_xtytOGWfE z*>{`j7M|@Z-7s@^`yN5i635nw~fes_iLUAJ)PItKm3>@VIwcy zcsq;4c|AaB!JJJ8iknWZ(zR15SB|GN9c@aUKU7?t71dPibR_>-Y%wMmFDgpjuvVX3 z+;qGtdHK?mrp$=qSg-W5O1^DyDDCc z*NacN-+0ce%u`k$4KE_uY~G@{8(%&~8ThEO4X$5b=DKPk9aIJX)19zUF+;CoiY|!6 z!15iLF|^KKX-ZP&@oSqsJpFhA3D#b0dE%(w# zmj$!uBg>b-w-GYciNbW(C8>N3QS8E*)x=!nnr=Fr_!GG+`j5T?^?#8AHa9-}JgA*- zf#*ZwL8yZlOk`kX2RaE21!K#c=nU(wvKSyn2{;y~Y5~4Tg<3DUNP_d=VwV!pl7ZU!OV7L z7Ox>QpAl6QoaWgkbv*#%4}H2c{2b(MMhjfRXfyNV~C z9s+Hr#73VQ7mLh55LWg?`M66T8xxR2^vfCo%`9uNf-#1x0JEZkvZnW4+;)sSK4;B; zN&j7=2W6cWKl%0h(*D=sZ$=;79*%t68~P(YiYIaJ2KqUbe>$YlTRR`TcgH9G)qmgm z{W2s%-#yoigby0eH=AkjWpG+g@pl){A0Rp}no(NRuFg$4QB!)SagL|&j~c4cl+6d5 zSr)0L$m$LejWiB8pJfTDyIc|@8o|>O&TlHoa}@nKTr5J!V`h%LpnxsQUb-$us8uyJ z_@um4OPsB&@63|JK+{eG72{IDXc+jU?QYwxRF9^v=$`2LMFA-WMyes%E6o@DEo%Pt zwd2bXxEhh7YPs#PYIJeROQ4}GgZ}Occ;pUtLCZ< zgleI%cZ_>EKDg|FC(qAcl}eE~y%bh`dqLnFE64lYZi)z_nGp(r#}JXlgX zSSs$SWHA2Sl(h6VLVuPMTj3VF+z*b8M#P3?&Rz_fY+SsIiI%Dq)c&~IzvaZ z!`boautf$M6aZQ1LVgRvAOJE(t{a@d_Zea%!tggN+&>mcsz4%uW+89@QYc_xGp#&G z86JvwmpYqViK?wUie5w8g(rkUDX$R&75G?(9nz6bF4wULuWRWRiP=#v<3kp#}m9CHy-QhvA%G)4wj&}w1c+;4j=B6yu$)pKq zfxNvCI5UgjISW_hfASxjNBRvo9IuQ*IgVEsH*mrJdPwEBBYn6eR|geje(l2nED$ao~G-gEb&jj+;l+rY9V0l z>?uZzDBn*I{?Ul-`Cy_Qp)w&>eugBn#=k)yc*Ibr*?Qt_;fGD!wD`vn$_6mFj6OmyX~o41dsEENk9u%{ z?f!O{Qrct5^V}`|EFkm|O$gNsyiCa*d1WQ!sj=a{H2@MsHl@dwNLmDtMQ4%eT{7B% z1^j4w6I{=xDCmAQkbL_5Z@3B6r0?S_Rxl~uFux5Wki!BK^MabI+uHd9476TGQvko{ zSPFU*ki3OY4P!mi}jN~H484w!<2qk$AvJ!_#$JXT;3;3 z3@BKE0Nn~24J72yn07cxIX|K?5Wr8CTH3Q<{;9+VG&`?Icv}>;ZIU@V%VhlUuq$hu z!QIMqIGIv#!Q~X+yy{Hpj2P?6Dpu7_dC-K?TLXIceXPA|!^(ZF69VPC%30;Btm?|r z(?fdo{$>+->t7T$#T)p`vxI-Es`4%H$$bQ`sXjS%5cuiPz*KD4z(Y?;`rb_Ajzpm#-*U_O0Uyd z+&qJdLjqRdgeDHu%?(c>kLg=ais~1~T_S`R+O1fqb69KbMD}n6jJF|@Eo}<>$0**#JTX?wsyBaTQNSIMR+$Jz&pR6 z4ilxC+-`A=)Nhlz68<$MSGE6Kr81iz#!QZ!|9v_9{(^I5T^veXfmqn;Hy9n3E z$rw(BlhL-3xt6YUI`A5AuAWc)Y$JvDhM6y5I|BHH^^$xjV4af7k=LiB>Z~lso$mVV z-BXg|m>8eZc=+~uFcW4~m(40$v?`SD*X61=X#0oH-rkx0`?fEfPB?Y@#*m)+D435x z>BK4+Ns&8HU;W}`j$a5~5auf@7uyv3+=l(pOR7T)UN7X#N8-Ui>;=P_X}Oj@+2yI< z{WCVcUAe;pv3Lo~O0ncX^s+E<1)2(V!dZGXLxNCA*~`N8?*z~H4}ZRBYfg)&6oZy` z59;z4_a3$`T({^3*wt$Q+C1t`?JCZ*HzZuOKXk&akt+lH3kA#o}y z9R#G8RiPp}8#sM+?*yFcVtm*fHioNh$N3BqN|*!-a>2+WVztEpkrTXk9m+t9&u56t zKLA(%kdQNYrcq^R-KIa_=~3{RWXa$wg#Uph({On^&z`YleqrIglu#}H%-sl!5L=1L z2p0lg3G~%?%$QATngR(aM%Fo=tCoy^2Eh1~-)CFAB;G{mbr^q@P#8ietxu z{3^-=fE_n*b*e<2r8pmc=UUZ0AsAAvervg{uTAbD-!siKrzm4Z`j2&BJ zSS;?6jt(}a`+QK~R~Nm$B#F?M5RJEQM&Y_Sj-=$WAeb7H&6TH5eV+X;bISarq`Got zPjPqV6(JFu1U7mS4~RK z$@_5a%9U%KaeE62xd;^+I-vxdHOR>;K6=zYSm3^lB>TIrDt~;T#X8=d%4Tz%d8bh7 z??fMuUZIc&KO6Ma)*zLXA*8&;Og40M{z;$GQf$MC4u#a^_dk5U6h4brZUlTVeA}wW zaU6SV#N%80l2lV+)SvZ~0!^mQAQIIYV#Ik_%Dqs~l z9Hhks0!pJ`$+!gFM7J$c($iNA>D+iDok?PE^I)3`e(v`rM6bRW0fkDyC{kab?I_v_ zgx#x1Au;nv+yoH=Sw8Mc-whbiM2^G5>sYmCiUnBxbBx(Z{3&6J6hHUB7K&sI-%bBb zA$qSWAj@(NOQNY`fkmvApgl_xWmN3nD_q!88y9ic9w6d#L8$ddiW{B-*=0r;vVRkQ z-6Go-(>_%OC)8 zKp>bd^r~<3Pg{%PoC|l8JxXs6H|ij;#Pd7u9wtS9N03HIJmsLOX;u7Ngu@V!z znY&>@VDi)W2-up>#Y$I+*k(8$fypcUxS+76Ti!uySMzvS zccc=eE(;AbAz>O6!4d$~pxxaj0AjP0$!>HHm`P2fKwvO}38&}8Yp`)jHi?FD!;p+G zdE&sV{-=ik6#{%CW!um0;YR*oxj6#HIhujGmYb# zKt-RM!HpWy*@_mZU9*CYI;ux5(y6qzc5?frhDKVW8=*qDz)vurI$kiIHV>)2)^EE7 zyT4g`V^*^Y9(E2fJ3AlNv+6ESCv!+vilrYE zI@>T!ET&FKkU9h*BfB$=v#%ZeW_XKrnr`V9?`BdbF)KSMni!}XhB<1ub$aDWE~a-hU-^N_*5 zUQ7lRItygOnhsnAU@^qV)dophi2L>zI^B?w?0zxNoTNRzhf?*8 zEGztT?RcgSA0}H>AaYYu0noMAFEnYeG=ji-Xs}T7VQDx)CY!!0G7JXJq+zaADOeGF zq0S@#W@t38BZ(s=Eu{iB)tkx|)`+2J|T(0!6AxPDVi%F^H0>^ga^nZRVivHH~zK`}DXOMZPC_ zbQ>k-{t7KwAdq|OaLK-+glThyfzjm6Px1*21XKCh>CB(mQt5&Y1OW(+#GCtL`XUSKfTl`)OY>nD(fV`d;-A(W=;T|6A2N} zBnd=Fco57#4Wc;8ccq@tgnP zn$(&dG3U*H_*@eJ?FjSXS6~gfRKG?N%{xC6|5yx^xQ&?@A;LtCabx_0KyLE-Lj&!W zDqy$TpkaTsXSwB(Kjl&UU+Cq!-app&sn#<_y?5?;n;hd<>fa4NAZn#!E9>Sp0))+p z!LA0bKyW!@lvtHqIj7@nKRY(63o}Ooh>6_sG<*rfjaGM5wc9+;YDKu)OO0^zUqLEK zP?^pT&b1;_x4k0y7j6uWFO5$X`9O>~2qTn2V^~c)b9c5otKM5h6om_dJ!li}I zteqtqa>#YAm9~?mFL4j}(rB&T^a}awM_D1U*9@N+^8~k59wS5Obj2P22 zDm+>xg!+2~~S(v|;3p zrc2Wp&#tqLCzdg_v1jJP(xih2_)CzgAAXTmAr0-0-|6zXigvv-H@fM>npqrmb0I}Z zSXV6jm%^Tx49F%Z4gBTzcmCa0BK{pb&_4*<-WX*@ByDG)*;jB=|{ z-y-Cm#Fu|-tG9FnLXTA3(iapdOviUfMA@r!S zR@*9G?8?q<;S2{peglG~oyI!jc9aB*l8}tNZyU6w1hy23*F}gQKW@@m=N+#T+j;QC zt8XY~B6#+G`(VA4rbm$iCZdMb{8M;^=ac*ZFV-LlhT;fWiQ;D{f~BJP9a2GlVp|iQ z*-|JWx+VI#MMoVpJDZL{0B=OXl|is_>Fo2WScyJ_HbcuaE_*9AXJvI3rWrt~J&7Z3 z{Kfb9ZX=0+e84=)__}HYGor5Tg9td|{Fp8S7ym{-#F#0cTwgy~K7dtYyuCsF;(7_I zlSfpeCgY|FH70to6%cfg0t&eYP)>_y6l3NOg*C*t;yJMRg0;(mOy{nZaDFC7b)zP} z`#r`{1(t<7!U{~;d$XI@e2j&wYGz8Ioj?8lJJ3%I(v${=7ikyKQFg;5RP{3O5;Y8Vuo;f0M!RMf4K<-+IEc-_%E-8{6w~zs7^h&c}nBl zIZm-}Z-R6AjrqNv1>0AW6i^;*$c>oVn-8~fIf6ra@D@oGe=8}fvN+WbzI<24c;j{e zq;zIAdkF~qzeLa)*D5SQZJZD6H>d!FkIys z@US8*D@R>y(6|a+DZ4+a4u7Bd<@gl;bbiW)O}q}}&W-!`eiTc|Py6y?lHHNCr4bNl zi_P5O&ktO3MBy23Xyd!Eu`E>kAgo?nWzLos^I<4M))SN_$W@BTRUuh+Sw&fTpmcQG zc$P$A@IMsp!n?RYMSL-r*R#WWEad231t*}K&Up&u3B8htBbmzz>$pEzOyq%O!08OM><33 zQ#fh8F)p}l=KsW}lW@UUXc&J~z9+aLie#5?K8zqWNccA$iSuXkUH!4FPKn>Ev->Gs zZp*Ri}ruaY37HBZwldA)DVi zpgixYrHO?%PQH*dIbmLZUP+-Nv*4+-pa$4yeq{FbTwL1H-#s)Y!B?kT^0d zOg^u8jUS;NSYIZl`kU)&U86CM5rv_}_^!zjjtzCK3Eld*^lN5UtFi6MX&7xJ(?3~E zyPSs4B=#P2Sgf;2Bh3xwyv(U_PqHxWBHg^Xff!1iXjw6pEVMG9O(iHehCd6^8d*n+ zKAIqg7xApuT-f1u3@SrzXdozJ3P}=1sgaTgV|)my41?NvJ2h~L3K`}iPxRaD!<~US zTx}J?rN9R#^JLN3eC%zSS|g{;hxz@5mm+~q{JPu&w>;5KQOGD3@VQ8=TqQkv(^0Bj z{QWnL_^f;#TK((Wf2S0~BPd!vU=_v?GcbWhw0a@+ztcJhtihXr>dSqbvf|`{;gdZ` z9K{JrZ?l=$fI>5({R4x{w{-i!9QUd+06v@mWWRU9ZJU=a_q+a{PkInfZJZ$G z_w)!3hwgnpFrjYM>9u|0M8&g|X}6+er@kaq$)c*e`EiJ>OT44-EN$G}YFSja{Yyxa zTWPU;2f|A$NQ7r-(>;-sUlXbs*W<;)-Sr5!XKXjnF5&CRDCx=aI9?)Ls1>>iP~sWn zu6DLwpE>h7{iK^)p+p@R}$o6)BEabwe_smjjPwH&3!+-l|CilH90 zsKtrb&TLHHIMXvxl;}0nZhPihqB!yTX+OZ{2{86Q+ou<_aI1HRP^r7Cxh?2vLo`*; z;m2(eP#;x6n{2X>X@vWUuxk+#4!Y6Q|X4zYgOxktxO zuNs1C`C4dIO*)@3K#RIg9Nd_L{6+T(Id0<<;-ggB0GJgeS+H&)!s{3;_?(T|k67+x zjImhDu^#)Hn~MF5Vz|o|`1tNaF!t8o%h)k@bN~6LkNG%y@glHkX84AJ&ISM+^0qf` zeBYu&Nem&T=pjG&zFV{Hu^!6F3OvvbWzI5OUcMOBr{8yPioJmB$kJ`@zU8xDJ_l}8 zMS<60EC>+`=~!6Bgd&#=A}*RuN$uCWS}kcDp{e_Ai~{NfGkpBe!b4;fU(!U_eajXn zWjh$OZ|{hUL>&N!ap6|#(u_-H8x}s>P+6g~uoGcmInHy>Qf)I>r|S)lRi*_4fPLn7 z-{b8Vw-FoT2n0#lw%qRG(MlnCqUnUPBBjyF=}duQMj0dImqW6$>d<%&6tf_GcPrgc zaCrSj&9p!QAhz4AI8b2I2#*gc#ShWFr72JOH21u;@=Bhc%M{E&A>&ycQ7R-7_lG#* znqB=!)UYhiMo^H*EK^{C5)^fvM#p7BrbtcGS_cZKm*17QIGVRHE!(0qAvCR_Xy`;e z@22`g)8hE>uvL@@%)uIBSv>H+>k~GirsKalin~`tMRfJ(=s2X-4}J%T;}t9vcT!3e zi;QAd1S>T+QqMY4yn=I*bcsO8%Fx>1N(n=k!7w!I^q7S`5q`$2nOmHF%eVM@<|bBeOD-@Ri&4a}_{NQfe7 zpesGdkP%k0E8ni$vF5Lx^>g{-JM6Wu5Tn81s7zxVsgKiG`uI<%&lUK8{(E1MTQpNt z5=Z3VXxfqyV;I|kVEz$UgYUQ(_FP{zaW$BPN~m<8uLplPIbaQv-`pIrc^HSE|8PiE zAQIHIs_D3M$pF9Q_a{60j0B;idDzw{))H4Bfh6%TLxId> zI#P1h7d!LLPK}QXJuolUv1;4zf*>A3|7 zP>_+vbfS>y;uLdp8E42rBtBY>C>iINh{vOst+X3{;HTIh#Q8T9SeZO8oy#MnIQ4pm zlRahGtOnX|yECu(*}jvPH2tb8Q%tmM>F(|W2L2bQ|5~&bNdEy&JolspOm=ma7?R!j zuKuyf!)q;-?_Z6+793EC1pNNaofWVTK{qrS^>}A~pe>m~H^XTx0JNu0D~qLw2`rPy zG4FoPm`Qr28T;({2A1{oW17VDxo+*MIi}YYg+>e8GohvF4T&5rq@7u&#Ab8&6pcA9cjX;;ZkY2oRbc5Xc!Av85a1 z;LLH7RfmXx42G-V)!UD&yE}&J`f-Q)AYg{DCdSn%HBkmu4!s&RKzUJ13e*ThX=xE9 z1SRc}{+Y1l7g~@u`k{IEg&p}8-vT?K6iP;&Ad^;mRnRCEZw1&?@CGwFYuCP>1G;6e zP~bY1Tmx^Y7*9e~T-=(!3EwE;3{5=JNc@pG(d z6pLiKY;<^CeFxeD^fucLX4sDLj%6J4n{Bq{O}31vsKIa69C*p_uw-};MMJut3$)UR zh|+foH%gYtBlU0@=-+#Uo|)%3*4L-L7rPG+%96a3PH0Xx$1O@c7MbbvAK+}Z_xnvc z#Xsd-k(KuJY1%G!Q863pzE(wg_=qs`*rLVL`%Y96?`t4VZgD($61fVMlf&Be=h{PE zU7$acI7u|9Kb5$ouIZ%VL{iTA@EQlhxFqpRsB!1UAH38@S{y!dB|RxD>4foQ!@il~ zw0>I|cou!auW9A{7l>5doGx0$BB4pzHzct%&j z61b-Wou!@lY&a%$9~%mZ^`@>$wV!OzU-lw zR0hF|*TTyRv=a%gfFYQ4Bx4duHVr&Eh7}ba)elET(fIH!zLP&vQYZunRiHUK96|zi1;^)7IKzHe z6y8;jL8xtN_4PA%Fk?b?&#rE{_AOlN4%Mn_K!h10B$X28$%bsSW+4&qDWXXnO7!nf zPK6}>UPKR!dULxpWQs1r10sPOssYh=d^p-#v0jM`_NO3QJ22MEVhTLF2}ijtMGWdk zWStQ*V@$s#09n&z8YWjxt4;35sGknYSL&m1IDjA@n1;r~7`q-pM?nRWLgfeu6LLSQ zZ*8UDd?{T^MQs+!J1={ju!0+*k2xJG1R+ZQ?mm8HGoP~OJ~+4$oY?Ws#f8?~sfT#< zXSeKIpnm`pip|)b?LoZC{PfkZsj{2g8M1Ywoz;`vDvFG5m`q(3coA`~A* za3-x9#=J_5#iUrpf*9kS;(FN*R)+;TZqGp5cB4+D@B zN4%hl>Go)`b1W}GVC2{Vy#FOu6wV<8!M*RkuK)kzn~#IVDsE(CFaW2@7B9Y#IFfjw zx%r*jqmhw!stay!7cVYlK4N@sdB-SOvgA-Vos+Kl)wdu7+h~Dzjr$B}NY}E! zWs`(nW~~xZ>;zGhb?XhWWQDR33TPaVif@44Abi*YuD3}d~hkj6}Zr@}2h$3xoBp-FsE`C*7id#zBR&{P0cAd(;+I-ZASdTbN zLxo-^rW86P+G1#DR^kM`%ZA12Jo!mi(Kt8rXw$AhL%(+;8ob*J=>uw7O5&KFSK&yz2s5Hg!!RM+*rw?Whq^& z?7_ScA(sn&NeM@gDYS|Vi<`G@?MZ>97;eNqDP)vOSuwMOgpoQ6Ex4p9MxrQV8RwLl zZ>um&B&9#=7!e)aHdG=RsGl(nIOfwg(!Ef*+)OC*ycQA?8yp*YEwr`8YdrxgnjBgl z;$KW)YglgO!mQ-bf@hPfCv2-r3C+KBXye5Q!{4{`$-ePHNA+(K0*mA89!45OfA}15 z9<+x%3ZAh$qL>w70Q=l0+|!PXXXmjuMr|b64yR|s6DVr9Jn7HY?KBpeq6h?|t;y7s zWb>U5s8M!bLX=7`gbm#>n7Jw60R{byb~RekkO>qS89=)Xg+5E8nv8ax7J#;WV(Rq8 z6J>PIK8pF%s~9vlBbBr|fh@Xye4G&wW$%Z$k4GBMSdXD- zNuCeg`xD(jPas^D6w-xCqeZ@vVHWWEqK#!2i!aTp_*M2`{l-|3F*pM%R#vX5hak8p zqwMb7h3bFJF*X3qU%w|3m1}&16e!xisxjgu?CkA$>4oNf`TJ6uopK4z!n&^vzU)S_ zBmp6m!c$LGTe0n|%Qp@xtLh%t7u%>FiM2T5upzkpEWjvjG z6M|S$s}}*K$GYoW@{1vwtgWl>*2DUfJxSglcE-=2D~3}S@#`fpyF6(lLI%xw`_*rS zHWDEnJhc5e!>Ia1MXH7b!M+GUC%xAIv1KkYL~doC{?~nlX2g1)Hjze;;Zqst1mXqS z3J}kXIDdR&vr@;NGCmnryGcCYvRe1J@>|V0IQ8ED%_qNT6V*g0OQZ;n9jI^=yei)M zhK}B?(O*&RfXrpP(%T=*9K#Jg_ zlH+B!MU>G4^<{Uo(w^iv=V};;!$BSded;)YSYfrp%s>a}z?-#y%t#h3jP%+wZ!gTe z@{SAj6T;QkSyXHZm-s+6C}dF_EVBGDta*Rtwj(N7vi^^MkTw0~!xZSOdr}9M!0@tH zG1N3aGHK)JqsIwm_4f@PY2Fl#lZ;-|1C#)9(T21gTP&HQSX$0X_h%`#_T=T!-vzB{ zZ2Zwp*llWkX)-!kIW2*Ezm*linF9R$F}3=V-?1}})7O=(bs)`&V8uijDKKYV*VsgJ zU7_a5(bBijg`iw-{DU=n(@aflUln8j3}Fca5AP7eki(YfogjsAsno_`<4>t@bxfrD zZ&$2Yl(G|58w5_S9g`~^}`R3Jepxki(78x={@V?N9HNE=1iO5QzXJ4RWkqNmm0EmmB#ip|GG&B zub+TFgE!v*M-gW(Sq}6bp-~D2@7nf|8X+_#+s?S6i_+Ax5ps)y#b6E?`i1nSH@QCn z0VI>qF?<@r0I8gmokU&?`(Py^#CC@kO-PF12aw0~s12mR%OJU9GeyUI2Z;nHkw9XUCgRt5E)M}3s`a}+ zO^=WE=UhaK1xkgJUy1j81Zs)A0{J>)lYIm@LewDDB2gX#jFpfP+V60gp|GwcMB*wO zU>>5vRrBwK2j~$?&OySVH>w)zQK=_H5dWG~%V@|6KSun2;0gp&5WNK}vqN*1zk}J> z50wi>j_U#zZYYmv;+3-mV^7rlRL9NsCUZ~VtRB(%tlDKmf=bJIGcs+&nVz57)7sQC ztz+3{eb6so55Av8PaX*;qT;DYGM%+}ok%7?Fqz24^jJ0_z1&aY14fp|V(+=>tIiMl zqLC@i-nwaHBR?Ql3UTR_$jCmq#bq`tm_VNPe718rOn3?1-&{5bV}IVyv>9(nYs9L1 z&VIliL8@Ix?bdZ=>64d~UputnqAQH&j9c{gwue?X)p{3swGWS*CjF|h>M`$#8xPwt z@N4TwifVoq!vcMBZ^}E%$Ow%(`sr*_cV8=nfO2=I5&bGP`uaqR1?YQPYRdH`&DP$M zz9b4bqo+!fOQbUCd2lZ&sdu9-IPQ$wlwYlt`pNWQ4c|X*!ov$*R=YDgF@LZrt~kXd zU*nIO8oLuWRf&6dUb72A@EpOa|` zL3=D*nTO2Fgt$~#kW_$syh(tMg#h&J!Bl;VLn^j5VtLK_dYoIIh$A4SX>1Ol2>yo7 zD7cUP+>#>wOAfOIyAlPWNKJrkV)%Z@GpnvF8*1$`Ya@PoZrLPCEt&IVlG=_vpkQQwQ6-F#EB2Iw|KwYC=zdYHlu1%Xt^ z;75ostcV(skai%kdW29h<_I=U4CgIE!f{nfF&YKfDTXp8GAoFX&L|Wd`#d5*HR>39 zCV_ElolD=#O8f7T8RBF9loa6lH8=#WljU$=^uCcb+!DcTwu*kxFrp1t~I@^KuP z;pE>qp7S;#MBAg49f>qL*eXAI%Y~yallf7AHCVg;?Fo@4xi_ORtD-D<5^QOkir# zv72fLc_X5O&M_y|SPQ@s>sWSAl3O*a6?7BMYWKf59W}lEN(5Iw8_P;#6^!|dt?WsD zI>LuY8z=~j_Fx%*Og6>v6lP%bi`HR*((&q1Xyax@v+v5+HXtdW0LV{?%qREpvjbz@QiV2^#KHiRXsKP!4o9p|(v`#P z6X%Lo;cNu2OmK+|>&RdvVeI}UFc$5ywO}w`m5*4s$aRg~9k*RO(Nygcsr9JfQ(%w_ z3`vL$t9LaA3!#=r&=m3Bku^FvBltTMZNx#O1NW5|^Umjf_;cRH zeBT`Lf%3V~cdI4mvYO6$g;WsdYWy8z(XvbjKsM9BiShDZg|S2J?~RBMDNdNvp%NyiLIrS%ROS53BiXBt zpeS%66^sT`f#^3jl39e$1}YJ69DXZEA`+uXkZ_l2zh%aoF57nUL|r zwS&md6fQ>XICjQ_f5pLl-you zmrJ!x$=@4zgt92Zgs4|b2RNcnT#`E)VgHWT@FS@k04G;!4_z2MbD6UcKupJ@nsWT~ z*ngP_9*E}7<%pkg|3gRW#eZQU639fC)#OkOqvoG?FOdL72o!<{hy*!{!Drbl zYR=`^`{prQ7JXQa;7FrP^=r#OKLu6>96<NgAX4x2nz85QLcu@jTDm=g)w zN|NASD|6@r5)xVKgRJ7j`Uy-+ya1jvAq%xLoniiaurBI-kfdlYn>Y39@Y+muf+8X! zb8R!P1*bk~~V>EwB8Clrw8P1Nk|IElB^Mx6F&-h=fiY)1P?+SxFf5pa35BDUGO21r~5dS_s zokCJ5%JBRZ6YEv}-m_}ZiyS(oe5kp^qkZGX_VI4N>J%puPfm30 z9I#O02>>iPQ*OKs-VSC5Wvi$uK8c&D)@)hPG(9>BY%$nSBN{_@2Ki*7?rLr5+O#I- zkMgUY*eDnkeZdzsI`N-u5R|>jmVrv~jzVQD_DMwjl@VCf-x!$9o7|n9L%mo6{>_5& zn*p?ZCr1176tegfe3XZ`whn2!vIwCPzJOabgHc^0DOwU3~vCkrb8fi1Oy6Z zfvCPLV_Dh_0vu3rsH_y4`!@C1FRKivw!~@oSGxuC{5ZS4Su>n>n5;`s`Z}#Yr6n~r z^t0MqXYaI1E;edy8FJ%b z?J{Z$bsVtfv^whM%~br`3f^&U@dM>^))qp$kbFF$c;E_acaL>QOpm`fL?bb}xpAFh zRu)dJeEg=(lUvf+X?D5=!KQ~sdeyMOHy4vB$&pb2z~}ZKx_JZZAU1aO>f{X@E>Db6 zOaN+UeB|AK==%FaI6tihx#J%64+8M=0ApTWTLR>TdJiMQAbh>ZuyfR7WADxh`enGd|#Y@U?|iJ3*Z^Oyk|p8al>$kCgIS+1?_9hF0V zXL@%Zvji_f`{}K}`>-BU?mXu_=l_n`9kkGYd_}~p?WuI19W5_(2xQHIN{MoQ#RgRI z*4bHT0J?WV9k>+Mo9)^gEh}vFh_P7_732LEx~;=}sinSy>J6}y%67mmhtU$4 zI~QT7+&%=sTyS)rG`wShK{lL9Me9GJ$STDwoZvw%=Q3Uxy@X)5P+;!f{3Bj7ERy5x zuRP!MvA{yN!^Kj>id?`Q&j!mC>!FD8(2x4OmbIW=?62o4vzhiQ6J_;A(+C=>5-I4LL1U+s(Wya>IWAWXT8B!(cNm()(6HpZGkG@Zon7D zl_TdBb<9M~?;KooV8Z(+$fBFGMuJWD)H@lEkzMmsn=+8K&}b616Bn+OQTqACXVi&c z;}=VO`SlW13sovqRXut{ElJJI>oXIQvb8%~dUo=}tM#kFtu&A!%=N&d$eT*q=NI!q zm1p~GZJ0!=4iVxmzlIiR{A#rH12aFgP&k!BuGgISWLlb!)iykkJmZ;1UH=a(nPF@`;k!jkjfeyi!RS z>4S$kucBP9!pDR>q-MAHT}E(6;ubATA5y<~?AMY_ExA*i3C|W61RL9UuVYBZR=5ziVV+d~tj8u1=ZKAC3tH&3lD-}Jns}mjpHX;GOlE|sZ>Xg5UYEC8!2T}~ z3GQ5^Lja-z8)znmQdsuMRW0BIq9@eIbrG?eRfdr=bSYR{kqCSv{a~`s&o=WKDrP~j^HE$3E*zke zdd+eg!C3U$T(^YD%>4`R`n1sG^^2Pp7F?b2yweF_on(E}B>x?9YW+|_<7*QbooLIJ zQf^HO7-4wNtt;Yh4}q6<1%i*G;~EcnKfIx+bK$m@joJmmsHD{$naDqc)Qw0^T@`Du^uV(PZ?8w|aO{9v9y zVRcOcV-I8R?_;KPO+b8`s*GrWXGQ2YUHYOAt^N`03Ln=tr8~nBl-lQeEwYZ8{qgE+ z?DPX4CCLYgQFGOn1mBRMesFfi%*t|T)MB*P_q_dOe<#A;**^5=nU(z_$+ML!(A{Ur zQF~YxWdRlA6`|kQFfRNIgs(QWk8KMy!hXS-`W(|umnh=sVIs(T+A^Kk?LY?AqBO=j z=WlydeKQZ=JGZXjrGB;H+uzXZWyI*;&)1@EZm)*LBqJu*nxsr4O)%%)G%hF((K`3C zfU$?X!_PcvH9mddK*d} z#^!G)*Ui-=fKBETc@m6%wks@rr9qoJ%@_dM2l=uPHNU*zM1F`nzrdqKTRdWn4g$`E zjDms_8Lo<}78hJ-qxI6%=pb|5=c?O{?nYdjFus*c8CF;GVFCmK_^y1WFo^7XWW+^3^rec$+N!{izQAQm6v=q_te8Lp$ z8r)1+q3qyIfR&&2BCxDJ;;BN@`OJt^g*SqT&7T&O$HV@lIi=zqmHCjtxaf9~L3}!e zB%bn=i0RLG$fUkwFmd#%Sp+?VM&Z8>!m^R8U?`~wm%eWc^4u%z3{)AqDzu&8_?pRn zwrq!KJv&Sh9C@rCd*6>6N3aul_+3FWE3%5YM12T*y=lj?XKdznPG2I6mDtA#_u4;s zj0=^jfybC)(LwOzERU#JbcM+v2|_TzO(%X^YiBQ_-JO{!#|!#W}|dAxEHE| z*_Is;9ft4|mda>WokEZ~K$ijj<@GlVpK5&oV8v29nu!X)>WlKcl4d1FB+g^gSPfAN zp3JZR#eq9>>!vhIn<+gE6~kS+`BShj@>W7$Uqs91dJ|?p(@LexM>Y?7J?WD?k}PLg z4Xh86)<~WOMmSUop_Q%HX`TP<`3BaIdLhUhr(5zg)l@Q>F2y9X!sx$ zQAj%fI_~3HKW^7++#v=|CYe3p>(_Tf>K-omi_d%jM=A|RgLtWgf#qjgUm9mVpin>i zOT1>9BGZ(b_=&j<@RYH4ir>-`;}YZ^#_HIEJhzY|+n9n~6waRhNYsZq+Q??fl39|O z83cXL63OBr6?^}6wm7i8U8QmFcDLQG70W@t>%0VUQ)5n~8U}Q5?iDLwK5oWy?{QcM z`QV(0rp5%ZvszPVV5;E_VWzWCEj#O#dAiSrcdPE*Q1TZ1-xkD(h?_T}L zmljbSn^Mu(SYgxT=lGZ*i(iS{<>QabG8u&UdfVK`P2|yOWJ{+)>Sef`f+zJAFdF zTII=U1ekVwZ${PXJz&$aH>)}hhR_W-_B0iohhLS*6lNI{TZfT7(Q8_)RI#t?g_xVJ zs9z~(rq}IZILizdvY3w2y&NXXq5;bKZ%&J-xV9L3=evT|iP^02Gn8Ta&8E zlW-vnp6(Ir$xlFJ4v`)~T>5*eFV-_)$ANyF`J&e#tnBv#!$igO6+7PYHETSSycu(` zY}iEujFvySh{Ys-m`MOq7F^K)$2B}HgCI;>j*|g@c+h?czM2i!crVP|wY7|F?d>Zr zS4dw{3sR8G8HO~J?qBsvdr{5H4wE~sfFm+Id6FR|88!E|oVr1#shikN9$(*buPW|& z$at|(B5fYliie!b;bf?hiGR@9H9fvo1bmv%G%!eu8)7oWx)`s-#L=C7r=H9-&sr2$ z@cvo?SQRO(Hu3FJqXg3P&g;}K|Lw&sjlS4FP~ygkesD2{qbj`>U+ir~OK6ozs6|0c zz~9UW0D+kymowe!yPVy;84V&w+vFUscVo)w9vBFS^lu0ZC@)OGLeq>byzN>ZqV(D_ zz}^yY1tzXKQ6*W5UKiItjEX2ZuKXzH&~8=jIj24D?&{ukFRQGLwjrHg9|lPOC-3p6 z-xoH{586Ib3p7?&uOiEp=E9LDlsvU-!z#>?eVaCZ@~EP{nRY8r^WD(uT?0WL@Mum8 zaiC}d=Rv_azgk~HxPxlT<=I%1uPpT-2yAO2kl;{C3v8gWPbU{}nnn9_xnP>hNPX_l zEf}d1a<&iZ%8%J}L}^3v^DujHx2+YM66NU!cpL0OfVdqcZIekV(9d$2FK;cXtT~<5 z_<$i^F}J=(sO(BEMPX_X)NI<8C6xub1rJ8_Aj-nV7f@MUl|_t9nDeZ0|5h-6ZkbR@ zhp|CWn_&*55tW=MR%TI=&yf3FaC6XH-CV?*Edw?ZTbx8K-j~w^8+NWkB{EIp%ds>J zZG|>qG<4Er(pk71QHb%qwS%L|RG6$CJqumXwM`IPAr>xzsj-}J917<$U}Js5Ap{oZue%n+oivjh#ASQlNg`#}24)$a3eLyLgf-{F;x3;0u|Y)Exk8Y2#|1o2IaG z(@J7xqA$s#i2LEdEZCoOP00Rtzj;v)dA4ABnG=5GKRLH zoGa-7K2eozGL)&hxJ(!6 zjq@#dpSlybMa9MEr~ixg0Gw>ju*Rn`@_6X=wT)oVhoxY) zXM$yH;aGh|MVWMf1VSi?{TUv1NTM5o}Pkj;pR4%jSBhzYOK zT4o@o6T3MbhMdzO&_q33r-}omDNu62M-p`DK8WYnmszO%PcX}COF`3dR*R*S(?PqE zYW+t9-&yKzrA4*6#(}gvmD6YYT8#Ixy-SJ86?4+a z_|X8&c8ZmYVjbl@spVi6V}9y7I{mEkNO*8#HI)`kVIy>TKEBM_^m^oAw#5A@Ap)BD z2AiID7lhG2c3{ANpTgBNysN`~01CWyo`5tMCM(Be!GG5O5WU!YegFdv8=i_tp&=1( z{J|zLv8kL-gh7SEbnH%_59AD=@$Q;IPd&dB|Mvi$1^ECr2MU`;f3RUh#056Oh1)vV zwQCH{+waWC&{(wyeh|RY&PfGr)U7pa3>=@`$Hwwg47Bt^Zjle;yAs@B?1!E_2o{gw|a zDDA{RDZ5R4NLw;|#|@ZX2U50p=g}#t9K;~dJKj?;7(g_$5SCxJ(>54kl#2( zL?5T^vRS}Z0+T%$um}QUx(7c*xT}$?V||dFYNs6*1{3o`vUY8lIaln` z#f|jh*a}=M?nty#3~ z+b(S!W-wpp#WKM{U0bxrhKQs2v4R3`=jm!UX`<4cEgJ}boaTjl>`RxJ8NWT>=1qN5kcJt)W@#SZ2d8!;%mNIYj zDn7B+M}hGSeOKvWM7MjY5ytLW(Rqf!kBR}s^QkL0;$;9aSSsnMiQd8Z&2~#tU;DJ< z)%1wRK#Ain$66KH_;g%K@Uy33FpggqT7!_DGzRN9pdmo5lqvX9GZX~$;%2D>?r$R@ zz+)7(E9XCAs~0pkAgs9?3^{&5z{yS!v35NqTzn5178?c?t}G2|Os^gEh~8}IqqW!q z1FEkuckJSa*kcp4mc3z6%XWY}C@2HrE}dX#@e=}`;sc1d>p)0&Nv9ygoe@-c08T2P zSm`cQ(~v+ji5Ya~nAmh=sQ2IG=55K^4YB?_L(w8g)iUrz#*XviO9-2P^9BODJ^S}Y z>4>z>@T4)~@)dyw!QPP!J8;4#`EAJ*^!qhx2xi`@92GiN^uTo5%jh3eNJpB)^|u za>mCF9Wec)4d*|Gta=Rnn-V_QP@kAOs^Qh7%-3Gc3pB3xp!EL@JXjlq$7GtJ52dCbMO6+h%t- zU2c!p2Y?Wapcqb&6wR<4FNl(?sG4q=mhHHnAB0hyq*-2+Ro%2*KaA77tlNH^*Zq2b zz5ocp2#VnZNzn|;@q#GHimK^`Y1xkJ`9T=PNt)$FS=CM3^+p-S$#gbfELZEzcDMgi z{vH!VNmf)%H%!ZR!jWh!o=B$BnQSg!D3;0`E7e-P(QIws3!QGSKNyb2GSxHdyzb}y zwk@LnUuKdORnraAvK`m+0YsQk#)VYcSm*gc7{y7Nc zFK-`T0EA!!#c+b8Xolr@L6l@g)pWzOY{&KdAdKQ9&GMqG>Za}bVVq27^Tl$t-fVaK z!w~{RNRXjGg$8}7B}pkR@`|YPVW@3x2xU+umAT0JjS=Q(R8gb<{{Y2y4f1nhP&s#T z5`NEY4y(fc_Pwuqp>`fpX*mNEKT)U9R*V%_NarY)wO}+jn^ERr>f!R}*RWc^wvoCV zc`2aSNm0p|o1`c9d9au){<4-i6v_8~xzxiV8>vOk&ZzV0IINL2P@Z-E?trIl2aYOC zE=s&M$N9L=humE{{VgKlEb@@A+E?)dGx1I2+cBRibq2%zxng*0WH8{=Lume9=g%Mh z*3t2D*zv2}Mr9gjGG-n>-zq2`6t9%IO?xl@{#Gyh=hted?)va!#^yu3PWu9?8|9Qb z%j@nN(j)dK>QdxmxH3;I#7^m<7ic`7d_K|xJ zk-YaO4ab_RqFLw@dE};xO(c-DAPnYAemfKbRV2&@xf+` zw?@ubk^8b1%DG@WIAaOnuA~_9JPf(KW}6by12s1Mu-hajWRKHne0lwam#G)==x~{B zlRx&5<7h5R4eVHjGQW}zl!D&T6*n2&M3{m(Y68uZWHMQb6Qq0qc6<$jF{;;bSE?8) z%$NOkD7f2_{o2HQxQZdAkokyp+Uu=_Y&aw0)n*3DmFQzhWlGY*xa?Drvq`&;z4dq;kyfqzFz=1VW}0U*va4VP2u>s6&2| z!GG|L}#>)Z5I}u*B zh@u8EJ4pNAY_5F;xZzW{O+G$9yX4XKfHzJ^oP27knXF5=r%%MtH=x23>5o;l-6%&6U& zi|B44j3+6y(kWwCtq>(_K}NZ)3-{SGeLzhc`2FS7D4UqSwe!=sC{6!qrzka#T{CKX z4d%lP+>xx{bY}(k?&Fl9iX~(FDp9z{M2sYP-x>DWPZnGi_8!5xLmDac*@SIplkYrt zS$Zsb_Rdlgm``36waN#oxjuBAel#WeQQt>R7oqqYTnWu+E*NtX?qzm-jAelKL^UXP z_*tkBIJ#kX&{t_|0q&lYZZK9oqw-1v%o^QA@mAY0i?vc`)DhOX@90X84l3L0w}USM z(Q*3td$%} z>)Eg%({txouH$|1Fn`aUDg(B-1pyixNvxSfacpY{A z(fI9ejG`IxiaOF5&h*HYr`{n(dS@F{nRH!D#M$y7@`u6$IfyB)h=W+NB4nF>#-m*6 z^X*ybIavRy;p`=;E~MB>9_)=&soyGs0(iJ1Ns19-!ctK~vVR5bQq5MyL*56YO`q2t zn>cob{2;crct!tG)=<*mg*r_xk0HuYV+Q>@4?oianM z){9;>YHO9%k>ejAlf^HpS5SQ(OhL`4(lu0b)UG*WEOu#gzqIwgzhk+QlQ6wn!;1g< zVNn*$oxv4_2cwcDsW@4{tdzh-zp+h_J}gFs9X~`L)3KIuW*P=-Idfppq&$h&aR}*p+Q7TtG2M;q*H-8?IYHBgyb@oX`lN(7CfK>mm0lxq z*+fiWTjvwu0d@2ZC$1|11^e7*DHx;9H1sG4uH(ogPhwCCUbPmy3!-AAH(+emiP|nb z$fq?(am{Z_XSaq!t+`*z4rbWG24v!Pixew`6PG=nZ-$eJDk0pCG8B0u;Pr>Dbj8qZzQleu%^5F!Q9B69uTU;kaiJG#<1lM?;aBTm z*b4rb0low-ZMbLDZ=|Fd3#|I2qocOTQYiRVc*5tWP{n>>^me{g{`p4@q9PzvvncX( z`mi@tJofNdp9c=1}=2tOrr`MZu_+|bRx7R|v{<#;c z(?`i3!_N! zm88f1jX;6ql;Xg8%!Sh1)=G{Hj$>h_SWh}BI71O7;A`)heE3~ppzhC>Rk(5a_C6Id z#)uh}+U@U-l%?lSkBHz7#ee7fWaXJk85C5~Mtkj*D^yVrP5WH*GWhI0q<(zT@f2E!?4bS{kW`Y&01RIg>nGt%=6g4n=Tj|`hXTUSEvDNSx`rW z9!y}~hcBu&T_f+b#Vn(vpe^VLuXI~Sjf^@W)4MOiXLIn0;bPxWJ3-=-4}-gw9u<7M ik==zO9*S^GSZ8dpg06VcHn%+!<<=isyj%CIkOTmuVJW8o literal 0 HcmV?d00001 diff --git a/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/@fortawesome/fontawesome-free/webfonts/fa-regular-400.eot b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/@fortawesome/fontawesome-free/webfonts/fa-regular-400.eot new file mode 100644 index 0000000000000000000000000000000000000000..21808cc74b4894d5a43e3062729225097d9582ed GIT binary patch literal 34350 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℘?hW)Ts# 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 + + + +Created by FontForge 20200314 at Wed Jan 13 11:57:54 2021 + By Robert Madole +Copyright (c) Font Awesome + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/@fortawesome/fontawesome-free/webfonts/fa-regular-400.ttf b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/@fortawesome/fontawesome-free/webfonts/fa-regular-400.ttf new file mode 100644 index 0000000000000000000000000000000000000000..2775fa1e16f5acde9c37852ed01f009bf1ca2792 GIT binary patch literal 34052 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 S`M)Di_+IM|C>n~+>HiDY3xA9N literal 0 HcmV?d00001 diff --git a/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/@fortawesome/fontawesome-free/webfonts/fa-regular-400.woff b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/@fortawesome/fontawesome-free/webfonts/fa-regular-400.woff new file mode 100644 index 0000000000000000000000000000000000000000..e4acf9193fc37803cd524cb2e6a57bcea8caca11 GIT binary patch literal 16776 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 aueZU3d1dPmCNApWs_bP53vP>X4%m{}NRD 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 + + + +Created by FontForge 20200314 at Wed Jan 13 11:57:55 2021 + By Robert Madole +Copyright (c) Font Awesome + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/@fortawesome/fontawesome-free/webfonts/fa-solid-900.ttf b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/@fortawesome/fontawesome-free/webfonts/fa-solid-900.ttf new file mode 100644 index 0000000000000000000000000000000000000000..bc640928c36e0d678aa1d199dd128602f4c7f97c GIT binary patch literal 204528 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 N@t^#^6n6Z>e*u;g-iH7H literal 0 HcmV?d00001 diff --git a/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/@fortawesome/fontawesome-free/webfonts/fa-solid-900.woff b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/@fortawesome/fontawesome-free/webfonts/fa-solid-900.woff new file mode 100644 index 0000000000000000000000000000000000000000..7a14a11eb7d8746f60f949ee2b159c2460d1c0f2 GIT binary patch literal 104280 zcmZTuV~i+G(_P!XYwNCU+qP}nwr$(GYumPM+xzYF{{1F7(|t}?O{Ox*RClFZWko~) z0096108`ZfV1Gwo+*?4&;QZg&|GPv)l%#(R>3$cmeu16HG=?E6BrNi)N&Rx%|A7+t zURIHo;a9Wz<^Sn=jG-!ehSvIazgjB*09XeA0L=8A#W$0wzT>Y3;q+?*@gIJE0Dw)c z+)aL`UI2jlcK|@`MrKWL31-InMgV{ozqSC(zhJ>)iqkXu6@Rs|UylC^Vh}+vYBOsm zw_k1aH;5wu0QkB=d0=QOTf<*Fn>qjhD865<2^0bC)LP%o4gk>Y_SX;Z7x*ADfO50tnEo{niGb zb5+V2=Qk$-&@lin{tfTU;WRi&Hmo;-rm!JwBg>~ zUAW>N1~G;vIyyS~ItE5PP(bq<3K&>;HQ!HDuG=4gK-_~rAqaVNL}D>>5%v^u3VM1V z0RE0}#%@_x%bsd0OE|rEv=9w!xic?bOScMO{5BKSNhaax<;2pB;w&bO*hS4&Q}s+! z$4L}Aw*k+Glal3O(VZ~P#p0BLhy=%=LS`I@akBu(k691gJC5B*soh`i)nvKWPqv=8 zJ2Q?nxhJ0=?*|wmb7QX#Pb@&4TM*QbB>+3vDD7KxKrLXH!!J?Q|N8#b|7)~ZP{W5d zA-x#xSEF6d3~tP)iWzEzqzeDanKFJ*$J88FX;8L;)tq5iMQhHy(l5Sbs?`5?N!Za( zY-;I*9e#6sbKk|4 zig!@_soR;ba_g}@h-!-tNGOCbrx+CJImCCD=O#56DRjqqSMgdXhW>XbcL?(?WfVc( zpkovfT&QLg8MHttDU$Lo+zcT%!h|3QX+^jL$0`uVX2%-7fowJWS;(`YtJi0Q#|p1L z^3u>H+~oeLAV}h^vi{CjRW6`7K0?jPa1BO%*pO)X1MIsklKPCl&or_yo-~xpB;W zW9_)}r1R#|^*)R6BuMc*iPJP&qIA4%*XvTt0W<6Gv~sC5D21f6VwX}-gwhII~Q&s<=f%MnOr1(NjW3xk>q&MNLL2TDh@B^?F`&nYBgedNGe&+j-o$ zYVdgyM>XXl?~=N+%u-oog${Ft35imq#Zm~E^*P;^VCV(;mg>t2{KcL}5N`R%Dacn+ zPG0U3?RmLJh|FBMN4!pj>M84^Mwh(ldCQYZcD3sTwzu5LnU{86q3HevZ>j z8x9Um$e!c7)0Kfq9X?t=)r>iO?t&QFgh+jT&O*3V#)(t@&Y8u`nMlgmcmKBWTUAu{ zUDk3v*l^keY|Q39H+QM)Jr7p~{4V{cKF_8jM@Hd+5!{ zTj$_OQ^d->EO%)QolqPED)*o@p#ls-;GiA72-g{VHjT+gR`<1IySPz=wL$LA8KOMZ z_~2V@mc!m_7T9{rYu51U!Iz98cWG$%(iyVsWSuIy-B3Efo`~p{L?Knz0CAzze z>iEi$M$f_*gY2=Vj3ig7sZn%QBDG9f&F= zSk?W=TuNBA#CM>vo0$Q%f!?8t09Qw)#5P3c?{Z*<;X6KhwrOKHozO%pV1Nwyh2 zEZxQw+C%%;)PzZ)x~&caFAHtj(lPr(l)64z8u+A@V{p0+4P$CX53^|coQdxPZe#5m z@B>X_>Dtz%1=3|Ni850q&3&SCD&JB;M{vEBedsjvedu zpw*_o<{i#tKXqDoCOz=VfrD05IUD>>5XCE$%t$KTpVECc?C97%a_sO}1MHYyQ988H z13K)8KzoGYT|O@W@Llg!_?te6%V1KV5IuY_Kj4)-NX&d(8h)HbK4v9;k}Q8H@=yjg z&|*96m_FV-jEFo0D17keKF>Pj27OMWe$rI{+ddCBSe1S#vCyMBn0Y;dqJA$ie|9=# zlU^q`z>;3#G>DmA+PxD5cp`kXkUoSk|6D$%O=#W_^01(dd@LtGXmS9j5Is6EPIIE_ zqF^mDmc2vFHi-;zeg>(nK*NapE3)**LrePO;S4651bN){ZsT&T0RAU2MQ%-!ND@psyCbgUk-| zub(^_)$X@1M~2lpqu)#j0Qj5hf!wk>yCBoBMcwH(msFp)xfi$>9Ir01IY+h|IXO8i zEtz$;5~yqWn@KhhFQ6ee0N((j`b=QK1`*?|fk^k%0t8`t2ne-8?5d)Xvp~WKu&2QZ zpdiBsM897@{00%YK6;dwxL0b7I1k^7v(MYxuRUr#F05ltcJXHNjca})JqTp%VZ2n4S~z(p=18a5;is2Ez)O}9HfPmL=v zLV^8be($k<8%SVQ(Qj{Q`f6-ui=@FdJta`->ImK@X|^H$7pe_1DV3h712-qV`bf;G zo(I?)6JPt5dm-m05;P~{XHsTF>(4u0W==N6k#Q<7Kjz$fE0?dCP7bM0&VWT_`KrXJ zh#kxknB4#^u<0M4>K>i6EUmQ7cw%nNk}ez@rV!<*hQqDW=^lRhl;}l7VfFyZ38>D_ z2LfUDuusyl%oFxQX_){YpFi(!bT0(gKYKjkaQT1pLLKxec_F0 zL^I&F1(Ii1w6Aju1|0rOUMlIPq^s{&E34}o zT-8WPgTsn6N zFRn<5=#F}iTuCye=;|<+YbL$OZg|SMzQcNvVcHN*lbs*_j9XC-!WT{vhU6+J`in_R zDY2?h97kH7VsoB$;!H$iv5F+bA6JirEDY>Ybt+8%2Z?GtraD0cTCHA58leu3`y}3` zpRO)d7z5rcb+@geNKaeA8St(GAJe^^h(>O#Y!d1-M45cO9TR1$mS0f~)TxT4g75N- z(6U+3$*q3(*Rz_w(=gcE$W;&!Mff+G~_(=0ImH zV%e;pG@IsMl7~3M>D1Wj7BHhU3zitLuR0(@O$HPP8>wYMOi-qbDq*D*izC6r>SZ(> z8E|I{av=$eA`psAt`o@5R@p&>H~eX4l4qI)AX zEKC*M$w^+Y%v&lRXj3N^2%&+py!^?o!VYc+t2zk@@bO9wvE*n3<@km)&Jm4PV4**hynIw?O~|Cy!)bV-7V*I=V<>LOOsm z{w!@`qGUlydiB{NvA}FSg|x{Sq7LT-M64}3&=TcC-3;Xo!VAkFFO?S1 zXF@V;DU?{{&cL<4JGKfheWE|@MDI%v<4LmZ#ol++JL(|h9)xjtlfh<^C^r8|fgqO5 zjU`FG78$;-8mv&X-^(@arNkV>HXl%F3i!`)n-y#V#TuJjPW4RE_*1%j6AtKW>vD1n z+8x&L+ad<7g5F)NixL2YVP0GX1+RmG3q;Dj3Xf31c*LYE6oK%v5mU)1`HZ198mcfO zpJQA(q=E8lN(xTQR#|!q%NGf%0ktxUt)N)^jI>LRcUel- zGO9l~z~V!g+H-GOl9V#E1l+Eg5Y)%mXo*k`~#=iOec5?6sGl1S~@usM>B{ z$V@8Y5Vq4soOCRA`xCe~IiR2xCA#HkX?xg#;@hd3f_!|i&A;|NXQJ?& z=7mt$y39>^xpVeJQ`RiSV5AzI4@6~*gT#sU4C|OsD+TM=q_vWrM(g2p-0YBAEi#Ge z4v3mK1(vnkDhuIFi0xR~TcfmcL1YcN~WlxC{MEV2UWjNSnsJh-z{+v;`?9uo` z7|;p~-elUyG0KNyB&4?7j6U(Fo-z0gWVP>){N?Ir|71KMcd|#&v~2R_${d7K{4p{kp`!+*kt@-)D&kn)9%JxF5@z zhqbKdhXKK0)gs0s3`de1W7ksyT1a{zUwR6l^ZEQJiNFcQ9ANBP0b}KxfO&w4q6l>W zZKjrC_fQsrck&yf{Xy=44wr-bKBtY!zQ||Ah>e03MS$Q)6@1+i5Euw~&w?(KY_9hQ zO|RaIT~SnPCJl?9gC&w^vQluOH<3KG4a+1g?vbQXN93vp(}AeC4}R8h^n8DFFE_#J zGC{^FsHbII#|%dG;{9(+#tO&;!EPIdZ2?16!o(Y>*7(AJ?9GA2sfYY__M)Qfsf%B} zy-GkDL80|)=Bp;lUpD}pi`d-f-qF@pb{ar-fA$liit)_XjTwv1$dZxVFUTlsCa07k zK;YM9^^{=EmeBb=3PG0-frw7@_S-WjpJ^{;d-{xIEEVvl&g9yylHv0Nx)6k)%@_QS zClrK|x~q$u29y>XgprO|O9`7e`LuuXiOC47Z$yw9l$4~7a-;2>osHM%Z(Kp*yFW`S zJnEzxXr>UF)xyyzNFtX|)#nMrg@h6hQPb#0wAh^^9`t8T&32spcx{ibkGBWBQCoYE z%(;nbgVn6t`Hv&-O`_d{3AYsdYxea7frvy}yOFf_nLc0l8cLA|3?`LL1AK(TU5INBv8e2r zw-=n6w8-G1ICjMKT@=)ulHy{p2-t8GVc2k7VMaVf{tTy_Npy!^k9%9$#)N~DwU~(i z%Z3sFmKnvs?Im5LIp-6(5g5Q&px)p>5fEoKVj&gCSKa9q9gHi3MADTgO>!Di@aI#g zW~gSsHdYoHm~o8NUHI1qE|?z<=J!S{(P1O^>6ajp>Lxy$cMstUTm@O)rAu#TYPhL$ z%{BrGLY4l=B8paJ9FVT1MhG}Q{B2-sYK0&Mb~(#cq0g~G+|Wx5>J%-P5^E>4ZSAze zQf*G@#*E|VWWoisIid5&l942xf}cSwqq(d@Y{0O+ufsnup@#hI(pe_{a<3|3lDu!f zN-jB;aD3Y9bjc;W;F6jU*CbW%wM3Q9NkD<*nOGLi2}%VEE3US>hI3k=oQO@=0EcJ- zphnO|Y?p`Nb`cF*{;wgHg#1VXjBKJ%8#LM#zo>5PQc z7!8dfa~30>>vLrS74_jWFw^+Hb&vMr?!K$`z`cqRKDl&)=O#AnlX=*hfNm0y)HLpv z3naM#ZQ#%i#pvIjia%g2b&yD~%1oiP(F*e_3{X5Q`35-BKl7VX5vr;}Gd5%$Y1G0` zx&5vPCHcdmDkb7zcVTsqA59Vp()9V$7-Nn|&IGveiu^Qt5ro|%1qFm@Vh21)@jg!l ziD6WA0@?%J-bi|JOyi{V0X;^-+ld2-O_upuj4KsST$AIW3_*O6KYEz>u`oAT#b4nB zJQ@-;q>}RL^irDayz*&?O!^{?hCdDbi4XQ>b`45W{GQ2i6q( z#mGo}Ym1QHw{BoksVoshZsfTnaWYM*v{SZ;*??Sa?ZK-#Inb6sNj3!r%RA&X{VF{a z{DUO)H>kk88p)O2K8UMVR}B8TL@rqz)F*U)+7jCes2y1%EO7HNd0dO0xdozovMD7- z{?r}oXjfQ*?elXQ^9L+W3D%}%B}x88XVzE%m0HJ2N*XW(?dnv)kFc^Y64 zTlN>)CFxvA^&+u{MW-1d~Ot9uQd>+4-lSM%O z)|pl_&3+dOZeuN+LaN&d%_rNw=X648tHV`pAPF8Y;EI=uN*zq0T{?lX0zQBL$zR=j zB1+zosTOoI=S1PqX_FFZ%W^Y_pM9%+_z=8xPTG)oP5^$*XrfIen_nC5RNATgJBv*C z{UD(vA-Sx}7t4aUPAO8i@{TT#7_SEfHB&pX+BgOzQQEkGxXMu2hP|Z{1|956&xRHF z0-{6x2XbL4=GoQ2$ZL1~&HHG*c?g*d%@wCbM>~re&D8TyjGktI+78_=b>Om2Fge8Z zuC=jx-DowW(h7GD2lN9H!wQlwZ$w3nel-TUj7!r~a8(+0h_ypqRV`0Q4XJt-$L9;{ z{llY&ifPeaJ|S6afd0hf+3g zZQ5)xE?Cc=ZxDYyjQ)Y4ER>O`k~Aceu^Z&PBEfH3FB=YkB0wxHHR zWM1y2+*>e^e$kLjoae8_cK)9puz+o8XdWFBr~TkMhf&BAQ_q!{kIcr}f4iq$pS;S1 zSkD5yey!y1x&T5S)&9-C@A0KKmw=LIaRGve+*Z*wyNYV`2p+39yxY~?zGC|m_gj5(py z8Zg+u@5YcW6*qfn0a~rXl#oUsY#z;V#G1c?9op)~4ppT@Yk|cE90=2=NRb)9RP&4Cn7TX%45OF@dp@!)+aRum#L=_-uS+i0`^u-kP4k2Ztfa>%fWa@x=E`} zM#;M=cx?mb)yE|ss-J1}N>9lJ&_Ot!Hx<|ahUhmC0uQ+l?27dXx5w;w#pG&vN!YOQ zyltk}9O!Ak?)ATb6GO-zjw@I*jI-My@jRj9;Y-Lnvz)2Q-UD^wMfV2)JuX7q_4Jbl zv%vN?RKWFCleB=39ZwusN!4m`;%;xe&zKuwx~iXBQG&8qbDp4#5;ePe_(a*=V*3+& z#-EdPG~@?A#E=J%v312~SC0DB>8Ul)PD5ZcQ0wc>_LsP(5#|N=@lNcp21BA7{WmF}upW%DsO+HUW&pYrPR37thG zY|y&MKHoagVX2vBm$)T(1GsZEQg5d-!IS$1Zd@_`4@o~<1!?L-Zg&n2qPv_3(Ft#$ z*LVGAh|d|7d*{h5jfX-bl{7u2h$SjE2}C|=xCU714gA`$p~%P0AlRQ2>S||=My&z6 zv6=Z<1G2?;%qb_q)Q{5yeX2jX1=kzP#S9ouV8f2V(Ds3JB^&xEo^2;<0=9LePL1w# z4GOdus(i`H^YZ(ba9kRjz5#)hS87cL=6?ql4w`aoLie-PI9{%rP5fhZc69(y=A<_- zT0Q;1!(1{(W$w}us31hKyr*dBKoe!aHdkafUj*uFb6aV(E+>9EQe3FbIoWdi+CL5U z!O1qlrz6zj172-kztVYbev%C3loE+j`!yf*Y1--4N$>$c07u;~4@%Fiw zWpAUl&EMhLmV%!^c3B<@tU7BI+75nf(i&cO*E^ACYxNtfX!;`)F@(Yz*9* zw+ATng}rv;S*mm<-Wqv2@vL7XdE_n3sWcvl!Z$T?EruJr1q#motT^x`AahH*upCCR z((&!Y{vZwuV=K#W6$|wRYWhYRo`>4Qz*7**`~kAP@TDlq`o~NYR3pUd07^aqEe8S@ zbbKN4v&LM3xsY(qyiz7kU6Nob>-I!-$G=*diJ>E5?@TBw3=*us)DDaIX99-3Euf7E zQv+@r!Z^Mp$;$&(Ihvgan)l}p{X%Y)`PF|2IWm$AVI_Gg&C@yRk77kgF9{@-&A}WNkuKWjLvpS{dUoU z)8V;Sl09%T%D&nfc2f@B-#{`mtV}oW4C+tIp1Q#(*t-1YAH5<8fhuHbh;u!)AV#h9doAuiK}T6 zNC_o$dR9<9r*Q>WL^hw6v0R2;L`gmzjB>7vMvyhE-@Hu;Y`#e7u`(R<34bZocG82s zfK)a|hbm}y%5U%;T^SepG`T*lq25s^#Q=eq--(u@*Hjx zCME$`Ng2k7Gl(9N>teb<9@{NERLQHK7d!;PZ4O?D0FWx=wuj)e2UH#nIp8%anU!{6 zJ}YSKZQlFEFxi5$e=tl<;qFT@P8uUANYw2cksp)Tmb>QS<3$`p($=^rrQsRlGCb5T z2J1A-TI{i@*%3`1ax+8*`mtJR%IYJ#&y3z{mU$rTnui1`yS; zf8CcKw8JlDLeUD25e`_fBv^x7B1jiDv`pYl;f^70ng?9k&1&>WdIlJIw-Q0GAL4Gq zj`*{zWu)QdAW7vt$Y(FB4ZN0cY*7tn zo&3U`9-Z(^`X3@P6~ou2A~9uk`9n&#b|>)yC13++Iecc_5$3#+@?%R;tbp^KghK35 z!k63c`ZF?s1#A}PC!V#G8%5@ay5JJPbmg&-9#={xq>OgeMjgY|5dBI{VW`TNc0YIJ3_n(X-}jY_kSYQlQR^2L8ej7DDgm^j)tEUABFgI9155Tgc4p3_CJj+HF8 zL1vg@O4GqweWL^XlsvQt{?14t`Y+9l1$aiWooaYm(KOzy)_X%Q6p)9z^KW)F9UKRH z>S%2?t_6wNzwdh%94$h}1#y~+T}}oF7EwkVwP&14 z#{thhL((P}dh|b9X~M1%ZVIkBmYzy-gXppc&YtAqgzV&@kI-V|`o@FC@%8Vq>aw^h z??rB;s3EK|Q9U1vKyh?+|2RbI3eg zT{!Ua)!*jRv}CFhbMGzZ-qI6jPvLnjb zNyZIGS72kjd4KL8MDyKdBQZEgY{S~|HMB_p9iBO;hR|?daaL9xI@q9w#pvVm-HT?` z89g!A`(RVqI(PQ3I#>x4bhX#_lWKILXks>N$-6mAkMaqkM?6(-*Kd*82=N)5mjN7- zJU&o8m3g<(FKp2-8~v(*bci$rE6aP!x$nl2CN7Aml(1leiixzjqTZnosT>F)4#gQu zqa!Ax`e>-L1&De_E^C~eN@U!5dP3uTN_ZGVs^$kxwDnNH*AbPHn-S z5wD@bn&_lJsst}%- z`|TWwM8g!yubS=`hFA$N5Tus)MjyY`)V86i4Ok$A8#hU9m?}15f%Y{OlWJ^(;uS0U zKDwN@aAD7!a&Xbinb-D(dM2HDmr{3V(NFcr#Tjg5-svbP|7h znbr6KAmqte&-F-R3cZL&PE4jBo8tcq5Yna->Iw(Yjk2YNdz6I99uYcMK?y+_hX#)b z3ebd39;*Dd;qYnDozWeb!#?A1WFtglxv79G|;O+?~@+<*YSn<1GZDbe%C;VnMf0-fc+ZVWr^%{ zx5>-3r39m=smXHzB|D!naH1kLiPh2k4#`-@j%0%A={rf?ZeZOF>AG88Aj>$Y)i~KT zJukLit9;%FOB1;GVW5g9|GbpR<;N zjZhO8#S}#2vxC`^{J*JsXD!o*qz+^l*BpTvvmrpqz=9zGd8>& zpw?#9F3w9gF8GB!12=vi!(-+O@J|{LwUzW*r$}x~a`4%@c~II5QqF(JUk|C|6-vD5 z?Y*oCQ6JQ`<guebKYN@FYUGM2PZ4`zC4_IhE06r}RNM%M{;78Ql#Ea!9NPt$ zT77oCN?@)z*eUD!dU^@Xo(?F!+vCZmU|GM=bOFu($i1|eb2%`{CrzOwMrO0r8u`f@ zW__o+x`E%w4sl`r6#P1v`ZVQ;zTA$U$d1>!z~-DuaFhlrUkx%_Vm_2Qy=c+^`1iqw7$frbhVUE3(LUzK$1YeT7~DvTNvy8?LSIzkIfpzlES;I z)ulz~0ZFjiy*!GpRtn zZ1#Tjjdj!R8;17^Poy>Nn>VJOyHPRMYf4LKN@`f-B`!nA-tZg6+ z1?qs3ByZG4DE0$mv|^j6%H+WM8gXN|F^UQLF4IS+;Y$dKs;;svtLx7WBaT}CZ~VBZ z?YT!!hG$Y(U#9<(sT{G2(j#SosbaV=-+=y++)eAzPe1Fs>5skUgw5dRA|95NjxVU? zS+o$8(oNEwqMTfYJUuQ9Djx9>H-zt@8#WGW)W6^8I;oey3)%-mhbY0FB|x-Esvtlrr&MW;dp@Hg3g7#HZZiaw(vZJNC7 zKigU@6CEU`X2n;5t{)?z_H9+HtrM|6+pK)P7qO5QF0cr&k5go~3Q9f^#vT(fXrePr zU~6kcGu65BPLdbh*A&G^&81DQQ_jhFDAL4f6I+pRU5(DGy3S=?=c9k7eEZYBKyere z@oo}U6RVXjXP-fv#%)M}8X;{i2K5L%)-mg4M3Dm*slfjIRo*zPUVpA=37;0VxEd)7 z^U2M^X*BR6!OHbaqu>hA#vXw9`MwE64(ufwXT|GV1eYg<6-@bVhmd4YKVINy%=vOkRk zJkhhUSg9iEKJykRZ#hAYS$eA8NpT@6iU=r4iO7Y5z2WH$Wo+V+lJg1*k=>ncU9gXP zt45h$MaV9G0MDK|SL_fOtyjhm>TqXIj|Cbs;qjo=K3ac}fZ4|BdK-ydE?Dyr4tX4R z97`B2_Dk>wQt9~#X>ZEn|z5FN+Uj zD&o%~UjwfXo;C-2pj^2#E0?AviSK2Bq(}Kbmc$Tn0Y>Zv9RIH#s1INK)gS+62tYDx zZA{uggq!#-Sys+x0F=!LuyT({-pz>kUO#~6z5XdB_&pOS1M{saqO0-Ih3n#SGMX-Z{-Y@1Rr*!kkL{stu3P|X&(bOXnar3jk9jHohBz+v zFenA6;1)Kkb)E;;Kr6&i16FG)ga^B2zNjxlbS5AQc^0!fc$HPt_ zf#8_$3%qi3E9TV4>BczSrQaSwH;&Z{^$4Uec@?`r5SC7*;0vWtvyfopOWG+8GkYqk z$xWh%bF-xkO$Bt3vCABds93Tb6bJ-?$51Z)iAvl03U~h&CeNyj5A?PO3l%RLqfWh~ ztcM$}o{u*j7mZ;rnSwDURVWXioQ+z3FO`I93&Wl3>VfyvS%ok~p7&x#rKRsFsNk9`TACTwdNEebZB)ZyGVCG$szm=D<{bGzWZk zR(}RfI_7@gCmn*=&8AFQ(!XZJ!P`)cF%P7ZJBrZHM;6PN6M8Bth44?k(Qm5(yPdqfroQ73b8Dp}lk>!BiGN>ps6!?(WIKbZNIpW>$rIC~DQy)NP8q0& zr(ex=2r$+6@JGasRmps{6^Aj8@szsG&$Gh*k_C1(0NHzbH*CnVMz@uI(0v#PfC1hr z3Xp8u;RX|c-hd(=hae2<<|C50wwzLqI*XiA(iEWpk7VIU2||KVd>Rv;ZN~wPm+%H?WEzDcU2^6A zg@SqyptQ4i${RU}>Gu$CUZeVmNOH?{gq=x(Ij4sMJzC1qrr1zs+AOwz?ZKTnr>TlH zJYfc4at>bb$iNqMyP7bEZaz%Jw@Y;%qKyb|wXIYS`-M@5H29;4$i<5)zF3eOYG@hS zXR=aizE-`9q)rOEYWCmJe%pCV>#Fm?9nmbyPGdVr<+sAmQc8M@6eBala@9k;3-}H8 z{)w*_2UCB3`IsGo;`vxzaCpc_iCpYc!L{5rd6OyB`olxc?ZkyLbgDqLWh%!TE_Av} zUE6&m5SDoRxNIIZT-SsVAtD%w#IhUvt{YfP?|eh8*}T~xnn7qv%6PzdOQtU%>7ePC zvMKz2A*YdmZyJ(FvG?w~+_+-40cORvqKQ`M3CUv0mW5RA+tpo#gM|jlRZ;hB`R(F_ zewmB&waM4Dn=8pMu#(iA;^kq0b#9F9wa=!Jd8}(so#aCe7KAsHOj{NKtN86WRlz4W zQeEm1(8_vqXBnpQPZCLlH_)2f(3}^Wq}-;8)32lP?WG>=^o!MimE%Od&zOo&JGfc) zR0BIOXs)l5nxpz=Vsw#OXZo1bVb39_`hzuYxViAZy%%>2<=@wT=Mzj=Gvz>Si+x}90@rr^h=QaXyWJS zE>ZN3jp^JEI8I&%DItpT(XSwAz0xBO;Z)ou1{1z6eCdyh1p?B-3gLB^ zzzvf*3U)DbYW8!LGx0#)V6|l1c;m$+<I(`~{DcsY_NK_y5c(Mz-VW)jIRr1`1{ z=7QG-;+v5QIvV(~>e6zD5zR7(k*ElLDyn};gWAoKX=sqa@vYV>HQwYxS3!ya%yOW| zZH6EHF4z~sl9h7SI-lU@hr&zVBQlCh_(nIJq(wVNCb`2vQ^~dDHPAury-AofxsB%Qsaa{t+{B z`lp0cPsPWQl98&5gJu|P5!KEI^mQyvu&fShrMJW&;4wHSAR?9=&U_k&AEYGDVvJhA zL{<>$S09YR|1ZdWg1q(i!%fXGAvq2$=G+~W6q-nK>|(ACjj|M*ItwT0QHi~1O`f_o zBaUV)B5g%mvqjQ;luj*H8JeC#Y772_d9X>zYV;~34u#PSqUez+XmkNGx(>i|oj@Z> z3q2a(L9*JGjjrQLEtemE#oAA$)yUG?DF6XpfJv$SsxLRRAb?ytYPp#uc7$kosV9)- zN*LPpw=(CKhp_c&XT4{3QPcU?B7E=?!}lP#9kb1>V)*rZcKt*?Wu1FZuGPCVIahdX zntAy_scC(^L-A>|BUYV+z(cjjaahdCF$ys!>!rm;^C=eh9#B^2Gz*!|9tcxBiA$0* ze7|#eWKMjlA|(ouGOHn+^B$RqGiSEyfJ+y3h;jz6r76EUUR4cK`5Co}0E; ze37Z6b{g1jE>&6T)(Gz(D0&rv!eroYA7$iIK$O1Z9RSU7Y4qZffg&Ax- zxg_Vb#`1gI!CBEfX|1P>zZO$=Cf3YB`s%h+0)%s7dRM1P#KGt5W){3JrEA9cZR?f$ z^J|>}=|+3RcUPEr4gV7hRJT*Hq~Lfm7WWHb8g;{(HP%)%U$S#5Q8(gdG+X)uTG!^- zb_e3rb|s>O9isrjsP0(@R{itEKiXak&!oR`iYhS{9Ya)YLP??SyXKM)4lp8d{WKP} zG;!Td`aao<@> zpB5{KhDlC>tfj2mxc)8mD-ZGe5_42mmu4NrC=4wxFQR6aKHY|gp`7-;nT8-=$im{7 zWYFvCH6w!oqNGat;GYk*!=sYfe3jYb?laQ|9vbZR<^_T3v+_mjD6MOJpH_nbBy0gW z+1&EwlNUyn-JNpjiio-mgtpDE*#bFT%c3spLbQG{P!8Zs!9)Q#iW2p?+dniAZJdEM zF%lJ~8(O!K$UegS!INOF0p>J}rtv{?eG6AtYo2-~?VxP5$YR>HU0b#6#hc*43aRg?r8I5rr>=pZ~a1#6~wu@aTT@1WNXv6}X~%9)X+~@+epOfm6;) z(sdV8VfLE%x-seN;Sdf;?YueO(iAJ%pQtMt57nVqQ1berCU!foRg+tFT=-a3YkCq? zs6!W7$qh_#bidRLw7?SsE+7g(b6dd zubI{B)ga5sOtG20*Ghm64(2B^=3yuW^Hm@eN}|W&1BL*Gpc^LR>BVTd(e82AKV(i1 z`Fi13N&M;Y6T8!ii>jnRKjSK2J1jhnE2xs$qR z>CT>+di5dYuSj!d1j}4*MRB`=YDWMXX?i`Xk&O94S9xNhws3J%OwM$+)>`Pek@S#} z)Hjt7&t*KVd_)YyeHkcsFUzikcS|Sm>7--%C^KnmYfFbvPvIat zv%^Xui*&UKvYcPwGAk*!Ddqc7;Cuc1@bq*bZr6Y^PXIN-a zNdIkI#r{(zo4?@DMC`_~TK;SZ9>v?rBq<$fGU!I}3;vt4(#k&LYw|vQ9tkiE#7T67 znG8*@+5c^=;UJj|5c$U`Du>JK=W{0Ep2w3XQF=3YFLspl_|zSAUD6oDGrjcyHtrsb z@>)&R)UILUcD+Q|zO*Lq`X#GT;%D-OedW(-MKYH4_}E2t>|$+J<1EpM)!chMtc-hS z4D6-DO>08?*FsLC@;Tmn);|>oymR_Tltqd;#|Mzx*+M@&tVJ7s{TzWj5m=K}IjST- zQ}S^PgYY^$bQ9C@)h8%AROYqHc-jH?Mp!pAOL|+N{GkO8XU8YQ{u9u>2eZ8px%}_` zW!aD_ECX7hmCAGJfZHfLWOo&_ZrAywWpFc|q%HT;*}_MjrE%1SXa9-P+AplW0FTxtqd$e6fA$`URuRK{ljj|f|OPA00PwLc=+Nh4aKdBPEQ75#o4W%4q{{meC%w{c zT_g=#+l`pSe4m2EPyU~nd${Z1Lrzqsh%r}az>N@&55mA&rYg<}FSP2zmS9kQU9rVM z@pz4%=ZpZ-5Kwzt-Az;>3wpnA|M7rz79f_#o)t7@`&w!UWs60PC~I_H6fjy8NRkS| zBEChkvZO&bIH(D;s~*4WRDk8Rqv8J~V*aw~`3)hn`tNjd~Ie^WL#ID4Rm;hU=iPHV{-Sf$rGPB{ZD zZopX_a8{gw=JJUuL<~5m$mziMAbQamsFH|kHp_HCzD#9HTiR0J;7&*P<&9o;tJZZw z;NJ;BOBce9yAZlpyLQ015aSDtfop5FX>1%FYkLiy<}l3O96iy2&6s5vA510uC2ljf z7vNU#Rf}GGP@@Rg*xA|$I=hu9KsR01FquJd^m`rS;R}MBb)DorS1c@Cu~4Y)VEV&5 zs%ma`?t7Vv4E2V_*VRFZtGYfCf+`L;$SQB)#ERI^W?J6WYg z_&O4F-qL~GgEE3MvyB=5h@BbKDsz7)4b5ii2M%qW z+#iyJg`;Cb_FN@GVd2k#w)h&gK~rp>Zf-{#7!Jm@GP{k0(WhgTk=8dxDzTSS+gXoO z16rSXuqrp@vBJK6g)hFFVj1eZ`y~ezZDmDM*xp2c27M?~83du(=}y71j*YiQxyzUg zF;xtCg3E=0JQ>A4tg7+d@mms@8i2!cE+>W=<+?)tU zXdaZyA^Kh<43P;%-OWCd^lv`5)3Ikr?ped&2fQZ}$cNon%^`rK=N6(zVF+{pH7%`0 zEyC>0c@I!I4huf;D!e3Xm`Z5S3C(If;pNcbz^oRD*@uZ05C%(t2Yr~E23n74k$S_YiZt#T8Ky#UC5SlLi7lsrB? zT-SXh_6;V&iR|gns0FD+*G0DNZ~)fj5Hk zL=~VnwvxIN(o9Q7Wks139U}tpT-8)rP>AGF!LkhR=)}s+`!*cT?#r-eAZt_Md1&Ne z@UG}$IAIu~A}TV*ih~_X3+tq4Tj|`FWp*tt*g!g03ciF98$@m8o8a?4gM2OK1s`sn zY^&sWzQKEc`OucV*x}LMnVrRLHekI`0cb{Ra3PWmTbIU;ifE&xuG@vF0a>o?D`yc& zj3FhRj98wSS~84v@m?TrqA-}=F?7~pBc@=m9!oI;!2Jt{wu0I?%1$m!c7=}KbrhZG z+Q?nEvsQAGlew-LT3I-HbYZ2n!F@FUoHVe|uwGINWFWBD|Gi&Yif0M9L#)-FLyG_P$h(JZOdr~T)DYDtn?y%?U5TYcn`+NE9Jb;Y1f8{FHGGv2`HR4YN$;sV=n#TOuR5ZpLaer9vGxK%xCf zq&jRDm^?SeQj#dBnx@k_ohq&rQ%@0sWAQj- zKhsPVseLByQnU%sna)nt16}Sx#G9IWr)l6ztfC{do^Xd5Sq*Zb^SWR5&)DFdkFa;xr5#3n1g~uGZeusk#rDAZ(F_;D zIr#Oidsy}TYaVgLNW>c5|K{4$sD@7Z_rki&cNGH#Tv*w||1U5&uLK6?mAZjKz#RqQ zl?*%}HuDlO=e0^imL86;ny z=(_z!U=Xkv8L>7!FE(azeu6Lfr-MF$fn}Vxc=R6vW&?zU+^cxcibXXwVn+;Hc*VCA z&q|@&W>j`TQ=PgUr7VwpdRqJ%8NsiK0-rd{M^samu%Q~l#nOKwi82TmsMjY4Z(g>eNwG5F=c2GCd)CkO5eETsdxoQ-yoIQ35-F@sudo(q#sM8C? zD%j}$#8nc;XR!2`VH_-vqPxF-cTcn9~28?DMHPwO4ZycET`lQG68@u|zS?6|f7q7pM-tfPcv;iAd3#1i= zdjBo;Twj=dYl}F0t6u0YEA+!$#Hsvc$g8ea_qNl~V%xhEJWXe@x;f-EJK?4m+FY$x z7dtT>hhzE$OmA$Q>b}t%7c#NFQ=P!nnp>Vll<22v*qLDlNrc>B5^JJBPd|P#Tj!g| zP?GgVLNs87D~fJ~BI;np6$~-am`N!HioW9tVA!sBN9#MGux(G~5+jOaBs@vfvHC|q zlBLbUCvg%wfw&o04MSIPmrb82H^6NA zIMMcHP*{6x`15jLv&gHpt(Ex)=49?DdRwOEdM}FXk6ff#C%xPVl@hKT_YH=gv~D8& z-~vXaUtF|-mYj-6&#oXKrxxm41Wq-7-) zl-=_ZV(@RYicocQ`W|vcdV<}S=DPW0LX%wF^%dFR#&!mEL%>GV{{S!jelyJTG_;LG zGDDTH$%*Mo0yX{XgY=}J?AsxKnhwif&hAe-t>1H!&1%@oP2^$`Lr-r8LIS0StU(2y zic_sR)RQ%b(#%}>Gj!xXz#puSJISOoK6OC3NE&d6-hne9y?_@q4WS8XY+%gdfkd|z zUPxsViA-AL6&oYWnl~*DgYtd6@6cW&(sDc z7IFv;x$M(li{XJtF>>Rst6#KJKeFlfRg*X1O&dy(UtO8oT)s`_As}laGI>+|{Y{6B z)I@UI=#7z5vbY$0#GzwvT!oe85lwfmt$rv(Yjuxa|033RI%eCK=@I_w@+woFZY|L} z&(*BYho3;p+3eyP=cdt8y7dLXTj2HO@2luxST_>EKrtw;<~CwX$U?sq#O%n;wqXQM zKBnNsel=5CezzL2fCdjKD&j+7ckdj)fa2zy8xHY=7Q0b1Ob1d84GE$6j3vTN=cXPZRJB2VfiyKYz}lagLkOvFFKEtSWO#6@LEXz0aM;_(9ie%G^^Oj-$gL zn)G%~kywKA!kwEAwX^On>0FAhu4^y_&~omzI{R z@t0Sk(VOk+j=Zi^o6V}C=XX@?o1@Xn%j4BE(OA^B-)R{4FY3E&K^aj5dzZd=zhS)7 z?z+cFP8}yGZOv9m2t|A3ju6Sdsu^v}%Iu(-eZjHIk51$!lhKO;sVvd4YeFv@>Srl9 zy_5mfrODi#@v=6=Gz3pkt-5dCiPeV^;w}}_v#)NaM^~%XYoU&`3)ATPbfS|Zy;H@Di|t0Vy*+K&fVVxDErA{hYO~LxKo7I_>t4eGJQwE% z(MQmgKsSv978NMLo-!cajA6f z5%tZ`22+8u>&o`+06=zTyTFWdGRQftnaR6G)wa zP)o@cmn^CH-(7Q?6+w@*I3}HF0@b5pn|#^S#;P6-hX8V&rZ%ivKVTA`ZW(WABdJmQ zw66;$eTaSBaW#-4k-A!0|J;t1*X%2={pEyqd33DkU7@SbRa}=`Jx#2rue1Bv4inIR zu0$sHT6WV%7udIklBM-At2CT;pISIdb*W0p=K7faHlcOZc7)=!^=;}(ByH+czUZst z_Qep8f6n&Mm^NM8C7&J)&Uo8*(ESsw;4V-$2n9Ax{3qu>QI!%=6-tBsl)9}|8Wm*{ z-~|@x?p} zbDGc)Zf(|Y2dnkdOrO}cS8dzht=*MF8ZYt5t9w?8;%xG`kGqL)*+A z-Rr=T|E1j3z^}cUdlPpr_ks0x^}4@Z)_9(N={Lw4jf#&^5&9x?bv%`&wsHq?EWxQoh>dhY^65zj2+ z;NSZ_Mru5Q(JO%@cs!6MZeVrnOa3R1$Ty70H?+UVzY%@Kx39@bWn$|9s=|U?mV;|8 zL~%ZbB^ECGaTs~q4DqC35LdiiQBP^wDODL&)yppj)+OEcj?$!NL@>~I4FMjl5#ttB zd6TNXNl_UWn&Q*2KY;!Chg_1}hjHj4pcXZVNO`tY_I2%Wpl*ld=#)#p z>r*~?+DO+9&gZHHJu0R*9ZDOgm0PI^px<_!-zIi{h|!-HiqYZSlVcYr6wA2m1=^vI zsojTT1HMTh`>35vfJzB_#qKB(*)?Vx6FiLyER+R$K#{;u+Hxk2qULxuJ#A}}m!4dhw32pW z5T1jH_@;O~gLM>6h9KPf9_7S6>i#F=%B#r{Wh7}kGA}8Tq7Em>5q)GZCOw8nQpBGc z!KZYY7j)H(OR;PO;wGtxv-M{BKn-8uDNx-(@@;F+w_+S?D-SX?DyCB9`Q|*kOnb7A z)jBdUU_$qyN6*`b|iZaye!KsDuEW z|K-996CKM&PogEojyh zJGS4Wg+hdBGGSi_XSjs-df^82bv^jPIqOF`NXK5MOOw9U7WPJ?-03-C25U^EhN_#` zz#Q?ms8z8_)lqT>4^mUJI}~YgQBrnn5Z7&Dd`ZQkkR`e-OZ3jzi4*K5+08fO{&4r% z#WL$#?pgXK{Qus!je15ja-OAY3{NtB`Xs@VOyeupR)8UhvIxCsp#S^!Q-;xcuWKz? z7UHamwPLlt@|wk)c7FWr#46bm#6UE}R;F%W+!5S2ro8w80;he|HoB8ygD7wD6yW)L zi=0xx)XBr7>X7~M)JBIc81mI4>$wiRADGlD42#Qh`el@;c7H7U?d}vK~HsE zB#I)sK+~tyX)l?98mf_SL=X*K6n9-e*yg#H==U7AQoV07eRO*LGibcQmkHRxR$$r1 zV;@kjJwa4j=9*Z&^t?H$A4ihX1-E64)e8ewVJ1i)XA$a z*+~^6M`{N}`GUDBQK;hAe!2EJ{!M@vi^O`AL?Ch5Cp!FZlM%wto9${)X#FlF4W@)( z!-Ed-w;8Id8P9x@K0Y~DNsc9@q)uDmp5NW{8F_Frg{|p`t!ZY$P|;WE<1OQrIe2Hq zvfX%+NySG>%e`H}!^yD$z$j&z&v(lcr6ua(;`?mPn-}#J10k9dq^`li{ zFfZ*^{bQIaL~%yz*OZc^%bI-Zkzyw?+9;6 z%mCVKqeO2O)@B;*4>bM>`KI0jS|yZnbox!D;XyGY$K?n%RY`CnikR7|=Q8QMvRS*6 zq2~`HMY;t*RGPO_VkACjQ_bf8%+-|?FUXqd7^;FD_54t3YCL805g!*bxP<84(z(Do zTa-xmK@ZmNbJM-uu1Zol#evI#qS*?B_e*^8ZdR)UxV*T3BPiaOih)lMAQIXN`n7!JFz? zhdf_XQ%X$Iuq57!bv(Nhb5CmFSXd)l!d|*s<{PnY6j4Z0*M>d(V>P+is)E zqY?awYsGfrE$sUC+u8lMV0(S~U2I*?n#*Ut=CUj9+>pGx+kOG*d$wwkPO?5zHTg=Z zTz91pZ>S$1KCfFXKC?8}9Bq>ic<_T8Yp&D3xp_jjf&9IhclRC=gPHZb<^pBvz-;ZC z&!T`++kJzw+shshz9CEEE?M3sN^-%xrV2x9V5U-O4y305da8PjS?E5KwchcOcUUL@ zERLlhiw>42q|cIpDyozHl^KMl%l(t82(CUpD@~NWr}mvZxesM~ZL3||`pFk;UGMp- zqnW>=rTsE<2zV8P`zNXtP>~+4#`D<($;Zd@`REhp&OLGNji9D+JF@^{y|DegbM)39 zgA&H8z_s3fg*wNXELv;kbxHLq{{cmmGf_dTp%w~0qUqLx>Xf%ubOXna3=VBC#gqk0*U04hXJn;D z0@>DI=M_3E24k+@2)<`7$OHo05$jqWA75;Yp&$tEXx%lx#rVj3SxxPQ293F4z5~4Uw zyImVOs$Ayj>6SVgyFdbEI7%UVTDqVJC^=pz!_z*6nhK|7`VTEfG9uQah>MX^F81<; zL`o1jr1M%dRM~F*vV@Vusqf;rH?zN78gumgh{nq&_Fyrs+c7L=^wy$?1k8_U zoKPt!QlA=e6e+DlvN1#Ae175@E`~fKcVUO=LQR8-iJNm%aIJV;i`W_>i*Nf|gt|@Z zdiuz0b6mlFSjnW6kf~wen64jt4HlQEMHr)t=bL*ASRIh1h#;$mDN`M!hiW4BuzAoB zp)GfSWfFx7>L6$2K{2o4*}71^NV(+KznTO?aH(S~v zq3D_Xm>}$!;5OdUmA^8MjpoX(m-dWkiewk0hK!h$QK#|~d)LP+7VoRWDQaI&@z$V% z0Pf9I_Vk2$o>5iFr4L94r&ILQK1JNB>vi$q%&$q3e67g;7FlYJ^_Rsbb^V?8;BnFm zP(?>e!4Rph={?-rq#*wuUaX5an<6nOERF&np5kC%LU)tAY;kR}-ONzZs;>ii-T@7- zdrksetXi%{bs}r%W{mm8ExLZnKBw#F$l5?p_9sDgv!%D*gAUjeTN1rmBI>DX(O~Bxmh6}9~JSR>PJ?Ne*5vkLcS94Y^hr? zP7epJ30xmI9XLx{%X55ySwj`Pvs){@wS#I+|Jkcuv00!VEw_^nT5#yY<${ErW`PX& z30j{8hnt$iWaT?P#Hlk1H{4|BK{7n{$lG(aCg2b#{08|`I1E$K^C6IyLwpd{(nR#zky--6M! zYPO#Nj`c;=d{9~;ajw3gn`R$r^E%+pY)CoclYaSehkeoY=B8h7=}+nF{+2e&Q2SBJ zg47Sf@fbbmULJ+ZKXccGD9PUu(krNLf7c^rN2j*vvMzd=EnVQcrfZYub)ODr&cU_v z1;3w0W~51e+AOePRyv_4k%ALCFYXltEkT~yDriHRFqO5Iz{S}T*=$uA-e*g}VN>1X zGT=JF;~Y;CGYn0^Jh!T8w^cz#u(6C0KdeDV=|cQP%4lsY#nypc@gEjw6UDaFT9*6u)bw~emQBM{Vw`ADQ7=mKaonFs$;L8Hxi`()%{) zAITz{Y}bc_uarS$u_Hqt-fZbrS9mjAy@Bf z*G6lqj**28L^6dWauL?B$pLO1n~?xd3oOSuFx^?ChYZ8^Ih94XB?=KF3x=fXlCBQr z`uOTXAw>4#cHJ^H)7GMi;3e0%ha8x}3VI+hhsmlP35|v9K{FXPO)hI;@tYzaJroR% zY!QP48_KXJ5D4{RchwuNz7Nf9nSzT#$tHnj0F4Ji+mgQ;n^Hjz!MP3)k4f}z4fm5(L{;xa9bWC${f6cV?gY%md}@ThJ&Wjk%EmZ`Q> z(^Ac}O+Ms)<*u|%%KZql%~Bt+)1i=0PK=p8TZhBKbeJVqSJVZuo$^2inc^p%B3vac zCM-cGRQ0ADA5>3Qg_t;gTD64SO*BdfYNy9VFX~pxNjreDU^E;Tuks{|veeU`10LG} zwtq|!I_Wu5H*vC%0neNP^I@>RBH1F{9;J4_diUdZ#vPf*v)9lBXX_>aL9U&`Bv#}?W~S`4qmACsS$~M z52z^e7~2LJ5f|5oj)ghc0kig`=ApEvrGiVym8rRJJ zSl54?ZPLfK^<}NFVMex&!5xSj+ZsWU`LVH$JckV&D6np0D*xv<;aX&`#EA&3!+s0; z^Z{K>K$p|E0HSV}%l8OKxjXzQj`Zb`z`Tc;Nf!gKyre1}6ugnH5M6<vy->w2w^g)bbWd6X90cmqrjR4cjww)^ zUEn&@-ESOWRhy zIW#<9`8rwuGP~h1kkUG1ZD!;uiU}QpJ^(7>Si7b-7ZJTXHXd zv$toW9e#2<*|In3202Ih*fCMUrjQ@w%T&cGM*4B1?q>kM0fpqC8k9qX8erPz z6%>!{LzZF%$$t{RFUAaQdih>|Z&JC6S^qd%1O}Sl_ zO?A3O{|)HvC4B(3ESXxZ$(G2SLg*CN{v)zv$TBIx^K0~y@7#vWaYC19Q?r^yM503Mt2xpl|q{!2IgX<~ zW-hNTn~&vCS;|YtWqF(Fs3A+e2kSb%N43IAG8$xe{@2JWD2(naMxeeZO_U{laEXM1 zgdRE^xQ$w$6y{K@=(Toe6DuGIlW8ExNlwg>nBz-2*eUasG<<`s)kQjqg=kM{N*M$Q zzct1@V<=Df39Y2bBKihsmOY08dW#TpEnR=55>;fZP*6!#qZs+Jq=iG4O#`Z7WHn9y z*#*)?;_c^Db1UK`!BKc+8~Kr(a5KD;RrtRsm2%M)*1u5eev1KxTY5C6YKkNXm?Weq zl4@#LGYy>_Na|{#aE|QP*GT&kl1J(9S5)c4vh3Gak9PJwHwEtAFdl$26N~a2EVp{E zou6~xr9%qQ@;ajgbP3$g0bIzB3}sC5?b$Zn)pQSJy=?D+N!%`QG*ZpV(iPj!OiF^X+N$ZiqVv$5r;gD&-x2)ECc=9U1Hj z(34cx-xV1GT41O{OLp`#yJW`wAVU13h;nnpu#AWW$D1idaN_n8D!Lwoii_m(ruM(k z+Ff3TI@WHYq{GRRfFX4GKggOPqTdRHNnKY!&pgoZ=^9CF(L4998@D(vGGi1hdgxzc@P8 zr;a8=2`wizca-#I&Ps(a!zKWIZHf;|{ggIblXs>&$&BN1)M?iFW*z^}Q0Sr=N?nY` zE+#|f_sFzLQIMXMq{C7?_`QsAR@2TJnePSTlC{7cKFqbhzxd{P&(`GI`@#Ex(PQd9aO5*OAIw{LjQ?fj%#_moi1LqP-Nfb*;;vCvHu=`ig;2r_p^-X_z`S+o2(t&9}{9s#$nCDe9-*p)sbDAKQbX8B?jRe!%q)Hk9 zQO$InU06|=fT<+o(_C1o)YNc<^0NmTO1L(t@Y>yEJ$8r-W4VZLc)@_92)xL-lmz1GkDy){WL*dCuBNX}=;&?Jxa$%BCI&3+LAn_dP z!C9a_L_mk7$W+>{Py-EWo!Sct;B;)?-KyvSWTLOf(pi6rv*}n252rN1ebG|Gxc%!O zr>&z{2&uw1bsiZI@pYl#R0kr1-J%VKi&du}98cw$Pt<(siy-5@ai=JopYW7ds2=?1 z(3?oV2D@;&Q|nMZbr&rM4h(J;Am}Ks7al?ns(SFP89`B&6h+9qHK?nL{Xtzh(ifB@ z^=@90B>rwyl7f9l6g}9#M@z*glx@JfLJzxh)q&*J=j*ziEMriv<8&f)}fg4Rzh}3#$3Mxt@Bo#x$aVY#Wlm3HG z&T^^gVTneha^q7R$4QbI)oaEPpz7}>gGMRfV&p;T!0L(mf*?h%B2 zBR9hFBKI}Ak(=QpEtKfVryNLpCkYEK`wKwauDmdOKW=|fe&%upsHbcpQJj?kT&TU*>@$DXCp+)#6L z>xjvLbN4rO0JUJhXdzm2e^^2fKs`Pg3M!FQM7hsbpJ%hJm26_NUkGz*EZhAT5z$FD zvYy5U)+|fI#-IAD7M^OaloBUZ-)q^I#(U+UIWq6gQhxEq{!7=!ptrYkVvQykhfYxs zZG?tsvJg+(RS2!m||?le-nlyT?jTC0QcC4t5i5-BSJ~+;J6)x#Hb?yZ5PsT{0xgi z{>L^QB|nUkB@+z{kO#OZLbIH}&7uk68;D|NvC|odL%k1@Rj$i>G|0X=1=M$k2U#qY z>5AvclO*gknwZkEWfCBlE^qQfc5*HqdK}o{*`(bHrC$ayKY*~yvrNFn`+@)cP2X+y zD8s_M{8f^dPr@4S>iPnUvP^v(0!`^d8!OdOHmo1LWB!#p&pd|iII2a$TMnLk;@rV4 zVe}r|Sgw zL_lIxV)|-jmS$o(XT~ndX%xSzRyL44nA_WEJ3l7Fl)p!fgQdLyO&KE<*5PH^?fF z*|PY8t1l|rvuOp|n_-B!PJ&%Pe~Rr7J|>xkKaNo=9<&6A{M_xyJT()_CvWEfnV$wo z)RZ2N zZ=;FChm|mSgZx5}RyaXkr{}d~iM%^aEx4FYzt1PpP{8MvsN5ub9eR>*lbp!1N0z!+ zvph#AY9YM)6+Ll>;_W*BKi}bANv~vcLZJ)csTI(z#{DHJ(4I zNlQzTc9Q2cahSgvq{AtJy-**`P5cVvV{ ztgb5NePn?kPhAeIuJ+Qcn0aSpd7g~6}Bwe=?!7 zFUUXniL8UnpZzWMUbqZ-9&CCaMjs1=N!dm`?>^;H7FfGfRVU_|A{52s03_My%*Z|a0zvsv7SXowz=csmW!1H)Ej_PYh9FVkbe+eLIm4AB)l zPfQdYX4%=?&N%=EYocD0-N%ZvWK2viP?T4sp!Vzk@}DUJtf|L-J6T!@WqOQtmnRGc z`Kq1R0*J3j)e-;5ZvrZ8(473cVk(pg_1N73-t9Vl#jVKI%SL>T2Q7mV0$PfBinw3F z!B+;!^zySPT8W}`pT(-Go}^FmHa?b(D)eHnDCkwwv)#8YX)`>W~W2$KI#tz zLE!TO+0u!MELF3);kdvF1)diL#LHNbgllF8=Sy*`SGQyf#N zU5Ys_qy(d<800Z#q+Wz+*8_!u0(ZV+|G}W;n7lD$k4zn%844qPR5!UeFY3wcormdW zr7o}*Qia-!UL5R?#0ImGXvd!T^8tInIRCs80oa$di7o!`katULQ$~PG_^| zsp<3~gV1w?BKiP38HdvM(EHi!^k@n#O)t_1Y;ub{04MT5z{52LnlD0Utfo_C6FWs*^O6fI z?^lfgUwD%gi4A@vq6Vt5jXLe5wM~O)O)rm^;^FRi+0e@I zHd#!wYApQ9o>PnQvla=>4gb>i#U&PnS`ouc$BL!s`g6e3xd^zJTpjBoGVN0GC{(2V zFjog3zlf|(?KluIbwT54dFNd6w_6z{l}LCUi{42$3!H)64vs|KfU}}E=T%} zOj@u2dl+hdH;$UXWCfqkqC>km23K69*GD-Et4N>Kv?sr-;7cmLZl(SA?-P-qwD(WwO`V|JJ*T#gncfzpHK7 zl?{SlM79yEQsp|j|05gJjFw$elj^=PFp=CvgZr|YZnfOmiR}^F7b%{|t1X>8ttk7) zz>sn`3GL5bLK~e7No{x-bP;+S1{9o?#pUJ2HF{V9g~WfMVA&HB z6KG|5b(#FV4YU+52gsrM&ZgI%Uiv+$ckmj!X|lJywAu{ZJs^^CcbU)%D`aNf7C1mC z{WHv8gNeY*lDd%?M!q?W`68xbHIS(FfS5EyTq|KPs-ns}Fu%>A0;cmDo7HefZ%%SD zh(q-Q2pyKX-v}bd zDhkkL`Z7Hti$MjpKwJ4kS}@xcL=xJ46{4&8v9Wx${X7#xx~?q9VY%zKuQNB4sSd>k z-8PB&bfy|jW0dC_Yk-~RmE!&WYCh6G+sa5nh~pF2?3lYYDe$)N>CE<4zbJ$ejcZ+# z;`xX`LGjxFE=nQsE~T7eJ{lLK49_R{sj=~fm==VTBwiuj$I}3OPY~Yt^o4ps>uL!oScGD+{v{WZ|w=yBsV>CiuSjr7pXoL z7;6yX9emf(ynPn@d(;9asRtql{1(ML-yO{Y4N}+H6djE3j;aiqjhTz1a^dQL=Aab& zZ|!eO$k0qq%I4y+EJEQw4;A9kek2*no;|b|oe@<`=)kw?CODk|b=Si2Z`g8Aly_k2OmzR)Z0p8tG#T@^dm%KSwa z?}1@Gt`B#BCthf|R<`N-HV<&Z)BUCU)NRy4qL}eaJPP?T5VxchlD9vdr22}DIn?VR zx8^aMi&0=%)zJ^l*%6xGQ%$X!S+NT#+&o3EN46V#bU8E>FuTNzI}zsD$u=A%Z0LD)r%M@_L{eC$+-<4UJGGQ~CY1+qdm2z`3O z)0^me7Xf?9Ql05rQUW06If5lrm(8rBo8!o7lG9YPPD>uG)?!hrK}Aa3pc?YzgjV_r z%*9AClMqySOSrYiOyQWCHqEpe!zpu5E4)=!`RB6n$zL9tjPI95rY6TIfi0M}EpaA? z`(l#(Xn3~3yp0TO4{wvr{+to9jfuP>iYCUUC@T30s(GI4H|2jMbN1R=w(<#{*Ca_J zbArrEp^zj+gQCRbW1Tf_fsDPEvAHcKl^KWC|N@LjouZG+6!zai`>)!bdW4QqedjDBNSARk#(*?7QThaSVXt7)3nv5clW>7o(I;m ziDMZJlnq1c#O{3&_KKA)G_J)Y3_J@{t9C`dN9zU`}mUFfAgCBixwk96} zz5-c=(zYHdg>*YjmO6v<_*d&=X>b=YrYnLY1|u3}C0i-%2;Tq(!{0>=va-l>+Fmju z;6};Cx4Fb|==}kM>LC`L8W4Q7CiRvRA%m|_?jY$Dm}^+DHgQlZ_Oee&LGe>JWo86h z_~QW~cVC(WCbo!CVc_1kr_*!{;YF>?f~c37KogCrj%^z%EQUl${uG1s zThWh@88ft47$RS||5)s3NDQ{uARFGkKTG<>R`64G^|Cd=S2TxHI^oq&}A!m;h5;(OYVI-CWzQ*d~`Hj`FbC~C|xusIoYo6}aI%tD>%s z>IB37_SMf-Tjxp@x4xy;RpMHw5=lKi*V{R*5~{$HpzLm))%vEMNTV9BtkMpvn_?}h$8oqEwoiQ_QFbqD_iqJ1?H>yZ-K z?mRn&3f24soqO4?^_Y%TJ~ZJC;3}>1$5|_VQpE1PZN<5=kjs$BXfehI`CK17N83@v ze5mRT@d?^CtX7UVoCgBkKq zwxqi0h$BzaF=&RNNw$&aV_{QPAZq+pspt(Ok-ksywx*GzolYoQ>S@32MuZ75*KvIXf;Nz?v=vb$s7dFPd z-r$ujOUlM<20h;aE)SZ${V2`yF=WA8FQ+5&e)_KB^X=+@)Pu>fPX=x#x$_~9(+2Xq z5p=u~{DSwE(y>MAvlF!h8Z%~0WB;raECv0xSWV0Rs94pF|tQ1ggo zb@Tcb@HJNe`v`9W=)rA=wH9ABkB3Kf-O;qMF->!HeYEGQ{oc)TdU3Ny-K*`JWS8*) zDeZ@;6t&@DYx?zyJe3+Bvx5>hf9Cf7v3XW=KG=s#3TBhe(fKjJmH+`SMj*ktcpfW0 zeQ^i0G?*3%+5gZAnDc!Muam)fYO84N@YI~ZOYMsiFU(CHJ~FX3dARCF+<(s))d)dL zmjmUQNnX?V$(b@D;hB$lI*De3Dv^u@I{JoQe&|@+d-Xi|<%G?3*Iph6u9nxIm?|@^ zSIw_=gA91E{e9+L#pWRy^J@vqQwpuMla$995oe_CQQTefHwi3nG_oXVIl> z)*_oDU>TBr6>wb{EurjMtF@B0EnqBoo_v;8R{p>E-g0~G|Ml+`uJS$W($zlqpZT71 zweMY6x$@_@o^QQ?FI~A*n|>qU>Wh6A?ILtQl=|21FdfKFfc9{QdfFblbDEd%1UC5k zNjc_VM2L_39>FFb<3#-Mb&9H^|Eeo;``fa^u(}bov08wY6TD-3G+NVRcM*!z8C$xKwYuR?g4)h=kLU}kIn}}R1njfn zz>S24>*lb&X%3^^(ln!+maOjgg$T;_otInElq4mS5;>u4H@pVN_9cjU1Q0z)zdH+; zE9?p1!w_t(c4HQxpOTjr;L?xV0GMS(I+6BZH-Nbs%_pe4|HN|*iEp8r{41by&Rj*d zf6}~#ngnz)_o>cEZlgpZREw@tAa`XBAVIk31*+qqrq~fHxSn=t@FKWk1{oNmOQL}| zp{kpKTYl2F&Z7cZI`u?S!Cr ztxq2rg>bvI_4x6vemyaom&S|A%@{Ryj5O*6+qrt4L}PN>r17kFQF|ddTNxM`89;$d zKA+iGS3f^njAl0}a%RCsXRnkeia_)?CuT3Am8)e24(E?=-Ri9iUS3{!PNb{n;RSr( z`}W_0FNrzk-J4kyLrGojcGr@*=6aiDf!fBvR0I8)5jEthENS?8vh*!y`|L#~X7qefIQ#iy*V#DlLRp`4N>F`>9jj^G_9SB!kH?&{Zf&gC%DQW*LCzPddii?3@2o1v-%K6YFx22u7t2$LjqQH zj13iY)0`}GB~A+|k`xT`c`R{#e9R0vXuSQs!f5e!Jrr`ZnZe3=Q6foTLwTJfBlIOv z#JY+FQP!ltmgQ%Zpv;LW>$i|By@tFT0@_4y``Q|5&xt@Cd|^h{_qGtz4XD-Eo#{y| zL~Bj=N7BiXj9s+#71rY%w>jP4<$x@og1?JPqVR|rvM#VLhiuw2zE+{fN}L|);iXIT zpNI2H^GJ4&11|2Qm%+vy15N1PBzx#Bc?WXzyrZ|UsP`YhR&hYyO?N<$r{|o|B4or~ zHu{vrXCnhaEBp!8L0M;YbqNW*Onn(9fO;d1jiZ~e1!^b;d8!xOEGPY`dRD3 z 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 literal 0 HcmV?d00001 diff --git a/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/@fortawesome/fontawesome-free/webfonts/fa-solid-900.woff2 b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/@fortawesome/fontawesome-free/webfonts/fa-solid-900.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..9a4633d9c4eccaa7c60974214eac25a62f6d2289 GIT binary patch literal 80252 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�tM34^MY1QD(;HrI9KuqY&HVUS@jw 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', { + rel: 'stylesheet', + type: 'text/css', + href: appendTimeToUrl(url) + }).appendTo('head'); + }); + }; + + return { + loadScript: _loadScript, + loadStyle: _loadStyle + } + })(); + +})(jQuery); \ No newline at end of file diff --git a/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/abp/luxon/abp.luxon.js b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/abp/luxon/abp.luxon.js new file mode 100644 index 0000000000..b04de7cadf --- /dev/null +++ b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/abp/luxon/abp.luxon.js @@ -0,0 +1,46 @@ +var abp = abp || {}; +(function () { + + if (!luxon) { + throw "abp/luxon library requires the luxon library included to the page!"; + } + + /* TIMING *************************************************/ + + abp.timing = abp.timing || {}; + + var setObjectValue = function (obj, property, value) { + if (typeof property === "string") { + property = property.split('.'); + } + + if (property.length > 1) { + var p = property.shift(); + setObjectValue(obj[p], property, value); + } else { + obj[property[0]] = value; + } + } + + var getObjectValue = function (obj, property) { + return property.split('.').reduce((a, v) => a[v], obj) + } + + abp.timing.convertFieldsToIsoDate = function (form, fields) { + for (var field of fields) { + var dateTime = luxon.DateTime + .fromFormat( + getObjectValue(form, field), + abp.localization.currentCulture.dateTimeFormat.shortDatePattern, + {locale: abp.localization.currentCulture.cultureName} + ); + + if (!dateTime.invalid) { + setObjectValue(form, field, dateTime.toFormat("yyyy-MM-dd HH:mm:ss")) + } + } + + return form; + } + +})(jQuery); diff --git a/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/abp/utils/abp-utils.umd.js b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/abp/utils/abp-utils.umd.js new file mode 100644 index 0000000000..28ebcc3765 --- /dev/null +++ b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/abp/utils/abp-utils.umd.js @@ -0,0 +1,694 @@ +(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('just-compare')) : + typeof define === 'function' && define.amd ? define('@abp/utils', ['exports', 'just-compare'], factory) : + (global = global || self, factory((global.abp = global.abp || {}, global.abp.utils = global.abp.utils || {}, global.abp.utils.common = {}), global.compare)); +}(this, (function (exports, compare) { 'use strict'; + + compare = compare && Object.prototype.hasOwnProperty.call(compare, 'default') ? compare['default'] : compare; + + /*! ***************************************************************************** + Copyright (c) Microsoft Corporation. + + Permission to use, copy, modify, and/or distribute this software for any + purpose with or without fee is hereby granted. + + THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH + REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY + AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, + INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM + LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR + OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + PERFORMANCE OF THIS SOFTWARE. + ***************************************************************************** */ + /* global Reflect, Promise */ + var extendStatics = function (d, b) { + extendStatics = Object.setPrototypeOf || + ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || + function (d, b) { for (var p in b) + if (b.hasOwnProperty(p)) + d[p] = b[p]; }; + return extendStatics(d, b); + }; + function __extends(d, b) { + extendStatics(d, b); + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); + } + var __assign = function () { + __assign = Object.assign || function __assign(t) { + for (var s, i = 1, n = arguments.length; i < n; i++) { + s = arguments[i]; + for (var p in s) + if (Object.prototype.hasOwnProperty.call(s, p)) + t[p] = s[p]; + } + return t; + }; + return __assign.apply(this, arguments); + }; + function __rest(s, e) { + var t = {}; + for (var p in s) + if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) + t[p] = s[p]; + if (s != null && typeof Object.getOwnPropertySymbols === "function") + for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { + if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) + t[p[i]] = s[p[i]]; + } + return t; + } + function __decorate(decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") + r = Reflect.decorate(decorators, target, key, desc); + else + for (var i = decorators.length - 1; i >= 0; i--) + if (d = decorators[i]) + r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; + } + function __param(paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); }; + } + function __metadata(metadataKey, metadataValue) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") + return Reflect.metadata(metadataKey, metadataValue); + } + function __awaiter(thisArg, _arguments, P, generator) { + function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { + step(generator.next(value)); + } + catch (e) { + reject(e); + } } + function rejected(value) { try { + step(generator["throw"](value)); + } + catch (e) { + reject(e); + } } + function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); + } + function __generator(thisArg, body) { + var _ = { label: 0, sent: function () { if (t[0] & 1) + throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; + return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function () { return this; }), g; + function verb(n) { return function (v) { return step([n, v]); }; } + function step(op) { + if (f) + throw new TypeError("Generator is already executing."); + while (_) + try { + if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) + return t; + if (y = 0, t) + op = [op[0] & 2, t.value]; + switch (op[0]) { + case 0: + case 1: + t = op; + break; + case 4: + _.label++; + return { value: op[1], done: false }; + case 5: + _.label++; + y = op[1]; + op = [0]; + continue; + case 7: + op = _.ops.pop(); + _.trys.pop(); + continue; + default: + if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { + _ = 0; + continue; + } + if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { + _.label = op[1]; + break; + } + if (op[0] === 6 && _.label < t[1]) { + _.label = t[1]; + t = op; + break; + } + if (t && _.label < t[2]) { + _.label = t[2]; + _.ops.push(op); + break; + } + if (t[2]) + _.ops.pop(); + _.trys.pop(); + continue; + } + op = body.call(thisArg, _); + } + catch (e) { + op = [6, e]; + y = 0; + } + finally { + f = t = 0; + } + if (op[0] & 5) + throw op[1]; + return { value: op[0] ? op[1] : void 0, done: true }; + } + } + var __createBinding = Object.create ? (function (o, m, k, k2) { + if (k2 === undefined) + k2 = k; + Object.defineProperty(o, k2, { enumerable: true, get: function () { return m[k]; } }); + }) : (function (o, m, k, k2) { + if (k2 === undefined) + k2 = k; + o[k2] = m[k]; + }); + function __exportStar(m, exports) { + for (var p in m) + if (p !== "default" && !exports.hasOwnProperty(p)) + __createBinding(exports, m, p); + } + function __values(o) { + var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0; + if (m) + return m.call(o); + if (o && typeof o.length === "number") + return { + next: function () { + if (o && i >= o.length) + o = void 0; + return { value: o && o[i++], done: !o }; + } + }; + throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined."); + } + function __read(o, n) { + var m = typeof Symbol === "function" && o[Symbol.iterator]; + if (!m) + return o; + var i = m.call(o), r, ar = [], e; + try { + while ((n === void 0 || n-- > 0) && !(r = i.next()).done) + ar.push(r.value); + } + catch (error) { + e = { error: error }; + } + finally { + try { + if (r && !r.done && (m = i["return"])) + m.call(i); + } + finally { + if (e) + throw e.error; + } + } + return ar; + } + function __spread() { + for (var ar = [], i = 0; i < arguments.length; i++) + ar = ar.concat(__read(arguments[i])); + return ar; + } + function __spreadArrays() { + for (var s = 0, i = 0, il = arguments.length; i < il; i++) + s += arguments[i].length; + for (var r = Array(s), k = 0, i = 0; i < il; i++) + for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++) + r[k] = a[j]; + return r; + } + ; + function __await(v) { + return this instanceof __await ? (this.v = v, this) : new __await(v); + } + function __asyncGenerator(thisArg, _arguments, generator) { + if (!Symbol.asyncIterator) + throw new TypeError("Symbol.asyncIterator is not defined."); + var g = generator.apply(thisArg, _arguments || []), i, q = []; + return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i; + function verb(n) { if (g[n]) + i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; } + function resume(n, v) { try { + step(g[n](v)); + } + catch (e) { + settle(q[0][3], e); + } } + function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); } + function fulfill(value) { resume("next", value); } + function reject(value) { resume("throw", value); } + function settle(f, v) { if (f(v), q.shift(), q.length) + resume(q[0][0], q[0][1]); } + } + function __asyncDelegator(o) { + var i, p; + return i = {}, verb("next"), verb("throw", function (e) { throw e; }), verb("return"), i[Symbol.iterator] = function () { return this; }, i; + function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === "return" } : f ? f(v) : v; } : f; } + } + function __asyncValues(o) { + if (!Symbol.asyncIterator) + throw new TypeError("Symbol.asyncIterator is not defined."); + var m = o[Symbol.asyncIterator], i; + return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i); + function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; } + function settle(resolve, reject, d, v) { Promise.resolve(v).then(function (v) { resolve({ value: v, done: d }); }, reject); } + } + function __makeTemplateObject(cooked, raw) { + if (Object.defineProperty) { + Object.defineProperty(cooked, "raw", { value: raw }); + } + else { + cooked.raw = raw; + } + return cooked; + } + ; + var __setModuleDefault = Object.create ? (function (o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); + }) : function (o, v) { + o["default"] = v; + }; + function __importStar(mod) { + if (mod && mod.__esModule) + return mod; + var result = {}; + if (mod != null) + for (var k in mod) + if (Object.hasOwnProperty.call(mod, k)) + __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; + } + function __importDefault(mod) { + return (mod && mod.__esModule) ? mod : { default: mod }; + } + function __classPrivateFieldGet(receiver, privateMap) { + if (!privateMap.has(receiver)) { + throw new TypeError("attempted to get private field on non-instance"); + } + return privateMap.get(receiver); + } + function __classPrivateFieldSet(receiver, privateMap, value) { + if (!privateMap.has(receiver)) { + throw new TypeError("attempted to set private field on non-instance"); + } + privateMap.set(receiver, value); + return value; + } + + var ListNode = /** @class */ (function () { + function ListNode(value) { + this.value = value; + } + return ListNode; + }()); + var LinkedList = /** @class */ (function () { + function LinkedList() { + this.size = 0; + } + Object.defineProperty(LinkedList.prototype, "head", { + get: function () { + return this.first; + }, + enumerable: false, + configurable: true + }); + Object.defineProperty(LinkedList.prototype, "tail", { + get: function () { + return this.last; + }, + enumerable: false, + configurable: true + }); + Object.defineProperty(LinkedList.prototype, "length", { + get: function () { + return this.size; + }, + enumerable: false, + configurable: true + }); + LinkedList.prototype.attach = function (value, previousNode, nextNode) { + if (!previousNode) + return this.addHead(value); + if (!nextNode) + return this.addTail(value); + var node = new ListNode(value); + node.previous = previousNode; + previousNode.next = node; + node.next = nextNode; + nextNode.previous = node; + this.size++; + return node; + }; + LinkedList.prototype.attachMany = function (values, previousNode, nextNode) { + if (!values.length) + return []; + if (!previousNode) + return this.addManyHead(values); + if (!nextNode) + return this.addManyTail(values); + var list = new LinkedList(); + list.addManyTail(values); + list.first.previous = previousNode; + previousNode.next = list.first; + list.last.next = nextNode; + nextNode.previous = list.last; + this.size += values.length; + return list.toNodeArray(); + }; + LinkedList.prototype.detach = function (node) { + if (!node.previous) + return this.dropHead(); + if (!node.next) + return this.dropTail(); + node.previous.next = node.next; + node.next.previous = node.previous; + this.size--; + return node; + }; + LinkedList.prototype.add = function (value) { + var _this = this; + return { + after: function () { + var _a; + var params = []; + for (var _i = 0; _i < arguments.length; _i++) { + params[_i] = arguments[_i]; + } + return (_a = _this.addAfter).call.apply(_a, __spread([_this, value], params)); + }, + before: function () { + var _a; + var params = []; + for (var _i = 0; _i < arguments.length; _i++) { + params[_i] = arguments[_i]; + } + return (_a = _this.addBefore).call.apply(_a, __spread([_this, value], params)); + }, + byIndex: function (position) { return _this.addByIndex(value, position); }, + head: function () { return _this.addHead(value); }, + tail: function () { return _this.addTail(value); }, + }; + }; + LinkedList.prototype.addMany = function (values) { + var _this = this; + return { + after: function () { + var _a; + var params = []; + for (var _i = 0; _i < arguments.length; _i++) { + params[_i] = arguments[_i]; + } + return (_a = _this.addManyAfter).call.apply(_a, __spread([_this, values], params)); + }, + before: function () { + var _a; + var params = []; + for (var _i = 0; _i < arguments.length; _i++) { + params[_i] = arguments[_i]; + } + return (_a = _this.addManyBefore).call.apply(_a, __spread([_this, values], params)); + }, + byIndex: function (position) { return _this.addManyByIndex(values, position); }, + head: function () { return _this.addManyHead(values); }, + tail: function () { return _this.addManyTail(values); }, + }; + }; + LinkedList.prototype.addAfter = function (value, previousValue, compareFn) { + if (compareFn === void 0) { compareFn = compare; } + var previous = this.find(function (node) { return compareFn(node.value, previousValue); }); + return previous ? this.attach(value, previous, previous.next) : this.addTail(value); + }; + LinkedList.prototype.addBefore = function (value, nextValue, compareFn) { + if (compareFn === void 0) { compareFn = compare; } + var next = this.find(function (node) { return compareFn(node.value, nextValue); }); + return next ? this.attach(value, next.previous, next) : this.addHead(value); + }; + LinkedList.prototype.addByIndex = function (value, position) { + if (position < 0) + position += this.size; + else if (position >= this.size) + return this.addTail(value); + if (position <= 0) + return this.addHead(value); + var next = this.get(position); + return this.attach(value, next.previous, next); + }; + LinkedList.prototype.addHead = function (value) { + var node = new ListNode(value); + node.next = this.first; + if (this.first) + this.first.previous = node; + else + this.last = node; + this.first = node; + this.size++; + return node; + }; + LinkedList.prototype.addTail = function (value) { + var node = new ListNode(value); + if (this.first) { + node.previous = this.last; + this.last.next = node; + this.last = node; + } + else { + this.first = node; + this.last = node; + } + this.size++; + return node; + }; + LinkedList.prototype.addManyAfter = function (values, previousValue, compareFn) { + if (compareFn === void 0) { compareFn = compare; } + var previous = this.find(function (node) { return compareFn(node.value, previousValue); }); + return previous ? this.attachMany(values, previous, previous.next) : this.addManyTail(values); + }; + LinkedList.prototype.addManyBefore = function (values, nextValue, compareFn) { + if (compareFn === void 0) { compareFn = compare; } + var next = this.find(function (node) { return compareFn(node.value, nextValue); }); + return next ? this.attachMany(values, next.previous, next) : this.addManyHead(values); + }; + LinkedList.prototype.addManyByIndex = function (values, position) { + if (position < 0) + position += this.size; + if (position <= 0) + return this.addManyHead(values); + if (position >= this.size) + return this.addManyTail(values); + var next = this.get(position); + return this.attachMany(values, next.previous, next); + }; + LinkedList.prototype.addManyHead = function (values) { + var _this = this; + return values.reduceRight(function (nodes, value) { + nodes.unshift(_this.addHead(value)); + return nodes; + }, []); + }; + LinkedList.prototype.addManyTail = function (values) { + var _this = this; + return values.map(function (value) { return _this.addTail(value); }); + }; + LinkedList.prototype.drop = function () { + var _this = this; + return { + byIndex: function (position) { return _this.dropByIndex(position); }, + byValue: function () { + var params = []; + for (var _i = 0; _i < arguments.length; _i++) { + params[_i] = arguments[_i]; + } + return _this.dropByValue.apply(_this, params); + }, + byValueAll: function () { + var params = []; + for (var _i = 0; _i < arguments.length; _i++) { + params[_i] = arguments[_i]; + } + return _this.dropByValueAll.apply(_this, params); + }, + head: function () { return _this.dropHead(); }, + tail: function () { return _this.dropTail(); }, + }; + }; + LinkedList.prototype.dropMany = function (count) { + var _this = this; + return { + byIndex: function (position) { return _this.dropManyByIndex(count, position); }, + head: function () { return _this.dropManyHead(count); }, + tail: function () { return _this.dropManyTail(count); }, + }; + }; + LinkedList.prototype.dropByIndex = function (position) { + if (position < 0) + position += this.size; + var current = this.get(position); + return current ? this.detach(current) : undefined; + }; + LinkedList.prototype.dropByValue = function (value, compareFn) { + if (compareFn === void 0) { compareFn = compare; } + var position = this.findIndex(function (node) { return compareFn(node.value, value); }); + return position < 0 ? undefined : this.dropByIndex(position); + }; + LinkedList.prototype.dropByValueAll = function (value, compareFn) { + if (compareFn === void 0) { compareFn = compare; } + var dropped = []; + for (var current = this.first, position = 0; current; position++, current = current.next) { + if (compareFn(current.value, value)) { + dropped.push(this.dropByIndex(position - dropped.length)); + } + } + return dropped; + }; + LinkedList.prototype.dropHead = function () { + var head = this.first; + if (head) { + this.first = head.next; + if (this.first) + this.first.previous = undefined; + else + this.last = undefined; + this.size--; + return head; + } + return undefined; + }; + LinkedList.prototype.dropTail = function () { + var tail = this.last; + if (tail) { + this.last = tail.previous; + if (this.last) + this.last.next = undefined; + else + this.first = undefined; + this.size--; + return tail; + } + return undefined; + }; + LinkedList.prototype.dropManyByIndex = function (count, position) { + if (count <= 0) + return []; + if (position < 0) + position = Math.max(position + this.size, 0); + else if (position >= this.size) + return []; + count = Math.min(count, this.size - position); + var dropped = []; + while (count--) { + var current = this.get(position); + dropped.push(this.detach(current)); + } + return dropped; + }; + LinkedList.prototype.dropManyHead = function (count) { + if (count <= 0) + return []; + count = Math.min(count, this.size); + var dropped = []; + while (count--) + dropped.unshift(this.dropHead()); + return dropped; + }; + LinkedList.prototype.dropManyTail = function (count) { + if (count <= 0) + return []; + count = Math.min(count, this.size); + var dropped = []; + while (count--) + dropped.push(this.dropTail()); + return dropped; + }; + LinkedList.prototype.find = function (predicate) { + for (var current = this.first, position = 0; current; position++, current = current.next) { + if (predicate(current, position, this)) + return current; + } + return undefined; + }; + LinkedList.prototype.findIndex = function (predicate) { + for (var current = this.first, position = 0; current; position++, current = current.next) { + if (predicate(current, position, this)) + return position; + } + return -1; + }; + LinkedList.prototype.forEach = function (iteratorFn) { + for (var node = this.first, position = 0; node; position++, node = node.next) { + iteratorFn(node, position, this); + } + }; + LinkedList.prototype.get = function (position) { + return this.find(function (_, index) { return position === index; }); + }; + LinkedList.prototype.indexOf = function (value, compareFn) { + if (compareFn === void 0) { compareFn = compare; } + return this.findIndex(function (node) { return compareFn(node.value, value); }); + }; + LinkedList.prototype.toArray = function () { + var array = new Array(this.size); + this.forEach(function (node, index) { return (array[index] = node.value); }); + return array; + }; + LinkedList.prototype.toNodeArray = function () { + var array = new Array(this.size); + this.forEach(function (node, index) { return (array[index] = node); }); + return array; + }; + LinkedList.prototype.toString = function (mapperFn) { + if (mapperFn === void 0) { mapperFn = JSON.stringify; } + return this.toArray() + .map(function (value) { return mapperFn(value); }) + .join(' <-> '); + }; + // Cannot use Generator type because of ng-packagr + LinkedList.prototype[Symbol.iterator] = function () { + var node, position; + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + node = this.first, position = 0; + _a.label = 1; + case 1: + if (!node) return [3 /*break*/, 4]; + return [4 /*yield*/, node.value]; + case 2: + _a.sent(); + _a.label = 3; + case 3: + position++, node = node.next; + return [3 /*break*/, 1]; + case 4: return [2 /*return*/]; + } + }); + }; + return LinkedList; + }()); + + /* + * Public API Surface of utils + */ + + /** + * Generated bundle index. Do not edit. + */ + + exports.LinkedList = LinkedList; + exports.ListNode = ListNode; + + Object.defineProperty(exports, '__esModule', { value: true }); + +}))); +//# sourceMappingURL=abp-utils.umd.js.map diff --git a/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/abp/utils/abp-utils.umd.js.map b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/abp/utils/abp-utils.umd.js.map new file mode 100644 index 0000000000..2c5d45ddcb --- /dev/null +++ b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/abp/utils/abp-utils.umd.js.map @@ -0,0 +1 @@ +{"version":3,"file":"abp-utils.umd.js","sources":["../../node_modules/tslib/tslib.es6.js","../../projects/utils/src/lib/linked-list.ts","../../projects/utils/src/public-api.ts","../../projects/utils/src/abp-utils.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) __createBinding(exports, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","/* tslint:disable:no-non-null-assertion */\n\nimport compare from 'just-compare';\n\nexport class ListNode {\n next: ListNode | undefined;\n previous: ListNode | undefined;\n constructor(public readonly value: T) {}\n}\n\nexport class LinkedList {\n private first: ListNode | undefined;\n private last: ListNode | undefined;\n private size = 0;\n\n get head(): ListNode | undefined {\n return this.first;\n }\n get tail(): ListNode | undefined {\n return this.last;\n }\n get length(): number {\n return this.size;\n }\n\n private attach(\n value: T,\n previousNode: ListNode | undefined,\n nextNode: ListNode | undefined,\n ): ListNode {\n if (!previousNode) return this.addHead(value);\n\n if (!nextNode) return this.addTail(value);\n\n const node = new ListNode(value);\n node.previous = previousNode;\n previousNode.next = node;\n node.next = nextNode;\n nextNode.previous = node;\n\n this.size++;\n\n return node;\n }\n\n private attachMany(\n values: T[],\n previousNode: ListNode | undefined,\n nextNode: ListNode | undefined,\n ): ListNode[] {\n if (!values.length) return [];\n\n if (!previousNode) return this.addManyHead(values);\n\n if (!nextNode) return this.addManyTail(values);\n\n const list = new LinkedList();\n list.addManyTail(values);\n list.first!.previous = previousNode;\n previousNode.next = list.first;\n list.last!.next = nextNode;\n nextNode.previous = list.last;\n\n this.size += values.length;\n\n return list.toNodeArray();\n }\n\n private detach(node: ListNode) {\n if (!node.previous) return this.dropHead();\n\n if (!node.next) return this.dropTail();\n\n node.previous.next = node.next;\n node.next.previous = node.previous;\n\n this.size--;\n\n return node;\n }\n\n add(value: T) {\n return {\n after: (...params: [T] | [any, ListComparisonFn]) =>\n this.addAfter.call(this, value, ...params),\n before: (...params: [T] | [any, ListComparisonFn]) =>\n this.addBefore.call(this, value, ...params),\n byIndex: (position: number) => this.addByIndex(value, position),\n head: () => this.addHead(value),\n tail: () => this.addTail(value),\n };\n }\n\n addMany(values: T[]) {\n return {\n after: (...params: [T] | [any, ListComparisonFn]) =>\n this.addManyAfter.call(this, values, ...params),\n before: (...params: [T] | [any, ListComparisonFn]) =>\n this.addManyBefore.call(this, values, ...params),\n byIndex: (position: number) => this.addManyByIndex(values, position),\n head: () => this.addManyHead(values),\n tail: () => this.addManyTail(values),\n };\n }\n\n addAfter(value: T, previousValue: T): ListNode;\n addAfter(value: T, previousValue: any, compareFn: ListComparisonFn): ListNode;\n addAfter(value: T, previousValue: any, compareFn: ListComparisonFn = compare): ListNode {\n const previous = this.find(node => compareFn(node.value, previousValue));\n\n return previous ? this.attach(value, previous, previous.next) : this.addTail(value);\n }\n\n addBefore(value: T, nextValue: T): ListNode;\n addBefore(value: T, nextValue: any, compareFn: ListComparisonFn): ListNode;\n addBefore(value: T, nextValue: any, compareFn: ListComparisonFn = compare): ListNode {\n const next = this.find(node => compareFn(node.value, nextValue));\n\n return next ? this.attach(value, next.previous, next) : this.addHead(value);\n }\n\n addByIndex(value: T, position: number): ListNode {\n if (position < 0) position += this.size;\n else if (position >= this.size) return this.addTail(value);\n\n if (position <= 0) return this.addHead(value);\n\n const next = this.get(position)!;\n\n return this.attach(value, next.previous, next);\n }\n\n addHead(value: T): ListNode {\n const node = new ListNode(value);\n\n node.next = this.first;\n\n if (this.first) this.first.previous = node;\n else this.last = node;\n\n this.first = node;\n this.size++;\n\n return node;\n }\n\n addTail(value: T): ListNode {\n const node = new ListNode(value);\n\n if (this.first) {\n node.previous = this.last;\n this.last!.next = node;\n this.last = node;\n } else {\n this.first = node;\n this.last = node;\n }\n\n this.size++;\n\n return node;\n }\n\n addManyAfter(values: T[], previousValue: T): ListNode[];\n addManyAfter(values: T[], previousValue: any, compareFn: ListComparisonFn): ListNode[];\n addManyAfter(\n values: T[],\n previousValue: any,\n compareFn: ListComparisonFn = compare,\n ): ListNode[] {\n const previous = this.find(node => compareFn(node.value, previousValue));\n\n return previous ? this.attachMany(values, previous, previous.next) : this.addManyTail(values);\n }\n\n addManyBefore(values: T[], nextValue: T): ListNode[];\n addManyBefore(values: T[], nextValue: any, compareFn: ListComparisonFn): ListNode[];\n addManyBefore(\n values: T[],\n nextValue: any,\n compareFn: ListComparisonFn = compare,\n ): ListNode[] {\n const next = this.find(node => compareFn(node.value, nextValue));\n\n return next ? this.attachMany(values, next.previous, next) : this.addManyHead(values);\n }\n\n addManyByIndex(values: T[], position: number): ListNode[] {\n if (position < 0) position += this.size;\n\n if (position <= 0) return this.addManyHead(values);\n\n if (position >= this.size) return this.addManyTail(values);\n\n const next = this.get(position)!;\n\n return this.attachMany(values, next.previous, next);\n }\n\n addManyHead(values: T[]): ListNode[] {\n return values.reduceRight[]>((nodes, value) => {\n nodes.unshift(this.addHead(value));\n return nodes;\n }, []);\n }\n\n addManyTail(values: T[]): ListNode[] {\n return values.map(value => this.addTail(value));\n }\n\n drop() {\n return {\n byIndex: (position: number) => this.dropByIndex(position),\n byValue: (...params: [T] | [any, ListComparisonFn]) =>\n this.dropByValue.apply(this, params),\n byValueAll: (...params: [T] | [any, ListComparisonFn]) =>\n this.dropByValueAll.apply(this, params),\n head: () => this.dropHead(),\n tail: () => this.dropTail(),\n };\n }\n\n dropMany(count: number) {\n return {\n byIndex: (position: number) => this.dropManyByIndex(count, position),\n head: () => this.dropManyHead(count),\n tail: () => this.dropManyTail(count),\n };\n }\n\n dropByIndex(position: number): ListNode | undefined {\n if (position < 0) position += this.size;\n\n const current = this.get(position);\n\n return current ? this.detach(current) : undefined;\n }\n\n dropByValue(value: T): ListNode | undefined;\n dropByValue(value: any, compareFn: ListComparisonFn): ListNode | undefined;\n dropByValue(value: any, compareFn: ListComparisonFn = compare): ListNode | undefined {\n const position = this.findIndex(node => compareFn(node.value, value));\n\n return position < 0 ? undefined : this.dropByIndex(position);\n }\n\n dropByValueAll(value: T): ListNode[];\n dropByValueAll(value: any, compareFn: ListComparisonFn): ListNode[];\n dropByValueAll(value: any, compareFn: ListComparisonFn = compare): ListNode[] {\n const dropped: ListNode[] = [];\n\n for (let current = this.first, position = 0; current; position++, current = current.next) {\n if (compareFn(current.value, value)) {\n dropped.push(this.dropByIndex(position - dropped.length)!);\n }\n }\n\n return dropped;\n }\n\n dropHead(): ListNode | undefined {\n const head = this.first;\n\n if (head) {\n this.first = head.next;\n\n if (this.first) this.first.previous = undefined;\n else this.last = undefined;\n\n this.size--;\n\n return head;\n }\n\n return undefined;\n }\n\n dropTail(): ListNode | undefined {\n const tail = this.last;\n\n if (tail) {\n this.last = tail.previous;\n\n if (this.last) this.last.next = undefined;\n else this.first = undefined;\n\n this.size--;\n\n return tail;\n }\n\n return undefined;\n }\n\n dropManyByIndex(count: number, position: number): ListNode[] {\n if (count <= 0) return [];\n\n if (position < 0) position = Math.max(position + this.size, 0);\n else if (position >= this.size) return [];\n\n count = Math.min(count, this.size - position);\n\n const dropped: ListNode[] = [];\n\n while (count--) {\n const current = this.get(position);\n dropped.push(this.detach(current!)!);\n }\n\n return dropped;\n }\n\n dropManyHead(count: Exclude): ListNode[] {\n if (count <= 0) return [];\n\n count = Math.min(count, this.size);\n\n const dropped: ListNode[] = [];\n\n while (count--) dropped.unshift(this.dropHead()!);\n\n return dropped;\n }\n\n dropManyTail(count: Exclude): ListNode[] {\n if (count <= 0) return [];\n\n count = Math.min(count, this.size);\n\n const dropped: ListNode[] = [];\n\n while (count--) dropped.push(this.dropTail()!);\n\n return dropped;\n }\n\n find(predicate: ListIteratorFn): ListNode | undefined {\n for (let current = this.first, position = 0; current; position++, current = current.next) {\n if (predicate(current, position, this)) return current;\n }\n\n return undefined;\n }\n\n findIndex(predicate: ListIteratorFn): number {\n for (let current = this.first, position = 0; current; position++, current = current.next) {\n if (predicate(current, position, this)) return position;\n }\n\n return -1;\n }\n\n forEach(iteratorFn: ListIteratorFn) {\n for (let node = this.first, position = 0; node; position++, node = node.next) {\n iteratorFn(node, position, this);\n }\n }\n\n get(position: number): ListNode | undefined {\n return this.find((_, index) => position === index);\n }\n\n indexOf(value: T): number;\n indexOf(value: any, compareFn: ListComparisonFn): number;\n indexOf(value: any, compareFn: ListComparisonFn = compare): number {\n return this.findIndex(node => compareFn(node.value, value));\n }\n\n toArray(): T[] {\n const array = new Array(this.size);\n\n this.forEach((node, index) => (array[index!] = node.value));\n\n return array;\n }\n\n toNodeArray(): ListNode[] {\n const array = new Array(this.size);\n\n this.forEach((node, index) => (array[index!] = node));\n\n return array;\n }\n\n toString(mapperFn: ListMapperFn = JSON.stringify): string {\n return this.toArray()\n .map(value => mapperFn(value))\n .join(' <-> ');\n }\n\n // Cannot use Generator type because of ng-packagr\n *[Symbol.iterator](): any {\n for (let node = this.first, position = 0; node; position++, node = node.next) {\n yield node.value;\n }\n }\n}\n\nexport type ListMapperFn = (value: T) => any;\n\nexport type ListComparisonFn = (value1: T, value2: any) => boolean;\n\nexport type ListIteratorFn = (\n node: ListNode,\n index?: number,\n list?: LinkedList,\n) => R;\n","/*\n * Public API Surface of utils\n */\n\nexport * from './lib/linked-list';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/abp/utils/abp-utils.umd.min.js b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/abp/utils/abp-utils.umd.min.js new file mode 100644 index 0000000000..57b22e5188 --- /dev/null +++ b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/abp/utils/abp-utils.umd.min.js @@ -0,0 +1,2 @@ +!function(t,r){"object"==typeof exports&&"undefined"!=typeof module?r(exports,require("just-compare")):"function"==typeof define&&define.amd?define("@abp/utils",["exports","just-compare"],r):r(((t=t||self).abp=t.abp||{},t.abp.utils=t.abp.utils||{},t.abp.utils.common={}),t.compare)}(this,(function(t,r){"use strict";r=r&&Object.prototype.hasOwnProperty.call(r,"default")?r.default:r;function e(t,r){var e,n,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:u(0),throw:u(1),return:u(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function u(o){return function(u){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;a;)try{if(e=1,n&&(i=2&o[0]?n.return:o[0]?n.throw||((i=n.return)&&i.call(n),0):n.next)&&!(i=i.call(n,o[1])).done)return i;switch(n=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,n=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=a.trys,(i=i.length>0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0)&&!(n=o.next()).done;)a.push(n.value)}catch(t){i={error:t}}finally{try{n&&!n.done&&(e=o.return)&&e.call(o)}finally{if(i)throw i.error}}return a}function i(){for(var t=[],r=0;r=this.size)return this.addTail(t);if(r<=0)return this.addHead(t);var e=this.get(r);return this.attach(t,e.previous,e)},t.prototype.addHead=function(t){var r=new o(t);return r.next=this.first,this.first?this.first.previous=r:this.last=r,this.first=r,this.size++,r},t.prototype.addTail=function(t){var r=new o(t);return this.first?(r.previous=this.last,this.last.next=r,this.last=r):(this.first=r,this.last=r),this.size++,r},t.prototype.addManyAfter=function(t,e,n){void 0===n&&(n=r);var i=this.find((function(t){return n(t.value,e)}));return i?this.attachMany(t,i,i.next):this.addManyTail(t)},t.prototype.addManyBefore=function(t,e,n){void 0===n&&(n=r);var i=this.find((function(t){return n(t.value,e)}));return i?this.attachMany(t,i.previous,i):this.addManyHead(t)},t.prototype.addManyByIndex=function(t,r){if(r<0&&(r+=this.size),r<=0)return this.addManyHead(t);if(r>=this.size)return this.addManyTail(t);var e=this.get(r);return this.attachMany(t,e.previous,e)},t.prototype.addManyHead=function(t){var r=this;return t.reduceRight((function(t,e){return t.unshift(r.addHead(e)),t}),[])},t.prototype.addManyTail=function(t){var r=this;return t.map((function(t){return r.addTail(t)}))},t.prototype.drop=function(){var t=this;return{byIndex:function(r){return t.dropByIndex(r)},byValue:function(){for(var r=[],e=0;e=this.size)return[];t=Math.min(t,this.size-r);for(var e=[];t--;){var n=this.get(r);e.push(this.detach(n))}return e},t.prototype.dropManyHead=function(t){if(t<=0)return[];t=Math.min(t,this.size);for(var r=[];t--;)r.unshift(this.dropHead());return r},t.prototype.dropManyTail=function(t){if(t<=0)return[];t=Math.min(t,this.size);for(var r=[];t--;)r.push(this.dropTail());return r},t.prototype.find=function(t){for(var r=this.first,e=0;r;e++,r=r.next)if(t(r,e,this))return r},t.prototype.findIndex=function(t){for(var r=this.first,e=0;r;e++,r=r.next)if(t(r,e,this))return e;return-1},t.prototype.forEach=function(t){for(var r=this.first,e=0;r;e++,r=r.next)t(r,e,this)},t.prototype.get=function(t){return this.find((function(r,e){return t===e}))},t.prototype.indexOf=function(t,e){return void 0===e&&(e=r),this.findIndex((function(r){return e(r.value,t)}))},t.prototype.toArray=function(){var t=new Array(this.size);return this.forEach((function(r,e){return t[e]=r.value})),t},t.prototype.toNodeArray=function(){var t=new Array(this.size);return this.forEach((function(r,e){return t[e]=r})),t},t.prototype.toString=function(t){return void 0===t&&(t=JSON.stringify),this.toArray().map((function(r){return t(r)})).join(" <-> ")},t.prototype[Symbol.iterator]=function(){var t;return e(this,(function(r){switch(r.label){case 0:t=this.first,0,r.label=1;case 1:return t?[4,t.value]:[3,4];case 2:r.sent(),r.label=3;case 3:return t=t.next,[3,1];case 4:return[2]}}))},t}();t.LinkedList=a,t.ListNode=o,Object.defineProperty(t,"__esModule",{value:!0})})); +//# sourceMappingURL=abp-utils.umd.min.js.map \ No newline at end of file diff --git a/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/abp/utils/abp-utils.umd.min.js.map b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/abp/utils/abp-utils.umd.min.js.map new file mode 100644 index 0000000000..b4e4d3e0a1 --- /dev/null +++ b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/abp/utils/abp-utils.umd.min.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["../../node_modules/tslib/tslib.es6.js","../../projects/utils/src/lib/linked-list.ts"],"names":["__generator","thisArg","body","f","y","t","g","_","label","sent","trys","ops","next","verb","throw","return","Symbol","iterator","this","n","v","op","TypeError","call","done","value","pop","length","push","e","step","Object","create","__read","o","m","r","i","ar","error","__spread","arguments","concat","LinkedList","size","defineProperty","prototype","first","last","attach","previousNode","nextNode","addHead","addTail","node","ListNode","previous","attachMany","values","addManyHead","addManyTail","list","toNodeArray","detach","dropTail","dropHead","add","_this","after","params","_i","_a","addAfter","apply","before","addBefore","byIndex","position","addByIndex","head","tail","addMany","addManyAfter","addManyBefore","addManyByIndex","previousValue","compareFn","compare","find","nextValue","get","reduceRight","nodes","unshift","map","drop","dropByIndex","byValue","dropByValue","byValueAll","dropByValueAll","dropMany","count","dropManyByIndex","dropManyHead","dropManyTail","current","undefined","findIndex","dropped","Math","max","min","predicate","forEach","iteratorFn","index","indexOf","toArray","array","Array","toString","mapperFn","JSON","stringify","join"],"mappings":"wYA6EgBA,EAAYC,EAASC,GACjC,IAAsGC,EAAGC,EAAGC,EAAGC,EAA3GC,EAAI,CAAEC,MAAO,EAAGC,KAAM,WAAa,GAAW,EAAPJ,EAAE,GAAQ,MAAMA,EAAE,GAAI,OAAOA,EAAE,IAAOK,KAAM,GAAIC,IAAK,IAChG,OAAOL,EAAI,CAAEM,KAAMC,EAAK,GAAIC,MAASD,EAAK,GAAIE,OAAUF,EAAK,IAAwB,mBAAXG,SAA0BV,EAAEU,OAAOC,UAAY,WAAa,OAAOC,OAAUZ,EACvJ,SAASO,EAAKM,GAAK,OAAO,SAAUC,GAAK,OACzC,SAAcC,GACV,GAAIlB,EAAG,MAAM,IAAImB,UAAU,mCAC3B,KAAOf,GAAG,IACN,GAAIJ,EAAI,EAAGC,IAAMC,EAAY,EAARgB,EAAG,GAASjB,EAAU,OAAIiB,EAAG,GAAKjB,EAAS,SAAOC,EAAID,EAAU,SAAMC,EAAEkB,KAAKnB,GAAI,GAAKA,EAAEQ,SAAWP,EAAIA,EAAEkB,KAAKnB,EAAGiB,EAAG,KAAKG,KAAM,OAAOnB,EAE3J,OADID,EAAI,EAAGC,IAAGgB,EAAK,CAAS,EAARA,EAAG,GAAQhB,EAAEoB,QACzBJ,EAAG,IACP,KAAK,EAAG,KAAK,EAAGhB,EAAIgB,EAAI,MACxB,KAAK,EAAc,OAAXd,EAAEC,QAAgB,CAAEiB,MAAOJ,EAAG,GAAIG,MAAM,GAChD,KAAK,EAAGjB,EAAEC,QAASJ,EAAIiB,EAAG,GAAIA,EAAK,CAAC,GAAI,SACxC,KAAK,EAAGA,EAAKd,EAAEI,IAAIe,MAAOnB,EAAEG,KAAKgB,MAAO,SACxC,QACI,KAAMrB,EAAIE,EAAEG,MAAML,EAAIA,EAAEsB,OAAS,GAAKtB,EAAEA,EAAEsB,OAAS,KAAkB,IAAVN,EAAG,IAAsB,IAAVA,EAAG,IAAW,CAAEd,EAAI,EAAG,SACjG,GAAc,IAAVc,EAAG,MAAchB,GAAMgB,EAAG,GAAKhB,EAAE,IAAMgB,EAAG,GAAKhB,EAAE,IAAM,CAAEE,EAAEC,MAAQa,EAAG,GAAI,MAC9E,GAAc,IAAVA,EAAG,IAAYd,EAAEC,MAAQH,EAAE,GAAI,CAAEE,EAAEC,MAAQH,EAAE,GAAIA,EAAIgB,EAAI,MAC7D,GAAIhB,GAAKE,EAAEC,MAAQH,EAAE,GAAI,CAAEE,EAAEC,MAAQH,EAAE,GAAIE,EAAEI,IAAIiB,KAAKP,GAAK,MACvDhB,EAAE,IAAIE,EAAEI,IAAIe,MAChBnB,EAAEG,KAAKgB,MAAO,SAEtBL,EAAKnB,EAAKqB,KAAKtB,EAASM,GAC1B,MAAOsB,GAAKR,EAAK,CAAC,EAAGQ,GAAIzB,EAAI,UAAeD,EAAIE,EAAI,EACtD,GAAY,EAARgB,EAAG,GAAQ,MAAMA,EAAG,GAAI,MAAO,CAAEI,MAAOJ,EAAG,GAAKA,EAAG,QAAK,EAAQG,MAAM,GArB9BM,CAAK,CAACX,EAAGC,MAyBhCW,OAAOC,gBAwBpBC,EAAOC,EAAGf,GACtB,IAAIgB,EAAsB,mBAAXnB,QAAyBkB,EAAElB,OAAOC,UACjD,IAAKkB,EAAG,OAAOD,EACf,IAAmBE,EAAYP,EAA3BQ,EAAIF,EAAEZ,KAAKW,GAAOI,EAAK,GAC3B,IACI,WAAc,IAANnB,GAAgBA,KAAM,MAAQiB,EAAIC,EAAEzB,QAAQY,MAAMc,EAAGV,KAAKQ,EAAEX,OAExE,MAAOc,GAASV,EAAI,CAAEU,MAAOA,WAEzB,IACQH,IAAMA,EAAEZ,OAASW,EAAIE,EAAU,SAAIF,EAAEZ,KAAKc,WAExC,GAAIR,EAAG,MAAMA,EAAEU,OAE7B,OAAOD,WAGKE,IACZ,IAAK,IAAIF,EAAK,GAAID,EAAI,EAAGA,EAAII,UAAUd,OAAQU,IAC3CC,EAAKA,EAAGI,OAAOT,EAAOQ,UAAUJ,KACpC,OAAOC,EA8CcP,OAAOC,aC5L9B,SAA4BP,GAAAP,KAAAO,MAAAA,gBAG9B,SAAAkB,IAGUzB,KAAA0B,KAAO,SAEfb,OAAAc,eAAIF,EAAAG,UAAA,OAAI,KAAR,WACE,OAAO5B,KAAK6B,uCAEdhB,OAAAc,eAAIF,EAAAG,UAAA,OAAI,KAAR,WACE,OAAO5B,KAAK8B,sCAEdjB,OAAAc,eAAIF,EAAAG,UAAA,SAAM,KAAV,WACE,OAAO5B,KAAK0B,sCAGND,EAAAG,UAAAG,OAAA,SACNxB,EACAyB,EACAC,GAEA,IAAKD,EAAc,OAAOhC,KAAKkC,QAAQ3B,GAEvC,IAAK0B,EAAU,OAAOjC,KAAKmC,QAAQ5B,GAEnC,IAAM6B,EAAO,IAAIC,EAAS9B,GAQ1B,OAPA6B,EAAKE,SAAWN,EAChBA,EAAatC,KAAO0C,EACpBA,EAAK1C,KAAOuC,EACZA,EAASK,SAAWF,EAEpBpC,KAAK0B,OAEEU,GAGDX,EAAAG,UAAAW,WAAA,SACNC,EACAR,EACAC,GAEA,IAAKO,EAAO/B,OAAQ,MAAO,GAE3B,IAAKuB,EAAc,OAAOhC,KAAKyC,YAAYD,GAE3C,IAAKP,EAAU,OAAOjC,KAAK0C,YAAYF,GAEvC,IAAMG,EAAO,IAAIlB,EASjB,OARAkB,EAAKD,YAAYF,GACjBG,EAAKd,MAAOS,SAAWN,EACvBA,EAAatC,KAAOiD,EAAKd,MACzBc,EAAKb,KAAMpC,KAAOuC,EAClBA,EAASK,SAAWK,EAAKb,KAEzB9B,KAAK0B,MAAQc,EAAO/B,OAEbkC,EAAKC,eAGNnB,EAAAG,UAAAiB,OAAA,SAAOT,GACb,OAAKA,EAAKE,SAELF,EAAK1C,MAEV0C,EAAKE,SAAS5C,KAAO0C,EAAK1C,KAC1B0C,EAAK1C,KAAK4C,SAAWF,EAAKE,SAE1BtC,KAAK0B,OAEEU,GAPgBpC,KAAK8C,WAFD9C,KAAK+C,YAYlCtB,EAAAG,UAAAoB,IAAA,SAAIzC,GAAJ,IAAA0C,EAAAjD,KACE,MAAO,CACLkD,MAAO,qBAACC,EAAA,GAAAC,EAAA,EAAAA,EAAA7B,UAAAd,OAAA2C,IAAAD,EAAAC,GAAA7B,UAAA6B,GACN,OAAAC,EAAAJ,EAAKK,UAASjD,KAAIkD,MAAAF,EAAA/B,EAAA,CAAC2B,EAAM1C,GAAU4C,KACrCK,OAAQ,qBAACL,EAAA,GAAAC,EAAA,EAAAA,EAAA7B,UAAAd,OAAA2C,IAAAD,EAAAC,GAAA7B,UAAA6B,GACP,OAAAC,EAAAJ,EAAKQ,WAAUpD,KAAIkD,MAAAF,EAAA/B,EAAA,CAAC2B,EAAM1C,GAAU4C,KACtCO,QAAS,SAACC,GAAqB,OAAAV,EAAKW,WAAWrD,EAAOoD,IACtDE,KAAM,WAAM,OAAAZ,EAAKf,QAAQ3B,IACzBuD,KAAM,WAAM,OAAAb,EAAKd,QAAQ5B,MAI7BkB,EAAAG,UAAAmC,QAAA,SAAQvB,GAAR,IAAAS,EAAAjD,KACE,MAAO,CACLkD,MAAO,qBAACC,EAAA,GAAAC,EAAA,EAAAA,EAAA7B,UAAAd,OAAA2C,IAAAD,EAAAC,GAAA7B,UAAA6B,GACN,OAAAC,EAAAJ,EAAKe,cAAa3D,KAAIkD,MAAAF,EAAA/B,EAAA,CAAC2B,EAAMT,GAAWW,KAC1CK,OAAQ,qBAACL,EAAA,GAAAC,EAAA,EAAAA,EAAA7B,UAAAd,OAAA2C,IAAAD,EAAAC,GAAA7B,UAAA6B,GACP,OAAAC,EAAAJ,EAAKgB,eAAc5D,KAAIkD,MAAAF,EAAA/B,EAAA,CAAC2B,EAAMT,GAAWW,KAC3CO,QAAS,SAACC,GAAqB,OAAAV,EAAKiB,eAAe1B,EAAQmB,IAC3DE,KAAM,WAAM,OAAAZ,EAAKR,YAAYD,IAC7BsB,KAAM,WAAM,OAAAb,EAAKP,YAAYF,MAMjCf,EAAAG,UAAA0B,SAAA,SAAS/C,EAAU4D,EAAoBC,QAAA,IAAAA,IAAAA,EAAAC,GACrC,IAAM/B,EAAWtC,KAAKsE,MAAK,SAAAlC,GAAQ,OAAAgC,EAAUhC,EAAK7B,MAAO4D,MAEzD,OAAO7B,EAAWtC,KAAK+B,OAAOxB,EAAO+B,EAAUA,EAAS5C,MAAQM,KAAKmC,QAAQ5B,IAK/EkB,EAAAG,UAAA6B,UAAA,SAAUlD,EAAUgE,EAAgBH,QAAA,IAAAA,IAAAA,EAAAC,GAClC,IAAM3E,EAAOM,KAAKsE,MAAK,SAAAlC,GAAQ,OAAAgC,EAAUhC,EAAK7B,MAAOgE,MAErD,OAAO7E,EAAOM,KAAK+B,OAAOxB,EAAOb,EAAK4C,SAAU5C,GAAQM,KAAKkC,QAAQ3B,IAGvEkB,EAAAG,UAAAgC,WAAA,SAAWrD,EAAUoD,GACnB,GAAIA,EAAW,EAAGA,GAAY3D,KAAK0B,UAC9B,GAAIiC,GAAY3D,KAAK0B,KAAM,OAAO1B,KAAKmC,QAAQ5B,GAEpD,GAAIoD,GAAY,EAAG,OAAO3D,KAAKkC,QAAQ3B,GAEvC,IAAMb,EAAOM,KAAKwE,IAAIb,GAEtB,OAAO3D,KAAK+B,OAAOxB,EAAOb,EAAK4C,SAAU5C,IAG3C+B,EAAAG,UAAAM,QAAA,SAAQ3B,GACN,IAAM6B,EAAO,IAAIC,EAAS9B,GAU1B,OARA6B,EAAK1C,KAAOM,KAAK6B,MAEb7B,KAAK6B,MAAO7B,KAAK6B,MAAMS,SAAWF,EACjCpC,KAAK8B,KAAOM,EAEjBpC,KAAK6B,MAAQO,EACbpC,KAAK0B,OAEEU,GAGTX,EAAAG,UAAAO,QAAA,SAAQ5B,GACN,IAAM6B,EAAO,IAAIC,EAAS9B,GAa1B,OAXIP,KAAK6B,OACPO,EAAKE,SAAWtC,KAAK8B,KACrB9B,KAAK8B,KAAMpC,KAAO0C,EAClBpC,KAAK8B,KAAOM,IAEZpC,KAAK6B,MAAQO,EACbpC,KAAK8B,KAAOM,GAGdpC,KAAK0B,OAEEU,GAKTX,EAAAG,UAAAoC,aAAA,SACExB,EACA2B,EACAC,QAAA,IAAAA,IAAAA,EAAAC,GAEA,IAAM/B,EAAWtC,KAAKsE,MAAK,SAAAlC,GAAQ,OAAAgC,EAAUhC,EAAK7B,MAAO4D,MAEzD,OAAO7B,EAAWtC,KAAKuC,WAAWC,EAAQF,EAAUA,EAAS5C,MAAQM,KAAK0C,YAAYF,IAKxFf,EAAAG,UAAAqC,cAAA,SACEzB,EACA+B,EACAH,QAAA,IAAAA,IAAAA,EAAAC,GAEA,IAAM3E,EAAOM,KAAKsE,MAAK,SAAAlC,GAAQ,OAAAgC,EAAUhC,EAAK7B,MAAOgE,MAErD,OAAO7E,EAAOM,KAAKuC,WAAWC,EAAQ9C,EAAK4C,SAAU5C,GAAQM,KAAKyC,YAAYD,IAGhFf,EAAAG,UAAAsC,eAAA,SAAe1B,EAAamB,GAG1B,GAFIA,EAAW,IAAGA,GAAY3D,KAAK0B,MAE/BiC,GAAY,EAAG,OAAO3D,KAAKyC,YAAYD,GAE3C,GAAImB,GAAY3D,KAAK0B,KAAM,OAAO1B,KAAK0C,YAAYF,GAEnD,IAAM9C,EAAOM,KAAKwE,IAAIb,GAEtB,OAAO3D,KAAKuC,WAAWC,EAAQ9C,EAAK4C,SAAU5C,IAGhD+B,EAAAG,UAAAa,YAAA,SAAYD,GAAZ,IAAAS,EAAAjD,KACE,OAAOwC,EAAOiC,aAA2B,SAACC,EAAOnE,GAE/C,OADAmE,EAAMC,QAAQ1B,EAAKf,QAAQ3B,IACpBmE,IACN,KAGLjD,EAAAG,UAAAc,YAAA,SAAYF,GAAZ,IAAAS,EAAAjD,KACE,OAAOwC,EAAOoC,KAAI,SAAArE,GAAS,OAAA0C,EAAKd,QAAQ5B,OAG1CkB,EAAAG,UAAAiD,KAAA,WAAA,IAAA5B,EAAAjD,KACE,MAAO,CACL0D,QAAS,SAACC,GAAqB,OAAAV,EAAK6B,YAAYnB,IAChDoB,QAAS,eAAC,IAAA5B,EAAA,GAAAC,EAAA,EAAAA,EAAA7B,UAAAd,OAAA2C,IAAAD,EAAAC,GAAA7B,UAAA6B,GACR,OAAAH,EAAK+B,YAAYzB,MAAMN,EAAME,IAC/B8B,WAAY,eAAC,IAAA9B,EAAA,GAAAC,EAAA,EAAAA,EAAA7B,UAAAd,OAAA2C,IAAAD,EAAAC,GAAA7B,UAAA6B,GACX,OAAAH,EAAKiC,eAAe3B,MAAMN,EAAME,IAClCU,KAAM,WAAM,OAAAZ,EAAKF,YACjBe,KAAM,WAAM,OAAAb,EAAKH,cAIrBrB,EAAAG,UAAAuD,SAAA,SAASC,GAAT,IAAAnC,EAAAjD,KACE,MAAO,CACL0D,QAAS,SAACC,GAAqB,OAAAV,EAAKoC,gBAAgBD,EAAOzB,IAC3DE,KAAM,WAAM,OAAAZ,EAAKqC,aAAaF,IAC9BtB,KAAM,WAAM,OAAAb,EAAKsC,aAAaH,MAIlC3D,EAAAG,UAAAkD,YAAA,SAAYnB,GACNA,EAAW,IAAGA,GAAY3D,KAAK0B,MAEnC,IAAM8D,EAAUxF,KAAKwE,IAAIb,GAEzB,OAAO6B,EAAUxF,KAAK6C,OAAO2C,QAAWC,GAK1ChE,EAAAG,UAAAoD,YAAA,SAAYzE,EAAY6D,QAAA,IAAAA,IAAAA,EAAAC,GACtB,IAAMV,EAAW3D,KAAK0F,WAAU,SAAAtD,GAAQ,OAAAgC,EAAUhC,EAAK7B,MAAOA,MAE9D,OAAOoD,EAAW,OAAI8B,EAAYzF,KAAK8E,YAAYnB,IAKrDlC,EAAAG,UAAAsD,eAAA,SAAe3E,EAAY6D,QAAA,IAAAA,IAAAA,EAAAC,GAGzB,IAFA,IAAMsB,EAAyB,GAEtBH,EAAUxF,KAAK6B,MAAO8B,EAAW,EAAG6B,EAAS7B,IAAY6B,EAAUA,EAAQ9F,KAC9E0E,EAAUoB,EAAQjF,MAAOA,IAC3BoF,EAAQjF,KAAKV,KAAK8E,YAAYnB,EAAWgC,EAAQlF,SAIrD,OAAOkF,GAGTlE,EAAAG,UAAAmB,SAAA,WACE,IAAMc,EAAO7D,KAAK6B,MAElB,GAAIgC,EAQF,OAPA7D,KAAK6B,MAAQgC,EAAKnE,KAEdM,KAAK6B,MAAO7B,KAAK6B,MAAMS,cAAWmD,EACjCzF,KAAK8B,UAAO2D,EAEjBzF,KAAK0B,OAEEmC,GAMXpC,EAAAG,UAAAkB,SAAA,WACE,IAAMgB,EAAO9D,KAAK8B,KAElB,GAAIgC,EAQF,OAPA9D,KAAK8B,KAAOgC,EAAKxB,SAEbtC,KAAK8B,KAAM9B,KAAK8B,KAAKpC,UAAO+F,EAC3BzF,KAAK6B,WAAQ4D,EAElBzF,KAAK0B,OAEEoC,GAMXrC,EAAAG,UAAAyD,gBAAA,SAAgBD,EAAezB,GAC7B,GAAIyB,GAAS,EAAG,MAAO,GAEvB,GAAIzB,EAAW,EAAGA,EAAWiC,KAAKC,IAAIlC,EAAW3D,KAAK0B,KAAM,QACvD,GAAIiC,GAAY3D,KAAK0B,KAAM,MAAO,GAEvC0D,EAAQQ,KAAKE,IAAIV,EAAOpF,KAAK0B,KAAOiC,GAIpC,IAFA,IAAMgC,EAAyB,GAExBP,KAAS,CACd,IAAMI,EAAUxF,KAAKwE,IAAIb,GACzBgC,EAAQjF,KAAKV,KAAK6C,OAAO2C,IAG3B,OAAOG,GAGTlE,EAAAG,UAAA0D,aAAA,SAAaF,GACX,GAAIA,GAAS,EAAG,MAAO,GAEvBA,EAAQQ,KAAKE,IAAIV,EAAOpF,KAAK0B,MAI7B,IAFA,IAAMiE,EAAyB,GAExBP,KAASO,EAAQhB,QAAQ3E,KAAK+C,YAErC,OAAO4C,GAGTlE,EAAAG,UAAA2D,aAAA,SAAaH,GACX,GAAIA,GAAS,EAAG,MAAO,GAEvBA,EAAQQ,KAAKE,IAAIV,EAAOpF,KAAK0B,MAI7B,IAFA,IAAMiE,EAAyB,GAExBP,KAASO,EAAQjF,KAAKV,KAAK8C,YAElC,OAAO6C,GAGTlE,EAAAG,UAAA0C,KAAA,SAAKyB,GACH,IAAK,IAAIP,EAAUxF,KAAK6B,MAAO8B,EAAW,EAAG6B,EAAS7B,IAAY6B,EAAUA,EAAQ9F,KAClF,GAAIqG,EAAUP,EAAS7B,EAAU3D,MAAO,OAAOwF,GAMnD/D,EAAAG,UAAA8D,UAAA,SAAUK,GACR,IAAK,IAAIP,EAAUxF,KAAK6B,MAAO8B,EAAW,EAAG6B,EAAS7B,IAAY6B,EAAUA,EAAQ9F,KAClF,GAAIqG,EAAUP,EAAS7B,EAAU3D,MAAO,OAAO2D,EAGjD,OAAQ,GAGVlC,EAAAG,UAAAoE,QAAA,SAAqBC,GACnB,IAAK,IAAI7D,EAAOpC,KAAK6B,MAAO8B,EAAW,EAAGvB,EAAMuB,IAAYvB,EAAOA,EAAK1C,KACtEuG,EAAW7D,EAAMuB,EAAU3D,OAI/ByB,EAAAG,UAAA4C,IAAA,SAAIb,GACF,OAAO3D,KAAKsE,MAAK,SAACjF,EAAG6G,GAAU,OAAAvC,IAAauC,MAK9CzE,EAAAG,UAAAuE,QAAA,SAAQ5F,EAAY6D,GAClB,YADkB,IAAAA,IAAAA,EAAAC,GACXrE,KAAK0F,WAAU,SAAAtD,GAAQ,OAAAgC,EAAUhC,EAAK7B,MAAOA,OAGtDkB,EAAAG,UAAAwE,QAAA,WACE,IAAMC,EAAQ,IAAIC,MAAMtG,KAAK0B,MAI7B,OAFA1B,KAAKgG,SAAQ,SAAC5D,EAAM8D,GAAU,OAACG,EAAMH,GAAU9D,EAAK7B,SAE7C8F,GAGT5E,EAAAG,UAAAgB,YAAA,WACE,IAAMyD,EAAQ,IAAIC,MAAMtG,KAAK0B,MAI7B,OAFA1B,KAAKgG,SAAQ,SAAC5D,EAAM8D,GAAU,OAACG,EAAMH,GAAU9D,KAExCiE,GAGT5E,EAAAG,UAAA2E,SAAA,SAASC,GACP,YADO,IAAAA,IAAAA,EAA4BC,KAAKC,WACjC1G,KAAKoG,UACTxB,KAAI,SAAArE,GAAS,OAAAiG,EAASjG,MACtBoG,KAAK,UAITlF,EAAAG,UAAC9B,OAAOC,UAAT,mEACWqC,EAAOpC,KAAK6B,MAAkB,0BAAGO,EACxC,CAAA,EAAMA,EAAK7B,OADiC,CAAA,EAAA,UAC5C8C,EAAA9D,+BAD0D6C,EAAOA,EAAK1C","sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) __createBinding(exports, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","/* tslint:disable:no-non-null-assertion */\n\nimport compare from 'just-compare';\n\nexport class ListNode {\n next: ListNode | undefined;\n previous: ListNode | undefined;\n constructor(public readonly value: T) {}\n}\n\nexport class LinkedList {\n private first: ListNode | undefined;\n private last: ListNode | undefined;\n private size = 0;\n\n get head(): ListNode | undefined {\n return this.first;\n }\n get tail(): ListNode | undefined {\n return this.last;\n }\n get length(): number {\n return this.size;\n }\n\n private attach(\n value: T,\n previousNode: ListNode | undefined,\n nextNode: ListNode | undefined,\n ): ListNode {\n if (!previousNode) return this.addHead(value);\n\n if (!nextNode) return this.addTail(value);\n\n const node = new ListNode(value);\n node.previous = previousNode;\n previousNode.next = node;\n node.next = nextNode;\n nextNode.previous = node;\n\n this.size++;\n\n return node;\n }\n\n private attachMany(\n values: T[],\n previousNode: ListNode | undefined,\n nextNode: ListNode | undefined,\n ): ListNode[] {\n if (!values.length) return [];\n\n if (!previousNode) return this.addManyHead(values);\n\n if (!nextNode) return this.addManyTail(values);\n\n const list = new LinkedList();\n list.addManyTail(values);\n list.first!.previous = previousNode;\n previousNode.next = list.first;\n list.last!.next = nextNode;\n nextNode.previous = list.last;\n\n this.size += values.length;\n\n return list.toNodeArray();\n }\n\n private detach(node: ListNode) {\n if (!node.previous) return this.dropHead();\n\n if (!node.next) return this.dropTail();\n\n node.previous.next = node.next;\n node.next.previous = node.previous;\n\n this.size--;\n\n return node;\n }\n\n add(value: T) {\n return {\n after: (...params: [T] | [any, ListComparisonFn]) =>\n this.addAfter.call(this, value, ...params),\n before: (...params: [T] | [any, ListComparisonFn]) =>\n this.addBefore.call(this, value, ...params),\n byIndex: (position: number) => this.addByIndex(value, position),\n head: () => this.addHead(value),\n tail: () => this.addTail(value),\n };\n }\n\n addMany(values: T[]) {\n return {\n after: (...params: [T] | [any, ListComparisonFn]) =>\n this.addManyAfter.call(this, values, ...params),\n before: (...params: [T] | [any, ListComparisonFn]) =>\n this.addManyBefore.call(this, values, ...params),\n byIndex: (position: number) => this.addManyByIndex(values, position),\n head: () => this.addManyHead(values),\n tail: () => this.addManyTail(values),\n };\n }\n\n addAfter(value: T, previousValue: T): ListNode;\n addAfter(value: T, previousValue: any, compareFn: ListComparisonFn): ListNode;\n addAfter(value: T, previousValue: any, compareFn: ListComparisonFn = compare): ListNode {\n const previous = this.find(node => compareFn(node.value, previousValue));\n\n return previous ? this.attach(value, previous, previous.next) : this.addTail(value);\n }\n\n addBefore(value: T, nextValue: T): ListNode;\n addBefore(value: T, nextValue: any, compareFn: ListComparisonFn): ListNode;\n addBefore(value: T, nextValue: any, compareFn: ListComparisonFn = compare): ListNode {\n const next = this.find(node => compareFn(node.value, nextValue));\n\n return next ? this.attach(value, next.previous, next) : this.addHead(value);\n }\n\n addByIndex(value: T, position: number): ListNode {\n if (position < 0) position += this.size;\n else if (position >= this.size) return this.addTail(value);\n\n if (position <= 0) return this.addHead(value);\n\n const next = this.get(position)!;\n\n return this.attach(value, next.previous, next);\n }\n\n addHead(value: T): ListNode {\n const node = new ListNode(value);\n\n node.next = this.first;\n\n if (this.first) this.first.previous = node;\n else this.last = node;\n\n this.first = node;\n this.size++;\n\n return node;\n }\n\n addTail(value: T): ListNode {\n const node = new ListNode(value);\n\n if (this.first) {\n node.previous = this.last;\n this.last!.next = node;\n this.last = node;\n } else {\n this.first = node;\n this.last = node;\n }\n\n this.size++;\n\n return node;\n }\n\n addManyAfter(values: T[], previousValue: T): ListNode[];\n addManyAfter(values: T[], previousValue: any, compareFn: ListComparisonFn): ListNode[];\n addManyAfter(\n values: T[],\n previousValue: any,\n compareFn: ListComparisonFn = compare,\n ): ListNode[] {\n const previous = this.find(node => compareFn(node.value, previousValue));\n\n return previous ? this.attachMany(values, previous, previous.next) : this.addManyTail(values);\n }\n\n addManyBefore(values: T[], nextValue: T): ListNode[];\n addManyBefore(values: T[], nextValue: any, compareFn: ListComparisonFn): ListNode[];\n addManyBefore(\n values: T[],\n nextValue: any,\n compareFn: ListComparisonFn = compare,\n ): ListNode[] {\n const next = this.find(node => compareFn(node.value, nextValue));\n\n return next ? this.attachMany(values, next.previous, next) : this.addManyHead(values);\n }\n\n addManyByIndex(values: T[], position: number): ListNode[] {\n if (position < 0) position += this.size;\n\n if (position <= 0) return this.addManyHead(values);\n\n if (position >= this.size) return this.addManyTail(values);\n\n const next = this.get(position)!;\n\n return this.attachMany(values, next.previous, next);\n }\n\n addManyHead(values: T[]): ListNode[] {\n return values.reduceRight[]>((nodes, value) => {\n nodes.unshift(this.addHead(value));\n return nodes;\n }, []);\n }\n\n addManyTail(values: T[]): ListNode[] {\n return values.map(value => this.addTail(value));\n }\n\n drop() {\n return {\n byIndex: (position: number) => this.dropByIndex(position),\n byValue: (...params: [T] | [any, ListComparisonFn]) =>\n this.dropByValue.apply(this, params),\n byValueAll: (...params: [T] | [any, ListComparisonFn]) =>\n this.dropByValueAll.apply(this, params),\n head: () => this.dropHead(),\n tail: () => this.dropTail(),\n };\n }\n\n dropMany(count: number) {\n return {\n byIndex: (position: number) => this.dropManyByIndex(count, position),\n head: () => this.dropManyHead(count),\n tail: () => this.dropManyTail(count),\n };\n }\n\n dropByIndex(position: number): ListNode | undefined {\n if (position < 0) position += this.size;\n\n const current = this.get(position);\n\n return current ? this.detach(current) : undefined;\n }\n\n dropByValue(value: T): ListNode | undefined;\n dropByValue(value: any, compareFn: ListComparisonFn): ListNode | undefined;\n dropByValue(value: any, compareFn: ListComparisonFn = compare): ListNode | undefined {\n const position = this.findIndex(node => compareFn(node.value, value));\n\n return position < 0 ? undefined : this.dropByIndex(position);\n }\n\n dropByValueAll(value: T): ListNode[];\n dropByValueAll(value: any, compareFn: ListComparisonFn): ListNode[];\n dropByValueAll(value: any, compareFn: ListComparisonFn = compare): ListNode[] {\n const dropped: ListNode[] = [];\n\n for (let current = this.first, position = 0; current; position++, current = current.next) {\n if (compareFn(current.value, value)) {\n dropped.push(this.dropByIndex(position - dropped.length)!);\n }\n }\n\n return dropped;\n }\n\n dropHead(): ListNode | undefined {\n const head = this.first;\n\n if (head) {\n this.first = head.next;\n\n if (this.first) this.first.previous = undefined;\n else this.last = undefined;\n\n this.size--;\n\n return head;\n }\n\n return undefined;\n }\n\n dropTail(): ListNode | undefined {\n const tail = this.last;\n\n if (tail) {\n this.last = tail.previous;\n\n if (this.last) this.last.next = undefined;\n else this.first = undefined;\n\n this.size--;\n\n return tail;\n }\n\n return undefined;\n }\n\n dropManyByIndex(count: number, position: number): ListNode[] {\n if (count <= 0) return [];\n\n if (position < 0) position = Math.max(position + this.size, 0);\n else if (position >= this.size) return [];\n\n count = Math.min(count, this.size - position);\n\n const dropped: ListNode[] = [];\n\n while (count--) {\n const current = this.get(position);\n dropped.push(this.detach(current!)!);\n }\n\n return dropped;\n }\n\n dropManyHead(count: Exclude): ListNode[] {\n if (count <= 0) return [];\n\n count = Math.min(count, this.size);\n\n const dropped: ListNode[] = [];\n\n while (count--) dropped.unshift(this.dropHead()!);\n\n return dropped;\n }\n\n dropManyTail(count: Exclude): ListNode[] {\n if (count <= 0) return [];\n\n count = Math.min(count, this.size);\n\n const dropped: ListNode[] = [];\n\n while (count--) dropped.push(this.dropTail()!);\n\n return dropped;\n }\n\n find(predicate: ListIteratorFn): ListNode | undefined {\n for (let current = this.first, position = 0; current; position++, current = current.next) {\n if (predicate(current, position, this)) return current;\n }\n\n return undefined;\n }\n\n findIndex(predicate: ListIteratorFn): number {\n for (let current = this.first, position = 0; current; position++, current = current.next) {\n if (predicate(current, position, this)) return position;\n }\n\n return -1;\n }\n\n forEach(iteratorFn: ListIteratorFn) {\n for (let node = this.first, position = 0; node; position++, node = node.next) {\n iteratorFn(node, position, this);\n }\n }\n\n get(position: number): ListNode | undefined {\n return this.find((_, index) => position === index);\n }\n\n indexOf(value: T): number;\n indexOf(value: any, compareFn: ListComparisonFn): number;\n indexOf(value: any, compareFn: ListComparisonFn = compare): number {\n return this.findIndex(node => compareFn(node.value, value));\n }\n\n toArray(): T[] {\n const array = new Array(this.size);\n\n this.forEach((node, index) => (array[index!] = node.value));\n\n return array;\n }\n\n toNodeArray(): ListNode[] {\n const array = new Array(this.size);\n\n this.forEach((node, index) => (array[index!] = node));\n\n return array;\n }\n\n toString(mapperFn: ListMapperFn = JSON.stringify): string {\n return this.toArray()\n .map(value => mapperFn(value))\n .join(' <-> ');\n }\n\n // Cannot use Generator type because of ng-packagr\n *[Symbol.iterator](): any {\n for (let node = this.first, position = 0; node; position++, node = node.next) {\n yield node.value;\n }\n }\n}\n\nexport type ListMapperFn = (value: T) => any;\n\nexport type ListComparisonFn = (value1: T, value2: any) => boolean;\n\nexport type ListIteratorFn = (\n node: ListNode,\n index?: number,\n list?: LinkedList,\n) => R;\n"]} \ No newline at end of file diff --git a/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/bootstrap-datepicker.css.map b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/bootstrap-datepicker.css.map new file mode 100644 index 0000000000..7e08a21044 --- /dev/null +++ b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/bootstrap-datepicker.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["less/datepicker.less","build/build.less"],"names":[],"mappings":"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","sourcesContent":[".datepicker {\n\tpadding: 4px;\n\t.border-radius(@baseBorderRadius);\n\t&-inline {\n\t\twidth: 220px;\n\t}\n\tdirection: ltr;\n\t&-rtl {\n\t\tdirection: rtl;\n\t\t&.dropdown-menu { left: auto; }\n\t\ttable tr td span {\n\t\t\tfloat: right;\n\t\t}\n\t}\n\t&-dropdown {\n\t\ttop: 0;\n\t\tleft: 0;\n\t\t&:before {\n\t\t\tcontent: '';\n\t\t\tdisplay: inline-block;\n\t\t\tborder-left: 7px solid transparent;\n\t\t\tborder-right: 7px solid transparent;\n\t\t\tborder-bottom: 7px solid @grayLight;\n\t\t\tborder-top: 0;\n\t\t\tborder-bottom-color: rgba(0,0,0,.2);\n\t\t\tposition: absolute;\n\t\t}\n\t\t&:after {\n\t\t\tcontent: '';\n\t\t\tdisplay: inline-block;\n\t\t\tborder-left: 6px solid transparent;\n\t\t\tborder-right: 6px solid transparent;\n\t\t\tborder-bottom: 6px solid @white;\n\t\t\tborder-top: 0;\n\t\t\tposition: absolute;\n\t\t}\n\t\t&.datepicker-orient-left:before { left: 6px; }\n\t\t&.datepicker-orient-left:after { left: 7px; }\n\t\t&.datepicker-orient-right:before { right: 6px; }\n\t\t&.datepicker-orient-right:after { right: 7px; }\n\t\t&.datepicker-orient-bottom:before { top: -7px; }\n\t\t&.datepicker-orient-bottom:after { top: -6px; }\n\t\t&.datepicker-orient-top:before {\n\t\t\tbottom: -7px;\n\t\t\tborder-bottom: 0;\n\t\t\tborder-top: 7px solid @grayLight;\n\t\t}\n\t\t&.datepicker-orient-top:after {\n\t\t\tbottom: -6px;\n\t\t\tborder-bottom: 0;\n\t\t\tborder-top: 6px solid @white;\n\t\t}\n\t}\n\ttable {\n\t\tmargin: 0;\n\t\t-webkit-touch-callout: none;\n\t\t-webkit-user-select: none;\n\t\t-khtml-user-select: none;\n\t\t-moz-user-select: none;\n\t\t-ms-user-select: none;\n\t\tuser-select: none;\n\t}\n\ttd, th {\n\t\ttext-align: center;\n\t\twidth: 20px;\n\t\theight: 20px;\n\t\t.border-radius(4px);\n\n\t\tborder: none;\n\t}\n\t// Inline display inside a table presents some problems with\n\t// border and background colors.\n\t.table-striped & table tr {\n\t\ttd, th {\n\t\t\tbackground-color: transparent;\n\t\t}\n\t}\n\ttable tr td {\n\t\t&.day:hover,\n\t\t&.day.focused {\n\t\t\tbackground: @grayLighter;\n\t\t\tcursor: pointer;\n\t\t}\n\t\t&.old,\n\t\t&.new {\n\t\t\tcolor: @grayLight;\n\t\t}\n\t\t&.disabled,\n\t\t&.disabled:hover {\n\t\t\tbackground: none;\n\t\t\tcolor: @grayLight;\n\t\t\tcursor: default;\n\t\t}\n\t\t&.highlighted {\n\t\t\tbackground: @infoBackground;\n\t\t\tborder-radius: 0;\n\t\t}\n\t\t&.today,\n\t\t&.today:hover,\n\t\t&.today.disabled,\n\t\t&.today.disabled:hover {\n\t\t\t@todayBackground: lighten(@orange, 30%);\n\t\t\t.buttonBackground(@todayBackground, spin(@todayBackground, 20));\n\t\t\tcolor: #000;\n\t\t}\n\t\t&.today:hover:hover { // Thank bootstrap 2.0 for this selector...\n\t\t\t// TODO: Bump min BS to 2.1, use @textColor in buttonBackground above\n\t\t\tcolor: #000;\n\t\t}\n\t\t&.today.active:hover {\n\t\t\tcolor: #fff;\n\t\t}\n\t\t&.range,\n\t\t&.range:hover,\n\t\t&.range.disabled,\n\t\t&.range.disabled:hover {\n\t\t\tbackground: @grayLighter;\n\t\t\t.border-radius(0);\n\t\t}\n\t\t&.range.today,\n\t\t&.range.today:hover,\n\t\t&.range.today.disabled,\n\t\t&.range.today.disabled:hover {\n\t\t\t@todayBackground: mix(@orange, @grayLighter, 50%);\n\t\t\t.buttonBackground(@todayBackground, spin(@todayBackground, 20));\n\t\t\t.border-radius(0);\n\t\t}\n\t\t&.selected,\n\t\t&.selected:hover,\n\t\t&.selected.disabled,\n\t\t&.selected.disabled:hover {\n\t\t\t.buttonBackground(lighten(@grayLight, 10), darken(@grayLight, 10));\n\t\t\tcolor: #fff;\n\t\t\ttext-shadow: 0 -1px 0 rgba(0,0,0,.25);\n\t\t}\n\t\t&.active,\n\t\t&.active:hover,\n\t\t&.active.disabled,\n\t\t&.active.disabled:hover {\n\t\t\t.buttonBackground(@btnPrimaryBackground, spin(@btnPrimaryBackground, 20));\n\t\t\tcolor: #fff;\n\t\t\ttext-shadow: 0 -1px 0 rgba(0,0,0,.25);\n\t\t}\n\t\tspan {\n\t\t\tdisplay: block;\n\t\t\twidth: 23%;\n\t\t\theight: 54px;\n\t\t\tline-height: 54px;\n\t\t\tfloat: left;\n\t\t\tmargin: 1%;\n\t\t\tcursor: pointer;\n\t\t\t.border-radius(4px);\n\t\t\t&:hover,\n\t\t\t&.focused {\n\t\t\t\tbackground: @grayLighter;\n\t\t\t}\n\t\t\t&.disabled,\n\t\t\t&.disabled:hover {\n\t\t\t\tbackground: none;\n\t\t\t\tcolor: @grayLight;\n\t\t\t\tcursor: default;\n\t\t\t}\n\t\t\t&.active,\n\t\t\t&.active:hover,\n\t\t\t&.active.disabled,\n\t\t\t&.active.disabled:hover {\n\t\t\t\t.buttonBackground(@btnPrimaryBackground, spin(@btnPrimaryBackground, 20));\n\t\t\t\tcolor: #fff;\n\t\t\t\ttext-shadow: 0 -1px 0 rgba(0,0,0,.25);\n\t\t\t}\n\t\t\t&.old,\n\t\t\t&.new {\n\t\t\t\tcolor: @grayLight;\n\t\t\t}\n\t\t}\n\t}\n\n\t.datepicker-switch {\n\t\twidth: 145px;\n\t}\n\n\t.datepicker-switch,\n\t.prev,\n\t.next,\n\ttfoot tr th {\n\t\tcursor: pointer;\n\t\t&:hover {\n\t\t\tbackground: @grayLighter;\n\t\t}\n\t}\n\n\t.prev, .next {\n\t\t&.disabled {\n\t\t\tvisibility: hidden;\n\t\t}\n\t}\n\n\t// Basic styling for calendar-week cells\n\t.cw {\n\t\tfont-size: 10px;\n\t\twidth: 12px;\n\t\tpadding: 0 2px 0 5px;\n\t\tvertical-align: middle;\n\t}\n}\n.input-append,\n.input-prepend {\n\t&.date .add-on {\n\t\tcursor: pointer;\n\n\t\ti {\n\t\t\tmargin-top: 3px;\n\t\t}\n\t}\n}\n.input-daterange {\n\tinput {\n\t\ttext-align:center;\n\t}\n\tinput:first-child {\n\t\t.border-radius(3px 0 0 3px);\n\t}\n\tinput:last-child {\n\t\t.border-radius(0 3px 3px 0);\n\t}\n\t.add-on {\n\t\tdisplay: inline-block;\n\t\twidth: auto;\n\t\tmin-width: 16px;\n\t\theight: @baseLineHeight;\n\t\tpadding: 4px 5px;\n\t\tfont-weight: normal;\n\t\tline-height: @baseLineHeight;\n\t\ttext-align: center;\n\t\ttext-shadow: 0 1px 0 @white;\n\t\tvertical-align: middle;\n\t\tbackground-color: @grayLighter;\n\t\tborder: 1px solid #ccc;\n\t\tmargin-left: -5px;\n\t\tmargin-right: -5px;\n\t}\n}\n","// Datepicker .less buildfile. Includes select mixins/variables from bootstrap\n// and imports the included datepicker.less to output a minimal datepicker.css\n//\n// Usage:\n// lessc build.less datepicker.css\n//\n// Variables and mixins copied from bootstrap 2.0.2\n\n// Variables\n@grayLight: #999;\n@grayLighter: #eee;\n@white: #fff;\n@linkColor: #08c;\n@btnPrimaryBackground: @linkColor;\n@orange: #f89406;\n@infoBackground: #d9edf7;\n@baseLineHeight: 18px;\n@baseBorderRadius: 4px;\n\n// Mixins\n\n// Border Radius\n.border-radius(@radius: 5px) {\n -webkit-border-radius: @radius;\n -moz-border-radius: @radius;\n border-radius: @radius;\n}\n\n// Button backgrounds\n.buttonBackground(@startColor, @endColor) {\n .gradientBar(@startColor, @endColor);\n .reset-filter();\n &:hover, &:active, &.active, &.disabled, &[disabled] {\n background-color: @endColor;\n }\n &:active,\n &.active {\n background-color: darken(@endColor, 10%) e(\"\\9\");\n }\n}\n\n// Reset filters for IE\n.reset-filter() {\n filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n}\n\n// Gradient Bar Colors for buttons and alerts\n.gradientBar(@primaryColor, @secondaryColor) {\n #gradient > .vertical(@primaryColor, @secondaryColor);\n border-color: @secondaryColor @secondaryColor darken(@secondaryColor, 15%);\n border-color: rgba(0,0,0,.1) rgba(0,0,0,.1) fadein(rgba(0,0,0,.1), 15%);\n}\n\n// Gradients\n#gradient {\n .vertical(@startColor: #555, @endColor: #333) {\n background-color: mix(@startColor, @endColor, 60%);\n background-image: -moz-linear-gradient(to bottom, @startColor, @endColor); // FF 3.6+\n background-image: -ms-linear-gradient(to bottom, @startColor, @endColor); // IE10\n background-image: -webkit-gradient(linear, 0 0, 0 100%, from(@startColor), to(@endColor)); // Safari 4+, Chrome 2+\n background-image: -webkit-linear-gradient(to bottom, @startColor, @endColor); // Safari 5.1+, Chrome 10+\n background-image: -o-linear-gradient(to bottom, @startColor, @endColor); // Opera 11.10\n background-image: linear-gradient(to bottom, @startColor, @endColor); // The standard\n background-repeat: repeat-x;\n filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=0)\",@startColor,@endColor)); // IE9 and down\n }\n}\n\n@import \"../less/datepicker.less\";\n"]} \ No newline at end of file diff --git a/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/bootstrap-datepicker.min.css b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/bootstrap-datepicker.min.css new file mode 100644 index 0000000000..eb681513fb --- /dev/null +++ b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/bootstrap-datepicker.min.css @@ -0,0 +1,7 @@ +/*! + * Datepicker for Bootstrap v1.9.0 (https://github.com/uxsolutions/bootstrap-datepicker) + * + * Licensed under the Apache License v2.0 (http://www.apache.org/licenses/LICENSE-2.0) + */ + +.datepicker{padding:4px;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;direction:ltr}.datepicker-inline{width:220px}.datepicker-rtl{direction:rtl}.datepicker-rtl.dropdown-menu{left:auto}.datepicker-rtl table tr td span{float:right}.datepicker-dropdown{top:0;left:0}.datepicker-dropdown:before{content:'';display:inline-block;border-left:7px solid transparent;border-right:7px solid transparent;border-bottom:7px solid #999;border-top:0;border-bottom-color:rgba(0,0,0,.2);position:absolute}.datepicker-dropdown:after{content:'';display:inline-block;border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:6px solid #fff;border-top:0;position:absolute}.datepicker-dropdown.datepicker-orient-left:before{left:6px}.datepicker-dropdown.datepicker-orient-left:after{left:7px}.datepicker-dropdown.datepicker-orient-right:before{right:6px}.datepicker-dropdown.datepicker-orient-right:after{right:7px}.datepicker-dropdown.datepicker-orient-bottom:before{top:-7px}.datepicker-dropdown.datepicker-orient-bottom:after{top:-6px}.datepicker-dropdown.datepicker-orient-top:before{bottom:-7px;border-bottom:0;border-top:7px solid #999}.datepicker-dropdown.datepicker-orient-top:after{bottom:-6px;border-bottom:0;border-top:6px solid #fff}.datepicker table{margin:0;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.datepicker td,.datepicker th{text-align:center;width:20px;height:20px;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;border:none}.table-striped .datepicker table tr td,.table-striped .datepicker table tr th{background-color:transparent}.datepicker table tr td.day.focused,.datepicker table tr td.day:hover{background:#eee;cursor:pointer}.datepicker table tr td.new,.datepicker table tr td.old{color:#999}.datepicker table tr td.disabled,.datepicker table tr td.disabled:hover{background:0 0;color:#999;cursor:default}.datepicker table tr td.highlighted{background:#d9edf7;border-radius:0}.datepicker table tr td.today,.datepicker table tr td.today.disabled,.datepicker table tr td.today.disabled:hover,.datepicker table tr td.today:hover{background-color:#fde19a;background-image:-moz-linear-gradient(to bottom,#fdd49a,#fdf59a);background-image:-ms-linear-gradient(to bottom,#fdd49a,#fdf59a);background-image:-webkit-gradient(linear,0 0,0 100%,from(#fdd49a),to(#fdf59a));background-image:-webkit-linear-gradient(to bottom,#fdd49a,#fdf59a);background-image:-o-linear-gradient(to bottom,#fdd49a,#fdf59a);background-image:linear-gradient(to bottom,#fdd49a,#fdf59a);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fdd49a', endColorstr='#fdf59a', GradientType=0);border-color:#fdf59a #fdf59a #fbed50;border-color:rgba(0,0,0,.1) rgba(0,0,0,.1) rgba(0,0,0,.25);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);color:#000}.datepicker table tr td.today.active,.datepicker table tr td.today.disabled,.datepicker table tr td.today.disabled.active,.datepicker table tr td.today.disabled.disabled,.datepicker table tr td.today.disabled:active,.datepicker table tr td.today.disabled:hover,.datepicker table tr td.today.disabled:hover.active,.datepicker table tr td.today.disabled:hover.disabled,.datepicker table tr td.today.disabled:hover:active,.datepicker table tr td.today.disabled:hover:hover,.datepicker table tr td.today.disabled:hover[disabled],.datepicker table tr td.today.disabled[disabled],.datepicker table tr td.today:active,.datepicker table tr td.today:hover,.datepicker table tr td.today:hover.active,.datepicker table tr td.today:hover.disabled,.datepicker table tr td.today:hover:active,.datepicker table tr td.today:hover:hover,.datepicker table tr td.today:hover[disabled],.datepicker table tr td.today[disabled]{background-color:#fdf59a}.datepicker table tr td.today.active,.datepicker table tr td.today.disabled.active,.datepicker table tr td.today.disabled:active,.datepicker table tr td.today.disabled:hover.active,.datepicker table tr td.today.disabled:hover:active,.datepicker table tr td.today:active,.datepicker table tr td.today:hover.active,.datepicker table tr td.today:hover:active{background-color:#fbf069\9}.datepicker table tr td.today:hover:hover{color:#000}.datepicker table tr td.today.active:hover{color:#fff}.datepicker table tr td.range,.datepicker table tr td.range.disabled,.datepicker table tr td.range.disabled:hover,.datepicker table tr td.range:hover{background:#eee;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.datepicker table tr td.range.today,.datepicker table tr td.range.today.disabled,.datepicker table tr td.range.today.disabled:hover,.datepicker table tr td.range.today:hover{background-color:#f3d17a;background-image:-moz-linear-gradient(to bottom,#f3c17a,#f3e97a);background-image:-ms-linear-gradient(to bottom,#f3c17a,#f3e97a);background-image:-webkit-gradient(linear,0 0,0 100%,from(#f3c17a),to(#f3e97a));background-image:-webkit-linear-gradient(to bottom,#f3c17a,#f3e97a);background-image:-o-linear-gradient(to bottom,#f3c17a,#f3e97a);background-image:linear-gradient(to bottom,#f3c17a,#f3e97a);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#f3c17a', endColorstr='#f3e97a', GradientType=0);border-color:#f3e97a #f3e97a #edde34;border-color:rgba(0,0,0,.1) rgba(0,0,0,.1) rgba(0,0,0,.25);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.datepicker table tr td.range.today.active,.datepicker table tr td.range.today.disabled,.datepicker table tr td.range.today.disabled.active,.datepicker table tr td.range.today.disabled.disabled,.datepicker table tr td.range.today.disabled:active,.datepicker table tr td.range.today.disabled:hover,.datepicker table tr td.range.today.disabled:hover.active,.datepicker table tr td.range.today.disabled:hover.disabled,.datepicker table tr td.range.today.disabled:hover:active,.datepicker table tr td.range.today.disabled:hover:hover,.datepicker table tr td.range.today.disabled:hover[disabled],.datepicker table tr td.range.today.disabled[disabled],.datepicker table tr td.range.today:active,.datepicker table tr td.range.today:hover,.datepicker table tr td.range.today:hover.active,.datepicker table tr td.range.today:hover.disabled,.datepicker table tr td.range.today:hover:active,.datepicker table tr td.range.today:hover:hover,.datepicker table tr td.range.today:hover[disabled],.datepicker table tr td.range.today[disabled]{background-color:#f3e97a}.datepicker table tr td.range.today.active,.datepicker table tr td.range.today.disabled.active,.datepicker table tr td.range.today.disabled:active,.datepicker table tr td.range.today.disabled:hover.active,.datepicker table tr td.range.today.disabled:hover:active,.datepicker table tr td.range.today:active,.datepicker table tr td.range.today:hover.active,.datepicker table tr td.range.today:hover:active{background-color:#efe24b\9}.datepicker table tr td.selected,.datepicker table tr td.selected.disabled,.datepicker table tr td.selected.disabled:hover,.datepicker table tr td.selected:hover{background-color:#9e9e9e;background-image:-moz-linear-gradient(to bottom,#b3b3b3,grey);background-image:-ms-linear-gradient(to bottom,#b3b3b3,grey);background-image:-webkit-gradient(linear,0 0,0 100%,from(#b3b3b3),to(grey));background-image:-webkit-linear-gradient(to bottom,#b3b3b3,grey);background-image:-o-linear-gradient(to bottom,#b3b3b3,grey);background-image:linear-gradient(to bottom,#b3b3b3,grey);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#b3b3b3', endColorstr='#808080', GradientType=0);border-color:grey grey #595959;border-color:rgba(0,0,0,.1) rgba(0,0,0,.1) rgba(0,0,0,.25);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,.25)}.datepicker table tr td.selected.active,.datepicker table tr td.selected.disabled,.datepicker table tr td.selected.disabled.active,.datepicker table tr td.selected.disabled.disabled,.datepicker table tr td.selected.disabled:active,.datepicker table tr td.selected.disabled:hover,.datepicker table tr td.selected.disabled:hover.active,.datepicker table tr td.selected.disabled:hover.disabled,.datepicker table tr td.selected.disabled:hover:active,.datepicker table tr td.selected.disabled:hover:hover,.datepicker table tr td.selected.disabled:hover[disabled],.datepicker table tr td.selected.disabled[disabled],.datepicker table tr td.selected:active,.datepicker table tr td.selected:hover,.datepicker table tr td.selected:hover.active,.datepicker table tr td.selected:hover.disabled,.datepicker table tr td.selected:hover:active,.datepicker table tr td.selected:hover:hover,.datepicker table tr td.selected:hover[disabled],.datepicker table tr td.selected[disabled]{background-color:grey}.datepicker table tr td.selected.active,.datepicker table tr td.selected.disabled.active,.datepicker table tr td.selected.disabled:active,.datepicker table tr td.selected.disabled:hover.active,.datepicker table tr td.selected.disabled:hover:active,.datepicker table tr td.selected:active,.datepicker table tr td.selected:hover.active,.datepicker table tr td.selected:hover:active{background-color:#666\9}.datepicker table tr td.active,.datepicker table tr td.active.disabled,.datepicker table tr td.active.disabled:hover,.datepicker table tr td.active:hover{background-color:#006dcc;background-image:-moz-linear-gradient(to bottom,#08c,#04c);background-image:-ms-linear-gradient(to bottom,#08c,#04c);background-image:-webkit-gradient(linear,0 0,0 100%,from(#08c),to(#04c));background-image:-webkit-linear-gradient(to bottom,#08c,#04c);background-image:-o-linear-gradient(to bottom,#08c,#04c);background-image:linear-gradient(to bottom,#08c,#04c);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#08c', endColorstr='#0044cc', GradientType=0);border-color:#04c #04c #002a80;border-color:rgba(0,0,0,.1) rgba(0,0,0,.1) rgba(0,0,0,.25);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,.25)}.datepicker table tr td.active.active,.datepicker table tr td.active.disabled,.datepicker table tr td.active.disabled.active,.datepicker table tr td.active.disabled.disabled,.datepicker table tr td.active.disabled:active,.datepicker table tr td.active.disabled:hover,.datepicker table tr td.active.disabled:hover.active,.datepicker table tr td.active.disabled:hover.disabled,.datepicker table tr td.active.disabled:hover:active,.datepicker table tr td.active.disabled:hover:hover,.datepicker table tr td.active.disabled:hover[disabled],.datepicker table tr td.active.disabled[disabled],.datepicker table tr td.active:active,.datepicker table tr td.active:hover,.datepicker table tr td.active:hover.active,.datepicker table tr td.active:hover.disabled,.datepicker table tr td.active:hover:active,.datepicker table tr td.active:hover:hover,.datepicker table tr td.active:hover[disabled],.datepicker table tr td.active[disabled]{background-color:#04c}.datepicker table tr td.active.active,.datepicker table tr td.active.disabled.active,.datepicker table tr td.active.disabled:active,.datepicker table tr td.active.disabled:hover.active,.datepicker table tr td.active.disabled:hover:active,.datepicker table tr td.active:active,.datepicker table tr td.active:hover.active,.datepicker table tr td.active:hover:active{background-color:#039\9}.datepicker table tr td span{display:block;width:23%;height:54px;line-height:54px;float:left;margin:1%;cursor:pointer;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.datepicker table tr td span.focused,.datepicker table tr td span:hover{background:#eee}.datepicker table tr td span.disabled,.datepicker table tr td span.disabled:hover{background:0 0;color:#999;cursor:default}.datepicker table tr td span.active,.datepicker table tr td span.active.disabled,.datepicker table tr td span.active.disabled:hover,.datepicker table tr td span.active:hover{background-color:#006dcc;background-image:-moz-linear-gradient(to bottom,#08c,#04c);background-image:-ms-linear-gradient(to bottom,#08c,#04c);background-image:-webkit-gradient(linear,0 0,0 100%,from(#08c),to(#04c));background-image:-webkit-linear-gradient(to bottom,#08c,#04c);background-image:-o-linear-gradient(to bottom,#08c,#04c);background-image:linear-gradient(to bottom,#08c,#04c);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#08c', endColorstr='#0044cc', GradientType=0);border-color:#04c #04c #002a80;border-color:rgba(0,0,0,.1) rgba(0,0,0,.1) rgba(0,0,0,.25);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,.25)}.datepicker table tr td span.active.active,.datepicker table tr td span.active.disabled,.datepicker table tr td span.active.disabled.active,.datepicker table tr td span.active.disabled.disabled,.datepicker table tr td span.active.disabled:active,.datepicker table tr td span.active.disabled:hover,.datepicker table tr td span.active.disabled:hover.active,.datepicker table tr td span.active.disabled:hover.disabled,.datepicker table tr td span.active.disabled:hover:active,.datepicker table tr td span.active.disabled:hover:hover,.datepicker table tr td span.active.disabled:hover[disabled],.datepicker table tr td span.active.disabled[disabled],.datepicker table tr td span.active:active,.datepicker table tr td span.active:hover,.datepicker table tr td span.active:hover.active,.datepicker table tr td span.active:hover.disabled,.datepicker table tr td span.active:hover:active,.datepicker table tr td span.active:hover:hover,.datepicker table tr td span.active:hover[disabled],.datepicker table tr td span.active[disabled]{background-color:#04c}.datepicker table tr td span.active.active,.datepicker table tr td span.active.disabled.active,.datepicker table tr td span.active.disabled:active,.datepicker table tr td span.active.disabled:hover.active,.datepicker table tr td span.active.disabled:hover:active,.datepicker table tr td span.active:active,.datepicker table tr td span.active:hover.active,.datepicker table tr td span.active:hover:active{background-color:#039\9}.datepicker table tr td span.new,.datepicker table tr td span.old{color:#999}.datepicker .datepicker-switch{width:145px}.datepicker .datepicker-switch,.datepicker .next,.datepicker .prev,.datepicker tfoot tr th{cursor:pointer}.datepicker .datepicker-switch:hover,.datepicker .next:hover,.datepicker .prev:hover,.datepicker tfoot tr th:hover{background:#eee}.datepicker .next.disabled,.datepicker .prev.disabled{visibility:hidden}.datepicker .cw{font-size:10px;width:12px;padding:0 2px 0 5px;vertical-align:middle}.input-append.date .add-on,.input-prepend.date .add-on{cursor:pointer}.input-append.date .add-on i,.input-prepend.date .add-on i{margin-top:3px}.input-daterange input{text-align:center}.input-daterange input:first-child{-webkit-border-radius:3px 0 0 3px;-moz-border-radius:3px 0 0 3px;border-radius:3px 0 0 3px}.input-daterange input:last-child{-webkit-border-radius:0 3px 3px 0;-moz-border-radius:0 3px 3px 0;border-radius:0 3px 3px 0}.input-daterange .add-on{display:inline-block;width:auto;min-width:16px;height:18px;padding:4px 5px;font-weight:400;line-height:18px;text-align:center;text-shadow:0 1px 0 #fff;vertical-align:middle;background-color:#eee;border:1px solid #ccc;margin-left:-5px;margin-right:-5px} \ No newline at end of file diff --git a/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/bootstrap-datepicker.min.js b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/bootstrap-datepicker.min.js new file mode 100644 index 0000000000..8800106e8f --- /dev/null +++ b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/bootstrap-datepicker.min.js @@ -0,0 +1,8 @@ +/*! + * Datepicker for Bootstrap v1.9.0 (https://github.com/uxsolutions/bootstrap-datepicker) + * + * Licensed under the Apache License v2.0 (http://www.apache.org/licenses/LICENSE-2.0) + */ + +!function(a){"function"==typeof define&&define.amd?define(["jquery"],a):a("object"==typeof exports?require("jquery"):jQuery)}(function(a,b){function c(){return new Date(Date.UTC.apply(Date,arguments))}function d(){var a=new Date;return c(a.getFullYear(),a.getMonth(),a.getDate())}function e(a,b){return a.getUTCFullYear()===b.getUTCFullYear()&&a.getUTCMonth()===b.getUTCMonth()&&a.getUTCDate()===b.getUTCDate()}function f(c,d){return function(){return d!==b&&a.fn.datepicker.deprecated(d),this[c].apply(this,arguments)}}function g(a){return a&&!isNaN(a.getTime())}function h(b,c){function d(a,b){return b.toLowerCase()}var e,f=a(b).data(),g={},h=new RegExp("^"+c.toLowerCase()+"([A-Z])");c=new RegExp("^"+c.toLowerCase());for(var i in f)c.test(i)&&(e=i.replace(h,d),g[e]=f[i]);return g}function i(b){var c={};if(q[b]||(b=b.split("-")[0],q[b])){var d=q[b];return a.each(p,function(a,b){b in d&&(c[b]=d[b])}),c}}var j=function(){var b={get:function(a){return this.slice(a)[0]},contains:function(a){for(var b=a&&a.valueOf(),c=0,d=this.length;c]/g)||[]).length<=0)return!0;return a(c).length>0}catch(a){return!1}},_process_options:function(b){this._o=a.extend({},this._o,b);var e=this.o=a.extend({},this._o),f=e.language;q[f]||(f=f.split("-")[0],q[f]||(f=o.language)),e.language=f,e.startView=this._resolveViewName(e.startView),e.minViewMode=this._resolveViewName(e.minViewMode),e.maxViewMode=this._resolveViewName(e.maxViewMode),e.startView=Math.max(this.o.minViewMode,Math.min(this.o.maxViewMode,e.startView)),!0!==e.multidate&&(e.multidate=Number(e.multidate)||!1,!1!==e.multidate&&(e.multidate=Math.max(0,e.multidate))),e.multidateSeparator=String(e.multidateSeparator),e.weekStart%=7,e.weekEnd=(e.weekStart+6)%7;var g=r.parseFormat(e.format);e.startDate!==-1/0&&(e.startDate?e.startDate instanceof Date?e.startDate=this._local_to_utc(this._zero_time(e.startDate)):e.startDate=r.parseDate(e.startDate,g,e.language,e.assumeNearbyYear):e.startDate=-1/0),e.endDate!==1/0&&(e.endDate?e.endDate instanceof Date?e.endDate=this._local_to_utc(this._zero_time(e.endDate)):e.endDate=r.parseDate(e.endDate,g,e.language,e.assumeNearbyYear):e.endDate=1/0),e.daysOfWeekDisabled=this._resolveDaysOfWeek(e.daysOfWeekDisabled||[]),e.daysOfWeekHighlighted=this._resolveDaysOfWeek(e.daysOfWeekHighlighted||[]),e.datesDisabled=e.datesDisabled||[],a.isArray(e.datesDisabled)||(e.datesDisabled=e.datesDisabled.split(",")),e.datesDisabled=a.map(e.datesDisabled,function(a){return r.parseDate(a,g,e.language,e.assumeNearbyYear)});var h=String(e.orientation).toLowerCase().split(/\s+/g),i=e.orientation.toLowerCase();if(h=a.grep(h,function(a){return/^auto|left|right|top|bottom$/.test(a)}),e.orientation={x:"auto",y:"auto"},i&&"auto"!==i)if(1===h.length)switch(h[0]){case"top":case"bottom":e.orientation.y=h[0];break;case"left":case"right":e.orientation.x=h[0]}else i=a.grep(h,function(a){return/^left|right$/.test(a)}),e.orientation.x=i[0]||"auto",i=a.grep(h,function(a){return/^top|bottom$/.test(a)}),e.orientation.y=i[0]||"auto";else;if(e.defaultViewDate instanceof Date||"string"==typeof e.defaultViewDate)e.defaultViewDate=r.parseDate(e.defaultViewDate,g,e.language,e.assumeNearbyYear);else if(e.defaultViewDate){var j=e.defaultViewDate.year||(new Date).getFullYear(),k=e.defaultViewDate.month||0,l=e.defaultViewDate.day||1;e.defaultViewDate=c(j,k,l)}else e.defaultViewDate=d()},_applyEvents:function(a){for(var c,d,e,f=0;fe?(this.picker.addClass("datepicker-orient-right"),m+=l-b):this.o.rtl?this.picker.addClass("datepicker-orient-right"):this.picker.addClass("datepicker-orient-left");var o,p=this.o.orientation.y;if("auto"===p&&(o=-f+n-c,p=o<0?"bottom":"top"),this.picker.addClass("datepicker-orient-"+p),"top"===p?n-=c+parseInt(this.picker.css("padding-top")):n+=k,this.o.rtl){var q=e-(m+l);this.picker.css({top:n,right:q,zIndex:i})}else this.picker.css({top:n,left:m,zIndex:i});return this},_allow_update:!0,update:function(){if(!this._allow_update)return this;var b=this.dates.copy(),c=[],d=!1;return arguments.length?(a.each(arguments,a.proxy(function(a,b){b instanceof Date&&(b=this._local_to_utc(b)),c.push(b)},this)),d=!0):(c=this.isInput?this.element.val():this.element.data("date")||this.inputField.val(),c=c&&this.o.multidate?c.split(this.o.multidateSeparator):[c],delete this.element.data().date),c=a.map(c,a.proxy(function(a){return r.parseDate(a,this.o.format,this.o.language,this.o.assumeNearbyYear)},this)),c=a.grep(c,a.proxy(function(a){return!this.dateWithinRange(a)||!a},this),!0),this.dates.replace(c),this.o.updateViewDate&&(this.dates.length?this.viewDate=new Date(this.dates.get(-1)):this.viewDatethis.o.endDate?this.viewDate=new Date(this.o.endDate):this.viewDate=this.o.defaultViewDate),d?(this.setValue(),this.element.change()):this.dates.length&&String(b)!==String(this.dates)&&d&&(this._trigger("changeDate"),this.element.change()),!this.dates.length&&b.length&&(this._trigger("clearDate"),this.element.change()),this.fill(),this},fillDow:function(){if(this.o.showWeekDays){var b=this.o.weekStart,c="";for(this.o.calendarWeeks&&(c+=' ');b";c+="",this.picker.find(".datepicker-days thead").append(c)}},fillMonths:function(){for(var a,b=this._utc_to_local(this.viewDate),c="",d=0;d<12;d++)a=b&&b.getMonth()===d?" focused":"",c+=''+q[this.o.language].monthsShort[d]+"";this.picker.find(".datepicker-months td").html(c)},setRange:function(b){b&&b.length?this.range=a.map(b,function(a){return a.valueOf()}):delete this.range,this.fill()},getClassNames:function(b){var c=[],f=this.viewDate.getUTCFullYear(),g=this.viewDate.getUTCMonth(),h=d();return b.getUTCFullYear()f||b.getUTCFullYear()===f&&b.getUTCMonth()>g)&&c.push("new"),this.focusDate&&b.valueOf()===this.focusDate.valueOf()&&c.push("focused"),this.o.todayHighlight&&e(b,h)&&c.push("today"),-1!==this.dates.contains(b)&&c.push("active"),this.dateWithinRange(b)||c.push("disabled"),this.dateIsDisabled(b)&&c.push("disabled","disabled-date"),-1!==a.inArray(b.getUTCDay(),this.o.daysOfWeekHighlighted)&&c.push("highlighted"),this.range&&(b>this.range[0]&&bh)&&j.push("disabled"),t===r&&j.push("focused"),i!==a.noop&&(l=i(new Date(t,0,1)),l===b?l={}:"boolean"==typeof l?l={enabled:l}:"string"==typeof l&&(l={classes:l}),!1===l.enabled&&j.push("disabled"),l.classes&&(j=j.concat(l.classes.split(/\s+/))),l.tooltip&&(k=l.tooltip)),m+='"+t+"";o.find(".datepicker-switch").text(p+"-"+q),o.find("td").html(m)},fill:function(){var e,f,g=new Date(this.viewDate),h=g.getUTCFullYear(),i=g.getUTCMonth(),j=this.o.startDate!==-1/0?this.o.startDate.getUTCFullYear():-1/0,k=this.o.startDate!==-1/0?this.o.startDate.getUTCMonth():-1/0,l=this.o.endDate!==1/0?this.o.endDate.getUTCFullYear():1/0,m=this.o.endDate!==1/0?this.o.endDate.getUTCMonth():1/0,n=q[this.o.language].today||q.en.today||"",o=q[this.o.language].clear||q.en.clear||"",p=q[this.o.language].titleFormat||q.en.titleFormat,s=d(),t=(!0===this.o.todayBtn||"linked"===this.o.todayBtn)&&s>=this.o.startDate&&s<=this.o.endDate&&!this.weekOfDateIsDisabled(s);if(!isNaN(h)&&!isNaN(i)){this.picker.find(".datepicker-days .datepicker-switch").text(r.formatDate(g,p,this.o.language)),this.picker.find("tfoot .today").text(n).css("display",t?"table-cell":"none"),this.picker.find("tfoot .clear").text(o).css("display",!0===this.o.clearBtn?"table-cell":"none"),this.picker.find("thead .datepicker-title").text(this.o.title).css("display","string"==typeof this.o.title&&""!==this.o.title?"table-cell":"none"),this.updateNavArrows(),this.fillMonths();var u=c(h,i,0),v=u.getUTCDate();u.setUTCDate(v-(u.getUTCDay()-this.o.weekStart+7)%7);var w=new Date(u);u.getUTCFullYear()<100&&w.setUTCFullYear(u.getUTCFullYear()),w.setUTCDate(w.getUTCDate()+42),w=w.valueOf();for(var x,y,z=[];u.valueOf()"),this.o.calendarWeeks)){var A=new Date(+u+(this.o.weekStart-x-7)%7*864e5),B=new Date(Number(A)+(11-A.getUTCDay())%7*864e5),C=new Date(Number(C=c(B.getUTCFullYear(),0,1))+(11-C.getUTCDay())%7*864e5),D=(B-C)/864e5/7+1;z.push(''+D+"")}y=this.getClassNames(u),y.push("day");var E=u.getUTCDate();this.o.beforeShowDay!==a.noop&&(f=this.o.beforeShowDay(this._utc_to_local(u)),f===b?f={}:"boolean"==typeof f?f={enabled:f}:"string"==typeof f&&(f={classes:f}),!1===f.enabled&&y.push("disabled"),f.classes&&(y=y.concat(f.classes.split(/\s+/))),f.tooltip&&(e=f.tooltip),f.content&&(E=f.content)),y=a.isFunction(a.uniqueSort)?a.uniqueSort(y):a.unique(y),z.push(''+E+""),e=null,x===this.o.weekEnd&&z.push(""),u.setUTCDate(u.getUTCDate()+1)}this.picker.find(".datepicker-days tbody").html(z.join(""));var F=q[this.o.language].monthsTitle||q.en.monthsTitle||"Months",G=this.picker.find(".datepicker-months").find(".datepicker-switch").text(this.o.maxViewMode<2?F:h).end().find("tbody span").removeClass("active");if(a.each(this.dates,function(a,b){b.getUTCFullYear()===h&&G.eq(b.getUTCMonth()).addClass("active")}),(hl)&&G.addClass("disabled"),h===j&&G.slice(0,k).addClass("disabled"),h===l&&G.slice(m+1).addClass("disabled"),this.o.beforeShowMonth!==a.noop){var H=this;a.each(G,function(c,d){var e=new Date(h,c,1),f=H.o.beforeShowMonth(e);f===b?f={}:"boolean"==typeof f?f={enabled:f}:"string"==typeof f&&(f={classes:f}),!1!==f.enabled||a(d).hasClass("disabled")||a(d).addClass("disabled"),f.classes&&a(d).addClass(f.classes),f.tooltip&&a(d).prop("title",f.tooltip)})}this._fill_yearsView(".datepicker-years","year",10,h,j,l,this.o.beforeShowYear),this._fill_yearsView(".datepicker-decades","decade",100,h,j,l,this.o.beforeShowDecade),this._fill_yearsView(".datepicker-centuries","century",1e3,h,j,l,this.o.beforeShowCentury)}},updateNavArrows:function(){if(this._allow_update){var a,b,c=new Date(this.viewDate),d=c.getUTCFullYear(),e=c.getUTCMonth(),f=this.o.startDate!==-1/0?this.o.startDate.getUTCFullYear():-1/0,g=this.o.startDate!==-1/0?this.o.startDate.getUTCMonth():-1/0,h=this.o.endDate!==1/0?this.o.endDate.getUTCFullYear():1/0,i=this.o.endDate!==1/0?this.o.endDate.getUTCMonth():1/0,j=1;switch(this.viewMode){case 4:j*=10;case 3:j*=10;case 2:j*=10;case 1:a=Math.floor(d/j)*j<=f,b=Math.floor(d/j)*j+j>h;break;case 0:a=d<=f&&e<=g,b=d>=h&&e>=i}this.picker.find(".prev").toggleClass("disabled",a),this.picker.find(".next").toggleClass("disabled",b)}},click:function(b){b.preventDefault(),b.stopPropagation();var e,f,g,h;e=a(b.target),e.hasClass("datepicker-switch")&&this.viewMode!==this.o.maxViewMode&&this.setViewMode(this.viewMode+1),e.hasClass("today")&&!e.hasClass("day")&&(this.setViewMode(0),this._setDate(d(),"linked"===this.o.todayBtn?null:"view")),e.hasClass("clear")&&this.clearDates(),e.hasClass("disabled")||(e.hasClass("month")||e.hasClass("year")||e.hasClass("decade")||e.hasClass("century"))&&(this.viewDate.setUTCDate(1),f=1,1===this.viewMode?(h=e.parent().find("span").index(e),g=this.viewDate.getUTCFullYear(),this.viewDate.setUTCMonth(h)):(h=0,g=Number(e.text()),this.viewDate.setUTCFullYear(g)),this._trigger(r.viewModes[this.viewMode-1].e,this.viewDate),this.viewMode===this.o.minViewMode?this._setDate(c(g,h,f)):(this.setViewMode(this.viewMode-1),this.fill())),this.picker.is(":visible")&&this._focused_from&&this._focused_from.focus(),delete this._focused_from},dayCellClick:function(b){var c=a(b.currentTarget),d=c.data("date"),e=new Date(d);this.o.updateViewDate&&(e.getUTCFullYear()!==this.viewDate.getUTCFullYear()&&this._trigger("changeYear",this.viewDate),e.getUTCMonth()!==this.viewDate.getUTCMonth()&&this._trigger("changeMonth",this.viewDate)),this._setDate(e)},navArrowsClick:function(b){var c=a(b.currentTarget),d=c.hasClass("prev")?-1:1;0!==this.viewMode&&(d*=12*r.viewModes[this.viewMode].navStep),this.viewDate=this.moveMonth(this.viewDate,d),this._trigger(r.viewModes[this.viewMode].e,this.viewDate),this.fill()},_toggle_multidate:function(a){var b=this.dates.contains(a);if(a||this.dates.clear(),-1!==b?(!0===this.o.multidate||this.o.multidate>1||this.o.toggleActive)&&this.dates.remove(b):!1===this.o.multidate?(this.dates.clear(),this.dates.push(a)):this.dates.push(a),"number"==typeof this.o.multidate)for(;this.dates.length>this.o.multidate;)this.dates.remove(0)},_setDate:function(a,b){b&&"date"!==b||this._toggle_multidate(a&&new Date(a)),(!b&&this.o.updateViewDate||"view"===b)&&(this.viewDate=a&&new Date(a)),this.fill(),this.setValue(),b&&"view"===b||this._trigger("changeDate"),this.inputField.trigger("change"),!this.o.autoclose||b&&"date"!==b||this.hide()},moveDay:function(a,b){var c=new Date(a);return c.setUTCDate(a.getUTCDate()+b),c},moveWeek:function(a,b){return this.moveDay(a,7*b)},moveMonth:function(a,b){if(!g(a))return this.o.defaultViewDate;if(!b)return a;var c,d,e=new Date(a.valueOf()),f=e.getUTCDate(),h=e.getUTCMonth(),i=Math.abs(b);if(b=b>0?1:-1,1===i)d=-1===b?function(){return e.getUTCMonth()===h}:function(){return e.getUTCMonth()!==c},c=h+b,e.setUTCMonth(c),c=(c+12)%12;else{for(var j=0;j0},dateWithinRange:function(a){return a>=this.o.startDate&&a<=this.o.endDate},keydown:function(a){if(!this.picker.is(":visible"))return void(40!==a.keyCode&&27!==a.keyCode||(this.show(),a.stopPropagation()));var b,c,d=!1,e=this.focusDate||this.viewDate;switch(a.keyCode){case 27:this.focusDate?(this.focusDate=null,this.viewDate=this.dates.get(-1)||this.viewDate,this.fill()):this.hide(),a.preventDefault(),a.stopPropagation();break;case 37:case 38:case 39:case 40:if(!this.o.keyboardNavigation||7===this.o.daysOfWeekDisabled.length)break;b=37===a.keyCode||38===a.keyCode?-1:1,0===this.viewMode?a.ctrlKey?(c=this.moveAvailableDate(e,b,"moveYear"))&&this._trigger("changeYear",this.viewDate):a.shiftKey?(c=this.moveAvailableDate(e,b,"moveMonth"))&&this._trigger("changeMonth",this.viewDate):37===a.keyCode||39===a.keyCode?c=this.moveAvailableDate(e,b,"moveDay"):this.weekOfDateIsDisabled(e)||(c=this.moveAvailableDate(e,b,"moveWeek")):1===this.viewMode?(38!==a.keyCode&&40!==a.keyCode||(b*=4),c=this.moveAvailableDate(e,b,"moveMonth")):2===this.viewMode&&(38!==a.keyCode&&40!==a.keyCode||(b*=4),c=this.moveAvailableDate(e,b,"moveYear")),c&&(this.focusDate=this.viewDate=c,this.setValue(),this.fill(),a.preventDefault());break;case 13:if(!this.o.forceParse)break;e=this.focusDate||this.dates.get(-1)||this.viewDate,this.o.keyboardNavigation&&(this._toggle_multidate(e),d=!0),this.focusDate=null,this.viewDate=this.dates.get(-1)||this.viewDate,this.setValue(),this.fill(),this.picker.is(":visible")&&(a.preventDefault(),a.stopPropagation(),this.o.autoclose&&this.hide());break;case 9:this.focusDate=null,this.viewDate=this.dates.get(-1)||this.viewDate,this.fill(),this.hide()}d&&(this.dates.length?this._trigger("changeDate"):this._trigger("clearDate"),this.inputField.trigger("change"))},setViewMode:function(a){this.viewMode=a,this.picker.children("div").hide().filter(".datepicker-"+r.viewModes[this.viewMode].clsName).show(),this.updateNavArrows(),this._trigger("changeViewMode",new Date(this.viewDate))}};var l=function(b,c){a.data(b,"datepicker",this),this.element=a(b),this.inputs=a.map(c.inputs,function(a){return a.jquery?a[0]:a}),delete c.inputs,this.keepEmptyValues=c.keepEmptyValues,delete c.keepEmptyValues,n.call(a(this.inputs),c).on("changeDate",a.proxy(this.dateUpdated,this)),this.pickers=a.map(this.inputs,function(b){return a.data(b,"datepicker")}),this.updateDates()};l.prototype={updateDates:function(){this.dates=a.map(this.pickers,function(a){return a.getUTCDate()}),this.updateRanges()},updateRanges:function(){var b=a.map(this.dates,function(a){return a.valueOf()});a.each(this.pickers,function(a,c){c.setRange(b)})},clearDates:function(){a.each(this.pickers,function(a,b){b.clearDates()})},dateUpdated:function(c){if(!this.updating){this.updating=!0;var d=a.data(c.target,"datepicker");if(d!==b){var e=d.getUTCDate(),f=this.keepEmptyValues,g=a.inArray(c.target,this.inputs),h=g-1,i=g+1,j=this.inputs.length;if(-1!==g){if(a.each(this.pickers,function(a,b){b.getUTCDate()||b!==d&&f||b.setUTCDate(e)}),e=0&&ethis.dates[i])for(;ithis.dates[i];)this.pickers[i++].setUTCDate(e);this.updateDates(),delete this.updating}}}},destroy:function(){a.map(this.pickers,function(a){a.destroy()}),a(this.inputs).off("changeDate",this.dateUpdated),delete this.element.data().datepicker},remove:f("destroy","Method `remove` is deprecated and will be removed in version 2.0. Use `destroy` instead")};var m=a.fn.datepicker,n=function(c){var d=Array.apply(null,arguments);d.shift();var e;if(this.each(function(){var b=a(this),f=b.data("datepicker"),g="object"==typeof c&&c;if(!f){var j=h(this,"date"),m=a.extend({},o,j,g),n=i(m.language),p=a.extend({},o,n,j,g);b.hasClass("input-daterange")||p.inputs?(a.extend(p,{inputs:p.inputs||b.find("input").toArray()}),f=new l(this,p)):f=new k(this,p),b.data("datepicker",f)}"string"==typeof c&&"function"==typeof f[c]&&(e=f[c].apply(f,d))}),e===b||e instanceof k||e instanceof l)return this;if(this.length>1)throw new Error("Using only allowed for the collection of a single element ("+c+" function)");return e};a.fn.datepicker=n;var o=a.fn.datepicker.defaults={assumeNearbyYear:!1,autoclose:!1,beforeShowDay:a.noop,beforeShowMonth:a.noop,beforeShowYear:a.noop,beforeShowDecade:a.noop,beforeShowCentury:a.noop,calendarWeeks:!1,clearBtn:!1,toggleActive:!1,daysOfWeekDisabled:[],daysOfWeekHighlighted:[],datesDisabled:[],endDate:1/0,forceParse:!0,format:"mm/dd/yyyy",keepEmptyValues:!1,keyboardNavigation:!0,language:"en",minViewMode:0,maxViewMode:4,multidate:!1,multidateSeparator:",",orientation:"auto",rtl:!1,startDate:-1/0,startView:0,todayBtn:!1,todayHighlight:!1,updateViewDate:!0,weekStart:0,disableTouchKeyboard:!1,enableOnReadonly:!0,showOnFocus:!0,zIndexOffset:10,container:"body",immediateUpdates:!1,title:"",templates:{leftArrow:"«",rightArrow:"»"},showWeekDays:!0},p=a.fn.datepicker.locale_opts=["format","rtl","weekStart"];a.fn.datepicker.Constructor=k;var q=a.fn.datepicker.dates={en:{days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],daysShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],daysMin:["Su","Mo","Tu","We","Th","Fr","Sa"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],monthsShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],today:"Today",clear:"Clear",titleFormat:"MM yyyy"}},r={viewModes:[{names:["days","month"],clsName:"days",e:"changeMonth"},{names:["months","year"],clsName:"months",e:"changeYear",navStep:1},{names:["years","decade"],clsName:"years",e:"changeDecade",navStep:10},{names:["decades","century"],clsName:"decades",e:"changeCentury",navStep:100},{names:["centuries","millennium"],clsName:"centuries",e:"changeMillennium",navStep:1e3}],validParts:/dd?|DD?|mm?|MM?|yy(?:yy)?/g,nonpunctuation:/[^ -\/:-@\u5e74\u6708\u65e5\[-`{-~\t\n\r]+/g,parseFormat:function(a){if("function"==typeof a.toValue&&"function"==typeof a.toDisplay)return a;var b=a.replace(this.validParts,"\0").split("\0"),c=a.match(this.validParts);if(!b||!b.length||!c||0===c.length)throw new Error("Invalid date format.");return{separators:b,parts:c}},parseDate:function(c,e,f,g){function h(a,b){return!0===b&&(b=10),a<100&&(a+=2e3)>(new Date).getFullYear()+b&&(a-=100),a}function i(){var a=this.slice(0,j[n].length),b=j[n].slice(0,a.length);return a.toLowerCase()===b.toLowerCase()}if(!c)return b;if(c instanceof Date)return c;if("string"==typeof e&&(e=r.parseFormat(e)),e.toValue)return e.toValue(c,e,f);var j,l,m,n,o,p={d:"moveDay",m:"moveMonth",w:"moveWeek",y:"moveYear"},s={yesterday:"-1d",today:"+0d",tomorrow:"+1d"};if(c in s&&(c=s[c]),/^[\-+]\d+[dmwy]([\s,]+[\-+]\d+[dmwy])*$/i.test(c)){for(j=c.match(/([\-+]\d+)([dmwy])/gi),c=new Date,n=0;n'+o.templates.leftArrow+''+o.templates.rightArrow+"",contTemplate:'',footTemplate:''};r.template='

    ",a.fn.datepicker.DPGlobal=r,a.fn.datepicker.noConflict=function(){return a.fn.datepicker=m,this},a.fn.datepicker.version="1.9.0",a.fn.datepicker.deprecated=function(a){var b=window.console;b&&b.warn&&b.warn("DEPRECATED: "+a)},a(document).on("focus.datepicker.data-api click.datepicker.data-api",'[data-provide="datepicker"]',function(b){var c=a(this);c.data("datepicker")||(b.preventDefault(),n.call(c,"show"))}),a(function(){n.call(a('[data-provide="datepicker-inline"]'))})}); \ No newline at end of file diff --git a/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker-en-CA.min.js b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker-en-CA.min.js new file mode 100644 index 0000000000..0aab38f3a4 --- /dev/null +++ b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker-en-CA.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates["en-CA"]={days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],daysShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],daysMin:["Su","Mo","Tu","We","Th","Fr","Sa"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],monthsShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],today:"Today",monthsTitle:"Months",clear:"Clear",weekStart:0,format:"yyyy-mm-dd"},a.fn.datepicker.deprecated("This filename doesn't follow the convention, use bootstrap-datepicker.en-CA.js instead.")}(jQuery); \ No newline at end of file diff --git a/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.ar-tn.min.js b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.ar-tn.min.js new file mode 100644 index 0000000000..9d70dc2fa3 --- /dev/null +++ b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.ar-tn.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates["ar-tn"]={days:["الأحد","الاثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت","الأحد"],daysShort:["أحد","اثنين","ثلاثاء","أربعاء","خميس","جمعة","سبت","أحد"],daysMin:["ح","ن","ث","ع","خ","ج","س","ح"],months:["جانفي","فيفري","مارس","أفريل","ماي","جوان","جويليه","أوت","سبتمبر","أكتوبر","نوفمبر","ديسمبر"],monthsShort:["جانفي","فيفري","مارس","أفريل","ماي","جوان","جويليه","أوت","سبتمبر","أكتوبر","نوفمبر","ديسمبر"],today:"هذا اليوم",rtl:!0}}(jQuery); \ No newline at end of file diff --git a/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.ar.min.js b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.ar.min.js new file mode 100644 index 0000000000..ece41af725 --- /dev/null +++ b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.ar.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.ar={days:["الأحد","الاثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت","الأحد"],daysShort:["أحد","اثنين","ثلاثاء","أربعاء","خميس","جمعة","سبت","أحد"],daysMin:["ح","ن","ث","ع","خ","ج","س","ح"],months:["يناير","فبراير","مارس","أبريل","مايو","يونيو","يوليو","أغسطس","سبتمبر","أكتوبر","نوفمبر","ديسمبر"],monthsShort:["يناير","فبراير","مارس","أبريل","مايو","يونيو","يوليو","أغسطس","سبتمبر","أكتوبر","نوفمبر","ديسمبر"],today:"هذا اليوم",rtl:!0}}(jQuery); \ No newline at end of file diff --git a/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.az.min.js b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.az.min.js new file mode 100644 index 0000000000..aa1edbf4f8 --- /dev/null +++ b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.az.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.az={days:["Bazar","Bazar ertəsi","Çərşənbə axşamı","Çərşənbə","Cümə axşamı","Cümə","Şənbə"],daysShort:["B.","B.e","Ç.a","Ç.","C.a","C.","Ş."],daysMin:["B.","B.e","Ç.a","Ç.","C.a","C.","Ş."],months:["Yanvar","Fevral","Mart","Aprel","May","İyun","İyul","Avqust","Sentyabr","Oktyabr","Noyabr","Dekabr"],monthsShort:["Yan","Fev","Mar","Apr","May","İyun","İyul","Avq","Sen","Okt","Noy","Dek"],today:"Bu gün",weekStart:1,clear:"Təmizlə",monthsTitle:"Aylar"}}(jQuery); \ No newline at end of file diff --git a/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.bg.min.js b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.bg.min.js new file mode 100644 index 0000000000..28e8b22dcf --- /dev/null +++ b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.bg.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.bg={days:["Неделя","Понеделник","Вторник","Сряда","Четвъртък","Петък","Събота"],daysShort:["Нед","Пон","Вто","Сря","Чет","Пет","Съб"],daysMin:["Н","П","В","С","Ч","П","С"],months:["Януари","Февруари","Март","Април","Май","Юни","Юли","Август","Септември","Октомври","Ноември","Декември"],monthsShort:["Ян","Фев","Мар","Апр","Май","Юни","Юли","Авг","Сеп","Окт","Ное","Дек"],today:"днес"}}(jQuery); \ No newline at end of file diff --git a/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.bm.min.js b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.bm.min.js new file mode 100644 index 0000000000..e0796a3ba7 --- /dev/null +++ b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.bm.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.bm={days:["Kari","Ntɛnɛn","Tarata","Araba","Alamisa","Juma","Sibiri"],daysShort:["Kar","Ntɛ","Tar","Ara","Ala","Jum","Sib"],daysMin:["Ka","Nt","Ta","Ar","Al","Ju","Si"],months:["Zanwuyekalo","Fewuruyekalo","Marisikalo","Awirilikalo","Mɛkalo","Zuwɛnkalo","Zuluyekalo","Utikalo","Sɛtanburukalo","ɔkutɔburukalo","Nowanburukalo","Desanburukalo"],monthsShort:["Zan","Few","Mar","Awi","Mɛ","Zuw","Zul","Uti","Sɛt","ɔku","Now","Des"],today:"Bi",monthsTitle:"Kalo",clear:"Ka jɔsi",weekStart:1,format:"dd/mm/yyyy"}}(jQuery); \ No newline at end of file diff --git a/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.bn.min.js b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.bn.min.js new file mode 100644 index 0000000000..f67b5e26e7 --- /dev/null +++ b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.bn.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.bn={days:["রবিবার","সোমবার","মঙ্গলবার","বুধবার","বৃহস্পতিবার","শুক্রবার","শনিবার"],daysShort:["রবিবার","সোমবার","মঙ্গলবার","বুধবার","বৃহস্পতিবার","শুক্রবার","শনিবার"],daysMin:["রবি","সোম","মঙ্গল","বুধ","বৃহস্পতি","শুক্র","শনি"],months:["জানুয়ারী","ফেব্রুয়ারি","মার্চ","এপ্রিল","মে","জুন","জুলাই","অগাস্ট","সেপ্টেম্বর","অক্টোবর","নভেম্বর","ডিসেম্বর"],monthsShort:["জানুয়ারী","ফেব্রুয়ারি","মার্চ","এপ্রিল","মে","জুন","জুলাই","অগাস্ট","সেপ্টেম্বর","অক্টোবর","নভেম্বর","ডিসেম্বর"],today:"আজ",monthsTitle:"মাস",clear:"পরিষ্কার",weekStart:0,format:"mm/dd/yyyy"}}(jQuery); \ No newline at end of file diff --git a/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.br.min.js b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.br.min.js new file mode 100644 index 0000000000..af3e3bd0af --- /dev/null +++ b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.br.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.br={days:["Sul","Lun","Meurzh","Merc'her","Yaou","Gwener","Sadorn"],daysShort:["Sul","Lun","Meu.","Mer.","Yao.","Gwe.","Sad."],daysMin:["Su","L","Meu","Mer","Y","G","Sa"],months:["Genver","C'hwevrer","Meurzh","Ebrel","Mae","Mezheven","Gouere","Eost","Gwengolo","Here","Du","Kerzu"],monthsShort:["Genv.","C'hw.","Meur.","Ebre.","Mae","Mezh.","Goue.","Eost","Gwen.","Here","Du","Kerz."],today:"Hiziv",monthsTitle:"Miz",clear:"Dilemel",weekStart:1,format:"dd/mm/yyyy"}}(jQuery); \ No newline at end of file diff --git a/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.bs.min.js b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.bs.min.js new file mode 100644 index 0000000000..cfb06fde79 --- /dev/null +++ b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.bs.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.bs={days:["Nedjelja","Ponedjeljak","Utorak","Srijeda","Četvrtak","Petak","Subota"],daysShort:["Ned","Pon","Uto","Sri","Čet","Pet","Sub"],daysMin:["N","Po","U","Sr","Č","Pe","Su"],months:["Januar","Februar","Mart","April","Maj","Juni","Juli","August","Septembar","Oktobar","Novembar","Decembar"],monthsShort:["Jan","Feb","Mar","Apr","Maj","Jun","Jul","Aug","Sep","Okt","Nov","Dec"],today:"Danas",weekStart:1,format:"dd.mm.yyyy"}}(jQuery); \ No newline at end of file diff --git a/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.ca.min.js b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.ca.min.js new file mode 100644 index 0000000000..ac107894c4 --- /dev/null +++ b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.ca.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.ca={days:["Diumenge","Dilluns","Dimarts","Dimecres","Dijous","Divendres","Dissabte"],daysShort:["Diu","Dil","Dmt","Dmc","Dij","Div","Dis"],daysMin:["dg","dl","dt","dc","dj","dv","ds"],months:["Gener","Febrer","Març","Abril","Maig","Juny","Juliol","Agost","Setembre","Octubre","Novembre","Desembre"],monthsShort:["Gen","Feb","Mar","Abr","Mai","Jun","Jul","Ago","Set","Oct","Nov","Des"],today:"Avui",monthsTitle:"Mesos",clear:"Esborrar",weekStart:1,format:"dd/mm/yyyy"}}(jQuery); \ No newline at end of file diff --git a/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.cs.min.js b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.cs.min.js new file mode 100644 index 0000000000..42dfd1a29d --- /dev/null +++ b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.cs.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.cs={days:["Neděle","Pondělí","Úterý","Středa","Čtvrtek","Pátek","Sobota"],daysShort:["Ned","Pon","Úte","Stř","Čtv","Pát","Sob"],daysMin:["Ne","Po","Út","St","Čt","Pá","So"],months:["Leden","Únor","Březen","Duben","Květen","Červen","Červenec","Srpen","Září","Říjen","Listopad","Prosinec"],monthsShort:["Led","Úno","Bře","Dub","Kvě","Čer","Čnc","Srp","Zář","Říj","Lis","Pro"],today:"Dnes",clear:"Vymazat",monthsTitle:"Měsíc",weekStart:1,format:"dd.mm.yyyy"}}(jQuery); \ No newline at end of file diff --git a/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.cy.min.js b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.cy.min.js new file mode 100644 index 0000000000..f85ea031dd --- /dev/null +++ b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.cy.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.cy={days:["Sul","Llun","Mawrth","Mercher","Iau","Gwener","Sadwrn"],daysShort:["Sul","Llu","Maw","Mer","Iau","Gwe","Sad"],daysMin:["Su","Ll","Ma","Me","Ia","Gwe","Sa"],months:["Ionawr","Chewfror","Mawrth","Ebrill","Mai","Mehefin","Gorfennaf","Awst","Medi","Hydref","Tachwedd","Rhagfyr"],monthsShort:["Ion","Chw","Maw","Ebr","Mai","Meh","Gor","Aws","Med","Hyd","Tach","Rha"],today:"Heddiw"}}(jQuery); \ No newline at end of file diff --git a/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.da.min.js b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.da.min.js new file mode 100644 index 0000000000..53c8180528 --- /dev/null +++ b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.da.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.da={days:["Søndag","Mandag","Tirsdag","Onsdag","Torsdag","Fredag","Lørdag"],daysShort:["Søn","Man","Tir","Ons","Tor","Fre","Lør"],daysMin:["Sø","Ma","Ti","On","To","Fr","Lø"],months:["Januar","Februar","Marts","April","Maj","Juni","Juli","August","September","Oktober","November","December"],monthsShort:["Jan","Feb","Mar","Apr","Maj","Jun","Jul","Aug","Sep","Okt","Nov","Dec"],today:"I Dag",weekStart:1,clear:"Nulstil",format:"dd/mm/yyyy",monthsTitle:"Måneder"}}(jQuery); \ No newline at end of file diff --git a/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.de.min.js b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.de.min.js new file mode 100644 index 0000000000..1b5d6a2474 --- /dev/null +++ b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.de.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.de={days:["Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag"],daysShort:["Son","Mon","Die","Mit","Don","Fre","Sam"],daysMin:["So","Mo","Di","Mi","Do","Fr","Sa"],months:["Januar","Februar","März","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember"],monthsShort:["Jan","Feb","Mär","Apr","Mai","Jun","Jul","Aug","Sep","Okt","Nov","Dez"],today:"Heute",monthsTitle:"Monate",clear:"Löschen",weekStart:1,format:"dd.mm.yyyy"}}(jQuery); \ No newline at end of file diff --git a/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.el.min.js b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.el.min.js new file mode 100644 index 0000000000..046e9eb5ef --- /dev/null +++ b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.el.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.el={days:["Κυριακή","Δευτέρα","Τρίτη","Τετάρτη","Πέμπτη","Παρασκευή","Σάββατο"],daysShort:["Κυρ","Δευ","Τρι","Τετ","Πεμ","Παρ","Σαβ"],daysMin:["Κυ","Δε","Τρ","Τε","Πε","Πα","Σα"],months:["Ιανουάριος","Φεβρουάριος","Μάρτιος","Απρίλιος","Μάιος","Ιούνιος","Ιούλιος","Αύγουστος","Σεπτέμβριος","Οκτώβριος","Νοέμβριος","Δεκέμβριος"],monthsShort:["Ιαν","Φεβ","Μαρ","Απρ","Μάι","Ιουν","Ιουλ","Αυγ","Σεπ","Οκτ","Νοε","Δεκ"],today:"Σήμερα",clear:"Καθαρισμός",weekStart:1,format:"d/m/yyyy"}}(jQuery); \ No newline at end of file diff --git a/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.en-AU.min.js b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.en-AU.min.js new file mode 100644 index 0000000000..b8d5f41cfa --- /dev/null +++ b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.en-AU.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates["en-AU"]={days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],daysShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],daysMin:["Su","Mo","Tu","We","Th","Fr","Sa"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],monthsShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],today:"Today",monthsTitle:"Months",clear:"Clear",weekStart:1,format:"d/mm/yyyy"}}(jQuery); \ No newline at end of file diff --git a/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.en-CA.min.js b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.en-CA.min.js new file mode 100644 index 0000000000..7b1070f74d --- /dev/null +++ b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.en-CA.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates["en-CA"]={days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],daysShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],daysMin:["Su","Mo","Tu","We","Th","Fr","Sa"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],monthsShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],today:"Today",monthsTitle:"Months",clear:"Clear",weekStart:0,format:"yyyy-mm-dd"}}(jQuery); \ No newline at end of file diff --git a/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.en-GB.min.js b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.en-GB.min.js new file mode 100644 index 0000000000..2966f5414e --- /dev/null +++ b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.en-GB.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates["en-GB"]={days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],daysShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],daysMin:["Su","Mo","Tu","We","Th","Fr","Sa"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],monthsShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],today:"Today",monthsTitle:"Months",clear:"Clear",weekStart:1,format:"dd/mm/yyyy"}}(jQuery); \ No newline at end of file diff --git a/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.en-IE.min.js b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.en-IE.min.js new file mode 100644 index 0000000000..dc8f71c026 --- /dev/null +++ b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.en-IE.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates["en-IE"]={days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],daysShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],daysMin:["Su","Mo","Tu","We","Th","Fr","Sa"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],monthsShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],today:"Today",monthsTitle:"Months",clear:"Clear",weekStart:1,format:"dd/mm/yyyy"}}(jQuery); \ No newline at end of file diff --git a/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.en-NZ.min.js b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.en-NZ.min.js new file mode 100644 index 0000000000..c374a8d40c --- /dev/null +++ b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.en-NZ.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates["en-NZ"]={days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],daysShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],daysMin:["Su","Mo","Tu","We","Th","Fr","Sa"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],monthsShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],today:"Today",monthsTitle:"Months",clear:"Clear",weekStart:1,format:"d/mm/yyyy"}}(jQuery); \ No newline at end of file diff --git a/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.en-ZA.min.js b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.en-ZA.min.js new file mode 100644 index 0000000000..885a928cba --- /dev/null +++ b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.en-ZA.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates["en-ZA"]={days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],daysShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],daysMin:["Su","Mo","Tu","We","Th","Fr","Sa"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],monthsShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],today:"Today",monthsTitle:"Months",clear:"Clear",weekStart:1,format:"yyyy/mm/d"}}(jQuery); \ No newline at end of file diff --git a/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.eo.min.js b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.eo.min.js new file mode 100644 index 0000000000..736db021ae --- /dev/null +++ b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.eo.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.eo={days:["dimanĉo","lundo","mardo","merkredo","ĵaŭdo","vendredo","sabato"],daysShort:["dim.","lun.","mar.","mer.","ĵaŭ.","ven.","sam."],daysMin:["d","l","ma","me","ĵ","v","s"],months:["januaro","februaro","marto","aprilo","majo","junio","julio","aŭgusto","septembro","oktobro","novembro","decembro"],monthsShort:["jan.","feb.","mar.","apr.","majo","jun.","jul.","aŭg.","sep.","okt.","nov.","dec."],today:"Hodiaŭ",clear:"Nuligi",weekStart:1,format:"yyyy-mm-dd"}}(jQuery); \ No newline at end of file diff --git a/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.es.min.js b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.es.min.js new file mode 100644 index 0000000000..f3cef5d2b9 --- /dev/null +++ b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.es.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.es={days:["Domingo","Lunes","Martes","Miércoles","Jueves","Viernes","Sábado"],daysShort:["Dom","Lun","Mar","Mié","Jue","Vie","Sáb"],daysMin:["Do","Lu","Ma","Mi","Ju","Vi","Sa"],months:["Enero","Febrero","Marzo","Abril","Mayo","Junio","Julio","Agosto","Septiembre","Octubre","Noviembre","Diciembre"],monthsShort:["Ene","Feb","Mar","Abr","May","Jun","Jul","Ago","Sep","Oct","Nov","Dic"],today:"Hoy",monthsTitle:"Meses",clear:"Borrar",weekStart:1,format:"dd/mm/yyyy"}}(jQuery); \ No newline at end of file diff --git a/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.et.min.js b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.et.min.js new file mode 100644 index 0000000000..34cd9c60e9 --- /dev/null +++ b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.et.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.et={days:["Pühapäev","Esmaspäev","Teisipäev","Kolmapäev","Neljapäev","Reede","Laupäev"],daysShort:["Pühap","Esmasp","Teisip","Kolmap","Neljap","Reede","Laup"],daysMin:["P","E","T","K","N","R","L"],months:["Jaanuar","Veebruar","Märts","Aprill","Mai","Juuni","Juuli","August","September","Oktoober","November","Detsember"],monthsShort:["Jaan","Veebr","Märts","Apr","Mai","Juuni","Juuli","Aug","Sept","Okt","Nov","Dets"],today:"Täna",clear:"Tühjenda",weekStart:1,format:"dd.mm.yyyy"}}(jQuery); \ No newline at end of file diff --git a/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.eu.min.js b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.eu.min.js new file mode 100644 index 0000000000..c5aa359e48 --- /dev/null +++ b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.eu.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.eu={days:["Igandea","Astelehena","Asteartea","Asteazkena","Osteguna","Ostirala","Larunbata"],daysShort:["Ig","Al","Ar","Az","Og","Ol","Lr"],daysMin:["Ig","Al","Ar","Az","Og","Ol","Lr"],months:["Urtarrila","Otsaila","Martxoa","Apirila","Maiatza","Ekaina","Uztaila","Abuztua","Iraila","Urria","Azaroa","Abendua"],monthsShort:["Urt","Ots","Mar","Api","Mai","Eka","Uzt","Abu","Ira","Urr","Aza","Abe"],today:"Gaur",monthsTitle:"Hilabeteak",clear:"Ezabatu",weekStart:1,format:"yyyy/mm/dd"}}(jQuery); \ No newline at end of file diff --git a/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.fa.min.js b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.fa.min.js new file mode 100644 index 0000000000..8575237a07 --- /dev/null +++ b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.fa.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.fa={days:["یک‌شنبه","دوشنبه","سه‌شنبه","چهارشنبه","پنج‌شنبه","جمعه","شنبه","یک‌شنبه"],daysShort:["یک","دو","سه","چهار","پنج","جمعه","شنبه","یک"],daysMin:["ی","د","س","چ","پ","ج","ش","ی"],months:["ژانویه","فوریه","مارس","آوریل","مه","ژوئن","ژوئیه","اوت","سپتامبر","اکتبر","نوامبر","دسامبر"],monthsShort:["ژان","فور","مار","آور","مه","ژون","ژوی","اوت","سپت","اکت","نوا","دسا"],today:"امروز",clear:"پاک کن",weekStart:1,format:"yyyy/mm/dd"}}(jQuery); \ No newline at end of file diff --git a/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.fi.min.js b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.fi.min.js new file mode 100644 index 0000000000..239dfb796c --- /dev/null +++ b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.fi.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.fi={days:["sunnuntai","maanantai","tiistai","keskiviikko","torstai","perjantai","lauantai"],daysShort:["sun","maa","tii","kes","tor","per","lau"],daysMin:["su","ma","ti","ke","to","pe","la"],months:["tammikuu","helmikuu","maaliskuu","huhtikuu","toukokuu","kesäkuu","heinäkuu","elokuu","syyskuu","lokakuu","marraskuu","joulukuu"],monthsShort:["tam","hel","maa","huh","tou","kes","hei","elo","syy","lok","mar","jou"],today:"tänään",clear:"Tyhjennä",weekStart:1,format:"d.m.yyyy"}}(jQuery); \ No newline at end of file diff --git a/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.fo.min.js b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.fo.min.js new file mode 100644 index 0000000000..fa24e3a127 --- /dev/null +++ b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.fo.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.fo={days:["Sunnudagur","Mánadagur","Týsdagur","Mikudagur","Hósdagur","Fríggjadagur","Leygardagur"],daysShort:["Sun","Mán","Týs","Mik","Hós","Frí","Ley"],daysMin:["Su","Má","Tý","Mi","Hó","Fr","Le"],months:["Januar","Februar","Marts","Apríl","Mei","Juni","Juli","August","Septembur","Oktobur","Novembur","Desembur"],monthsShort:["Jan","Feb","Mar","Apr","Mei","Jun","Jul","Aug","Sep","Okt","Nov","Des"],today:"Í Dag",clear:"Reinsa"}}(jQuery); \ No newline at end of file diff --git a/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.fr-CH.min.js b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.fr-CH.min.js new file mode 100644 index 0000000000..1c6bcdcbfc --- /dev/null +++ b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.fr-CH.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.fr={days:["Dimanche","Lundi","Mardi","Mercredi","Jeudi","Vendredi","Samedi"],daysShort:["Dim","Lun","Mar","Mer","Jeu","Ven","Sam"],daysMin:["D","L","Ma","Me","J","V","S"],months:["Janvier","Février","Mars","Avril","Mai","Juin","Juillet","Août","Septembre","Octobre","Novembre","Décembre"],monthsShort:["Jan","Fév","Mar","Avr","Mai","Jui","Jul","Aou","Sep","Oct","Nov","Déc"],today:"Aujourd'hui",monthsTitle:"Mois",clear:"Effacer",weekStart:1,format:"dd.mm.yyyy"}}(jQuery); \ No newline at end of file diff --git a/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.fr.min.js b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.fr.min.js new file mode 100644 index 0000000000..244cfba800 --- /dev/null +++ b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.fr.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.fr={days:["dimanche","lundi","mardi","mercredi","jeudi","vendredi","samedi"],daysShort:["dim.","lun.","mar.","mer.","jeu.","ven.","sam."],daysMin:["d","l","ma","me","j","v","s"],months:["janvier","février","mars","avril","mai","juin","juillet","août","septembre","octobre","novembre","décembre"],monthsShort:["janv.","févr.","mars","avril","mai","juin","juil.","août","sept.","oct.","nov.","déc."],today:"Aujourd'hui",monthsTitle:"Mois",clear:"Effacer",weekStart:1,format:"dd/mm/yyyy"}}(jQuery); \ No newline at end of file diff --git a/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.gl.min.js b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.gl.min.js new file mode 100644 index 0000000000..3d92606b3b --- /dev/null +++ b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.gl.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.gl={days:["Domingo","Luns","Martes","Mércores","Xoves","Venres","Sábado"],daysShort:["Dom","Lun","Mar","Mér","Xov","Ven","Sáb"],daysMin:["Do","Lu","Ma","Me","Xo","Ve","Sa"],months:["Xaneiro","Febreiro","Marzo","Abril","Maio","Xuño","Xullo","Agosto","Setembro","Outubro","Novembro","Decembro"],monthsShort:["Xan","Feb","Mar","Abr","Mai","Xun","Xul","Ago","Sep","Out","Nov","Dec"],today:"Hoxe",clear:"Limpar",weekStart:1,format:"dd/mm/yyyy"}}(jQuery); \ No newline at end of file diff --git a/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.he.min.js b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.he.min.js new file mode 100644 index 0000000000..191cb453a0 --- /dev/null +++ b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.he.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.he={days:["ראשון","שני","שלישי","רביעי","חמישי","שישי","שבת","ראשון"],daysShort:["א","ב","ג","ד","ה","ו","ש","א"],daysMin:["א","ב","ג","ד","ה","ו","ש","א"],months:["ינואר","פברואר","מרץ","אפריל","מאי","יוני","יולי","אוגוסט","ספטמבר","אוקטובר","נובמבר","דצמבר"],monthsShort:["ינו","פבר","מרץ","אפר","מאי","יונ","יול","אוג","ספט","אוק","נוב","דצמ"],today:"היום",rtl:!0}}(jQuery); \ No newline at end of file diff --git a/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.hi.min.js b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.hi.min.js new file mode 100644 index 0000000000..635baffa8b --- /dev/null +++ b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.hi.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.hi={days:["रविवार","सोमवार","मंगलवार","बुधवार","गुरुवार","शुक्रवार","शनिवार"],daysShort:["सूर्य","सोम","मंगल","बुध","गुरु","शुक्र","शनि"],daysMin:["र","सो","मं","बु","गु","शु","श"],months:["जनवरी","फ़रवरी","मार्च","अप्रैल","मई","जून","जुलाई","अगस्त","सितम्बर","अक्टूबर","नवंबर","दिसम्बर"],monthsShort:["जन","फ़रवरी","मार्च","अप्रैल","मई","जून","जुलाई","अगस्त","सितं","अक्टूबर","नवं","दिसम्बर"],today:"आज",monthsTitle:"महीने",clear:"साफ",weekStart:1,format:"dd / mm / yyyy"}}(jQuery); \ No newline at end of file diff --git a/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.hr.min.js b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.hr.min.js new file mode 100644 index 0000000000..8b34bce0fd --- /dev/null +++ b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.hr.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.hr={days:["Nedjelja","Ponedjeljak","Utorak","Srijeda","Četvrtak","Petak","Subota"],daysShort:["Ned","Pon","Uto","Sri","Čet","Pet","Sub"],daysMin:["Ne","Po","Ut","Sr","Če","Pe","Su"],months:["Siječanj","Veljača","Ožujak","Travanj","Svibanj","Lipanj","Srpanj","Kolovoz","Rujan","Listopad","Studeni","Prosinac"],monthsShort:["Sij","Velj","Ožu","Tra","Svi","Lip","Srp","Kol","Ruj","Lis","Stu","Pro"],today:"Danas"}}(jQuery); \ No newline at end of file diff --git a/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.hu.min.js b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.hu.min.js new file mode 100644 index 0000000000..f9decf9a2c --- /dev/null +++ b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.hu.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.hu={days:["vasárnap","hétfő","kedd","szerda","csütörtök","péntek","szombat"],daysShort:["vas","hét","ked","sze","csü","pén","szo"],daysMin:["V","H","K","Sze","Cs","P","Szo"],months:["január","február","március","április","május","június","július","augusztus","szeptember","október","november","december"],monthsShort:["jan","feb","már","ápr","máj","jún","júl","aug","sze","okt","nov","dec"],today:"ma",weekStart:1,clear:"töröl",titleFormat:"yyyy. MM",format:"yyyy.mm.dd"}}(jQuery); \ No newline at end of file diff --git a/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.hy.min.js b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.hy.min.js new file mode 100644 index 0000000000..a1cf653d38 --- /dev/null +++ b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.hy.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.hy={days:["Կիրակի","Երկուշաբթի","Երեքշաբթի","Չորեքշաբթի","Հինգշաբթի","Ուրբաթ","Շաբաթ"],daysShort:["Կիր","Երկ","Երե","Չոր","Հին","Ուրբ","Շաբ"],daysMin:["Կի","Եկ","Եք","Չո","Հի","Ու","Շա"],months:["Հունվար","Փետրվար","Մարտ","Ապրիլ","Մայիս","Հունիս","Հուլիս","Օգոստոս","Սեպտեմբեր","Հոկտեմբեր","Նոյեմբեր","Դեկտեմբեր"],monthsShort:["Հնվ","Փետ","Մար","Ապր","Մայ","Հուն","Հուլ","Օգս","Սեպ","Հոկ","Նոյ","Դեկ"],today:"Այսօր",clear:"Ջնջել",format:"dd.mm.yyyy",weekStart:1,monthsTitle:"Ամիսնէր"}}(jQuery); \ No newline at end of file diff --git a/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.id.min.js b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.id.min.js new file mode 100644 index 0000000000..7c3220a643 --- /dev/null +++ b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.id.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.id={days:["Minggu","Senin","Selasa","Rabu","Kamis","Jumat","Sabtu"],daysShort:["Mgu","Sen","Sel","Rab","Kam","Jum","Sab"],daysMin:["Mg","Sn","Sl","Ra","Ka","Ju","Sa"],months:["Januari","Februari","Maret","April","Mei","Juni","Juli","Agustus","September","Oktober","November","Desember"],monthsShort:["Jan","Feb","Mar","Apr","Mei","Jun","Jul","Ags","Sep","Okt","Nov","Des"],today:"Hari Ini",clear:"Kosongkan"}}(jQuery); \ No newline at end of file diff --git a/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.is.min.js b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.is.min.js new file mode 100644 index 0000000000..f49bd18cc2 --- /dev/null +++ b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.is.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.is={days:["Sunnudagur","Mánudagur","Þriðjudagur","Miðvikudagur","Fimmtudagur","Föstudagur","Laugardagur"],daysShort:["Sun","Mán","Þri","Mið","Fim","Fös","Lau"],daysMin:["Su","Má","Þr","Mi","Fi","Fö","La"],months:["Janúar","Febrúar","Mars","Apríl","Maí","Júní","Júlí","Ágúst","September","Október","Nóvember","Desember"],monthsShort:["Jan","Feb","Mar","Apr","Maí","Jún","Júl","Ágú","Sep","Okt","Nóv","Des"],today:"Í Dag"}}(jQuery); \ No newline at end of file diff --git a/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.it-CH.min.js b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.it-CH.min.js new file mode 100644 index 0000000000..7e1adbb95d --- /dev/null +++ b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.it-CH.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.it={days:["Domenica","Lunedì","Martedì","Mercoledì","Giovedì","Venerdì","Sabato"],daysShort:["Dom","Lun","Mar","Mer","Gio","Ven","Sab"],daysMin:["Do","Lu","Ma","Me","Gi","Ve","Sa"],months:["Gennaio","Febbraio","Marzo","Aprile","Maggio","Giugno","Luglio","Agosto","Settembre","Ottobre","Novembre","Dicembre"],monthsShort:["Gen","Feb","Mar","Apr","Mag","Giu","Lug","Ago","Set","Ott","Nov","Dic"],today:"Oggi",clear:"Cancella",weekStart:1,format:"dd.mm.yyyy"}}(jQuery); \ No newline at end of file diff --git a/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.it.min.js b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.it.min.js new file mode 100644 index 0000000000..cc30766ffa --- /dev/null +++ b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.it.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.it={days:["Domenica","Lunedì","Martedì","Mercoledì","Giovedì","Venerdì","Sabato"],daysShort:["Dom","Lun","Mar","Mer","Gio","Ven","Sab"],daysMin:["Do","Lu","Ma","Me","Gi","Ve","Sa"],months:["Gennaio","Febbraio","Marzo","Aprile","Maggio","Giugno","Luglio","Agosto","Settembre","Ottobre","Novembre","Dicembre"],monthsShort:["Gen","Feb","Mar","Apr","Mag","Giu","Lug","Ago","Set","Ott","Nov","Dic"],today:"Oggi",monthsTitle:"Mesi",clear:"Cancella",weekStart:1,format:"dd/mm/yyyy"}}(jQuery); \ No newline at end of file diff --git a/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.ja.min.js b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.ja.min.js new file mode 100644 index 0000000000..e321f04ffe --- /dev/null +++ b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.ja.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.ja={days:["日曜","月曜","火曜","水曜","木曜","金曜","土曜"],daysShort:["日","月","火","水","木","金","土"],daysMin:["日","月","火","水","木","金","土"],months:["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"],monthsShort:["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"],today:"今日",format:"yyyy/mm/dd",titleFormat:"yyyy年mm月",clear:"クリア"}}(jQuery); \ No newline at end of file diff --git a/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.ka.min.js b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.ka.min.js new file mode 100644 index 0000000000..84f14c0e90 --- /dev/null +++ b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.ka.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.ka={days:["კვირა","ორშაბათი","სამშაბათი","ოთხშაბათი","ხუთშაბათი","პარასკევი","შაბათი"],daysShort:["კვი","ორშ","სამ","ოთხ","ხუთ","პარ","შაბ"],daysMin:["კვ","ორ","სა","ოთ","ხუ","პა","შა"],months:["იანვარი","თებერვალი","მარტი","აპრილი","მაისი","ივნისი","ივლისი","აგვისტო","სექტემბერი","ოქტომბერი","ნოემბერი","დეკემბერი"],monthsShort:["იან","თებ","მარ","აპრ","მაი","ივნ","ივლ","აგვ","სექ","ოქტ","ნოე","დეკ"],today:"დღეს",clear:"გასუფთავება",weekStart:1,format:"dd.mm.yyyy"}}(jQuery); \ No newline at end of file diff --git a/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.kh.min.js b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.kh.min.js new file mode 100644 index 0000000000..bf2abc5d82 --- /dev/null +++ b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.kh.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.kh={days:["អាទិត្យ","ចន្ទ","អង្គារ","ពុធ","ព្រហស្បតិ៍","សុក្រ","សៅរ៍"],daysShort:["អា.ទិ","ចន្ទ","អង្គារ","ពុធ","ព្រ.ហ","សុក្រ","សៅរ៍"],daysMin:["អា.ទិ","ចន្ទ","អង្គារ","ពុធ","ព្រ.ហ","សុក្រ","សៅរ៍"],months:["មករា","កុម្ភះ","មិនា","មេសា","ឧសភា","មិថុនា","កក្កដា","សីហា","កញ្ញា","តុលា","វិច្ឆិកា","ធ្នូ"],monthsShort:["មករា","កុម្ភះ","មិនា","មេសា","ឧសភា","មិថុនា","កក្កដា","សីហា","កញ្ញា","តុលា","វិច្ឆិកា","ធ្នូ"],today:"ថ្ងៃនេះ",clear:"សំអាត"},a.fn.datepicker.deprecated('The language code "kh" is deprecated and will be removed in 2.0. For Khmer support use "km" instead.')}(jQuery); \ No newline at end of file diff --git a/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.kk.min.js b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.kk.min.js new file mode 100644 index 0000000000..f4e2f3f1a2 --- /dev/null +++ b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.kk.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.kk={days:["Жексенбі","Дүйсенбі","Сейсенбі","Сәрсенбі","Бейсенбі","Жұма","Сенбі"],daysShort:["Жек","Дүй","Сей","Сәр","Бей","Жұм","Сен"],daysMin:["Жк","Дс","Сс","Ср","Бс","Жм","Сн"],months:["Қаңтар","Ақпан","Наурыз","Сәуір","Мамыр","Маусым","Шілде","Тамыз","Қыркүйек","Қазан","Қараша","Желтоқсан"],monthsShort:["Қаң","Ақп","Нау","Сәу","Мам","Мау","Шіл","Там","Қыр","Қаз","Қар","Жел"],today:"Бүгін",weekStart:1}}(jQuery); \ No newline at end of file diff --git a/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.km.min.js b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.km.min.js new file mode 100644 index 0000000000..648d83f84f --- /dev/null +++ b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.km.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.km={days:["អាទិត្យ","ចន្ទ","អង្គារ","ពុធ","ព្រហស្បតិ៍","សុក្រ","សៅរ៍"],daysShort:["អា.ទិ","ចន្ទ","អង្គារ","ពុធ","ព្រ.ហ","សុក្រ","សៅរ៍"],daysMin:["អា.ទិ","ចន្ទ","អង្គារ","ពុធ","ព្រ.ហ","សុក្រ","សៅរ៍"],months:["មករា","កុម្ភះ","មិនា","មេសា","ឧសភា","មិថុនា","កក្កដា","សីហា","កញ្ញា","តុលា","វិច្ឆិកា","ធ្នូ"],monthsShort:["មករា","កុម្ភះ","មិនា","មេសា","ឧសភា","មិថុនា","កក្កដា","សីហា","កញ្ញា","តុលា","វិច្ឆិកា","ធ្នូ"],today:"ថ្ងៃនេះ",clear:"សំអាត"}}(jQuery); \ No newline at end of file diff --git a/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.ko.min.js b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.ko.min.js new file mode 100644 index 0000000000..9751ee5c22 --- /dev/null +++ b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.ko.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.ko={days:["일요일","월요일","화요일","수요일","목요일","금요일","토요일"],daysShort:["일","월","화","수","목","금","토"],daysMin:["일","월","화","수","목","금","토"],months:["1월","2월","3월","4월","5월","6월","7월","8월","9월","10월","11월","12월"],monthsShort:["1월","2월","3월","4월","5월","6월","7월","8월","9월","10월","11월","12월"],today:"오늘",clear:"삭제",format:"yyyy-mm-dd",titleFormat:"yyyy년mm월",weekStart:0}}(jQuery); \ No newline at end of file diff --git a/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.kr.min.js b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.kr.min.js new file mode 100644 index 0000000000..43393409e0 --- /dev/null +++ b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.kr.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.kr={days:["일요일","월요일","화요일","수요일","목요일","금요일","토요일"],daysShort:["일","월","화","수","목","금","토"],daysMin:["일","월","화","수","목","금","토"],months:["1월","2월","3월","4월","5월","6월","7월","8월","9월","10월","11월","12월"],monthsShort:["1월","2월","3월","4월","5월","6월","7월","8월","9월","10월","11월","12월"]},a.fn.datepicker.deprecated('The language code "kr" is deprecated and will be removed in 2.0. For korean support use "ko" instead.')}(jQuery); \ No newline at end of file diff --git a/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.lt.min.js b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.lt.min.js new file mode 100644 index 0000000000..da78ea85f3 --- /dev/null +++ b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.lt.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.lt={days:["Sekmadienis","Pirmadienis","Antradienis","Trečiadienis","Ketvirtadienis","Penktadienis","Šeštadienis"],daysShort:["S","Pr","A","T","K","Pn","Š"],daysMin:["Sk","Pr","An","Tr","Ke","Pn","Št"],months:["Sausis","Vasaris","Kovas","Balandis","Gegužė","Birželis","Liepa","Rugpjūtis","Rugsėjis","Spalis","Lapkritis","Gruodis"],monthsShort:["Sau","Vas","Kov","Bal","Geg","Bir","Lie","Rugp","Rugs","Spa","Lap","Gru"],today:"Šiandien",monthsTitle:"Mėnesiai",clear:"Išvalyti",weekStart:1,format:"yyyy-mm-dd"}}(jQuery); \ No newline at end of file diff --git a/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.lv.min.js b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.lv.min.js new file mode 100644 index 0000000000..89cea00f8b --- /dev/null +++ b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.lv.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.lv={days:["Svētdiena","Pirmdiena","Otrdiena","Trešdiena","Ceturtdiena","Piektdiena","Sestdiena"],daysShort:["Sv","P","O","T","C","Pk","S"],daysMin:["Sv","Pr","Ot","Tr","Ce","Pk","Se"],months:["Janvāris","Februāris","Marts","Aprīlis","Maijs","Jūnijs","Jūlijs","Augusts","Septembris","Oktobris","Novembris","Decembris"],monthsShort:["Jan","Feb","Mar","Apr","Mai","Jūn","Jūl","Aug","Sep","Okt","Nov","Dec"],monthsTitle:"Mēneši",today:"Šodien",clear:"Nodzēst",weekStart:1}}(jQuery); \ No newline at end of file diff --git a/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.me.min.js b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.me.min.js new file mode 100644 index 0000000000..c65a891646 --- /dev/null +++ b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.me.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.me={days:["Nedjelja","Ponedjeljak","Utorak","Srijeda","Četvrtak","Petak","Subota"],daysShort:["Ned","Pon","Uto","Sri","Čet","Pet","Sub"],daysMin:["Ne","Po","Ut","Sr","Če","Pe","Su"],months:["Januar","Februar","Mart","April","Maj","Jun","Jul","Avgust","Septembar","Oktobar","Novembar","Decembar"],monthsShort:["Jan","Feb","Mar","Apr","Maj","Jun","Jul","Avg","Sep","Okt","Nov","Dec"],today:"Danas",weekStart:1,clear:"Izbriši",format:"dd.mm.yyyy"}}(jQuery); \ No newline at end of file diff --git a/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.mk.min.js b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.mk.min.js new file mode 100644 index 0000000000..46423f7581 --- /dev/null +++ b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.mk.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.mk={days:["Недела","Понеделник","Вторник","Среда","Четврток","Петок","Сабота"],daysShort:["Нед","Пон","Вто","Сре","Чет","Пет","Саб"],daysMin:["Не","По","Вт","Ср","Че","Пе","Са"],months:["Јануари","Февруари","Март","Април","Мај","Јуни","Јули","Август","Септември","Октомври","Ноември","Декември"],monthsShort:["Јан","Фев","Мар","Апр","Мај","Јун","Јул","Авг","Сеп","Окт","Ное","Дек"],today:"Денес",format:"dd.mm.yyyy"}}(jQuery); \ No newline at end of file diff --git a/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.mn.min.js b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.mn.min.js new file mode 100644 index 0000000000..6ebaec9d86 --- /dev/null +++ b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.mn.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.mn={days:["Ням","Даваа","Мягмар","Лхагва","Пүрэв","Баасан","Бямба"],daysShort:["Ням","Дав","Мяг","Лха","Пүр","Баа","Бям"],daysMin:["Ня","Да","Мя","Лх","Пү","Ба","Бя"],months:["Хулгана","Үхэр","Бар","Туулай","Луу","Могой","Морь","Хонь","Бич","Тахиа","Нохой","Гахай"],monthsShort:["Хул","Үхэ","Бар","Туу","Луу","Мог","Мор","Хон","Бич","Тах","Нох","Гах"],today:"Өнөөдөр",clear:"Тодорхой",format:"yyyy.mm.dd",weekStart:1}}(jQuery); \ No newline at end of file diff --git a/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.ms.min.js b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.ms.min.js new file mode 100644 index 0000000000..47efafdc2f --- /dev/null +++ b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.ms.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.ms={days:["Ahad","Isnin","Selasa","Rabu","Khamis","Jumaat","Sabtu"],daysShort:["Aha","Isn","Sel","Rab","Kha","Jum","Sab"],daysMin:["Ah","Is","Se","Ra","Kh","Ju","Sa"],months:["Januari","Februari","Mac","April","Mei","Jun","Julai","Ogos","September","Oktober","November","Disember"],monthsShort:["Jan","Feb","Mar","Apr","Mei","Jun","Jul","Ogo","Sep","Okt","Nov","Dis"],today:"Hari Ini",clear:"Bersihkan"}}(jQuery); \ No newline at end of file diff --git a/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.nl-BE.min.js b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.nl-BE.min.js new file mode 100644 index 0000000000..85d3146df1 --- /dev/null +++ b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.nl-BE.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates["nl-BE"]={days:["zondag","maandag","dinsdag","woensdag","donderdag","vrijdag","zaterdag"],daysShort:["zo","ma","di","wo","do","vr","za"],daysMin:["zo","ma","di","wo","do","vr","za"],months:["januari","februari","maart","april","mei","juni","juli","augustus","september","oktober","november","december"],monthsShort:["jan","feb","mrt","apr","mei","jun","jul","aug","sep","okt","nov","dec"],today:"Vandaag",monthsTitle:"Maanden",clear:"Leegmaken",weekStart:1,format:"dd/mm/yyyy"}}(jQuery); \ No newline at end of file diff --git a/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.nl.min.js b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.nl.min.js new file mode 100644 index 0000000000..af977b71ea --- /dev/null +++ b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.nl.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.nl={days:["zondag","maandag","dinsdag","woensdag","donderdag","vrijdag","zaterdag"],daysShort:["zo","ma","di","wo","do","vr","za"],daysMin:["zo","ma","di","wo","do","vr","za"],months:["januari","februari","maart","april","mei","juni","juli","augustus","september","oktober","november","december"],monthsShort:["jan","feb","mrt","apr","mei","jun","jul","aug","sep","okt","nov","dec"],today:"Vandaag",monthsTitle:"Maanden",clear:"Wissen",weekStart:1,format:"dd-mm-yyyy"}}(jQuery); \ No newline at end of file diff --git a/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.no.min.js b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.no.min.js new file mode 100644 index 0000000000..0c5136e441 --- /dev/null +++ b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.no.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.no={days:["søndag","mandag","tirsdag","onsdag","torsdag","fredag","lørdag"],daysShort:["søn","man","tir","ons","tor","fre","lør"],daysMin:["sø","ma","ti","on","to","fr","lø"],months:["januar","februar","mars","april","mai","juni","juli","august","september","oktober","november","desember"],monthsShort:["jan","feb","mar","apr","mai","jun","jul","aug","sep","okt","nov","des"],today:"i dag",monthsTitle:"Måneder",clear:"Nullstill",weekStart:1,format:"dd.mm.yyyy"}}(jQuery); \ No newline at end of file diff --git a/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.oc.min.js b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.oc.min.js new file mode 100644 index 0000000000..630fa16b96 --- /dev/null +++ b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.oc.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.oc={days:["Dimenge","Diluns","Dimars","Dimècres","Dijòus","Divendres","Dissabte"],daysShort:["Dim","Dil","Dmr","Dmc","Dij","Div","Dis"],daysMin:["dg","dl","dr","dc","dj","dv","ds"],months:["Genièr","Febrièr","Març","Abrial","Mai","Junh","Julhet","Agost","Setembre","Octobre","Novembre","Decembre"],monthsShort:["Gen","Feb","Mar","Abr","Mai","Jun","Jul","Ago","Set","Oct","Nov","Dec"],today:"Uèi",monthsTitle:"Meses",clear:"Escafar",weekStart:1,format:"dd/mm/yyyy"}}(jQuery); \ No newline at end of file diff --git a/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.pl.min.js b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.pl.min.js new file mode 100644 index 0000000000..ffb30ec8b1 --- /dev/null +++ b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.pl.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.pl={days:["Niedziela","Poniedziałek","Wtorek","Środa","Czwartek","Piątek","Sobota"],daysShort:["Niedz.","Pon.","Wt.","Śr.","Czw.","Piąt.","Sob."],daysMin:["Ndz.","Pn.","Wt.","Śr.","Czw.","Pt.","Sob."],months:["Styczeń","Luty","Marzec","Kwiecień","Maj","Czerwiec","Lipiec","Sierpień","Wrzesień","Październik","Listopad","Grudzień"],monthsShort:["Sty.","Lut.","Mar.","Kwi.","Maj","Cze.","Lip.","Sie.","Wrz.","Paź.","Lis.","Gru."],today:"Dzisiaj",weekStart:1,clear:"Wyczyść",format:"dd.mm.yyyy"}}(jQuery); \ No newline at end of file diff --git a/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.pt-BR.min.js b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.pt-BR.min.js new file mode 100644 index 0000000000..2d3f8afdac --- /dev/null +++ b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.pt-BR.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates["pt-BR"]={days:["Domingo","Segunda","Terça","Quarta","Quinta","Sexta","Sábado"],daysShort:["Dom","Seg","Ter","Qua","Qui","Sex","Sáb"],daysMin:["Do","Se","Te","Qu","Qu","Se","Sa"],months:["Janeiro","Fevereiro","Março","Abril","Maio","Junho","Julho","Agosto","Setembro","Outubro","Novembro","Dezembro"],monthsShort:["Jan","Fev","Mar","Abr","Mai","Jun","Jul","Ago","Set","Out","Nov","Dez"],today:"Hoje",monthsTitle:"Meses",clear:"Limpar",format:"dd/mm/yyyy"}}(jQuery); \ No newline at end of file diff --git a/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.pt.min.js b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.pt.min.js new file mode 100644 index 0000000000..e2b4e64d77 --- /dev/null +++ b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.pt.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.pt={days:["Domingo","Segunda","Terça","Quarta","Quinta","Sexta","Sábado"],daysShort:["Dom","Seg","Ter","Qua","Qui","Sex","Sáb"],daysMin:["Do","Se","Te","Qu","Qu","Se","Sa"],months:["Janeiro","Fevereiro","Março","Abril","Maio","Junho","Julho","Agosto","Setembro","Outubro","Novembro","Dezembro"],monthsShort:["Jan","Fev","Mar","Abr","Mai","Jun","Jul","Ago","Set","Out","Nov","Dez"],today:"Hoje",monthsTitle:"Meses",clear:"Limpar",format:"dd/mm/yyyy"}}(jQuery); \ No newline at end of file diff --git a/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.ro.min.js b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.ro.min.js new file mode 100644 index 0000000000..5fff2986df --- /dev/null +++ b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.ro.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.ro={days:["Duminică","Luni","Marţi","Miercuri","Joi","Vineri","Sâmbătă"],daysShort:["Dum","Lun","Mar","Mie","Joi","Vin","Sâm"],daysMin:["Du","Lu","Ma","Mi","Jo","Vi","Sâ"],months:["Ianuarie","Februarie","Martie","Aprilie","Mai","Iunie","Iulie","August","Septembrie","Octombrie","Noiembrie","Decembrie"],monthsShort:["Ian","Feb","Mar","Apr","Mai","Iun","Iul","Aug","Sep","Oct","Nov","Dec"],today:"Astăzi",clear:"Șterge",weekStart:1,format:"dd/mm/yyyy"}}(jQuery); \ No newline at end of file diff --git a/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.rs-latin.min.js b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.rs-latin.min.js new file mode 100644 index 0000000000..e520c95733 --- /dev/null +++ b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.rs-latin.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates["rs-latin"]={days:["Nedelja","Ponedeljak","Utorak","Sreda","Četvrtak","Petak","Subota"],daysShort:["Ned","Pon","Uto","Sre","Čet","Pet","Sub"],daysMin:["N","Po","U","Sr","Č","Pe","Su"],months:["Januar","Februar","Mart","April","Maj","Jun","Jul","Avgust","Septembar","Oktobar","Novembar","Decembar"],monthsShort:["Jan","Feb","Mar","Apr","Maj","Jun","Jul","Avg","Sep","Okt","Nov","Dec"],today:"Danas",weekStart:1,format:"dd.mm.yyyy"},a.fn.datepicker.deprecated('This language code "rs-latin" is deprecated (invalid serbian language code) and will be removed in 2.0. For Serbian latin support use "sr-latin" instead.')}(jQuery); \ No newline at end of file diff --git a/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.rs.min.js b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.rs.min.js new file mode 100644 index 0000000000..ba95ae298f --- /dev/null +++ b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.rs.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.rs={days:["Недеља","Понедељак","Уторак","Среда","Четвртак","Петак","Субота"],daysShort:["Нед","Пон","Уто","Сре","Чет","Пет","Суб"],daysMin:["Н","По","У","Ср","Ч","Пе","Су"],months:["Јануар","Фебруар","Март","Април","Мај","Јун","Јул","Август","Септембар","Октобар","Новембар","Децембар"],monthsShort:["Јан","Феб","Мар","Апр","Мај","Јун","Јул","Авг","Сеп","Окт","Нов","Дец"],today:"Данас",weekStart:1,format:"dd.mm.yyyy"},a.fn.datepicker.deprecated('This language code "rs" is deprecated (invalid serbian language code) and will be removed in 2.0. For Serbian support use "sr" instead.')}(jQuery); \ No newline at end of file diff --git a/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.ru.min.js b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.ru.min.js new file mode 100644 index 0000000000..52bc010b97 --- /dev/null +++ b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.ru.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.ru={days:["Воскресенье","Понедельник","Вторник","Среда","Четверг","Пятница","Суббота"],daysShort:["Вск","Пнд","Втр","Срд","Чтв","Птн","Суб"],daysMin:["Вс","Пн","Вт","Ср","Чт","Пт","Сб"],months:["Январь","Февраль","Март","Апрель","Май","Июнь","Июль","Август","Сентябрь","Октябрь","Ноябрь","Декабрь"],monthsShort:["Янв","Фев","Мар","Апр","Май","Июн","Июл","Авг","Сен","Окт","Ноя","Дек"],today:"Сегодня",clear:"Очистить",format:"dd.mm.yyyy",weekStart:1,monthsTitle:"Месяцы"}}(jQuery); \ No newline at end of file diff --git a/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.si.min.js b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.si.min.js new file mode 100644 index 0000000000..b9746b8fc1 --- /dev/null +++ b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.si.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.si={days:["ඉරිදා","සඳුදා","අඟහරුවාදා","බදාදා","බ්‍රහස්පතින්දා","සිකුරාදා","සෙනසුරාදා"],daysShort:["ඉරි","සඳු","අඟ","බදා","බ්‍රහ","සිකු","සෙන"],daysMin:["ඉ","ස","අ","බ","බ්‍ර","සි","සෙ"],months:["ජනවාරි","පෙබරවාරි","මාර්තු","අප්‍රේල්","මැයි","ජුනි","ජූලි","අගෝස්තු","සැප්තැම්බර්","ඔක්තෝබර්","නොවැම්බර්","දෙසැම්බර්"],monthsShort:["ජන","පෙබ","මාර්","අප්‍රේ","මැයි","ජුනි","ජූලි","අගෝ","සැප්","ඔක්","නොවැ","දෙසැ"],today:"අද",monthsTitle:"මාස",clear:"මකන්න",weekStart:0,format:"yyyy-mm-dd"}}(jQuery); \ No newline at end of file diff --git a/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.sk.min.js b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.sk.min.js new file mode 100644 index 0000000000..79a9267fd5 --- /dev/null +++ b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.sk.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.sk={days:["Nedeľa","Pondelok","Utorok","Streda","Štvrtok","Piatok","Sobota"],daysShort:["Ned","Pon","Uto","Str","Štv","Pia","Sob"],daysMin:["Ne","Po","Ut","St","Št","Pia","So"],months:["Január","Február","Marec","Apríl","Máj","Jún","Júl","August","September","Október","November","December"],monthsShort:["Jan","Feb","Mar","Apr","Máj","Jún","Júl","Aug","Sep","Okt","Nov","Dec"],today:"Dnes",clear:"Vymazať",weekStart:1,format:"d.m.yyyy"}}(jQuery); \ No newline at end of file diff --git a/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.sl.min.js b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.sl.min.js new file mode 100644 index 0000000000..831cf73903 --- /dev/null +++ b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.sl.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.sl={days:["Nedelja","Ponedeljek","Torek","Sreda","Četrtek","Petek","Sobota"],daysShort:["Ned","Pon","Tor","Sre","Čet","Pet","Sob"],daysMin:["Ne","Po","To","Sr","Če","Pe","So"],months:["Januar","Februar","Marec","April","Maj","Junij","Julij","Avgust","September","Oktober","November","December"],monthsShort:["Jan","Feb","Mar","Apr","Maj","Jun","Jul","Avg","Sep","Okt","Nov","Dec"],today:"Danes",weekStart:1}}(jQuery); \ No newline at end of file diff --git a/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.sq.min.js b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.sq.min.js new file mode 100644 index 0000000000..8c586055a0 --- /dev/null +++ b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.sq.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.sq={days:["E Diel","E Hënë","E Martē","E Mërkurë","E Enjte","E Premte","E Shtunë"],daysShort:["Die","Hën","Mar","Mër","Enj","Pre","Shtu"],daysMin:["Di","Hë","Ma","Më","En","Pr","Sht"],months:["Janar","Shkurt","Mars","Prill","Maj","Qershor","Korrik","Gusht","Shtator","Tetor","Nëntor","Dhjetor"],monthsShort:["Jan","Shk","Mar","Pri","Maj","Qer","Korr","Gu","Sht","Tet","Nën","Dhjet"],monthsTitle:"Muaj",today:"Sot",weekStart:1,format:"dd/mm/yyyy",clear:"Pastro"}}(jQuery); \ No newline at end of file diff --git a/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.sr-latin.min.js b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.sr-latin.min.js new file mode 100644 index 0000000000..c6b7001ace --- /dev/null +++ b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.sr-latin.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates["sr-latin"]={days:["Nedelja","Ponedeljak","Utorak","Sreda","Četvrtak","Petak","Subota"],daysShort:["Ned","Pon","Uto","Sre","Čet","Pet","Sub"],daysMin:["N","Po","U","Sr","Č","Pe","Su"],months:["Januar","Februar","Mart","April","Maj","Jun","Jul","Avgust","Septembar","Oktobar","Novembar","Decembar"],monthsShort:["Jan","Feb","Mar","Apr","Maj","Jun","Jul","Avg","Sep","Okt","Nov","Dec"],today:"Danas",weekStart:1,format:"dd.mm.yyyy"}}(jQuery); \ No newline at end of file diff --git a/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.sr.min.js b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.sr.min.js new file mode 100644 index 0000000000..4e46dbf64b --- /dev/null +++ b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.sr.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.sr={days:["Недеља","Понедељак","Уторак","Среда","Четвртак","Петак","Субота"],daysShort:["Нед","Пон","Уто","Сре","Чет","Пет","Суб"],daysMin:["Н","По","У","Ср","Ч","Пе","Су"],months:["Јануар","Фебруар","Март","Април","Мај","Јун","Јул","Август","Септембар","Октобар","Новембар","Децембар"],monthsShort:["Јан","Феб","Мар","Апр","Мај","Јун","Јул","Авг","Сеп","Окт","Нов","Дец"],today:"Данас",weekStart:1,format:"dd.mm.yyyy"}}(jQuery); \ No newline at end of file diff --git a/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.sv.min.js b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.sv.min.js new file mode 100644 index 0000000000..7ab6becb92 --- /dev/null +++ b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.sv.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.sv={days:["söndag","måndag","tisdag","onsdag","torsdag","fredag","lördag"],daysShort:["sön","mån","tis","ons","tor","fre","lör"],daysMin:["sö","må","ti","on","to","fr","lö"],months:["januari","februari","mars","april","maj","juni","juli","augusti","september","oktober","november","december"],monthsShort:["jan","feb","mar","apr","maj","jun","jul","aug","sep","okt","nov","dec"],today:"Idag",format:"yyyy-mm-dd",weekStart:1,clear:"Rensa"}}(jQuery); \ No newline at end of file diff --git a/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.sw.min.js b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.sw.min.js new file mode 100644 index 0000000000..454d3053cb --- /dev/null +++ b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.sw.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.sw={days:["Jumapili","Jumatatu","Jumanne","Jumatano","Alhamisi","Ijumaa","Jumamosi"],daysShort:["J2","J3","J4","J5","Alh","Ij","J1"],daysMin:["2","3","4","5","A","I","1"],months:["Januari","Februari","Machi","Aprili","Mei","Juni","Julai","Agosti","Septemba","Oktoba","Novemba","Desemba"],monthsShort:["Jan","Feb","Mac","Apr","Mei","Jun","Jul","Ago","Sep","Okt","Nov","Des"],today:"Leo"}}(jQuery); \ No newline at end of file diff --git a/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.ta.min.js b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.ta.min.js new file mode 100644 index 0000000000..e7909494aa --- /dev/null +++ b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.ta.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.ta={days:["ஞாயிறு","திங்கள்","செவ்வாய்","புதன்","வியாழன்","வெள்ளி","சனி"],daysShort:["ஞாயி","திங்","செவ்","புத","வியா","வெள்","சனி"],daysMin:["ஞா","தி","செ","பு","வி","வெ","ச"],months:["ஜனவரி","பிப்ரவரி","மார்ச்","ஏப்ரல்","மே","ஜூன்","ஜூலை","ஆகஸ்டு","செப்டம்பர்","அக்டோபர்","நவம்பர்","டிசம்பர்"],monthsShort:["ஜன","பிப்","மார்","ஏப்","மே","ஜூன்","ஜூலை","ஆக","செப்","அக்","நவ","டிச"],today:"இன்று",monthsTitle:"மாதங்கள்",clear:"நீக்கு",weekStart:1,format:"dd/mm/yyyy"}}(jQuery); \ No newline at end of file diff --git a/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.tg.min.js b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.tg.min.js new file mode 100644 index 0000000000..104b6dd95b --- /dev/null +++ b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.tg.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.tg={days:["Якшанбе","Душанбе","Сешанбе","Чоршанбе","Панҷшанбе","Ҷумъа","Шанбе"],daysShort:["Яшб","Дшб","Сшб","Чшб","Пшб","Ҷум","Шнб"],daysMin:["Яш","Дш","Сш","Чш","Пш","Ҷм","Шб"],months:["Январ","Феврал","Март","Апрел","Май","Июн","Июл","Август","Сентябр","Октябр","Ноябр","Декабр"],monthsShort:["Янв","Фев","Мар","Апр","Май","Июн","Июл","Авг","Сен","Окт","Ноя","Дек"],today:"Имрӯз",monthsTitle:"Моҳҳо",clear:"Тоза намудан",weekStart:1,format:"dd.mm.yyyy"}}(jQuery); \ No newline at end of file diff --git a/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.th.min.js b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.th.min.js new file mode 100644 index 0000000000..1e398ba8bc --- /dev/null +++ b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.th.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.th={days:["อาทิตย์","จันทร์","อังคาร","พุธ","พฤหัส","ศุกร์","เสาร์","อาทิตย์"],daysShort:["อา","จ","อ","พ","พฤ","ศ","ส","อา"],daysMin:["อา","จ","อ","พ","พฤ","ศ","ส","อา"],months:["มกราคม","กุมภาพันธ์","มีนาคม","เมษายน","พฤษภาคม","มิถุนายน","กรกฎาคม","สิงหาคม","กันยายน","ตุลาคม","พฤศจิกายน","ธันวาคม"],monthsShort:["ม.ค.","ก.พ.","มี.ค.","เม.ย.","พ.ค.","มิ.ย.","ก.ค.","ส.ค.","ก.ย.","ต.ค.","พ.ย.","ธ.ค."],today:"วันนี้"}}(jQuery); \ No newline at end of file diff --git a/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.tk.min.js b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.tk.min.js new file mode 100644 index 0000000000..716edef2ee --- /dev/null +++ b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.tk.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.tk={days:["Ýekşenbe","Duşenbe","Sişenbe","Çarşenbe","Penşenbe","Anna","Şenbe"],daysShort:["Ýek","Duş","Siş","Çar","Pen","Ann","Şen"],daysMin:["Ýe","Du","Si","Ça","Pe","An","Şe"],months:["Ýanwar","Fewral","Mart","Aprel","Maý","Iýun","Iýul","Awgust","Sentýabr","Oktýabr","Noýabr","Dekabr"],monthsShort:["Ýan","Few","Mar","Apr","Maý","Iýn","Iýl","Awg","Sen","Okt","Noý","Dek"],today:"Bu gün",monthsTitle:"Aýlar",clear:"Aýyr",weekStart:1,format:"dd.mm.yyyy"}}(jQuery); \ No newline at end of file diff --git a/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.tr.min.js b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.tr.min.js new file mode 100644 index 0000000000..7889b1135d --- /dev/null +++ b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.tr.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.tr={days:["Pazar","Pazartesi","Salı","Çarşamba","Perşembe","Cuma","Cumartesi"],daysShort:["Pz","Pzt","Sal","Çrş","Prş","Cu","Cts"],daysMin:["Pz","Pzt","Sa","Çr","Pr","Cu","Ct"],months:["Ocak","Şubat","Mart","Nisan","Mayıs","Haziran","Temmuz","Ağustos","Eylül","Ekim","Kasım","Aralık"],monthsShort:["Oca","Şub","Mar","Nis","May","Haz","Tem","Ağu","Eyl","Eki","Kas","Ara"],today:"Bugün",clear:"Temizle",weekStart:1,format:"dd.mm.yyyy"}}(jQuery); \ No newline at end of file diff --git a/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.uk.min.js b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.uk.min.js new file mode 100644 index 0000000000..41b02e6b28 --- /dev/null +++ b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.uk.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.uk={days:["Неділя","Понеділок","Вівторок","Середа","Четвер","П'ятниця","Субота"],daysShort:["Нед","Пнд","Втр","Срд","Чтв","Птн","Суб"],daysMin:["Нд","Пн","Вт","Ср","Чт","Пт","Сб"],months:["Cічень","Лютий","Березень","Квітень","Травень","Червень","Липень","Серпень","Вересень","Жовтень","Листопад","Грудень"],monthsShort:["Січ","Лют","Бер","Кві","Тра","Чер","Лип","Сер","Вер","Жов","Лис","Гру"],today:"Сьогодні",clear:"Очистити",format:"dd.mm.yyyy",weekStart:1}}(jQuery); \ No newline at end of file diff --git a/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.uz-cyrl.min.js b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.uz-cyrl.min.js new file mode 100644 index 0000000000..a0a8f213ce --- /dev/null +++ b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.uz-cyrl.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates["uz-cyrl"]={days:["Якшанба","Душанба","Сешанба","Чоршанба","Пайшанба","Жума","Шанба"],daysShort:["Якш","Ду","Се","Чор","Пай","Жу","Ша"],daysMin:["Як","Ду","Се","Чо","Па","Жу","Ша"],months:["Январь","Февраль","Март","Апрель","Май","Июнь","Июль","Август","Сентябрь","Октябрь","Ноябрь","Декабрь"],monthsShort:["Янв","Фев","Мар","Апр","Май","Июн","Июл","Авг","Сен","Окт","Ноя","Дек"],today:"Бугун",clear:"Ўчириш",format:"dd.mm.yyyy",weekStart:1,monthsTitle:"Ойлар"}}(jQuery); \ No newline at end of file diff --git a/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.uz-latn.min.js b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.uz-latn.min.js new file mode 100644 index 0000000000..2f58e343ef --- /dev/null +++ b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.uz-latn.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates["uz-latn"]={days:["Yakshanba","Dushanba","Seshanba","Chorshanba","Payshanba","Juma","Shanba"],daysShort:["Yak","Du","Se","Chor","Pay","Ju","Sha"],daysMin:["Ya","Du","Se","Cho","Pa","Ju","Sha"],months:["Yanvar","Fevral","Mart","Aprel","May","Iyun","Iyul","Avgust","Sentabr","Oktabr","Noyabr","Dekabr"],monthsShort:["Yan","Fev","Mar","Apr","May","Iyn","Iyl","Avg","Sen","Okt","Noy","Dek"],today:"Bugun",clear:"O'chirish",format:"dd.mm.yyyy",weekStart:1,monthsTitle:"Oylar"}}(jQuery); \ No newline at end of file diff --git a/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.vi.min.js b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.vi.min.js new file mode 100644 index 0000000000..3311d23f86 --- /dev/null +++ b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.vi.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.vi={days:["Chủ nhật","Thứ hai","Thứ ba","Thứ tư","Thứ năm","Thứ sáu","Thứ bảy"],daysShort:["CN","Thứ 2","Thứ 3","Thứ 4","Thứ 5","Thứ 6","Thứ 7"],daysMin:["CN","T2","T3","T4","T5","T6","T7"],months:["Tháng 1","Tháng 2","Tháng 3","Tháng 4","Tháng 5","Tháng 6","Tháng 7","Tháng 8","Tháng 9","Tháng 10","Tháng 11","Tháng 12"],monthsShort:["Th1","Th2","Th3","Th4","Th5","Th6","Th7","Th8","Th9","Th10","Th11","Th12"],today:"Hôm nay",clear:"Xóa",format:"dd/mm/yyyy"}}(jQuery); \ No newline at end of file diff --git a/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.zh-CN.min.js b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.zh-CN.min.js new file mode 100644 index 0000000000..8e6920b0c8 --- /dev/null +++ b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.zh-CN.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates["zh-CN"]={days:["星期日","星期一","星期二","星期三","星期四","星期五","星期六"],daysShort:["周日","周一","周二","周三","周四","周五","周六"],daysMin:["日","一","二","三","四","五","六"],months:["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"],monthsShort:["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"],today:"今天",monthsTitle:"选择月份",clear:"清除",format:"yyyy-mm-dd",titleFormat:"yyyy年mm月",weekStart:1}}(jQuery); \ No newline at end of file diff --git a/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.zh-TW.min.js b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.zh-TW.min.js new file mode 100644 index 0000000000..e309c1d7d6 --- /dev/null +++ b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.zh-TW.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates["zh-TW"]={days:["星期日","星期一","星期二","星期三","星期四","星期五","星期六"],daysShort:["週日","週一","週二","週三","週四","週五","週六"],daysMin:["日","一","二","三","四","五","六"],months:["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"],monthsShort:["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"],today:"今天",format:"yyyy年mm月dd日",weekStart:1,clear:"清除"}}(jQuery); \ No newline at end of file diff --git a/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap/css/bootstrap-rtl.css b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap/css/bootstrap-rtl.css new file mode 100644 index 0000000000..35ddb6a220 --- /dev/null +++ b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap/css/bootstrap-rtl.css @@ -0,0 +1,11392 @@ +/*! + * Bootstrap v4.4.1 (https://getbootstrap.com/) + * Copyright 2011-2019 The Bootstrap Authors + * Copyright 2011-2019 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + */ +:root { + --blue: #007bff; + --indigo: #6610f2; + --purple: #6f42c1; + --pink: #e83e8c; + --red: #dc3545; + --orange: #fd7e14; + --yellow: #ffc107; + --green: #28a745; + --teal: #20c997; + --cyan: #17a2b8; + --white: #fff; + --gray: #6c757d; + --gray-dark: #343a40; + --primary: #007bff; + --secondary: #6c757d; + --success: #28a745; + --info: #17a2b8; + --warning: #ffc107; + --danger: #dc3545; + --light: #f8f9fa; + --dark: #343a40; + --breakpoint-xs: 0; + --breakpoint-sm: 576px; + --breakpoint-md: 768px; + --breakpoint-lg: 992px; + --breakpoint-xl: 1200px; + --font-family-sans-serif: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; + --font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; +} + +*, +*::before, +*::after { + box-sizing: border-box; +} + +html { + font-family: sans-serif; + line-height: 1.15; + -webkit-text-size-adjust: 100%; + -webkit-tap-highlight-color: rgba(0, 0, 0, 0); +} + +article, aside, figcaption, figure, footer, header, hgroup, main, nav, section { + display: block; +} + +body { + margin: 0; + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; + font-size: 1rem; + font-weight: 400; + line-height: 1.5; + color: #212529; + text-align: left; + background-color: #fff; +} + +[tabindex="-1"]:focus:not(:focus-visible) { + outline: 0 !important; +} + +hr { + box-sizing: content-box; + height: 0; + overflow: visible; +} + +h1, h2, h3, h4, h5, h6 { + margin-top: 0; + margin-bottom: 0.5rem; +} + +p { + margin-top: 0; + margin-bottom: 1rem; +} + +abbr[title], +abbr[data-original-title] { + text-decoration: underline; + -webkit-text-decoration: underline dotted; + text-decoration: underline dotted; + cursor: help; + border-bottom: 0; + -webkit-text-decoration-skip-ink: none; + text-decoration-skip-ink: none; +} + +address { + margin-bottom: 1rem; + font-style: normal; + line-height: inherit; +} + +ol, +ul, +dl { + margin-top: 0; + margin-bottom: 1rem; +} + +ol ol, +ul ul, +ol ul, +ul ol { + margin-bottom: 0; +} + +dt { + font-weight: 700; +} + +dd { + margin-bottom: .5rem; + margin-left: 0; +} + +blockquote { + margin: 0 0 1rem; +} + +b, +strong { + font-weight: bolder; +} + +small { + font-size: 80%; +} + +sub, +sup { + position: relative; + font-size: 75%; + line-height: 0; + vertical-align: baseline; +} + +sub { + bottom: -.25em; +} + +sup { + top: -.5em; +} + +a { + color: #007bff; + text-decoration: none; + background-color: transparent; +} + +a:hover { + color: #0056b3; + text-decoration: underline; +} + +a:not([href]) { + color: inherit; + text-decoration: none; +} + +a:not([href]):hover { + color: inherit; + text-decoration: none; +} + +pre, +code, +kbd, +samp { + font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; + font-size: 1em; +} + +pre { + margin-top: 0; + margin-bottom: 1rem; + overflow: auto; +} + +figure { + margin: 0 0 1rem; +} + +img { + vertical-align: middle; + border-style: none; +} + +svg { + overflow: hidden; + vertical-align: middle; +} + +table { + border-collapse: collapse; +} + +caption { + padding-top: 0.75rem; + padding-bottom: 0.75rem; + color: #6c757d; + text-align: left; + caption-side: bottom; +} + +th { + text-align: inherit; +} + +label { + display: inline-block; + margin-bottom: 0.5rem; +} + +button { + border-radius: 0; +} + +button:focus { + outline: 1px dotted; + outline: 5px auto -webkit-focus-ring-color; +} + +input, +button, +select, +optgroup, +textarea { + margin: 0; + font-family: inherit; + font-size: inherit; + line-height: inherit; +} + +button, +input { + overflow: visible; +} + +button, +select { + text-transform: none; +} + +select { + word-wrap: normal; +} + +button, +[type="button"], +[type="reset"], +[type="submit"] { + -webkit-appearance: button; +} + +button:not(:disabled), +[type="button"]:not(:disabled), +[type="reset"]:not(:disabled), +[type="submit"]:not(:disabled) { + cursor: pointer; +} + +button::-moz-focus-inner, +[type="button"]::-moz-focus-inner, +[type="reset"]::-moz-focus-inner, +[type="submit"]::-moz-focus-inner { + padding: 0; + border-style: none; +} + +input[type="radio"], +input[type="checkbox"] { + box-sizing: border-box; + padding: 0; +} + +input[type="date"], +input[type="time"], +input[type="datetime-local"], +input[type="month"] { + -webkit-appearance: listbox; +} + +textarea { + overflow: auto; + resize: vertical; +} + +fieldset { + min-width: 0; + padding: 0; + margin: 0; + border: 0; +} + +legend { + display: block; + width: 100%; + max-width: 100%; + padding: 0; + margin-bottom: .5rem; + font-size: 1.5rem; + line-height: inherit; + color: inherit; + white-space: normal; +} + +progress { + vertical-align: baseline; +} + +[type="number"]::-webkit-inner-spin-button, +[type="number"]::-webkit-outer-spin-button { + height: auto; +} + +[type="search"] { + outline-offset: -2px; + -webkit-appearance: none; +} + +[type="search"]::-webkit-search-decoration { + -webkit-appearance: none; +} + +::-webkit-file-upload-button { + font: inherit; + -webkit-appearance: button; +} + +output { + display: inline-block; +} + +summary { + display: list-item; + cursor: pointer; +} + +template { + display: none; +} + +[hidden] { + display: none !important; +} + +h1, h2, h3, h4, h5, h6, +.h1, .h2, .h3, .h4, .h5, .h6 { + margin-bottom: 0.5rem; + font-weight: 500; + line-height: 1.2; +} + +h1, .h1 { + font-size: 2.5rem; +} + +h2, .h2 { + font-size: 2rem; +} + +h3, .h3 { + font-size: 1.75rem; +} + +h4, .h4 { + font-size: 1.5rem; +} + +h5, .h5 { + font-size: 1.25rem; +} + +h6, .h6 { + font-size: 1rem; +} + +.lead { + font-size: 1.25rem; + font-weight: 300; +} + +.display-1 { + font-size: 6rem; + font-weight: 300; + line-height: 1.2; +} + +.display-2 { + font-size: 5.5rem; + font-weight: 300; + line-height: 1.2; +} + +.display-3 { + font-size: 4.5rem; + font-weight: 300; + line-height: 1.2; +} + +.display-4 { + font-size: 3.5rem; + font-weight: 300; + line-height: 1.2; +} + +hr { + margin-top: 1rem; + margin-bottom: 1rem; + border: 0; + border-top: 1px solid rgba(0, 0, 0, 0.1); +} + +small, +.small { + font-size: 80%; + font-weight: 400; +} + +mark, +.mark { + padding: 0.2em; + background-color: #fcf8e3; +} + +.list-unstyled { + padding-left: 0; + list-style: none; +} + +.list-inline { + padding-left: 0; + list-style: none; +} + +.list-inline-item { + display: inline-block; +} + +.list-inline-item:not(:last-child) { + margin-right: 0.5rem; +} + +.initialism { + font-size: 90%; + text-transform: uppercase; +} + +.blockquote { + margin-bottom: 1rem; + font-size: 1.25rem; +} + +.blockquote-footer { + display: block; + font-size: 80%; + color: #6c757d; +} + +.blockquote-footer::before { + content: "\2014\00A0"; +} + +.img-fluid { + max-width: 100%; + height: auto; +} + +.img-thumbnail { + padding: 0.25rem; + background-color: #fff; + border: 1px solid #dee2e6; + border-radius: 0.25rem; + max-width: 100%; + height: auto; +} + +.figure { + display: inline-block; +} + +.figure-img { + margin-bottom: 0.5rem; + line-height: 1; +} + +.figure-caption { + font-size: 90%; + color: #6c757d; +} + +code { + font-size: 87.5%; + color: #e83e8c; + word-wrap: break-word; +} + +a > code { + color: inherit; +} + +kbd { + padding: 0.2rem 0.4rem; + font-size: 87.5%; + color: #fff; + background-color: #212529; + border-radius: 0.2rem; +} + +kbd kbd { + padding: 0; + font-size: 100%; + font-weight: 700; +} + +pre { + display: block; + font-size: 87.5%; + color: #212529; +} + +pre code { + font-size: inherit; + color: inherit; + word-break: normal; +} + +.pre-scrollable { + max-height: 340px; + overflow-y: scroll; +} + +.container { + width: 100%; + padding-right: 15px; + padding-left: 15px; + margin-right: auto; + margin-left: auto; +} + +@media (min-width: 576px) { + .container { + max-width: 540px; + } +} + +@media (min-width: 768px) { + .container { + max-width: 720px; + } +} + +@media (min-width: 992px) { + .container { + max-width: 960px; + } +} + +@media (min-width: 1200px) { + .container { + max-width: 1140px; + } +} + +.container-fluid, .container-sm, .container-md, .container-lg, .container-xl { + width: 100%; + padding-right: 15px; + padding-left: 15px; + margin-right: auto; + margin-left: auto; +} + +@media (min-width: 576px) { + .container, .container-sm { + max-width: 540px; + } +} + +@media (min-width: 768px) { + .container, .container-sm, .container-md { + max-width: 720px; + } +} + +@media (min-width: 992px) { + .container, .container-sm, .container-md, .container-lg { + max-width: 960px; + } +} + +@media (min-width: 1200px) { + .container, .container-sm, .container-md, .container-lg, .container-xl { + max-width: 1140px; + } +} + +.row { + display: flex; + flex-wrap: wrap; + margin-right: -15px; + margin-left: -15px; +} + +.no-gutters { + margin-right: 0; + margin-left: 0; +} + +.no-gutters > .col, +.no-gutters > [class*="col-"] { + padding-right: 0; + padding-left: 0; +} + +.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col, +.col-auto, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm, +.col-sm-auto, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md, +.col-md-auto, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg, +.col-lg-auto, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl, +.col-xl-auto { + position: relative; + width: 100%; + padding-right: 15px; + padding-left: 15px; +} + +.col { + flex-basis: 0; + flex-grow: 1; + max-width: 100%; +} + +.row-cols-1 > * { + flex: 0 0 100%; + max-width: 100%; +} + +.row-cols-2 > * { + flex: 0 0 50%; + max-width: 50%; +} + +.row-cols-3 > * { + flex: 0 0 33.333333%; + max-width: 33.333333%; +} + +.row-cols-4 > * { + flex: 0 0 25%; + max-width: 25%; +} + +.row-cols-5 > * { + flex: 0 0 20%; + max-width: 20%; +} + +.row-cols-6 > * { + flex: 0 0 16.666667%; + max-width: 16.666667%; +} + +.col-auto { + flex: 0 0 auto; + width: auto; + max-width: 100%; +} + +.col-1 { + flex: 0 0 8.333333%; + max-width: 8.333333%; +} + +.col-2 { + flex: 0 0 16.666667%; + max-width: 16.666667%; +} + +.col-3 { + flex: 0 0 25%; + max-width: 25%; +} + +.col-4 { + flex: 0 0 33.333333%; + max-width: 33.333333%; +} + +.col-5 { + flex: 0 0 41.666667%; + max-width: 41.666667%; +} + +.col-6 { + flex: 0 0 50%; + max-width: 50%; +} + +.col-7 { + flex: 0 0 58.333333%; + max-width: 58.333333%; +} + +.col-8 { + flex: 0 0 66.666667%; + max-width: 66.666667%; +} + +.col-9 { + flex: 0 0 75%; + max-width: 75%; +} + +.col-10 { + flex: 0 0 83.333333%; + max-width: 83.333333%; +} + +.col-11 { + flex: 0 0 91.666667%; + max-width: 91.666667%; +} + +.col-12 { + flex: 0 0 100%; + max-width: 100%; +} + +.order-first { + order: -1; +} + +.order-last { + order: 13; +} + +.order-0 { + order: 0; +} + +.order-1 { + order: 1; +} + +.order-2 { + order: 2; +} + +.order-3 { + order: 3; +} + +.order-4 { + order: 4; +} + +.order-5 { + order: 5; +} + +.order-6 { + order: 6; +} + +.order-7 { + order: 7; +} + +.order-8 { + order: 8; +} + +.order-9 { + order: 9; +} + +.order-10 { + order: 10; +} + +.order-11 { + order: 11; +} + +.order-12 { + order: 12; +} + +.offset-1 { + margin-right: 8.333333%; +} + +.offset-2 { + margin-right: 16.666667%; +} + +.offset-3 { + margin-right: 25%; +} + +.offset-4 { + margin-right: 33.333333%; +} + +.offset-5 { + margin-right: 41.666667%; +} + +.offset-6 { + margin-right: 50%; +} + +.offset-7 { + margin-right: 58.333333%; +} + +.offset-8 { + margin-right: 66.666667%; +} + +.offset-9 { + margin-right: 75%; +} + +.offset-10 { + margin-right: 83.333333%; +} + +.offset-11 { + margin-right: 91.666667%; +} + +@media (min-width: 576px) { + .col-sm { + flex-basis: 0; + flex-grow: 1; + max-width: 100%; + } + .row-cols-sm-1 > * { + flex: 0 0 100%; + max-width: 100%; + } + .row-cols-sm-2 > * { + flex: 0 0 50%; + max-width: 50%; + } + .row-cols-sm-3 > * { + flex: 0 0 33.333333%; + max-width: 33.333333%; + } + .row-cols-sm-4 > * { + flex: 0 0 25%; + max-width: 25%; + } + .row-cols-sm-5 > * { + flex: 0 0 20%; + max-width: 20%; + } + .row-cols-sm-6 > * { + flex: 0 0 16.666667%; + max-width: 16.666667%; + } + .col-sm-auto { + flex: 0 0 auto; + width: auto; + max-width: 100%; + } + .col-sm-1 { + flex: 0 0 8.333333%; + max-width: 8.333333%; + } + .col-sm-2 { + flex: 0 0 16.666667%; + max-width: 16.666667%; + } + .col-sm-3 { + flex: 0 0 25%; + max-width: 25%; + } + .col-sm-4 { + flex: 0 0 33.333333%; + max-width: 33.333333%; + } + .col-sm-5 { + flex: 0 0 41.666667%; + max-width: 41.666667%; + } + .col-sm-6 { + flex: 0 0 50%; + max-width: 50%; + } + .col-sm-7 { + flex: 0 0 58.333333%; + max-width: 58.333333%; + } + .col-sm-8 { + flex: 0 0 66.666667%; + max-width: 66.666667%; + } + .col-sm-9 { + flex: 0 0 75%; + max-width: 75%; + } + .col-sm-10 { + flex: 0 0 83.333333%; + max-width: 83.333333%; + } + .col-sm-11 { + flex: 0 0 91.666667%; + max-width: 91.666667%; + } + .col-sm-12 { + flex: 0 0 100%; + max-width: 100%; + } + .order-sm-first { + order: -1; + } + .order-sm-last { + order: 13; + } + .order-sm-0 { + order: 0; + } + .order-sm-1 { + order: 1; + } + .order-sm-2 { + order: 2; + } + .order-sm-3 { + order: 3; + } + .order-sm-4 { + order: 4; + } + .order-sm-5 { + order: 5; + } + .order-sm-6 { + order: 6; + } + .order-sm-7 { + order: 7; + } + .order-sm-8 { + order: 8; + } + .order-sm-9 { + order: 9; + } + .order-sm-10 { + order: 10; + } + .order-sm-11 { + order: 11; + } + .order-sm-12 { + order: 12; + } + .offset-sm-0 { + margin-right: 0; + } + .offset-sm-1 { + margin-right: 8.333333%; + } + .offset-sm-2 { + margin-right: 16.666667%; + } + .offset-sm-3 { + margin-right: 25%; + } + .offset-sm-4 { + margin-right: 33.333333%; + } + .offset-sm-5 { + margin-right: 41.666667%; + } + .offset-sm-6 { + margin-right: 50%; + } + .offset-sm-7 { + margin-right: 58.333333%; + } + .offset-sm-8 { + margin-right: 66.666667%; + } + .offset-sm-9 { + margin-right: 75%; + } + .offset-sm-10 { + margin-right: 83.333333%; + } + .offset-sm-11 { + margin-right: 91.666667%; + } +} + +@media (min-width: 768px) { + .col-md { + flex-basis: 0; + flex-grow: 1; + max-width: 100%; + } + .row-cols-md-1 > * { + flex: 0 0 100%; + max-width: 100%; + } + .row-cols-md-2 > * { + flex: 0 0 50%; + max-width: 50%; + } + .row-cols-md-3 > * { + flex: 0 0 33.333333%; + max-width: 33.333333%; + } + .row-cols-md-4 > * { + flex: 0 0 25%; + max-width: 25%; + } + .row-cols-md-5 > * { + flex: 0 0 20%; + max-width: 20%; + } + .row-cols-md-6 > * { + flex: 0 0 16.666667%; + max-width: 16.666667%; + } + .col-md-auto { + flex: 0 0 auto; + width: auto; + max-width: 100%; + } + .col-md-1 { + flex: 0 0 8.333333%; + max-width: 8.333333%; + } + .col-md-2 { + flex: 0 0 16.666667%; + max-width: 16.666667%; + } + .col-md-3 { + flex: 0 0 25%; + max-width: 25%; + } + .col-md-4 { + flex: 0 0 33.333333%; + max-width: 33.333333%; + } + .col-md-5 { + flex: 0 0 41.666667%; + max-width: 41.666667%; + } + .col-md-6 { + flex: 0 0 50%; + max-width: 50%; + } + .col-md-7 { + flex: 0 0 58.333333%; + max-width: 58.333333%; + } + .col-md-8 { + flex: 0 0 66.666667%; + max-width: 66.666667%; + } + .col-md-9 { + flex: 0 0 75%; + max-width: 75%; + } + .col-md-10 { + flex: 0 0 83.333333%; + max-width: 83.333333%; + } + .col-md-11 { + flex: 0 0 91.666667%; + max-width: 91.666667%; + } + .col-md-12 { + flex: 0 0 100%; + max-width: 100%; + } + .order-md-first { + order: -1; + } + .order-md-last { + order: 13; + } + .order-md-0 { + order: 0; + } + .order-md-1 { + order: 1; + } + .order-md-2 { + order: 2; + } + .order-md-3 { + order: 3; + } + .order-md-4 { + order: 4; + } + .order-md-5 { + order: 5; + } + .order-md-6 { + order: 6; + } + .order-md-7 { + order: 7; + } + .order-md-8 { + order: 8; + } + .order-md-9 { + order: 9; + } + .order-md-10 { + order: 10; + } + .order-md-11 { + order: 11; + } + .order-md-12 { + order: 12; + } + .offset-md-0 { + margin-right: 0; + } + .offset-md-1 { + margin-right: 8.333333%; + } + .offset-md-2 { + margin-right: 16.666667%; + } + .offset-md-3 { + margin-right: 25%; + } + .offset-md-4 { + margin-right: 33.333333%; + } + .offset-md-5 { + margin-right: 41.666667%; + } + .offset-md-6 { + margin-right: 50%; + } + .offset-md-7 { + margin-right: 58.333333%; + } + .offset-md-8 { + margin-right: 66.666667%; + } + .offset-md-9 { + margin-right: 75%; + } + .offset-md-10 { + margin-right: 83.333333%; + } + .offset-md-11 { + margin-right: 91.666667%; + } +} + +@media (min-width: 992px) { + .col-lg { + flex-basis: 0; + flex-grow: 1; + max-width: 100%; + } + .row-cols-lg-1 > * { + flex: 0 0 100%; + max-width: 100%; + } + .row-cols-lg-2 > * { + flex: 0 0 50%; + max-width: 50%; + } + .row-cols-lg-3 > * { + flex: 0 0 33.333333%; + max-width: 33.333333%; + } + .row-cols-lg-4 > * { + flex: 0 0 25%; + max-width: 25%; + } + .row-cols-lg-5 > * { + flex: 0 0 20%; + max-width: 20%; + } + .row-cols-lg-6 > * { + flex: 0 0 16.666667%; + max-width: 16.666667%; + } + .col-lg-auto { + flex: 0 0 auto; + width: auto; + max-width: 100%; + } + .col-lg-1 { + flex: 0 0 8.333333%; + max-width: 8.333333%; + } + .col-lg-2 { + flex: 0 0 16.666667%; + max-width: 16.666667%; + } + .col-lg-3 { + flex: 0 0 25%; + max-width: 25%; + } + .col-lg-4 { + flex: 0 0 33.333333%; + max-width: 33.333333%; + } + .col-lg-5 { + flex: 0 0 41.666667%; + max-width: 41.666667%; + } + .col-lg-6 { + flex: 0 0 50%; + max-width: 50%; + } + .col-lg-7 { + flex: 0 0 58.333333%; + max-width: 58.333333%; + } + .col-lg-8 { + flex: 0 0 66.666667%; + max-width: 66.666667%; + } + .col-lg-9 { + flex: 0 0 75%; + max-width: 75%; + } + .col-lg-10 { + flex: 0 0 83.333333%; + max-width: 83.333333%; + } + .col-lg-11 { + flex: 0 0 91.666667%; + max-width: 91.666667%; + } + .col-lg-12 { + flex: 0 0 100%; + max-width: 100%; + } + .order-lg-first { + order: -1; + } + .order-lg-last { + order: 13; + } + .order-lg-0 { + order: 0; + } + .order-lg-1 { + order: 1; + } + .order-lg-2 { + order: 2; + } + .order-lg-3 { + order: 3; + } + .order-lg-4 { + order: 4; + } + .order-lg-5 { + order: 5; + } + .order-lg-6 { + order: 6; + } + .order-lg-7 { + order: 7; + } + .order-lg-8 { + order: 8; + } + .order-lg-9 { + order: 9; + } + .order-lg-10 { + order: 10; + } + .order-lg-11 { + order: 11; + } + .order-lg-12 { + order: 12; + } + .offset-lg-0 { + margin-right: 0; + } + .offset-lg-1 { + margin-right: 8.333333%; + } + .offset-lg-2 { + margin-right: 16.666667%; + } + .offset-lg-3 { + margin-right: 25%; + } + .offset-lg-4 { + margin-right: 33.333333%; + } + .offset-lg-5 { + margin-right: 41.666667%; + } + .offset-lg-6 { + margin-right: 50%; + } + .offset-lg-7 { + margin-right: 58.333333%; + } + .offset-lg-8 { + margin-right: 66.666667%; + } + .offset-lg-9 { + margin-right: 75%; + } + .offset-lg-10 { + margin-right: 83.333333%; + } + .offset-lg-11 { + margin-right: 91.666667%; + } +} + +@media (min-width: 1200px) { + .col-xl { + flex-basis: 0; + flex-grow: 1; + max-width: 100%; + } + .row-cols-xl-1 > * { + flex: 0 0 100%; + max-width: 100%; + } + .row-cols-xl-2 > * { + flex: 0 0 50%; + max-width: 50%; + } + .row-cols-xl-3 > * { + flex: 0 0 33.333333%; + max-width: 33.333333%; + } + .row-cols-xl-4 > * { + flex: 0 0 25%; + max-width: 25%; + } + .row-cols-xl-5 > * { + flex: 0 0 20%; + max-width: 20%; + } + .row-cols-xl-6 > * { + flex: 0 0 16.666667%; + max-width: 16.666667%; + } + .col-xl-auto { + flex: 0 0 auto; + width: auto; + max-width: 100%; + } + .col-xl-1 { + flex: 0 0 8.333333%; + max-width: 8.333333%; + } + .col-xl-2 { + flex: 0 0 16.666667%; + max-width: 16.666667%; + } + .col-xl-3 { + flex: 0 0 25%; + max-width: 25%; + } + .col-xl-4 { + flex: 0 0 33.333333%; + max-width: 33.333333%; + } + .col-xl-5 { + flex: 0 0 41.666667%; + max-width: 41.666667%; + } + .col-xl-6 { + flex: 0 0 50%; + max-width: 50%; + } + .col-xl-7 { + flex: 0 0 58.333333%; + max-width: 58.333333%; + } + .col-xl-8 { + flex: 0 0 66.666667%; + max-width: 66.666667%; + } + .col-xl-9 { + flex: 0 0 75%; + max-width: 75%; + } + .col-xl-10 { + flex: 0 0 83.333333%; + max-width: 83.333333%; + } + .col-xl-11 { + flex: 0 0 91.666667%; + max-width: 91.666667%; + } + .col-xl-12 { + flex: 0 0 100%; + max-width: 100%; + } + .order-xl-first { + order: -1; + } + .order-xl-last { + order: 13; + } + .order-xl-0 { + order: 0; + } + .order-xl-1 { + order: 1; + } + .order-xl-2 { + order: 2; + } + .order-xl-3 { + order: 3; + } + .order-xl-4 { + order: 4; + } + .order-xl-5 { + order: 5; + } + .order-xl-6 { + order: 6; + } + .order-xl-7 { + order: 7; + } + .order-xl-8 { + order: 8; + } + .order-xl-9 { + order: 9; + } + .order-xl-10 { + order: 10; + } + .order-xl-11 { + order: 11; + } + .order-xl-12 { + order: 12; + } + .offset-xl-0 { + margin-right: 0; + } + .offset-xl-1 { + margin-right: 8.333333%; + } + .offset-xl-2 { + margin-right: 16.666667%; + } + .offset-xl-3 { + margin-right: 25%; + } + .offset-xl-4 { + margin-right: 33.333333%; + } + .offset-xl-5 { + margin-right: 41.666667%; + } + .offset-xl-6 { + margin-right: 50%; + } + .offset-xl-7 { + margin-right: 58.333333%; + } + .offset-xl-8 { + margin-right: 66.666667%; + } + .offset-xl-9 { + margin-right: 75%; + } + .offset-xl-10 { + margin-right: 83.333333%; + } + .offset-xl-11 { + margin-right: 91.666667%; + } +} + +.table { + width: 100%; + margin-bottom: 1rem; + color: #212529; +} + +.table th, +.table td { + padding: 0.75rem; + vertical-align: top; + border-top: 1px solid #dee2e6; +} + +.table thead th { + vertical-align: bottom; + border-bottom: 2px solid #dee2e6; +} + +.table tbody + tbody { + border-top: 2px solid #dee2e6; +} + +.table-sm th, +.table-sm td { + padding: 0.3rem; +} + +.table-bordered { + border: 1px solid #dee2e6; +} + +.table-bordered th, +.table-bordered td { + border: 1px solid #dee2e6; +} + +.table-bordered thead th, +.table-bordered thead td { + border-bottom-width: 2px; +} + +.table-borderless th, +.table-borderless td, +.table-borderless thead th, +.table-borderless tbody + tbody { + border: 0; +} + +.table-striped tbody tr:nth-of-type(odd) { + background-color: rgba(0, 0, 0, 0.05); +} + +.table-hover tbody tr:hover { + color: #212529; + background-color: rgba(0, 0, 0, 0.075); +} + +.table-primary, +.table-primary > th, +.table-primary > td { + background-color: #b8daff; +} + +.table-primary th, +.table-primary td, +.table-primary thead th, +.table-primary tbody + tbody { + border-color: #7abaff; +} + +.table-hover .table-primary:hover { + background-color: #9fcdff; +} + +.table-hover .table-primary:hover > td, +.table-hover .table-primary:hover > th { + background-color: #9fcdff; +} + +.table-secondary, +.table-secondary > th, +.table-secondary > td { + background-color: #d6d8db; +} + +.table-secondary th, +.table-secondary td, +.table-secondary thead th, +.table-secondary tbody + tbody { + border-color: #b3b7bb; +} + +.table-hover .table-secondary:hover { + background-color: #c8cbcf; +} + +.table-hover .table-secondary:hover > td, +.table-hover .table-secondary:hover > th { + background-color: #c8cbcf; +} + +.table-success, +.table-success > th, +.table-success > td { + background-color: #c3e6cb; +} + +.table-success th, +.table-success td, +.table-success thead th, +.table-success tbody + tbody { + border-color: #8fd19e; +} + +.table-hover .table-success:hover { + background-color: #b1dfbb; +} + +.table-hover .table-success:hover > td, +.table-hover .table-success:hover > th { + background-color: #b1dfbb; +} + +.table-info, +.table-info > th, +.table-info > td { + background-color: #bee5eb; +} + +.table-info th, +.table-info td, +.table-info thead th, +.table-info tbody + tbody { + border-color: #86cfda; +} + +.table-hover .table-info:hover { + background-color: #abdde5; +} + +.table-hover .table-info:hover > td, +.table-hover .table-info:hover > th { + background-color: #abdde5; +} + +.table-warning, +.table-warning > th, +.table-warning > td { + background-color: #ffeeba; +} + +.table-warning th, +.table-warning td, +.table-warning thead th, +.table-warning tbody + tbody { + border-color: #ffdf7e; +} + +.table-hover .table-warning:hover { + background-color: #ffe8a1; +} + +.table-hover .table-warning:hover > td, +.table-hover .table-warning:hover > th { + background-color: #ffe8a1; +} + +.table-danger, +.table-danger > th, +.table-danger > td { + background-color: #f5c6cb; +} + +.table-danger th, +.table-danger td, +.table-danger thead th, +.table-danger tbody + tbody { + border-color: #ed969e; +} + +.table-hover .table-danger:hover { + background-color: #f1b0b7; +} + +.table-hover .table-danger:hover > td, +.table-hover .table-danger:hover > th { + background-color: #f1b0b7; +} + +.table-light, +.table-light > th, +.table-light > td { + background-color: #fdfdfe; +} + +.table-light th, +.table-light td, +.table-light thead th, +.table-light tbody + tbody { + border-color: #fbfcfc; +} + +.table-hover .table-light:hover { + background-color: #ececf6; +} + +.table-hover .table-light:hover > td, +.table-hover .table-light:hover > th { + background-color: #ececf6; +} + +.table-dark, +.table-dark > th, +.table-dark > td { + background-color: #c6c8ca; +} + +.table-dark th, +.table-dark td, +.table-dark thead th, +.table-dark tbody + tbody { + border-color: #95999c; +} + +.table-hover .table-dark:hover { + background-color: #b9bbbe; +} + +.table-hover .table-dark:hover > td, +.table-hover .table-dark:hover > th { + background-color: #b9bbbe; +} + +.table-active, +.table-active > th, +.table-active > td { + background-color: rgba(0, 0, 0, 0.075); +} + +.table-hover .table-active:hover { + background-color: rgba(0, 0, 0, 0.075); +} + +.table-hover .table-active:hover > td, +.table-hover .table-active:hover > th { + background-color: rgba(0, 0, 0, 0.075); +} + +.table .thead-dark th { + color: #fff; + background-color: #343a40; + border-color: #454d55; +} + +.table .thead-light th { + color: #495057; + background-color: #e9ecef; + border-color: #dee2e6; +} + +.table-dark { + color: #fff; + background-color: #343a40; +} + +.table-dark th, +.table-dark td, +.table-dark thead th { + border-color: #454d55; +} + +.table-dark.table-bordered { + border: 0; +} + +.table-dark.table-striped tbody tr:nth-of-type(odd) { + background-color: rgba(255, 255, 255, 0.05); +} + +.table-dark.table-hover tbody tr:hover { + color: #fff; + background-color: rgba(255, 255, 255, 0.075); +} + +@media (max-width: 575.98px) { + .table-responsive-sm { + display: block; + width: 100%; + overflow-x: auto; + -webkit-overflow-scrolling: touch; + } + .table-responsive-sm > .table-bordered { + border: 0; + } +} + +@media (max-width: 767.98px) { + .table-responsive-md { + display: block; + width: 100%; + overflow-x: auto; + -webkit-overflow-scrolling: touch; + } + .table-responsive-md > .table-bordered { + border: 0; + } +} + +@media (max-width: 991.98px) { + .table-responsive-lg { + display: block; + width: 100%; + overflow-x: auto; + -webkit-overflow-scrolling: touch; + } + .table-responsive-lg > .table-bordered { + border: 0; + } +} + +@media (max-width: 1199.98px) { + .table-responsive-xl { + display: block; + width: 100%; + overflow-x: auto; + -webkit-overflow-scrolling: touch; + } + .table-responsive-xl > .table-bordered { + border: 0; + } +} + +.table-responsive { + display: block; + width: 100%; + overflow-x: auto; + -webkit-overflow-scrolling: touch; +} + +.table-responsive > .table-bordered { + border: 0; +} + +.form-control { + display: block; + width: 100%; + height: calc(1.5em + 0.75rem + 2px); + padding: 0.375rem 0.75rem; + font-size: 1rem; + font-weight: 400; + line-height: 1.5; + color: #495057; + background-color: #fff; + background-clip: padding-box; + border: 1px solid #ced4da; + border-radius: 0.25rem; + transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; +} + +@media (prefers-reduced-motion: reduce) { + .form-control { + transition: none; + } +} + +.form-control::-ms-expand { + background-color: transparent; + border: 0; +} + +.form-control:-moz-focusring { + color: transparent; + text-shadow: 0 0 0 #495057; +} + +.form-control:focus { + color: #495057; + background-color: #fff; + border-color: #80bdff; + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); +} + +.form-control::-webkit-input-placeholder { + color: #6c757d; + opacity: 1; +} + +.form-control::-moz-placeholder { + color: #6c757d; + opacity: 1; +} + +.form-control:-ms-input-placeholder { + color: #6c757d; + opacity: 1; +} + +.form-control::-ms-input-placeholder { + color: #6c757d; + opacity: 1; +} + +.form-control::placeholder { + color: #6c757d; + opacity: 1; +} + +.form-control:disabled, .form-control[readonly] { + background-color: #e9ecef; + opacity: 1; +} + +select.form-control:focus::-ms-value { + color: #495057; + background-color: #fff; +} + +.form-control-file, +.form-control-range { + display: block; + width: 100%; +} + +.col-form-label { + padding-top: calc(0.375rem + 1px); + padding-bottom: calc(0.375rem + 1px); + margin-bottom: 0; + font-size: inherit; + line-height: 1.5; +} + +.col-form-label-lg { + padding-top: calc(0.5rem + 1px); + padding-bottom: calc(0.5rem + 1px); + font-size: 1.25rem; + line-height: 1.5; +} + +.col-form-label-sm { + padding-top: calc(0.25rem + 1px); + padding-bottom: calc(0.25rem + 1px); + font-size: 0.875rem; + line-height: 1.5; +} + +.form-control-plaintext { + display: block; + width: 100%; + padding: 0.375rem 0; + margin-bottom: 0; + font-size: 1rem; + line-height: 1.5; + color: #212529; + background-color: transparent; + border: solid transparent; + border-width: 1px 0; +} + +.form-control-plaintext.form-control-sm, .form-control-plaintext.form-control-lg { + padding-right: 0; + padding-left: 0; +} + +.form-control-sm { + height: calc(1.5em + 0.5rem + 2px); + padding: 0.25rem 0.5rem; + font-size: 0.875rem; + line-height: 1.5; + border-radius: 0.2rem; +} + +.form-control-lg { + height: calc(1.5em + 1rem + 2px); + padding: 0.5rem 1rem; + font-size: 1.25rem; + line-height: 1.5; + border-radius: 0.3rem; +} + +select.form-control[size], select.form-control[multiple] { + height: auto; +} + +textarea.form-control { + height: auto; +} + +.form-group { + margin-bottom: 1rem; +} + +.form-text { + display: block; + margin-top: 0.25rem; +} + +.form-row { + display: flex; + flex-wrap: wrap; + margin-right: -5px; + margin-left: -5px; +} + +.form-row > .col, +.form-row > [class*="col-"] { + padding-right: 5px; + padding-left: 5px; +} + +.form-check { + position: relative; + display: block; + padding-left: 1.25rem; +} + +.form-check-input { + position: absolute; + margin-top: 0.3rem; + margin-left: -1.25rem; +} + +.form-check-input[disabled] ~ .form-check-label, +.form-check-input:disabled ~ .form-check-label { + color: #6c757d; +} + +.form-check-label { + margin-bottom: 0; +} + +.form-check-inline { + display: inline-flex; + align-items: center; + padding-left: 0; + margin-right: 0.75rem; +} + +.form-check-inline .form-check-input { + position: static; + margin-top: 0; + margin-right: 0.3125rem; + margin-left: 0; +} + +.valid-feedback { + display: none; + width: 100%; + margin-top: 0.25rem; + font-size: 80%; + color: #28a745; +} + +.valid-tooltip { + position: absolute; + top: 100%; + z-index: 5; + display: none; + max-width: 100%; + padding: 0.25rem 0.5rem; + margin-top: .1rem; + font-size: 0.875rem; + line-height: 1.5; + color: #fff; + background-color: rgba(40, 167, 69, 0.9); + border-radius: 0.25rem; +} + +.was-validated :valid ~ .valid-feedback, +.was-validated :valid ~ .valid-tooltip, +.is-valid ~ .valid-feedback, +.is-valid ~ .valid-tooltip { + display: block; +} + +.was-validated .form-control:valid, .form-control.is-valid { + border-color: #28a745; + padding-right: calc(1.5em + 0.75rem); + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e"); + background-repeat: no-repeat; + background-position: right calc(0.375em + 0.1875rem) center; + background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem); +} + +.was-validated .form-control:valid:focus, .form-control.is-valid:focus { + border-color: #28a745; + box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25); +} + +.was-validated textarea.form-control:valid, textarea.form-control.is-valid { + padding-right: calc(1.5em + 0.75rem); + background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem); +} + +.was-validated .custom-select:valid, .custom-select.is-valid { + border-color: #28a745; + padding-right: calc(0.75em + 2.3125rem); + background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat right 0.75rem center/8px 10px, url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e") #fff no-repeat center right 1.75rem/calc(0.75em + 0.375rem) calc(0.75em + 0.375rem); +} + +.was-validated .custom-select:valid:focus, .custom-select.is-valid:focus { + border-color: #28a745; + box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25); +} + +.was-validated .form-check-input:valid ~ .form-check-label, .form-check-input.is-valid ~ .form-check-label { + color: #28a745; +} + +.was-validated .form-check-input:valid ~ .valid-feedback, +.was-validated .form-check-input:valid ~ .valid-tooltip, .form-check-input.is-valid ~ .valid-feedback, +.form-check-input.is-valid ~ .valid-tooltip { + display: block; +} + +.was-validated .custom-control-input:valid ~ .custom-control-label, .custom-control-input.is-valid ~ .custom-control-label { + color: #28a745; +} + +.was-validated .custom-control-input:valid ~ .custom-control-label::before, .custom-control-input.is-valid ~ .custom-control-label::before { + border-color: #28a745; +} + +.was-validated .custom-control-input:valid:checked ~ .custom-control-label::before, .custom-control-input.is-valid:checked ~ .custom-control-label::before { + border-color: #34ce57; + background-color: #34ce57; +} + +.was-validated .custom-control-input:valid:focus ~ .custom-control-label::before, .custom-control-input.is-valid:focus ~ .custom-control-label::before { + box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25); +} + +.was-validated .custom-control-input:valid:focus:not(:checked) ~ .custom-control-label::before, .custom-control-input.is-valid:focus:not(:checked) ~ .custom-control-label::before { + border-color: #28a745; +} + +.was-validated .custom-file-input:valid ~ .custom-file-label, .custom-file-input.is-valid ~ .custom-file-label { + border-color: #28a745; +} + +.was-validated .custom-file-input:valid:focus ~ .custom-file-label, .custom-file-input.is-valid:focus ~ .custom-file-label { + border-color: #28a745; + box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25); +} + +.invalid-feedback { + display: none; + width: 100%; + margin-top: 0.25rem; + font-size: 80%; + color: #dc3545; +} + +.invalid-tooltip { + position: absolute; + top: 100%; + z-index: 5; + display: none; + max-width: 100%; + padding: 0.25rem 0.5rem; + margin-top: .1rem; + font-size: 0.875rem; + line-height: 1.5; + color: #fff; + background-color: rgba(220, 53, 69, 0.9); + border-radius: 0.25rem; +} + +.was-validated :invalid ~ .invalid-feedback, +.was-validated :invalid ~ .invalid-tooltip, +.is-invalid ~ .invalid-feedback, +.is-invalid ~ .invalid-tooltip { + display: block; +} + +.was-validated .form-control:invalid, .form-control.is-invalid { + border-color: #dc3545; + padding-right: calc(1.5em + 0.75rem); + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e"); + background-repeat: no-repeat; + background-position: right calc(0.375em + 0.1875rem) center; + background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem); +} + +.was-validated .form-control:invalid:focus, .form-control.is-invalid:focus { + border-color: #dc3545; + box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25); +} + +.was-validated textarea.form-control:invalid, textarea.form-control.is-invalid { + padding-right: calc(1.5em + 0.75rem); + background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem); +} + +.was-validated .custom-select:invalid, .custom-select.is-invalid { + border-color: #dc3545; + padding-right: calc(0.75em + 2.3125rem); + background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat right 0.75rem center/8px 10px, url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e") #fff no-repeat center right 1.75rem/calc(0.75em + 0.375rem) calc(0.75em + 0.375rem); +} + +.was-validated .custom-select:invalid:focus, .custom-select.is-invalid:focus { + border-color: #dc3545; + box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25); +} + +.was-validated .form-check-input:invalid ~ .form-check-label, .form-check-input.is-invalid ~ .form-check-label { + color: #dc3545; +} + +.was-validated .form-check-input:invalid ~ .invalid-feedback, +.was-validated .form-check-input:invalid ~ .invalid-tooltip, .form-check-input.is-invalid ~ .invalid-feedback, +.form-check-input.is-invalid ~ .invalid-tooltip { + display: block; +} + +.was-validated .custom-control-input:invalid ~ .custom-control-label, .custom-control-input.is-invalid ~ .custom-control-label { + color: #dc3545; +} + +.was-validated .custom-control-input:invalid ~ .custom-control-label::before, .custom-control-input.is-invalid ~ .custom-control-label::before { + border-color: #dc3545; +} + +.was-validated .custom-control-input:invalid:checked ~ .custom-control-label::before, .custom-control-input.is-invalid:checked ~ .custom-control-label::before { + border-color: #e4606d; + background-color: #e4606d; +} + +.was-validated .custom-control-input:invalid:focus ~ .custom-control-label::before, .custom-control-input.is-invalid:focus ~ .custom-control-label::before { + box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25); +} + +.was-validated .custom-control-input:invalid:focus:not(:checked) ~ .custom-control-label::before, .custom-control-input.is-invalid:focus:not(:checked) ~ .custom-control-label::before { + border-color: #dc3545; +} + +.was-validated .custom-file-input:invalid ~ .custom-file-label, .custom-file-input.is-invalid ~ .custom-file-label { + border-color: #dc3545; +} + +.was-validated .custom-file-input:invalid:focus ~ .custom-file-label, .custom-file-input.is-invalid:focus ~ .custom-file-label { + border-color: #dc3545; + box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25); +} + +.form-inline { + display: flex; + flex-flow: row wrap; + align-items: center; +} + +.form-inline .form-check { + width: 100%; +} + +@media (min-width: 576px) { + .form-inline label { + display: flex; + align-items: center; + justify-content: center; + margin-bottom: 0; + } + .form-inline .form-group { + display: flex; + flex: 0 0 auto; + flex-flow: row wrap; + align-items: center; + margin-bottom: 0; + } + .form-inline .form-control { + display: inline-block; + width: auto; + vertical-align: middle; + } + .form-inline .form-control-plaintext { + display: inline-block; + } + .form-inline .input-group, + .form-inline .custom-select { + width: auto; + } + .form-inline .form-check { + display: flex; + align-items: center; + justify-content: center; + width: auto; + padding-left: 0; + } + .form-inline .form-check-input { + position: relative; + flex-shrink: 0; + margin-top: 0; + margin-right: 0.25rem; + margin-left: 0; + } + .form-inline .custom-control { + align-items: center; + justify-content: center; + } + .form-inline .custom-control-label { + margin-bottom: 0; + } +} + +.btn { + display: inline-block; + font-weight: 400; + color: #212529; + text-align: center; + vertical-align: middle; + cursor: pointer; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + background-color: transparent; + border: 1px solid transparent; + padding: 0.375rem 0.75rem; + font-size: 1rem; + line-height: 1.5; + border-radius: 0.25rem; + transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; +} + +@media (prefers-reduced-motion: reduce) { + .btn { + transition: none; + } +} + +.btn:hover { + color: #212529; + text-decoration: none; +} + +.btn:focus, .btn.focus { + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); +} + +.btn.disabled, .btn:disabled { + opacity: 0.65; +} + +a.btn.disabled, +fieldset:disabled a.btn { + pointer-events: none; +} + +.btn-primary { + color: #fff; + background-color: #007bff; + border-color: #007bff; +} + +.btn-primary:hover { + color: #fff; + background-color: #0069d9; + border-color: #0062cc; +} + +.btn-primary:focus, .btn-primary.focus { + color: #fff; + background-color: #0069d9; + border-color: #0062cc; + box-shadow: 0 0 0 0.2rem rgba(38, 143, 255, 0.5); +} + +.btn-primary.disabled, .btn-primary:disabled { + color: #fff; + background-color: #007bff; + border-color: #007bff; +} + +.btn-primary:not(:disabled):not(.disabled):active, .btn-primary:not(:disabled):not(.disabled).active, +.show > .btn-primary.dropdown-toggle { + color: #fff; + background-color: #0062cc; + border-color: #005cbf; +} + +.btn-primary:not(:disabled):not(.disabled):active:focus, .btn-primary:not(:disabled):not(.disabled).active:focus, +.show > .btn-primary.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(38, 143, 255, 0.5); +} + +.btn-secondary { + color: #fff; + background-color: #6c757d; + border-color: #6c757d; +} + +.btn-secondary:hover { + color: #fff; + background-color: #5a6268; + border-color: #545b62; +} + +.btn-secondary:focus, .btn-secondary.focus { + color: #fff; + background-color: #5a6268; + border-color: #545b62; + box-shadow: 0 0 0 0.2rem rgba(130, 138, 145, 0.5); +} + +.btn-secondary.disabled, .btn-secondary:disabled { + color: #fff; + background-color: #6c757d; + border-color: #6c757d; +} + +.btn-secondary:not(:disabled):not(.disabled):active, .btn-secondary:not(:disabled):not(.disabled).active, +.show > .btn-secondary.dropdown-toggle { + color: #fff; + background-color: #545b62; + border-color: #4e555b; +} + +.btn-secondary:not(:disabled):not(.disabled):active:focus, .btn-secondary:not(:disabled):not(.disabled).active:focus, +.show > .btn-secondary.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(130, 138, 145, 0.5); +} + +.btn-success { + color: #fff; + background-color: #28a745; + border-color: #28a745; +} + +.btn-success:hover { + color: #fff; + background-color: #218838; + border-color: #1e7e34; +} + +.btn-success:focus, .btn-success.focus { + color: #fff; + background-color: #218838; + border-color: #1e7e34; + box-shadow: 0 0 0 0.2rem rgba(72, 180, 97, 0.5); +} + +.btn-success.disabled, .btn-success:disabled { + color: #fff; + background-color: #28a745; + border-color: #28a745; +} + +.btn-success:not(:disabled):not(.disabled):active, .btn-success:not(:disabled):not(.disabled).active, +.show > .btn-success.dropdown-toggle { + color: #fff; + background-color: #1e7e34; + border-color: #1c7430; +} + +.btn-success:not(:disabled):not(.disabled):active:focus, .btn-success:not(:disabled):not(.disabled).active:focus, +.show > .btn-success.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(72, 180, 97, 0.5); +} + +.btn-info { + color: #fff; + background-color: #17a2b8; + border-color: #17a2b8; +} + +.btn-info:hover { + color: #fff; + background-color: #138496; + border-color: #117a8b; +} + +.btn-info:focus, .btn-info.focus { + color: #fff; + background-color: #138496; + border-color: #117a8b; + box-shadow: 0 0 0 0.2rem rgba(58, 176, 195, 0.5); +} + +.btn-info.disabled, .btn-info:disabled { + color: #fff; + background-color: #17a2b8; + border-color: #17a2b8; +} + +.btn-info:not(:disabled):not(.disabled):active, .btn-info:not(:disabled):not(.disabled).active, +.show > .btn-info.dropdown-toggle { + color: #fff; + background-color: #117a8b; + border-color: #10707f; +} + +.btn-info:not(:disabled):not(.disabled):active:focus, .btn-info:not(:disabled):not(.disabled).active:focus, +.show > .btn-info.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(58, 176, 195, 0.5); +} + +.btn-warning { + color: #212529; + background-color: #ffc107; + border-color: #ffc107; +} + +.btn-warning:hover { + color: #212529; + background-color: #e0a800; + border-color: #d39e00; +} + +.btn-warning:focus, .btn-warning.focus { + color: #212529; + background-color: #e0a800; + border-color: #d39e00; + box-shadow: 0 0 0 0.2rem rgba(222, 170, 12, 0.5); +} + +.btn-warning.disabled, .btn-warning:disabled { + color: #212529; + background-color: #ffc107; + border-color: #ffc107; +} + +.btn-warning:not(:disabled):not(.disabled):active, .btn-warning:not(:disabled):not(.disabled).active, +.show > .btn-warning.dropdown-toggle { + color: #212529; + background-color: #d39e00; + border-color: #c69500; +} + +.btn-warning:not(:disabled):not(.disabled):active:focus, .btn-warning:not(:disabled):not(.disabled).active:focus, +.show > .btn-warning.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(222, 170, 12, 0.5); +} + +.btn-danger { + color: #fff; + background-color: #dc3545; + border-color: #dc3545; +} + +.btn-danger:hover { + color: #fff; + background-color: #c82333; + border-color: #bd2130; +} + +.btn-danger:focus, .btn-danger.focus { + color: #fff; + background-color: #c82333; + border-color: #bd2130; + box-shadow: 0 0 0 0.2rem rgba(225, 83, 97, 0.5); +} + +.btn-danger.disabled, .btn-danger:disabled { + color: #fff; + background-color: #dc3545; + border-color: #dc3545; +} + +.btn-danger:not(:disabled):not(.disabled):active, .btn-danger:not(:disabled):not(.disabled).active, +.show > .btn-danger.dropdown-toggle { + color: #fff; + background-color: #bd2130; + border-color: #b21f2d; +} + +.btn-danger:not(:disabled):not(.disabled):active:focus, .btn-danger:not(:disabled):not(.disabled).active:focus, +.show > .btn-danger.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(225, 83, 97, 0.5); +} + +.btn-light { + color: #212529; + background-color: #f8f9fa; + border-color: #f8f9fa; +} + +.btn-light:hover { + color: #212529; + background-color: #e2e6ea; + border-color: #dae0e5; +} + +.btn-light:focus, .btn-light.focus { + color: #212529; + background-color: #e2e6ea; + border-color: #dae0e5; + box-shadow: 0 0 0 0.2rem rgba(216, 217, 219, 0.5); +} + +.btn-light.disabled, .btn-light:disabled { + color: #212529; + background-color: #f8f9fa; + border-color: #f8f9fa; +} + +.btn-light:not(:disabled):not(.disabled):active, .btn-light:not(:disabled):not(.disabled).active, +.show > .btn-light.dropdown-toggle { + color: #212529; + background-color: #dae0e5; + border-color: #d3d9df; +} + +.btn-light:not(:disabled):not(.disabled):active:focus, .btn-light:not(:disabled):not(.disabled).active:focus, +.show > .btn-light.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(216, 217, 219, 0.5); +} + +.btn-dark { + color: #fff; + background-color: #343a40; + border-color: #343a40; +} + +.btn-dark:hover { + color: #fff; + background-color: #23272b; + border-color: #1d2124; +} + +.btn-dark:focus, .btn-dark.focus { + color: #fff; + background-color: #23272b; + border-color: #1d2124; + box-shadow: 0 0 0 0.2rem rgba(82, 88, 93, 0.5); +} + +.btn-dark.disabled, .btn-dark:disabled { + color: #fff; + background-color: #343a40; + border-color: #343a40; +} + +.btn-dark:not(:disabled):not(.disabled):active, .btn-dark:not(:disabled):not(.disabled).active, +.show > .btn-dark.dropdown-toggle { + color: #fff; + background-color: #1d2124; + border-color: #171a1d; +} + +.btn-dark:not(:disabled):not(.disabled):active:focus, .btn-dark:not(:disabled):not(.disabled).active:focus, +.show > .btn-dark.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(82, 88, 93, 0.5); +} + +.btn-outline-primary { + color: #007bff; + border-color: #007bff; +} + +.btn-outline-primary:hover { + color: #fff; + background-color: #007bff; + border-color: #007bff; +} + +.btn-outline-primary:focus, .btn-outline-primary.focus { + box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5); +} + +.btn-outline-primary.disabled, .btn-outline-primary:disabled { + color: #007bff; + background-color: transparent; +} + +.btn-outline-primary:not(:disabled):not(.disabled):active, .btn-outline-primary:not(:disabled):not(.disabled).active, +.show > .btn-outline-primary.dropdown-toggle { + color: #fff; + background-color: #007bff; + border-color: #007bff; +} + +.btn-outline-primary:not(:disabled):not(.disabled):active:focus, .btn-outline-primary:not(:disabled):not(.disabled).active:focus, +.show > .btn-outline-primary.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5); +} + +.btn-outline-secondary { + color: #6c757d; + border-color: #6c757d; +} + +.btn-outline-secondary:hover { + color: #fff; + background-color: #6c757d; + border-color: #6c757d; +} + +.btn-outline-secondary:focus, .btn-outline-secondary.focus { + box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5); +} + +.btn-outline-secondary.disabled, .btn-outline-secondary:disabled { + color: #6c757d; + background-color: transparent; +} + +.btn-outline-secondary:not(:disabled):not(.disabled):active, .btn-outline-secondary:not(:disabled):not(.disabled).active, +.show > .btn-outline-secondary.dropdown-toggle { + color: #fff; + background-color: #6c757d; + border-color: #6c757d; +} + +.btn-outline-secondary:not(:disabled):not(.disabled):active:focus, .btn-outline-secondary:not(:disabled):not(.disabled).active:focus, +.show > .btn-outline-secondary.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5); +} + +.btn-outline-success { + color: #28a745; + border-color: #28a745; +} + +.btn-outline-success:hover { + color: #fff; + background-color: #28a745; + border-color: #28a745; +} + +.btn-outline-success:focus, .btn-outline-success.focus { + box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5); +} + +.btn-outline-success.disabled, .btn-outline-success:disabled { + color: #28a745; + background-color: transparent; +} + +.btn-outline-success:not(:disabled):not(.disabled):active, .btn-outline-success:not(:disabled):not(.disabled).active, +.show > .btn-outline-success.dropdown-toggle { + color: #fff; + background-color: #28a745; + border-color: #28a745; +} + +.btn-outline-success:not(:disabled):not(.disabled):active:focus, .btn-outline-success:not(:disabled):not(.disabled).active:focus, +.show > .btn-outline-success.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5); +} + +.btn-outline-info { + color: #17a2b8; + border-color: #17a2b8; +} + +.btn-outline-info:hover { + color: #fff; + background-color: #17a2b8; + border-color: #17a2b8; +} + +.btn-outline-info:focus, .btn-outline-info.focus { + box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5); +} + +.btn-outline-info.disabled, .btn-outline-info:disabled { + color: #17a2b8; + background-color: transparent; +} + +.btn-outline-info:not(:disabled):not(.disabled):active, .btn-outline-info:not(:disabled):not(.disabled).active, +.show > .btn-outline-info.dropdown-toggle { + color: #fff; + background-color: #17a2b8; + border-color: #17a2b8; +} + +.btn-outline-info:not(:disabled):not(.disabled):active:focus, .btn-outline-info:not(:disabled):not(.disabled).active:focus, +.show > .btn-outline-info.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5); +} + +.btn-outline-warning { + color: #ffc107; + border-color: #ffc107; +} + +.btn-outline-warning:hover { + color: #212529; + background-color: #ffc107; + border-color: #ffc107; +} + +.btn-outline-warning:focus, .btn-outline-warning.focus { + box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5); +} + +.btn-outline-warning.disabled, .btn-outline-warning:disabled { + color: #ffc107; + background-color: transparent; +} + +.btn-outline-warning:not(:disabled):not(.disabled):active, .btn-outline-warning:not(:disabled):not(.disabled).active, +.show > .btn-outline-warning.dropdown-toggle { + color: #212529; + background-color: #ffc107; + border-color: #ffc107; +} + +.btn-outline-warning:not(:disabled):not(.disabled):active:focus, .btn-outline-warning:not(:disabled):not(.disabled).active:focus, +.show > .btn-outline-warning.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5); +} + +.btn-outline-danger { + color: #dc3545; + border-color: #dc3545; +} + +.btn-outline-danger:hover { + color: #fff; + background-color: #dc3545; + border-color: #dc3545; +} + +.btn-outline-danger:focus, .btn-outline-danger.focus { + box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5); +} + +.btn-outline-danger.disabled, .btn-outline-danger:disabled { + color: #dc3545; + background-color: transparent; +} + +.btn-outline-danger:not(:disabled):not(.disabled):active, .btn-outline-danger:not(:disabled):not(.disabled).active, +.show > .btn-outline-danger.dropdown-toggle { + color: #fff; + background-color: #dc3545; + border-color: #dc3545; +} + +.btn-outline-danger:not(:disabled):not(.disabled):active:focus, .btn-outline-danger:not(:disabled):not(.disabled).active:focus, +.show > .btn-outline-danger.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5); +} + +.btn-outline-light { + color: #f8f9fa; + border-color: #f8f9fa; +} + +.btn-outline-light:hover { + color: #212529; + background-color: #f8f9fa; + border-color: #f8f9fa; +} + +.btn-outline-light:focus, .btn-outline-light.focus { + box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5); +} + +.btn-outline-light.disabled, .btn-outline-light:disabled { + color: #f8f9fa; + background-color: transparent; +} + +.btn-outline-light:not(:disabled):not(.disabled):active, .btn-outline-light:not(:disabled):not(.disabled).active, +.show > .btn-outline-light.dropdown-toggle { + color: #212529; + background-color: #f8f9fa; + border-color: #f8f9fa; +} + +.btn-outline-light:not(:disabled):not(.disabled):active:focus, .btn-outline-light:not(:disabled):not(.disabled).active:focus, +.show > .btn-outline-light.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5); +} + +.btn-outline-dark { + color: #343a40; + border-color: #343a40; +} + +.btn-outline-dark:hover { + color: #fff; + background-color: #343a40; + border-color: #343a40; +} + +.btn-outline-dark:focus, .btn-outline-dark.focus { + box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5); +} + +.btn-outline-dark.disabled, .btn-outline-dark:disabled { + color: #343a40; + background-color: transparent; +} + +.btn-outline-dark:not(:disabled):not(.disabled):active, .btn-outline-dark:not(:disabled):not(.disabled).active, +.show > .btn-outline-dark.dropdown-toggle { + color: #fff; + background-color: #343a40; + border-color: #343a40; +} + +.btn-outline-dark:not(:disabled):not(.disabled):active:focus, .btn-outline-dark:not(:disabled):not(.disabled).active:focus, +.show > .btn-outline-dark.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5); +} + +.btn-link { + font-weight: 400; + color: #007bff; + text-decoration: none; +} + +.btn-link:hover { + color: #0056b3; + text-decoration: underline; +} + +.btn-link:focus, .btn-link.focus { + text-decoration: underline; + box-shadow: none; +} + +.btn-link:disabled, .btn-link.disabled { + color: #6c757d; + pointer-events: none; +} + +.btn-lg, .btn-group-lg > .btn { + padding: 0.5rem 1rem; + font-size: 1.25rem; + line-height: 1.5; + border-radius: 0.3rem; +} + +.btn-sm, .btn-group-sm > .btn { + padding: 0.25rem 0.5rem; + font-size: 0.875rem; + line-height: 1.5; + border-radius: 0.2rem; +} + +.btn-block { + display: block; + width: 100%; +} + +.btn-block + .btn-block { + margin-top: 0.5rem; +} + +input[type="submit"].btn-block, +input[type="reset"].btn-block, +input[type="button"].btn-block { + width: 100%; +} + +.fade { + transition: opacity 0.15s linear; +} + +@media (prefers-reduced-motion: reduce) { + .fade { + transition: none; + } +} + +.fade:not(.show) { + opacity: 0; +} + +.collapse:not(.show) { + display: none; +} + +.collapsing { + position: relative; + height: 0; + overflow: hidden; + transition: height 0.35s ease; +} + +@media (prefers-reduced-motion: reduce) { + .collapsing { + transition: none; + } +} + +.dropup, +.dropright, +.dropdown, +.dropleft { + position: relative; +} + +.dropdown-toggle { + white-space: nowrap; +} + +.dropdown-toggle::after { + display: inline-block; + margin-left: 0.255em; + vertical-align: 0.255em; + content: ""; + border-top: 0.3em solid; + border-right: 0.3em solid transparent; + border-bottom: 0; + border-left: 0.3em solid transparent; +} + +.dropdown-toggle:empty::after { + margin-left: 0; +} + +.dropdown-menu { + position: absolute; + top: 100%; + left: 0; + z-index: 1000; + display: none; + float: left; + min-width: 10rem; + padding: 0.5rem 0; + margin: 0.125rem 0 0; + font-size: 1rem; + color: #212529; + text-align: left; + list-style: none; + background-color: #fff; + background-clip: padding-box; + border: 1px solid rgba(0, 0, 0, 0.15); + border-radius: 0.25rem; +} + +.dropdown-menu-left { + right: auto; + left: 0; +} + +.dropdown-menu-right { + right: 0; + left: auto; +} + +@media (min-width: 576px) { + .dropdown-menu-sm-left { + right: auto; + left: 0; + } + .dropdown-menu-sm-right { + right: 0; + left: auto; + } +} + +@media (min-width: 768px) { + .dropdown-menu-md-left { + right: auto; + left: 0; + } + .dropdown-menu-md-right { + right: 0; + left: auto; + } +} + +@media (min-width: 992px) { + .dropdown-menu-lg-left { + right: auto; + left: 0; + } + .dropdown-menu-lg-right { + right: 0; + left: auto; + } +} + +@media (min-width: 1200px) { + .dropdown-menu-xl-left { + right: auto; + left: 0; + } + .dropdown-menu-xl-right { + right: 0; + left: auto; + } +} + +.dropup .dropdown-menu { + top: auto; + bottom: 100%; + margin-top: 0; + margin-bottom: 0.125rem; +} + +.dropup .dropdown-toggle::after { + display: inline-block; + margin-left: 0.255em; + vertical-align: 0.255em; + content: ""; + border-top: 0; + border-right: 0.3em solid transparent; + border-bottom: 0.3em solid; + border-left: 0.3em solid transparent; +} + +.dropup .dropdown-toggle:empty::after { + margin-left: 0; +} + +.dropright .dropdown-menu { + top: 0; + right: auto; + left: 100%; + margin-top: 0; + margin-left: 0.125rem; +} + +.dropright .dropdown-toggle::after { + display: inline-block; + margin-left: 0.255em; + vertical-align: 0.255em; + content: ""; + border-top: 0.3em solid transparent; + border-right: 0; + border-bottom: 0.3em solid transparent; + border-left: 0.3em solid; +} + +.dropright .dropdown-toggle:empty::after { + margin-left: 0; +} + +.dropright .dropdown-toggle::after { + vertical-align: 0; +} + +.dropleft .dropdown-menu { + top: 0; + right: 100%; + left: auto; + margin-top: 0; + margin-right: 0.125rem; +} + +.dropleft .dropdown-toggle::after { + display: inline-block; + margin-left: 0.255em; + vertical-align: 0.255em; + content: ""; +} + +.dropleft .dropdown-toggle::after { + display: none; +} + +.dropleft .dropdown-toggle::before { + display: inline-block; + margin-right: 0.255em; + vertical-align: 0.255em; + content: ""; + border-top: 0.3em solid transparent; + border-right: 0.3em solid; + border-bottom: 0.3em solid transparent; +} + +.dropleft .dropdown-toggle:empty::after { + margin-left: 0; +} + +.dropleft .dropdown-toggle::before { + vertical-align: 0; +} + +.dropdown-menu[x-placement^="top"], .dropdown-menu[x-placement^="right"], .dropdown-menu[x-placement^="bottom"], .dropdown-menu[x-placement^="left"] { + right: auto; + bottom: auto; +} + +.dropdown-divider { + height: 0; + margin: 0.5rem 0; + overflow: hidden; + border-top: 1px solid #e9ecef; +} + +.dropdown-item { + display: block; + width: 100%; + padding: 0.25rem 1.5rem; + clear: both; + font-weight: 400; + color: #212529; + text-align: inherit; + white-space: nowrap; + background-color: transparent; + border: 0; +} + +.dropdown-item:hover, .dropdown-item:focus { + color: #16181b; + text-decoration: none; + background-color: #f8f9fa; +} + +.dropdown-item.active, .dropdown-item:active { + color: #fff; + text-decoration: none; + background-color: #007bff; +} + +.dropdown-item.disabled, .dropdown-item:disabled { + color: #6c757d; + pointer-events: none; + background-color: transparent; +} + +.dropdown-menu.show { + display: block; +} + +.dropdown-header { + display: block; + padding: 0.5rem 1.5rem; + margin-bottom: 0; + font-size: 0.875rem; + color: #6c757d; + white-space: nowrap; +} + +.dropdown-item-text { + display: block; + padding: 0.25rem 1.5rem; + color: #212529; +} + +.btn-group, +.btn-group-vertical { + position: relative; + display: inline-flex; + vertical-align: middle; +} + +.btn-group > .btn, +.btn-group-vertical > .btn { + position: relative; + flex: 1 1 auto; +} + +.btn-group > .btn:hover, +.btn-group-vertical > .btn:hover { + z-index: 1; +} + +.btn-group > .btn:focus, .btn-group > .btn:active, .btn-group > .btn.active, +.btn-group-vertical > .btn:focus, +.btn-group-vertical > .btn:active, +.btn-group-vertical > .btn.active { + z-index: 1; +} + +.btn-toolbar { + display: flex; + flex-wrap: wrap; + justify-content: flex-start; +} + +.btn-toolbar .input-group { + width: auto; +} + +.btn-group > .btn:not(:first-child), +.btn-group > .btn-group:not(:first-child) { + margin-left: -1px; +} + +.btn-group > .btn:not(:last-child):not(.dropdown-toggle), +.btn-group > .btn-group:not(:last-child) > .btn { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} + +.btn-group > .btn:not(:first-child), +.btn-group > .btn-group:not(:first-child) > .btn { + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} + +.dropdown-toggle-split { + padding-right: 0.5625rem; + padding-left: 0.5625rem; +} + +.dropdown-toggle-split::after, +.dropup .dropdown-toggle-split::after, +.dropright .dropdown-toggle-split::after { + margin-left: 0; +} + +.dropleft .dropdown-toggle-split::before { + margin-right: 0; +} + +.btn-sm + .dropdown-toggle-split, .btn-group-sm > .btn + .dropdown-toggle-split { + padding-right: 0.375rem; + padding-left: 0.375rem; +} + +.btn-lg + .dropdown-toggle-split, .btn-group-lg > .btn + .dropdown-toggle-split { + padding-right: 0.75rem; + padding-left: 0.75rem; +} + +.btn-group-vertical { + flex-direction: column; + align-items: flex-start; + justify-content: center; +} + +.btn-group-vertical > .btn, +.btn-group-vertical > .btn-group { + width: 100%; +} + +.btn-group-vertical > .btn:not(:first-child), +.btn-group-vertical > .btn-group:not(:first-child) { + margin-top: -1px; +} + +.btn-group-vertical > .btn:not(:last-child):not(.dropdown-toggle), +.btn-group-vertical > .btn-group:not(:last-child) > .btn { + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; +} + +.btn-group-vertical > .btn:not(:first-child), +.btn-group-vertical > .btn-group:not(:first-child) > .btn { + border-top-left-radius: 0; + border-top-right-radius: 0; +} + +.btn-group-toggle > .btn, +.btn-group-toggle > .btn-group > .btn { + margin-bottom: 0; +} + +.btn-group-toggle > .btn input[type="radio"], +.btn-group-toggle > .btn input[type="checkbox"], +.btn-group-toggle > .btn-group > .btn input[type="radio"], +.btn-group-toggle > .btn-group > .btn input[type="checkbox"] { + position: absolute; + clip: rect(0, 0, 0, 0); + pointer-events: none; +} + +.input-group { + position: relative; + display: flex; + flex-wrap: wrap; + align-items: stretch; + width: 100%; +} + +.input-group > .form-control, +.input-group > .form-control-plaintext, +.input-group > .custom-select, +.input-group > .custom-file { + position: relative; + flex: 1 1 0%; + min-width: 0; + margin-bottom: 0; +} + +.input-group > .form-control + .form-control, +.input-group > .form-control + .custom-select, +.input-group > .form-control + .custom-file, +.input-group > .form-control-plaintext + .form-control, +.input-group > .form-control-plaintext + .custom-select, +.input-group > .form-control-plaintext + .custom-file, +.input-group > .custom-select + .form-control, +.input-group > .custom-select + .custom-select, +.input-group > .custom-select + .custom-file, +.input-group > .custom-file + .form-control, +.input-group > .custom-file + .custom-select, +.input-group > .custom-file + .custom-file { + margin-left: -1px; +} + +.input-group > .form-control:focus, +.input-group > .custom-select:focus, +.input-group > .custom-file .custom-file-input:focus ~ .custom-file-label { + z-index: 3; +} + +.input-group > .custom-file .custom-file-input:focus { + z-index: 4; +} + +.input-group > .form-control:not(:last-child), +.input-group > .custom-select:not(:last-child) { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} + +.input-group > .form-control:not(:first-child), +.input-group > .custom-select:not(:first-child) { + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} + +.input-group > .custom-file { + display: flex; + align-items: center; +} + +.input-group > .custom-file:not(:last-child) .custom-file-label, +.input-group > .custom-file:not(:last-child) .custom-file-label::after { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} + +.input-group > .custom-file:not(:first-child) .custom-file-label { + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} + +.input-group-prepend, +.input-group-append { + display: flex; +} + +.input-group-prepend .btn, +.input-group-append .btn { + position: relative; + z-index: 2; +} + +.input-group-prepend .btn:focus, +.input-group-append .btn:focus { + z-index: 3; +} + +.input-group-prepend .btn + .btn, +.input-group-prepend .btn + .input-group-text, +.input-group-prepend .input-group-text + .input-group-text, +.input-group-prepend .input-group-text + .btn, +.input-group-append .btn + .btn, +.input-group-append .btn + .input-group-text, +.input-group-append .input-group-text + .input-group-text, +.input-group-append .input-group-text + .btn { + margin-left: -1px; +} + +.input-group-prepend { + margin-right: -1px; +} + +.input-group-append { + margin-left: -1px; +} + +.input-group-text { + display: flex; + align-items: center; + padding: 0.375rem 0.75rem; + margin-bottom: 0; + font-size: 1rem; + font-weight: 400; + line-height: 1.5; + color: #495057; + text-align: center; + white-space: nowrap; + background-color: #e9ecef; + border: 1px solid #ced4da; + border-radius: 0.25rem; +} + +.input-group-text input[type="radio"], +.input-group-text input[type="checkbox"] { + margin-top: 0; +} + +.input-group-lg > .form-control:not(textarea), +.input-group-lg > .custom-select { + height: calc(1.5em + 1rem + 2px); +} + +.input-group-lg > .form-control, +.input-group-lg > .custom-select, +.input-group-lg > .input-group-prepend > .input-group-text, +.input-group-lg > .input-group-append > .input-group-text, +.input-group-lg > .input-group-prepend > .btn, +.input-group-lg > .input-group-append > .btn { + padding: 0.5rem 1rem; + font-size: 1.25rem; + line-height: 1.5; + border-radius: 0.3rem; +} + +.input-group-sm > .form-control:not(textarea), +.input-group-sm > .custom-select { + height: calc(1.5em + 0.5rem + 2px); +} + +.input-group-sm > .form-control, +.input-group-sm > .custom-select, +.input-group-sm > .input-group-prepend > .input-group-text, +.input-group-sm > .input-group-append > .input-group-text, +.input-group-sm > .input-group-prepend > .btn, +.input-group-sm > .input-group-append > .btn { + padding: 0.25rem 0.5rem; + font-size: 0.875rem; + line-height: 1.5; + border-radius: 0.2rem; +} + +.input-group-lg > .custom-select, +.input-group-sm > .custom-select { + padding-right: 1.75rem; +} + +.input-group > .input-group-prepend > .btn, +.input-group > .input-group-prepend > .input-group-text, +.input-group > .input-group-append:not(:last-child) > .btn, +.input-group > .input-group-append:not(:last-child) > .input-group-text, +.input-group > .input-group-append:last-child > .btn:not(:last-child):not(.dropdown-toggle), +.input-group > .input-group-append:last-child > .input-group-text:not(:last-child) { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} + +.input-group > .input-group-append > .btn, +.input-group > .input-group-append > .input-group-text, +.input-group > .input-group-prepend:not(:first-child) > .btn, +.input-group > .input-group-prepend:not(:first-child) > .input-group-text, +.input-group > .input-group-prepend:first-child > .btn:not(:first-child), +.input-group > .input-group-prepend:first-child > .input-group-text:not(:first-child) { + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} + +.custom-control { + position: relative; + display: block; + min-height: 1.5rem; + padding-left: 1.5rem; +} + +.custom-control-inline { + display: inline-flex; + margin-right: 1rem; +} + +.custom-control-input { + position: absolute; + left: 0; + z-index: -1; + width: 1rem; + height: 1.25rem; + opacity: 0; +} + +.custom-control-input:checked ~ .custom-control-label::before { + color: #fff; + border-color: #007bff; + background-color: #007bff; +} + +.custom-control-input:focus ~ .custom-control-label::before { + box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); +} + +.custom-control-input:focus:not(:checked) ~ .custom-control-label::before { + border-color: #80bdff; +} + +.custom-control-input:not(:disabled):active ~ .custom-control-label::before { + color: #fff; + background-color: #b3d7ff; + border-color: #b3d7ff; +} + +.custom-control-input[disabled] ~ .custom-control-label, .custom-control-input:disabled ~ .custom-control-label { + color: #6c757d; +} + +.custom-control-input[disabled] ~ .custom-control-label::before, .custom-control-input:disabled ~ .custom-control-label::before { + background-color: #e9ecef; +} + +.custom-control-label { + position: relative; + margin-bottom: 0; + vertical-align: top; +} + +.custom-control-label::before { + position: absolute; + top: 0.25rem; + left: -1.5rem; + display: block; + width: 1rem; + height: 1rem; + pointer-events: none; + content: ""; + background-color: #fff; + border: #adb5bd solid 1px; +} + +.custom-control-label::after { + position: absolute; + top: 0.25rem; + left: -1.5rem; + display: block; + width: 1rem; + height: 1rem; + content: ""; + background: no-repeat 50% / 50% 50%; +} + +.custom-checkbox .custom-control-label::before { + border-radius: 0.25rem; +} + +.custom-checkbox .custom-control-input:checked ~ .custom-control-label::after { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26l2.974 2.99L8 2.193z'/%3e%3c/svg%3e"); +} + +.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::before { + border-color: #007bff; + background-color: #007bff; +} + +.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::after { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='4' viewBox='0 0 4 4'%3e%3cpath stroke='%23fff' d='M0 2h4'/%3e%3c/svg%3e"); +} + +.custom-checkbox .custom-control-input:disabled:checked ~ .custom-control-label::before { + background-color: rgba(0, 123, 255, 0.5); +} + +.custom-checkbox .custom-control-input:disabled:indeterminate ~ .custom-control-label::before { + background-color: rgba(0, 123, 255, 0.5); +} + +.custom-radio .custom-control-label::before { + border-radius: 50%; +} + +.custom-radio .custom-control-input:checked ~ .custom-control-label::after { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e"); +} + +.custom-radio .custom-control-input:disabled:checked ~ .custom-control-label::before { + background-color: rgba(0, 123, 255, 0.5); +} + +.custom-switch { + padding-left: 2.25rem; +} + +.custom-switch .custom-control-label::before { + left: -2.25rem; + width: 1.75rem; + pointer-events: all; + border-radius: 0.5rem; +} + +.custom-switch .custom-control-label::after { + top: calc(0.25rem + 2px); + left: calc(-2.25rem + 2px); + width: calc(1rem - 4px); + height: calc(1rem - 4px); + background-color: #adb5bd; + border-radius: 0.5rem; + transition: transform 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; +} + +@media (prefers-reduced-motion: reduce) { + .custom-switch .custom-control-label::after { + transition: none; + } +} + +.custom-switch .custom-control-input:checked ~ .custom-control-label::after { + background-color: #fff; + transform: translateX(0.75rem); +} + +.custom-switch .custom-control-input:disabled:checked ~ .custom-control-label::before { + background-color: rgba(0, 123, 255, 0.5); +} + +.custom-select { + display: inline-block; + width: 100%; + height: calc(1.5em + 0.75rem + 2px); + padding: 0.375rem 1.75rem 0.375rem 0.75rem; + font-size: 1rem; + font-weight: 400; + line-height: 1.5; + color: #495057; + vertical-align: middle; + background: #fff url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat right 0.75rem center/8px 10px; + border: 1px solid #ced4da; + border-radius: 0.25rem; + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; +} + +.custom-select:focus { + border-color: #80bdff; + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); +} + +.custom-select:focus::-ms-value { + color: #495057; + background-color: #fff; +} + +.custom-select[multiple], .custom-select[size]:not([size="1"]) { + height: auto; + padding-right: 0.75rem; + background-image: none; +} + +.custom-select:disabled { + color: #6c757d; + background-color: #e9ecef; +} + +.custom-select::-ms-expand { + display: none; +} + +.custom-select:-moz-focusring { + color: transparent; + text-shadow: 0 0 0 #495057; +} + +.custom-select-sm { + height: calc(1.5em + 0.5rem + 2px); + padding-top: 0.25rem; + padding-bottom: 0.25rem; + padding-left: 0.5rem; + font-size: 0.875rem; +} + +.custom-select-lg { + height: calc(1.5em + 1rem + 2px); + padding-top: 0.5rem; + padding-bottom: 0.5rem; + padding-left: 1rem; + font-size: 1.25rem; +} + +.custom-file { + position: relative; + display: inline-block; + width: 100%; + height: calc(1.5em + 0.75rem + 2px); + margin-bottom: 0; +} + +.custom-file-input { + position: relative; + z-index: 2; + width: 100%; + height: calc(1.5em + 0.75rem + 2px); + margin: 0; + opacity: 0; +} + +.custom-file-input:focus ~ .custom-file-label { + border-color: #80bdff; + box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); +} + +.custom-file-input[disabled] ~ .custom-file-label, +.custom-file-input:disabled ~ .custom-file-label { + background-color: #e9ecef; +} + +.custom-file-input:lang(en) ~ .custom-file-label::after { + content: "Browse"; +} + +.custom-file-input ~ .custom-file-label[data-browse]::after { + content: attr(data-browse); +} + +.custom-file-label { + position: absolute; + top: 0; + right: 0; + left: 0; + z-index: 1; + height: calc(1.5em + 0.75rem + 2px); + padding: 0.375rem 0.75rem; + font-weight: 400; + line-height: 1.5; + color: #495057; + background-color: #fff; + border: 1px solid #ced4da; + border-radius: 0.25rem; +} + +.custom-file-label::after { + position: absolute; + top: 0; + right: 0; + bottom: 0; + z-index: 3; + display: block; + height: calc(1.5em + 0.75rem); + padding: 0.375rem 0.75rem; + line-height: 1.5; + color: #495057; + content: "Browse"; + background-color: #e9ecef; + border-left: inherit; + border-radius: 0 0.25rem 0.25rem 0; +} + +.custom-range { + width: 100%; + height: 1.4rem; + padding: 0; + background-color: transparent; + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; +} + +.custom-range:focus { + outline: none; +} + +.custom-range:focus::-webkit-slider-thumb { + box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25); +} + +.custom-range:focus::-moz-range-thumb { + box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25); +} + +.custom-range:focus::-ms-thumb { + box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25); +} + +.custom-range::-moz-focus-outer { + border: 0; +} + +.custom-range::-webkit-slider-thumb { + width: 1rem; + height: 1rem; + margin-top: -0.25rem; + background-color: #007bff; + border: 0; + border-radius: 1rem; + -webkit-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + -webkit-appearance: none; + appearance: none; +} + +@media (prefers-reduced-motion: reduce) { + .custom-range::-webkit-slider-thumb { + -webkit-transition: none; + transition: none; + } +} + +.custom-range::-webkit-slider-thumb:active { + background-color: #b3d7ff; +} + +.custom-range::-webkit-slider-runnable-track { + width: 100%; + height: 0.5rem; + color: transparent; + cursor: pointer; + background-color: #dee2e6; + border-color: transparent; + border-radius: 1rem; +} + +.custom-range::-moz-range-thumb { + width: 1rem; + height: 1rem; + background-color: #007bff; + border: 0; + border-radius: 1rem; + -moz-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + -moz-appearance: none; + appearance: none; +} + +@media (prefers-reduced-motion: reduce) { + .custom-range::-moz-range-thumb { + -moz-transition: none; + transition: none; + } +} + +.custom-range::-moz-range-thumb:active { + background-color: #b3d7ff; +} + +.custom-range::-moz-range-track { + width: 100%; + height: 0.5rem; + color: transparent; + cursor: pointer; + background-color: #dee2e6; + border-color: transparent; + border-radius: 1rem; +} + +.custom-range::-ms-thumb { + width: 1rem; + height: 1rem; + margin-top: 0; + margin-right: 0.2rem; + margin-left: 0.2rem; + background-color: #007bff; + border: 0; + border-radius: 1rem; + -ms-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + appearance: none; +} + +@media (prefers-reduced-motion: reduce) { + .custom-range::-ms-thumb { + -ms-transition: none; + transition: none; + } +} + +.custom-range::-ms-thumb:active { + background-color: #b3d7ff; +} + +.custom-range::-ms-track { + width: 100%; + height: 0.5rem; + color: transparent; + cursor: pointer; + background-color: transparent; + border-color: transparent; + border-width: 0.5rem; +} + +.custom-range::-ms-fill-lower { + background-color: #dee2e6; + border-radius: 1rem; +} + +.custom-range::-ms-fill-upper { + margin-right: 15px; + background-color: #dee2e6; + border-radius: 1rem; +} + +.custom-range:disabled::-webkit-slider-thumb { + background-color: #adb5bd; +} + +.custom-range:disabled::-webkit-slider-runnable-track { + cursor: default; +} + +.custom-range:disabled::-moz-range-thumb { + background-color: #adb5bd; +} + +.custom-range:disabled::-moz-range-track { + cursor: default; +} + +.custom-range:disabled::-ms-thumb { + background-color: #adb5bd; +} + +.custom-control-label::before, +.custom-file-label, +.custom-select { + transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; +} + +@media (prefers-reduced-motion: reduce) { + .custom-control-label::before, + .custom-file-label, + .custom-select { + transition: none; + } +} + +.nav { + display: flex; + flex-wrap: wrap; + padding-left: 0; + margin-bottom: 0; + list-style: none; +} + +.nav-link { + display: block; + padding: 0.5rem 1rem; +} + +.nav-link:hover, .nav-link:focus { + text-decoration: none; +} + +.nav-link.disabled { + color: #6c757d; + pointer-events: none; + cursor: default; +} + +.nav-tabs { + border-bottom: 1px solid #dee2e6; +} + +.nav-tabs .nav-item { + margin-bottom: -1px; +} + +.nav-tabs .nav-link { + border: 1px solid transparent; + border-top-left-radius: 0.25rem; + border-top-right-radius: 0.25rem; +} + +.nav-tabs .nav-link:hover, .nav-tabs .nav-link:focus { + border-color: #e9ecef #e9ecef #dee2e6; +} + +.nav-tabs .nav-link.disabled { + color: #6c757d; + background-color: transparent; + border-color: transparent; +} + +.nav-tabs .nav-link.active, +.nav-tabs .nav-item.show .nav-link { + color: #495057; + background-color: #fff; + border-color: #dee2e6 #dee2e6 #fff; +} + +.nav-tabs .dropdown-menu { + margin-top: -1px; + border-top-left-radius: 0; + border-top-right-radius: 0; +} + +.nav-pills .nav-link { + border-radius: 0.25rem; +} + +.nav-pills .nav-link.active, +.nav-pills .show > .nav-link { + color: #fff; + background-color: #007bff; +} + +.nav-fill .nav-item { + flex: 1 1 auto; + text-align: center; +} + +.nav-justified .nav-item { + flex-basis: 0; + flex-grow: 1; + text-align: center; +} + +.tab-content > .tab-pane { + display: none; +} + +.tab-content > .active { + display: block; +} + +.navbar { + position: relative; + display: flex; + flex-wrap: wrap; + align-items: center; + justify-content: space-between; + padding: 0.5rem 1rem; +} + +.navbar .container, +.navbar .container-fluid, .navbar .container-sm, .navbar .container-md, .navbar .container-lg, .navbar .container-xl { + display: flex; + flex-wrap: wrap; + align-items: center; + justify-content: space-between; +} + +.navbar-brand { + display: inline-block; + padding-top: 0.3125rem; + padding-bottom: 0.3125rem; + margin-right: 1rem; + font-size: 1.25rem; + line-height: inherit; + white-space: nowrap; +} + +.navbar-brand:hover, .navbar-brand:focus { + text-decoration: none; +} + +.navbar-nav { + display: flex; + flex-direction: column; + padding-left: 0; + margin-bottom: 0; + list-style: none; +} + +.navbar-nav .nav-link { + padding-right: 0; + padding-left: 0; +} + +.navbar-nav .dropdown-menu { + position: static; + float: none; +} + +.navbar-text { + display: inline-block; + padding-top: 0.5rem; + padding-bottom: 0.5rem; +} + +.navbar-collapse { + flex-basis: 100%; + flex-grow: 1; + align-items: center; +} + +.navbar-toggler { + padding: 0.25rem 0.75rem; + font-size: 1.25rem; + line-height: 1; + background-color: transparent; + border: 1px solid transparent; + border-radius: 0.25rem; +} + +.navbar-toggler:hover, .navbar-toggler:focus { + text-decoration: none; +} + +.navbar-toggler-icon { + display: inline-block; + width: 1.5em; + height: 1.5em; + vertical-align: middle; + content: ""; + background: no-repeat center center; + background-size: 100% 100%; +} + +@media (max-width: 575.98px) { + .navbar-expand-sm > .container, + .navbar-expand-sm > .container-fluid, .navbar-expand-sm > .container-sm, .navbar-expand-sm > .container-md, .navbar-expand-sm > .container-lg, .navbar-expand-sm > .container-xl { + padding-right: 0; + padding-left: 0; + } +} + +@media (min-width: 576px) { + .navbar-expand-sm { + flex-flow: row nowrap; + justify-content: flex-start; + } + .navbar-expand-sm .navbar-nav { + flex-direction: row; + } + .navbar-expand-sm .navbar-nav .dropdown-menu { + position: absolute; + } + .navbar-expand-sm .navbar-nav .nav-link { + padding-right: 0.5rem; + padding-left: 0.5rem; + } + .navbar-expand-sm > .container, + .navbar-expand-sm > .container-fluid, .navbar-expand-sm > .container-sm, .navbar-expand-sm > .container-md, .navbar-expand-sm > .container-lg, .navbar-expand-sm > .container-xl { + flex-wrap: nowrap; + } + .navbar-expand-sm .navbar-collapse { + display: flex !important; + flex-basis: auto; + } + .navbar-expand-sm .navbar-toggler { + display: none; + } +} + +@media (max-width: 767.98px) { + .navbar-expand-md > .container, + .navbar-expand-md > .container-fluid, .navbar-expand-md > .container-sm, .navbar-expand-md > .container-md, .navbar-expand-md > .container-lg, .navbar-expand-md > .container-xl { + padding-right: 0; + padding-left: 0; + } +} + +@media (min-width: 768px) { + .navbar-expand-md { + flex-flow: row nowrap; + justify-content: flex-start; + } + .navbar-expand-md .navbar-nav { + flex-direction: row; + } + .navbar-expand-md .navbar-nav .dropdown-menu { + position: absolute; + } + .navbar-expand-md .navbar-nav .nav-link { + padding-right: 0.5rem; + padding-left: 0.5rem; + } + .navbar-expand-md > .container, + .navbar-expand-md > .container-fluid, .navbar-expand-md > .container-sm, .navbar-expand-md > .container-md, .navbar-expand-md > .container-lg, .navbar-expand-md > .container-xl { + flex-wrap: nowrap; + } + .navbar-expand-md .navbar-collapse { + display: flex !important; + flex-basis: auto; + } + .navbar-expand-md .navbar-toggler { + display: none; + } +} + +@media (max-width: 991.98px) { + .navbar-expand-lg > .container, + .navbar-expand-lg > .container-fluid, .navbar-expand-lg > .container-sm, .navbar-expand-lg > .container-md, .navbar-expand-lg > .container-lg, .navbar-expand-lg > .container-xl { + padding-right: 0; + padding-left: 0; + } +} + +@media (min-width: 992px) { + .navbar-expand-lg { + flex-flow: row nowrap; + justify-content: flex-start; + } + .navbar-expand-lg .navbar-nav { + flex-direction: row; + } + .navbar-expand-lg .navbar-nav .dropdown-menu { + position: absolute; + } + .navbar-expand-lg .navbar-nav .nav-link { + padding-right: 0.5rem; + padding-left: 0.5rem; + } + .navbar-expand-lg > .container, + .navbar-expand-lg > .container-fluid, .navbar-expand-lg > .container-sm, .navbar-expand-lg > .container-md, .navbar-expand-lg > .container-lg, .navbar-expand-lg > .container-xl { + flex-wrap: nowrap; + } + .navbar-expand-lg .navbar-collapse { + display: flex !important; + flex-basis: auto; + } + .navbar-expand-lg .navbar-toggler { + display: none; + } +} + +@media (max-width: 1199.98px) { + .navbar-expand-xl > .container, + .navbar-expand-xl > .container-fluid, .navbar-expand-xl > .container-sm, .navbar-expand-xl > .container-md, .navbar-expand-xl > .container-lg, .navbar-expand-xl > .container-xl { + padding-right: 0; + padding-left: 0; + } +} + +@media (min-width: 1200px) { + .navbar-expand-xl { + flex-flow: row nowrap; + justify-content: flex-start; + } + .navbar-expand-xl .navbar-nav { + flex-direction: row; + } + .navbar-expand-xl .navbar-nav .dropdown-menu { + position: absolute; + } + .navbar-expand-xl .navbar-nav .nav-link { + padding-right: 0.5rem; + padding-left: 0.5rem; + } + .navbar-expand-xl > .container, + .navbar-expand-xl > .container-fluid, .navbar-expand-xl > .container-sm, .navbar-expand-xl > .container-md, .navbar-expand-xl > .container-lg, .navbar-expand-xl > .container-xl { + flex-wrap: nowrap; + } + .navbar-expand-xl .navbar-collapse { + display: flex !important; + flex-basis: auto; + } + .navbar-expand-xl .navbar-toggler { + display: none; + } +} + +.navbar-expand { + flex-flow: row nowrap; + justify-content: flex-start; +} + +.navbar-expand > .container, +.navbar-expand > .container-fluid, .navbar-expand > .container-sm, .navbar-expand > .container-md, .navbar-expand > .container-lg, .navbar-expand > .container-xl { + padding-right: 0; + padding-left: 0; +} + +.navbar-expand .navbar-nav { + flex-direction: row; +} + +.navbar-expand .navbar-nav .dropdown-menu { + position: absolute; +} + +.navbar-expand .navbar-nav .nav-link { + padding-right: 0.5rem; + padding-left: 0.5rem; +} + +.navbar-expand > .container, +.navbar-expand > .container-fluid, .navbar-expand > .container-sm, .navbar-expand > .container-md, .navbar-expand > .container-lg, .navbar-expand > .container-xl { + flex-wrap: nowrap; +} + +.navbar-expand .navbar-collapse { + display: flex !important; + flex-basis: auto; +} + +.navbar-expand .navbar-toggler { + display: none; +} + +.navbar-light .navbar-brand { + color: rgba(0, 0, 0, 0.9); +} + +.navbar-light .navbar-brand:hover, .navbar-light .navbar-brand:focus { + color: rgba(0, 0, 0, 0.9); +} + +.navbar-light .navbar-nav .nav-link { + color: rgba(0, 0, 0, 0.5); +} + +.navbar-light .navbar-nav .nav-link:hover, .navbar-light .navbar-nav .nav-link:focus { + color: rgba(0, 0, 0, 0.7); +} + +.navbar-light .navbar-nav .nav-link.disabled { + color: rgba(0, 0, 0, 0.3); +} + +.navbar-light .navbar-nav .show > .nav-link, +.navbar-light .navbar-nav .active > .nav-link, +.navbar-light .navbar-nav .nav-link.show, +.navbar-light .navbar-nav .nav-link.active { + color: rgba(0, 0, 0, 0.9); +} + +.navbar-light .navbar-toggler { + color: rgba(0, 0, 0, 0.5); + border-color: rgba(0, 0, 0, 0.1); +} + +.navbar-light .navbar-toggler-icon { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba(0, 0, 0, 0.5)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e"); +} + +.navbar-light .navbar-text { + color: rgba(0, 0, 0, 0.5); +} + +.navbar-light .navbar-text a { + color: rgba(0, 0, 0, 0.9); +} + +.navbar-light .navbar-text a:hover, .navbar-light .navbar-text a:focus { + color: rgba(0, 0, 0, 0.9); +} + +.navbar-dark .navbar-brand { + color: #fff; +} + +.navbar-dark .navbar-brand:hover, .navbar-dark .navbar-brand:focus { + color: #fff; +} + +.navbar-dark .navbar-nav .nav-link { + color: rgba(255, 255, 255, 0.5); +} + +.navbar-dark .navbar-nav .nav-link:hover, .navbar-dark .navbar-nav .nav-link:focus { + color: rgba(255, 255, 255, 0.75); +} + +.navbar-dark .navbar-nav .nav-link.disabled { + color: rgba(255, 255, 255, 0.25); +} + +.navbar-dark .navbar-nav .show > .nav-link, +.navbar-dark .navbar-nav .active > .nav-link, +.navbar-dark .navbar-nav .nav-link.show, +.navbar-dark .navbar-nav .nav-link.active { + color: #fff; +} + +.navbar-dark .navbar-toggler { + color: rgba(255, 255, 255, 0.5); + border-color: rgba(255, 255, 255, 0.1); +} + +.navbar-dark .navbar-toggler-icon { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba(255, 255, 255, 0.5)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e"); +} + +.navbar-dark .navbar-text { + color: rgba(255, 255, 255, 0.5); +} + +.navbar-dark .navbar-text a { + color: #fff; +} + +.navbar-dark .navbar-text a:hover, .navbar-dark .navbar-text a:focus { + color: #fff; +} + +.card { + position: relative; + display: flex; + flex-direction: column; + min-width: 0; + word-wrap: break-word; + background-color: #fff; + background-clip: border-box; + border: 1px solid rgba(0, 0, 0, 0.125); + border-radius: 0.25rem; +} + +.card > hr { + margin-right: 0; + margin-left: 0; +} + +.card > .list-group:first-child .list-group-item:first-child { + border-top-left-radius: 0.25rem; + border-top-right-radius: 0.25rem; +} + +.card > .list-group:last-child .list-group-item:last-child { + border-bottom-right-radius: 0.25rem; + border-bottom-left-radius: 0.25rem; +} + +.card-body { + flex: 1 1 auto; + min-height: 1px; + padding: 1.25rem; +} + +.card-title { + margin-bottom: 0.75rem; +} + +.card-subtitle { + margin-top: -0.375rem; + margin-bottom: 0; +} + +.card-text:last-child { + margin-bottom: 0; +} + +.card-link:hover { + text-decoration: none; +} + +.card-link + .card-link { + margin-left: 1.25rem; +} + +.card-header { + padding: 0.75rem 1.25rem; + margin-bottom: 0; + background-color: rgba(0, 0, 0, 0.03); + border-bottom: 1px solid rgba(0, 0, 0, 0.125); +} + +.card-header:first-child { + border-radius: calc(0.25rem - 1px) calc(0.25rem - 1px) 0 0; +} + +.card-header + .list-group .list-group-item:first-child { + border-top: 0; +} + +.card-footer { + padding: 0.75rem 1.25rem; + background-color: rgba(0, 0, 0, 0.03); + border-top: 1px solid rgba(0, 0, 0, 0.125); +} + +.card-footer:last-child { + border-radius: 0 0 calc(0.25rem - 1px) calc(0.25rem - 1px); +} + +.card-header-tabs { + margin-right: -0.625rem; + margin-bottom: -0.75rem; + margin-left: -0.625rem; + border-bottom: 0; +} + +.card-header-pills { + margin-right: -0.625rem; + margin-left: -0.625rem; +} + +.card-img-overlay { + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + padding: 1.25rem; +} + +.card-img, +.card-img-top, +.card-img-bottom { + flex-shrink: 0; + width: 100%; +} + +.card-img, +.card-img-top { + border-top-left-radius: calc(0.25rem - 1px); + border-top-right-radius: calc(0.25rem - 1px); +} + +.card-img, +.card-img-bottom { + border-bottom-right-radius: calc(0.25rem - 1px); + border-bottom-left-radius: calc(0.25rem - 1px); +} + +.card-deck .card { + margin-bottom: 15px; +} + +@media (min-width: 576px) { + .card-deck { + display: flex; + flex-flow: row wrap; + margin-right: -15px; + margin-left: -15px; + } + .card-deck .card { + flex: 1 0 0%; + margin-right: 15px; + margin-bottom: 0; + margin-left: 15px; + } +} + +.card-group > .card { + margin-bottom: 15px; +} + +@media (min-width: 576px) { + .card-group { + display: flex; + flex-flow: row wrap; + } + .card-group > .card { + flex: 1 0 0%; + margin-bottom: 0; + } + .card-group > .card + .card { + margin-left: 0; + border-left: 0; + } + .card-group > .card:not(:last-child) { + border-top-right-radius: 0; + border-bottom-right-radius: 0; + } + .card-group > .card:not(:last-child) .card-img-top, + .card-group > .card:not(:last-child) .card-header { + border-top-right-radius: 0; + } + .card-group > .card:not(:last-child) .card-img-bottom, + .card-group > .card:not(:last-child) .card-footer { + border-bottom-right-radius: 0; + } + .card-group > .card:not(:first-child) { + border-top-left-radius: 0; + border-bottom-left-radius: 0; + } + .card-group > .card:not(:first-child) .card-img-top, + .card-group > .card:not(:first-child) .card-header { + border-top-left-radius: 0; + } + .card-group > .card:not(:first-child) .card-img-bottom, + .card-group > .card:not(:first-child) .card-footer { + border-bottom-left-radius: 0; + } +} + +.card-columns .card { + margin-bottom: 0.75rem; +} + +@media (min-width: 576px) { + .card-columns { + -moz-column-count: 3; + column-count: 3; + -moz-column-gap: 1.25rem; + column-gap: 1.25rem; + orphans: 1; + widows: 1; + } + .card-columns .card { + display: inline-block; + width: 100%; + } +} + +.accordion > .card { + overflow: hidden; +} + +.accordion > .card:not(:last-of-type) { + border-bottom: 0; + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; +} + +.accordion > .card:not(:first-of-type) { + border-top-left-radius: 0; + border-top-right-radius: 0; +} + +.accordion > .card > .card-header { + border-radius: 0; + margin-bottom: -1px; +} + +.breadcrumb { + display: flex; + flex-wrap: wrap; + padding: 0.75rem 1rem; + margin-bottom: 1rem; + list-style: none; + background-color: #e9ecef; + border-radius: 0.25rem; +} + +.breadcrumb-item + .breadcrumb-item { + padding-left: 0.5rem; +} + +.breadcrumb-item + .breadcrumb-item::before { + display: inline-block; + padding-right: 0.5rem; + color: #6c757d; + content: "/"; +} + +.breadcrumb-item + .breadcrumb-item:hover::before { + text-decoration: underline; +} + +.breadcrumb-item + .breadcrumb-item:hover::before { + text-decoration: none; +} + +.breadcrumb-item.active { + color: #6c757d; +} + +.pagination { + display: flex; + padding-left: 0; + list-style: none; + border-radius: 0.25rem; +} + +.page-link { + position: relative; + display: block; + padding: 0.5rem 0.75rem; + margin-left: -1px; + line-height: 1.25; + color: #007bff; + background-color: #fff; + border: 1px solid #dee2e6; +} + +.page-link:hover { + z-index: 2; + color: #0056b3; + text-decoration: none; + background-color: #e9ecef; + border-color: #dee2e6; +} + +.page-link:focus { + z-index: 3; + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); +} + +.page-item:first-child .page-link { + margin-left: 0; + border-top-left-radius: 0.25rem; + border-bottom-left-radius: 0.25rem; +} + +.page-item:last-child .page-link { + border-top-right-radius: 0.25rem; + border-bottom-right-radius: 0.25rem; +} + +.page-item.active .page-link { + z-index: 3; + color: #fff; + background-color: #007bff; + border-color: #007bff; +} + +.page-item.disabled .page-link { + color: #6c757d; + pointer-events: none; + cursor: auto; + background-color: #fff; + border-color: #dee2e6; +} + +.pagination-lg .page-link { + padding: 0.75rem 1.5rem; + font-size: 1.25rem; + line-height: 1.5; +} + +.pagination-lg .page-item:first-child .page-link { + border-top-left-radius: 0.3rem; + border-bottom-left-radius: 0.3rem; +} + +.pagination-lg .page-item:last-child .page-link { + border-top-right-radius: 0.3rem; + border-bottom-right-radius: 0.3rem; +} + +.pagination-sm .page-link { + padding: 0.25rem 0.5rem; + font-size: 0.875rem; + line-height: 1.5; +} + +.pagination-sm .page-item:first-child .page-link { + border-top-left-radius: 0.2rem; + border-bottom-left-radius: 0.2rem; +} + +.pagination-sm .page-item:last-child .page-link { + border-top-right-radius: 0.2rem; + border-bottom-right-radius: 0.2rem; +} + +.badge { + display: inline-block; + padding: 0.25em 0.4em; + font-size: 75%; + font-weight: 700; + line-height: 1; + text-align: center; + white-space: nowrap; + vertical-align: baseline; + border-radius: 0.25rem; + transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; +} + +@media (prefers-reduced-motion: reduce) { + .badge { + transition: none; + } +} + +a.badge:hover, a.badge:focus { + text-decoration: none; +} + +.badge:empty { + display: none; +} + +.btn .badge { + position: relative; + top: -1px; +} + +.badge-pill { + padding-right: 0.6em; + padding-left: 0.6em; + border-radius: 10rem; +} + +.badge-primary { + color: #fff; + background-color: #007bff; +} + +a.badge-primary:hover, a.badge-primary:focus { + color: #fff; + background-color: #0062cc; +} + +a.badge-primary:focus, a.badge-primary.focus { + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5); +} + +.badge-secondary { + color: #fff; + background-color: #6c757d; +} + +a.badge-secondary:hover, a.badge-secondary:focus { + color: #fff; + background-color: #545b62; +} + +a.badge-secondary:focus, a.badge-secondary.focus { + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5); +} + +.badge-success { + color: #fff; + background-color: #28a745; +} + +a.badge-success:hover, a.badge-success:focus { + color: #fff; + background-color: #1e7e34; +} + +a.badge-success:focus, a.badge-success.focus { + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5); +} + +.badge-info { + color: #fff; + background-color: #17a2b8; +} + +a.badge-info:hover, a.badge-info:focus { + color: #fff; + background-color: #117a8b; +} + +a.badge-info:focus, a.badge-info.focus { + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5); +} + +.badge-warning { + color: #212529; + background-color: #ffc107; +} + +a.badge-warning:hover, a.badge-warning:focus { + color: #212529; + background-color: #d39e00; +} + +a.badge-warning:focus, a.badge-warning.focus { + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5); +} + +.badge-danger { + color: #fff; + background-color: #dc3545; +} + +a.badge-danger:hover, a.badge-danger:focus { + color: #fff; + background-color: #bd2130; +} + +a.badge-danger:focus, a.badge-danger.focus { + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5); +} + +.badge-light { + color: #212529; + background-color: #f8f9fa; +} + +a.badge-light:hover, a.badge-light:focus { + color: #212529; + background-color: #dae0e5; +} + +a.badge-light:focus, a.badge-light.focus { + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5); +} + +.badge-dark { + color: #fff; + background-color: #343a40; +} + +a.badge-dark:hover, a.badge-dark:focus { + color: #fff; + background-color: #1d2124; +} + +a.badge-dark:focus, a.badge-dark.focus { + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5); +} + +.jumbotron { + padding: 2rem 1rem; + margin-bottom: 2rem; + background-color: #e9ecef; + border-radius: 0.3rem; +} + +@media (min-width: 576px) { + .jumbotron { + padding: 4rem 2rem; + } +} + +.jumbotron-fluid { + padding-right: 0; + padding-left: 0; + border-radius: 0; +} + +.alert { + position: relative; + padding: 0.75rem 1.25rem; + margin-bottom: 1rem; + border: 1px solid transparent; + border-radius: 0.25rem; +} + +.alert-heading { + color: inherit; +} + +.alert-link { + font-weight: 700; +} + +.alert-dismissible { + padding-right: 4rem; +} + +.alert-dismissible .close { + position: absolute; + top: 0; + right: 0; + padding: 0.75rem 1.25rem; + color: inherit; +} + +.alert-primary { + color: #004085; + background-color: #cce5ff; + border-color: #b8daff; +} + +.alert-primary hr { + border-top-color: #9fcdff; +} + +.alert-primary .alert-link { + color: #002752; +} + +.alert-secondary { + color: #383d41; + background-color: #e2e3e5; + border-color: #d6d8db; +} + +.alert-secondary hr { + border-top-color: #c8cbcf; +} + +.alert-secondary .alert-link { + color: #202326; +} + +.alert-success { + color: #155724; + background-color: #d4edda; + border-color: #c3e6cb; +} + +.alert-success hr { + border-top-color: #b1dfbb; +} + +.alert-success .alert-link { + color: #0b2e13; +} + +.alert-info { + color: #0c5460; + background-color: #d1ecf1; + border-color: #bee5eb; +} + +.alert-info hr { + border-top-color: #abdde5; +} + +.alert-info .alert-link { + color: #062c33; +} + +.alert-warning { + color: #856404; + background-color: #fff3cd; + border-color: #ffeeba; +} + +.alert-warning hr { + border-top-color: #ffe8a1; +} + +.alert-warning .alert-link { + color: #533f03; +} + +.alert-danger { + color: #721c24; + background-color: #f8d7da; + border-color: #f5c6cb; +} + +.alert-danger hr { + border-top-color: #f1b0b7; +} + +.alert-danger .alert-link { + color: #491217; +} + +.alert-light { + color: #818182; + background-color: #fefefe; + border-color: #fdfdfe; +} + +.alert-light hr { + border-top-color: #ececf6; +} + +.alert-light .alert-link { + color: #686868; +} + +.alert-dark { + color: #1b1e21; + background-color: #d6d8d9; + border-color: #c6c8ca; +} + +.alert-dark hr { + border-top-color: #b9bbbe; +} + +.alert-dark .alert-link { + color: #040505; +} + +@-webkit-keyframes progress-bar-stripes { + from { + background-position: 1rem 0; + } + to { + background-position: 0 0; + } +} + +@keyframes progress-bar-stripes { + from { + background-position: 1rem 0; + } + to { + background-position: 0 0; + } +} + +.progress { + display: flex; + height: 1rem; + overflow: hidden; + font-size: 0.75rem; + background-color: #e9ecef; + border-radius: 0.25rem; +} + +.progress-bar { + display: flex; + flex-direction: column; + justify-content: center; + overflow: hidden; + color: #fff; + text-align: center; + white-space: nowrap; + background-color: #007bff; + transition: width 0.6s ease; +} + +@media (prefers-reduced-motion: reduce) { + .progress-bar { + transition: none; + } +} + +.progress-bar-striped { + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-size: 1rem 1rem; +} + +.progress-bar-animated { + -webkit-animation: progress-bar-stripes 1s linear infinite; + animation: progress-bar-stripes 1s linear infinite; +} + +@media (prefers-reduced-motion: reduce) { + .progress-bar-animated { + -webkit-animation: none; + animation: none; + } +} + +.media { + display: flex; + align-items: flex-start; +} + +.media-body { + flex: 1; +} + +.list-group { + display: flex; + flex-direction: column; + padding-left: 0; + margin-bottom: 0; +} + +.list-group-item-action { + width: 100%; + color: #495057; + text-align: inherit; +} + +.list-group-item-action:hover, .list-group-item-action:focus { + z-index: 1; + color: #495057; + text-decoration: none; + background-color: #f8f9fa; +} + +.list-group-item-action:active { + color: #212529; + background-color: #e9ecef; +} + +.list-group-item { + position: relative; + display: block; + padding: 0.75rem 1.25rem; + background-color: #fff; + border: 1px solid rgba(0, 0, 0, 0.125); +} + +.list-group-item:first-child { + border-top-left-radius: 0.25rem; + border-top-right-radius: 0.25rem; +} + +.list-group-item:last-child { + border-bottom-right-radius: 0.25rem; + border-bottom-left-radius: 0.25rem; +} + +.list-group-item.disabled, .list-group-item:disabled { + color: #6c757d; + pointer-events: none; + background-color: #fff; +} + +.list-group-item.active { + z-index: 2; + color: #fff; + background-color: #007bff; + border-color: #007bff; +} + +.list-group-item + .list-group-item { + border-top-width: 0; +} + +.list-group-item + .list-group-item.active { + margin-top: -1px; + border-top-width: 1px; +} + +.list-group-horizontal { + flex-direction: row; +} + +.list-group-horizontal .list-group-item:first-child { + border-bottom-left-radius: 0.25rem; + border-top-right-radius: 0; +} + +.list-group-horizontal .list-group-item:last-child { + border-top-right-radius: 0.25rem; + border-bottom-left-radius: 0; +} + +.list-group-horizontal .list-group-item.active { + margin-top: 0; +} + +.list-group-horizontal .list-group-item + .list-group-item { + border-top-width: 1px; + border-left-width: 0; +} + +.list-group-horizontal .list-group-item + .list-group-item.active { + margin-left: -1px; + border-left-width: 1px; +} + +@media (min-width: 576px) { + .list-group-horizontal-sm { + flex-direction: row; + } + .list-group-horizontal-sm .list-group-item:first-child { + border-bottom-left-radius: 0.25rem; + border-top-right-radius: 0; + } + .list-group-horizontal-sm .list-group-item:last-child { + border-top-right-radius: 0.25rem; + border-bottom-left-radius: 0; + } + .list-group-horizontal-sm .list-group-item.active { + margin-top: 0; + } + .list-group-horizontal-sm .list-group-item + .list-group-item { + border-top-width: 1px; + border-left-width: 0; + } + .list-group-horizontal-sm .list-group-item + .list-group-item.active { + margin-left: -1px; + border-left-width: 1px; + } +} + +@media (min-width: 768px) { + .list-group-horizontal-md { + flex-direction: row; + } + .list-group-horizontal-md .list-group-item:first-child { + border-bottom-left-radius: 0.25rem; + border-top-right-radius: 0; + } + .list-group-horizontal-md .list-group-item:last-child { + border-top-right-radius: 0.25rem; + border-bottom-left-radius: 0; + } + .list-group-horizontal-md .list-group-item.active { + margin-top: 0; + } + .list-group-horizontal-md .list-group-item + .list-group-item { + border-top-width: 1px; + border-left-width: 0; + } + .list-group-horizontal-md .list-group-item + .list-group-item.active { + margin-left: -1px; + border-left-width: 1px; + } +} + +@media (min-width: 992px) { + .list-group-horizontal-lg { + flex-direction: row; + } + .list-group-horizontal-lg .list-group-item:first-child { + border-bottom-left-radius: 0.25rem; + border-top-right-radius: 0; + } + .list-group-horizontal-lg .list-group-item:last-child { + border-top-right-radius: 0.25rem; + border-bottom-left-radius: 0; + } + .list-group-horizontal-lg .list-group-item.active { + margin-top: 0; + } + .list-group-horizontal-lg .list-group-item + .list-group-item { + border-top-width: 1px; + border-left-width: 0; + } + .list-group-horizontal-lg .list-group-item + .list-group-item.active { + margin-left: -1px; + border-left-width: 1px; + } +} + +@media (min-width: 1200px) { + .list-group-horizontal-xl { + flex-direction: row; + } + .list-group-horizontal-xl .list-group-item:first-child { + border-bottom-left-radius: 0.25rem; + border-top-right-radius: 0; + } + .list-group-horizontal-xl .list-group-item:last-child { + border-top-right-radius: 0.25rem; + border-bottom-left-radius: 0; + } + .list-group-horizontal-xl .list-group-item.active { + margin-top: 0; + } + .list-group-horizontal-xl .list-group-item + .list-group-item { + border-top-width: 1px; + border-left-width: 0; + } + .list-group-horizontal-xl .list-group-item + .list-group-item.active { + margin-left: -1px; + border-left-width: 1px; + } +} + +.list-group-flush .list-group-item { + border-right-width: 0; + border-left-width: 0; + border-radius: 0; +} + +.list-group-flush .list-group-item:first-child { + border-top-width: 0; +} + +.list-group-flush:last-child .list-group-item:last-child { + border-bottom-width: 0; +} + +.list-group-item-primary { + color: #004085; + background-color: #b8daff; +} + +.list-group-item-primary.list-group-item-action:hover, .list-group-item-primary.list-group-item-action:focus { + color: #004085; + background-color: #9fcdff; +} + +.list-group-item-primary.list-group-item-action.active { + color: #fff; + background-color: #004085; + border-color: #004085; +} + +.list-group-item-secondary { + color: #383d41; + background-color: #d6d8db; +} + +.list-group-item-secondary.list-group-item-action:hover, .list-group-item-secondary.list-group-item-action:focus { + color: #383d41; + background-color: #c8cbcf; +} + +.list-group-item-secondary.list-group-item-action.active { + color: #fff; + background-color: #383d41; + border-color: #383d41; +} + +.list-group-item-success { + color: #155724; + background-color: #c3e6cb; +} + +.list-group-item-success.list-group-item-action:hover, .list-group-item-success.list-group-item-action:focus { + color: #155724; + background-color: #b1dfbb; +} + +.list-group-item-success.list-group-item-action.active { + color: #fff; + background-color: #155724; + border-color: #155724; +} + +.list-group-item-info { + color: #0c5460; + background-color: #bee5eb; +} + +.list-group-item-info.list-group-item-action:hover, .list-group-item-info.list-group-item-action:focus { + color: #0c5460; + background-color: #abdde5; +} + +.list-group-item-info.list-group-item-action.active { + color: #fff; + background-color: #0c5460; + border-color: #0c5460; +} + +.list-group-item-warning { + color: #856404; + background-color: #ffeeba; +} + +.list-group-item-warning.list-group-item-action:hover, .list-group-item-warning.list-group-item-action:focus { + color: #856404; + background-color: #ffe8a1; +} + +.list-group-item-warning.list-group-item-action.active { + color: #fff; + background-color: #856404; + border-color: #856404; +} + +.list-group-item-danger { + color: #721c24; + background-color: #f5c6cb; +} + +.list-group-item-danger.list-group-item-action:hover, .list-group-item-danger.list-group-item-action:focus { + color: #721c24; + background-color: #f1b0b7; +} + +.list-group-item-danger.list-group-item-action.active { + color: #fff; + background-color: #721c24; + border-color: #721c24; +} + +.list-group-item-light { + color: #818182; + background-color: #fdfdfe; +} + +.list-group-item-light.list-group-item-action:hover, .list-group-item-light.list-group-item-action:focus { + color: #818182; + background-color: #ececf6; +} + +.list-group-item-light.list-group-item-action.active { + color: #fff; + background-color: #818182; + border-color: #818182; +} + +.list-group-item-dark { + color: #1b1e21; + background-color: #c6c8ca; +} + +.list-group-item-dark.list-group-item-action:hover, .list-group-item-dark.list-group-item-action:focus { + color: #1b1e21; + background-color: #b9bbbe; +} + +.list-group-item-dark.list-group-item-action.active { + color: #fff; + background-color: #1b1e21; + border-color: #1b1e21; +} + +.close { + float: right; + font-size: 1.5rem; + font-weight: 700; + line-height: 1; + color: #000; + text-shadow: 0 1px 0 #fff; + opacity: .5; +} + +.close:hover { + color: #000; + text-decoration: none; +} + +.close:not(:disabled):not(.disabled):hover, .close:not(:disabled):not(.disabled):focus { + opacity: .75; +} + +button.close { + padding: 0; + background-color: transparent; + border: 0; + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; +} + +a.close.disabled { + pointer-events: none; +} + +.toast { + max-width: 350px; + overflow: hidden; + font-size: 0.875rem; + background-color: rgba(255, 255, 255, 0.85); + background-clip: padding-box; + border: 1px solid rgba(0, 0, 0, 0.1); + box-shadow: 0 0.25rem 0.75rem rgba(0, 0, 0, 0.1); + -webkit-backdrop-filter: blur(10px); + backdrop-filter: blur(10px); + opacity: 0; + border-radius: 0.25rem; +} + +.toast:not(:last-child) { + margin-bottom: 0.75rem; +} + +.toast.showing { + opacity: 1; +} + +.toast.show { + display: block; + opacity: 1; +} + +.toast.hide { + display: none; +} + +.toast-header { + display: flex; + align-items: center; + padding: 0.25rem 0.75rem; + color: #6c757d; + background-color: rgba(255, 255, 255, 0.85); + background-clip: padding-box; + border-bottom: 1px solid rgba(0, 0, 0, 0.05); +} + +.toast-body { + padding: 0.75rem; +} + +.modal-open { + overflow: hidden; +} + +.modal-open .modal { + overflow-x: hidden; + overflow-y: auto; +} + +.modal { + position: fixed; + top: 0; + left: 0; + z-index: 1050; + display: none; + width: 100%; + height: 100%; + overflow: hidden; + outline: 0; +} + +.modal-dialog { + position: relative; + width: auto; + margin: 0.5rem; + pointer-events: none; +} + +.modal.fade .modal-dialog { + transition: transform 0.3s ease-out; + transform: translate(0, -50px); +} + +@media (prefers-reduced-motion: reduce) { + .modal.fade .modal-dialog { + transition: none; + } +} + +.modal.show .modal-dialog { + transform: none; +} + +.modal.modal-static .modal-dialog { + transform: scale(1.02); +} + +.modal-dialog-scrollable { + display: flex; + max-height: calc(100% - 1rem); +} + +.modal-dialog-scrollable .modal-content { + max-height: calc(100vh - 1rem); + overflow: hidden; +} + +.modal-dialog-scrollable .modal-header, +.modal-dialog-scrollable .modal-footer { + flex-shrink: 0; +} + +.modal-dialog-scrollable .modal-body { + overflow-y: auto; +} + +.modal-dialog-centered { + display: flex; + align-items: center; + min-height: calc(100% - 1rem); +} + +.modal-dialog-centered::before { + display: block; + height: calc(100vh - 1rem); + content: ""; +} + +.modal-dialog-centered.modal-dialog-scrollable { + flex-direction: column; + justify-content: center; + height: 100%; +} + +.modal-dialog-centered.modal-dialog-scrollable .modal-content { + max-height: none; +} + +.modal-dialog-centered.modal-dialog-scrollable::before { + content: none; +} + +.modal-content { + position: relative; + display: flex; + flex-direction: column; + width: 100%; + pointer-events: auto; + background-color: #fff; + background-clip: padding-box; + border: 1px solid rgba(0, 0, 0, 0.2); + border-radius: 0.3rem; + outline: 0; +} + +.modal-backdrop { + position: fixed; + top: 0; + left: 0; + z-index: 1040; + width: 100vw; + height: 100vh; + background-color: #000; +} + +.modal-backdrop.fade { + opacity: 0; +} + +.modal-backdrop.show { + opacity: 0.5; +} + +.modal-header { + display: flex; + align-items: flex-start; + justify-content: space-between; + padding: 1rem 1rem; + border-bottom: 1px solid #dee2e6; + border-top-left-radius: calc(0.3rem - 1px); + border-top-right-radius: calc(0.3rem - 1px); +} + +.modal-header .close { + padding: 1rem 1rem; + margin: -1rem -1rem -1rem auto; +} + +.modal-title { + margin-bottom: 0; + line-height: 1.5; +} + +.modal-body { + position: relative; + flex: 1 1 auto; + padding: 1rem; +} + +.modal-footer { + display: flex; + flex-wrap: wrap; + align-items: center; + justify-content: flex-end; + padding: 0.75rem; + border-top: 1px solid #dee2e6; + border-bottom-right-radius: calc(0.3rem - 1px); + border-bottom-left-radius: calc(0.3rem - 1px); +} + +.modal-footer > * { + margin: 0.25rem; +} + +.modal-scrollbar-measure { + position: absolute; + top: -9999px; + width: 50px; + height: 50px; + overflow: scroll; +} + +@media (min-width: 576px) { + .modal-dialog { + max-width: 500px; + margin: 1.75rem auto; + } + .modal-dialog-scrollable { + max-height: calc(100% - 3.5rem); + } + .modal-dialog-scrollable .modal-content { + max-height: calc(100vh - 3.5rem); + } + .modal-dialog-centered { + min-height: calc(100% - 3.5rem); + } + .modal-dialog-centered::before { + height: calc(100vh - 3.5rem); + } + .modal-sm { + max-width: 300px; + } +} + +@media (min-width: 992px) { + .modal-lg, + .modal-xl { + max-width: 800px; + } +} + +@media (min-width: 1200px) { + .modal-xl { + max-width: 1140px; + } +} + +.tooltip { + position: absolute; + z-index: 1070; + display: block; + margin: 0; + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; + font-style: normal; + font-weight: 400; + line-height: 1.5; + text-align: left; + text-align: start; + text-decoration: none; + text-shadow: none; + text-transform: none; + letter-spacing: normal; + word-break: normal; + word-spacing: normal; + white-space: normal; + line-break: auto; + font-size: 0.875rem; + word-wrap: break-word; + opacity: 0; +} + +.tooltip.show { + opacity: 0.9; +} + +.tooltip .arrow { + position: absolute; + display: block; + width: 0.8rem; + height: 0.4rem; +} + +.tooltip .arrow::before { + position: absolute; + content: ""; + border-color: transparent; + border-style: solid; +} + +.bs-tooltip-top, .bs-tooltip-auto[x-placement^="top"] { + padding: 0.4rem 0; +} + +.bs-tooltip-top .arrow, .bs-tooltip-auto[x-placement^="top"] .arrow { + bottom: 0; +} + +.bs-tooltip-top .arrow::before, .bs-tooltip-auto[x-placement^="top"] .arrow::before { + top: 0; + border-width: 0.4rem 0.4rem 0; + border-top-color: #000; +} + +.bs-tooltip-right, .bs-tooltip-auto[x-placement^="right"] { + padding: 0 0.4rem; +} + +.bs-tooltip-right .arrow, .bs-tooltip-auto[x-placement^="right"] .arrow { + left: 0; + width: 0.4rem; + height: 0.8rem; +} + +.bs-tooltip-right .arrow::before, .bs-tooltip-auto[x-placement^="right"] .arrow::before { + right: 0; + border-width: 0.4rem 0.4rem 0.4rem 0; + border-right-color: #000; +} + +.bs-tooltip-bottom, .bs-tooltip-auto[x-placement^="bottom"] { + padding: 0.4rem 0; +} + +.bs-tooltip-bottom .arrow, .bs-tooltip-auto[x-placement^="bottom"] .arrow { + top: 0; +} + +.bs-tooltip-bottom .arrow::before, .bs-tooltip-auto[x-placement^="bottom"] .arrow::before { + bottom: 0; + border-width: 0 0.4rem 0.4rem; + border-bottom-color: #000; +} + +.bs-tooltip-left, .bs-tooltip-auto[x-placement^="left"] { + padding: 0 0.4rem; +} + +.bs-tooltip-left .arrow, .bs-tooltip-auto[x-placement^="left"] .arrow { + right: 0; + width: 0.4rem; + height: 0.8rem; +} + +.bs-tooltip-left .arrow::before, .bs-tooltip-auto[x-placement^="left"] .arrow::before { + left: 0; + border-width: 0.4rem 0 0.4rem 0.4rem; + border-left-color: #000; +} + +.tooltip-inner { + max-width: 200px; + padding: 0.25rem 0.5rem; + color: #fff; + text-align: center; + background-color: #000; + border-radius: 0.25rem; +} + +.popover { + position: absolute; + top: 0; + left: 0; + z-index: 1060; + display: block; + max-width: 276px; + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; + font-style: normal; + font-weight: 400; + line-height: 1.5; + text-align: left; + text-align: start; + text-decoration: none; + text-shadow: none; + text-transform: none; + letter-spacing: normal; + word-break: normal; + word-spacing: normal; + white-space: normal; + line-break: auto; + font-size: 0.875rem; + word-wrap: break-word; + background-color: #fff; + background-clip: padding-box; + border: 1px solid rgba(0, 0, 0, 0.2); + border-radius: 0.3rem; +} + +.popover .arrow { + position: absolute; + display: block; + width: 1rem; + height: 0.5rem; + margin: 0 0.3rem; +} + +.popover .arrow::before, .popover .arrow::after { + position: absolute; + display: block; + content: ""; + border-color: transparent; + border-style: solid; +} + +.bs-popover-top, .bs-popover-auto[x-placement^="top"] { + margin-bottom: 0.5rem; +} + +.bs-popover-top > .arrow, .bs-popover-auto[x-placement^="top"] > .arrow { + bottom: calc(-0.5rem - 1px); +} + +.bs-popover-top > .arrow::before, .bs-popover-auto[x-placement^="top"] > .arrow::before { + bottom: 0; + border-width: 0.5rem 0.5rem 0; + border-top-color: rgba(0, 0, 0, 0.25); +} + +.bs-popover-top > .arrow::after, .bs-popover-auto[x-placement^="top"] > .arrow::after { + bottom: 1px; + border-width: 0.5rem 0.5rem 0; + border-top-color: #fff; +} + +.bs-popover-right, .bs-popover-auto[x-placement^="right"] { + margin-left: 0.5rem; +} + +.bs-popover-right > .arrow, .bs-popover-auto[x-placement^="right"] > .arrow { + left: calc(-0.5rem - 1px); + width: 0.5rem; + height: 1rem; + margin: 0.3rem 0; +} + +.bs-popover-right > .arrow::before, .bs-popover-auto[x-placement^="right"] > .arrow::before { + left: 0; + border-width: 0.5rem 0.5rem 0.5rem 0; + border-right-color: rgba(0, 0, 0, 0.25); +} + +.bs-popover-right > .arrow::after, .bs-popover-auto[x-placement^="right"] > .arrow::after { + left: 1px; + border-width: 0.5rem 0.5rem 0.5rem 0; + border-right-color: #fff; +} + +.bs-popover-bottom, .bs-popover-auto[x-placement^="bottom"] { + margin-top: 0.5rem; +} + +.bs-popover-bottom > .arrow, .bs-popover-auto[x-placement^="bottom"] > .arrow { + top: calc(-0.5rem - 1px); +} + +.bs-popover-bottom > .arrow::before, .bs-popover-auto[x-placement^="bottom"] > .arrow::before { + top: 0; + border-width: 0 0.5rem 0.5rem 0.5rem; + border-bottom-color: rgba(0, 0, 0, 0.25); +} + +.bs-popover-bottom > .arrow::after, .bs-popover-auto[x-placement^="bottom"] > .arrow::after { + top: 1px; + border-width: 0 0.5rem 0.5rem 0.5rem; + border-bottom-color: #fff; +} + +.bs-popover-bottom .popover-header::before, .bs-popover-auto[x-placement^="bottom"] .popover-header::before { + position: absolute; + top: 0; + left: 50%; + display: block; + width: 1rem; + margin-left: -0.5rem; + content: ""; + border-bottom: 1px solid #f7f7f7; +} + +.bs-popover-left, .bs-popover-auto[x-placement^="left"] { + margin-right: 0.5rem; +} + +.bs-popover-left > .arrow, .bs-popover-auto[x-placement^="left"] > .arrow { + right: calc(-0.5rem - 1px); + width: 0.5rem; + height: 1rem; + margin: 0.3rem 0; +} + +.bs-popover-left > .arrow::before, .bs-popover-auto[x-placement^="left"] > .arrow::before { + right: 0; + border-width: 0.5rem 0 0.5rem 0.5rem; + border-left-color: rgba(0, 0, 0, 0.25); +} + +.bs-popover-left > .arrow::after, .bs-popover-auto[x-placement^="left"] > .arrow::after { + right: 1px; + border-width: 0.5rem 0 0.5rem 0.5rem; + border-left-color: #fff; +} + +.popover-header { + padding: 0.5rem 0.75rem; + margin-bottom: 0; + font-size: 1rem; + background-color: #f7f7f7; + border-bottom: 1px solid #ebebeb; + border-top-left-radius: calc(0.3rem - 1px); + border-top-right-radius: calc(0.3rem - 1px); +} + +.popover-header:empty { + display: none; +} + +.popover-body { + padding: 0.5rem 0.75rem; + color: #212529; +} + +.carousel { + position: relative; +} + +.carousel.pointer-event { + touch-action: pan-y; +} + +.carousel-inner { + position: relative; + width: 100%; + overflow: hidden; +} + +.carousel-inner::after { + display: block; + clear: both; + content: ""; +} + +.carousel-item { + position: relative; + display: none; + float: left; + width: 100%; + margin-right: -100%; + -webkit-backface-visibility: hidden; + backface-visibility: hidden; + transition: transform 0.6s ease-in-out; +} + +@media (prefers-reduced-motion: reduce) { + .carousel-item { + transition: none; + } +} + +.carousel-item.active, +.carousel-item-next, +.carousel-item-prev { + display: block; +} + +.carousel-item-next:not(.carousel-item-left), +.active.carousel-item-right { + transform: translateX(100%); +} + +.carousel-item-prev:not(.carousel-item-right), +.active.carousel-item-left { + transform: translateX(-100%); +} + +.carousel-fade .carousel-item { + opacity: 0; + transition-property: opacity; + transform: none; +} + +.carousel-fade .carousel-item.active, +.carousel-fade .carousel-item-next.carousel-item-left, +.carousel-fade .carousel-item-prev.carousel-item-right { + z-index: 1; + opacity: 1; +} + +.carousel-fade .active.carousel-item-left, +.carousel-fade .active.carousel-item-right { + z-index: 0; + opacity: 0; + transition: opacity 0s 0.6s; +} + +@media (prefers-reduced-motion: reduce) { + .carousel-fade .active.carousel-item-left, + .carousel-fade .active.carousel-item-right { + transition: none; + } +} + +.carousel-control-prev, +.carousel-control-next { + position: absolute; + top: 0; + bottom: 0; + z-index: 1; + display: flex; + align-items: center; + justify-content: center; + width: 15%; + color: #fff; + text-align: center; + opacity: 0.5; + transition: opacity 0.15s ease; +} + +@media (prefers-reduced-motion: reduce) { + .carousel-control-prev, + .carousel-control-next { + transition: none; + } +} + +.carousel-control-prev:hover, .carousel-control-prev:focus, +.carousel-control-next:hover, +.carousel-control-next:focus { + color: #fff; + text-decoration: none; + outline: 0; + opacity: 0.9; +} + +.carousel-control-prev { + left: 0; +} + +.carousel-control-next { + right: 0; +} + +.carousel-control-prev-icon, +.carousel-control-next-icon { + display: inline-block; + width: 20px; + height: 20px; + background: no-repeat 50% / 100% 100%; +} + +.carousel-control-prev-icon { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath d='M5.25 0l-4 4 4 4 1.5-1.5L4.25 4l2.5-2.5L5.25 0z'/%3e%3c/svg%3e"); +} + +.carousel-control-next-icon { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath d='M2.75 0l-1.5 1.5L3.75 4l-2.5 2.5L2.75 8l4-4-4-4z'/%3e%3c/svg%3e"); +} + +.carousel-indicators { + position: absolute; + right: 0; + bottom: 0; + left: 0; + z-index: 15; + display: flex; + justify-content: center; + padding-left: 0; + margin-right: 15%; + margin-left: 15%; + list-style: none; +} + +.carousel-indicators li { + box-sizing: content-box; + flex: 0 1 auto; + width: 30px; + height: 3px; + margin-right: 3px; + margin-left: 3px; + text-indent: -999px; + cursor: pointer; + background-color: #fff; + background-clip: padding-box; + border-top: 10px solid transparent; + border-bottom: 10px solid transparent; + opacity: .5; + transition: opacity 0.6s ease; +} + +@media (prefers-reduced-motion: reduce) { + .carousel-indicators li { + transition: none; + } +} + +.carousel-indicators .active { + opacity: 1; +} + +.carousel-caption { + position: absolute; + right: 15%; + bottom: 20px; + left: 15%; + z-index: 10; + padding-top: 20px; + padding-bottom: 20px; + color: #fff; + text-align: center; +} + +@-webkit-keyframes spinner-border { + to { + transform: rotate(360deg); + } +} + +@keyframes spinner-border { + to { + transform: rotate(360deg); + } +} + +.spinner-border { + display: inline-block; + width: 2rem; + height: 2rem; + vertical-align: text-bottom; + border: 0.25em solid currentColor; + border-right-color: transparent; + border-radius: 50%; + -webkit-animation: spinner-border .75s linear infinite; + animation: spinner-border .75s linear infinite; +} + +.spinner-border-sm { + width: 1rem; + height: 1rem; + border-width: 0.2em; +} + +@-webkit-keyframes spinner-grow { + 0% { + transform: scale(0); + } + 50% { + opacity: 1; + } +} + +@keyframes spinner-grow { + 0% { + transform: scale(0); + } + 50% { + opacity: 1; + } +} + +.spinner-grow { + display: inline-block; + width: 2rem; + height: 2rem; + vertical-align: text-bottom; + background-color: currentColor; + border-radius: 50%; + opacity: 0; + -webkit-animation: spinner-grow .75s linear infinite; + animation: spinner-grow .75s linear infinite; +} + +.spinner-grow-sm { + width: 1rem; + height: 1rem; +} + +.align-baseline { + vertical-align: baseline !important; +} + +.align-top { + vertical-align: top !important; +} + +.align-middle { + vertical-align: middle !important; +} + +.align-bottom { + vertical-align: bottom !important; +} + +.align-text-bottom { + vertical-align: text-bottom !important; +} + +.align-text-top { + vertical-align: text-top !important; +} + +.bg-primary { + background-color: #007bff !important; +} + +a.bg-primary:hover, a.bg-primary:focus, +button.bg-primary:hover, +button.bg-primary:focus { + background-color: #0062cc !important; +} + +.bg-secondary { + background-color: #6c757d !important; +} + +a.bg-secondary:hover, a.bg-secondary:focus, +button.bg-secondary:hover, +button.bg-secondary:focus { + background-color: #545b62 !important; +} + +.bg-success { + background-color: #28a745 !important; +} + +a.bg-success:hover, a.bg-success:focus, +button.bg-success:hover, +button.bg-success:focus { + background-color: #1e7e34 !important; +} + +.bg-info { + background-color: #17a2b8 !important; +} + +a.bg-info:hover, a.bg-info:focus, +button.bg-info:hover, +button.bg-info:focus { + background-color: #117a8b !important; +} + +.bg-warning { + background-color: #ffc107 !important; +} + +a.bg-warning:hover, a.bg-warning:focus, +button.bg-warning:hover, +button.bg-warning:focus { + background-color: #d39e00 !important; +} + +.bg-danger { + background-color: #dc3545 !important; +} + +a.bg-danger:hover, a.bg-danger:focus, +button.bg-danger:hover, +button.bg-danger:focus { + background-color: #bd2130 !important; +} + +.bg-light { + background-color: #f8f9fa !important; +} + +a.bg-light:hover, a.bg-light:focus, +button.bg-light:hover, +button.bg-light:focus { + background-color: #dae0e5 !important; +} + +.bg-dark { + background-color: #343a40 !important; +} + +a.bg-dark:hover, a.bg-dark:focus, +button.bg-dark:hover, +button.bg-dark:focus { + background-color: #1d2124 !important; +} + +.bg-white { + background-color: #fff !important; +} + +.bg-transparent { + background-color: transparent !important; +} + +.border { + border: 1px solid #dee2e6 !important; +} + +.border-top { + border-top: 1px solid #dee2e6 !important; +} + +.border-right { + border-right: 1px solid #dee2e6 !important; +} + +.border-bottom { + border-bottom: 1px solid #dee2e6 !important; +} + +.border-left { + border-left: 1px solid #dee2e6 !important; +} + +.border-0 { + border: 0 !important; +} + +.border-top-0 { + border-top: 0 !important; +} + +.border-right-0 { + border-right: 0 !important; +} + +.border-bottom-0 { + border-bottom: 0 !important; +} + +.border-left-0 { + border-left: 0 !important; +} + +.border-primary { + border-color: #007bff !important; +} + +.border-secondary { + border-color: #6c757d !important; +} + +.border-success { + border-color: #28a745 !important; +} + +.border-info { + border-color: #17a2b8 !important; +} + +.border-warning { + border-color: #ffc107 !important; +} + +.border-danger { + border-color: #dc3545 !important; +} + +.border-light { + border-color: #f8f9fa !important; +} + +.border-dark { + border-color: #343a40 !important; +} + +.border-white { + border-color: #fff !important; +} + +.rounded-sm { + border-radius: 0.2rem !important; +} + +.rounded { + border-radius: 0.25rem !important; +} + +.rounded-top { + border-top-left-radius: 0.25rem !important; + border-top-right-radius: 0.25rem !important; +} + +.rounded-right { + border-top-right-radius: 0.25rem !important; + border-bottom-right-radius: 0.25rem !important; +} + +.rounded-bottom { + border-bottom-right-radius: 0.25rem !important; + border-bottom-left-radius: 0.25rem !important; +} + +.rounded-left { + border-top-left-radius: 0.25rem !important; + border-bottom-left-radius: 0.25rem !important; +} + +.rounded-lg { + border-radius: 0.3rem !important; +} + +.rounded-circle { + border-radius: 50% !important; +} + +.rounded-pill { + border-radius: 50rem !important; +} + +.rounded-0 { + border-radius: 0 !important; +} + +.clearfix::after { + display: block; + clear: both; + content: ""; +} + +.d-none { + display: none !important; +} + +.d-inline { + display: inline !important; +} + +.d-inline-block { + display: inline-block !important; +} + +.d-block { + display: block !important; +} + +.d-table { + display: table !important; +} + +.d-table-row { + display: table-row !important; +} + +.d-table-cell { + display: table-cell !important; +} + +.d-flex { + display: flex !important; +} + +.d-inline-flex { + display: inline-flex !important; +} + +@media (min-width: 576px) { + .d-sm-none { + display: none !important; + } + .d-sm-inline { + display: inline !important; + } + .d-sm-inline-block { + display: inline-block !important; + } + .d-sm-block { + display: block !important; + } + .d-sm-table { + display: table !important; + } + .d-sm-table-row { + display: table-row !important; + } + .d-sm-table-cell { + display: table-cell !important; + } + .d-sm-flex { + display: flex !important; + } + .d-sm-inline-flex { + display: inline-flex !important; + } +} + +@media (min-width: 768px) { + .d-md-none { + display: none !important; + } + .d-md-inline { + display: inline !important; + } + .d-md-inline-block { + display: inline-block !important; + } + .d-md-block { + display: block !important; + } + .d-md-table { + display: table !important; + } + .d-md-table-row { + display: table-row !important; + } + .d-md-table-cell { + display: table-cell !important; + } + .d-md-flex { + display: flex !important; + } + .d-md-inline-flex { + display: inline-flex !important; + } +} + +@media (min-width: 992px) { + .d-lg-none { + display: none !important; + } + .d-lg-inline { + display: inline !important; + } + .d-lg-inline-block { + display: inline-block !important; + } + .d-lg-block { + display: block !important; + } + .d-lg-table { + display: table !important; + } + .d-lg-table-row { + display: table-row !important; + } + .d-lg-table-cell { + display: table-cell !important; + } + .d-lg-flex { + display: flex !important; + } + .d-lg-inline-flex { + display: inline-flex !important; + } +} + +@media (min-width: 1200px) { + .d-xl-none { + display: none !important; + } + .d-xl-inline { + display: inline !important; + } + .d-xl-inline-block { + display: inline-block !important; + } + .d-xl-block { + display: block !important; + } + .d-xl-table { + display: table !important; + } + .d-xl-table-row { + display: table-row !important; + } + .d-xl-table-cell { + display: table-cell !important; + } + .d-xl-flex { + display: flex !important; + } + .d-xl-inline-flex { + display: inline-flex !important; + } +} + +@media print { + .d-print-none { + display: none !important; + } + .d-print-inline { + display: inline !important; + } + .d-print-inline-block { + display: inline-block !important; + } + .d-print-block { + display: block !important; + } + .d-print-table { + display: table !important; + } + .d-print-table-row { + display: table-row !important; + } + .d-print-table-cell { + display: table-cell !important; + } + .d-print-flex { + display: flex !important; + } + .d-print-inline-flex { + display: inline-flex !important; + } +} + +.embed-responsive { + position: relative; + display: block; + width: 100%; + padding: 0; + overflow: hidden; +} + +.embed-responsive::before { + display: block; + content: ""; +} + +.embed-responsive .embed-responsive-item, +.embed-responsive iframe, +.embed-responsive embed, +.embed-responsive object, +.embed-responsive video { + position: absolute; + top: 0; + bottom: 0; + left: 0; + width: 100%; + height: 100%; + border: 0; +} + +.embed-responsive-21by9::before { + padding-top: 42.857143%; +} + +.embed-responsive-16by9::before { + padding-top: 56.25%; +} + +.embed-responsive-4by3::before { + padding-top: 75%; +} + +.embed-responsive-1by1::before { + padding-top: 100%; +} + +.flex-row { + flex-direction: row !important; +} + +.flex-column { + flex-direction: column !important; +} + +.flex-row-reverse { + flex-direction: row-reverse !important; +} + +.flex-column-reverse { + flex-direction: column-reverse !important; +} + +.flex-wrap { + flex-wrap: wrap !important; +} + +.flex-nowrap { + flex-wrap: nowrap !important; +} + +.flex-wrap-reverse { + flex-wrap: wrap-reverse !important; +} + +.flex-fill { + flex: 1 1 auto !important; +} + +.flex-grow-0 { + flex-grow: 0 !important; +} + +.flex-grow-1 { + flex-grow: 1 !important; +} + +.flex-shrink-0 { + flex-shrink: 0 !important; +} + +.flex-shrink-1 { + flex-shrink: 1 !important; +} + +.justify-content-start { + justify-content: flex-start !important; +} + +.justify-content-end { + justify-content: flex-end !important; +} + +.justify-content-center { + justify-content: center !important; +} + +.justify-content-between { + justify-content: space-between !important; +} + +.justify-content-around { + justify-content: space-around !important; +} + +.align-items-start { + align-items: flex-start !important; +} + +.align-items-end { + align-items: flex-end !important; +} + +.align-items-center { + align-items: center !important; +} + +.align-items-baseline { + align-items: baseline !important; +} + +.align-items-stretch { + align-items: stretch !important; +} + +.align-content-start { + align-content: flex-start !important; +} + +.align-content-end { + align-content: flex-end !important; +} + +.align-content-center { + align-content: center !important; +} + +.align-content-between { + align-content: space-between !important; +} + +.align-content-around { + align-content: space-around !important; +} + +.align-content-stretch { + align-content: stretch !important; +} + +.align-self-auto { + align-self: auto !important; +} + +.align-self-start { + align-self: flex-start !important; +} + +.align-self-end { + align-self: flex-end !important; +} + +.align-self-center { + align-self: center !important; +} + +.align-self-baseline { + align-self: baseline !important; +} + +.align-self-stretch { + align-self: stretch !important; +} + +@media (min-width: 576px) { + .flex-sm-row { + flex-direction: row !important; + } + .flex-sm-column { + flex-direction: column !important; + } + .flex-sm-row-reverse { + flex-direction: row-reverse !important; + } + .flex-sm-column-reverse { + flex-direction: column-reverse !important; + } + .flex-sm-wrap { + flex-wrap: wrap !important; + } + .flex-sm-nowrap { + flex-wrap: nowrap !important; + } + .flex-sm-wrap-reverse { + flex-wrap: wrap-reverse !important; + } + .flex-sm-fill { + flex: 1 1 auto !important; + } + .flex-sm-grow-0 { + flex-grow: 0 !important; + } + .flex-sm-grow-1 { + flex-grow: 1 !important; + } + .flex-sm-shrink-0 { + flex-shrink: 0 !important; + } + .flex-sm-shrink-1 { + flex-shrink: 1 !important; + } + .justify-content-sm-start { + justify-content: flex-start !important; + } + .justify-content-sm-end { + justify-content: flex-end !important; + } + .justify-content-sm-center { + justify-content: center !important; + } + .justify-content-sm-between { + justify-content: space-between !important; + } + .justify-content-sm-around { + justify-content: space-around !important; + } + .align-items-sm-start { + align-items: flex-start !important; + } + .align-items-sm-end { + align-items: flex-end !important; + } + .align-items-sm-center { + align-items: center !important; + } + .align-items-sm-baseline { + align-items: baseline !important; + } + .align-items-sm-stretch { + align-items: stretch !important; + } + .align-content-sm-start { + align-content: flex-start !important; + } + .align-content-sm-end { + align-content: flex-end !important; + } + .align-content-sm-center { + align-content: center !important; + } + .align-content-sm-between { + align-content: space-between !important; + } + .align-content-sm-around { + align-content: space-around !important; + } + .align-content-sm-stretch { + align-content: stretch !important; + } + .align-self-sm-auto { + align-self: auto !important; + } + .align-self-sm-start { + align-self: flex-start !important; + } + .align-self-sm-end { + align-self: flex-end !important; + } + .align-self-sm-center { + align-self: center !important; + } + .align-self-sm-baseline { + align-self: baseline !important; + } + .align-self-sm-stretch { + align-self: stretch !important; + } +} + +@media (min-width: 768px) { + .flex-md-row { + flex-direction: row !important; + } + .flex-md-column { + flex-direction: column !important; + } + .flex-md-row-reverse { + flex-direction: row-reverse !important; + } + .flex-md-column-reverse { + flex-direction: column-reverse !important; + } + .flex-md-wrap { + flex-wrap: wrap !important; + } + .flex-md-nowrap { + flex-wrap: nowrap !important; + } + .flex-md-wrap-reverse { + flex-wrap: wrap-reverse !important; + } + .flex-md-fill { + flex: 1 1 auto !important; + } + .flex-md-grow-0 { + flex-grow: 0 !important; + } + .flex-md-grow-1 { + flex-grow: 1 !important; + } + .flex-md-shrink-0 { + flex-shrink: 0 !important; + } + .flex-md-shrink-1 { + flex-shrink: 1 !important; + } + .justify-content-md-start { + justify-content: flex-start !important; + } + .justify-content-md-end { + justify-content: flex-end !important; + } + .justify-content-md-center { + justify-content: center !important; + } + .justify-content-md-between { + justify-content: space-between !important; + } + .justify-content-md-around { + justify-content: space-around !important; + } + .align-items-md-start { + align-items: flex-start !important; + } + .align-items-md-end { + align-items: flex-end !important; + } + .align-items-md-center { + align-items: center !important; + } + .align-items-md-baseline { + align-items: baseline !important; + } + .align-items-md-stretch { + align-items: stretch !important; + } + .align-content-md-start { + align-content: flex-start !important; + } + .align-content-md-end { + align-content: flex-end !important; + } + .align-content-md-center { + align-content: center !important; + } + .align-content-md-between { + align-content: space-between !important; + } + .align-content-md-around { + align-content: space-around !important; + } + .align-content-md-stretch { + align-content: stretch !important; + } + .align-self-md-auto { + align-self: auto !important; + } + .align-self-md-start { + align-self: flex-start !important; + } + .align-self-md-end { + align-self: flex-end !important; + } + .align-self-md-center { + align-self: center !important; + } + .align-self-md-baseline { + align-self: baseline !important; + } + .align-self-md-stretch { + align-self: stretch !important; + } +} + +@media (min-width: 992px) { + .flex-lg-row { + flex-direction: row !important; + } + .flex-lg-column { + flex-direction: column !important; + } + .flex-lg-row-reverse { + flex-direction: row-reverse !important; + } + .flex-lg-column-reverse { + flex-direction: column-reverse !important; + } + .flex-lg-wrap { + flex-wrap: wrap !important; + } + .flex-lg-nowrap { + flex-wrap: nowrap !important; + } + .flex-lg-wrap-reverse { + flex-wrap: wrap-reverse !important; + } + .flex-lg-fill { + flex: 1 1 auto !important; + } + .flex-lg-grow-0 { + flex-grow: 0 !important; + } + .flex-lg-grow-1 { + flex-grow: 1 !important; + } + .flex-lg-shrink-0 { + flex-shrink: 0 !important; + } + .flex-lg-shrink-1 { + flex-shrink: 1 !important; + } + .justify-content-lg-start { + justify-content: flex-start !important; + } + .justify-content-lg-end { + justify-content: flex-end !important; + } + .justify-content-lg-center { + justify-content: center !important; + } + .justify-content-lg-between { + justify-content: space-between !important; + } + .justify-content-lg-around { + justify-content: space-around !important; + } + .align-items-lg-start { + align-items: flex-start !important; + } + .align-items-lg-end { + align-items: flex-end !important; + } + .align-items-lg-center { + align-items: center !important; + } + .align-items-lg-baseline { + align-items: baseline !important; + } + .align-items-lg-stretch { + align-items: stretch !important; + } + .align-content-lg-start { + align-content: flex-start !important; + } + .align-content-lg-end { + align-content: flex-end !important; + } + .align-content-lg-center { + align-content: center !important; + } + .align-content-lg-between { + align-content: space-between !important; + } + .align-content-lg-around { + align-content: space-around !important; + } + .align-content-lg-stretch { + align-content: stretch !important; + } + .align-self-lg-auto { + align-self: auto !important; + } + .align-self-lg-start { + align-self: flex-start !important; + } + .align-self-lg-end { + align-self: flex-end !important; + } + .align-self-lg-center { + align-self: center !important; + } + .align-self-lg-baseline { + align-self: baseline !important; + } + .align-self-lg-stretch { + align-self: stretch !important; + } +} + +@media (min-width: 1200px) { + .flex-xl-row { + flex-direction: row !important; + } + .flex-xl-column { + flex-direction: column !important; + } + .flex-xl-row-reverse { + flex-direction: row-reverse !important; + } + .flex-xl-column-reverse { + flex-direction: column-reverse !important; + } + .flex-xl-wrap { + flex-wrap: wrap !important; + } + .flex-xl-nowrap { + flex-wrap: nowrap !important; + } + .flex-xl-wrap-reverse { + flex-wrap: wrap-reverse !important; + } + .flex-xl-fill { + flex: 1 1 auto !important; + } + .flex-xl-grow-0 { + flex-grow: 0 !important; + } + .flex-xl-grow-1 { + flex-grow: 1 !important; + } + .flex-xl-shrink-0 { + flex-shrink: 0 !important; + } + .flex-xl-shrink-1 { + flex-shrink: 1 !important; + } + .justify-content-xl-start { + justify-content: flex-start !important; + } + .justify-content-xl-end { + justify-content: flex-end !important; + } + .justify-content-xl-center { + justify-content: center !important; + } + .justify-content-xl-between { + justify-content: space-between !important; + } + .justify-content-xl-around { + justify-content: space-around !important; + } + .align-items-xl-start { + align-items: flex-start !important; + } + .align-items-xl-end { + align-items: flex-end !important; + } + .align-items-xl-center { + align-items: center !important; + } + .align-items-xl-baseline { + align-items: baseline !important; + } + .align-items-xl-stretch { + align-items: stretch !important; + } + .align-content-xl-start { + align-content: flex-start !important; + } + .align-content-xl-end { + align-content: flex-end !important; + } + .align-content-xl-center { + align-content: center !important; + } + .align-content-xl-between { + align-content: space-between !important; + } + .align-content-xl-around { + align-content: space-around !important; + } + .align-content-xl-stretch { + align-content: stretch !important; + } + .align-self-xl-auto { + align-self: auto !important; + } + .align-self-xl-start { + align-self: flex-start !important; + } + .align-self-xl-end { + align-self: flex-end !important; + } + .align-self-xl-center { + align-self: center !important; + } + .align-self-xl-baseline { + align-self: baseline !important; + } + .align-self-xl-stretch { + align-self: stretch !important; + } +} + +.float-left { + float: left !important; +} + +.float-right { + float: right !important; +} + +.float-none { + float: none !important; +} + +@media (min-width: 576px) { + .float-sm-left { + float: left !important; + } + .float-sm-right { + float: right !important; + } + .float-sm-none { + float: none !important; + } +} + +@media (min-width: 768px) { + .float-md-left { + float: left !important; + } + .float-md-right { + float: right !important; + } + .float-md-none { + float: none !important; + } +} + +@media (min-width: 992px) { + .float-lg-left { + float: left !important; + } + .float-lg-right { + float: right !important; + } + .float-lg-none { + float: none !important; + } +} + +@media (min-width: 1200px) { + .float-xl-left { + float: left !important; + } + .float-xl-right { + float: right !important; + } + .float-xl-none { + float: none !important; + } +} + +.overflow-auto { + overflow: auto !important; +} + +.overflow-hidden { + overflow: hidden !important; +} + +.position-static { + position: static !important; +} + +.position-relative { + position: relative !important; +} + +.position-absolute { + position: absolute !important; +} + +.position-fixed { + position: fixed !important; +} + +.position-sticky { + position: -webkit-sticky !important; + position: sticky !important; +} + +.fixed-top { + position: fixed; + top: 0; + right: 0; + left: 0; + z-index: 1030; +} + +.fixed-bottom { + position: fixed; + right: 0; + bottom: 0; + left: 0; + z-index: 1030; +} + +@supports ((position: -webkit-sticky) or (position: sticky)) { + .sticky-top { + position: -webkit-sticky; + position: sticky; + top: 0; + z-index: 1020; + } +} + +.sr-only { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + margin: -1px; + overflow: hidden; + clip: rect(0, 0, 0, 0); + white-space: nowrap; + border: 0; +} + +.sr-only-focusable:active, .sr-only-focusable:focus { + position: static; + width: auto; + height: auto; + overflow: visible; + clip: auto; + white-space: normal; +} + +.shadow-sm { + box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important; +} + +.shadow { + box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important; +} + +.shadow-lg { + box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.175) !important; +} + +.shadow-none { + box-shadow: none !important; +} + +.w-25 { + width: 25% !important; +} + +.w-50 { + width: 50% !important; +} + +.w-75 { + width: 75% !important; +} + +.w-100 { + width: 100% !important; +} + +.w-auto { + width: auto !important; +} + +.h-25 { + height: 25% !important; +} + +.h-50 { + height: 50% !important; +} + +.h-75 { + height: 75% !important; +} + +.h-100 { + height: 100% !important; +} + +.h-auto { + height: auto !important; +} + +.mw-100 { + max-width: 100% !important; +} + +.mh-100 { + max-height: 100% !important; +} + +.min-vw-100 { + min-width: 100vw !important; +} + +.min-vh-100 { + min-height: 100vh !important; +} + +.vw-100 { + width: 100vw !important; +} + +.vh-100 { + height: 100vh !important; +} + +.stretched-link::after { + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: 1; + pointer-events: auto; + content: ""; + background-color: rgba(0, 0, 0, 0); +} + +.m-0 { + margin: 0 !important; +} + +.mt-0, +.my-0 { + margin-top: 0 !important; +} + +.mr-0, +.mx-0 { + margin-right: 0 !important; +} + +.mb-0, +.my-0 { + margin-bottom: 0 !important; +} + +.ml-0, +.mx-0 { + margin-left: 0 !important; +} + +.m-1 { + margin: 0.25rem !important; +} + +.mt-1, +.my-1 { + margin-top: 0.25rem !important; +} + +.mr-1, +.mx-1 { + margin-right: 0.25rem !important; +} + +.mb-1, +.my-1 { + margin-bottom: 0.25rem !important; +} + +.ml-1, +.mx-1 { + margin-left: 0.25rem !important; +} + +.m-2 { + margin: 0.5rem !important; +} + +.mt-2, +.my-2 { + margin-top: 0.5rem !important; +} + +.mr-2, +.mx-2 { + margin-right: 0.5rem !important; +} + +.mb-2, +.my-2 { + margin-bottom: 0.5rem !important; +} + +.ml-2, +.mx-2 { + margin-left: 0.5rem !important; +} + +.m-3 { + margin: 1rem !important; +} + +.mt-3, +.my-3 { + margin-top: 1rem !important; +} + +.mr-3, +.mx-3 { + margin-right: 1rem !important; +} + +.mb-3, +.my-3 { + margin-bottom: 1rem !important; +} + +.ml-3, +.mx-3 { + margin-left: 1rem !important; +} + +.m-4 { + margin: 1.5rem !important; +} + +.mt-4, +.my-4 { + margin-top: 1.5rem !important; +} + +.mr-4, +.mx-4 { + margin-right: 1.5rem !important; +} + +.mb-4, +.my-4 { + margin-bottom: 1.5rem !important; +} + +.ml-4, +.mx-4 { + margin-left: 1.5rem !important; +} + +.m-5 { + margin: 3rem !important; +} + +.mt-5, +.my-5 { + margin-top: 3rem !important; +} + +.mr-5, +.mx-5 { + margin-right: 3rem !important; +} + +.mb-5, +.my-5 { + margin-bottom: 3rem !important; +} + +.ml-5, +.mx-5 { + margin-left: 3rem !important; +} + +.p-0 { + padding: 0 !important; +} + +.pt-0, +.py-0 { + padding-top: 0 !important; +} + +.pr-0, +.px-0 { + padding-right: 0 !important; +} + +.pb-0, +.py-0 { + padding-bottom: 0 !important; +} + +.pl-0, +.px-0 { + padding-left: 0 !important; +} + +.p-1 { + padding: 0.25rem !important; +} + +.pt-1, +.py-1 { + padding-top: 0.25rem !important; +} + +.pr-1, +.px-1 { + padding-right: 0.25rem !important; +} + +.pb-1, +.py-1 { + padding-bottom: 0.25rem !important; +} + +.pl-1, +.px-1 { + padding-left: 0.25rem !important; +} + +.p-2 { + padding: 0.5rem !important; +} + +.pt-2, +.py-2 { + padding-top: 0.5rem !important; +} + +.pr-2, +.px-2 { + padding-right: 0.5rem !important; +} + +.pb-2, +.py-2 { + padding-bottom: 0.5rem !important; +} + +.pl-2, +.px-2 { + padding-left: 0.5rem !important; +} + +.p-3 { + padding: 1rem !important; +} + +.pt-3, +.py-3 { + padding-top: 1rem !important; +} + +.pr-3, +.px-3 { + padding-right: 1rem !important; +} + +.pb-3, +.py-3 { + padding-bottom: 1rem !important; +} + +.pl-3, +.px-3 { + padding-left: 1rem !important; +} + +.p-4 { + padding: 1.5rem !important; +} + +.pt-4, +.py-4 { + padding-top: 1.5rem !important; +} + +.pr-4, +.px-4 { + padding-right: 1.5rem !important; +} + +.pb-4, +.py-4 { + padding-bottom: 1.5rem !important; +} + +.pl-4, +.px-4 { + padding-left: 1.5rem !important; +} + +.p-5 { + padding: 3rem !important; +} + +.pt-5, +.py-5 { + padding-top: 3rem !important; +} + +.pr-5, +.px-5 { + padding-right: 3rem !important; +} + +.pb-5, +.py-5 { + padding-bottom: 3rem !important; +} + +.pl-5, +.px-5 { + padding-left: 3rem !important; +} + +.m-n1 { + margin: -0.25rem !important; +} + +.mt-n1, +.my-n1 { + margin-top: -0.25rem !important; +} + +.mr-n1, +.mx-n1 { + margin-right: -0.25rem !important; +} + +.mb-n1, +.my-n1 { + margin-bottom: -0.25rem !important; +} + +.ml-n1, +.mx-n1 { + margin-left: -0.25rem !important; +} + +.m-n2 { + margin: -0.5rem !important; +} + +.mt-n2, +.my-n2 { + margin-top: -0.5rem !important; +} + +.mr-n2, +.mx-n2 { + margin-right: -0.5rem !important; +} + +.mb-n2, +.my-n2 { + margin-bottom: -0.5rem !important; +} + +.ml-n2, +.mx-n2 { + margin-left: -0.5rem !important; +} + +.m-n3 { + margin: -1rem !important; +} + +.mt-n3, +.my-n3 { + margin-top: -1rem !important; +} + +.mr-n3, +.mx-n3 { + margin-right: -1rem !important; +} + +.mb-n3, +.my-n3 { + margin-bottom: -1rem !important; +} + +.ml-n3, +.mx-n3 { + margin-left: -1rem !important; +} + +.m-n4 { + margin: -1.5rem !important; +} + +.mt-n4, +.my-n4 { + margin-top: -1.5rem !important; +} + +.mr-n4, +.mx-n4 { + margin-right: -1.5rem !important; +} + +.mb-n4, +.my-n4 { + margin-bottom: -1.5rem !important; +} + +.ml-n4, +.mx-n4 { + margin-left: -1.5rem !important; +} + +.m-n5 { + margin: -3rem !important; +} + +.mt-n5, +.my-n5 { + margin-top: -3rem !important; +} + +.mr-n5, +.mx-n5 { + margin-right: -3rem !important; +} + +.mb-n5, +.my-n5 { + margin-bottom: -3rem !important; +} + +.ml-n5, +.mx-n5 { + margin-left: -3rem !important; +} + +.m-auto { + margin: auto !important; +} + +.mt-auto, +.my-auto { + margin-top: auto !important; +} + +.mr-auto, +.mx-auto { + margin-right: auto !important; +} + +.mb-auto, +.my-auto { + margin-bottom: auto !important; +} + +.ml-auto, +.mx-auto { + margin-left: auto !important; +} + +@media (min-width: 576px) { + .m-sm-0 { + margin: 0 !important; + } + .mt-sm-0, + .my-sm-0 { + margin-top: 0 !important; + } + .mr-sm-0, + .mx-sm-0 { + margin-right: 0 !important; + } + .mb-sm-0, + .my-sm-0 { + margin-bottom: 0 !important; + } + .ml-sm-0, + .mx-sm-0 { + margin-left: 0 !important; + } + .m-sm-1 { + margin: 0.25rem !important; + } + .mt-sm-1, + .my-sm-1 { + margin-top: 0.25rem !important; + } + .mr-sm-1, + .mx-sm-1 { + margin-right: 0.25rem !important; + } + .mb-sm-1, + .my-sm-1 { + margin-bottom: 0.25rem !important; + } + .ml-sm-1, + .mx-sm-1 { + margin-left: 0.25rem !important; + } + .m-sm-2 { + margin: 0.5rem !important; + } + .mt-sm-2, + .my-sm-2 { + margin-top: 0.5rem !important; + } + .mr-sm-2, + .mx-sm-2 { + margin-right: 0.5rem !important; + } + .mb-sm-2, + .my-sm-2 { + margin-bottom: 0.5rem !important; + } + .ml-sm-2, + .mx-sm-2 { + margin-left: 0.5rem !important; + } + .m-sm-3 { + margin: 1rem !important; + } + .mt-sm-3, + .my-sm-3 { + margin-top: 1rem !important; + } + .mr-sm-3, + .mx-sm-3 { + margin-right: 1rem !important; + } + .mb-sm-3, + .my-sm-3 { + margin-bottom: 1rem !important; + } + .ml-sm-3, + .mx-sm-3 { + margin-left: 1rem !important; + } + .m-sm-4 { + margin: 1.5rem !important; + } + .mt-sm-4, + .my-sm-4 { + margin-top: 1.5rem !important; + } + .mr-sm-4, + .mx-sm-4 { + margin-right: 1.5rem !important; + } + .mb-sm-4, + .my-sm-4 { + margin-bottom: 1.5rem !important; + } + .ml-sm-4, + .mx-sm-4 { + margin-left: 1.5rem !important; + } + .m-sm-5 { + margin: 3rem !important; + } + .mt-sm-5, + .my-sm-5 { + margin-top: 3rem !important; + } + .mr-sm-5, + .mx-sm-5 { + margin-right: 3rem !important; + } + .mb-sm-5, + .my-sm-5 { + margin-bottom: 3rem !important; + } + .ml-sm-5, + .mx-sm-5 { + margin-left: 3rem !important; + } + .p-sm-0 { + padding: 0 !important; + } + .pt-sm-0, + .py-sm-0 { + padding-top: 0 !important; + } + .pr-sm-0, + .px-sm-0 { + padding-right: 0 !important; + } + .pb-sm-0, + .py-sm-0 { + padding-bottom: 0 !important; + } + .pl-sm-0, + .px-sm-0 { + padding-left: 0 !important; + } + .p-sm-1 { + padding: 0.25rem !important; + } + .pt-sm-1, + .py-sm-1 { + padding-top: 0.25rem !important; + } + .pr-sm-1, + .px-sm-1 { + padding-right: 0.25rem !important; + } + .pb-sm-1, + .py-sm-1 { + padding-bottom: 0.25rem !important; + } + .pl-sm-1, + .px-sm-1 { + padding-left: 0.25rem !important; + } + .p-sm-2 { + padding: 0.5rem !important; + } + .pt-sm-2, + .py-sm-2 { + padding-top: 0.5rem !important; + } + .pr-sm-2, + .px-sm-2 { + padding-right: 0.5rem !important; + } + .pb-sm-2, + .py-sm-2 { + padding-bottom: 0.5rem !important; + } + .pl-sm-2, + .px-sm-2 { + padding-left: 0.5rem !important; + } + .p-sm-3 { + padding: 1rem !important; + } + .pt-sm-3, + .py-sm-3 { + padding-top: 1rem !important; + } + .pr-sm-3, + .px-sm-3 { + padding-right: 1rem !important; + } + .pb-sm-3, + .py-sm-3 { + padding-bottom: 1rem !important; + } + .pl-sm-3, + .px-sm-3 { + padding-left: 1rem !important; + } + .p-sm-4 { + padding: 1.5rem !important; + } + .pt-sm-4, + .py-sm-4 { + padding-top: 1.5rem !important; + } + .pr-sm-4, + .px-sm-4 { + padding-right: 1.5rem !important; + } + .pb-sm-4, + .py-sm-4 { + padding-bottom: 1.5rem !important; + } + .pl-sm-4, + .px-sm-4 { + padding-left: 1.5rem !important; + } + .p-sm-5 { + padding: 3rem !important; + } + .pt-sm-5, + .py-sm-5 { + padding-top: 3rem !important; + } + .pr-sm-5, + .px-sm-5 { + padding-right: 3rem !important; + } + .pb-sm-5, + .py-sm-5 { + padding-bottom: 3rem !important; + } + .pl-sm-5, + .px-sm-5 { + padding-left: 3rem !important; + } + .m-sm-n1 { + margin: -0.25rem !important; + } + .mt-sm-n1, + .my-sm-n1 { + margin-top: -0.25rem !important; + } + .mr-sm-n1, + .mx-sm-n1 { + margin-right: -0.25rem !important; + } + .mb-sm-n1, + .my-sm-n1 { + margin-bottom: -0.25rem !important; + } + .ml-sm-n1, + .mx-sm-n1 { + margin-left: -0.25rem !important; + } + .m-sm-n2 { + margin: -0.5rem !important; + } + .mt-sm-n2, + .my-sm-n2 { + margin-top: -0.5rem !important; + } + .mr-sm-n2, + .mx-sm-n2 { + margin-right: -0.5rem !important; + } + .mb-sm-n2, + .my-sm-n2 { + margin-bottom: -0.5rem !important; + } + .ml-sm-n2, + .mx-sm-n2 { + margin-left: -0.5rem !important; + } + .m-sm-n3 { + margin: -1rem !important; + } + .mt-sm-n3, + .my-sm-n3 { + margin-top: -1rem !important; + } + .mr-sm-n3, + .mx-sm-n3 { + margin-right: -1rem !important; + } + .mb-sm-n3, + .my-sm-n3 { + margin-bottom: -1rem !important; + } + .ml-sm-n3, + .mx-sm-n3 { + margin-left: -1rem !important; + } + .m-sm-n4 { + margin: -1.5rem !important; + } + .mt-sm-n4, + .my-sm-n4 { + margin-top: -1.5rem !important; + } + .mr-sm-n4, + .mx-sm-n4 { + margin-right: -1.5rem !important; + } + .mb-sm-n4, + .my-sm-n4 { + margin-bottom: -1.5rem !important; + } + .ml-sm-n4, + .mx-sm-n4 { + margin-left: -1.5rem !important; + } + .m-sm-n5 { + margin: -3rem !important; + } + .mt-sm-n5, + .my-sm-n5 { + margin-top: -3rem !important; + } + .mr-sm-n5, + .mx-sm-n5 { + margin-right: -3rem !important; + } + .mb-sm-n5, + .my-sm-n5 { + margin-bottom: -3rem !important; + } + .ml-sm-n5, + .mx-sm-n5 { + margin-left: -3rem !important; + } + .m-sm-auto { + margin: auto !important; + } + .mt-sm-auto, + .my-sm-auto { + margin-top: auto !important; + } + .mr-sm-auto, + .mx-sm-auto { + margin-right: auto !important; + } + .mb-sm-auto, + .my-sm-auto { + margin-bottom: auto !important; + } + .ml-sm-auto, + .mx-sm-auto { + margin-left: auto !important; + } +} + +@media (min-width: 768px) { + .m-md-0 { + margin: 0 !important; + } + .mt-md-0, + .my-md-0 { + margin-top: 0 !important; + } + .mr-md-0, + .mx-md-0 { + margin-right: 0 !important; + } + .mb-md-0, + .my-md-0 { + margin-bottom: 0 !important; + } + .ml-md-0, + .mx-md-0 { + margin-left: 0 !important; + } + .m-md-1 { + margin: 0.25rem !important; + } + .mt-md-1, + .my-md-1 { + margin-top: 0.25rem !important; + } + .mr-md-1, + .mx-md-1 { + margin-right: 0.25rem !important; + } + .mb-md-1, + .my-md-1 { + margin-bottom: 0.25rem !important; + } + .ml-md-1, + .mx-md-1 { + margin-left: 0.25rem !important; + } + .m-md-2 { + margin: 0.5rem !important; + } + .mt-md-2, + .my-md-2 { + margin-top: 0.5rem !important; + } + .mr-md-2, + .mx-md-2 { + margin-right: 0.5rem !important; + } + .mb-md-2, + .my-md-2 { + margin-bottom: 0.5rem !important; + } + .ml-md-2, + .mx-md-2 { + margin-left: 0.5rem !important; + } + .m-md-3 { + margin: 1rem !important; + } + .mt-md-3, + .my-md-3 { + margin-top: 1rem !important; + } + .mr-md-3, + .mx-md-3 { + margin-right: 1rem !important; + } + .mb-md-3, + .my-md-3 { + margin-bottom: 1rem !important; + } + .ml-md-3, + .mx-md-3 { + margin-left: 1rem !important; + } + .m-md-4 { + margin: 1.5rem !important; + } + .mt-md-4, + .my-md-4 { + margin-top: 1.5rem !important; + } + .mr-md-4, + .mx-md-4 { + margin-right: 1.5rem !important; + } + .mb-md-4, + .my-md-4 { + margin-bottom: 1.5rem !important; + } + .ml-md-4, + .mx-md-4 { + margin-left: 1.5rem !important; + } + .m-md-5 { + margin: 3rem !important; + } + .mt-md-5, + .my-md-5 { + margin-top: 3rem !important; + } + .mr-md-5, + .mx-md-5 { + margin-right: 3rem !important; + } + .mb-md-5, + .my-md-5 { + margin-bottom: 3rem !important; + } + .ml-md-5, + .mx-md-5 { + margin-left: 3rem !important; + } + .p-md-0 { + padding: 0 !important; + } + .pt-md-0, + .py-md-0 { + padding-top: 0 !important; + } + .pr-md-0, + .px-md-0 { + padding-right: 0 !important; + } + .pb-md-0, + .py-md-0 { + padding-bottom: 0 !important; + } + .pl-md-0, + .px-md-0 { + padding-left: 0 !important; + } + .p-md-1 { + padding: 0.25rem !important; + } + .pt-md-1, + .py-md-1 { + padding-top: 0.25rem !important; + } + .pr-md-1, + .px-md-1 { + padding-right: 0.25rem !important; + } + .pb-md-1, + .py-md-1 { + padding-bottom: 0.25rem !important; + } + .pl-md-1, + .px-md-1 { + padding-left: 0.25rem !important; + } + .p-md-2 { + padding: 0.5rem !important; + } + .pt-md-2, + .py-md-2 { + padding-top: 0.5rem !important; + } + .pr-md-2, + .px-md-2 { + padding-right: 0.5rem !important; + } + .pb-md-2, + .py-md-2 { + padding-bottom: 0.5rem !important; + } + .pl-md-2, + .px-md-2 { + padding-left: 0.5rem !important; + } + .p-md-3 { + padding: 1rem !important; + } + .pt-md-3, + .py-md-3 { + padding-top: 1rem !important; + } + .pr-md-3, + .px-md-3 { + padding-right: 1rem !important; + } + .pb-md-3, + .py-md-3 { + padding-bottom: 1rem !important; + } + .pl-md-3, + .px-md-3 { + padding-left: 1rem !important; + } + .p-md-4 { + padding: 1.5rem !important; + } + .pt-md-4, + .py-md-4 { + padding-top: 1.5rem !important; + } + .pr-md-4, + .px-md-4 { + padding-right: 1.5rem !important; + } + .pb-md-4, + .py-md-4 { + padding-bottom: 1.5rem !important; + } + .pl-md-4, + .px-md-4 { + padding-left: 1.5rem !important; + } + .p-md-5 { + padding: 3rem !important; + } + .pt-md-5, + .py-md-5 { + padding-top: 3rem !important; + } + .pr-md-5, + .px-md-5 { + padding-right: 3rem !important; + } + .pb-md-5, + .py-md-5 { + padding-bottom: 3rem !important; + } + .pl-md-5, + .px-md-5 { + padding-left: 3rem !important; + } + .m-md-n1 { + margin: -0.25rem !important; + } + .mt-md-n1, + .my-md-n1 { + margin-top: -0.25rem !important; + } + .mr-md-n1, + .mx-md-n1 { + margin-right: -0.25rem !important; + } + .mb-md-n1, + .my-md-n1 { + margin-bottom: -0.25rem !important; + } + .ml-md-n1, + .mx-md-n1 { + margin-left: -0.25rem !important; + } + .m-md-n2 { + margin: -0.5rem !important; + } + .mt-md-n2, + .my-md-n2 { + margin-top: -0.5rem !important; + } + .mr-md-n2, + .mx-md-n2 { + margin-right: -0.5rem !important; + } + .mb-md-n2, + .my-md-n2 { + margin-bottom: -0.5rem !important; + } + .ml-md-n2, + .mx-md-n2 { + margin-left: -0.5rem !important; + } + .m-md-n3 { + margin: -1rem !important; + } + .mt-md-n3, + .my-md-n3 { + margin-top: -1rem !important; + } + .mr-md-n3, + .mx-md-n3 { + margin-right: -1rem !important; + } + .mb-md-n3, + .my-md-n3 { + margin-bottom: -1rem !important; + } + .ml-md-n3, + .mx-md-n3 { + margin-left: -1rem !important; + } + .m-md-n4 { + margin: -1.5rem !important; + } + .mt-md-n4, + .my-md-n4 { + margin-top: -1.5rem !important; + } + .mr-md-n4, + .mx-md-n4 { + margin-right: -1.5rem !important; + } + .mb-md-n4, + .my-md-n4 { + margin-bottom: -1.5rem !important; + } + .ml-md-n4, + .mx-md-n4 { + margin-left: -1.5rem !important; + } + .m-md-n5 { + margin: -3rem !important; + } + .mt-md-n5, + .my-md-n5 { + margin-top: -3rem !important; + } + .mr-md-n5, + .mx-md-n5 { + margin-right: -3rem !important; + } + .mb-md-n5, + .my-md-n5 { + margin-bottom: -3rem !important; + } + .ml-md-n5, + .mx-md-n5 { + margin-left: -3rem !important; + } + .m-md-auto { + margin: auto !important; + } + .mt-md-auto, + .my-md-auto { + margin-top: auto !important; + } + .mr-md-auto, + .mx-md-auto { + margin-right: auto !important; + } + .mb-md-auto, + .my-md-auto { + margin-bottom: auto !important; + } + .ml-md-auto, + .mx-md-auto { + margin-left: auto !important; + } +} + +@media (min-width: 992px) { + .m-lg-0 { + margin: 0 !important; + } + .mt-lg-0, + .my-lg-0 { + margin-top: 0 !important; + } + .mr-lg-0, + .mx-lg-0 { + margin-right: 0 !important; + } + .mb-lg-0, + .my-lg-0 { + margin-bottom: 0 !important; + } + .ml-lg-0, + .mx-lg-0 { + margin-left: 0 !important; + } + .m-lg-1 { + margin: 0.25rem !important; + } + .mt-lg-1, + .my-lg-1 { + margin-top: 0.25rem !important; + } + .mr-lg-1, + .mx-lg-1 { + margin-right: 0.25rem !important; + } + .mb-lg-1, + .my-lg-1 { + margin-bottom: 0.25rem !important; + } + .ml-lg-1, + .mx-lg-1 { + margin-left: 0.25rem !important; + } + .m-lg-2 { + margin: 0.5rem !important; + } + .mt-lg-2, + .my-lg-2 { + margin-top: 0.5rem !important; + } + .mr-lg-2, + .mx-lg-2 { + margin-right: 0.5rem !important; + } + .mb-lg-2, + .my-lg-2 { + margin-bottom: 0.5rem !important; + } + .ml-lg-2, + .mx-lg-2 { + margin-left: 0.5rem !important; + } + .m-lg-3 { + margin: 1rem !important; + } + .mt-lg-3, + .my-lg-3 { + margin-top: 1rem !important; + } + .mr-lg-3, + .mx-lg-3 { + margin-right: 1rem !important; + } + .mb-lg-3, + .my-lg-3 { + margin-bottom: 1rem !important; + } + .ml-lg-3, + .mx-lg-3 { + margin-left: 1rem !important; + } + .m-lg-4 { + margin: 1.5rem !important; + } + .mt-lg-4, + .my-lg-4 { + margin-top: 1.5rem !important; + } + .mr-lg-4, + .mx-lg-4 { + margin-right: 1.5rem !important; + } + .mb-lg-4, + .my-lg-4 { + margin-bottom: 1.5rem !important; + } + .ml-lg-4, + .mx-lg-4 { + margin-left: 1.5rem !important; + } + .m-lg-5 { + margin: 3rem !important; + } + .mt-lg-5, + .my-lg-5 { + margin-top: 3rem !important; + } + .mr-lg-5, + .mx-lg-5 { + margin-right: 3rem !important; + } + .mb-lg-5, + .my-lg-5 { + margin-bottom: 3rem !important; + } + .ml-lg-5, + .mx-lg-5 { + margin-left: 3rem !important; + } + .p-lg-0 { + padding: 0 !important; + } + .pt-lg-0, + .py-lg-0 { + padding-top: 0 !important; + } + .pr-lg-0, + .px-lg-0 { + padding-right: 0 !important; + } + .pb-lg-0, + .py-lg-0 { + padding-bottom: 0 !important; + } + .pl-lg-0, + .px-lg-0 { + padding-left: 0 !important; + } + .p-lg-1 { + padding: 0.25rem !important; + } + .pt-lg-1, + .py-lg-1 { + padding-top: 0.25rem !important; + } + .pr-lg-1, + .px-lg-1 { + padding-right: 0.25rem !important; + } + .pb-lg-1, + .py-lg-1 { + padding-bottom: 0.25rem !important; + } + .pl-lg-1, + .px-lg-1 { + padding-left: 0.25rem !important; + } + .p-lg-2 { + padding: 0.5rem !important; + } + .pt-lg-2, + .py-lg-2 { + padding-top: 0.5rem !important; + } + .pr-lg-2, + .px-lg-2 { + padding-right: 0.5rem !important; + } + .pb-lg-2, + .py-lg-2 { + padding-bottom: 0.5rem !important; + } + .pl-lg-2, + .px-lg-2 { + padding-left: 0.5rem !important; + } + .p-lg-3 { + padding: 1rem !important; + } + .pt-lg-3, + .py-lg-3 { + padding-top: 1rem !important; + } + .pr-lg-3, + .px-lg-3 { + padding-right: 1rem !important; + } + .pb-lg-3, + .py-lg-3 { + padding-bottom: 1rem !important; + } + .pl-lg-3, + .px-lg-3 { + padding-left: 1rem !important; + } + .p-lg-4 { + padding: 1.5rem !important; + } + .pt-lg-4, + .py-lg-4 { + padding-top: 1.5rem !important; + } + .pr-lg-4, + .px-lg-4 { + padding-right: 1.5rem !important; + } + .pb-lg-4, + .py-lg-4 { + padding-bottom: 1.5rem !important; + } + .pl-lg-4, + .px-lg-4 { + padding-left: 1.5rem !important; + } + .p-lg-5 { + padding: 3rem !important; + } + .pt-lg-5, + .py-lg-5 { + padding-top: 3rem !important; + } + .pr-lg-5, + .px-lg-5 { + padding-right: 3rem !important; + } + .pb-lg-5, + .py-lg-5 { + padding-bottom: 3rem !important; + } + .pl-lg-5, + .px-lg-5 { + padding-left: 3rem !important; + } + .m-lg-n1 { + margin: -0.25rem !important; + } + .mt-lg-n1, + .my-lg-n1 { + margin-top: -0.25rem !important; + } + .mr-lg-n1, + .mx-lg-n1 { + margin-right: -0.25rem !important; + } + .mb-lg-n1, + .my-lg-n1 { + margin-bottom: -0.25rem !important; + } + .ml-lg-n1, + .mx-lg-n1 { + margin-left: -0.25rem !important; + } + .m-lg-n2 { + margin: -0.5rem !important; + } + .mt-lg-n2, + .my-lg-n2 { + margin-top: -0.5rem !important; + } + .mr-lg-n2, + .mx-lg-n2 { + margin-right: -0.5rem !important; + } + .mb-lg-n2, + .my-lg-n2 { + margin-bottom: -0.5rem !important; + } + .ml-lg-n2, + .mx-lg-n2 { + margin-left: -0.5rem !important; + } + .m-lg-n3 { + margin: -1rem !important; + } + .mt-lg-n3, + .my-lg-n3 { + margin-top: -1rem !important; + } + .mr-lg-n3, + .mx-lg-n3 { + margin-right: -1rem !important; + } + .mb-lg-n3, + .my-lg-n3 { + margin-bottom: -1rem !important; + } + .ml-lg-n3, + .mx-lg-n3 { + margin-left: -1rem !important; + } + .m-lg-n4 { + margin: -1.5rem !important; + } + .mt-lg-n4, + .my-lg-n4 { + margin-top: -1.5rem !important; + } + .mr-lg-n4, + .mx-lg-n4 { + margin-right: -1.5rem !important; + } + .mb-lg-n4, + .my-lg-n4 { + margin-bottom: -1.5rem !important; + } + .ml-lg-n4, + .mx-lg-n4 { + margin-left: -1.5rem !important; + } + .m-lg-n5 { + margin: -3rem !important; + } + .mt-lg-n5, + .my-lg-n5 { + margin-top: -3rem !important; + } + .mr-lg-n5, + .mx-lg-n5 { + margin-right: -3rem !important; + } + .mb-lg-n5, + .my-lg-n5 { + margin-bottom: -3rem !important; + } + .ml-lg-n5, + .mx-lg-n5 { + margin-left: -3rem !important; + } + .m-lg-auto { + margin: auto !important; + } + .mt-lg-auto, + .my-lg-auto { + margin-top: auto !important; + } + .mr-lg-auto, + .mx-lg-auto { + margin-right: auto !important; + } + .mb-lg-auto, + .my-lg-auto { + margin-bottom: auto !important; + } + .ml-lg-auto, + .mx-lg-auto { + margin-left: auto !important; + } +} + +@media (min-width: 1200px) { + .m-xl-0 { + margin: 0 !important; + } + .mt-xl-0, + .my-xl-0 { + margin-top: 0 !important; + } + .mr-xl-0, + .mx-xl-0 { + margin-right: 0 !important; + } + .mb-xl-0, + .my-xl-0 { + margin-bottom: 0 !important; + } + .ml-xl-0, + .mx-xl-0 { + margin-left: 0 !important; + } + .m-xl-1 { + margin: 0.25rem !important; + } + .mt-xl-1, + .my-xl-1 { + margin-top: 0.25rem !important; + } + .mr-xl-1, + .mx-xl-1 { + margin-right: 0.25rem !important; + } + .mb-xl-1, + .my-xl-1 { + margin-bottom: 0.25rem !important; + } + .ml-xl-1, + .mx-xl-1 { + margin-left: 0.25rem !important; + } + .m-xl-2 { + margin: 0.5rem !important; + } + .mt-xl-2, + .my-xl-2 { + margin-top: 0.5rem !important; + } + .mr-xl-2, + .mx-xl-2 { + margin-right: 0.5rem !important; + } + .mb-xl-2, + .my-xl-2 { + margin-bottom: 0.5rem !important; + } + .ml-xl-2, + .mx-xl-2 { + margin-left: 0.5rem !important; + } + .m-xl-3 { + margin: 1rem !important; + } + .mt-xl-3, + .my-xl-3 { + margin-top: 1rem !important; + } + .mr-xl-3, + .mx-xl-3 { + margin-right: 1rem !important; + } + .mb-xl-3, + .my-xl-3 { + margin-bottom: 1rem !important; + } + .ml-xl-3, + .mx-xl-3 { + margin-left: 1rem !important; + } + .m-xl-4 { + margin: 1.5rem !important; + } + .mt-xl-4, + .my-xl-4 { + margin-top: 1.5rem !important; + } + .mr-xl-4, + .mx-xl-4 { + margin-right: 1.5rem !important; + } + .mb-xl-4, + .my-xl-4 { + margin-bottom: 1.5rem !important; + } + .ml-xl-4, + .mx-xl-4 { + margin-left: 1.5rem !important; + } + .m-xl-5 { + margin: 3rem !important; + } + .mt-xl-5, + .my-xl-5 { + margin-top: 3rem !important; + } + .mr-xl-5, + .mx-xl-5 { + margin-right: 3rem !important; + } + .mb-xl-5, + .my-xl-5 { + margin-bottom: 3rem !important; + } + .ml-xl-5, + .mx-xl-5 { + margin-left: 3rem !important; + } + .p-xl-0 { + padding: 0 !important; + } + .pt-xl-0, + .py-xl-0 { + padding-top: 0 !important; + } + .pr-xl-0, + .px-xl-0 { + padding-right: 0 !important; + } + .pb-xl-0, + .py-xl-0 { + padding-bottom: 0 !important; + } + .pl-xl-0, + .px-xl-0 { + padding-left: 0 !important; + } + .p-xl-1 { + padding: 0.25rem !important; + } + .pt-xl-1, + .py-xl-1 { + padding-top: 0.25rem !important; + } + .pr-xl-1, + .px-xl-1 { + padding-right: 0.25rem !important; + } + .pb-xl-1, + .py-xl-1 { + padding-bottom: 0.25rem !important; + } + .pl-xl-1, + .px-xl-1 { + padding-left: 0.25rem !important; + } + .p-xl-2 { + padding: 0.5rem !important; + } + .pt-xl-2, + .py-xl-2 { + padding-top: 0.5rem !important; + } + .pr-xl-2, + .px-xl-2 { + padding-right: 0.5rem !important; + } + .pb-xl-2, + .py-xl-2 { + padding-bottom: 0.5rem !important; + } + .pl-xl-2, + .px-xl-2 { + padding-left: 0.5rem !important; + } + .p-xl-3 { + padding: 1rem !important; + } + .pt-xl-3, + .py-xl-3 { + padding-top: 1rem !important; + } + .pr-xl-3, + .px-xl-3 { + padding-right: 1rem !important; + } + .pb-xl-3, + .py-xl-3 { + padding-bottom: 1rem !important; + } + .pl-xl-3, + .px-xl-3 { + padding-left: 1rem !important; + } + .p-xl-4 { + padding: 1.5rem !important; + } + .pt-xl-4, + .py-xl-4 { + padding-top: 1.5rem !important; + } + .pr-xl-4, + .px-xl-4 { + padding-right: 1.5rem !important; + } + .pb-xl-4, + .py-xl-4 { + padding-bottom: 1.5rem !important; + } + .pl-xl-4, + .px-xl-4 { + padding-left: 1.5rem !important; + } + .p-xl-5 { + padding: 3rem !important; + } + .pt-xl-5, + .py-xl-5 { + padding-top: 3rem !important; + } + .pr-xl-5, + .px-xl-5 { + padding-right: 3rem !important; + } + .pb-xl-5, + .py-xl-5 { + padding-bottom: 3rem !important; + } + .pl-xl-5, + .px-xl-5 { + padding-left: 3rem !important; + } + .m-xl-n1 { + margin: -0.25rem !important; + } + .mt-xl-n1, + .my-xl-n1 { + margin-top: -0.25rem !important; + } + .mr-xl-n1, + .mx-xl-n1 { + margin-right: -0.25rem !important; + } + .mb-xl-n1, + .my-xl-n1 { + margin-bottom: -0.25rem !important; + } + .ml-xl-n1, + .mx-xl-n1 { + margin-left: -0.25rem !important; + } + .m-xl-n2 { + margin: -0.5rem !important; + } + .mt-xl-n2, + .my-xl-n2 { + margin-top: -0.5rem !important; + } + .mr-xl-n2, + .mx-xl-n2 { + margin-right: -0.5rem !important; + } + .mb-xl-n2, + .my-xl-n2 { + margin-bottom: -0.5rem !important; + } + .ml-xl-n2, + .mx-xl-n2 { + margin-left: -0.5rem !important; + } + .m-xl-n3 { + margin: -1rem !important; + } + .mt-xl-n3, + .my-xl-n3 { + margin-top: -1rem !important; + } + .mr-xl-n3, + .mx-xl-n3 { + margin-right: -1rem !important; + } + .mb-xl-n3, + .my-xl-n3 { + margin-bottom: -1rem !important; + } + .ml-xl-n3, + .mx-xl-n3 { + margin-left: -1rem !important; + } + .m-xl-n4 { + margin: -1.5rem !important; + } + .mt-xl-n4, + .my-xl-n4 { + margin-top: -1.5rem !important; + } + .mr-xl-n4, + .mx-xl-n4 { + margin-right: -1.5rem !important; + } + .mb-xl-n4, + .my-xl-n4 { + margin-bottom: -1.5rem !important; + } + .ml-xl-n4, + .mx-xl-n4 { + margin-left: -1.5rem !important; + } + .m-xl-n5 { + margin: -3rem !important; + } + .mt-xl-n5, + .my-xl-n5 { + margin-top: -3rem !important; + } + .mr-xl-n5, + .mx-xl-n5 { + margin-right: -3rem !important; + } + .mb-xl-n5, + .my-xl-n5 { + margin-bottom: -3rem !important; + } + .ml-xl-n5, + .mx-xl-n5 { + margin-left: -3rem !important; + } + .m-xl-auto { + margin: auto !important; + } + .mt-xl-auto, + .my-xl-auto { + margin-top: auto !important; + } + .mr-xl-auto, + .mx-xl-auto { + margin-right: auto !important; + } + .mb-xl-auto, + .my-xl-auto { + margin-bottom: auto !important; + } + .ml-xl-auto, + .mx-xl-auto { + margin-left: auto !important; + } +} + +.text-monospace { + font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace !important; +} + +.text-justify { + text-align: justify !important; +} + +.text-wrap { + white-space: normal !important; +} + +.text-nowrap { + white-space: nowrap !important; +} + +.text-truncate { + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} + +.text-left { + text-align: left !important; +} + +.text-right { + text-align: right !important; +} + +.text-center { + text-align: center !important; +} + +@media (min-width: 576px) { + .text-sm-left { + text-align: left !important; + } + .text-sm-right { + text-align: right !important; + } + .text-sm-center { + text-align: center !important; + } +} + +@media (min-width: 768px) { + .text-md-left { + text-align: left !important; + } + .text-md-right { + text-align: right !important; + } + .text-md-center { + text-align: center !important; + } +} + +@media (min-width: 992px) { + .text-lg-left { + text-align: left !important; + } + .text-lg-right { + text-align: right !important; + } + .text-lg-center { + text-align: center !important; + } +} + +@media (min-width: 1200px) { + .text-xl-left { + text-align: left !important; + } + .text-xl-right { + text-align: right !important; + } + .text-xl-center { + text-align: center !important; + } +} + +.text-lowercase { + text-transform: lowercase !important; +} + +.text-uppercase { + text-transform: uppercase !important; +} + +.text-capitalize { + text-transform: capitalize !important; +} + +.font-weight-light { + font-weight: 300 !important; +} + +.font-weight-lighter { + font-weight: lighter !important; +} + +.font-weight-normal { + font-weight: 400 !important; +} + +.font-weight-bold { + font-weight: 700 !important; +} + +.font-weight-bolder { + font-weight: bolder !important; +} + +.font-italic { + font-style: italic !important; +} + +.text-white { + color: #fff !important; +} + +.text-primary { + color: #007bff !important; +} + +a.text-primary:hover, a.text-primary:focus { + color: #0056b3 !important; +} + +.text-secondary { + color: #6c757d !important; +} + +a.text-secondary:hover, a.text-secondary:focus { + color: #494f54 !important; +} + +.text-success { + color: #28a745 !important; +} + +a.text-success:hover, a.text-success:focus { + color: #19692c !important; +} + +.text-info { + color: #17a2b8 !important; +} + +a.text-info:hover, a.text-info:focus { + color: #0f6674 !important; +} + +.text-warning { + color: #ffc107 !important; +} + +a.text-warning:hover, a.text-warning:focus { + color: #ba8b00 !important; +} + +.text-danger { + color: #dc3545 !important; +} + +a.text-danger:hover, a.text-danger:focus { + color: #a71d2a !important; +} + +.text-light { + color: #f8f9fa !important; +} + +a.text-light:hover, a.text-light:focus { + color: #cbd3da !important; +} + +.text-dark { + color: #343a40 !important; +} + +a.text-dark:hover, a.text-dark:focus { + color: #121416 !important; +} + +.text-body { + color: #212529 !important; +} + +.text-muted { + color: #6c757d !important; +} + +.text-black-50 { + color: rgba(0, 0, 0, 0.5) !important; +} + +.text-white-50 { + color: rgba(255, 255, 255, 0.5) !important; +} + +.text-hide { + font: 0/0 a; + color: transparent; + text-shadow: none; + background-color: transparent; + border: 0; +} + +.text-decoration-none { + text-decoration: none !important; +} + +.text-break { + word-break: break-word !important; + overflow-wrap: break-word !important; +} + +.text-reset { + color: inherit !important; +} + +.visible { + visibility: visible !important; +} + +.invisible { + visibility: hidden !important; +} + +@media print { + *, + *::before, + *::after { + text-shadow: none !important; + box-shadow: none !important; + } + a:not(.btn) { + text-decoration: underline; + } + abbr[title]::after { + content: " (" attr(title) ")"; + } + pre { + white-space: pre-wrap !important; + } + pre, + blockquote { + border: 1px solid #adb5bd; + page-break-inside: avoid; + } + thead { + display: table-header-group; + } + tr, + img { + page-break-inside: avoid; + } + p, + h2, + h3 { + orphans: 3; + widows: 3; + } + h2, + h3 { + page-break-after: avoid; + } + @page { + size: a3; + } + body { + min-width: 992px !important; + } + .container { + min-width: 992px !important; + } + .navbar { + display: none; + } + .badge { + border: 1px solid #000; + } + .table { + border-collapse: collapse !important; + } + .table td, + .table th { + background-color: #fff !important; + } + .table-bordered th, + .table-bordered td { + border: 1px solid #dee2e6 !important; + } + .table-dark { + color: inherit; + } + .table-dark th, + .table-dark td, + .table-dark thead th, + .table-dark tbody + tbody { + border-color: #dee2e6; + } + .table .thead-dark th { + color: inherit; + border-color: #dee2e6; + } +} + +.rtl, +[dir="rtl"] { + text-align: right; + direction: rtl; +} + +.rtl .nav, +[dir="rtl"] .nav { + padding-right: 0; +} + +.rtl .navbar-nav .nav-item, +[dir="rtl"] .navbar-nav .nav-item { + float: right; +} + +.rtl .navbar-nav .nav-item + .nav-item, +[dir="rtl"] .navbar-nav .nav-item + .nav-item { + margin-right: inherit; + margin-left: 1rem; +} + +.rtl th, +[dir="rtl"] th { + text-align: right; +} + +.rtl .alert-dismissible, +[dir="rtl"] .alert-dismissible { + padding-right: 1.25rem; + padding-left: 4rem; +} + +.rtl .dropdown-menu, +[dir="rtl"] .dropdown-menu { + right: 0; + left: inherit; + text-align: right; +} + +.rtl .checkbox label, +[dir="rtl"] .checkbox label { + padding-right: 1.25rem; + padding-left: inherit; +} + +.rtl .btn-group > .btn:not(:first-child), +.rtl .btn-group > .btn-group:not(:first-child), +[dir="rtl"] .btn-group > .btn:not(:first-child), +[dir="rtl"] .btn-group > .btn-group:not(:first-child) { + margin-left: initial; + margin-right: -1px; +} + +.rtl .btn-group > .btn:first-child:not(:last-child):not(.dropdown-toggle), +[dir="rtl"] .btn-group > .btn:first-child:not(:last-child):not(.dropdown-toggle) { + border-radius: 0 0.25rem 0.25rem 0; +} + +.rtl .btn-group > .btn:last-child:not(:first-child), +.rtl .btn-group > .dropdown-toggle:not(:first-child), +[dir="rtl"] .btn-group > .btn:last-child:not(:first-child), +[dir="rtl"] .btn-group > .dropdown-toggle:not(:first-child) { + border-radius: 0.25rem 0 0 0.25rem; +} + +.rtl .btn-group > .btn-group:last-child:not(:first-child) > .btn:first-child, +[dir="rtl"] .btn-group > .btn-group:last-child:not(:first-child) > .btn:first-child { + border-radius: 0.25rem 0 0 0.25rem; +} + +.rtl .custom-control, +[dir="rtl"] .custom-control { + padding-right: 1.5rem; + padding-left: inherit; + margin-right: inherit; + margin-left: 1rem; +} + +.rtl .custom-control-indicator, +[dir="rtl"] .custom-control-indicator { + right: 0; + left: inherit; +} + +.rtl .custom-file-label::after, +[dir="rtl"] .custom-file-label::after { + right: initial; + left: -1px; + border-radius: .25rem 0 0 .25rem; +} + +.rtl .custom-control-label::after, +.rtl .custom-control-label::before, +[dir="rtl"] .custom-control-label::after, +[dir="rtl"] .custom-control-label::before { + right: -1.5rem; + left: inherit; +} + +.rtl .custom-select, +[dir="rtl"] .custom-select { + padding: 0.375rem 0.75rem 0.375rem 1.75rem; + background: #fff url("data:image/svg+xml,") no-repeat left 0.75rem center; + background-size: 8px 10px; +} + +.rtl .custom-switch, +[dir="rtl"] .custom-switch { + padding-right: 2.25rem; + padding-left: inherit; +} + +.rtl .custom-switch .custom-control-label::before, +[dir="rtl"] .custom-switch .custom-control-label::before { + right: -2.25rem; +} + +.rtl .custom-switch .custom-control-label::after, +[dir="rtl"] .custom-switch .custom-control-label::after { + right: calc(-2.25rem + 2px); +} + +.rtl .custom-switch .custom-control-input:checked ~ .custom-control-label::after, +[dir="rtl"] .custom-switch .custom-control-input:checked ~ .custom-control-label::after { + transform: translateX(-0.75rem); +} + +.rtl .input-group > .input-group-append:last-child > .btn:not(:last-child):not(.dropdown-toggle), +.rtl .input-group > .input-group-append:last-child > .input-group-text:not(:last-child), +.rtl .input-group > .input-group-append:not(:last-child) > .btn, +.rtl .input-group > .input-group-append:not(:last-child) > .input-group-text, +.rtl .input-group > .input-group-prepend > .btn, +.rtl .input-group > .input-group-prepend > .input-group-text, +[dir="rtl"] .input-group > .input-group-append:last-child > .btn:not(:last-child):not(.dropdown-toggle), +[dir="rtl"] .input-group > .input-group-append:last-child > .input-group-text:not(:last-child), +[dir="rtl"] .input-group > .input-group-append:not(:last-child) > .btn, +[dir="rtl"] .input-group > .input-group-append:not(:last-child) > .input-group-text, +[dir="rtl"] .input-group > .input-group-prepend > .btn, +[dir="rtl"] .input-group > .input-group-prepend > .input-group-text { + border-radius: 0 0.25rem 0.25rem 0; +} + +.rtl .input-group > .input-group-append > .btn, +.rtl .input-group > .input-group-append > .input-group-text, +.rtl .input-group > .input-group-prepend:first-child > .btn:not(:first-child), +.rtl .input-group > .input-group-prepend:first-child > .input-group-text:not(:first-child), +.rtl .input-group > .input-group-prepend:not(:first-child) > .btn, +.rtl .input-group > .input-group-prepend:not(:first-child) > .input-group-text, +[dir="rtl"] .input-group > .input-group-append > .btn, +[dir="rtl"] .input-group > .input-group-append > .input-group-text, +[dir="rtl"] .input-group > .input-group-prepend:first-child > .btn:not(:first-child), +[dir="rtl"] .input-group > .input-group-prepend:first-child > .input-group-text:not(:first-child), +[dir="rtl"] .input-group > .input-group-prepend:not(:first-child) > .btn, +[dir="rtl"] .input-group > .input-group-prepend:not(:first-child) > .input-group-text { + border-radius: 0.25rem 0 0 0.25rem; +} + +.rtl .input-group > .custom-select:not(:first-child), +.rtl .input-group > .form-control:not(:first-child), +[dir="rtl"] .input-group > .custom-select:not(:first-child), +[dir="rtl"] .input-group > .form-control:not(:first-child) { + border-radius: 0.25rem 0 0 0.25rem; +} + +.rtl .input-group > .custom-select:not(:last-child), +.rtl .input-group > .form-control:not(:last-child), +[dir="rtl"] .input-group > .custom-select:not(:last-child), +[dir="rtl"] .input-group > .form-control:not(:last-child) { + border-radius: 0 0.25rem 0.25rem 0; +} + +.rtl .input-group > .custom-select:not(:last-child):not(:first-child), +.rtl .input-group > .form-control:not(:last-child):not(:first-child), +[dir="rtl"] .input-group > .custom-select:not(:last-child):not(:first-child), +[dir="rtl"] .input-group > .form-control:not(:last-child):not(:first-child) { + border-radius: 0; +} + +.rtl .radio input, +.rtl .radio-inline, +.rtl .checkbox input, +.rtl .checkbox-inline input, +[dir="rtl"] .radio input, +[dir="rtl"] .radio-inline, +[dir="rtl"] .checkbox input, +[dir="rtl"] .checkbox-inline input { + margin-right: -1.25rem; + margin-left: inherit; +} + +.rtl .breadcrumb-item + .breadcrumb-item, +[dir="rtl"] .breadcrumb-item + .breadcrumb-item { + padding-right: 0.5rem; + padding-left: 0; + color: #6c757d; + content: "/"; +} + +.rtl .breadcrumb-item + .breadcrumb-item::before, +[dir="rtl"] .breadcrumb-item + .breadcrumb-item::before { + padding-right: 0; + padding-left: 0.5rem; +} + +.rtl .list-group, +[dir="rtl"] .list-group { + padding-right: 0; + padding-left: 40px; +} + +.rtl .close, +[dir="rtl"] .close { + float: left; +} + +.rtl .modal-header .close, +[dir="rtl"] .modal-header .close { + margin: -15px auto -15px -15px; +} + +.rtl .modal-footer > :not(:first-child), +[dir="rtl"] .modal-footer > :not(:first-child) { + margin-right: .25rem; +} + +.rtl .modal-footer > :not(:last-child), +[dir="rtl"] .modal-footer > :not(:last-child) { + margin-left: .25rem; +} + +.rtl .modal-footer > :first-child, +[dir="rtl"] .modal-footer > :first-child { + margin-right: 0; +} + +.rtl .modal-footer > :last-child, +[dir="rtl"] .modal-footer > :last-child { + margin-left: 0; +} + +.rtl .alert-dismissible .close, +[dir="rtl"] .alert-dismissible .close { + right: inherit; + left: 0; +} + +.rtl .dropdown-toggle::after, +[dir="rtl"] .dropdown-toggle::after { + margin-right: .255em; + margin-left: 0; +} + +.rtl .form-check-input, +[dir="rtl"] .form-check-input { + margin-right: -1.25rem; + margin-left: inherit; +} + +.rtl .form-check-label, +[dir="rtl"] .form-check-label { + padding-right: 1.25rem; + padding-left: inherit; +} + +.rtl .pagination, +.rtl .list-unstyled, +.rtl .list-inline, +[dir="rtl"] .pagination, +[dir="rtl"] .list-unstyled, +[dir="rtl"] .list-inline { + padding-right: 0; + padding-left: inherit; +} + +.rtl .pagination .page-item:first-child .page-link, +[dir="rtl"] .pagination .page-item:first-child .page-link { + border-top-right-radius: 0.25rem; + border-bottom-right-radius: 0.25rem; + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} + +.rtl .pagination .page-item:last-child .page-link, +[dir="rtl"] .pagination .page-item:last-child .page-link { + border-top-right-radius: 0; + border-bottom-right-radius: 0; + border-top-left-radius: 0.25rem; + border-bottom-left-radius: 0.25rem; +} + +.rtl .offset-1, +[dir="rtl"] .offset-1 { + margin-right: 8.333333%; + margin-left: 0; +} + +.rtl .offset-2, +[dir="rtl"] .offset-2 { + margin-right: 16.666667%; + margin-left: 0; +} + +.rtl .offset-3, +[dir="rtl"] .offset-3 { + margin-right: 25%; + margin-left: 0; +} + +.rtl .offset-4, +[dir="rtl"] .offset-4 { + margin-right: 33.333333%; + margin-left: 0; +} + +.rtl .offset-5, +[dir="rtl"] .offset-5 { + margin-right: 41.666667%; + margin-left: 0; +} + +.rtl .offset-6, +[dir="rtl"] .offset-6 { + margin-right: 50%; + margin-left: 0; +} + +.rtl .offset-7, +[dir="rtl"] .offset-7 { + margin-right: 58.333333%; + margin-left: 0; +} + +.rtl .offset-8, +[dir="rtl"] .offset-8 { + margin-right: 66.666667%; + margin-left: 0; +} + +.rtl .offset-9, +[dir="rtl"] .offset-9 { + margin-right: 75%; + margin-left: 0; +} + +.rtl .offset-10, +[dir="rtl"] .offset-10 { + margin-right: 83.333333%; + margin-left: 0; +} + +.rtl .offset-11, +[dir="rtl"] .offset-11 { + margin-right: 91.666667%; + margin-left: 0; +} + +@media (min-width: 576px) { + .rtl .offset-sm-0, + [dir="rtl"] .offset-sm-0 { + margin-right: 0; + margin-left: 0; + } + .rtl .offset-sm-1, + [dir="rtl"] .offset-sm-1 { + margin-right: 8.333333%; + margin-left: 0; + } + .rtl .offset-sm-2, + [dir="rtl"] .offset-sm-2 { + margin-right: 16.666667%; + margin-left: 0; + } + .rtl .offset-sm-3, + [dir="rtl"] .offset-sm-3 { + margin-right: 25%; + margin-left: 0; + } + .rtl .offset-sm-4, + [dir="rtl"] .offset-sm-4 { + margin-right: 33.333333%; + margin-left: 0; + } + .rtl .offset-sm-5, + [dir="rtl"] .offset-sm-5 { + margin-right: 41.666667%; + margin-left: 0; + } + .rtl .offset-sm-6, + [dir="rtl"] .offset-sm-6 { + margin-right: 50%; + margin-left: 0; + } + .rtl .offset-sm-7, + [dir="rtl"] .offset-sm-7 { + margin-right: 58.333333%; + margin-left: 0; + } + .rtl .offset-sm-8, + [dir="rtl"] .offset-sm-8 { + margin-right: 66.666667%; + margin-left: 0; + } + .rtl .offset-sm-9, + [dir="rtl"] .offset-sm-9 { + margin-right: 75%; + margin-left: 0; + } + .rtl .offset-sm-10, + [dir="rtl"] .offset-sm-10 { + margin-right: 83.333333%; + margin-left: 0; + } + .rtl .offset-sm-11, + [dir="rtl"] .offset-sm-11 { + margin-right: 91.666667%; + margin-left: 0; + } +} + +@media (min-width: 768px) { + .rtl .offset-md-0, + [dir="rtl"] .offset-md-0 { + margin-right: 0; + margin-left: 0; + } + .rtl .offset-md-1, + [dir="rtl"] .offset-md-1 { + margin-right: 8.333333%; + margin-left: 0; + } + .rtl .offset-md-2, + [dir="rtl"] .offset-md-2 { + margin-right: 16.666667%; + margin-left: 0; + } + .rtl .offset-md-3, + [dir="rtl"] .offset-md-3 { + margin-right: 25%; + margin-left: 0; + } + .rtl .offset-md-4, + [dir="rtl"] .offset-md-4 { + margin-right: 33.333333%; + margin-left: 0; + } + .rtl .offset-md-5, + [dir="rtl"] .offset-md-5 { + margin-right: 41.666667%; + margin-left: 0; + } + .rtl .offset-md-6, + [dir="rtl"] .offset-md-6 { + margin-right: 50%; + margin-left: 0; + } + .rtl .offset-md-7, + [dir="rtl"] .offset-md-7 { + margin-right: 58.333333%; + margin-left: 0; + } + .rtl .offset-md-8, + [dir="rtl"] .offset-md-8 { + margin-right: 66.666667%; + margin-left: 0; + } + .rtl .offset-md-9, + [dir="rtl"] .offset-md-9 { + margin-right: 75%; + margin-left: 0; + } + .rtl .offset-md-10, + [dir="rtl"] .offset-md-10 { + margin-right: 83.333333%; + margin-left: 0; + } + .rtl .offset-md-11, + [dir="rtl"] .offset-md-11 { + margin-right: 91.666667%; + margin-left: 0; + } +} + +@media (min-width: 992px) { + .rtl .offset-lg-0, + [dir="rtl"] .offset-lg-0 { + margin-right: 0; + margin-left: 0; + } + .rtl .offset-lg-1, + [dir="rtl"] .offset-lg-1 { + margin-right: 8.333333%; + margin-left: 0; + } + .rtl .offset-lg-2, + [dir="rtl"] .offset-lg-2 { + margin-right: 16.666667%; + margin-left: 0; + } + .rtl .offset-lg-3, + [dir="rtl"] .offset-lg-3 { + margin-right: 25%; + margin-left: 0; + } + .rtl .offset-lg-4, + [dir="rtl"] .offset-lg-4 { + margin-right: 33.333333%; + margin-left: 0; + } + .rtl .offset-lg-5, + [dir="rtl"] .offset-lg-5 { + margin-right: 41.666667%; + margin-left: 0; + } + .rtl .offset-lg-6, + [dir="rtl"] .offset-lg-6 { + margin-right: 50%; + margin-left: 0; + } + .rtl .offset-lg-7, + [dir="rtl"] .offset-lg-7 { + margin-right: 58.333333%; + margin-left: 0; + } + .rtl .offset-lg-8, + [dir="rtl"] .offset-lg-8 { + margin-right: 66.666667%; + margin-left: 0; + } + .rtl .offset-lg-9, + [dir="rtl"] .offset-lg-9 { + margin-right: 75%; + margin-left: 0; + } + .rtl .offset-lg-10, + [dir="rtl"] .offset-lg-10 { + margin-right: 83.333333%; + margin-left: 0; + } + .rtl .offset-lg-11, + [dir="rtl"] .offset-lg-11 { + margin-right: 91.666667%; + margin-left: 0; + } +} + +@media (min-width: 1200px) { + .rtl .offset-xl-0, + [dir="rtl"] .offset-xl-0 { + margin-right: 0; + margin-left: 0; + } + .rtl .offset-xl-1, + [dir="rtl"] .offset-xl-1 { + margin-right: 8.333333%; + margin-left: 0; + } + .rtl .offset-xl-2, + [dir="rtl"] .offset-xl-2 { + margin-right: 16.666667%; + margin-left: 0; + } + .rtl .offset-xl-3, + [dir="rtl"] .offset-xl-3 { + margin-right: 25%; + margin-left: 0; + } + .rtl .offset-xl-4, + [dir="rtl"] .offset-xl-4 { + margin-right: 33.333333%; + margin-left: 0; + } + .rtl .offset-xl-5, + [dir="rtl"] .offset-xl-5 { + margin-right: 41.666667%; + margin-left: 0; + } + .rtl .offset-xl-6, + [dir="rtl"] .offset-xl-6 { + margin-right: 50%; + margin-left: 0; + } + .rtl .offset-xl-7, + [dir="rtl"] .offset-xl-7 { + margin-right: 58.333333%; + margin-left: 0; + } + .rtl .offset-xl-8, + [dir="rtl"] .offset-xl-8 { + margin-right: 66.666667%; + margin-left: 0; + } + .rtl .offset-xl-9, + [dir="rtl"] .offset-xl-9 { + margin-right: 75%; + margin-left: 0; + } + .rtl .offset-xl-10, + [dir="rtl"] .offset-xl-10 { + margin-right: 83.333333%; + margin-left: 0; + } + .rtl .offset-xl-11, + [dir="rtl"] .offset-xl-11 { + margin-right: 91.666667%; + margin-left: 0; + } +} + +.rtl .mr-0, +[dir="rtl"] .mr-0 { + margin-right: 0 !important; + margin-left: 0 !important; +} + +.rtl .ml-0, +[dir="rtl"] .ml-0 { + margin-left: 0 !important; + margin-right: 0 !important; +} + +.rtl mx-0, +[dir="rtl"] mx-0 { + margin-left: 0 !important; + margin-right: 0 !important; +} + +.rtl .mr-1, +[dir="rtl"] .mr-1 { + margin-right: 0 !important; + margin-left: 0.25rem !important; +} + +.rtl .ml-1, +[dir="rtl"] .ml-1 { + margin-left: 0 !important; + margin-right: 0.25rem !important; +} + +.rtl mx-1, +[dir="rtl"] mx-1 { + margin-left: 0.25rem !important; + margin-right: 0.25rem !important; +} + +.rtl .mr-2, +[dir="rtl"] .mr-2 { + margin-right: 0 !important; + margin-left: 0.5rem !important; +} + +.rtl .ml-2, +[dir="rtl"] .ml-2 { + margin-left: 0 !important; + margin-right: 0.5rem !important; +} + +.rtl mx-2, +[dir="rtl"] mx-2 { + margin-left: 0.5rem !important; + margin-right: 0.5rem !important; +} + +.rtl .mr-3, +[dir="rtl"] .mr-3 { + margin-right: 0 !important; + margin-left: 1rem !important; +} + +.rtl .ml-3, +[dir="rtl"] .ml-3 { + margin-left: 0 !important; + margin-right: 1rem !important; +} + +.rtl mx-3, +[dir="rtl"] mx-3 { + margin-left: 1rem !important; + margin-right: 1rem !important; +} + +.rtl .mr-4, +[dir="rtl"] .mr-4 { + margin-right: 0 !important; + margin-left: 1.5rem !important; +} + +.rtl .ml-4, +[dir="rtl"] .ml-4 { + margin-left: 0 !important; + margin-right: 1.5rem !important; +} + +.rtl mx-4, +[dir="rtl"] mx-4 { + margin-left: 1.5rem !important; + margin-right: 1.5rem !important; +} + +.rtl .mr-5, +[dir="rtl"] .mr-5 { + margin-right: 0 !important; + margin-left: 3rem !important; +} + +.rtl .ml-5, +[dir="rtl"] .ml-5 { + margin-left: 0 !important; + margin-right: 3rem !important; +} + +.rtl mx-5, +[dir="rtl"] mx-5 { + margin-left: 3rem !important; + margin-right: 3rem !important; +} + +.rtl .pr-0, +[dir="rtl"] .pr-0 { + padding-right: 0 !important; + padding-left: 0 !important; +} + +.rtl .pl-0, +[dir="rtl"] .pl-0 { + padding-left: 0 !important; + padding-right: 0 !important; +} + +.rtl px-0, +[dir="rtl"] px-0 { + padding-left: 0 !important; + padding-right: 0 !important; +} + +.rtl .pr-1, +[dir="rtl"] .pr-1 { + padding-right: 0 !important; + padding-left: 0.25rem !important; +} + +.rtl .pl-1, +[dir="rtl"] .pl-1 { + padding-left: 0 !important; + padding-right: 0.25rem !important; +} + +.rtl px-1, +[dir="rtl"] px-1 { + padding-left: 0.25rem !important; + padding-right: 0.25rem !important; +} + +.rtl .pr-2, +[dir="rtl"] .pr-2 { + padding-right: 0 !important; + padding-left: 0.5rem !important; +} + +.rtl .pl-2, +[dir="rtl"] .pl-2 { + padding-left: 0 !important; + padding-right: 0.5rem !important; +} + +.rtl px-2, +[dir="rtl"] px-2 { + padding-left: 0.5rem !important; + padding-right: 0.5rem !important; +} + +.rtl .pr-3, +[dir="rtl"] .pr-3 { + padding-right: 0 !important; + padding-left: 1rem !important; +} + +.rtl .pl-3, +[dir="rtl"] .pl-3 { + padding-left: 0 !important; + padding-right: 1rem !important; +} + +.rtl px-3, +[dir="rtl"] px-3 { + padding-left: 1rem !important; + padding-right: 1rem !important; +} + +.rtl .pr-4, +[dir="rtl"] .pr-4 { + padding-right: 0 !important; + padding-left: 1.5rem !important; +} + +.rtl .pl-4, +[dir="rtl"] .pl-4 { + padding-left: 0 !important; + padding-right: 1.5rem !important; +} + +.rtl px-4, +[dir="rtl"] px-4 { + padding-left: 1.5rem !important; + padding-right: 1.5rem !important; +} + +.rtl .pr-5, +[dir="rtl"] .pr-5 { + padding-right: 0 !important; + padding-left: 3rem !important; +} + +.rtl .pl-5, +[dir="rtl"] .pl-5 { + padding-left: 0 !important; + padding-right: 3rem !important; +} + +.rtl px-5, +[dir="rtl"] px-5 { + padding-left: 3rem !important; + padding-right: 3rem !important; +} + +.rtl .mr-auto, +[dir="rtl"] .mr-auto { + margin-right: 0 !important; + margin-left: auto !important; +} + +.rtl .ml-auto, +[dir="rtl"] .ml-auto { + margin-right: auto !important; + margin-left: 0 !important; +} + +.rtl .mx-auto, +[dir="rtl"] .mx-auto { + margin-right: auto !important; + margin-left: auto !important; +} + +@media (min-width: 576px) { + .rtl .mr-sm-0, + [dir="rtl"] .mr-sm-0 { + margin-right: 0 !important; + margin-left: 0 !important; + } + .rtl .ml-sm-0, + [dir="rtl"] .ml-sm-0 { + margin-left: 0 !important; + margin-right: 0 !important; + } + .rtl mx-sm-0, + [dir="rtl"] mx-sm-0 { + margin-left: 0 !important; + margin-right: 0 !important; + } + .rtl .mr-sm-1, + [dir="rtl"] .mr-sm-1 { + margin-right: 0 !important; + margin-left: 0.25rem !important; + } + .rtl .ml-sm-1, + [dir="rtl"] .ml-sm-1 { + margin-left: 0 !important; + margin-right: 0.25rem !important; + } + .rtl mx-sm-1, + [dir="rtl"] mx-sm-1 { + margin-left: 0.25rem !important; + margin-right: 0.25rem !important; + } + .rtl .mr-sm-2, + [dir="rtl"] .mr-sm-2 { + margin-right: 0 !important; + margin-left: 0.5rem !important; + } + .rtl .ml-sm-2, + [dir="rtl"] .ml-sm-2 { + margin-left: 0 !important; + margin-right: 0.5rem !important; + } + .rtl mx-sm-2, + [dir="rtl"] mx-sm-2 { + margin-left: 0.5rem !important; + margin-right: 0.5rem !important; + } + .rtl .mr-sm-3, + [dir="rtl"] .mr-sm-3 { + margin-right: 0 !important; + margin-left: 1rem !important; + } + .rtl .ml-sm-3, + [dir="rtl"] .ml-sm-3 { + margin-left: 0 !important; + margin-right: 1rem !important; + } + .rtl mx-sm-3, + [dir="rtl"] mx-sm-3 { + margin-left: 1rem !important; + margin-right: 1rem !important; + } + .rtl .mr-sm-4, + [dir="rtl"] .mr-sm-4 { + margin-right: 0 !important; + margin-left: 1.5rem !important; + } + .rtl .ml-sm-4, + [dir="rtl"] .ml-sm-4 { + margin-left: 0 !important; + margin-right: 1.5rem !important; + } + .rtl mx-sm-4, + [dir="rtl"] mx-sm-4 { + margin-left: 1.5rem !important; + margin-right: 1.5rem !important; + } + .rtl .mr-sm-5, + [dir="rtl"] .mr-sm-5 { + margin-right: 0 !important; + margin-left: 3rem !important; + } + .rtl .ml-sm-5, + [dir="rtl"] .ml-sm-5 { + margin-left: 0 !important; + margin-right: 3rem !important; + } + .rtl mx-sm-5, + [dir="rtl"] mx-sm-5 { + margin-left: 3rem !important; + margin-right: 3rem !important; + } + .rtl .pr-sm-0, + [dir="rtl"] .pr-sm-0 { + padding-right: 0 !important; + padding-left: 0 !important; + } + .rtl .pl-sm-0, + [dir="rtl"] .pl-sm-0 { + padding-left: 0 !important; + padding-right: 0 !important; + } + .rtl px-sm-0, + [dir="rtl"] px-sm-0 { + padding-left: 0 !important; + padding-right: 0 !important; + } + .rtl .pr-sm-1, + [dir="rtl"] .pr-sm-1 { + padding-right: 0 !important; + padding-left: 0.25rem !important; + } + .rtl .pl-sm-1, + [dir="rtl"] .pl-sm-1 { + padding-left: 0 !important; + padding-right: 0.25rem !important; + } + .rtl px-sm-1, + [dir="rtl"] px-sm-1 { + padding-left: 0.25rem !important; + padding-right: 0.25rem !important; + } + .rtl .pr-sm-2, + [dir="rtl"] .pr-sm-2 { + padding-right: 0 !important; + padding-left: 0.5rem !important; + } + .rtl .pl-sm-2, + [dir="rtl"] .pl-sm-2 { + padding-left: 0 !important; + padding-right: 0.5rem !important; + } + .rtl px-sm-2, + [dir="rtl"] px-sm-2 { + padding-left: 0.5rem !important; + padding-right: 0.5rem !important; + } + .rtl .pr-sm-3, + [dir="rtl"] .pr-sm-3 { + padding-right: 0 !important; + padding-left: 1rem !important; + } + .rtl .pl-sm-3, + [dir="rtl"] .pl-sm-3 { + padding-left: 0 !important; + padding-right: 1rem !important; + } + .rtl px-sm-3, + [dir="rtl"] px-sm-3 { + padding-left: 1rem !important; + padding-right: 1rem !important; + } + .rtl .pr-sm-4, + [dir="rtl"] .pr-sm-4 { + padding-right: 0 !important; + padding-left: 1.5rem !important; + } + .rtl .pl-sm-4, + [dir="rtl"] .pl-sm-4 { + padding-left: 0 !important; + padding-right: 1.5rem !important; + } + .rtl px-sm-4, + [dir="rtl"] px-sm-4 { + padding-left: 1.5rem !important; + padding-right: 1.5rem !important; + } + .rtl .pr-sm-5, + [dir="rtl"] .pr-sm-5 { + padding-right: 0 !important; + padding-left: 3rem !important; + } + .rtl .pl-sm-5, + [dir="rtl"] .pl-sm-5 { + padding-left: 0 !important; + padding-right: 3rem !important; + } + .rtl px-sm-5, + [dir="rtl"] px-sm-5 { + padding-left: 3rem !important; + padding-right: 3rem !important; + } + .rtl .mr-sm-auto, + [dir="rtl"] .mr-sm-auto { + margin-right: 0 !important; + margin-left: auto !important; + } + .rtl .ml-sm-auto, + [dir="rtl"] .ml-sm-auto { + margin-right: auto !important; + margin-left: 0 !important; + } + .rtl .mx-sm-auto, + [dir="rtl"] .mx-sm-auto { + margin-right: auto !important; + margin-left: auto !important; + } +} + +@media (min-width: 768px) { + .rtl .mr-md-0, + [dir="rtl"] .mr-md-0 { + margin-right: 0 !important; + margin-left: 0 !important; + } + .rtl .ml-md-0, + [dir="rtl"] .ml-md-0 { + margin-left: 0 !important; + margin-right: 0 !important; + } + .rtl mx-md-0, + [dir="rtl"] mx-md-0 { + margin-left: 0 !important; + margin-right: 0 !important; + } + .rtl .mr-md-1, + [dir="rtl"] .mr-md-1 { + margin-right: 0 !important; + margin-left: 0.25rem !important; + } + .rtl .ml-md-1, + [dir="rtl"] .ml-md-1 { + margin-left: 0 !important; + margin-right: 0.25rem !important; + } + .rtl mx-md-1, + [dir="rtl"] mx-md-1 { + margin-left: 0.25rem !important; + margin-right: 0.25rem !important; + } + .rtl .mr-md-2, + [dir="rtl"] .mr-md-2 { + margin-right: 0 !important; + margin-left: 0.5rem !important; + } + .rtl .ml-md-2, + [dir="rtl"] .ml-md-2 { + margin-left: 0 !important; + margin-right: 0.5rem !important; + } + .rtl mx-md-2, + [dir="rtl"] mx-md-2 { + margin-left: 0.5rem !important; + margin-right: 0.5rem !important; + } + .rtl .mr-md-3, + [dir="rtl"] .mr-md-3 { + margin-right: 0 !important; + margin-left: 1rem !important; + } + .rtl .ml-md-3, + [dir="rtl"] .ml-md-3 { + margin-left: 0 !important; + margin-right: 1rem !important; + } + .rtl mx-md-3, + [dir="rtl"] mx-md-3 { + margin-left: 1rem !important; + margin-right: 1rem !important; + } + .rtl .mr-md-4, + [dir="rtl"] .mr-md-4 { + margin-right: 0 !important; + margin-left: 1.5rem !important; + } + .rtl .ml-md-4, + [dir="rtl"] .ml-md-4 { + margin-left: 0 !important; + margin-right: 1.5rem !important; + } + .rtl mx-md-4, + [dir="rtl"] mx-md-4 { + margin-left: 1.5rem !important; + margin-right: 1.5rem !important; + } + .rtl .mr-md-5, + [dir="rtl"] .mr-md-5 { + margin-right: 0 !important; + margin-left: 3rem !important; + } + .rtl .ml-md-5, + [dir="rtl"] .ml-md-5 { + margin-left: 0 !important; + margin-right: 3rem !important; + } + .rtl mx-md-5, + [dir="rtl"] mx-md-5 { + margin-left: 3rem !important; + margin-right: 3rem !important; + } + .rtl .pr-md-0, + [dir="rtl"] .pr-md-0 { + padding-right: 0 !important; + padding-left: 0 !important; + } + .rtl .pl-md-0, + [dir="rtl"] .pl-md-0 { + padding-left: 0 !important; + padding-right: 0 !important; + } + .rtl px-md-0, + [dir="rtl"] px-md-0 { + padding-left: 0 !important; + padding-right: 0 !important; + } + .rtl .pr-md-1, + [dir="rtl"] .pr-md-1 { + padding-right: 0 !important; + padding-left: 0.25rem !important; + } + .rtl .pl-md-1, + [dir="rtl"] .pl-md-1 { + padding-left: 0 !important; + padding-right: 0.25rem !important; + } + .rtl px-md-1, + [dir="rtl"] px-md-1 { + padding-left: 0.25rem !important; + padding-right: 0.25rem !important; + } + .rtl .pr-md-2, + [dir="rtl"] .pr-md-2 { + padding-right: 0 !important; + padding-left: 0.5rem !important; + } + .rtl .pl-md-2, + [dir="rtl"] .pl-md-2 { + padding-left: 0 !important; + padding-right: 0.5rem !important; + } + .rtl px-md-2, + [dir="rtl"] px-md-2 { + padding-left: 0.5rem !important; + padding-right: 0.5rem !important; + } + .rtl .pr-md-3, + [dir="rtl"] .pr-md-3 { + padding-right: 0 !important; + padding-left: 1rem !important; + } + .rtl .pl-md-3, + [dir="rtl"] .pl-md-3 { + padding-left: 0 !important; + padding-right: 1rem !important; + } + .rtl px-md-3, + [dir="rtl"] px-md-3 { + padding-left: 1rem !important; + padding-right: 1rem !important; + } + .rtl .pr-md-4, + [dir="rtl"] .pr-md-4 { + padding-right: 0 !important; + padding-left: 1.5rem !important; + } + .rtl .pl-md-4, + [dir="rtl"] .pl-md-4 { + padding-left: 0 !important; + padding-right: 1.5rem !important; + } + .rtl px-md-4, + [dir="rtl"] px-md-4 { + padding-left: 1.5rem !important; + padding-right: 1.5rem !important; + } + .rtl .pr-md-5, + [dir="rtl"] .pr-md-5 { + padding-right: 0 !important; + padding-left: 3rem !important; + } + .rtl .pl-md-5, + [dir="rtl"] .pl-md-5 { + padding-left: 0 !important; + padding-right: 3rem !important; + } + .rtl px-md-5, + [dir="rtl"] px-md-5 { + padding-left: 3rem !important; + padding-right: 3rem !important; + } + .rtl .mr-md-auto, + [dir="rtl"] .mr-md-auto { + margin-right: 0 !important; + margin-left: auto !important; + } + .rtl .ml-md-auto, + [dir="rtl"] .ml-md-auto { + margin-right: auto !important; + margin-left: 0 !important; + } + .rtl .mx-md-auto, + [dir="rtl"] .mx-md-auto { + margin-right: auto !important; + margin-left: auto !important; + } +} + +@media (min-width: 992px) { + .rtl .mr-lg-0, + [dir="rtl"] .mr-lg-0 { + margin-right: 0 !important; + margin-left: 0 !important; + } + .rtl .ml-lg-0, + [dir="rtl"] .ml-lg-0 { + margin-left: 0 !important; + margin-right: 0 !important; + } + .rtl mx-lg-0, + [dir="rtl"] mx-lg-0 { + margin-left: 0 !important; + margin-right: 0 !important; + } + .rtl .mr-lg-1, + [dir="rtl"] .mr-lg-1 { + margin-right: 0 !important; + margin-left: 0.25rem !important; + } + .rtl .ml-lg-1, + [dir="rtl"] .ml-lg-1 { + margin-left: 0 !important; + margin-right: 0.25rem !important; + } + .rtl mx-lg-1, + [dir="rtl"] mx-lg-1 { + margin-left: 0.25rem !important; + margin-right: 0.25rem !important; + } + .rtl .mr-lg-2, + [dir="rtl"] .mr-lg-2 { + margin-right: 0 !important; + margin-left: 0.5rem !important; + } + .rtl .ml-lg-2, + [dir="rtl"] .ml-lg-2 { + margin-left: 0 !important; + margin-right: 0.5rem !important; + } + .rtl mx-lg-2, + [dir="rtl"] mx-lg-2 { + margin-left: 0.5rem !important; + margin-right: 0.5rem !important; + } + .rtl .mr-lg-3, + [dir="rtl"] .mr-lg-3 { + margin-right: 0 !important; + margin-left: 1rem !important; + } + .rtl .ml-lg-3, + [dir="rtl"] .ml-lg-3 { + margin-left: 0 !important; + margin-right: 1rem !important; + } + .rtl mx-lg-3, + [dir="rtl"] mx-lg-3 { + margin-left: 1rem !important; + margin-right: 1rem !important; + } + .rtl .mr-lg-4, + [dir="rtl"] .mr-lg-4 { + margin-right: 0 !important; + margin-left: 1.5rem !important; + } + .rtl .ml-lg-4, + [dir="rtl"] .ml-lg-4 { + margin-left: 0 !important; + margin-right: 1.5rem !important; + } + .rtl mx-lg-4, + [dir="rtl"] mx-lg-4 { + margin-left: 1.5rem !important; + margin-right: 1.5rem !important; + } + .rtl .mr-lg-5, + [dir="rtl"] .mr-lg-5 { + margin-right: 0 !important; + margin-left: 3rem !important; + } + .rtl .ml-lg-5, + [dir="rtl"] .ml-lg-5 { + margin-left: 0 !important; + margin-right: 3rem !important; + } + .rtl mx-lg-5, + [dir="rtl"] mx-lg-5 { + margin-left: 3rem !important; + margin-right: 3rem !important; + } + .rtl .pr-lg-0, + [dir="rtl"] .pr-lg-0 { + padding-right: 0 !important; + padding-left: 0 !important; + } + .rtl .pl-lg-0, + [dir="rtl"] .pl-lg-0 { + padding-left: 0 !important; + padding-right: 0 !important; + } + .rtl px-lg-0, + [dir="rtl"] px-lg-0 { + padding-left: 0 !important; + padding-right: 0 !important; + } + .rtl .pr-lg-1, + [dir="rtl"] .pr-lg-1 { + padding-right: 0 !important; + padding-left: 0.25rem !important; + } + .rtl .pl-lg-1, + [dir="rtl"] .pl-lg-1 { + padding-left: 0 !important; + padding-right: 0.25rem !important; + } + .rtl px-lg-1, + [dir="rtl"] px-lg-1 { + padding-left: 0.25rem !important; + padding-right: 0.25rem !important; + } + .rtl .pr-lg-2, + [dir="rtl"] .pr-lg-2 { + padding-right: 0 !important; + padding-left: 0.5rem !important; + } + .rtl .pl-lg-2, + [dir="rtl"] .pl-lg-2 { + padding-left: 0 !important; + padding-right: 0.5rem !important; + } + .rtl px-lg-2, + [dir="rtl"] px-lg-2 { + padding-left: 0.5rem !important; + padding-right: 0.5rem !important; + } + .rtl .pr-lg-3, + [dir="rtl"] .pr-lg-3 { + padding-right: 0 !important; + padding-left: 1rem !important; + } + .rtl .pl-lg-3, + [dir="rtl"] .pl-lg-3 { + padding-left: 0 !important; + padding-right: 1rem !important; + } + .rtl px-lg-3, + [dir="rtl"] px-lg-3 { + padding-left: 1rem !important; + padding-right: 1rem !important; + } + .rtl .pr-lg-4, + [dir="rtl"] .pr-lg-4 { + padding-right: 0 !important; + padding-left: 1.5rem !important; + } + .rtl .pl-lg-4, + [dir="rtl"] .pl-lg-4 { + padding-left: 0 !important; + padding-right: 1.5rem !important; + } + .rtl px-lg-4, + [dir="rtl"] px-lg-4 { + padding-left: 1.5rem !important; + padding-right: 1.5rem !important; + } + .rtl .pr-lg-5, + [dir="rtl"] .pr-lg-5 { + padding-right: 0 !important; + padding-left: 3rem !important; + } + .rtl .pl-lg-5, + [dir="rtl"] .pl-lg-5 { + padding-left: 0 !important; + padding-right: 3rem !important; + } + .rtl px-lg-5, + [dir="rtl"] px-lg-5 { + padding-left: 3rem !important; + padding-right: 3rem !important; + } + .rtl .mr-lg-auto, + [dir="rtl"] .mr-lg-auto { + margin-right: 0 !important; + margin-left: auto !important; + } + .rtl .ml-lg-auto, + [dir="rtl"] .ml-lg-auto { + margin-right: auto !important; + margin-left: 0 !important; + } + .rtl .mx-lg-auto, + [dir="rtl"] .mx-lg-auto { + margin-right: auto !important; + margin-left: auto !important; + } +} + +@media (min-width: 1200px) { + .rtl .mr-xl-0, + [dir="rtl"] .mr-xl-0 { + margin-right: 0 !important; + margin-left: 0 !important; + } + .rtl .ml-xl-0, + [dir="rtl"] .ml-xl-0 { + margin-left: 0 !important; + margin-right: 0 !important; + } + .rtl mx-xl-0, + [dir="rtl"] mx-xl-0 { + margin-left: 0 !important; + margin-right: 0 !important; + } + .rtl .mr-xl-1, + [dir="rtl"] .mr-xl-1 { + margin-right: 0 !important; + margin-left: 0.25rem !important; + } + .rtl .ml-xl-1, + [dir="rtl"] .ml-xl-1 { + margin-left: 0 !important; + margin-right: 0.25rem !important; + } + .rtl mx-xl-1, + [dir="rtl"] mx-xl-1 { + margin-left: 0.25rem !important; + margin-right: 0.25rem !important; + } + .rtl .mr-xl-2, + [dir="rtl"] .mr-xl-2 { + margin-right: 0 !important; + margin-left: 0.5rem !important; + } + .rtl .ml-xl-2, + [dir="rtl"] .ml-xl-2 { + margin-left: 0 !important; + margin-right: 0.5rem !important; + } + .rtl mx-xl-2, + [dir="rtl"] mx-xl-2 { + margin-left: 0.5rem !important; + margin-right: 0.5rem !important; + } + .rtl .mr-xl-3, + [dir="rtl"] .mr-xl-3 { + margin-right: 0 !important; + margin-left: 1rem !important; + } + .rtl .ml-xl-3, + [dir="rtl"] .ml-xl-3 { + margin-left: 0 !important; + margin-right: 1rem !important; + } + .rtl mx-xl-3, + [dir="rtl"] mx-xl-3 { + margin-left: 1rem !important; + margin-right: 1rem !important; + } + .rtl .mr-xl-4, + [dir="rtl"] .mr-xl-4 { + margin-right: 0 !important; + margin-left: 1.5rem !important; + } + .rtl .ml-xl-4, + [dir="rtl"] .ml-xl-4 { + margin-left: 0 !important; + margin-right: 1.5rem !important; + } + .rtl mx-xl-4, + [dir="rtl"] mx-xl-4 { + margin-left: 1.5rem !important; + margin-right: 1.5rem !important; + } + .rtl .mr-xl-5, + [dir="rtl"] .mr-xl-5 { + margin-right: 0 !important; + margin-left: 3rem !important; + } + .rtl .ml-xl-5, + [dir="rtl"] .ml-xl-5 { + margin-left: 0 !important; + margin-right: 3rem !important; + } + .rtl mx-xl-5, + [dir="rtl"] mx-xl-5 { + margin-left: 3rem !important; + margin-right: 3rem !important; + } + .rtl .pr-xl-0, + [dir="rtl"] .pr-xl-0 { + padding-right: 0 !important; + padding-left: 0 !important; + } + .rtl .pl-xl-0, + [dir="rtl"] .pl-xl-0 { + padding-left: 0 !important; + padding-right: 0 !important; + } + .rtl px-xl-0, + [dir="rtl"] px-xl-0 { + padding-left: 0 !important; + padding-right: 0 !important; + } + .rtl .pr-xl-1, + [dir="rtl"] .pr-xl-1 { + padding-right: 0 !important; + padding-left: 0.25rem !important; + } + .rtl .pl-xl-1, + [dir="rtl"] .pl-xl-1 { + padding-left: 0 !important; + padding-right: 0.25rem !important; + } + .rtl px-xl-1, + [dir="rtl"] px-xl-1 { + padding-left: 0.25rem !important; + padding-right: 0.25rem !important; + } + .rtl .pr-xl-2, + [dir="rtl"] .pr-xl-2 { + padding-right: 0 !important; + padding-left: 0.5rem !important; + } + .rtl .pl-xl-2, + [dir="rtl"] .pl-xl-2 { + padding-left: 0 !important; + padding-right: 0.5rem !important; + } + .rtl px-xl-2, + [dir="rtl"] px-xl-2 { + padding-left: 0.5rem !important; + padding-right: 0.5rem !important; + } + .rtl .pr-xl-3, + [dir="rtl"] .pr-xl-3 { + padding-right: 0 !important; + padding-left: 1rem !important; + } + .rtl .pl-xl-3, + [dir="rtl"] .pl-xl-3 { + padding-left: 0 !important; + padding-right: 1rem !important; + } + .rtl px-xl-3, + [dir="rtl"] px-xl-3 { + padding-left: 1rem !important; + padding-right: 1rem !important; + } + .rtl .pr-xl-4, + [dir="rtl"] .pr-xl-4 { + padding-right: 0 !important; + padding-left: 1.5rem !important; + } + .rtl .pl-xl-4, + [dir="rtl"] .pl-xl-4 { + padding-left: 0 !important; + padding-right: 1.5rem !important; + } + .rtl px-xl-4, + [dir="rtl"] px-xl-4 { + padding-left: 1.5rem !important; + padding-right: 1.5rem !important; + } + .rtl .pr-xl-5, + [dir="rtl"] .pr-xl-5 { + padding-right: 0 !important; + padding-left: 3rem !important; + } + .rtl .pl-xl-5, + [dir="rtl"] .pl-xl-5 { + padding-left: 0 !important; + padding-right: 3rem !important; + } + .rtl px-xl-5, + [dir="rtl"] px-xl-5 { + padding-left: 3rem !important; + padding-right: 3rem !important; + } + .rtl .mr-xl-auto, + [dir="rtl"] .mr-xl-auto { + margin-right: 0 !important; + margin-left: auto !important; + } + .rtl .ml-xl-auto, + [dir="rtl"] .ml-xl-auto { + margin-right: auto !important; + margin-left: 0 !important; + } + .rtl .mx-xl-auto, + [dir="rtl"] .mx-xl-auto { + margin-right: auto !important; + margin-left: auto !important; + } +} + +.rtl .text-right, +[dir="rtl"] .text-right { + text-align: left !important; +} + +.rtl .text-left, +[dir="rtl"] .text-left { + text-align: right !important; +} + +@media (min-width: 576px) { + .rtl .text-sm-right, + [dir="rtl"] .text-sm-right { + text-align: left !important; + } + .rtl .text-sm-left, + [dir="rtl"] .text-sm-left { + text-align: right !important; + } +} + +@media (min-width: 768px) { + .rtl .text-md-right, + [dir="rtl"] .text-md-right { + text-align: left !important; + } + .rtl .text-md-left, + [dir="rtl"] .text-md-left { + text-align: right !important; + } +} + +@media (min-width: 992px) { + .rtl .text-lg-right, + [dir="rtl"] .text-lg-right { + text-align: left !important; + } + .rtl .text-lg-left, + [dir="rtl"] .text-lg-left { + text-align: right !important; + } +} + +@media (min-width: 1200px) { + .rtl .text-xl-right, + [dir="rtl"] .text-xl-right { + text-align: left !important; + } + .rtl .text-xl-left, + [dir="rtl"] .text-xl-left { + text-align: right !important; + } +} +/*# sourceMappingURL=bootstrap-rtl.css.map */ \ No newline at end of file diff --git a/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap/css/bootstrap-rtl.css.map b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap/css/bootstrap-rtl.css.map new file mode 100644 index 0000000000..a1927ae7b4 --- /dev/null +++ b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap/css/bootstrap-rtl.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["../../scss/bootstrap-rtl.scss","bootstrap-rtl.css","../../scss/_root.scss","../../scss/_reboot.scss","../../scss/_variables.scss","../../scss/vendor/_rfs.scss","../../scss/mixins/_hover.scss","../../scss/_type.scss","../../scss/mixins/_lists.scss","../../scss/_images.scss","../../scss/mixins/_image.scss","../../scss/mixins/_border-radius.scss","../../scss/_code.scss","../../scss/_grid.scss","../../scss/mixins/_grid.scss","../../scss/mixins/_breakpoints.scss","../../scss/mixins/_grid-framework.scss","../../scss/_tables.scss","../../scss/mixins/_table-row.scss","../../scss/_functions.scss","../../scss/_forms.scss","../../scss/mixins/_transition.scss","../../scss/mixins/_forms.scss","../../scss/mixins/_gradients.scss","../../scss/_buttons.scss","../../scss/mixins/_buttons.scss","../../scss/_transitions.scss","../../scss/_dropdown.scss","../../scss/mixins/_caret.scss","../../scss/mixins/_nav-divider.scss","../../scss/_button-group.scss","../../scss/_input-group.scss","../../scss/_custom-forms.scss","../../scss/_nav.scss","../../scss/_navbar.scss","../../scss/_card.scss","../../scss/_breadcrumb.scss","../../scss/_pagination.scss","../../scss/mixins/_pagination.scss","../../scss/_badge.scss","../../scss/mixins/_badge.scss","../../scss/_jumbotron.scss","../../scss/_alert.scss","../../scss/mixins/_alert.scss","../../scss/_progress.scss","../../scss/_media.scss","../../scss/_list-group.scss","../../scss/mixins/_list-group.scss","../../scss/_close.scss","../../scss/_toasts.scss","../../scss/_modal.scss","../../scss/_tooltip.scss","../../scss/mixins/_reset-text.scss","../../scss/_popover.scss","../../scss/_carousel.scss","../../scss/mixins/_clearfix.scss","../../scss/_spinners.scss","../../scss/utilities/_align.scss","../../scss/mixins/_background-variant.scss","../../scss/utilities/_background.scss","../../scss/utilities/_borders.scss","../../scss/utilities/_display.scss","../../scss/utilities/_embed.scss","../../scss/utilities/_flex.scss","../../scss/utilities/_float.scss","../../scss/utilities/_overflow.scss","../../scss/utilities/_position.scss","../../scss/utilities/_screenreaders.scss","../../scss/mixins/_screen-reader.scss","../../scss/utilities/_shadows.scss","../../scss/utilities/_sizing.scss","../../scss/utilities/_stretched-link.scss","../../scss/utilities/_spacing.scss","../../scss/utilities/_text.scss","../../scss/mixins/_text-truncate.scss","../../scss/mixins/_text-emphasis.scss","../../scss/mixins/_text-hide.scss","../../scss/utilities/_visibility.scss","../../scss/_print.scss","../../scss/_rtl.scss"],"names":[],"mappings":"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AAwB;AFpH1B;;AE4HA;EACE,aAAa;EACb,0BAA0B;AFzH5B;;AEgIA;EACE,qBAAqB;AF7HvB;;AEgIA;EACE,kBAAkB;EAClB,eAAe;AF7HjB;;AEgIA;EACE,aAAa;AF7Hf;;AAEA;EEiIE,wBAAwB;AF/H1B;;AM3VA;;EAEE,qBHySuC;EGvSvC,gBHyS+B;EGxS/B,gBHyS+B;AHoDjC;;AMzVA;EFgHM,iBAtCY;AJmRlB;;AM5VA;EF+GM,eAtCY;AJuRlB;;AM/VA;EF8GM,kBAtCY;AJ2RlB;;AMlWA;EF6GM,iBAtCY;AJ+RlB;;AMrWA;EF4GM,kBAtCY;AJmSlB;;AMxWA;EF2GM,eAtCY;AJuSlB;;AM1WA;EFyGM,kBAtCY;EEjEhB,gBH2S+B;AHkEjC;;AMzWA;EFmGM,eAtCY;EE3DhB,gBH8R+B;EG7R/B,gBHqR+B;AHuFjC;;AM1WA;EF8FM,iBAtCY;EEtDhB,gBH0R+B;EGzR/B,gBHgR+B;AH6FjC;;AM3WA;EFyFM,iBAtCY;EEjDhB,gBHsR+B;EGrR/B,gBH2Q+B;AHmGjC;;AM5WA;EFoFM,iBAtCY;EE5ChB,gBHkR+B;EGjR/B,gBHsQ+B;AHyGjC;;AElVA;EIpBE,gBHiFW;EGhFX,mBHgFW;EG/EX,SAAS;EACT,wCHzCa;AHmZf;;AMlWA;;EFMI,cAAW;EEHb,gBH8N+B;AHuIjC;;AMlWA;;EAEE,cHsQgC;EGrQhC,yBH8QmC;AHuFrC;;AM7VA;EC/EE,eAAe;EACf,gBAAgB;APgblB;;AM7VA;ECpFE,eAAe;EACf,gBAAgB;APqblB;;AM/VA;EACE,qBAAqB;ANkWvB;;AMnWA;EAII,oBHwP+B;AH2GnC;;AMzVA;EFjCI,cAAW;EEmCb,yBAAyB;AN4V3B;;AMxVA;EACE,mBHwBW;ECTP,kBAtCY;AJmXlB;;AMxVA;EACE,cAAc;EF7CZ,cAAW;EE+Cb,cH1GgB;AHqclB;;AM9VA;EAMI,qBAAqB;AN4VzB;;AQ/cA;ECIE,eAAe;EAGf,YAAY;AT6cd;;AQ9cA;EACE,gBLigCwC;EKhgCxC,sBLRa;EKSb,yBLNgB;EOLd,sBP6OgC;EMvOlC,eAAe;EAGf,YAAY;ATsdd;;AQxcA;EAEE,qBAAqB;AR0cvB;;AQvcA;EACE,qBAA0B;EAC1B,cAAc;AR0chB;;AQvcA;EJkCI,cAAW;EIhCb,cL3BgB;AHqelB;;AWjfA;EPuEI,gBAAW;EOrEb,cRoCe;EQnCf,qBAAqB;AXofvB;;AWjfE;EACE,cAAc;AXoflB;;AW/eA;EACE,sBRqlCuC;EC3hCrC,gBAAW;EOxDb,WRTa;EQUb,yBRDgB;EOXd,qBP+O+B;AHgRnC;;AWvfA;EASI,UAAU;EPkDV,eAAW;EOhDX,gBR4Q6B;AHsOjC;;AE1SA;ESjME,cAAc;EPyCZ,gBAAW;EOvCb,cRjBgB;AHggBlB;;AWlfA;EP0CI,kBAAW;EOlCX,cAAc;EACd,kBAAkB;AX+etB;;AW1eA;EACE,iBR4jCuC;EQ3jCvC,kBAAkB;AX6epB;;AYrhBE;ECDA,WAAW;EACX,mBAA0B;EAC1B,kBAAyB;EACzB,kBAAkB;EAClB,iBAAiB;Ab0hBnB;;AcveI;EFtDF;ICaI,gBVmMK;EHkVT;AACF;;Ac7eI;EFtDF;ICaI,gBVoMK;EHuVT;AACF;;AcnfI;EFtDF;ICaI,gBVqMK;EH4VT;AACF;;AczfI;EFtDF;ICaI,iBVsMM;EHiWV;AACF;;AY/iBE;ECPA,WAAW;EACX,mBAA0B;EAC1B,kBAAyB;EACzB,kBAAkB;EAClB,iBAAiB;Ab0jBnB;;AcvgBI;EFrCE;IACE,gBT8LG;EHkXT;AACF;;Ac7gBI;EFrCE;IACE,gBT+LG;EHuXT;AACF;;AcnhBI;EFrCE;IACE,gBTgMG;EH4XT;AACF;;AczhBI;EFrCE;IACE,iBTiMI;EHiYV;AACF;;AY/iBE;ECnBA,aAAa;EACb,eAAe;EACf,mBAA0B;EAC1B,kBAAyB;AbskB3B;;AYhjBE;EACE,eAAe;EACf,cAAc;AZmjBlB;;AYrjBE;;EAMI,gBAAgB;EAChB,eAAe;AZojBrB;;AetmBE;;;;;;EACE,kBAAkB;EAClB,WAAW;EACX,mBAA0B;EAC1B,kBAAyB;Af8mB7B;;Ae3lBM;EACE,aAAa;EACb,YAAY;EACZ,eAAe;Af8lBvB;;Ae1lBQ;EF8BJ,cAAuB;EACvB,eAAwB;AbgkB5B;;Ae/lBQ;EF8BJ,aAAuB;EACvB,cAAwB;AbqkB5B;;AepmBQ;EF8BJ,oBAAuB;EACvB,qBAAwB;Ab0kB5B;;AezmBQ;EF8BJ,aAAuB;EACvB,cAAwB;Ab+kB5B;;Ae9mBQ;EF8BJ,aAAuB;EACvB,cAAwB;AbolB5B;;AennBQ;EF8BJ,oBAAuB;EACvB,qBAAwB;AbylB5B;;AennBM;EFQJ,cAAc;EACd,WAAW;EACX,eAAe;Ab+mBjB;;AepnBQ;EFLN,mBAAsC;EAItC,oBAAuC;Ab0nBzC;;AeznBQ;EFLN,oBAAsC;EAItC,qBAAuC;Ab+nBzC;;Ae9nBQ;EFLN,aAAsC;EAItC,cAAuC;AbooBzC;;AenoBQ;EFLN,oBAAsC;EAItC,qBAAuC;AbyoBzC;;AexoBQ;EFLN,oBAAsC;EAItC,qBAAuC;Ab8oBzC;;Ae7oBQ;EFLN,aAAsC;EAItC,cAAuC;AbmpBzC;;AelpBQ;EFLN,oBAAsC;EAItC,qBAAuC;AbwpBzC;;AevpBQ;EFLN,oBAAsC;EAItC,qBAAuC;Ab6pBzC;;Ae5pBQ;EFLN,aAAsC;EAItC,cAAuC;AbkqBzC;;AejqBQ;EFLN,oBAAsC;EAItC,qBAAuC;AbuqBzC;;AetqBQ;EFLN,oBAAsC;EAItC,qBAAuC;Ab4qBzC;;Ae3qBQ;EFLN,cAAsC;EAItC,eAAuC;AbirBzC;;Ae3qBM;EAAwB,SAAS;Af+qBvC;;Ae7qBM;EAAuB,SZ6KG;AHogBhC;;Ae9qBQ;EAAwB,QADZ;AfmrBpB;;AelrBQ;EAAwB,QADZ;AfurBpB;;AetrBQ;EAAwB,QADZ;Af2rBpB;;Ae1rBQ;EAAwB,QADZ;Af+rBpB;;Ae9rBQ;EAAwB,QADZ;AfmsBpB;;AelsBQ;EAAwB,QADZ;AfusBpB;;AetsBQ;EAAwB,QADZ;Af2sBpB;;Ae1sBQ;EAAwB,QADZ;Af+sBpB;;Ae9sBQ;EAAwB,QADZ;AfmtBpB;;AeltBQ;EAAwB,QADZ;AfutBpB;;AettBQ;EAAwB,SADZ;Af2tBpB;;Ae1tBQ;EAAwB,SADZ;Af+tBpB;;Ae9tBQ;EAAwB,SADZ;AfmuBpB;;Ae5tBU;EFNR,uBAA+C;AbsuBjD;;AehuBU;EFNR,wBAA+C;Ab0uBjD;;AepuBU;EFNR,iBAA+C;Ab8uBjD;;AexuBU;EFNR,wBAA+C;AbkvBjD;;Ae5uBU;EFNR,wBAA+C;AbsvBjD;;AehvBU;EFNR,iBAA+C;Ab0vBjD;;AepvBU;EFNR,wBAA+C;Ab8vBjD;;AexvBU;EFNR,wBAA+C;AbkwBjD;;Ae5vBU;EFNR,iBAA+C;AbswBjD;;AehwBU;EFNR,wBAA+C;Ab0wBjD;;AepwBU;EFNR,wBAA+C;Ab8wBjD;;Ac3wBI;EC9BE;IACE,aAAa;IACb,YAAY;IACZ,eAAe;Ef6yBrB;EezyBM;IF8BJ,cAAuB;IACvB,eAAwB;Eb8wB1B;Ee7yBM;IF8BJ,aAAuB;IACvB,cAAwB;EbkxB1B;EejzBM;IF8BJ,oBAAuB;IACvB,qBAAwB;EbsxB1B;EerzBM;IF8BJ,aAAuB;IACvB,cAAwB;Eb0xB1B;EezzBM;IF8BJ,aAAuB;IACvB,cAAwB;Eb8xB1B;Ee7zBM;IF8BJ,oBAAuB;IACvB,qBAAwB;EbkyB1B;Ee5zBI;IFQJ,cAAc;IACd,WAAW;IACX,eAAe;EbuzBf;Ee5zBM;IFLN,mBAAsC;IAItC,oBAAuC;Ebi0BvC;Eeh0BM;IFLN,oBAAsC;IAItC,qBAAuC;Ebq0BvC;Eep0BM;IFLN,aAAsC;IAItC,cAAuC;Eby0BvC;Eex0BM;IFLN,oBAAsC;IAItC,qBAAuC;Eb60BvC;Ee50BM;IFLN,oBAAsC;IAItC,qBAAuC;Ebi1BvC;Eeh1BM;IFLN,aAAsC;IAItC,cAAuC;Ebq1BvC;Eep1BM;IFLN,oBAAsC;IAItC,qBAAuC;Eby1BvC;Eex1BM;IFLN,oBAAsC;IAItC,qBAAuC;Eb61BvC;Ee51BM;IFLN,aAAsC;IAItC,cAAuC;Ebi2BvC;Eeh2BM;IFLN,oBAAsC;IAItC,qBAAuC;Ebq2BvC;Eep2BM;IFLN,oBAAsC;IAItC,qBAAuC;Eby2BvC;Eex2BM;IFLN,cAAsC;IAItC,eAAuC;Eb62BvC;Eev2BI;IAAwB,SAAS;Ef02BrC;Eex2BI;IAAuB,SZ6KG;EH8rB9B;Eex2BM;IAAwB,QADZ;Ef42BlB;Ee32BM;IAAwB,QADZ;Ef+2BlB;Ee92BM;IAAwB,QADZ;Efk3BlB;Eej3BM;IAAwB,QADZ;Efq3BlB;Eep3BM;IAAwB,QADZ;Efw3BlB;Eev3BM;IAAwB,QADZ;Ef23BlB;Ee13BM;IAAwB,QADZ;Ef83BlB;Ee73BM;IAAwB,QADZ;Efi4BlB;Eeh4BM;IAAwB,QADZ;Efo4BlB;Een4BM;IAAwB,QADZ;Efu4BlB;Eet4BM;IAAwB,SADZ;Ef04BlB;Eez4BM;IAAwB,SADZ;Ef64BlB;Ee54BM;IAAwB,SADZ;Efg5BlB;Eez4BQ;IFNR,eAA6B;Ebk5B7B;Ee54BQ;IFNR,uBAA+C;Ebq5B/C;Ee/4BQ;IFNR,wBAA+C;Ebw5B/C;Eel5BQ;IFNR,iBAA+C;Eb25B/C;Eer5BQ;IFNR,wBAA+C;Eb85B/C;Eex5BQ;IFNR,wBAA+C;Ebi6B/C;Ee35BQ;IFNR,iBAA+C;Ebo6B/C;Ee95BQ;IFNR,wBAA+C;Ebu6B/C;Eej6BQ;IFNR,wBAA+C;Eb06B/C;Eep6BQ;IFNR,iBAA+C;Eb66B/C;Eev6BQ;IFNR,wBAA+C;Ebg7B/C;Ee16BQ;IFNR,wBAA+C;Ebm7B/C;AACF;;Acj7BI;EC9BE;IACE,aAAa;IACb,YAAY;IACZ,eAAe;Efm9BrB;Ee/8BM;IF8BJ,cAAuB;IACvB,eAAwB;Ebo7B1B;Een9BM;IF8BJ,aAAuB;IACvB,cAAwB;Ebw7B1B;Eev9BM;IF8BJ,oBAAuB;IACvB,qBAAwB;Eb47B1B;Ee39BM;IF8BJ,aAAuB;IACvB,cAAwB;Ebg8B1B;Ee/9BM;IF8BJ,aAAuB;IACvB,cAAwB;Ebo8B1B;Een+BM;IF8BJ,oBAAuB;IACvB,qBAAwB;Ebw8B1B;Eel+BI;IFQJ,cAAc;IACd,WAAW;IACX,eAAe;Eb69Bf;Eel+BM;IFLN,mBAAsC;IAItC,oBAAuC;Ebu+BvC;Eet+BM;IFLN,oBAAsC;IAItC,qBAAuC;Eb2+BvC;Ee1+BM;IFLN,aAAsC;IAItC,cAAuC;Eb++BvC;Ee9+BM;IFLN,oBAAsC;IAItC,qBAAuC;Ebm/BvC;Eel/BM;IFLN,oBAAsC;IAItC,qBAAuC;Ebu/BvC;Eet/BM;IFLN,aAAsC;IAItC,cAAuC;Eb2/BvC;Ee1/BM;IFLN,oBAAsC;IAItC,qBAAuC;Eb+/BvC;Ee9/BM;IFLN,oBAAsC;IAItC,qBAAuC;EbmgCvC;EelgCM;IFLN,aAAsC;IAItC,cAAuC;EbugCvC;EetgCM;IFLN,oBAAsC;IAItC,qBAAuC;Eb2gCvC;Ee1gCM;IFLN,oBAAsC;IAItC,qBAAuC;Eb+gCvC;Ee9gCM;IFLN,cAAsC;IAItC,eAAuC;EbmhCvC;Ee7gCI;IAAwB,SAAS;EfghCrC;Ee9gCI;IAAuB,SZ6KG;EHo2B9B;Ee9gCM;IAAwB,QADZ;EfkhClB;EejhCM;IAAwB,QADZ;EfqhClB;EephCM;IAAwB,QADZ;EfwhClB;EevhCM;IAAwB,QADZ;Ef2hClB;Ee1hCM;IAAwB,QADZ;Ef8hClB;Ee7hCM;IAAwB,QADZ;EfiiClB;EehiCM;IAAwB,QADZ;EfoiClB;EeniCM;IAAwB,QADZ;EfuiClB;EetiCM;IAAwB,QADZ;Ef0iClB;EeziCM;IAAwB,QADZ;Ef6iClB;Ee5iCM;IAAwB,SADZ;EfgjClB;Ee/iCM;IAAwB,SADZ;EfmjClB;EeljCM;IAAwB,SADZ;EfsjClB;Ee/iCQ;IFNR,eAA6B;EbwjC7B;EeljCQ;IFNR,uBAA+C;Eb2jC/C;EerjCQ;IFNR,wBAA+C;Eb8jC/C;EexjCQ;IFNR,iBAA+C;EbikC/C;Ee3jCQ;IFNR,wBAA+C;EbokC/C;Ee9jCQ;IFNR,wBAA+C;EbukC/C;EejkCQ;IFNR,iBAA+C;Eb0kC/C;EepkCQ;IFNR,wBAA+C;Eb6kC/C;EevkCQ;IFNR,wBAA+C;EbglC/C;Ee1kCQ;IFNR,iBAA+C;EbmlC/C;Ee7kCQ;IFNR,wBAA+C;EbslC/C;EehlCQ;IFNR,wBAA+C;EbylC/C;AACF;;AcvlCI;EC9BE;IACE,aAAa;IACb,YAAY;IACZ,eAAe;EfynCrB;EernCM;IF8BJ,cAAuB;IACvB,eAAwB;Eb0lC1B;EeznCM;IF8BJ,aAAuB;IACvB,cAAwB;Eb8lC1B;Ee7nCM;IF8BJ,oBAAuB;IACvB,qBAAwB;EbkmC1B;EejoCM;IF8BJ,aAAuB;IACvB,cAAwB;EbsmC1B;EeroCM;IF8BJ,aAAuB;IACvB,cAAwB;Eb0mC1B;EezoCM;IF8BJ,oBAAuB;IACvB,qBAAwB;Eb8mC1B;EexoCI;IFQJ,cAAc;IACd,WAAW;IACX,eAAe;EbmoCf;EexoCM;IFLN,mBAAsC;IAItC,oBAAuC;Eb6oCvC;Ee5oCM;IFLN,oBAAsC;IAItC,qBAAuC;EbipCvC;EehpCM;IFLN,aAAsC;IAItC,cAAuC;EbqpCvC;EeppCM;IFLN,oBAAsC;IAItC,qBAAuC;EbypCvC;EexpCM;IFLN,oBAAsC;IAItC,qBAAuC;Eb6pCvC;Ee5pCM;IFLN,aAAsC;IAItC,cAAuC;EbiqCvC;EehqCM;IFLN,oBAAsC;IAItC,qBAAuC;EbqqCvC;EepqCM;IFLN,oBAAsC;IAItC,qBAAuC;EbyqCvC;EexqCM;IFLN,aAAsC;IAItC,cAAuC;Eb6qCvC;Ee5qCM;IFLN,oBAAsC;IAItC,qBAAuC;EbirCvC;EehrCM;IFLN,oBAAsC;IAItC,qBAAuC;EbqrCvC;EeprCM;IFLN,cAAsC;IAItC,eAAuC;EbyrCvC;EenrCI;IAAwB,SAAS;EfsrCrC;EeprCI;IAAuB,SZ6KG;EH0gC9B;EeprCM;IAAwB,QADZ;EfwrClB;EevrCM;IAAwB,QADZ;Ef2rClB;Ee1rCM;IAAwB,QADZ;Ef8rClB;Ee7rCM;IAAwB,QADZ;EfisClB;EehsCM;IAAwB,QADZ;EfosClB;EensCM;IAAwB,QADZ;EfusClB;EetsCM;IAAwB,QADZ;Ef0sClB;EezsCM;IAAwB,QADZ;Ef6sClB;Ee5sCM;IAAwB,QADZ;EfgtClB;Ee/sCM;IAAwB,QADZ;EfmtClB;EeltCM;IAAwB,SADZ;EfstClB;EertCM;IAAwB,SADZ;EfytClB;EextCM;IAAwB,SADZ;Ef4tClB;EertCQ;IFNR,eAA6B;Eb8tC7B;EextCQ;IFNR,uBAA+C;EbiuC/C;Ee3tCQ;IFNR,wBAA+C;EbouC/C;Ee9tCQ;IFNR,iBAA+C;EbuuC/C;EejuCQ;IFNR,wBAA+C;Eb0uC/C;EepuCQ;IFNR,wBAA+C;Eb6uC/C;EevuCQ;IFNR,iBAA+C;EbgvC/C;Ee1uCQ;IFNR,wBAA+C;EbmvC/C;Ee7uCQ;IFNR,wBAA+C;EbsvC/C;EehvCQ;IFNR,iBAA+C;EbyvC/C;EenvCQ;IFNR,wBAA+C;Eb4vC/C;EetvCQ;IFNR,wBAA+C;Eb+vC/C;AACF;;Ac7vCI;EC9BE;IACE,aAAa;IACb,YAAY;IACZ,eAAe;Ef+xCrB;Ee3xCM;IF8BJ,cAAuB;IACvB,eAAwB;EbgwC1B;Ee/xCM;IF8BJ,aAAuB;IACvB,cAAwB;EbowC1B;EenyCM;IF8BJ,oBAAuB;IACvB,qBAAwB;EbwwC1B;EevyCM;IF8BJ,aAAuB;IACvB,cAAwB;Eb4wC1B;Ee3yCM;IF8BJ,aAAuB;IACvB,cAAwB;EbgxC1B;Ee/yCM;IF8BJ,oBAAuB;IACvB,qBAAwB;EboxC1B;Ee9yCI;IFQJ,cAAc;IACd,WAAW;IACX,eAAe;EbyyCf;Ee9yCM;IFLN,mBAAsC;IAItC,oBAAuC;EbmzCvC;EelzCM;IFLN,oBAAsC;IAItC,qBAAuC;EbuzCvC;EetzCM;IFLN,aAAsC;IAItC,cAAuC;Eb2zCvC;Ee1zCM;IFLN,oBAAsC;IAItC,qBAAuC;Eb+zCvC;Ee9zCM;IFLN,oBAAsC;IAItC,qBAAuC;Ebm0CvC;Eel0CM;IFLN,aAAsC;IAItC,cAAuC;Ebu0CvC;Eet0CM;IFLN,oBAAsC;IAItC,qBAAuC;Eb20CvC;Ee10CM;IFLN,oBAAsC;IAItC,qBAAuC;Eb+0CvC;Ee90CM;IFLN,aAAsC;IAItC,cAAuC;Ebm1CvC;Eel1CM;IFLN,oBAAsC;IAItC,qBAAuC;Ebu1CvC;Eet1CM;IFLN,oBAAsC;IAItC,qBAAuC;Eb21CvC;Ee11CM;IFLN,cAAsC;IAItC,eAAuC;Eb+1CvC;Eez1CI;IAAwB,SAAS;Ef41CrC;Ee11CI;IAAuB,SZ6KG;EHgrC9B;Ee11CM;IAAwB,QADZ;Ef81ClB;Ee71CM;IAAwB,QADZ;Efi2ClB;Eeh2CM;IAAwB,QADZ;Efo2ClB;Een2CM;IAAwB,QADZ;Efu2ClB;Eet2CM;IAAwB,QADZ;Ef02ClB;Eez2CM;IAAwB,QADZ;Ef62ClB;Ee52CM;IAAwB,QADZ;Efg3ClB;Ee/2CM;IAAwB,QADZ;Efm3ClB;Eel3CM;IAAwB,QADZ;Efs3ClB;Eer3CM;IAAwB,QADZ;Efy3ClB;Eex3CM;IAAwB,SADZ;Ef43ClB;Ee33CM;IAAwB,SADZ;Ef+3ClB;Ee93CM;IAAwB,SADZ;Efk4ClB;Ee33CQ;IFNR,eAA6B;Ebo4C7B;Ee93CQ;IFNR,uBAA+C;Ebu4C/C;Eej4CQ;IFNR,wBAA+C;Eb04C/C;Eep4CQ;IFNR,iBAA+C;Eb64C/C;Eev4CQ;IFNR,wBAA+C;Ebg5C/C;Ee14CQ;IFNR,wBAA+C;Ebm5C/C;Ee74CQ;IFNR,iBAA+C;Ebs5C/C;Eeh5CQ;IFNR,wBAA+C;Eby5C/C;Een5CQ;IFNR,wBAA+C;Eb45C/C;Eet5CQ;IFNR,iBAA+C;Eb+5C/C;Eez5CQ;IFNR,wBAA+C;Ebk6C/C;Ee55CQ;IFNR,wBAA+C;Ebq6C/C;AACF;;AgB39CA;EACE,WAAW;EACX,mBbkIW;EajIX,cbSgB;AHq9ClB;;AgBj+CA;;EAQI,gBbsVgC;EarVhC,mBAAmB;EACnB,6BbJc;AHk+ClB;;AgBx+CA;EAcI,sBAAsB;EACtB,gCbTc;AHu+ClB;;AgB7+CA;EAmBI,6Bbbc;AH2+ClB;;AgBr9CA;;EAGI,ebgU+B;AHupCnC;;AgB98CA;EACE,yBbnCgB;AHo/ClB;;AgBl9CA;;EAKI,yBbvCc;AHy/ClB;;AgBv9CA;;EAWM,wBAA4C;AhBi9ClD;;AgB58CA;;;;EAKI,SAAS;AhB88Cb;;AgBt8CA;EAEI,qCb1DW;AHkgDf;;AKvgDE;EW2EI,cbvEY;EawEZ,sCbvES;AHugDf;;AiBnhDE;;;EAII,yBCsF4D;AlB+7ClE;;AiBzhDE;;;;EAYM,qBC8E0D;AlBs8ClE;;AKzhDE;EYiBM,yBAJsC;AjBghD9C;;AiBjhDE;;EASQ,yBARoC;AjBqhD9C;;AiBziDE;;;EAII,yBCsF4D;AlBq9ClE;;AiB/iDE;;;;EAYM,qBC8E0D;AlB49ClE;;AK/iDE;EYiBM,yBAJsC;AjBsiD9C;;AiBviDE;;EASQ,yBARoC;AjB2iD9C;;AiB/jDE;;;EAII,yBCsF4D;AlB2+ClE;;AiBrkDE;;;;EAYM,qBC8E0D;AlBk/ClE;;AKrkDE;EYiBM,yBAJsC;AjB4jD9C;;AiB7jDE;;EASQ,yBARoC;AjBikD9C;;AiBrlDE;;;EAII,yBCsF4D;AlBigDlE;;AiB3lDE;;;;EAYM,qBC8E0D;AlBwgDlE;;AK3lDE;EYiBM,yBAJsC;AjBklD9C;;AiBnlDE;;EASQ,yBARoC;AjBulD9C;;AiB3mDE;;;EAII,yBCsF4D;AlBuhDlE;;AiBjnDE;;;;EAYM,qBC8E0D;AlB8hDlE;;AKjnDE;EYiBM,yBAJsC;AjBwmD9C;;AiBzmDE;;EASQ,yBARoC;AjB6mD9C;;AiBjoDE;;;EAII,yBCsF4D;AlB6iDlE;;AiBvoDE;;;;EAYM,qBC8E0D;AlBojDlE;;AKvoDE;EYiBM,yBAJsC;AjB8nD9C;;AiB/nDE;;EASQ,yBARoC;AjBmoD9C;;AiBvpDE;;;EAII,yBCsF4D;AlBmkDlE;;AiB7pDE;;;;EAYM,qBC8E0D;AlB0kDlE;;AK7pDE;EYiBM,yBAJsC;AjBopD9C;;AiBrpDE;;EASQ,yBARoC;AjBypD9C;;AiB7qDE;;;EAII,yBCsF4D;AlBylDlE;;AiBnrDE;;;;EAYM,qBC8E0D;AlBgmDlE;;AKnrDE;EYiBM,yBAJsC;AjB0qD9C;;AiB3qDE;;EASQ,yBARoC;AjB+qD9C;;AiBnsDE;;;EAII,sCdQS;AH6rDf;;AKlsDE;EYiBM,sCAJsC;AjByrD9C;;AiB1rDE;;EASQ,sCARoC;AjB8rD9C;;AgBxmDA;EAGM,Wb3GS;Ea4GT,yBbpGY;EaqGZ,qBbmQqD;AHs2C3D;;AgB9mDA;EAWM,cb5GY;Ea6GZ,yBblHY;EamHZ,qBblHY;AHytDlB;;AgBlmDA;EACE,Wb3Ha;Ea4Hb,yBbpHgB;AHytDlB;;AgBvmDA;;;EAOI,qBb+OuD;AHu3C3D;;AgB7mDA;EAWI,SAAS;AhBsmDb;;AgBjnDA;EAgBM,2Cb1IS;AH+uDf;;AK1uDE;EW4IM,WbjJO;EakJP,4CblJO;AHovDf;;AclrDI;EEiGA;IAEI,cAAc;IACd,WAAW;IACX,gBAAgB;IAChB,iCAAiC;EhBolDvC;EgBzlDG;IASK,SAAS;EhBmlDjB;AACF;;Ac9rDI;EEiGA;IAEI,cAAc;IACd,WAAW;IACX,gBAAgB;IAChB,iCAAiC;EhBgmDvC;EgBrmDG;IASK,SAAS;EhB+lDjB;AACF;;Ac1sDI;EEiGA;IAEI,cAAc;IACd,WAAW;IACX,gBAAgB;IAChB,iCAAiC;EhB4mDvC;EgBjnDG;IASK,SAAS;EhB2mDjB;AACF;;ActtDI;EEiGA;IAEI,cAAc;IACd,WAAW;IACX,gBAAgB;IAChB,iCAAiC;EhBwnDvC;EgB7nDG;IASK,SAAS;EhBunDjB;AACF;;AgBtoDA;EAOQ,cAAc;EACd,WAAW;EACX,gBAAgB;EAChB,iCAAiC;AhBmoDzC;;AgB7oDA;EAcU,SAAS;AhBmoDnB;;AmBhzDA;EACE,cAAc;EACd,WAAW;EACX,mCDuG8D;ECtG9D,yBhB4XkC;ECvQ9B,eAtCY;Ee5EhB,gBhBsR+B;EgBrR/B,gBhB0R+B;EgBzR/B,chBDgB;EgBEhB,sBhBTa;EgBUb,4BAA4B;EAC5B,yBhBPgB;EONd,sBP6OgC;EiB5O9B,wEjBof4F;AH40ClG;;AoB3zDI;EDLJ;ICMM,gBAAgB;EpB+zDpB;AACF;;AmBt0DA;EAsBI,6BAA6B;EAC7B,SAAS;AnBozDb;;AmB30DA;EA4BI,kBAAkB;EAClB,0BhBrBc;AHw0DlB;;AqBz0DE;EACE,clBAc;EkBCd,sBlBRW;EkBSX,qBlBwdsE;EkBvdtE,UAAU;EAKR,gDlBcW;AH0zDjB;;AmBx1DA;EAqCI,chB9Bc;EgBgCd,UAAU;AnBszDd;;AmB71DA;EAqCI,chB9Bc;EgBgCd,UAAU;AnBszDd;;AmB71DA;EAqCI,chB9Bc;EgBgCd,UAAU;AnBszDd;;AmB71DA;EAqCI,chB9Bc;EgBgCd,UAAU;AnBszDd;;AmB71DA;EAqCI,chB9Bc;EgBgCd,UAAU;AnBszDd;;AmB71DA;EAiDI,yBhB9Cc;EgBgDd,UAAU;AnB+yDd;;AmB3yDA;EAOI,chBtDc;EgBuDd,sBhB9DW;AHs2Df;;AmBnyDA;;EAEE,cAAc;EACd,WAAW;AnBsyDb;;AmB5xDA;EACE,iCDwB8D;ECvB9D,oCDuB8D;ECtB9D,gBAAgB;EflBd,kBAAW;EeoBb,gBhB4M+B;AHmlDjC;;AmB5xDA;EACE,+BDgB8D;ECf9D,kCDe8D;Ede1D,kBAtCY;EeUhB,gBhByI+B;AHspDjC;;AmB5xDA;EACE,gCDS8D;ECR9D,mCDQ8D;Ede1D,mBAtCY;EeiBhB,gBhBmI+B;AH4pDjC;;AmBtxDA;EACE,cAAc;EACd,WAAW;EACX,mBAA2B;EAC3B,gBAAgB;EfQZ,eAtCY;EegChB,gBhB+K+B;EgB9K/B,chB1GgB;EgB2GhB,6BAA6B;EAC7B,yBAAyB;EACzB,mBAAmC;AnByxDrC;;AmBnyDA;EAcI,gBAAgB;EAChB,eAAe;AnByxDnB;;AmB7wDA;EACE,kCD/B8D;ECgC9D,uBhBgQiC;ECjR7B,mBAtCY;EeyDhB,gBhB2F+B;EOxO7B,qBP+O+B;AH+qDnC;;AmB7wDA;EACE,gCDvC8D;ECwC9D,oBhB6PgC;ECtR5B,kBAtCY;EeiEhB,gBhBkF+B;EOvO7B,qBP8O+B;AHwrDnC;;AmB5wDA;EAGI,YAAY;AnB6wDhB;;AmBzwDA;EACE,YAAY;AnB4wDd;;AmBpwDA;EACE,mBhBsV0C;AHi7C5C;;AmBpwDA;EACE,cAAc;EACd,mBhBuU4C;AHg8C9C;;AmB/vDA;EACE,aAAa;EACb,eAAe;EACf,kBAA0C;EAC1C,iBAAyC;AnBkwD3C;;AmBtwDA;;EAQI,kBAA0C;EAC1C,iBAAyC;AnBmwD7C;;AmB1vDA;EACE,kBAAkB;EAClB,cAAc;EACd,qBhB4S6C;AHi9C/C;;AmB1vDA;EACE,kBAAkB;EAClB,kBhBwS2C;EgBvS3C,qBhBsS6C;AHu9C/C;;AmBhwDA;;EAQI,chBhNc;AH68DlB;;AmBzvDA;EACE,gBAAgB;AnB4vDlB;;AmBzvDA;EACE,oBAAoB;EACpB,mBAAmB;EACnB,eAAe;EACf,qBhByR4C;AHm+C9C;;AmBhwDA;EAQI,gBAAgB;EAChB,aAAa;EACb,uBhBoR4C;EgBnR5C,cAAc;AnB4vDlB;;AqBh8DE;EACE,aAAa;EACb,WAAW;EACX,mBlB6c0C;ECpb1C,cAAW;EiBvBX,clBNa;AHy8DjB;;AqBh8DE;EACE,kBAAkB;EAClB,SAAS;EACT,UAAU;EACV,aAAa;EACb,eAAe;EACf,uBlBmyBqC;EkBlyBrC,iBAAiB;EjBoEf,mBAtCY;EiB5Bd,gBlB2O6B;EkB1O7B,WlBvDW;EkBwDX,wClBpBa;EOtCb,sBP6OgC;AHixDpC;;AqBn+DI;;;;EAsCE,cAAc;ArBo8DpB;;AqB1+DI;EA4CE,qBlBjCW;EkBoCT,oCHiCwD;EGhCxD,iRHpCmI;EGqCnI,4BAA4B;EAC5B,2DAA6D;EAC7D,gEH6BwD;AlBm6DhE;;AqBn/DI;EAuDI,qBlB5CS;EkB6CT,gDlB7CS;AH6+DjB;;AqBx/DI;EAiEI,oCHewD;EGdxD,kFHcwD;AlB66DhE;;AqB7/DI;EAyEE,qBlB9DW;EkBiET,uCHIwD;EGHxD,ujBAA8J;ArBs7DtK;;AqBngEI;EAiFI,qBlBtES;EkBuET,gDlBvES;AH6/DjB;;AqBxgEI;EA0FI,clB/ES;AHigEjB;;AqB5gEI;;;EA+FI,cAAc;ArBm7DtB;;AqBlhEI;EAuGI,clB5FS;AH2gEjB;;AqBthEI;EA0GM,qBlB/FO;AH+gEjB;;AqB1hEI;EAgHM,qBAAkC;EC1IxC,yBD2I+C;ArB86DnD;;AqB/hEI;EAuHM,gDlB5GO;AHwhEjB;;AqBniEI;EA2HM,qBlBhHO;AH4hEjB;;AqBviEI;EAqII,qBlB1HS;AHgiEjB;;AqB3iEI;EA0IM,qBlB/HO;EkBgIP,gDlBhIO;AHqiEjB;;AqBpiEE;EACE,aAAa;EACb,WAAW;EACX,mBlB6c0C;ECpb1C,cAAW;EiBvBX,clBTa;AHgjEjB;;AqBpiEE;EACE,kBAAkB;EAClB,SAAS;EACT,UAAU;EACV,aAAa;EACb,eAAe;EACf,uBlBmyBqC;EkBlyBrC,iBAAiB;EjBoEf,mBAtCY;EiB5Bd,gBlB2O6B;EkB1O7B,WlBvDW;EkBwDX,wClBvBa;EOnCb,sBP6OgC;AHq3DpC;;AqBvkEI;;;;EAsCE,cAAc;ArBwiEpB;;AqB9kEI;EA4CE,qBlBpCW;EkBuCT,oCHiCwD;EGhCxD,4UHpCmI;EGqCnI,4BAA4B;EAC5B,2DAA6D;EAC7D,gEH6BwD;AlBugEhE;;AqBvlEI;EAuDI,qBlB/CS;EkBgDT,gDlBhDS;AHolEjB;;AqB5lEI;EAiEI,oCHewD;EGdxD,kFHcwD;AlBihEhE;;AqBjmEI;EAyEE,qBlBjEW;EkBoET,uCHIwD;EGHxD,knBAA8J;ArB0hEtK;;AqBvmEI;EAiFI,qBlBzES;EkB0ET,gDlB1ES;AHomEjB;;AqB5mEI;EA0FI,clBlFS;AHwmEjB;;AqBhnEI;;;EA+FI,cAAc;ArBuhEtB;;AqBtnEI;EAuGI,clB/FS;AHknEjB;;AqB1nEI;EA0GM,qBlBlGO;AHsnEjB;;AqB9nEI;EAgHM,qBAAkC;EC1IxC,yBD2I+C;ArBkhEnD;;AqBnoEI;EAuHM,gDlB/GO;AH+nEjB;;AqBvoEI;EA2HM,qBlBnHO;AHmoEjB;;AqB3oEI;EAqII,qBlB7HS;AHuoEjB;;AqB/oEI;EA0IM,qBlBlIO;EkBmIP,gDlBnIO;AH4oEjB;;AmB36DA;EACE,aAAa;EACb,mBAAmB;EACnB,mBAAmB;AnB86DrB;;AmBj7DA;EASI,WAAW;AnB46Df;;AcloEI;EK6MJ;IAeM,aAAa;IACb,mBAAmB;IACnB,uBAAuB;IACvB,gBAAgB;EnB26DpB;EmB77DF;IAuBM,aAAa;IACb,cAAc;IACd,mBAAmB;IACnB,mBAAmB;IACnB,gBAAgB;EnBy6DpB;EmBp8DF;IAgCM,qBAAqB;IACrB,WAAW;IACX,sBAAsB;EnBu6D1B;EmBz8DF;IAuCM,qBAAqB;EnBq6DzB;EmB58DF;;IA4CM,WAAW;EnBo6Df;EmBh9DF;IAkDM,aAAa;IACb,mBAAmB;IACnB,uBAAuB;IACvB,WAAW;IACX,eAAe;EnBi6DnB;EmBv9DF;IAyDM,kBAAkB;IAClB,cAAc;IACd,aAAa;IACb,qBhB2LwC;IgB1LxC,cAAc;EnBi6DlB;EmB99DF;IAiEM,mBAAmB;IACnB,uBAAuB;EnBg6D3B;EmBl+DF;IAqEM,gBAAgB;EnBg6DpB;AACF;;AuBzuEA;EACE,qBAAqB;EAErB,gBpB0R+B;EoBzR/B,cpBMgB;EoBLhB,kBAAkB;EAElB,sBAAsB;EACtB,eAAsD;EACtD,yBAAiB;EAAjB,sBAAiB;EAAjB,qBAAiB;EAAjB,iBAAiB;EACjB,6BAA6B;EAC7B,6BAA2C;ECuF3C,yBrB8RkC;ECvQ9B,eAtCY;EoBiBhB,gBrB8L+B;EOnS7B,sBP6OgC;EiB5O9B,qIjB6b6I;AH6zDnJ;;AoBrvEI;EGLJ;IHMM,gBAAgB;EpByvEpB;AACF;;AK1vEE;EkBUE,cpBNc;EoBOd,qBAAqB;AvBovEzB;;AuBrwEA;EAsBI,UAAU;EACV,gDpBOa;AH4uEjB;;AuB1wEA;EA6BI,apBoZ6B;AH61DjC;;AuBluEA;;EAEE,oBAAoB;AvBquEtB;;AuB5tEE;ECvDA,WrBCa;EmBDX,yBnB8Ba;EqB5Bf,qBrB4Be;AH2vEjB;;AKnxEE;EmBAE,WrBLW;EmBDX,yBEDoF;EASpF,qBATyH;AxBgyE7H;;AwBpxEE;EAEE,WrBZW;EmBDX,yBEDoF;EAgBpF,qBAhByH;EAqBvH,gDAAiF;AxBkxEvF;;AwB7wEE;EAEE,WrB1BW;EqB2BX,yBrBEa;EqBDb,qBrBCa;AH8wEjB;;AwBxwEE;;EAGE,WrBtCW;EqBuCX,yBAzCuK;EA6CvK,qBA7C+M;AxBozEnN;;AwBrwEI;;EAKI,gDAAiF;AxBqwEzF;;AuBjwEE;ECvDA,WrBCa;EmBDX,yBnBOc;EqBLhB,qBrBKgB;AHuzElB;;AKxzEE;EmBAE,WrBLW;EmBDX,yBEDoF;EASpF,qBATyH;AxBq0E7H;;AwBzzEE;EAEE,WrBZW;EmBDX,yBEDoF;EAgBpF,qBAhByH;EAqBvH,iDAAiF;AxBuzEvF;;AwBlzEE;EAEE,WrB1BW;EqB2BX,yBrBrBc;EqBsBd,qBrBtBc;AH00ElB;;AwB7yEE;;EAGE,WrBtCW;EqBuCX,yBAzCuK;EA6CvK,qBA7C+M;AxBy1EnN;;AwB1yEI;;EAKI,iDAAiF;AxB0yEzF;;AuBtyEE;ECvDA,WrBCa;EmBDX,yBnBqCa;EqBnCf,qBrBmCe;AH8zEjB;;AK71EE;EmBAE,WrBLW;EmBDX,yBEDoF;EASpF,qBATyH;AxB02E7H;;AwB91EE;EAEE,WrBZW;EmBDX,yBEDoF;EAgBpF,qBAhByH;EAqBvH,+CAAiF;AxB41EvF;;AwBv1EE;EAEE,WrB1BW;EqB2BX,yBrBSa;EqBRb,qBrBQa;AHi1EjB;;AwBl1EE;;EAGE,WrBtCW;EqBuCX,yBAzCuK;EA6CvK,qBA7C+M;AxB83EnN;;AwB/0EI;;EAKI,+CAAiF;AxB+0EzF;;AuB30EE;ECvDA,WrBCa;EmBDX,yBnBuCa;EqBrCf,qBrBqCe;AHi2EjB;;AKl4EE;EmBAE,WrBLW;EmBDX,yBEDoF;EASpF,qBATyH;AxB+4E7H;;AwBn4EE;EAEE,WrBZW;EmBDX,yBEDoF;EAgBpF,qBAhByH;EAqBvH,gDAAiF;AxBi4EvF;;AwB53EE;EAEE,WrB1BW;EqB2BX,yBrBWa;EqBVb,qBrBUa;AHo3EjB;;AwBv3EE;;EAGE,WrBtCW;EqBuCX,yBAzCuK;EA6CvK,qBA7C+M;AxBm6EnN;;AwBp3EI;;EAKI,gDAAiF;AxBo3EzF;;AuBh3EE;ECvDA,crBUgB;EmBVd,yBnBoCa;EqBlCf,qBrBkCe;AHy4EjB;;AKv6EE;EmBAE,crBIc;EmBVd,yBEDoF;EASpF,qBATyH;AxBo7E7H;;AwBx6EE;EAEE,crBHc;EmBVd,yBEDoF;EAgBpF,qBAhByH;EAqBvH,gDAAiF;AxBs6EvF;;AwBj6EE;EAEE,crBjBc;EqBkBd,yBrBQa;EqBPb,qBrBOa;AH45EjB;;AwB55EE;;EAGE,crB7Bc;EqB8Bd,yBAzCuK;EA6CvK,qBA7C+M;AxBw8EnN;;AwBz5EI;;EAKI,gDAAiF;AxBy5EzF;;AuBr5EE;ECvDA,WrBCa;EmBDX,yBnBkCa;EqBhCf,qBrBgCe;AHg7EjB;;AK58EE;EmBAE,WrBLW;EmBDX,yBEDoF;EASpF,qBATyH;AxBy9E7H;;AwB78EE;EAEE,WrBZW;EmBDX,yBEDoF;EAgBpF,qBAhByH;EAqBvH,+CAAiF;AxB28EvF;;AwBt8EE;EAEE,WrB1BW;EqB2BX,yBrBMa;EqBLb,qBrBKa;AHm8EjB;;AwBj8EE;;EAGE,WrBtCW;EqBuCX,yBAzCuK;EA6CvK,qBA7C+M;AxB6+EnN;;AwB97EI;;EAKI,+CAAiF;AxB87EzF;;AuB17EE;ECvDA,crBUgB;EmBVd,yBnBEc;EqBAhB,qBrBAgB;AHq/ElB;;AKj/EE;EmBAE,crBIc;EmBVd,yBEDoF;EASpF,qBATyH;AxB8/E7H;;AwBl/EE;EAEE,crBHc;EmBVd,yBEDoF;EAgBpF,qBAhByH;EAqBvH,iDAAiF;AxBg/EvF;;AwB3+EE;EAEE,crBjBc;EqBkBd,yBrB1Bc;EqB2Bd,qBrB3Bc;AHwgFlB;;AwBt+EE;;EAGE,crB7Bc;EqB8Bd,yBAzCuK;EA6CvK,qBA7C+M;AxBkhFnN;;AwBn+EI;;EAKI,iDAAiF;AxBm+EzF;;AuB/9EE;ECvDA,WrBCa;EmBDX,yBnBSc;EqBPhB,qBrBOgB;AHmhFlB;;AKthFE;EmBAE,WrBLW;EmBDX,yBEDoF;EASpF,qBATyH;AxBmiF7H;;AwBvhFE;EAEE,WrBZW;EmBDX,yBEDoF;EAgBpF,qBAhByH;EAqBvH,8CAAiF;AxBqhFvF;;AwBhhFE;EAEE,WrB1BW;EqB2BX,yBrBnBc;EqBoBd,qBrBpBc;AHsiFlB;;AwB3gFE;;EAGE,WrBtCW;EqBuCX,yBAzCuK;EA6CvK,qBA7C+M;AxBujFnN;;AwBxgFI;;EAKI,8CAAiF;AxBwgFzF;;AuB9/EE;ECHA,crB5Be;EqB6Bf,qBrB7Be;AHkiFjB;;AK1jFE;EmBwDE,WrB7DW;EqB8DX,yBrBjCa;EqBkCb,qBrBlCa;AHwiFjB;;AwBngFE;EAEE,+CrBvCa;AH4iFjB;;AwBlgFE;EAEE,crB5Ca;EqB6Cb,6BAA6B;AxBogFjC;;AwBjgFE;;EAGE,WrBhFW;EqBiFX,yBrBpDa;EqBqDb,qBrBrDa;AHwjFjB;;AwBjgFI;;EAKI,+CrB5DS;AH6jFjB;;AuB9hFE;ECHA,crBnDgB;EqBoDhB,qBrBpDgB;AHylFlB;;AK1lFE;EmBwDE,WrB7DW;EqB8DX,yBrBxDc;EqByDd,qBrBzDc;AH+lFlB;;AwBniFE;EAEE,iDrB9Dc;AHmmFlB;;AwBliFE;EAEE,crBnEc;EqBoEd,6BAA6B;AxBoiFjC;;AwBjiFE;;EAGE,WrBhFW;EqBiFX,yBrB3Ec;EqB4Ed,qBrB5Ec;AH+mFlB;;AwBjiFI;;EAKI,iDrBnFU;AHonFlB;;AuB9jFE;ECHA,crBrBe;EqBsBf,qBrBtBe;AH2lFjB;;AK1nFE;EmBwDE,WrB7DW;EqB8DX,yBrB1Ba;EqB2Bb,qBrB3Ba;AHimFjB;;AwBnkFE;EAEE,+CrBhCa;AHqmFjB;;AwBlkFE;EAEE,crBrCa;EqBsCb,6BAA6B;AxBokFjC;;AwBjkFE;;EAGE,WrBhFW;EqBiFX,yBrB7Ca;EqB8Cb,qBrB9Ca;AHinFjB;;AwBjkFI;;EAKI,+CrBrDS;AHsnFjB;;AuB9lFE;ECHA,crBnBe;EqBoBf,qBrBpBe;AHynFjB;;AK1pFE;EmBwDE,WrB7DW;EqB8DX,yBrBxBa;EqByBb,qBrBzBa;AH+nFjB;;AwBnmFE;EAEE,gDrB9Ba;AHmoFjB;;AwBlmFE;EAEE,crBnCa;EqBoCb,6BAA6B;AxBomFjC;;AwBjmFE;;EAGE,WrBhFW;EqBiFX,yBrB3Ca;EqB4Cb,qBrB5Ca;AH+oFjB;;AwBjmFI;;EAKI,gDrBnDS;AHopFjB;;AuB9nFE;ECHA,crBtBe;EqBuBf,qBrBvBe;AH4pFjB;;AK1rFE;EmBwDE,crBpDc;EqBqDd,yBrB3Ba;EqB4Bb,qBrB5Ba;AHkqFjB;;AwBnoFE;EAEE,+CrBjCa;AHsqFjB;;AwBloFE;EAEE,crBtCa;EqBuCb,6BAA6B;AxBooFjC;;AwBjoFE;;EAGE,crBvEc;EqBwEd,yBrB9Ca;EqB+Cb,qBrB/Ca;AHkrFjB;;AwBjoFI;;EAKI,+CrBtDS;AHurFjB;;AuB9pFE;ECHA,crBxBe;EqByBf,qBrBzBe;AH8rFjB;;AK1tFE;EmBwDE,WrB7DW;EqB8DX,yBrB7Ba;EqB8Bb,qBrB9Ba;AHosFjB;;AwBnqFE;EAEE,+CrBnCa;AHwsFjB;;AwBlqFE;EAEE,crBxCa;EqByCb,6BAA6B;AxBoqFjC;;AwBjqFE;;EAGE,WrBhFW;EqBiFX,yBrBhDa;EqBiDb,qBrBjDa;AHotFjB;;AwBjqFI;;EAKI,+CrBxDS;AHytFjB;;AuB9rFE;ECHA,crBxDgB;EqByDhB,qBrBzDgB;AH8vFlB;;AK1vFE;EmBwDE,crBpDc;EqBqDd,yBrB7Dc;EqB8Dd,qBrB9Dc;AHowFlB;;AwBnsFE;EAEE,iDrBnEc;AHwwFlB;;AwBlsFE;EAEE,crBxEc;EqByEd,6BAA6B;AxBosFjC;;AwBjsFE;;EAGE,crBvEc;EqBwEd,yBrBhFc;EqBiFd,qBrBjFc;AHoxFlB;;AwBjsFI;;EAKI,iDrBxFU;AHyxFlB;;AuB9tFE;ECHA,crBjDgB;EqBkDhB,qBrBlDgB;AHuxFlB;;AK1xFE;EmBwDE,WrB7DW;EqB8DX,yBrBtDc;EqBuDd,qBrBvDc;AH6xFlB;;AwBnuFE;EAEE,8CrB5Dc;AHiyFlB;;AwBluFE;EAEE,crBjEc;EqBkEd,6BAA6B;AxBouFjC;;AwBjuFE;;EAGE,WrBhFW;EqBiFX,yBrBzEc;EqB0Ed,qBrB1Ec;AH6yFlB;;AwBjuFI;;EAKI,8CrBjFU;AHkzFlB;;AuBnvFA;EACE,gBpBoN+B;EoBnN/B,cpB5Ce;EoB6Cf,qBpBkG4C;AHopF9C;;AK3zFE;EkBwEE,cpBgG8D;EoB/F9D,0BpBgG+C;AHupFnD;;AuB9vFA;EAYI,0BpB2F+C;EoB1F/C,gBAAgB;AvBsvFpB;;AuBnwFA;EAkBI,cpBnFc;EoBoFd,oBAAoB;AvBqvFxB;;AuB1uFA;ECJE,oBrB6SgC;ECtR5B,kBAtCY;EoBiBhB,gBrBkI+B;EOvO7B,qBP8O+B;AH0mFnC;;AuB7uFA;ECRE,uBrBwSiC;ECjR7B,mBAtCY;EoBiBhB,gBrBmI+B;EOxO7B,qBP+O+B;AHgnFnC;;AuB3uFA;EACE,cAAc;EACd,WAAW;AvB8uFb;;AuBhvFA;EAMI,kBpB6T+B;AHi7EnC;;AuBzuFA;;;EAII,WAAW;AvB2uFf;;AyBn3FA;ELMM,gCjB8P2C;AHmnFjD;;AoB52FI;EKXJ;ILYM,gBAAgB;EpBg3FpB;AACF;;AyB73FA;EAII,UAAU;AzB63Fd;;AyBz3FA;EAEI,aAAa;AzB23FjB;;AyBv3FA;EACE,kBAAkB;EAClB,SAAS;EACT,gBAAgB;ELXZ,6BjB+PwC;AHuoF9C;;AoBj4FI;EKGJ;ILFM,gBAAgB;EpBq4FpB;AACF;;A0Bj5FA;;;;EAIE,kBAAkB;A1Bo5FpB;;A0Bj5FA;EACE,mBAAmB;A1Bo5FrB;;A2Bh4FI;EACE,qBAAqB;EACrB,oBxBkO0C;EwBjO1C,uBxBgO0C;EwB/N1C,WAAW;EAhCf,uBAA8B;EAC9B,qCAA4C;EAC5C,gBAAgB;EAChB,oCAA2C;A3Bo6F7C;;A2B/2FI;EACE,cAAc;A3Bk3FpB;;A0B55FA;EACE,kBAAkB;EAClB,SAAS;EACT,OAAO;EACP,avB4pBsC;EuB3pBtC,aAAa;EACb,WAAW;EACX,gBvBkuBuC;EuBjuBvC,iBAA8B;EAC9B,oBAA4B;EtBsGxB,eAtCY;EsB9DhB,cvBXgB;EuBYhB,gBAAgB;EAChB,gBAAgB;EAChB,sBvBvBa;EuBwBb,4BAA4B;EAC5B,qCvBfa;EOZX,sBP6OgC;AH8sFpC;;A0Bv5FI;EACE,WAAW;EACX,OAAO;A1B05Fb;;A0Bv5FI;EACE,QAAQ;EACR,UAAU;A1B05FhB;;Ac94FI;EYnBA;IACE,WAAW;IACX,OAAO;E1Bq6FX;E0Bl6FE;IACE,QAAQ;IACR,UAAU;E1Bo6Fd;AACF;;Acz5FI;EYnBA;IACE,WAAW;IACX,OAAO;E1Bg7FX;E0B76FE;IACE,QAAQ;IACR,UAAU;E1B+6Fd;AACF;;Acp6FI;EYnBA;IACE,WAAW;IACX,OAAO;E1B27FX;E0Bx7FE;IACE,QAAQ;IACR,UAAU;E1B07Fd;AACF;;Ac/6FI;EYnBA;IACE,WAAW;IACX,OAAO;E1Bs8FX;E0Bn8FE;IACE,QAAQ;IACR,UAAU;E1Bq8Fd;AACF;;A0B/7FA;EAEI,SAAS;EACT,YAAY;EACZ,aAAa;EACb,uBvB+rBuC;AHkwE3C;;A2Bh+FI;EACE,qBAAqB;EACrB,oBxBkO0C;EwBjO1C,uBxBgO0C;EwB/N1C,WAAW;EAzBf,aAAa;EACb,qCAA4C;EAC5C,0BAAiC;EACjC,oCAA2C;A3B6/F7C;;A2B/8FI;EACE,cAAc;A3Bk9FpB;;A0Bx8FA;EAEI,MAAM;EACN,WAAW;EACX,UAAU;EACV,aAAa;EACb,qBvBirBuC;AHyxE3C;;A2Bv/FI;EACE,qBAAqB;EACrB,oBxBkO0C;EwBjO1C,uBxBgO0C;EwB/N1C,WAAW;EAlBf,mCAA0C;EAC1C,eAAe;EACf,sCAA6C;EAC7C,wBAA+B;A3B6gGjC;;A2Bt+FI;EACE,cAAc;A3By+FpB;;A2BtgGI;EDmDE,iBAAiB;A1Bu9FvB;;A0Bl9FA;EAEI,MAAM;EACN,WAAW;EACX,UAAU;EACV,aAAa;EACb,sBvBgqBuC;AHozE3C;;A2BlhGI;EACE,qBAAqB;EACrB,oBxBkO0C;EwBjO1C,uBxBgO0C;EwB/N1C,WAAW;A3BqhGjB;;A2BzhGI;EAgBI,aAAa;A3B6gGrB;;A2B1gGM;EACE,qBAAqB;EACrB,qBxB+MwC;EwB9MxC,uBxB6MwC;EwB5MxC,WAAW;EA9BjB,mCAA0C;EAC1C,yBAAgC;EAChC,sCAA6C;A3B4iG/C;;A2B3gGI;EACE,cAAc;A3B8gGpB;;A2BxhGM;EDiDA,iBAAiB;A1B2+FvB;;A0Bp+FA;EAKI,WAAW;EACX,YAAY;A1Bm+FhB;;A0B99FA;EE9GE,SAAS;EACT,gBAAmB;EACnB,gBAAgB;EAChB,6BzBCgB;AH+kGlB;;A0B99FA;EACE,cAAc;EACd,WAAW;EACX,uBvBopBwC;EuBnpBxC,WAAW;EACX,gBvBoK+B;EuBnK/B,cvBhHgB;EuBiHhB,mBAAmB;EACnB,mBAAmB;EACnB,6BAA6B;EAC7B,SAAS;A1Bi+FX;;AKrlGE;EqBmIE,cvBqnBqD;EuBpnBrD,qBAAqB;EJ9IrB,yBnBEc;AHmmGlB;;A0Bj/FA;EAgCI,WvBnJW;EuBoJX,qBAAqB;EJrJrB,yBnB8Ba;AH6kGjB;;A0Bv/FA;EAuCI,cvBpJc;EuBqJd,oBAAoB;EACpB,6BAA6B;A1Bo9FjC;;A0B58FA;EACE,cAAc;A1B+8FhB;;A0B38FA;EACE,cAAc;EACd,sBvB+lBwC;EuB9lBxC,gBAAgB;EtBpDZ,mBAtCY;EsB4FhB,cvBxKgB;EuByKhB,mBAAmB;A1B88FrB;;A0B18FA;EACE,cAAc;EACd,uBvBqlBwC;EuBplBxC,cvB7KgB;AH0nGlB;;A6BvoGA;;EAEE,kBAAkB;EAClB,oBAAoB;EACpB,sBAAsB;A7B0oGxB;;A6B9oGA;;EAOI,kBAAkB;EAClB,cAAc;A7B4oGlB;;AK3oGE;;EwBII,UAAU;A7B4oGhB;;A6BzpGA;;;;EAkBM,UAAU;A7B8oGhB;;A6BxoGA;EACE,aAAa;EACb,eAAe;EACf,2BAA2B;A7B2oG7B;;A6B9oGA;EAMI,WAAW;A7B4oGf;;A6BxoGA;;EAII,iB1BsM6B;AHm8FjC;;A6B7oGA;;EnBhBI,0BmB0B8B;EnBzB9B,6BmByB8B;A7ByoGlC;;A6BnpGA;;EnBFI,yBmBiB6B;EnBhB7B,4BmBgB6B;A7B0oGjC;;A6B1nGA;EACE,wBAAmC;EACnC,uBAAkC;A7B6nGpC;;A6B/nGA;;;EAOI,cAAc;A7B8nGlB;;A6B3nGE;EACE,eAAe;A7B8nGnB;;A6B1nGA;EACE,uBAAsC;EACtC,sBAAqC;A7B6nGvC;;A6B1nGA;EACE,sBAAsC;EACtC,qBAAqC;A7B6nGvC;;A6BzmGA;EACE,sBAAsB;EACtB,uBAAuB;EACvB,uBAAuB;A7B4mGzB;;A6B/mGA;;EAOI,WAAW;A7B6mGf;;A6BpnGA;;EAYI,gB1BqH6B;AHw/FjC;;A6BznGA;;EnBlFI,6BmBoG+B;EnBnG/B,4BmBmG+B;A7B6mGnC;;A6B/nGA;;EnBhGI,yBmBuH4B;EnBtH5B,0BmBsH4B;A7B8mGhC;;A6B7lGA;;EAGI,gBAAgB;A7B+lGpB;;A6BlmGA;;;;EAOM,kBAAkB;EAClB,sBAAsB;EACtB,oBAAoB;A7BkmG1B;;A8B3vGA;EACE,kBAAkB;EAClB,aAAa;EACb,eAAe;EACf,oBAAoB;EACpB,WAAW;A9B8vGb;;A8BnwGA;;;;EAWI,kBAAkB;EAClB,YAAY;EACZ,YAAY;EACZ,gBAAgB;A9B+vGpB;;A8B7wGA;;;;;;;;;;;;EAmBM,iB3BsN2B;AHmjGjC;;A8B5xGA;;;EA2BI,UAAU;A9BuwGd;;A8BlyGA;EAgCI,UAAU;A9BswGd;;A8BtyGA;;EpBeI,0BoBsBmD;EpBrBnD,6BoBqBmD;A9BuwGvD;;A8B5yGA;;EpB6BI,yBoBSmD;EpBRnD,4BoBQmD;A9B4wGvD;;A8BlzGA;EA4CI,aAAa;EACb,mBAAmB;A9B0wGvB;;A8BvzGA;;EpBeI,0BoBiC6E;EpBhC7E,6BoBgC6E;A9B6wGjF;;A8B7zGA;EpB6BI,yBoBoBsE;EpBnBtE,4BoBmBsE;A9BixG1E;;A8BtwGA;;EAEE,aAAa;A9BywGf;;A8B3wGA;;EAQI,kBAAkB;EAClB,UAAU;A9BwwGd;;A8BjxGA;;EAYM,UAAU;A9B0wGhB;;A8BtxGA;;;;;;;;EAoBI,iB3ByJ6B;AHonGjC;;A8BzwGA;EAAuB,kB3BqJU;AHwnGjC;;A8B5wGA;EAAsB,iB3BoJW;AH4nGjC;;A8BxwGA;EACE,aAAa;EACb,mBAAmB;EACnB,yB3BgSkC;E2B/RlC,gBAAgB;E1BwBZ,eAtCY;E0BgBhB,gB3B0L+B;E2BzL/B,gB3B8L+B;E2B7L/B,c3B7FgB;E2B8FhB,kBAAkB;EAClB,mBAAmB;EACnB,yB3BrGgB;E2BsGhB,yB3BpGgB;EONd,sBP6OgC;AHyoGpC;;A8BxxGA;;EAkBI,aAAa;A9B2wGjB;;A8BjwGA;;EAEE,gCZjB8D;AlBqxGhE;;A8BjwGA;;;;;;EAME,oB3B2QgC;ECtR5B,kBAtCY;E0BmDhB,gB3BgG+B;EOvO7B,qBP8O+B;AH8pGnC;;A8BjwGA;;EAEE,kCZlC8D;AlBsyGhE;;A8BjwGA;;;;;;EAME,uB3BqPiC;ECjR7B,mBAtCY;E0BoEhB,gB3BgF+B;EOxO7B,qBP+O+B;AH8qGnC;;A8BjwGA;;EAEE,sBAA0E;A9BowG5E;;A8BzvGA;;;;;;EpBzJI,0BoB+J4B;EpB9J5B,6BoB8J4B;A9B6vGhC;;A8B1vGA;;;;;;EpBpJI,yBoB0J2B;EpBzJ3B,4BoByJ2B;A9B8vG/B;;A+Bl7GA;EACE,kBAAkB;EAClB,cAAc;EACd,kBAA+C;EAC/C,oBAAqE;A/Bq7GvE;;A+Bl7GA;EACE,oBAAoB;EACpB,kB5B6f0C;AHw7F5C;;A+Bl7GA;EACE,kBAAkB;EAClB,OAAO;EACP,WAAW;EACX,W5Byf0C;E4Bxf1C,eAAkF;EAClF,UAAU;A/Bq7GZ;;A+B37GA;EASI,W5BvBW;E4BwBX,qB5BKa;EmB9Bb,yBnB8Ba;AHk7GjB;;A+Bj8GA;EAoBM,gD5BLW;AHs7GjB;;A+Br8GA;EAyBI,qB5B0bsE;AHs/F1E;;A+Bz8GA;EA6BI,W5B3CW;E4B4CX,yB5Bsf8E;E4Brf9E,qB5Bqf8E;AH27FlF;;A+B/8GA;EAuCM,c5B/CY;AH29GlB;;A+Bn9GA;EA0CQ,yB5BtDU;AHm+GlB;;A+Bn6GA;EACE,kBAAkB;EAClB,gBAAgB;EAEhB,mBAAmB;A/Bq6GrB;;A+Bz6GA;EASI,kBAAkB;EAClB,YAA+E;EAC/E,aAA+D;EAC/D,cAAc;EACd,W5B4bwC;E4B3bxC,Y5B2bwC;E4B1bxC,oBAAoB;EACpB,WAAW;EACX,sB5BnFW;E4BoFX,yB5BoJ6B;AHgxGjC;;A+Bt7GA;EAwBI,kBAAkB;EAClB,YAA+E;EAC/E,aAA+D;EAC/D,cAAc;EACd,W5B6awC;E4B5axC,Y5B4awC;E4B3axC,WAAW;EACX,mCAAgE;A/Bk6GpE;;A+Bz5GA;ErB5GI,sBP6OgC;AH4xGpC;;A+B75GA;EAOM,kOb5EqI;AlBs+G3I;;A+Bj6GA;EAaM,qB5B1FW;EmB9Bb,yBnB8Ba;AHm/GjB;;A+Bt6GA;EAkBM,+KbvFqI;AlB++G3I;;A+B16GA;EAwBM,wC5BrGW;AH2/GjB;;A+B96GA;EA2BM,wC5BxGW;AH+/GjB;;A+B94GA;EAGI,kB5B8Z+C;AHi/FnD;;A+Bl5GA;EAQM,8KbjHqI;AlB+/G3I;;A+Bt5GA;EAcM,wC5B/HW;AH2gHjB;;A+Bl4GA;EACE,qBAA2D;A/Bq4G7D;;A+Bt4GA;EAKM,cAAqD;EACrD,c5BsY+E;E4BrY/E,mBAAmB;EAEnB,qB5BoY4E;AHggGlF;;A+B74GA;EAaM,wBb1E0D;Ea2E1D,0Bb3E0D;Ea4E1D,uBbxD0D;EayD1D,wBbzD0D;Ea0D1D,yB5BlLY;E4BoLZ,qB5B0X4E;EiBpjB5E,yIjBsgB+H;AHwjGrI;;AoBzjHI;EWkKJ;IXjKM,gBAAgB;EpB6jHpB;AACF;;A+B75GA;EA0BM,sB5BhMS;E4BiMT,8BAA4E;A/Bu4GlF;;A+Bl6GA;EAiCM,wC5B1KW;AH+iHjB;;A+Bz3GA;EACE,qBAAqB;EACrB,WAAW;EACX,mCb7G8D;Ea8G9D,0C5BwKkC;ECvQ9B,eAtCY;E2BwIhB,gB5BkE+B;E4BjE/B,gB5BsE+B;E4BrE/B,c5BrNgB;E4BsNhB,sBAAsB;EACtB,uO5BuW+I;E4BtW/I,yB5B3NgB;EONd,sBP6OgC;E4BTlC,wBAAgB;EAAhB,qBAAgB;EAAhB,gBAAgB;A/B03GlB;;A+Bz4GA;EAkBI,qB5B4PsE;E4B3PtE,UAAU;EAIR,gD5B7MW;AHqkHjB;;A+B/4GA;EAgCM,c5B5OY;E4B6OZ,sB5BpPS;AHumHf;;A+Bp5GA;EAuCI,YAAY;EACZ,sB5BoIgC;E4BnIhC,sBAAsB;A/Bi3G1B;;A+B15GA;EA6CI,c5B1Pc;E4B2Pd,yB5B/Pc;AHgnHlB;;A+B/5GA;EAmDI,aAAa;A/Bg3GjB;;A+Bn6GA;EAwDI,kBAAkB;EAClB,0B5BrQc;AHonHlB;;A+B32GA;EACE,kCbxK8D;EayK9D,oB5BsHkC;E4BrHlC,uB5BqHkC;E4BpHlC,oB5BqHiC;ECjR7B,mBAtCY;AJijHlB;;A+B32GA;EACE,gCbhL8D;EaiL9D,mB5BmHiC;E4BlHjC,sB5BkHiC;E4BjHjC,kB5BkHgC;ECtR5B,kBAtCY;AJyjHlB;;A+Bt2GA;EACE,kBAAkB;EAClB,qBAAqB;EACrB,WAAW;EACX,mCbhM8D;EaiM9D,gBAAgB;A/By2GlB;;A+Bt2GA;EACE,kBAAkB;EAClB,UAAU;EACV,WAAW;EACX,mCbxM8D;EayM9D,SAAS;EACT,UAAU;A/By2GZ;;A+B/2GA;EASI,qB5B2KsE;E4B1KtE,gD5B1Ra;AHooHjB;;A+Bp3GA;;EAgBI,yB5B3Tc;AHoqHlB;;A+Bz3GA;EAqBM,iB5BkUQ;AHsiGd;;A+B73GA;EA0BI,0BAA0B;A/Bu2G9B;;A+Bn2GA;EACE,kBAAkB;EAClB,MAAM;EACN,QAAQ;EACR,OAAO;EACP,UAAU;EACV,mCbxO8D;EayO9D,yB5B6CkC;E4B3ClC,gB5BxD+B;E4ByD/B,gB5BpD+B;E4BqD/B,c5B/UgB;E4BgVhB,sB5BvVa;E4BwVb,yB5BpVgB;EONd,sBP6OgC;AHm9GpC;;A+Bn3GA;EAkBI,kBAAkB;EAClB,MAAM;EACN,QAAQ;EACR,SAAS;EACT,UAAU;EACV,cAAc;EACd,6Bb1P4D;Ea2P5D,yB5B2BgC;E4B1BhC,gB5BpE6B;E4BqE7B,c5B/Vc;E4BgWd,iBAAiB;ETxWjB,yBnBGc;E4BuWd,oBAAoB;ErB3WpB,kCqB4WgF;A/Bq2GpF;;A+B31GA;EACE,WAAW;EACX,cbhR2B;EaiR3B,UAAU;EACV,6BAA6B;EAC7B,wBAAgB;EAAhB,qBAAgB;EAAhB,gBAAgB;A/B81GlB;;A+Bn2GA;EAQI,aAAa;A/B+1GjB;;A+Bv2GA;EAY8B,gE5BnWb;AHksHjB;;A+B32GA;EAa8B,gE5BpWb;AHssHjB;;A+B/2GA;EAc8B,gE5BrWb;AH0sHjB;;A+Bn3GA;EAkBI,SAAS;A/Bq2Gb;;A+Bv3GA;EAsBI,W5B2N6C;E4B1N7C,Y5B0N6C;E4BzN7C,oBAAyE;ET7YzE,yBnB8Ba;E4BiXb,S5B0N0C;EO1mB1C,mBP2mB6C;EiB1mB3C,oHjBsgB+H;EiBtgB/H,4GjBsgB+H;E4BnHjI,wBAAgB;EAAhB,gBAAgB;A/Bo2GpB;;AoBlvHI;EWgXJ;IX/WM,wBAAgB;IAAhB,gBAAgB;EpBsvHpB;AACF;;A+Bx4GA;ETrXI,yBnB8mB2E;AHmpG/E;;A+B54GA;EAsCI,W5BoMoC;E4BnMpC,c5BoMqC;E4BnMrC,kBAAkB;EAClB,e5BmMuC;E4BlMvC,yB5B3Zc;E4B4Zd,yBAAyB;ErBjazB,mBPomBoC;AHwqGxC;;A+Bt5GA;EAiDI,W5BgM6C;E4B/L7C,Y5B+L6C;EmBtmB7C,yBnB8Ba;E4B2Yb,S5BgM0C;EO1mB1C,mBP2mB6C;EiB1mB3C,iHjBsgB+H;EiBtgB/H,4GjBsgB+H;E4BzFjI,qBAAgB;EAAhB,gBAAgB;A/Bw2GpB;;AoBhxHI;EWgXJ;IX/WM,qBAAgB;IAAhB,gBAAgB;EpBoxHpB;AACF;;A+Bt6GA;ETrXI,yBnB8mB2E;AHirG/E;;A+B16GA;EAgEI,W5B0KoC;E4BzKpC,c5B0KqC;E4BzKrC,kBAAkB;EAClB,e5ByKuC;E4BxKvC,yB5Brbc;E4Bsbd,yBAAyB;ErB3bzB,mBPomBoC;AHssGxC;;A+Bp7GA;EA2EI,W5BsK6C;E4BrK7C,Y5BqK6C;E4BpK7C,aAAa;EACb,oB5B9D+B;E4B+D/B,mB5B/D+B;EmBrY/B,yBnB8Ba;E4Bwab,S5BmK0C;EO1mB1C,mBP2mB6C;EiB1mB3C,gHjBsgB+H;EiBtgB/H,4GjBsgB+H;E4B5DjI,gBAAgB;A/B42GpB;;AoBjzHI;EWgXJ;IX/WM,oBAAgB;IAAhB,gBAAgB;EpBqzHpB;AACF;;A+Bv8GA;ETrXI,yBnB8mB2E;AHktG/E;;A+B38GA;EA6FI,W5B6IoC;E4B5IpC,c5B6IqC;E4B5IrC,kBAAkB;EAClB,e5B4IuC;E4B3IvC,6BAA6B;EAC7B,yBAAyB;EACzB,oBAA4C;A/Bk3GhD;;A+Br9GA;EAwGI,yB5Bzdc;EOLd,mBPomBoC;AH4uGxC;;A+B19GA;EA6GI,kBAAkB;EAClB,yB5B/dc;EOLd,mBPomBoC;AHkvGxC;;A+Bh+GA;EAoHM,yB5BneY;AHm1HlB;;A+Bp+GA;EAwHM,eAAe;A/Bg3GrB;;A+Bx+GA;EA4HM,yB5B3eY;AH21HlB;;A+B5+GA;EAgIM,eAAe;A/Bg3GrB;;A+Bh/GA;EAoIM,yB5BnfY;AHm2HlB;;A+B32GA;;;EX9fM,4GjBsgB+H;AHy2GrI;;AoB12HI;EWyfJ;;;IXxfM,gBAAgB;EpBg3HpB;AACF;;AgCx3HA;EACE,aAAa;EACb,eAAe;EACf,eAAe;EACf,gBAAgB;EAChB,gBAAgB;AhC23HlB;;AgCx3HA;EACE,cAAc;EACd,oB7B6qBsC;AH8sGxC;;AK13HE;E2BEE,qBAAqB;AhC43HzB;;AgCj4HA;EAUI,c7BVc;E6BWd,oBAAoB;EACpB,eAAe;AhC23HnB;;AgCn3HA;EACE,gC7BxBgB;AH84HlB;;AgCv3HA;EAII,mB7B0M6B;AH6qHjC;;AgC33HA;EAQI,6BAAgD;EtB3BhD,+BPoOgC;EOnOhC,gCPmOgC;AHgrHpC;;AKl5HE;E2B6BI,qC7BnCY;AH45HlB;;AgCr4HA;EAgBM,c7BpCY;E6BqCZ,6BAA6B;EAC7B,yBAAyB;AhCy3H/B;;AgC34HA;;EAwBI,c7B3Cc;E6B4Cd,sB7BnDW;E6BoDX,kC7BpDW;AH46Hf;;AgCl5HA;EA+BI,gB7B+K6B;EOjO7B,yBsBoD4B;EtBnD5B,0BsBmD4B;AhCu3HhC;;AgC92HA;EtBtEI,sBP6OgC;AH2sHpC;;AgCl3HA;;EAOI,W7B3EW;E6B4EX,yB7B/Ca;AH+5HjB;;AgCv2HA;EAEI,cAAc;EACd,kBAAkB;AhCy2HtB;;AgCr2HA;EAEI,aAAa;EACb,YAAY;EACZ,kBAAkB;AhCu2HtB;;AgC91HA;EAEI,aAAa;AhCg2HjB;;AgCl2HA;EAKI,cAAc;AhCi2HlB;;AiCr8HA;EACE,kBAAkB;EAClB,aAAa;EACb,eAAe;EACf,mBAAmB;EACnB,8BAA8B;EAC9B,oB9BiHW;AHu1Hb;;AiC98HA;;EAWI,aAAa;EACb,eAAe;EACf,mBAAmB;EACnB,8BAA8B;AjCw8HlC;;AiCp7HA;EACE,qBAAqB;EACrB,sB9BqqB+E;E8BpqB/E,yB9BoqB+E;E8BnqB/E,kB9BiFW;ECTP,kBAtCY;E6BhChB,oBAAoB;EACpB,mBAAmB;AjCu7HrB;;AKj+HE;E4B6CE,qBAAqB;AjCw7HzB;;AiC/6HA;EACE,aAAa;EACb,sBAAsB;EACtB,eAAe;EACf,gBAAgB;EAChB,gBAAgB;AjCk7HlB;;AiCv7HA;EAQI,gBAAgB;EAChB,eAAe;AjCm7HnB;;AiC57HA;EAaI,gBAAgB;EAChB,WAAW;AjCm7Hf;;AiC16HA;EACE,qBAAqB;EACrB,mB9B4lBuC;E8B3lBvC,sB9B2lBuC;AHk1GzC;;AiCj6HA;EACE,gBAAgB;EAChB,YAAY;EAGZ,mBAAmB;AjCk6HrB;;AiC95HA;EACE,wB9BumBwC;EC9lBpC,kBAtCY;E6B+BhB,cAAc;EACd,6BAA6B;EAC7B,6BAAuC;EvBrHrC,sBP6OgC;AH0yHpC;;AK5gIE;E4B8GE,qBAAqB;AjCk6HzB;;AiC55HA;EACE,qBAAqB;EACrB,YAAY;EACZ,aAAa;EACb,sBAAsB;EACtB,WAAW;EACX,mCAAmC;EACnC,0BAA0B;AjC+5H5B;;Acj+HI;EmB4EC;;IAGK,gBAAgB;IAChB,eAAe;EjCw5HvB;AACF;;Act/HI;EmByFA;IAoBI,qBAAqB;IACrB,2BAA2B;EjC84HjC;EiCn6HG;IAwBK,mBAAmB;EjC84H3B;EiCt6HG;IA2BO,kBAAkB;EjC84H5B;EiCz6HG;IA+BO,qB9BgiB6B;I8B/hB7B,oB9B+hB6B;EH82GvC;EiC76HG;;IAsCK,iBAAiB;EjC24HzB;EiCj7HG;IAqDK,wBAAwB;IAGxB,gBAAgB;EjC63HxB;EiCr7HG;IA4DK,aAAa;EjC43HrB;AACF;;AcrgII;EmB4EC;;IAGK,gBAAgB;IAChB,eAAe;EjC47HvB;AACF;;Ac1hII;EmByFA;IAoBI,qBAAqB;IACrB,2BAA2B;EjCk7HjC;EiCv8HG;IAwBK,mBAAmB;EjCk7H3B;EiC18HG;IA2BO,kBAAkB;EjCk7H5B;EiC78HG;IA+BO,qB9BgiB6B;I8B/hB7B,oB9B+hB6B;EHk5GvC;EiCj9HG;;IAsCK,iBAAiB;EjC+6HzB;EiCr9HG;IAqDK,wBAAwB;IAGxB,gBAAgB;EjCi6HxB;EiCz9HG;IA4DK,aAAa;EjCg6HrB;AACF;;AcziII;EmB4EC;;IAGK,gBAAgB;IAChB,eAAe;EjCg+HvB;AACF;;Ac9jII;EmByFA;IAoBI,qBAAqB;IACrB,2BAA2B;EjCs9HjC;EiC3+HG;IAwBK,mBAAmB;EjCs9H3B;EiC9+HG;IA2BO,kBAAkB;EjCs9H5B;EiCj/HG;IA+BO,qB9BgiB6B;I8B/hB7B,oB9B+hB6B;EHs7GvC;EiCr/HG;;IAsCK,iBAAiB;EjCm9HzB;EiCz/HG;IAqDK,wBAAwB;IAGxB,gBAAgB;EjCq8HxB;EiC7/HG;IA4DK,aAAa;EjCo8HrB;AACF;;Ac7kII;EmB4EC;;IAGK,gBAAgB;IAChB,eAAe;EjCogIvB;AACF;;AclmII;EmByFA;IAoBI,qBAAqB;IACrB,2BAA2B;EjC0/HjC;EiC/gIG;IAwBK,mBAAmB;EjC0/H3B;EiClhIG;IA2BO,kBAAkB;EjC0/H5B;EiCrhIG;IA+BO,qB9BgiB6B;I8B/hB7B,oB9B+hB6B;EH09GvC;EiCzhIG;;IAsCK,iBAAiB;EjCu/HzB;EiC7hIG;IAqDK,wBAAwB;IAGxB,gBAAgB;EjCy+HxB;EiCjiIG;IA4DK,aAAa;EjCw+HrB;AACF;;AiC1iIA;EAyBQ,qBAAqB;EACrB,2BAA2B;AjCqhInC;;AiC/iIA;;EAQU,gBAAgB;EAChB,eAAe;AjC4iIzB;;AiCrjIA;EA6BU,mBAAmB;AjC4hI7B;;AiCzjIA;EAgCY,kBAAkB;AjC6hI9B;;AiC7jIA;EAoCY,qB9BgiB6B;E8B/hB7B,oB9B+hB6B;AH8/GzC;;AiClkIA;;EA2CU,iBAAiB;AjC4hI3B;;AiCvkIA;EA0DU,wBAAwB;EAGxB,gBAAgB;AjC+gI1B;;AiC5kIA;EAiEU,aAAa;AjC+gIvB;;AiClgIA;EAEI,yB9B/MW;AHmtIf;;AKptIE;E4BmNI,yB9BlNS;AHutIf;;AiC1gIA;EAWM,yB9BxNS;AH2tIf;;AK5tIE;E4B4NM,yB9B3NO;AH+tIf;;AiClhIA;EAkBQ,yB9B/NO;AHmuIf;;AiCthIA;;;;EA0BM,yB9BvOS;AH0uIf;;AiC7hIA;EA+BI,yB9B5OW;E8B6OX,gC9B7OW;AH+uIf;;AiCliIA;EAoCI,+QftNuI;AlBwtI3I;;AiCtiIA;EAwCI,yB9BrPW;AHuvIf;;AiC1iIA;EA0CM,yB9BvPS;AH2vIf;;AK5vIE;E4B2PM,yB9B1PO;AH+vIf;;AiC9/HA;EAEI,W9B7QW;AH6wIf;;AKpwIE;E4BuQI,W9BhRS;AHixIf;;AiCtgIA;EAWM,+B9BtRS;AHqxIf;;AK5wIE;E4BgRM,gC9BzRO;AHyxIf;;AiC9gIA;EAkBQ,gC9B7RO;AH6xIf;;AiClhIA;;;;EA0BM,W9BrSS;AHoyIf;;AiCzhIA;EA+BI,+B9B1SW;E8B2SX,sC9B3SW;AHyyIf;;AiC9hIA;EAoCI,qRf1QuI;AlBwwI3I;;AiCliIA;EAwCI,+B9BnTW;AHizIf;;AiCtiIA;EA0CM,W9BrTS;AHqzIf;;AK5yIE;E4B+SM,W9BxTO;AHyzIf;;AkC5zIA;EACE,kBAAkB;EAClB,aAAa;EACb,sBAAsB;EACtB,YAAY;EAEZ,qBAAqB;EACrB,sB/BJa;E+BKb,2BAA2B;EAC3B,sC/BIa;EOZX,sBP6OgC;AH0lIpC;;AkCx0IA;EAaI,eAAe;EACf,cAAc;AlC+zIlB;;AkC70IA;ExBUI,+BPoOgC;EOnOhC,gCPmOgC;AHomIpC;;AkCl1IA;ExBwBI,mCPsNgC;EOrNhC,kCPqNgC;AHymIpC;;AkCzzIA;EAGE,cAAc;EAGd,eAAe;EACf,gB/BsxByC;AHkiH3C;;AkCpzIA;EACE,sB/BgxBwC;AHuiH1C;;AkCpzIA;EACE,qBAA+B;EAC/B,gBAAgB;AlCuzIlB;;AkCpzIA;EACE,gBAAgB;AlCuzIlB;;AKl2IE;E6BgDE,qBAAqB;AlCszIzB;;AkCxzIA;EAMI,oB/B+vBuC;AHujH3C;;AkC9yIA;EACE,wB/BsvByC;E+BrvBzC,gBAAgB;EAEhB,qC/B3Da;E+B4Db,6C/B5Da;AH42If;;AkCrzIA;ExBnEI,0DwB2E8E;AlCizIlF;;AkCzzIA;EAaM,aAAa;AlCgzInB;;AkC3yIA;EACE,wB/BouByC;E+BnuBzC,qC/B3Ea;E+B4Eb,0C/B5Ea;AH03If;;AkCjzIA;ExBrFI,0DQ+H4D;AlB2wIhE;;AkCtyIA;EACE,uBAAiC;EACjC,uB/BmtBwC;E+BltBxC,sBAAgC;EAChC,gBAAgB;AlCyyIlB;;AkCtyIA;EACE,uBAAiC;EACjC,sBAAgC;AlCyyIlC;;AkCryIA;EACE,kBAAkB;EAClB,MAAM;EACN,QAAQ;EACR,SAAS;EACT,OAAO;EACP,gB/B8sByC;AH0lH3C;;AkCryIA;;;EAGE,cAAc;EACd,WAAW;AlCwyIb;;AkCryIA;;ExBxHI,2CQsH4D;ERrH5D,4CQqH4D;AlB6yIhE;;AkCtyIA;;ExB/GI,+CQwG4D;ERvG5D,8CQuG4D;AlBmzIhE;;AkCpyIA;EAEI,mB/BurBsD;AH+mH1D;;Ac/3II;EoBuFJ;IAMI,aAAa;IACb,mBAAmB;IACnB,mB/BirBsD;I+BhrBtD,kB/BgrBsD;EHunHxD;EkChzIF;IAaM,YAAY;IACZ,kB/B2qBoD;I+B1qBpD,gBAAgB;IAChB,iB/ByqBoD;EH6nHxD;AACF;;AkC7xIA;EAII,mB/B2pBsD;AHkoH1D;;Acl5II;EoBiHJ;IAQI,aAAa;IACb,mBAAmB;ElC8xIrB;EkCvyIF;IAcM,YAAY;IACZ,gBAAgB;ElC4xIpB;EkC3yIF;IAkBQ,cAAc;IACd,cAAc;ElC4xIpB;EkC/yIF;IxBxJI,0BwBiLoC;IxBhLpC,6BwBgLoC;ElC0xItC;EkCnzIF;;IA8BY,0BAA0B;ElCyxIpC;EkCvzIF;;IAmCY,6BAA6B;ElCwxIvC;EkC3zIF;IxB1II,yBwBkLmC;IxBjLnC,4BwBiLmC;ElCuxIrC;EkC/zIF;;IA6CY,yBAAyB;ElCsxInC;EkCn0IF;;IAkDY,4BAA4B;ElCqxItC;AACF;;AkCzwIA;EAEI,sB/BglBsC;AH2rH1C;;Ac77II;EoBgLJ;IAMI,oB/B6lBiC;I+B7lBjC,e/B6lBiC;I+B5lBjC,wB/B6lBuC;I+B7lBvC,mB/B6lBuC;I+B5lBvC,UAAU;IACV,SAAS;ElC4wIX;EkCrxIF;IAYM,qBAAqB;IACrB,WAAW;ElC4wIf;AACF;;AkCnwIA;EAEI,gBAAgB;AlCqwIpB;;AkCvwIA;EAKM,gBAAgB;ExB5OlB,6BwB6OiC;ExB5OjC,4BwB4OiC;AlCuwIrC;;AkC7wIA;ExBrPI,yBwB+P8B;ExB9P9B,0BwB8P8B;AlCwwIlC;;AkClxIA;ExB9PI,gBwB4Q0B;EACxB,mB/BnC2B;AH2yIjC;;AmC1hJA;EACE,aAAa;EACb,eAAe;EACf,qBhC+hCsC;EgC9hCtC,mBhCiiCsC;EgC/hCtC,gBAAgB;EAChB,yBhCEgB;EOJd,sBP6OgC;AHkzIpC;;AmCzhJA;EAGI,oBhCqhCqC;AHqgHzC;;AmC7hJA;EAMM,qBAAqB;EACrB,qBhCihCmC;EgChhCnC,chCNY;EgCOZ,YhCshCuC;AHqgH7C;;AmCpiJA;EAoBI,0BAA0B;AnCohJ9B;;AmCxiJA;EAwBI,qBAAqB;AnCohJzB;;AmC5iJA;EA4BI,chC1Bc;AH8iJlB;;AoC3jJA;EACE,aAAa;E7BGb,eAAe;EACf,gBAAgB;EGAd,sBP6OgC;AHg1IpC;;AoC5jJA;EACE,kBAAkB;EAClB,cAAc;EACd,uBjCgxBwC;EiC/wBxC,iBjCqO+B;EiCpO/B,iBjCmxBsC;EiClxBtC,cjCwBe;EiCvBf,sBjCNa;EiCOb,yBjCJgB;AHmkJlB;;AoCvkJA;EAWI,UAAU;EACV,cjCkK8D;EiCjK9D,qBAAqB;EACrB,yBjCXc;EiCYd,qBjCXc;AH2kJlB;;AoC/kJA;EAmBI,UAAU;EACV,UjC4wBiC;EiC3wBjC,gDjCSa;AHujJjB;;AoC5jJA;EAGM,cAAc;E1BChB,+BP+MgC;EO9MhC,kCP8MgC;AH+2IpC;;AoClkJA;E1BVI,gCP6NgC;EO5NhC,mCP4NgC;AHo3IpC;;AoCvkJA;EAcI,UAAU;EACV,WjCvCW;EiCwCX,yBjCXa;EiCYb,qBjCZa;AHykJjB;;AoC9kJA;EAqBI,cjCvCc;EiCwCd,oBAAoB;EAEpB,YAAY;EACZ,sBjCjDW;EiCkDX,qBjC/Cc;AH2mJlB;;AqClnJE;EACE,uBlCyxBsC;EC9pBpC,kBAtCY;EiCnFd,gBlCsO6B;AH+4IjC;;AqChnJM;E3BwBF,8BPgN+B;EO/M/B,iCP+M+B;AH64InC;;AqChnJM;E3BKF,+BP8N+B;EO7N/B,kCP6N+B;AHk5InC;;AqCloJE;EACE,uBlCuxBqC;EC5pBnC,mBAtCY;EiCnFd,gBlCuO6B;AH85IjC;;AqChoJM;E3BwBF,8BPiN+B;EOhN/B,iCPgN+B;AH45InC;;AqChoJM;E3BKF,+BP+N+B;EO9N/B,kCP8N+B;AHi6InC;;AsChpJA;EACE,qBAAqB;EACrB,qBnCw5BsC;ECv1BpC,cAAW;EkC/Db,gBnC2R+B;EmC1R/B,cAAc;EACd,kBAAkB;EAClB,mBAAmB;EACnB,wBAAwB;E5BRtB,sBP6OgC;EiB5O9B,qIjB6b6I;AH+tInJ;;AoBvpJI;EkBNJ;IlBOM,gBAAgB;EpB2pJpB;AACF;;AKxpJE;EiCGI,qBAAqB;AtCypJ3B;;AsCvqJA;EAoBI,aAAa;AtCupJjB;;AsClpJA;EACE,kBAAkB;EAClB,SAAS;AtCqpJX;;AsC9oJA;EACE,oBnC63BsC;EmC53BtC,mBnC43BsC;EOh6BpC,oBPm6BqC;AHmxHzC;;AsCzoJE;ECjDA,WpCMa;EoCLb,yBpCkCe;AH4pJjB;;AKhrJE;EkCVI,WpCCS;EoCAT,yBAAkC;AvC8rJxC;;AuCjsJU;EAQJ,UAAU;EACV,+CpCuBW;AHsqJjB;;AsCxpJE;ECjDA,WpCMa;EoCLb,yBpCWgB;AHksJlB;;AK/rJE;EkCVI,WpCCS;EoCAT,yBAAkC;AvC6sJxC;;AuChtJU;EAQJ,UAAU;EACV,iDpCAY;AH4sJlB;;AsCvqJE;ECjDA,WpCMa;EoCLb,yBpCyCe;AHmrJjB;;AK9sJE;EkCVI,WpCCS;EoCAT,yBAAkC;AvC4tJxC;;AuC/tJU;EAQJ,UAAU;EACV,+CpC8BW;AH6rJjB;;AsCtrJE;ECjDA,WpCMa;EoCLb,yBpC2Ce;AHgsJjB;;AK7tJE;EkCVI,WpCCS;EoCAT,yBAAkC;AvC2uJxC;;AuC9uJU;EAQJ,UAAU;EACV,gDpCgCW;AH0sJjB;;AsCrsJE;ECjDA,cpCegB;EoCdhB,yBpCwCe;AHktJjB;;AK5uJE;EkCVI,cpCUY;EoCTZ,yBAAkC;AvC0vJxC;;AuC7vJU;EAQJ,UAAU;EACV,+CpC6BW;AH4tJjB;;AsCptJE;ECjDA,WpCMa;EoCLb,yBpCsCe;AHmuJjB;;AK3vJE;EkCVI,WpCCS;EoCAT,yBAAkC;AvCywJxC;;AuC5wJU;EAQJ,UAAU;EACV,+CpC2BW;AH6uJjB;;AsCnuJE;ECjDA,cpCegB;EoCdhB,yBpCMgB;AHkxJlB;;AK1wJE;EkCVI,cpCUY;EoCTZ,yBAAkC;AvCwxJxC;;AuC3xJU;EAQJ,UAAU;EACV,iDpCLY;AH4xJlB;;AsClvJE;ECjDA,WpCMa;EoCLb,yBpCagB;AH0xJlB;;AKzxJE;EkCVI,WpCCS;EoCAT,yBAAkC;AvCuyJxC;;AuC1yJU;EAQJ,UAAU;EACV,8CpCEY;AHoyJlB;;AwCnzJA;EACE,kBAAoD;EACpD,mBrCqzBsC;EqCnzBtC,yBrCKgB;EOJd,qBP8O+B;AHukJnC;;Ac9vJI;E0B5DJ;IAQI,kBrC+yBoC;EHwgItC;AACF;;AwCpzJA;EACE,gBAAgB;EAChB,eAAe;E9BTb,gB8BUsB;AxCuzJ1B;;AyCl0JA;EACE,kBAAkB;EAClB,wBtCq9ByC;EsCp9BzC,mBtCq9BsC;EsCp9BtC,6BAA6C;E/BH3C,sBP6OgC;AH4lJpC;;AyCj0JA;EAEE,cAAc;AzCm0JhB;;AyC/zJA;EACE,gBtCgR+B;AHkjJjC;;AyC1zJA;EACE,mBAAsD;AzC6zJxD;;AyC9zJA;EAKI,kBAAkB;EAClB,MAAM;EACN,QAAQ;EACR,wBtCu7BuC;EsCt7BvC,cAAc;AzC6zJlB;;AyCnzJE;EC9CA,cxB8FgE;EIzF9D,yBJyF8D;EwB5FhE,qBxB4FgE;AlBywJlE;;A0Cn2JE;EACE,yBAAqC;A1Cs2JzC;;A0Cn2JE;EACE,cAA0B;A1Cs2J9B;;AyCj0JE;EC9CA,cxB8FgE;EIzF9D,yBJyF8D;EwB5FhE,qBxB4FgE;AlBuxJlE;;A0Cj3JE;EACE,yBAAqC;A1Co3JzC;;A0Cj3JE;EACE,cAA0B;A1Co3J9B;;AyC/0JE;EC9CA,cxB8FgE;EIzF9D,yBJyF8D;EwB5FhE,qBxB4FgE;AlBqyJlE;;A0C/3JE;EACE,yBAAqC;A1Ck4JzC;;A0C/3JE;EACE,cAA0B;A1Ck4J9B;;AyC71JE;EC9CA,cxB8FgE;EIzF9D,yBJyF8D;EwB5FhE,qBxB4FgE;AlBmzJlE;;A0C74JE;EACE,yBAAqC;A1Cg5JzC;;A0C74JE;EACE,cAA0B;A1Cg5J9B;;AyC32JE;EC9CA,cxB8FgE;EIzF9D,yBJyF8D;EwB5FhE,qBxB4FgE;AlBi0JlE;;A0C35JE;EACE,yBAAqC;A1C85JzC;;A0C35JE;EACE,cAA0B;A1C85J9B;;AyCz3JE;EC9CA,cxB8FgE;EIzF9D,yBJyF8D;EwB5FhE,qBxB4FgE;AlB+0JlE;;A0Cz6JE;EACE,yBAAqC;A1C46JzC;;A0Cz6JE;EACE,cAA0B;A1C46J9B;;AyCv4JE;EC9CA,cxB8FgE;EIzF9D,yBJyF8D;EwB5FhE,qBxB4FgE;AlB61JlE;;A0Cv7JE;EACE,yBAAqC;A1C07JzC;;A0Cv7JE;EACE,cAA0B;A1C07J9B;;AyCr5JE;EC9CA,cxB8FgE;EIzF9D,yBJyF8D;EwB5FhE,qBxB4FgE;AlB22JlE;;A0Cr8JE;EACE,yBAAqC;A1Cw8JzC;;A0Cr8JE;EACE,cAA0B;A1Cw8J9B;;A2Ch9JE;EACE;IAAO,2BAAuC;E3Co9JhD;E2Cn9JE;IAAK,wBAAwB;E3Cs9J/B;AACF;;A2Cz9JE;EACE;IAAO,2BAAuC;E3Co9JhD;E2Cn9JE;IAAK,wBAAwB;E3Cs9J/B;AACF;;A2Cn9JA;EACE,aAAa;EACb,YxC89BsC;EwC79BtC,gBAAgB;EvCoHZ,kBAtCY;EuC5EhB,yBxCJgB;EOJd,sBP6OgC;AHkvJpC;;A2Cl9JA;EACE,aAAa;EACb,sBAAsB;EACtB,uBAAuB;EACvB,gBAAgB;EAChB,WxChBa;EwCiBb,kBAAkB;EAClB,mBAAmB;EACnB,yBxCUe;EiB9BX,2BjB0+B4C;AHggIlD;;AoBr+JI;EuBOJ;IvBNM,gBAAgB;EpBy+JpB;AACF;;A2Cx9JA;ErBaE,qMAA6I;EqBX7I,0BxCw8BsC;AHmhIxC;;A2Cv9JE;EACE,0DxC08BkD;EwC18BlD,kDxC08BkD;AHghItD;;A2Cv9JM;EAJJ;IAKM,uBAAe;IAAf,eAAe;E3C29JrB;AACF;;A4CrgKA;EACE,aAAa;EACb,uBAAuB;A5CwgKzB;;A4CrgKA;EACE,OAAO;A5CwgKT;;A6C1gKA;EACE,aAAa;EACb,sBAAsB;EAGtB,eAAe;EACf,gBAAgB;A7C2gKlB;;A6ClgKA;EACE,WAAW;EACX,c1CPgB;E0CQhB,mBAAmB;A7CqgKrB;;AK3gKE;EwCUE,UAAU;EACV,c1Cbc;E0Ccd,qBAAqB;EACrB,yB1CrBc;AH0hKlB;;A6C/gKA;EAcI,c1CjBc;E0CkBd,yB1CzBc;AH8hKlB;;A6C5/JA;EACE,kBAAkB;EAClB,cAAc;EACd,wB1C88ByC;E0C58BzC,sB1CzCa;E0C0Cb,sC1ChCa;AH8hKf;;A6CpgKA;EnC7BI,+BPoOgC;EOnOhC,gCPmOgC;AHk0JpC;;A6CzgKA;EnCfI,mCPsNgC;EOrNhC,kCPqNgC;AHu0JpC;;A6C9gKA;EAkBI,c1ChDc;E0CiDd,oBAAoB;EACpB,sB1CxDW;AHwjKf;;A6CphKA;EAyBI,UAAU;EACV,W1C9DW;E0C+DX,yB1ClCa;E0CmCb,qB1CnCa;AHkiKjB;;A6C3hKA;EAgCI,mBAAmB;A7C+/JvB;;A6C/hKA;EAmCM,gB1CiK2B;E0ChK3B,qB1CgK2B;AHg2JjC;;A6Cl/JI;EACE,mBAAmB;A7Cq/JzB;;A6Ct/JI;EnCjCA,kCPsLgC;EOlMhC,0BmCmDwC;A7Cq/J5C;;A6C3/JI;EnC7CA,gCPkMgC;EOtLhC,4BmC4C0C;A7Cq/J9C;;A6ChgKI;EAeM,aAAa;A7Cq/JvB;;A6CpgKI;EAmBM,qB1C+HuB;E0C9HvB,oBAAoB;A7Cq/J9B;;A6CzgKI;EAuBQ,iB1C2HqB;E0C1HrB,sB1C0HqB;AH43JjC;;Ac/iKI;E+BiCA;IACE,mBAAmB;E7CkhKvB;E6CnhKE;InCjCA,kCPsLgC;IOlMhC,0BmCmDwC;E7CihK1C;E6CvhKE;InC7CA,gCPkMgC;IOtLhC,4BmC4C0C;E7CghK5C;E6C3hKE;IAeM,aAAa;E7C+gKrB;E6C9hKE;IAmBM,qB1C+HuB;I0C9HvB,oBAAoB;E7C8gK5B;E6CliKE;IAuBQ,iB1C2HqB;I0C1HrB,sB1C0HqB;EHo5J/B;AACF;;AcxkKI;E+BiCA;IACE,mBAAmB;E7C2iKvB;E6C5iKE;InCjCA,kCPsLgC;IOlMhC,0BmCmDwC;E7C0iK1C;E6ChjKE;InC7CA,gCPkMgC;IOtLhC,4BmC4C0C;E7CyiK5C;E6CpjKE;IAeM,aAAa;E7CwiKrB;E6CvjKE;IAmBM,qB1C+HuB;I0C9HvB,oBAAoB;E7CuiK5B;E6C3jKE;IAuBQ,iB1C2HqB;I0C1HrB,sB1C0HqB;EH66J/B;AACF;;AcjmKI;E+BiCA;IACE,mBAAmB;E7CokKvB;E6CrkKE;InCjCA,kCPsLgC;IOlMhC,0BmCmDwC;E7CmkK1C;E6CzkKE;InC7CA,gCPkMgC;IOtLhC,4BmC4C0C;E7CkkK5C;E6C7kKE;IAeM,aAAa;E7CikKrB;E6ChlKE;IAmBM,qB1C+HuB;I0C9HvB,oBAAoB;E7CgkK5B;E6CplKE;IAuBQ,iB1C2HqB;I0C1HrB,sB1C0HqB;EHs8J/B;AACF;;Ac1nKI;E+BiCA;IACE,mBAAmB;E7C6lKvB;E6C9lKE;InCjCA,kCPsLgC;IOlMhC,0BmCmDwC;E7C4lK1C;E6ClmKE;InC7CA,gCPkMgC;IOtLhC,4BmC4C0C;E7C2lK5C;E6CtmKE;IAeM,aAAa;E7C0lKrB;E6CzmKE;IAmBM,qB1C+HuB;I0C9HvB,oBAAoB;E7CylK5B;E6C7mKE;IAuBQ,iB1C2HqB;I0C1HrB,sB1C0HqB;EH+9J/B;AACF;;A6C5kKA;EAEI,qBAAqB;EACrB,oBAAoB;EnCjIpB,gBmCkIwB;A7C8kK5B;;A6CllKA;EAOM,mBAAmB;A7C+kKzB;;A6CtlKA;EAaM,sBAAsB;A7C6kK5B;;A8C1tKE;EACE,c5B2F8D;E4B1F9D,yB5B0F8D;AlBmoKlE;;AKltKE;EyCPM,c5BsF0D;E4BrF1D,yBAAyC;A9C6tKjD;;A8CpuKE;EAWM,W3CPO;E2CQP,yB5BgF0D;E4B/E1D,qB5B+E0D;AlB8oKlE;;A8C1uKE;EACE,c5B2F8D;E4B1F9D,yB5B0F8D;AlBmpKlE;;AKluKE;EyCPM,c5BsF0D;E4BrF1D,yBAAyC;A9C6uKjD;;A8CpvKE;EAWM,W3CPO;E2CQP,yB5BgF0D;E4B/E1D,qB5B+E0D;AlB8pKlE;;A8C1vKE;EACE,c5B2F8D;E4B1F9D,yB5B0F8D;AlBmqKlE;;AKlvKE;EyCPM,c5BsF0D;E4BrF1D,yBAAyC;A9C6vKjD;;A8CpwKE;EAWM,W3CPO;E2CQP,yB5BgF0D;E4B/E1D,qB5B+E0D;AlB8qKlE;;A8C1wKE;EACE,c5B2F8D;E4B1F9D,yB5B0F8D;AlBmrKlE;;AKlwKE;EyCPM,c5BsF0D;E4BrF1D,yBAAyC;A9C6wKjD;;A8CpxKE;EAWM,W3CPO;E2CQP,yB5BgF0D;E4B/E1D,qB5B+E0D;AlB8rKlE;;A8C1xKE;EACE,c5B2F8D;E4B1F9D,yB5B0F8D;AlBmsKlE;;AKlxKE;EyCPM,c5BsF0D;E4BrF1D,yBAAyC;A9C6xKjD;;A8CpyKE;EAWM,W3CPO;E2CQP,yB5BgF0D;E4B/E1D,qB5B+E0D;AlB8sKlE;;A8C1yKE;EACE,c5B2F8D;E4B1F9D,yB5B0F8D;AlBmtKlE;;AKlyKE;EyCPM,c5BsF0D;E4BrF1D,yBAAyC;A9C6yKjD;;A8CpzKE;EAWM,W3CPO;E2CQP,yB5BgF0D;E4B/E1D,qB5B+E0D;AlB8tKlE;;A8C1zKE;EACE,c5B2F8D;E4B1F9D,yB5B0F8D;AlBmuKlE;;AKlzKE;EyCPM,c5BsF0D;E4BrF1D,yBAAyC;A9C6zKjD;;A8Cp0KE;EAWM,W3CPO;E2CQP,yB5BgF0D;E4B/E1D,qB5B+E0D;AlB8uKlE;;A8C10KE;EACE,c5B2F8D;E4B1F9D,yB5B0F8D;AlBmvKlE;;AKl0KE;EyCPM,c5BsF0D;E4BrF1D,yBAAyC;A9C60KjD;;A8Cp1KE;EAWM,W3CPO;E2CQP,yB5BgF0D;E4B/E1D,qB5B+E0D;AlB8vKlE;;A+C71KA;EACE,YAAY;E3C8HR,iBAtCY;E2CtFhB,gB5CiS+B;E4ChS/B,cAAc;EACd,W5CYa;E4CXb,yB5CCa;E4CAb,WAAW;A/Cg2Kb;;AK31KE;E0CDE,W5CMW;E4CLX,qBAAqB;A/Cg2KzB;;AK51KE;E0CCI,YAAY;A/C+1KlB;;A+Cp1KA;EACE,UAAU;EACV,6BAA6B;EAC7B,SAAS;EACT,wBAAgB;EAAhB,qBAAgB;EAAhB,gBAAgB;A/Cu1KlB;;A+Cj1KA;EACE,oBAAoB;A/Co1KtB;;AgD33KA;EACE,gB7Cy4BuC;E6Cx4BvC,gBAAgB;E5C6HZ,mBAtCY;E4CpFhB,2C7CEa;E6CDb,4BAA4B;EAC5B,oC7C04BmD;E6Cz4BnD,gD7CSa;E6CRb,mCAA2B;EAA3B,2BAA2B;EAC3B,UAAU;EtCLR,sB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Na;EiDOb,4BAA4B;EAC5B,oCjDEa;EOZX,qBP8O+B;AH+gLnC;;AoDlwLA;EAoBI,kBAAkB;EAClB,cAAc;EACd,WjD22BoC;EiD12BpC,cjD22BqC;EiD12BrC,gBjD2N+B;AHuhLnC;;AoD1wLA;EA4BM,kBAAkB;EAClB,cAAc;EACd,WAAW;EACX,yBAAyB;EACzB,mBAAmB;ApDkvLzB;;AoD7uLA;EACE,qBjD41BuC;AHo5JzC;;AoDjvLA;EAII,2BlC2F4D;AlBspLhE;;AoDrvLA;EAOM,SAAS;EACT,6BAAgE;EAChE,qCjDu1BiE;AH25JvE;;AoD3vLA;EAaM,WjD6L2B;EiD5L3B,6BAAgE;EAChE,sBjD7CS;AH+xLf;;AoD7uLA;EACE,mBjDw0BuC;AHw6JzC;;AoDjvLA;EAII,yBlCuE4D;EkCtE5D,ajDo0BqC;EiDn0BrC,YjDk0BoC;EiDj0BpC,gBAAgC;ApDivLpC;;AoDxvLA;EAUM,OAAO;EACP,oCAA2F;EAC3F,uCjDg0BiE;AHk7JvE;;AoD9vLA;EAgBM,SjDsK2B;EiDrK3B,oCAA2F;EAC3F,wBjDpES;AHszLf;;AoD7uLA;EACE,kBjDizBuC;AH+7JzC;;AoDjvLA;EAII,wBlCgD4D;AlBisLhE;;AoDrvLA;EAOM,MAAM;EACN,oCAA2F;EAC3F,wCjD4yBiE;AHs8JvE;;AoD3vLA;EAaM,QjDkJ2B;EiDjJ3B,oCAA2F;EAC3F,yBjDxFS;AH00Lf;;AoDjwLA;EAqBI,kBAAkB;EAClB,MAAM;EACN,SAAS;EACT,cAAc;EACd,WjDwxBoC;EiDvxBpC,oBAAsC;EACtC,WAAW;EACX,gCjD4wBuD;AHo+J3D;;AoD5uLA;EACE,oBjDixBuC;AH89JzC;;AoDhvLA;EAII,0BlCgB4D;EkCf5D,ajD6wBqC;EiD5wBrC,YjD2wBoC;EiD1wBpC,gBAAgC;ApDgvLpC;;AoDvvLA;EAUM,QAAQ;EACR,oCjDuwBmC;EiDtwBnC,sCjDywBiE;AHw+JvE;;AoD7vLA;EAgBM,UjD+G2B;EiD9G3B,oCjDiwBmC;EiDhwBnC,uBjD3HS;AH42Lf;;AoD3tLA;EACE,uBjDkuBwC;EiDjuBxC,gBAAgB;Eh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ACE,WpD4hC4B;EoD3hC5B,YpD2hC4B;AHkiK9B;;AwDhnMA;EAAqB,mCAAmC;AxDonMxD;;AwDnnMA;EAAqB,8BAA8B;AxDunMnD;;AwDtnMA;EAAqB,iCAAiC;AxD0nMtD;;AwDznMA;EAAqB,iCAAiC;AxD6nMtD;;AwD5nMA;EAAqB,sCAAsC;AxDgoM3D;;AwD/nMA;EAAqB,mCAAmC;AxDmoMxD;;AyDroME;EACE,oCAAmC;AzDwoMvC;;AK9nME;;;EoDLI,oCAAgD;AzDyoMtD;;AyD/oME;EACE,oCAAmC;AzDkpMvC;;AKxoME;;;EoDLI,oCAAgD;AzDmpMtD;;AyDzpME;EACE,oCAAmC;AzD4pMvC;;AKlpME;;;EoDLI,oCAAgD;AzD6pMtD;;AyDnqME;EACE,oCAAmC;AzDsqMvC;;AK5pME;;;EoDLI,oCAAgD;AzDuqMtD;;AyD7qME;EACE,oCAAmC;AzDgrMvC;;AKtqME;;;EoDLI,oCAAgD;AzDirMtD;;AyDvrME;EACE,oCAAmC;AzD0rMvC;;AKhrME;;;EoDLI,oCAAgD;AzD2rMtD;;AyDjsME;EACE,oCAAmC;AzDosMvC;;AK1rME;;;EoDLI,oCAAgD;AzDqsMtD;;AyD3sME;EACE,oCAAmC;AzD8sMvC;;AKpsME;;;EoDLI,oCAAgD;AzD+sMtD;;A0D9sMA;EACE,iCAAmC;A1DitMrC;;A0D9sMA;EACE,wCAAwC;A1DitM1C;;A2D5tMA;EAAkB,oCAAoD;A3DguMtE;;A2D/tMA;EAAkB,wCAAwD;A3DmuM1E;;A2DluMA;EAAkB,0CAA0D;A3DsuM5E;;A2DruMA;EAAkB,2CAA2D;A3DyuM7E;;A2DxuMA;EAAkB,yCAAyD;A3D4uM3E;;A2D1uMA;EAAmB,oBAAoB;A3D8uMvC;;A2D7uMA;EAAmB,wBAAwB;A3DivM3C;;A2DhvMA;EAAmB,0BAA0B;A3DovM7C;;A2DnvMA;EAAmB,2BAA2B;A3DuvM9C;;A2DtvMA;EAAmB,yBAAyB;A3D0vM5C;;A2DvvME;EACE,gCAA+B;A3D0vMnC;;A2D3vME;EACE,gCAA+B;A3D8vMnC;;A2D/vME;EACE,gCAA+B;A3DkwMnC;;A2DnwME;EACE,gCAA+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zpNI;EAAgC,8BAA8B;A9D6pNlE;;AcjpNI;EgDlDA;IAAgC,8BAA8B;E9DwsNhE;E8DvsNE;IAAgC,iCAAiC;E9D0sNnE;E8DzsNE;IAAgC,sCAAsC;E9D4sNxE;E8D3sNE;IAAgC,yCAAyC;E9D8sN3E;E8D5sNE;IAA8B,0BAA0B;E9D+sN1D;E8D9sNE;IAA8B,4BAA4B;E9DitN5D;E8DhtNE;IAA8B,kCAAkC;E9DmtNlE;E8DltNE;IAA8B,yBAAyB;E9DqtNzD;E8DptNE;IAA8B,uBAAuB;E9DutNvD;E8DttNE;IAA8B,uBAAuB;E9DytNvD;E8DxtNE;IAA8B,yBAAyB;E9D2tNzD;E8D1tNE;IAA8B,yBAAyB;E9D6tNzD;E8D3tNE;IAAoC,sCAAsC;E9D8tN5E;E8D7tNE;IAAoC,oCAAoC;E9DguN1E;E8D/tNE;IAAoC,kCAAkC;E9DkuNxE;E8DjuNE;IAAoC,yCAAyC;E9DouN/E;E8DnuNE;IAAoC,wCAAwC;E9DsuN9E;E8DpuNE;IAAiC,kCAAkC;E9DuuNrE;E8DtuNE;IAAiC,gCAAgC;E9DyuNnE;E8DxuNE;IAAiC,8BAA8B;E9D2uNjE;E8D1uNE;IAAiC,gCAAgC;E9D6uNnE;E8D5uNE;IAAiC,+BAA+B;E9D+uNlE;E8D7uNE;IAAkC,oCAAoC;E9DgvNxE;E8D/uNE;IAAkC,kCAAkC;E9DkvNtE;E8DjvNE;IAAkC,gCAAgC;E9DovNpE;E8DnvNE;IAAkC,uCAAuC;E9DsvN3E;E8DrvNE;IAAkC,sCAAsC;E9DwvN1E;E8DvvNE;IAAkC,iCAAiC;E9D0vNrE;E8DxvNE;IAAgC,2BAA2B;E9D2vN7D;E8D1vNE;IAAgC,iCAAiC;E9D6vNnE;E8D5vNE;IAAgC,+BAA+B;E9D+vNjE;E8D9vNE;IAAgC,6BAA6B;E9DiwN/D;E8DhwNE;IAAgC,+BAA+B;E9DmwNjE;E8DlwNE;IAAgC,8BAA8B;E9DqwNhE;AACF;;Ac1vNI;EgDlDA;IAAgC,8BAA8B;E9DizNhE;E8DhzNE;IAAgC,iCAAiC;E9DmzNnE;E8DlzNE;IAAgC,sCAAsC;E9DqzNxE;E8DpzNE;IAAgC,yCAAyC;E9DuzN3E;E8DrzNE;IAA8B,0BAA0B;E9DwzN1D;E8DvzNE;IAA8B,4BAA4B;E9D0zN5D;E8DzzNE;IAA8B,kCAAkC;E9D4zNlE;E8D3zNE;IAA8B,yBAAyB;E9D8zNzD;E8D7zNE;IAA8B,uBAAuB;E9Dg0NvD;E8D/zNE;IAA8B,uBAAuB;E9Dk0NvD;E8Dj0NE;IAA8B,yBAAyB;E9Do0NzD;E8Dn0NE;IAA8B,yBAAyB;E9Ds0NzD;E8Dp0NE;IAAoC,sCAAsC;E9Du0N5E;E8Dt0NE;IAAoC,oCAAoC;E9Dy0N1E;E8Dx0NE;IAAoC,kCAAkC;E9D20NxE;E8D10NE;IAAoC,yCAAyC;E9D60N/E;E8D50NE;IAAoC,wCAAwC;E9D+0N9E;E8D70NE;IAAiC,kCAAkC;E9Dg1NrE;E8D/0NE;IAAiC,gCAAgC;E9Dk1NnE;E8Dj1NE;IAAiC,8BAA8B;E9Do1NjE;E8Dn1NE;IAAiC,gCAAgC;E9Ds1NnE;E8Dr1NE;IAAiC,+BAA+B;E9Dw1NlE;E8Dt1NE;IAAkC,oCAAoC;E9Dy1NxE;E8Dx1NE;IAAkC,kCAAkC;E9D21NtE;E8D11NE;IAAkC,gCAAgC;E9D61NpE;E8D51NE;IAAkC,uCAAuC;E9D+1N3E;E8D91NE;IAAkC,sCAAsC;E9Di2N1E;E8Dh2NE;IAAkC,iCAAiC;E9Dm2NrE;E8Dj2NE;IAAgC,2BAA2B;E9Do2N7D;E8Dn2NE;IAAgC,iCAAiC;E9Ds2NnE;E8Dr2NE;IAAgC,+BAA+B;E9Dw2NjE;E8Dv2NE;IAAgC,6BAA6B;E9D02N/D;E8Dz2NE;IAAgC,+BAA+B;E9D42NjE;E8D32NE;IAAgC,8BAA8B;E9D82NhE;AACF;;Acn2NI;EgDlDA;IAAgC,8BAA8B;E9D05NhE;E8Dz5NE;IAAgC,iCAAiC;E9D45NnE;E8D35NE;IAAgC,sCAAsC;E9D85NxE;E8D75NE;IAAgC,yCAAyC;E9Dg6N3E;E8D95NE;IAA8B,0BAA0B;E9Di6N1D;E8Dh6NE;IAA8B,4BAA4B;E9Dm6N5D;E8Dl6NE;IAA8B,kCAAkC;E9Dq6NlE;E8Dp6NE;IAA8B,yBAAyB;E9Du6NzD;E8Dt6NE;IAA8B,uBAAuB;E9Dy6NvD;E8Dx6NE;IAA8B,uBAAuB;E9D26NvD;E8D16NE;IAA8B,yBAAyB;E9D66NzD;E8D56NE;IAA8B,yBAAyB;E9D+6NzD;E8D76NE;IAAoC,sCAAsC;E9Dg7N5E;E8D/6NE;IAAoC,oCAAoC;E9Dk7N1E;E8Dj7NE;IAAoC,kCAAkC;E9Do7NxE;E8Dn7NE;IAAoC,yCAAyC;E9Ds7N/E;E8Dr7NE;IAAoC,wCAAwC;E9Dw7N9E;E8Dt7NE;IAAiC,kCAAkC;E9Dy7NrE;E8Dx7NE;IAAiC,gCAAgC;E9D27NnE;E8D17NE;IAAiC,8BAA8B;E9D67NjE;E8D57NE;IAAiC,gCAAgC;E9D+7NnE;E8D97NE;IAAiC,+BAA+B;E9Di8NlE;E8D/7NE;IAAkC,oCAAoC;E9Dk8NxE;E8Dj8NE;IAAkC,kCAAkC;E9Do8NtE;E8Dn8NE;IAAkC,gCAAgC;E9Ds8NpE;E8Dr8NE;IAAkC,uCAAuC;E9Dw8N3E;E8Dv8NE;IAAkC,sCAAsC;E9D08N1E;E8Dz8NE;IAAkC,iCAAiC;E9D48NrE;E8D18NE;IAAgC,2BAA2B;E9D68N7D;E8D58NE;IAAgC,iCAAiC;E9D+8NnE;E8D98NE;IAAgC,+BAA+B;E9Di9NjE;E8Dh9NE;IAAgC,6BAA6B;E9Dm9N/D;E8Dl9NE;IAAgC,+BAA+B;E9Dq9NjE;E8Dp9NE;IAAgC,8BAA8B;E9Du9NhE;AACF;;Ac58NI;EgDlDA;IAAgC,8BAA8B;E9DmgOhE;E8DlgOE;IAAgC,iCAAiC;E9DqgOnE;E8DpgOE;IAAgC,sCAAsC;E9DugOxE;E8DtgOE;IAAgC,yCAAyC;E9DygO3E;E8DvgOE;IAA8B,0BAA0B;E9D0gO1D;E8DzgOE;IAA8B,4BAA4B;E9D4gO5D;E8D3gOE;IAA8B,kCAAkC;E9D8gOlE;E8D7gOE;IAA8B,yBAAyB;E9DghOzD;E8D/gOE;IAA8B,uBAAuB;E9DkhOvD;E8DjhOE;IAA8B,uBAAuB;E9DohOvD;E8DnhOE;IAA8B,yBAAyB;E9DshOzD;E8DrhOE;IAA8B,yBAAyB;E9DwhOzD;E8DthOE;IAAoC,sCAAsC;E9DyhO5E;E8DxhOE;IAAoC,oCAAoC;E9D2hO1E;E8D1hOE;IAAoC,kCAAkC;E9D6hOxE;E8D5hOE;IAAoC,yCAAyC;E9D+hO/E;E8D9hOE;IAAoC,wCAAwC;E9DiiO9E;E8D/hOE;IAAiC,kCAAkC;E9DkiOrE;E8DjiOE;IAAiC,gCAAgC;E9DoiOnE;E8DniOE;IAAiC,8BAA8B;E9DsiOjE;E8DriOE;IAAiC,gCAAgC;E9DwiOnE;E8DviOE;IAAiC,+BAA+B;E9D0iOlE;E8DxiOE;IAAkC,oCAAoC;E9D2iOxE;E8D1iOE;IAAkC,kCAAkC;E9D6iOtE;E8D5iOE;IAAkC,gCAAgC;E9D+iOpE;E8D9iOE;IAAkC,uCAAuC;E9DijO3E;E8DhjOE;IAAkC,sCAAsC;E9DmjO1E;E8DljOE;IAAkC,iCAAiC;E9DqjOrE;E8DnjOE;IAAgC,2BAA2B;E9DsjO7D;E8DrjOE;IAAgC,iCAAiC;E9DwjOnE;E8DvjOE;IAAgC,+BAA+B;E9D0jOjE;E8DzjOE;IAAgC,6BAA6B;E9D4jO/D;E8D3jOE;IAAgC,+BAA+B;E9D8jOjE;E8D7jOE;IAAgC,8BAA8B;E9DgkOhE;AACF;;A+D3mOI;EAAwB,sBAAsB;A/D+mOlD;;A+D9mOI;EAAwB,uBAAuB;A/DknOnD;;A+DjnOI;EAAwB,sBAAsB;A/DqnOlD;;AcjkOI;EiDtDA;IAAwB,sBAAsB;E/D4nOhD;E+D3nOE;IAAwB,uBAAuB;E/D8nOjD;E+D7nOE;IAAwB,sBAAsB;E/DgoOhD;AACF;;Ac7kOI;EiDtDA;IAAwB,sBAAsB;E/DwoOhD;E+DvoOE;IAAwB,uBAAuB;E/D0oOjD;E+DzoOE;IAAwB,sBAAsB;E/D4oOhD;AACF;;AczlOI;EiDtDA;IAAwB,sBAAsB;E/DopOhD;E+DnpOE;IAAwB,uBAAuB;E/DspOjD;E+DrpOE;IAAwB,sBAAsB;E/DwpOhD;AACF;;AcrmOI;EiDtDA;IAAwB,sBAAsB;E/DgqOhD;E+D/pOE;IAAwB,uBAAuB;E/DkqOjD;E+DjqOE;IAAwB,sBAAsB;E/DoqOhD;AACF;;AgE1qOE;EAAsB,yBAA2B;AhE8qOnD;;AgE9qOE;EAAsB,2BAA2B;AhEkrOnD;;AiEjrOE;EAAyB,2BAA8B;AjEqrOzD;;AiErrOE;EAAyB,6BAA8B;AjEyrOzD;;AiEzrOE;EAAyB,6BAA8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iCAAwC;AvEu/OlD;;AuEr/OQ;;EAEE,kCAA0C;AvEw/OpD;;AuEt/OQ;;EAEE,gCAAsC;AvEy/OhD;;AuExgPQ;EAAgC,0BAA4B;AvE4gPpE;;AuE3gPQ;;EAEE,8BAAoC;AvE8gP9C;;AuE5gPQ;;EAEE,gCAAwC;AvE+gPlD;;AuE7gPQ;;EAEE,iCAA0C;AvEghPpD;;AuE9gPQ;;EAEE,+BAAsC;AvEihPhD;;AuEhiPQ;EAAgC,wBAA4B;AvEoiPpE;;AuEniPQ;;EAEE,4BAAoC;AvEsiP9C;;AuEpiPQ;;EAEE,8BAAwC;AvEuiPlD;;AuEriPQ;;EAEE,+BAA0C;AvEwiPpD;;AuEtiPQ;;EAEE,6BAAsC;AvEyiPhD;;AuExjPQ;EAAgC,0BAA4B;AvE4jPpE;;AuE3jPQ;;EAEE,8BAAoC;AvE8jP9C;;AuE5jPQ;;EAEE,gCAAwC;AvE+jPlD;;AuE7jPQ;;EAEE,iCAA0C;AvEgkPpD;;AuE9jPQ;;EAEE,+BAAsC;AvEikPhD;;AuEhlPQ;EAAgC,wBAA4B;AvEolPpE;;AuEnlPQ;;EAEE,4BAAoC;AvEslP9C;;AuEplPQ;;EAEE,8BAAwC;AvEulPlD;;AuErlPQ;;EAEE,+BAA0C;AvEwlPpD;;AuEtlPQ;;EAEE,6BAAsC;AvEylPhD;;AuEjlPQ;EAAwB,2BAA2B;AvEqlP3D;;AuEplPQ;;EAEE,+BAA+B;AvEulPzC;;AuErlPQ;;EAEE,iCAAiC;AvEwlP3C;;AuEtlPQ;;EAEE,kCAAkC;AvEylP5C;;AuEvlPQ;;EAEE,gCAAgC;AvE0lP1C;;AuEzmPQ;EAAwB,0BAA2B;AvE6mP3D;;AuE5mPQ;;EAEE,8BAA+B;AvE+mPzC;;AuE7mPQ;;EAEE,gCAAiC;AvEgnP3C;;AuE9mPQ;;EAEE,iCAAkC;AvEinP5C;;AuE/mPQ;;EAEE,+BAAgC;AvEknP1C;;AuEjoPQ;EAAwB,wBAA2B;AvEqoP3D;;AuEpoPQ;;EAEE,4BAA+B;AvEuoPzC;;AuEroPQ;;EAEE,8BAAiC;AvEwoP3C;;AuEtoPQ;;EAEE,+BAAkC;AvEyoP5C;;AuEvoPQ;;EAEE,6BAAgC;AvE0oP1C;;AuEzpPQ;EAAwB,0BAA2B;AvE6pP3D;;AuE5pPQ;;EAEE,8BAA+B;AvE+pPzC;;AuE7pPQ;;EAEE,gCAAiC;AvEgqP3C;;AuE9pPQ;;EAEE,iCAAkC;AvEiqP5C;;AuE/pPQ;;EAEE,+BAAgC;AvEkqP1C;;AuEjrPQ;EAAwB,wBAA2B;AvEqrP3D;;AuEprPQ;;EAEE,4BAA+B;AvEurPzC;;AuErrPQ;;EAEE,8BAAiC;AvEwrP3C;;AuEtrPQ;;EAEE,+BAAkC;AvEyrP5C;;AuEvrPQ;;EAEE,6BAAgC;AvE0rP1C;;AuEprPI;EAAmB,uBAAuB;AvEwrP9C;;AuEvrPI;;EAEE,2BAA2B;AvE0rPjC;;AuExrPI;;EAEE,6BAA6B;AvE2rPnC;;AuEzrPI;;EAEE,8BAA8B;AvE4rPpC;;AuE1rPI;;EAEE,4BAA4B;AvE6rPlC;;ActsPI;EyDlDI;IAAgC,oBAA4B;EvE6vPlE;EuE5vPM;;IAEE,wBAAoC;EvE8vP5C;EuE5vPM;;IAEE,0BAAwC;EvE8vPhD;EuE5vPM;;IAEE,2BAA0C;EvE8vPlD;EuE5vPM;;IAEE,yBAAsC;EvE8vP9C;EuE7wPM;IAAgC,0BAA4B;EvEgxPlE;EuE/wPM;;IAEE,8BAAoC;EvEixP5C;EuE/wPM;;IAEE,gCAAwC;EvEixPhD;EuE/wPM;;IAEE,iCAA0C;EvEixPlD;EuE/wPM;;IAEE,+BAAsC;EvEixP9C;EuEhyPM;IAAgC,yBAA4B;EvEmyPlE;EuElyPM;;IAEE,6BAAoC;EvEoyP5C;EuElyPM;;IAEE,+BAAwC;EvEoyPhD;EuElyPM;;IAEE,gCAA0C;EvEoyPlD;EuElyPM;;IAEE,8BAAsC;EvEoyP9C;EuEnzPM;IAAgC,uBAA4B;EvEszPlE;EuErzPM;;IAEE,2BAAoC;EvEuzP5C;EuErzPM;;IAEE,6BAAwC;EvEuzPhD;EuErzPM;;IAEE,8BAA0C;EvEuzPlD;EuErzPM;;IAEE,4BAAsC;EvEuzP9C;EuEt0PM;IAAgC,yBAA4B;EvEy0PlE;EuEx0PM;;IAEE,6BAAoC;EvE00P5C;EuEx0PM;;IAEE,+BAAwC;EvE00PhD;EuEx0PM;;IAEE,gCAA0C;EvE00PlD;EuEx0PM;;IAEE,8BAAsC;EvE00P9C;EuEz1PM;IAAgC,uBAA4B;EvE41PlE;EuE31PM;;IAEE,2BAAoC;EvE61P5C;EuE31PM;;IAEE,6BAAwC;EvE61PhD;EuE31PM;;IAEE,8BAA0C;EvE61PlD;EuE31PM;;IAEE,4BAAsC;EvE61P9C;EuE52PM;IAAgC,qBAA4B;EvE+2PlE;EuE92PM;;IAEE,yBAAoC;EvEg3P5C;EuE92PM;;IAEE,2BAAwC;EvEg3PhD;EuE92PM;;IAEE,4BAA0C;EvEg3PlD;EuE92PM;;IAEE,0BAAsC;EvEg3P9C;EuE/3PM;IAAgC,2BAA4B;EvEk4PlE;EuEj4PM;;IAEE,+BAAoC;EvEm4P5C;EuEj4PM;;IAEE,iCAAwC;EvEm4PhD;EuEj4PM;;IAEE,kCAA0C;EvEm4PlD;EuEj4PM;;IAEE,gCAAsC;EvEm4P9C;EuEl5PM;IAAgC,0BAA4B;EvEq5PlE;EuEp5PM;;IAEE,8BAAoC;EvEs5P5C;EuEp5PM;;IAEE,gCAAwC;EvEs5PhD;EuEp5PM;;IAEE,iCAA0C;EvEs5PlD;EuEp5PM;;IAEE,+BAAsC;EvEs5P9C;EuEr6PM;IAAgC,wBAA4B;EvEw6PlE;EuEv6PM;;IAEE,4BAAoC;EvEy6P5C;EuEv6PM;;IAEE,8BAAwC;EvEy6PhD;EuEv6PM;;IAEE,+BAA0C;EvEy6PlD;EuEv6PM;;IAEE,6BAAsC;EvEy6P9C;EuEx7PM;IAAgC,0BAA4B;EvE27PlE;EuE17PM;;IAEE,8BAAoC;EvE47P5C;EuE17PM;;IAEE,gCAAwC;EvE47PhD;EuE17PM;;IAEE,iCAA0C;EvE47PlD;EuE17PM;;IAEE,+BAAsC;EvE47P9C;EuE38PM;IAAgC,wBAA4B;EvE88PlE;EuE78PM;;IAEE,4BAAoC;EvE+8P5C;EuE78PM;;IAEE,8BAAwC;EvE+8PhD;EuE78PM;;IAEE,+BAA0C;EvE+8PlD;EuE78PM;;IAEE,6BAAsC;EvE+8P9C;EuEv8PM;IAAwB,2BAA2B;EvE08PzD;EuEz8PM;;IAEE,+BAA+B;EvE28PvC;EuEz8PM;;IAEE,iCAAiC;EvE28PzC;EuEz8PM;;IAEE,kCAAkC;EvE28P1C;EuEz8PM;;IAEE,gCAAgC;EvE28PxC;EuE19PM;IAAwB,0BAA2B;EvE69PzD;EuE59PM;;IAEE,8BAA+B;EvE89PvC;EuE59PM;;IAEE,gCAAiC;EvE89PzC;EuE59PM;;IAEE,iCAAkC;EvE89P1C;EuE59PM;;IAEE,+BAAgC;EvE89PxC;EuE7+PM;IAAwB,wBAA2B;EvEg/PzD;EuE/+PM;;IAEE,4BAA+B;EvEi/PvC;EuE/+PM;;IAEE,8BAAiC;EvEi/PzC;EuE/+PM;;IAEE,+BAAkC;EvEi/P1C;EuE/+PM;;IAEE,6BAAgC;EvEi/PxC;EuEhgQM;IAAwB,0BAA2B;EvEmgQzD;EuElgQM;;IAEE,8BAA+B;EvEogQvC;EuElgQM;;IAEE,gCAAiC;EvEogQzC;EuElgQM;;IAEE,iCAAkC;EvEogQ1C;EuElgQM;;IAEE,+BAAgC;EvEogQxC;EuEnhQM;IAAwB,wBAA2B;EvEshQzD;EuErhQM;;IAEE,4BAA+B;EvEuhQvC;EuErhQM;;IAEE,8BAAiC;EvEuhQzC;EuErhQM;;IAEE,+BAAkC;EvEuhQ1C;EuErhQM;;IAEE,6BAAgC;EvEuhQxC;EuEjhQE;IAAmB,uBAAuB;EvEohQ5C;EuEnhQE;;IAEE,2BAA2B;EvEqhQ/B;EuEnhQE;;IAEE,6BAA6B;EvEqhQjC;EuEnhQE;;IAEE,8BAA8B;EvEqhQlC;EuEnhQE;;IAEE,4BAA4B;EvEqhQhC;AACF;;Ac/hQI;EyDlDI;IAAgC,oBAA4B;EvEslQlE;EuErlQM;;IAEE,wBAAoC;EvEulQ5C;EuErlQM;;IAEE,0BAAwC;EvEulQhD;EuErlQM;;IAEE,2BAA0C;EvEulQlD;EuErlQM;;IAEE,yBAAsC;EvEulQ9C;EuEtmQM;IAAgC,0BAA4B;EvEymQlE;EuExmQM;;IAEE,8BAAoC;EvE0mQ5C;EuExmQM;;IAEE,gCAAwC;EvE0mQhD;EuExmQM;;IAEE,iCAA0C;EvE0mQlD;EuExmQM;;IAEE,+BAAsC;EvE0mQ9C;EuEznQM;IAAgC,yBAA4B;EvE4nQlE;EuE3nQM;;IAEE,6BAAoC;EvE6nQ5C;EuE3nQM;;IAEE,+BAAwC;EvE6nQhD;EuE3nQM;;IAEE,gCAA0C;EvE6nQlD;EuE3nQM;;IAEE,8BAAsC;EvE6nQ9C;EuE5oQM;IAAgC,uBAA4B;EvE+oQlE;EuE9oQM;;IAEE,2BAAoC;EvEgpQ5C;EuE9oQM;;IAEE,6BAAwC;EvEgpQhD;EuE9oQM;;IAEE,8BAA0C;EvEgpQlD;EuE9oQM;;IAEE,4BAAsC;EvEgpQ9C;EuE/pQM;IAAgC,yBAA4B;EvEkqQlE;EuEjqQM;;IAEE,6BAAoC;EvEmqQ5C;EuEjqQM;;IAEE,+BAAwC;EvEmqQhD;EuEjqQM;;IAEE,gCAA0C;EvEmqQlD;EuEjqQM;;IAEE,8BAAsC;EvEmqQ9C;EuElrQM;IAAgC,uBAA4B;EvEqrQlE;EuEprQM;;IAEE,2BAAoC;EvEsrQ5C;EuEprQM;;IAEE,6BAAwC;EvEsrQhD;EuEprQM;;IAEE,8BAA0C;EvEsrQlD;EuEprQM;;IAEE,4BAAsC;EvEsrQ9C;EuErsQM;IAAgC,qBAA4B;EvEwsQlE;EuEvsQM;;IAEE,yBAAoC;EvEysQ5C;EuEvsQM;;IAEE,2BAAwC;EvEysQhD;EuEvsQM;;IAEE,4BAA0C;EvEysQlD;EuEvsQM;;IAEE,0BAAsC;EvEysQ9C;EuExtQM;IAAgC,2BAA4B;EvE2tQlE;EuE1tQM;;IAEE,+BAAoC;EvE4tQ5C;EuE1tQM;;IAEE,iCAAwC;EvE4tQhD;EuE1tQM;;IAEE,kCAA0C;EvE4tQlD;EuE1tQM;;IAEE,gCAAsC;EvE4tQ9C;EuE3uQM;IAAgC,0BAA4B;EvE8uQlE;EuE7uQM;;IAEE,8BAAoC;EvE+uQ5C;EuE7uQM;;IAEE,gCAAwC;EvE+uQhD;EuE7uQM;;IAEE,iCAA0C;EvE+uQlD;EuE7uQM;;IAEE,+BAAsC;EvE+uQ9C;EuE9vQM;IAAgC,wBAA4B;EvEiwQlE;EuEhwQM;;IAEE,4BAAoC;EvEkwQ5C;EuEhwQM;;IAEE,8BAAwC;EvEkwQhD;EuEhwQM;;IAEE,+BAA0C;EvEkwQlD;EuEhwQM;;IAEE,6BAAsC;EvEkwQ9C;EuEjxQM;IAAgC,0BAA4B;EvEoxQlE;EuEnxQM;;IAEE,8BAAoC;EvEqxQ5C;EuEnxQM;;IAEE,gCAAwC;EvEqxQhD;EuEnxQM;;IAEE,iCAA0C;EvEqxQlD;EuEnxQM;;IAEE,+BAAsC;EvEqxQ9C;EuEpyQM;IAAgC,wBAA4B;EvEuyQlE;EuEtyQM;;IAEE,4BAAoC;EvEwyQ5C;EuEtyQM;;IAEE,8BAAwC;EvEwyQhD;EuEtyQM;;IAEE,+BAA0C;EvEwyQlD;EuEtyQM;;IAEE,6BAAsC;EvEwyQ9C;EuEhyQM;IAAwB,2BAA2B;EvEmyQzD;EuElyQM;;IAEE,+BAA+B;EvEoyQvC;EuElyQM;;IAEE,iCAAiC;EvEoyQzC;EuElyQM;;IAEE,kCAAkC;EvEoyQ1C;EuElyQM;;IAEE,gCAAgC;EvEoyQxC;EuEnzQM;IAAwB,0BAA2B;EvEszQzD;EuErzQM;;IAEE,8BAA+B;EvEuzQvC;EuErzQM;;IAEE,gCAAiC;EvEuzQzC;EuErzQM;;IAEE,iCAAkC;EvEuzQ1C;EuErzQM;;IAEE,+BAAgC;EvEuzQxC;EuEt0QM;IAAwB,wBAA2B;EvEy0QzD;EuEx0QM;;IAEE,4BAA+B;EvE00QvC;EuEx0QM;;IAEE,8BAAiC;EvE00QzC;EuEx0QM;;IAEE,+BAAkC;EvE00Q1C;EuEx0QM;;IAEE,6BAAgC;EvE00QxC;EuEz1QM;IAAwB,0BAA2B;EvE41QzD;EuE31QM;;IAEE,8BAA+B;EvE61QvC;EuE31QM;;IAEE,gCAAiC;EvE61QzC;EuE31QM;;IAEE,iCAAkC;EvE61Q1C;EuE31QM;;IAEE,+BAAgC;EvE61QxC;EuE52QM;IAAwB,wBAA2B;EvE+2QzD;EuE92QM;;IAEE,4BAA+B;EvEg3QvC;EuE92QM;;IAEE,8BAAiC;EvEg3QzC;EuE92QM;;IAEE,+BAAkC;EvEg3Q1C;EuE92QM;;IAEE,6BAAgC;EvEg3QxC;EuE12QE;IAAmB,uBAAuB;EvE62Q5C;EuE52QE;;IAEE,2BAA2B;EvE82Q/B;EuE52QE;;IAEE,6BAA6B;EvE82QjC;EuE52QE;;IAEE,8BAA8B;EvE82QlC;EuE52QE;;IAEE,4BAA4B;EvE82QhC;AACF;;Acx3QI;EyDlDI;IAAgC,oBAA4B;EvE+6QlE;EuE96QM;;IAEE,wBAAoC;EvEg7Q5C;EuE96QM;;IAEE,0BAAwC;EvEg7QhD;EuE96QM;;IAEE,2BAA0C;EvEg7QlD;EuE96QM;;IAEE,yBAAsC;EvEg7Q9C;EuE/7QM;IAAgC,0BAA4B;EvEk8QlE;EuEj8QM;;IAEE,8BAAoC;EvEm8Q5C;EuEj8QM;;IAEE,gCAAwC;EvEm8QhD;EuEj8QM;;IAEE,iCAA0C;EvEm8QlD;EuEj8QM;;IAEE,+BAAsC;EvEm8Q9C;EuEl9QM;IAAgC,yBAA4B;EvEq9QlE;EuEp9QM;;IAEE,6BAAoC;EvEs9Q5C;EuEp9QM;;IAEE,+BAAwC;EvEs9QhD;EuEp9QM;;IAEE,gCAA0C;EvEs9QlD;EuEp9QM;;IAEE,8BAAsC;EvEs9Q9C;EuEr+QM;IAAgC,uBAA4B;EvEw+QlE;EuEv+QM;;IAEE,2BAAoC;EvEy+Q5C;EuEv+QM;;IAEE,6BAAwC;EvEy+QhD;EuEv+QM;;IAEE,8BAA0C;EvEy+QlD;EuEv+QM;;IAEE,4BAAsC;EvEy+Q9C;EuEx/QM;IAAgC,yBAA4B;EvE2/QlE;EuE1/QM;;IAEE,6BAAoC;EvE4/Q5C;EuE1/QM;;IAEE,+BAAwC;EvE4/QhD;EuE1/QM;;IAEE,gCAA0C;EvE4/QlD;EuE1/QM;;IAEE,8BAAsC;EvE4/Q9C;EuE3gRM;IAAgC,uBAA4B;EvE8gRlE;EuE7gRM;;IAEE,2BAAoC;EvE+gR5C;EuE7gRM;;IAEE,6BAAwC;EvE+gRhD;EuE7gRM;;IAEE,8BAA0C;EvE+gRlD;EuE7gRM;;IAEE,4BAAsC;EvE+gR9C;EuE9hRM;IAAgC,qBAA4B;EvEiiRlE;EuEhiRM;;IAEE,yBAAoC;EvEkiR5C;EuEhiRM;;IAEE,2BAAwC;EvEkiRhD;EuEhiRM;;IAEE,4BAA0C;EvEkiRlD;EuEhiRM;;IAEE,0BAAsC;EvEkiR9C;EuEjjRM;IAAgC,2BAA4B;EvEojRlE;EuEnjRM;;IAEE,+BAAoC;EvEqjR5C;EuEnjRM;;IAEE,iCAAwC;EvEqjRhD;EuEnjRM;;IAEE,kCAA0C;EvEqjRlD;EuEnjRM;;IAEE,gCAAsC;EvEqjR9C;EuEpkRM;IAAgC,0BAA4B;EvEukRlE;EuEtkRM;;IAEE,8BAAoC;EvEwkR5C;EuEtkRM;;IAEE,gCAAwC;EvEwkRhD;EuEtkRM;;IAEE,iCAA0C;EvEwkRlD;EuEtkRM;;IAEE,+BAAsC;EvEwkR9C;EuEvlRM;IAAgC,wBAA4B;EvE0lRlE;EuEzlRM;;IAEE,4BAAoC;EvE2lR5C;EuEzlRM;;IAEE,8BAAwC;EvE2lRhD;EuEzlRM;;IAEE,+BAA0C;EvE2lRlD;EuEzlRM;;IAEE,6BAAsC;EvE2lR9C;EuE1mRM;IAAgC,0BAA4B;EvE6mRlE;EuE5mRM;;IAEE,8BAAoC;EvE8mR5C;EuE5mRM;;IAEE,gCAAwC;EvE8mRhD;EuE5mRM;;IAEE,iCAA0C;EvE8mRlD;EuE5mRM;;IAEE,+BAAsC;EvE8mR9C;EuE7nRM;IAAgC,wBAA4B;EvEgoRlE;EuE/nRM;;IAEE,4BAAoC;EvEioR5C;EuE/nRM;;IAEE,8BAAwC;EvEioRhD;EuE/nRM;;IAEE,+BAA0C;EvEioRlD;EuE/nRM;;IAEE,6BAAsC;EvEioR9C;EuEznRM;IAAwB,2BAA2B;EvE4nRzD;EuE3nRM;;IAEE,+BAA+B;EvE6nRvC;EuE3nRM;;IAEE,iCAAiC;EvE6nRzC;EuE3nRM;;IAEE,kCAAkC;EvE6nR1C;EuE3nRM;;IAEE,gCAAgC;EvE6nRxC;EuE5oRM;IAAwB,0BAA2B;EvE+oRzD;EuE9oRM;;IAEE,8BAA+B;EvEgpRvC;EuE9oRM;;IAEE,gCAAiC;EvEgpRzC;EuE9oRM;;IAEE,iCAAkC;EvEgpR1C;EuE9oRM;;IAEE,+BAAgC;EvEgpRxC;EuE/pRM;IAAwB,wBAA2B;EvEkqRzD;EuEjqRM;;IAEE,4BAA+B;EvEmqRvC;EuEjqRM;;IAEE,8BAAiC;EvEmqRzC;EuEjqRM;;IAEE,+BAAkC;EvEmqR1C;EuEjqRM;;IAEE,6BAAgC;EvEmqRxC;EuElrRM;IAAwB,0BAA2B;EvEqrRzD;EuEprRM;;IAEE,8BAA+B;EvEsrRvC;EuEprRM;;IAEE,gCAAiC;EvEsrRzC;EuEprRM;;IAEE,iCAAkC;EvEsrR1C;EuEprRM;;IAEE,+BAAgC;EvEsrRxC;EuErsRM;IAAwB,wBAA2B;EvEwsRzD;EuEvsRM;;IAEE,4BAA+B;EvEysRvC;EuEvsRM;;IAEE,8BAAiC;EvEysRzC;EuEvsRM;;IAEE,+BAAkC;EvEysR1C;EuEvsRM;;IAEE,6BAAgC;EvEysRxC;EuEnsRE;IAAmB,uBAAuB;EvEssR5C;EuErsRE;;IAEE,2BAA2B;EvEusR/B;EuErsRE;;IAEE,6BAA6B;EvEusRjC;EuErsRE;;IAEE,8BAA8B;EvEusRlC;EuErsRE;;IAEE,4BAA4B;EvEusRhC;AACF;;AcjtRI;EyDlDI;IAAgC,oBAA4B;EvEwwRlE;EuEvwRM;;IAEE,wBAAoC;EvEywR5C;EuEvwRM;;IAEE,0BAAwC;EvEywRhD;EuEvwRM;;IAEE,2BAA0C;EvEywRlD;EuEvwRM;;IAEE,yBAAsC;EvEywR9C;EuExxRM;IAAgC,0BAA4B;EvE2xRlE;EuE1xRM;;IAEE,8BAAoC;EvE4xR5C;EuE1xRM;;IAEE,gCAAwC;EvE4xRhD;EuE1xRM;;IAEE,iCAA0C;EvE4xRlD;EuE1xRM;;IAEE,+BAAsC;EvE4xR9C;EuE3yRM;IAAgC,yBAA4B;EvE8yRlE;EuE7yRM;;IAEE,6BAAoC;EvE+yR5C;EuE7yRM;;IAEE,+BAAwC;EvE+yRhD;EuE7yRM;;IAEE,gCAA0C;EvE+yRlD;EuE7yRM;;IAEE,8BAAsC;EvE+yR9C;EuE9zRM;IAAgC,uBAA4B;EvEi0RlE;EuEh0RM;;IAEE,2BAAoC;EvEk0R5C;EuEh0RM;;IAEE,6BAAwC;EvEk0RhD;EuEh0RM;;IAEE,8BAA0C;EvEk0RlD;EuEh0RM;;IAEE,4BAAsC;EvEk0R9C;EuEj1RM;IAAgC,yBAA4B;EvEo1RlE;EuEn1RM;;IAEE,6BAAoC;EvEq1R5C;EuEn1RM;;IAEE,+BAAwC;EvEq1RhD;EuEn1RM;;IAEE,gCAA0C;EvEq1RlD;EuEn1RM;;IAEE,8BAAsC;EvEq1R9C;EuEp2RM;IAAgC,uBAA4B;EvEu2RlE;EuEt2RM;;IAEE,2BAAoC;EvEw2R5C;EuEt2RM;;IAEE,6BAAwC;EvEw2RhD;EuEt2RM;;IAEE,8BAA0C;EvEw2RlD;EuEt2RM;;IAEE,4BAAsC;EvEw2R9C;EuEv3RM;IAAgC,qBAA4B;EvE03RlE;EuEz3RM;;IAEE,yBAAoC;EvE23R5C;EuEz3RM;;IAEE,2BAAwC;EvE23RhD;EuEz3RM;;IAEE,4BAA0C;EvE23RlD;EuEz3RM;;IAEE,0BAAsC;EvE23R9C;EuE14RM;IAAgC,2BAA4B;EvE64RlE;EuE54RM;;IAEE,+BAAoC;EvE84R5C;EuE54RM;;IAEE,iCAAwC;EvE84RhD;EuE54RM;;IAEE,kCAA0C;EvE84RlD;EuE54RM;;IAEE,gCAAsC;EvE84R9C;EuE75RM;IAAgC,0BAA4B;EvEg6RlE;EuE/5RM;;IAEE,8BAAoC;EvEi6R5C;EuE/5RM;;IAEE,gCAAwC;EvEi6RhD;EuE/5RM;;IAEE,iCAA0C;EvEi6RlD;EuE/5RM;;IAEE,+BAAsC;EvEi6R9C;EuEh7RM;IAAgC,wBAA4B;EvEm7RlE;EuEl7RM;;IAEE,4BAAoC;EvEo7R5C;EuEl7RM;;IAEE,8BAAwC;EvEo7RhD;EuEl7RM;;IAEE,+BAA0C;EvEo7RlD;EuEl7RM;;IAEE,6BAAsC;EvEo7R9C;EuEn8RM;IAAgC,0BAA4B;EvEs8RlE;EuEr8RM;;IAEE,8BAAoC;EvEu8R5C;EuEr8RM;;IAEE,gCAAwC;EvEu8RhD;EuEr8RM;;IAEE,iCAA0C;EvEu8RlD;EuEr8RM;;IAEE,+BAAsC;EvEu8R9C;EuEt9RM;IAAgC,wBAA4B;EvEy9RlE;EuEx9RM;;IAEE,4BAAoC;EvE09R5C;EuEx9RM;;IAEE,8BAAwC;EvE09RhD;EuEx9RM;;IAEE,+BAA0C;EvE09RlD;EuEx9RM;;IAEE,6BAAsC;EvE09R9C;EuEl9RM;IAAwB,2BAA2B;EvEq9RzD;EuEp9RM;;IAEE,+BAA+B;EvEs9RvC;EuEp9RM;;IAEE,iCAAiC;EvEs9RzC;EuEp9RM;;IAEE,kCAAkC;EvEs9R1C;EuEp9RM;;IAEE,gCAAgC;EvEs9RxC;EuEr+RM;IAAwB,0BAA2B;EvEw+RzD;EuEv+RM;;IAEE,8BAA+B;EvEy+RvC;EuEv+RM;;IAEE,gCAAiC;EvEy+RzC;EuEv+RM;;IAEE,iCAAkC;EvEy+R1C;EuEv+RM;;IAEE,+BAAgC;EvEy+RxC;EuEx/RM;IAAwB,wBAA2B;EvE2/RzD;EuE1/RM;;IAEE,4BAA+B;EvE4/RvC;EuE1/RM;;IAEE,8BAAiC;EvE4/RzC;EuE1/RM;;IAEE,+BAAkC;EvE4/R1C;EuE1/RM;;IAEE,6BAAgC;EvE4/RxC;EuE3gSM;IAAwB,0BAA2B;EvE8gSzD;EuE7gSM;;IAEE,8BAA+B;EvE+gSvC;EuE7gSM;;IAEE,gCAAiC;EvE+gSzC;EuE7gSM;;IAEE,iCAAkC;EvE+gS1C;EuE7gSM;;IAEE,+BAAgC;EvE+gSxC;EuE9hSM;IAAwB,wBAA2B;EvEiiSzD;EuEhiSM;;IAEE,4BAA+B;EvEkiSvC;EuEhiSM;;IAEE,8BAAiC;EvEkiSzC;EuEhiSM;;IAEE,+BAAkC;EvEkiS1C;EuEhiSM;;IAEE,6BAAgC;EvEkiSxC;EuE5hSE;IAAmB,uBAAuB;EvE+hS5C;EuE9hSE;;IAEE,2BAA2B;EvEgiS/B;EuE9hSE;;IAEE,6BAA6B;EvEgiSjC;EuE9hSE;;IAEE,8BAA8B;EvEgiSlC;EuE9hSE;;IAEE,4BAA4B;EvEgiShC;AACF;;AwEhmSA;EAAkB,4GAA8C;AxEomShE;;AwEhmSA;EAAiB,8BAA8B;AxEomS/C;;AwEnmSA;EAAiB,8BAA8B;AxEumS/C;;AwEtmSA;EAAiB,8BAA8B;AxE0mS/C;;AwEzmSA;ECTE,gBAAgB;EAChB,uBAAuB;EACvB,mBAAmB;AzEsnSrB;;AwEvmSI;EAAwB,2BAA2B;AxE2mSvD;;AwE1mSI;EAAwB,4BAA4B;AxE8mSxD;;AwE7mSI;EAAwB,6BAA6B;AxEinSzD;;Ac5kSI;E0DvCA;IAAwB,2BAA2B;ExEwnSrD;EwEvnSE;IAAwB,4BAA4B;ExE0nStD;EwEznSE;IAAwB,6BAA6B;ExE4nSvD;AACF;;AcxlSI;E0DvCA;IAAwB,2BAA2B;ExEooSrD;EwEnoSE;IAAwB,4BAA4B;ExEsoStD;EwEroSE;IAAwB,6BAA6B;ExEwoSvD;AACF;;AcpmSI;E0DvCA;IAAwB,2BAA2B;ExEgpSrD;EwE/oSE;IAAwB,4BAA4B;ExEkpStD;EwEjpSE;IAAwB,6BAA6B;ExEopSvD;AACF;;AchnSI;E0DvCA;IAAwB,2BAA2B;ExE4pSrD;EwE3pSE;IAAwB,4BAA4B;ExE8pStD;EwE7pSE;IAAwB,6BAA6B;ExEgqSvD;AACF;;AwE3pSA;EAAmB,oCAAoC;AxE+pSvD;;AwE9pSA;EAAmB,oCAAoC;AxEkqSvD;;AwEjqSA;EAAmB,qCAAqC;AxEqqSxD;;AwEjqSA;EAAuB,2BAA0C;AxEqqSjE;;AwEpqSA;EAAuB,+BAA4C;AxEwqSnE;;AwEvqSA;EAAuB,2BAA2C;AxE2qSlE;;AwE1qSA;EAAuB,2BAAyC;AxE8qShE;;AwE7qSA;EAAuB,8BAA2C;AxEirSlE;;AwEhrSA;EAAuB,6BAA6B;AxEorSpD;;AwEhrSA;EAAc,sBAAwB;AxEorStC;;A0E3tSE;EACE,yBAAwB;A1E8tS5B;;AKptSE;EqELM,yBAA0E;A1E6tSlF;;A0EnuSE;EACE,yBAAwB;A1EsuS5B;;AK5tSE;EqELM,yBAA0E;A1EquSlF;;A0E3uSE;EACE,yBAAwB;A1E8uS5B;;AKpuSE;EqELM,yBAA0E;A1E6uSlF;;A0EnvSE;EACE,yBAAwB;A1EsvS5B;;AK5uSE;EqELM,yBAA0E;A1EqvSlF;;A0E3vSE;EACE,yBAAwB;A1E8vS5B;;AKpvSE;EqELM,yBAA0E;A1E6vSlF;;A0EnwSE;EACE,yBAAwB;A1EswS5B;;AK5vSE;EqELM,yBAA0E;A1EqwSlF;;A0E3wSE;EACE,yBAAwB;A1E8wS5B;;AKpwSE;EqELM,yBAA0E;A1E6wSlF;;A0EnxSE;EACE,yBAAwB;A1EsxS5B;;AK5wSE;EqELM,yBAA0E;A1EqxSlF;;AwE9uSA;EAAa,yBAA6B;AxEkvS1C;;AwEjvSA;EAAc,yBAA6B;AxEqvS3C;;AwEnvSA;EAAiB,oCAAkC;AxEuvSnD;;AwEtvSA;EAAiB,0CAAkC;AxE0vSnD;;AwEtvSA;EGvDE,WAAW;EACX,kBAAkB;EAClB,iBAAiB;EACjB,6BAA6B;EAC7B,SAAS;A3EizSX;;AwE1vSA;EAAwB,gCAAgC;AxE8vSxD;;AwE5vSA;EACE,iCAAiC;EACjC,oCAAoC;AxE+vStC;;AwE1vSA;EAAc,yBAAyB;AxE8vSvC;;A4E/zSA;EACE,8BAA8B;A5Ek0ShC;;A4E/zSA;EACE,6BAA6B;A5Ek0S/B;;A6El0SE;E3EOF;;;I2EDM,4BAA4B;IAE5B,2BAA2B;E7Ek0S/B;E6E/zSE;IAEI,0BAA0B;E7Eg0ShC;E6EvzSE;IACE,6BAA6B;E7EyzSjC;EE3nSF;I2E/KM,gCAAgC;E7E6ySpC;E6E3ySE;;IAEE,yB1EzCY;I0E0CZ,wBAAwB;E7E6yS5B;E6ErySE;IACE,2BAA2B;E7EuyS/B;E6EpySE;;IAEE,wBAAwB;E7EsyS5B;E6EnySE;;;IAGE,UAAU;IACV,SAAS;E7EqySb;E6ElySE;;IAEE,uBAAuB;E7EoyS3B;E6E5xSE;IACE,Q1E4hCgC;EHkwQpC;EE10SF;I2E+CM,2BAA2C;E7E8xS/C;EYp3SA;IiEyFI,2BAA2C;E7E8xS/C;EiC52SF;I4CmFM,aAAa;E7E4xSjB;EsC33SF;IuCkGM,sB1EtFS;EHk3Sb;EgB/3SF;I6DuGM,oCAAoC;E7E2xSxC;E6E5xSE;;IAKI,iCAAmC;E7E2xSzC;EgB91SF;;I6D0EQ,oCAAsC;E7EwxS5C;EgB7wSF;I6DNM,cAAc;E7EsxSlB;EiB54SA;;;;I4D4HM,qB1EvHU;EH64ShB;EgBxySF;I6DuBM,cAAc;IACd,qB1E7HY;EHi5ShB;AACF;;A8E55SA;;EAEE,iBAAiB;EACjB,cAAc;A9E+5ShB;;A8El6SA;;EAMI,gBAAgB;A9Ei6SpB;;A8Ev6SA;;EAUI,YAAY;A9Ek6ShB;;A8E56SA;;EAcI,qBAAqB;EACrB,iBAAiB;A9Em6SrB;;A8El7SA;;EAmBI,iBAAiB;A9Eo6SrB;;A8Ev7SA;;EAuBI,sBAAsB;EACtB,kBAAkB;A9Eq6StB;;A8E77SA;;EA4BI,QAAQ;EACR,aAAa;EACb,iBAAiB;A9Es6SrB;;A8Ep8SA;;EAkCI,sBAAsB;EACtB,qBAAqB;A9Eu6SzB;;A8E18SA;;;;EAwCI,oBAAoB;EACpB,kB3EsM6B;AHmuSjC;;A8El9SA;;EA6CI,kCAAgD;A9E06SpD;;A8Ev9SA;;;;EAkDI,kC3EgMgC;AH4uSpC;;A8E99SA;;EAsDI,kC3E4LgC;AHivSpC;;A8En+SA;;EA0DI,qBAAqB;EACrB,qBAAqB;EACrB,qBAAqB;EACrB,iBAAiB;A9E86SrB;;A8E3+SA;;EAiEI,QAAQ;EACR,aAAa;A9E+6SjB;;A8Ej/SA;;EAsEI,cAAc;EACd,UAAU;EACV,gCAAgC;A9Eg7SpC;;A8Ex/SA;;;;EA6EI,cAAc;EACd,aAAa;A9Ek7SjB;;A8EhgTA;;EAkFI,0CAAiJ;EACjJ,+MAAqG;EACrG,yB3EqfwC;AH87R5C;;A8EvgTA;;EAwFI,sBAA4D;EAC5D,qBAAqB;A9Eo7SzB;;A8E7gTA;;EA6FQ,eAAsD;A9Eq7S9D;;A8ElhTA;;EAiGQ,2BAAgH;A9Es7SxH;;A8EvhTA;;EAuGQ,+BAA8E;A9Eq7StF;;A8E5hTA;;;;;;;;;;;;EAkHI,kCAAgD;A9Ey7SpD;;A8E3iTA;;;;;;;;;;;;EA2HI,kC3EuHgC;AHw0SpC;;A8E1jTA;;;;EAgII,kC3EkHgC;AH+0SpC;;A8EjkTA;;;;EAqII,kCAAgD;A9Em8SpD;;A8ExkTA;;;;EA0II,gBAAgB;A9Eq8SpB;;A8E/kTA;;;;;;;;EAiJI,sBAAsB;EACtB,oBAAoB;A9Ey8SxB;;A8E3lTA;;EAuJM,qB3E44BmC;E2E34BnC,eAAe;EAOf,c3ElJY;E2EmJZ,Y3E04BuC;AHyjR7C;;A8EnmTA;;EA2JQ,gBAAgB;EAChB,oB3Eu4BiC;AHskRzC;;A8EzmTA;;EAqKI,gBAAgB;EAChB,kBAAkB;A9Ey8StB;;A8E/mTA;;EA0KI,WAAW;A9E08Sf;;A8EpnTA;;EA8KI,8BAA8B;A9E28SlC;;A8EznTA;;EAmLM,oBAAoB;A9E28S1B;;A8E9nTA;;EAuLM,mBAAmB;A9E48SzB;;A8EnoTA;;EA2LM,eAAe;A9E68SrB;;A8ExoTA;;EA+LM,cAAc;A9E88SpB;;A8E7oTA;;EAoMI,cAAc;EACd,OAAO;A9E88SX;;A8EnpTA;;EAyMI,oBAAoB;EACpB,cAAc;A9E+8SlB;;A8EzpTA;;EA8MI,sBAAsB;EACtB,oBAAoB;A9Eg9SxB;;A8E/pTA;;EAmNI,sBAAsB;EACtB,qBAAqB;A9Ei9SzB;;A8ErqTA;;;;;;EA0NI,gBAAgB;EAChB,qBAAqB;A9Eo9SzB;;A8E/qTA;;EpEqBI,gCP6NgC;EO5NhC,mCP4NgC;EO/MhC,yBoEgMmC;EpE/LnC,4BoE+LmC;A9Eo9SvC;;A8EvrTA;;EpEqBI,0BoEoNoC;EpEnNpC,6BoEmNoC;EpEtMpC,+BP+MgC;EO9MhC,kCP8MgC;AH68SpC;;A8E/rTA;;EAkPI,uBAA+C;EAC/C,cAAc;A9Ek9SlB;;A8ErsTA;;EAkPI,wBAA+C;EAC/C,cAAc;A9Ew9SlB;;A8E3sTA;;EAkPI,iBAA+C;EAC/C,cAAc;A9E89SlB;;A8EjtTA;;EAkPI,wBAA+C;EAC/C,cAAc;A9Eo+SlB;;A8EvtTA;;EAkPI,wBAA+C;EAC/C,cAAc;A9E0+SlB;;A8E7tTA;;EAkPI,iBAA+C;EAC/C,cAAc;A9Eg/SlB;;A8EnuTA;;EAkPI,wBAA+C;EAC/C,cAAc;A9Es/SlB;;A8EzuTA;;EAkPI,wBAA+C;EAC/C,cAAc;A9E4/SlB;;A8E/uTA;;EAkPI,iBAA+C;EAC/C,cAAc;A9EkgTlB;;A8ErvTA;;EAkPI,wBAA+C;EAC/C,cAAc;A9EwgTlB;;A8E3vTA;;EAkPI,wBAA+C;EAC/C,cAAc;A9E8gTlB;;AcrsTI;EgE5DJ;;IAkPI,eAA6B;IAC7B,cAAc;E9EqhThB;E8ExwTF;;IAkPI,uBAA+C;IAC/C,cAAc;E9E0hThB;E8E7wTF;;IAkPI,wBAA+C;IAC/C,cAAc;E9E+hThB;E8ElxTF;;IAkPI,iBAA+C;IAC/C,cAAc;E9EoiThB;E8EvxTF;;IAkPI,wBAA+C;IAC/C,cAAc;E9EyiThB;E8E5xTF;;IAkPI,wBAA+C;IAC/C,cAAc;E9E8iThB;E8EjyTF;;IAkPI,iBAA+C;IAC/C,cAAc;E9EmjThB;E8EtyTF;;IAkPI,wBAA+C;IAC/C,cAAc;E9EwjThB;E8E3yTF;;IAkPI,wBAA+C;IAC/C,cAAc;E9E6jThB;E8EhzTF;;IAkPI,iBAA+C;IAC/C,cAAc;E9EkkThB;E8ErzTF;;IAkPI,wBAA+C;IAC/C,cAAc;E9EukThB;E8E1zTF;;IAkPI,wBAA+C;IAC/C,cAAc;E9E4kThB;AACF;;AcpwTI;EgE5DJ;;IAkPI,eAA6B;IAC7B,cAAc;E9EolThB;E8Ev0TF;;IAkPI,uBAA+C;IAC/C,cAAc;E9EylThB;E8E50TF;;IAkPI,wBAA+C;IAC/C,cAAc;E9E8lThB;E8Ej1TF;;IAkPI,iBAA+C;IAC/C,cAAc;E9EmmThB;E8Et1TF;;IAkPI,wBAA+C;IAC/C,cAAc;E9EwmThB;E8E31TF;;IAkPI,wBAA+C;IAC/C,cAAc;E9E6mThB;E8Eh2TF;;IAkPI,iBAA+C;IAC/C,cAAc;E9EknThB;E8Er2TF;;IAkPI,wBAA+C;IAC/C,cAAc;E9EunThB;E8E12TF;;IAkPI,wBAA+C;IAC/C,cAAc;E9E4nThB;E8E/2TF;;IAkPI,iBAA+C;IAC/C,cAAc;E9EioThB;E8Ep3TF;;IAkPI,wBAA+C;IAC/C,cAAc;E9EsoThB;E8Ez3TF;;IAkPI,wBAA+C;IAC/C,cAAc;E9E2oThB;AACF;;Acn0TI;EgE5DJ;;IAkPI,eAA6B;IAC7B,cAAc;E9EmpThB;E8Et4TF;;IAkPI,uBAA+C;IAC/C,cAAc;E9EwpThB;E8E34TF;;IAkPI,wBAA+C;IAC/C,cAAc;E9E6pThB;E8Eh5TF;;IAkPI,iBAA+C;IAC/C,cAAc;E9EkqThB;E8Er5TF;;IAkPI,wBAA+C;IAC/C,cAAc;E9EuqThB;E8E15TF;;IAkPI,wBAA+C;IAC/C,cAAc;E9E4qThB;E8E/5TF;;IAkPI,iBAA+C;IAC/C,cAAc;E9EirThB;E8Ep6TF;;IAkPI,wBAA+C;IAC/C,cAAc;E9EsrThB;E8Ez6TF;;IAkPI,wBAA+C;IAC/C,cAAc;E9E2rThB;E8E96TF;;IAkPI,iBAA+C;IAC/C,cAAc;E9EgsThB;E8En7TF;;IAkPI,wBAA+C;IAC/C,cAAc;E9EqsThB;E8Ex7TF;;IAkPI,wBAA+C;IAC/C,cAAc;E9E0sThB;AACF;;Acl4TI;EgE5DJ;;IAkPI,eAA6B;IAC7B,cAAc;E9EktThB;E8Er8TF;;IAkPI,uBAA+C;IAC/C,cAAc;E9EutThB;E8E18TF;;IAkPI,wBAA+C;IAC/C,cAAc;E9E4tThB;E8E/8TF;;IAkPI,iBAA+C;IAC/C,cAAc;E9EiuThB;E8Ep9TF;;IAkPI,wBAA+C;IAC/C,cAAc;E9EsuThB;E8Ez9TF;;IAkPI,wBAA+C;IAC/C,cAAc;E9E2uThB;E8E99TF;;IAkPI,iBAA+C;IAC/C,cAAc;E9EgvThB;E8En+TF;;IAkPI,wBAA+C;IAC/C,cAAc;E9EqvThB;E8Ex+TF;;IAkPI,wBAA+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","file":"bootstrap-rtl.css","sourcesContent":["/*!\n * Bootstrap v4.4.1 (https://getbootstrap.com/)\n * Copyright 2011-2019 The Bootstrap Authors\n * Copyright 2011-2019 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n\n @import \"functions\";\n @import \"variables\";\n @import \"mixins\";\n @import \"root\";\n @import \"reboot\";\n @import \"type\";\n @import \"images\";\n @import \"code\";\n @import \"grid\";\n @import \"tables\";\n @import \"forms\";\n @import \"buttons\";\n @import \"transitions\";\n @import \"dropdown\";\n @import \"button-group\";\n @import \"input-group\";\n @import \"custom-forms\";\n @import \"nav\";\n @import \"navbar\";\n @import \"card\";\n @import \"breadcrumb\";\n @import \"pagination\";\n @import \"badge\";\n @import \"jumbotron\";\n @import \"alert\";\n @import \"progress\";\n @import \"media\";\n @import \"list-group\";\n @import \"close\";\n @import \"toasts\";\n @import \"modal\";\n @import \"tooltip\";\n @import \"popover\";\n @import \"carousel\";\n @import \"spinners\";\n @import \"utilities\";\n @import \"print\";\n\n@import \"rtl\";\n","/*!\n * Bootstrap v4.4.1 (https://getbootstrap.com/)\n * Copyright 2011-2019 The Bootstrap Authors\n * Copyright 2011-2019 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n:root {\n --blue: #007bff;\n --indigo: #6610f2;\n --purple: #6f42c1;\n --pink: #e83e8c;\n --red: #dc3545;\n --orange: #fd7e14;\n --yellow: #ffc107;\n --green: #28a745;\n --teal: #20c997;\n --cyan: #17a2b8;\n --white: #fff;\n --gray: #6c757d;\n --gray-dark: #343a40;\n --primary: #007bff;\n --secondary: #6c757d;\n --success: #28a745;\n --info: #17a2b8;\n --warning: #ffc107;\n --danger: #dc3545;\n --light: #f8f9fa;\n --dark: #343a40;\n --breakpoint-xs: 0;\n --breakpoint-sm: 576px;\n --breakpoint-md: 768px;\n --breakpoint-lg: 992px;\n --breakpoint-xl: 1200px;\n --font-family-sans-serif: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n --font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n}\n\n*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\nhtml {\n font-family: sans-serif;\n line-height: 1.15;\n -webkit-text-size-adjust: 100%;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\n\narticle, aside, figcaption, figure, footer, header, hgroup, main, nav, section {\n display: block;\n}\n\nbody {\n margin: 0;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #212529;\n text-align: left;\n background-color: #fff;\n}\n\n[tabindex=\"-1\"]:focus:not(:focus-visible) {\n outline: 0 !important;\n}\n\nhr {\n box-sizing: content-box;\n height: 0;\n overflow: visible;\n}\n\nh1, h2, h3, h4, h5, h6 {\n margin-top: 0;\n margin-bottom: 0.5rem;\n}\n\np {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nabbr[title],\nabbr[data-original-title] {\n text-decoration: underline;\n text-decoration: underline dotted;\n cursor: help;\n border-bottom: 0;\n text-decoration-skip-ink: none;\n}\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: 700;\n}\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0;\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\nb,\nstrong {\n font-weight: bolder;\n}\n\nsmall {\n font-size: 80%;\n}\n\nsub,\nsup {\n position: relative;\n font-size: 75%;\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -.25em;\n}\n\nsup {\n top: -.5em;\n}\n\na {\n color: #007bff;\n text-decoration: none;\n background-color: transparent;\n}\n\na:hover {\n color: #0056b3;\n text-decoration: underline;\n}\n\na:not([href]) {\n color: inherit;\n text-decoration: none;\n}\n\na:not([href]):hover {\n color: inherit;\n text-decoration: none;\n}\n\npre,\ncode,\nkbd,\nsamp {\n font-family: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n font-size: 1em;\n}\n\npre {\n margin-top: 0;\n margin-bottom: 1rem;\n overflow: auto;\n}\n\nfigure {\n margin: 0 0 1rem;\n}\n\nimg {\n vertical-align: middle;\n border-style: none;\n}\n\nsvg {\n overflow: hidden;\n vertical-align: middle;\n}\n\ntable {\n border-collapse: collapse;\n}\n\ncaption {\n padding-top: 0.75rem;\n padding-bottom: 0.75rem;\n color: #6c757d;\n text-align: left;\n caption-side: bottom;\n}\n\nth {\n text-align: inherit;\n}\n\nlabel {\n display: inline-block;\n margin-bottom: 0.5rem;\n}\n\nbutton {\n border-radius: 0;\n}\n\nbutton:focus {\n outline: 1px dotted;\n outline: 5px auto -webkit-focus-ring-color;\n}\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0;\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n}\n\nbutton,\ninput {\n overflow: visible;\n}\n\nbutton,\nselect {\n text-transform: none;\n}\n\nselect {\n word-wrap: normal;\n}\n\nbutton,\n[type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button;\n}\n\nbutton:not(:disabled),\n[type=\"button\"]:not(:disabled),\n[type=\"reset\"]:not(:disabled),\n[type=\"submit\"]:not(:disabled) {\n cursor: pointer;\n}\n\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n padding: 0;\n border-style: none;\n}\n\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n box-sizing: border-box;\n padding: 0;\n}\n\ninput[type=\"date\"],\ninput[type=\"time\"],\ninput[type=\"datetime-local\"],\ninput[type=\"month\"] {\n -webkit-appearance: listbox;\n}\n\ntextarea {\n overflow: auto;\n resize: vertical;\n}\n\nfieldset {\n min-width: 0;\n padding: 0;\n margin: 0;\n border: 0;\n}\n\nlegend {\n display: block;\n width: 100%;\n max-width: 100%;\n padding: 0;\n margin-bottom: .5rem;\n font-size: 1.5rem;\n line-height: inherit;\n color: inherit;\n white-space: normal;\n}\n\nprogress {\n vertical-align: baseline;\n}\n\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n[type=\"search\"] {\n outline-offset: -2px;\n -webkit-appearance: none;\n}\n\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n::-webkit-file-upload-button {\n font: inherit;\n -webkit-appearance: button;\n}\n\noutput {\n display: inline-block;\n}\n\nsummary {\n display: list-item;\n cursor: pointer;\n}\n\ntemplate {\n display: none;\n}\n\n[hidden] {\n display: none !important;\n}\n\nh1, h2, h3, h4, h5, h6,\n.h1, .h2, .h3, .h4, .h5, .h6 {\n margin-bottom: 0.5rem;\n font-weight: 500;\n line-height: 1.2;\n}\n\nh1, .h1 {\n font-size: 2.5rem;\n}\n\nh2, .h2 {\n font-size: 2rem;\n}\n\nh3, .h3 {\n font-size: 1.75rem;\n}\n\nh4, .h4 {\n font-size: 1.5rem;\n}\n\nh5, .h5 {\n font-size: 1.25rem;\n}\n\nh6, .h6 {\n font-size: 1rem;\n}\n\n.lead {\n font-size: 1.25rem;\n font-weight: 300;\n}\n\n.display-1 {\n font-size: 6rem;\n font-weight: 300;\n line-height: 1.2;\n}\n\n.display-2 {\n font-size: 5.5rem;\n font-weight: 300;\n line-height: 1.2;\n}\n\n.display-3 {\n font-size: 4.5rem;\n font-weight: 300;\n line-height: 1.2;\n}\n\n.display-4 {\n font-size: 3.5rem;\n font-weight: 300;\n line-height: 1.2;\n}\n\nhr {\n margin-top: 1rem;\n margin-bottom: 1rem;\n border: 0;\n border-top: 1px solid rgba(0, 0, 0, 0.1);\n}\n\nsmall,\n.small {\n font-size: 80%;\n font-weight: 400;\n}\n\nmark,\n.mark {\n padding: 0.2em;\n background-color: #fcf8e3;\n}\n\n.list-unstyled {\n padding-left: 0;\n list-style: none;\n}\n\n.list-inline {\n padding-left: 0;\n list-style: none;\n}\n\n.list-inline-item {\n display: inline-block;\n}\n\n.list-inline-item:not(:last-child) {\n margin-right: 0.5rem;\n}\n\n.initialism {\n font-size: 90%;\n text-transform: uppercase;\n}\n\n.blockquote {\n margin-bottom: 1rem;\n font-size: 1.25rem;\n}\n\n.blockquote-footer {\n display: block;\n font-size: 80%;\n color: #6c757d;\n}\n\n.blockquote-footer::before {\n content: \"\\2014\\00A0\";\n}\n\n.img-fluid {\n max-width: 100%;\n height: auto;\n}\n\n.img-thumbnail {\n padding: 0.25rem;\n background-color: #fff;\n border: 1px solid #dee2e6;\n border-radius: 0.25rem;\n max-width: 100%;\n height: auto;\n}\n\n.figure {\n display: inline-block;\n}\n\n.figure-img {\n margin-bottom: 0.5rem;\n line-height: 1;\n}\n\n.figure-caption {\n font-size: 90%;\n color: #6c757d;\n}\n\ncode {\n font-size: 87.5%;\n color: #e83e8c;\n word-wrap: break-word;\n}\n\na > code {\n color: inherit;\n}\n\nkbd {\n padding: 0.2rem 0.4rem;\n font-size: 87.5%;\n color: #fff;\n background-color: #212529;\n border-radius: 0.2rem;\n}\n\nkbd kbd {\n padding: 0;\n font-size: 100%;\n font-weight: 700;\n}\n\npre {\n display: block;\n font-size: 87.5%;\n color: #212529;\n}\n\npre code {\n font-size: inherit;\n color: inherit;\n word-break: normal;\n}\n\n.pre-scrollable {\n max-height: 340px;\n overflow-y: scroll;\n}\n\n.container {\n width: 100%;\n padding-right: 15px;\n padding-left: 15px;\n margin-right: auto;\n margin-left: auto;\n}\n\n@media (min-width: 576px) {\n .container {\n max-width: 540px;\n }\n}\n\n@media (min-width: 768px) {\n .container {\n max-width: 720px;\n }\n}\n\n@media (min-width: 992px) {\n .container {\n max-width: 960px;\n }\n}\n\n@media (min-width: 1200px) {\n .container {\n max-width: 1140px;\n }\n}\n\n.container-fluid, .container-sm, .container-md, .container-lg, .container-xl {\n width: 100%;\n padding-right: 15px;\n padding-left: 15px;\n margin-right: auto;\n margin-left: auto;\n}\n\n@media (min-width: 576px) {\n .container, .container-sm {\n max-width: 540px;\n }\n}\n\n@media (min-width: 768px) {\n .container, .container-sm, .container-md {\n max-width: 720px;\n }\n}\n\n@media (min-width: 992px) {\n .container, .container-sm, .container-md, .container-lg {\n max-width: 960px;\n }\n}\n\n@media (min-width: 1200px) {\n .container, .container-sm, .container-md, .container-lg, .container-xl {\n max-width: 1140px;\n }\n}\n\n.row {\n display: flex;\n flex-wrap: wrap;\n margin-right: -15px;\n margin-left: -15px;\n}\n\n.no-gutters {\n margin-right: 0;\n margin-left: 0;\n}\n\n.no-gutters > .col,\n.no-gutters > [class*=\"col-\"] {\n padding-right: 0;\n padding-left: 0;\n}\n\n.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col,\n.col-auto, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm,\n.col-sm-auto, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md,\n.col-md-auto, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg,\n.col-lg-auto, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl,\n.col-xl-auto {\n position: relative;\n width: 100%;\n padding-right: 15px;\n padding-left: 15px;\n}\n\n.col {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n}\n\n.row-cols-1 > * {\n flex: 0 0 100%;\n max-width: 100%;\n}\n\n.row-cols-2 > * {\n flex: 0 0 50%;\n max-width: 50%;\n}\n\n.row-cols-3 > * {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n}\n\n.row-cols-4 > * {\n flex: 0 0 25%;\n max-width: 25%;\n}\n\n.row-cols-5 > * {\n flex: 0 0 20%;\n max-width: 20%;\n}\n\n.row-cols-6 > * {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n}\n\n.col-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n}\n\n.col-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n}\n\n.col-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n}\n\n.col-3 {\n flex: 0 0 25%;\n max-width: 25%;\n}\n\n.col-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n}\n\n.col-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n}\n\n.col-6 {\n flex: 0 0 50%;\n max-width: 50%;\n}\n\n.col-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n}\n\n.col-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n}\n\n.col-9 {\n flex: 0 0 75%;\n max-width: 75%;\n}\n\n.col-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n}\n\n.col-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n}\n\n.col-12 {\n flex: 0 0 100%;\n max-width: 100%;\n}\n\n.order-first {\n order: -1;\n}\n\n.order-last {\n order: 13;\n}\n\n.order-0 {\n order: 0;\n}\n\n.order-1 {\n order: 1;\n}\n\n.order-2 {\n order: 2;\n}\n\n.order-3 {\n order: 3;\n}\n\n.order-4 {\n order: 4;\n}\n\n.order-5 {\n order: 5;\n}\n\n.order-6 {\n order: 6;\n}\n\n.order-7 {\n order: 7;\n}\n\n.order-8 {\n order: 8;\n}\n\n.order-9 {\n order: 9;\n}\n\n.order-10 {\n order: 10;\n}\n\n.order-11 {\n order: 11;\n}\n\n.order-12 {\n order: 12;\n}\n\n.offset-1 {\n margin-right: 8.333333%;\n}\n\n.offset-2 {\n margin-right: 16.666667%;\n}\n\n.offset-3 {\n margin-right: 25%;\n}\n\n.offset-4 {\n margin-right: 33.333333%;\n}\n\n.offset-5 {\n margin-right: 41.666667%;\n}\n\n.offset-6 {\n margin-right: 50%;\n}\n\n.offset-7 {\n margin-right: 58.333333%;\n}\n\n.offset-8 {\n margin-right: 66.666667%;\n}\n\n.offset-9 {\n margin-right: 75%;\n}\n\n.offset-10 {\n margin-right: 83.333333%;\n}\n\n.offset-11 {\n margin-right: 91.666667%;\n}\n\n@media (min-width: 576px) {\n .col-sm {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .row-cols-sm-1 > * {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .row-cols-sm-2 > * {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .row-cols-sm-3 > * {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .row-cols-sm-4 > * {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .row-cols-sm-5 > * {\n flex: 0 0 20%;\n max-width: 20%;\n }\n .row-cols-sm-6 > * {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-sm-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n }\n .col-sm-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-sm-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-sm-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-sm-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-sm-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-sm-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-sm-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-sm-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-sm-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-sm-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-sm-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-sm-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-sm-first {\n order: -1;\n }\n .order-sm-last {\n order: 13;\n }\n .order-sm-0 {\n order: 0;\n }\n .order-sm-1 {\n order: 1;\n }\n .order-sm-2 {\n order: 2;\n }\n .order-sm-3 {\n order: 3;\n }\n .order-sm-4 {\n order: 4;\n }\n .order-sm-5 {\n order: 5;\n }\n .order-sm-6 {\n order: 6;\n }\n .order-sm-7 {\n order: 7;\n }\n .order-sm-8 {\n order: 8;\n }\n .order-sm-9 {\n order: 9;\n }\n .order-sm-10 {\n order: 10;\n }\n .order-sm-11 {\n order: 11;\n }\n .order-sm-12 {\n order: 12;\n }\n .offset-sm-0 {\n margin-right: 0;\n }\n .offset-sm-1 {\n margin-right: 8.333333%;\n }\n .offset-sm-2 {\n margin-right: 16.666667%;\n }\n .offset-sm-3 {\n margin-right: 25%;\n }\n .offset-sm-4 {\n margin-right: 33.333333%;\n }\n .offset-sm-5 {\n margin-right: 41.666667%;\n }\n .offset-sm-6 {\n margin-right: 50%;\n }\n .offset-sm-7 {\n margin-right: 58.333333%;\n }\n .offset-sm-8 {\n margin-right: 66.666667%;\n }\n .offset-sm-9 {\n margin-right: 75%;\n }\n .offset-sm-10 {\n margin-right: 83.333333%;\n }\n .offset-sm-11 {\n margin-right: 91.666667%;\n }\n}\n\n@media (min-width: 768px) {\n .col-md {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .row-cols-md-1 > * {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .row-cols-md-2 > * {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .row-cols-md-3 > * {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .row-cols-md-4 > * {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .row-cols-md-5 > * {\n flex: 0 0 20%;\n max-width: 20%;\n }\n .row-cols-md-6 > * {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-md-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n }\n .col-md-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-md-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-md-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-md-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-md-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-md-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-md-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-md-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-md-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-md-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-md-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-md-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-md-first {\n order: -1;\n }\n .order-md-last {\n order: 13;\n }\n .order-md-0 {\n order: 0;\n }\n .order-md-1 {\n order: 1;\n }\n .order-md-2 {\n order: 2;\n }\n .order-md-3 {\n order: 3;\n }\n .order-md-4 {\n order: 4;\n }\n .order-md-5 {\n order: 5;\n }\n .order-md-6 {\n order: 6;\n }\n .order-md-7 {\n order: 7;\n }\n .order-md-8 {\n order: 8;\n }\n .order-md-9 {\n order: 9;\n }\n .order-md-10 {\n order: 10;\n }\n .order-md-11 {\n order: 11;\n }\n .order-md-12 {\n order: 12;\n }\n .offset-md-0 {\n margin-right: 0;\n }\n .offset-md-1 {\n margin-right: 8.333333%;\n }\n .offset-md-2 {\n margin-right: 16.666667%;\n }\n .offset-md-3 {\n margin-right: 25%;\n }\n .offset-md-4 {\n margin-right: 33.333333%;\n }\n .offset-md-5 {\n margin-right: 41.666667%;\n }\n .offset-md-6 {\n margin-right: 50%;\n }\n .offset-md-7 {\n margin-right: 58.333333%;\n }\n .offset-md-8 {\n margin-right: 66.666667%;\n }\n .offset-md-9 {\n margin-right: 75%;\n }\n .offset-md-10 {\n margin-right: 83.333333%;\n }\n .offset-md-11 {\n margin-right: 91.666667%;\n }\n}\n\n@media (min-width: 992px) {\n .col-lg {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .row-cols-lg-1 > * {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .row-cols-lg-2 > * {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .row-cols-lg-3 > * {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .row-cols-lg-4 > * {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .row-cols-lg-5 > * {\n flex: 0 0 20%;\n max-width: 20%;\n }\n .row-cols-lg-6 > * {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-lg-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n }\n .col-lg-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-lg-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-lg-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-lg-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-lg-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-lg-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-lg-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-lg-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-lg-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-lg-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-lg-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-lg-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-lg-first {\n order: -1;\n }\n .order-lg-last {\n order: 13;\n }\n .order-lg-0 {\n order: 0;\n }\n .order-lg-1 {\n order: 1;\n }\n .order-lg-2 {\n order: 2;\n }\n .order-lg-3 {\n order: 3;\n }\n .order-lg-4 {\n order: 4;\n }\n .order-lg-5 {\n order: 5;\n }\n .order-lg-6 {\n order: 6;\n }\n .order-lg-7 {\n order: 7;\n }\n .order-lg-8 {\n order: 8;\n }\n .order-lg-9 {\n order: 9;\n }\n .order-lg-10 {\n order: 10;\n }\n .order-lg-11 {\n order: 11;\n }\n .order-lg-12 {\n order: 12;\n }\n .offset-lg-0 {\n margin-right: 0;\n }\n .offset-lg-1 {\n margin-right: 8.333333%;\n }\n .offset-lg-2 {\n margin-right: 16.666667%;\n }\n .offset-lg-3 {\n margin-right: 25%;\n }\n .offset-lg-4 {\n margin-right: 33.333333%;\n }\n .offset-lg-5 {\n margin-right: 41.666667%;\n }\n .offset-lg-6 {\n margin-right: 50%;\n }\n .offset-lg-7 {\n margin-right: 58.333333%;\n }\n .offset-lg-8 {\n margin-right: 66.666667%;\n }\n .offset-lg-9 {\n margin-right: 75%;\n }\n .offset-lg-10 {\n margin-right: 83.333333%;\n }\n .offset-lg-11 {\n margin-right: 91.666667%;\n }\n}\n\n@media (min-width: 1200px) {\n .col-xl {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .row-cols-xl-1 > * {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .row-cols-xl-2 > * {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .row-cols-xl-3 > * {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .row-cols-xl-4 > * {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .row-cols-xl-5 > * {\n flex: 0 0 20%;\n max-width: 20%;\n }\n .row-cols-xl-6 > * {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-xl-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n }\n .col-xl-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-xl-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-xl-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-xl-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-xl-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-xl-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-xl-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-xl-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-xl-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-xl-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-xl-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-xl-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-xl-first {\n order: -1;\n }\n .order-xl-last {\n order: 13;\n }\n .order-xl-0 {\n order: 0;\n }\n .order-xl-1 {\n order: 1;\n }\n .order-xl-2 {\n order: 2;\n }\n .order-xl-3 {\n order: 3;\n }\n .order-xl-4 {\n order: 4;\n }\n .order-xl-5 {\n order: 5;\n }\n .order-xl-6 {\n order: 6;\n }\n .order-xl-7 {\n order: 7;\n }\n .order-xl-8 {\n order: 8;\n }\n .order-xl-9 {\n order: 9;\n }\n .order-xl-10 {\n order: 10;\n }\n .order-xl-11 {\n order: 11;\n }\n .order-xl-12 {\n order: 12;\n }\n .offset-xl-0 {\n margin-right: 0;\n }\n .offset-xl-1 {\n margin-right: 8.333333%;\n }\n .offset-xl-2 {\n margin-right: 16.666667%;\n }\n .offset-xl-3 {\n margin-right: 25%;\n }\n .offset-xl-4 {\n margin-right: 33.333333%;\n }\n .offset-xl-5 {\n margin-right: 41.666667%;\n }\n .offset-xl-6 {\n margin-right: 50%;\n }\n .offset-xl-7 {\n margin-right: 58.333333%;\n }\n .offset-xl-8 {\n margin-right: 66.666667%;\n }\n .offset-xl-9 {\n margin-right: 75%;\n }\n .offset-xl-10 {\n margin-right: 83.333333%;\n }\n .offset-xl-11 {\n margin-right: 91.666667%;\n }\n}\n\n.table {\n width: 100%;\n margin-bottom: 1rem;\n color: #212529;\n}\n\n.table th,\n.table td {\n padding: 0.75rem;\n vertical-align: top;\n border-top: 1px solid #dee2e6;\n}\n\n.table thead th {\n vertical-align: bottom;\n border-bottom: 2px solid #dee2e6;\n}\n\n.table tbody + tbody {\n border-top: 2px solid #dee2e6;\n}\n\n.table-sm th,\n.table-sm td {\n padding: 0.3rem;\n}\n\n.table-bordered {\n border: 1px solid #dee2e6;\n}\n\n.table-bordered th,\n.table-bordered td {\n border: 1px solid #dee2e6;\n}\n\n.table-bordered thead th,\n.table-bordered thead td {\n border-bottom-width: 2px;\n}\n\n.table-borderless th,\n.table-borderless td,\n.table-borderless thead th,\n.table-borderless tbody + tbody {\n border: 0;\n}\n\n.table-striped tbody tr:nth-of-type(odd) {\n background-color: rgba(0, 0, 0, 0.05);\n}\n\n.table-hover tbody tr:hover {\n color: #212529;\n background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table-primary,\n.table-primary > th,\n.table-primary > td {\n background-color: #b8daff;\n}\n\n.table-primary th,\n.table-primary td,\n.table-primary thead th,\n.table-primary tbody + tbody {\n border-color: #7abaff;\n}\n\n.table-hover .table-primary:hover {\n background-color: #9fcdff;\n}\n\n.table-hover .table-primary:hover > td,\n.table-hover .table-primary:hover > th {\n background-color: #9fcdff;\n}\n\n.table-secondary,\n.table-secondary > th,\n.table-secondary > td {\n background-color: #d6d8db;\n}\n\n.table-secondary th,\n.table-secondary td,\n.table-secondary thead th,\n.table-secondary tbody + tbody {\n border-color: #b3b7bb;\n}\n\n.table-hover .table-secondary:hover {\n background-color: #c8cbcf;\n}\n\n.table-hover .table-secondary:hover > td,\n.table-hover .table-secondary:hover > th {\n background-color: #c8cbcf;\n}\n\n.table-success,\n.table-success > th,\n.table-success > td {\n background-color: #c3e6cb;\n}\n\n.table-success th,\n.table-success td,\n.table-success thead th,\n.table-success tbody + tbody {\n border-color: #8fd19e;\n}\n\n.table-hover .table-success:hover {\n background-color: #b1dfbb;\n}\n\n.table-hover .table-success:hover > td,\n.table-hover .table-success:hover > th {\n background-color: #b1dfbb;\n}\n\n.table-info,\n.table-info > th,\n.table-info > td {\n background-color: #bee5eb;\n}\n\n.table-info th,\n.table-info td,\n.table-info thead th,\n.table-info tbody + tbody {\n border-color: #86cfda;\n}\n\n.table-hover .table-info:hover {\n background-color: #abdde5;\n}\n\n.table-hover .table-info:hover > td,\n.table-hover .table-info:hover > th {\n background-color: #abdde5;\n}\n\n.table-warning,\n.table-warning > th,\n.table-warning > td {\n background-color: #ffeeba;\n}\n\n.table-warning th,\n.table-warning td,\n.table-warning thead th,\n.table-warning tbody + tbody {\n border-color: #ffdf7e;\n}\n\n.table-hover .table-warning:hover {\n background-color: #ffe8a1;\n}\n\n.table-hover .table-warning:hover > td,\n.table-hover .table-warning:hover > th {\n background-color: #ffe8a1;\n}\n\n.table-danger,\n.table-danger > th,\n.table-danger > td {\n background-color: #f5c6cb;\n}\n\n.table-danger th,\n.table-danger td,\n.table-danger thead th,\n.table-danger tbody + tbody {\n border-color: #ed969e;\n}\n\n.table-hover .table-danger:hover {\n background-color: #f1b0b7;\n}\n\n.table-hover .table-danger:hover > td,\n.table-hover .table-danger:hover > th {\n background-color: #f1b0b7;\n}\n\n.table-light,\n.table-light > th,\n.table-light > td {\n background-color: #fdfdfe;\n}\n\n.table-light th,\n.table-light td,\n.table-light thead th,\n.table-light tbody + tbody {\n border-color: #fbfcfc;\n}\n\n.table-hover .table-light:hover {\n background-color: #ececf6;\n}\n\n.table-hover .table-light:hover > td,\n.table-hover .table-light:hover > th {\n background-color: #ececf6;\n}\n\n.table-dark,\n.table-dark > th,\n.table-dark > td {\n background-color: #c6c8ca;\n}\n\n.table-dark th,\n.table-dark td,\n.table-dark thead th,\n.table-dark tbody + tbody {\n border-color: #95999c;\n}\n\n.table-hover .table-dark:hover {\n background-color: #b9bbbe;\n}\n\n.table-hover .table-dark:hover > td,\n.table-hover .table-dark:hover > th {\n background-color: #b9bbbe;\n}\n\n.table-active,\n.table-active > th,\n.table-active > td {\n background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table-hover .table-active:hover {\n background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table-hover .table-active:hover > td,\n.table-hover .table-active:hover > th {\n background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table .thead-dark th {\n color: #fff;\n background-color: #343a40;\n border-color: #454d55;\n}\n\n.table .thead-light th {\n color: #495057;\n background-color: #e9ecef;\n border-color: #dee2e6;\n}\n\n.table-dark {\n color: #fff;\n background-color: #343a40;\n}\n\n.table-dark th,\n.table-dark td,\n.table-dark thead th {\n border-color: #454d55;\n}\n\n.table-dark.table-bordered {\n border: 0;\n}\n\n.table-dark.table-striped tbody tr:nth-of-type(odd) {\n background-color: rgba(255, 255, 255, 0.05);\n}\n\n.table-dark.table-hover tbody tr:hover {\n color: #fff;\n background-color: rgba(255, 255, 255, 0.075);\n}\n\n@media (max-width: 575.98px) {\n .table-responsive-sm {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n .table-responsive-sm > .table-bordered {\n border: 0;\n }\n}\n\n@media (max-width: 767.98px) {\n .table-responsive-md {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n .table-responsive-md > .table-bordered {\n border: 0;\n }\n}\n\n@media (max-width: 991.98px) {\n .table-responsive-lg {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n .table-responsive-lg > .table-bordered {\n border: 0;\n }\n}\n\n@media (max-width: 1199.98px) {\n .table-responsive-xl {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n .table-responsive-xl > .table-bordered {\n border: 0;\n }\n}\n\n.table-responsive {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n}\n\n.table-responsive > .table-bordered {\n border: 0;\n}\n\n.form-control {\n display: block;\n width: 100%;\n height: calc(1.5em + 0.75rem + 2px);\n padding: 0.375rem 0.75rem;\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #495057;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid #ced4da;\n border-radius: 0.25rem;\n transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .form-control {\n transition: none;\n }\n}\n\n.form-control::-ms-expand {\n background-color: transparent;\n border: 0;\n}\n\n.form-control:-moz-focusring {\n color: transparent;\n text-shadow: 0 0 0 #495057;\n}\n\n.form-control:focus {\n color: #495057;\n background-color: #fff;\n border-color: #80bdff;\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.form-control::placeholder {\n color: #6c757d;\n opacity: 1;\n}\n\n.form-control:disabled, .form-control[readonly] {\n background-color: #e9ecef;\n opacity: 1;\n}\n\nselect.form-control:focus::-ms-value {\n color: #495057;\n background-color: #fff;\n}\n\n.form-control-file,\n.form-control-range {\n display: block;\n width: 100%;\n}\n\n.col-form-label {\n padding-top: calc(0.375rem + 1px);\n padding-bottom: calc(0.375rem + 1px);\n margin-bottom: 0;\n font-size: inherit;\n line-height: 1.5;\n}\n\n.col-form-label-lg {\n padding-top: calc(0.5rem + 1px);\n padding-bottom: calc(0.5rem + 1px);\n font-size: 1.25rem;\n line-height: 1.5;\n}\n\n.col-form-label-sm {\n padding-top: calc(0.25rem + 1px);\n padding-bottom: calc(0.25rem + 1px);\n font-size: 0.875rem;\n line-height: 1.5;\n}\n\n.form-control-plaintext {\n display: block;\n width: 100%;\n padding: 0.375rem 0;\n margin-bottom: 0;\n font-size: 1rem;\n line-height: 1.5;\n color: #212529;\n background-color: transparent;\n border: solid transparent;\n border-width: 1px 0;\n}\n\n.form-control-plaintext.form-control-sm, .form-control-plaintext.form-control-lg {\n padding-right: 0;\n padding-left: 0;\n}\n\n.form-control-sm {\n height: calc(1.5em + 0.5rem + 2px);\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n line-height: 1.5;\n border-radius: 0.2rem;\n}\n\n.form-control-lg {\n height: calc(1.5em + 1rem + 2px);\n padding: 0.5rem 1rem;\n font-size: 1.25rem;\n line-height: 1.5;\n border-radius: 0.3rem;\n}\n\nselect.form-control[size], select.form-control[multiple] {\n height: auto;\n}\n\ntextarea.form-control {\n height: auto;\n}\n\n.form-group {\n margin-bottom: 1rem;\n}\n\n.form-text {\n display: block;\n margin-top: 0.25rem;\n}\n\n.form-row {\n display: flex;\n flex-wrap: wrap;\n margin-right: -5px;\n margin-left: -5px;\n}\n\n.form-row > .col,\n.form-row > [class*=\"col-\"] {\n padding-right: 5px;\n padding-left: 5px;\n}\n\n.form-check {\n position: relative;\n display: block;\n padding-left: 1.25rem;\n}\n\n.form-check-input {\n position: absolute;\n margin-top: 0.3rem;\n margin-left: -1.25rem;\n}\n\n.form-check-input[disabled] ~ .form-check-label,\n.form-check-input:disabled ~ .form-check-label {\n color: #6c757d;\n}\n\n.form-check-label {\n margin-bottom: 0;\n}\n\n.form-check-inline {\n display: inline-flex;\n align-items: center;\n padding-left: 0;\n margin-right: 0.75rem;\n}\n\n.form-check-inline .form-check-input {\n position: static;\n margin-top: 0;\n margin-right: 0.3125rem;\n margin-left: 0;\n}\n\n.valid-feedback {\n display: none;\n width: 100%;\n margin-top: 0.25rem;\n font-size: 80%;\n color: #28a745;\n}\n\n.valid-tooltip {\n position: absolute;\n top: 100%;\n z-index: 5;\n display: none;\n max-width: 100%;\n padding: 0.25rem 0.5rem;\n margin-top: .1rem;\n font-size: 0.875rem;\n line-height: 1.5;\n color: #fff;\n background-color: rgba(40, 167, 69, 0.9);\n border-radius: 0.25rem;\n}\n\n.was-validated :valid ~ .valid-feedback,\n.was-validated :valid ~ .valid-tooltip,\n.is-valid ~ .valid-feedback,\n.is-valid ~ .valid-tooltip {\n display: block;\n}\n\n.was-validated .form-control:valid, .form-control.is-valid {\n border-color: #28a745;\n padding-right: calc(1.5em + 0.75rem);\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e\");\n background-repeat: no-repeat;\n background-position: right calc(0.375em + 0.1875rem) center;\n background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);\n}\n\n.was-validated .form-control:valid:focus, .form-control.is-valid:focus {\n border-color: #28a745;\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);\n}\n\n.was-validated textarea.form-control:valid, textarea.form-control.is-valid {\n padding-right: calc(1.5em + 0.75rem);\n background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem);\n}\n\n.was-validated .custom-select:valid, .custom-select.is-valid {\n border-color: #28a745;\n padding-right: calc(0.75em + 2.3125rem);\n background: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e\") no-repeat right 0.75rem center/8px 10px, url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e\") #fff no-repeat center right 1.75rem/calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);\n}\n\n.was-validated .custom-select:valid:focus, .custom-select.is-valid:focus {\n border-color: #28a745;\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);\n}\n\n.was-validated .form-check-input:valid ~ .form-check-label, .form-check-input.is-valid ~ .form-check-label {\n color: #28a745;\n}\n\n.was-validated .form-check-input:valid ~ .valid-feedback,\n.was-validated .form-check-input:valid ~ .valid-tooltip, .form-check-input.is-valid ~ .valid-feedback,\n.form-check-input.is-valid ~ .valid-tooltip {\n display: block;\n}\n\n.was-validated .custom-control-input:valid ~ .custom-control-label, .custom-control-input.is-valid ~ .custom-control-label {\n color: #28a745;\n}\n\n.was-validated .custom-control-input:valid ~ .custom-control-label::before, .custom-control-input.is-valid ~ .custom-control-label::before {\n border-color: #28a745;\n}\n\n.was-validated .custom-control-input:valid:checked ~ .custom-control-label::before, .custom-control-input.is-valid:checked ~ .custom-control-label::before {\n border-color: #34ce57;\n background-color: #34ce57;\n}\n\n.was-validated .custom-control-input:valid:focus ~ .custom-control-label::before, .custom-control-input.is-valid:focus ~ .custom-control-label::before {\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);\n}\n\n.was-validated .custom-control-input:valid:focus:not(:checked) ~ .custom-control-label::before, .custom-control-input.is-valid:focus:not(:checked) ~ .custom-control-label::before {\n border-color: #28a745;\n}\n\n.was-validated .custom-file-input:valid ~ .custom-file-label, .custom-file-input.is-valid ~ .custom-file-label {\n border-color: #28a745;\n}\n\n.was-validated .custom-file-input:valid:focus ~ .custom-file-label, .custom-file-input.is-valid:focus ~ .custom-file-label {\n border-color: #28a745;\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);\n}\n\n.invalid-feedback {\n display: none;\n width: 100%;\n margin-top: 0.25rem;\n font-size: 80%;\n color: #dc3545;\n}\n\n.invalid-tooltip {\n position: absolute;\n top: 100%;\n z-index: 5;\n display: none;\n max-width: 100%;\n padding: 0.25rem 0.5rem;\n margin-top: .1rem;\n font-size: 0.875rem;\n line-height: 1.5;\n color: #fff;\n background-color: rgba(220, 53, 69, 0.9);\n border-radius: 0.25rem;\n}\n\n.was-validated :invalid ~ .invalid-feedback,\n.was-validated :invalid ~ .invalid-tooltip,\n.is-invalid ~ .invalid-feedback,\n.is-invalid ~ .invalid-tooltip {\n display: block;\n}\n\n.was-validated .form-control:invalid, .form-control.is-invalid {\n border-color: #dc3545;\n padding-right: calc(1.5em + 0.75rem);\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e\");\n background-repeat: no-repeat;\n background-position: right calc(0.375em + 0.1875rem) center;\n background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);\n}\n\n.was-validated .form-control:invalid:focus, .form-control.is-invalid:focus {\n border-color: #dc3545;\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);\n}\n\n.was-validated textarea.form-control:invalid, textarea.form-control.is-invalid {\n padding-right: calc(1.5em + 0.75rem);\n background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem);\n}\n\n.was-validated .custom-select:invalid, .custom-select.is-invalid {\n border-color: #dc3545;\n padding-right: calc(0.75em + 2.3125rem);\n background: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e\") no-repeat right 0.75rem center/8px 10px, url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e\") #fff no-repeat center right 1.75rem/calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);\n}\n\n.was-validated .custom-select:invalid:focus, .custom-select.is-invalid:focus {\n border-color: #dc3545;\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);\n}\n\n.was-validated .form-check-input:invalid ~ .form-check-label, .form-check-input.is-invalid ~ .form-check-label {\n color: #dc3545;\n}\n\n.was-validated .form-check-input:invalid ~ .invalid-feedback,\n.was-validated .form-check-input:invalid ~ .invalid-tooltip, .form-check-input.is-invalid ~ .invalid-feedback,\n.form-check-input.is-invalid ~ .invalid-tooltip {\n display: block;\n}\n\n.was-validated .custom-control-input:invalid ~ .custom-control-label, .custom-control-input.is-invalid ~ .custom-control-label {\n color: #dc3545;\n}\n\n.was-validated .custom-control-input:invalid ~ .custom-control-label::before, .custom-control-input.is-invalid ~ .custom-control-label::before {\n border-color: #dc3545;\n}\n\n.was-validated .custom-control-input:invalid:checked ~ .custom-control-label::before, .custom-control-input.is-invalid:checked ~ .custom-control-label::before {\n border-color: #e4606d;\n background-color: #e4606d;\n}\n\n.was-validated .custom-control-input:invalid:focus ~ .custom-control-label::before, .custom-control-input.is-invalid:focus ~ .custom-control-label::before {\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);\n}\n\n.was-validated .custom-control-input:invalid:focus:not(:checked) ~ .custom-control-label::before, .custom-control-input.is-invalid:focus:not(:checked) ~ .custom-control-label::before {\n border-color: #dc3545;\n}\n\n.was-validated .custom-file-input:invalid ~ .custom-file-label, .custom-file-input.is-invalid ~ .custom-file-label {\n border-color: #dc3545;\n}\n\n.was-validated .custom-file-input:invalid:focus ~ .custom-file-label, .custom-file-input.is-invalid:focus ~ .custom-file-label {\n border-color: #dc3545;\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);\n}\n\n.form-inline {\n display: flex;\n flex-flow: row wrap;\n align-items: center;\n}\n\n.form-inline .form-check {\n width: 100%;\n}\n\n@media (min-width: 576px) {\n .form-inline label {\n display: flex;\n align-items: center;\n justify-content: center;\n margin-bottom: 0;\n }\n .form-inline .form-group {\n display: flex;\n flex: 0 0 auto;\n flex-flow: row wrap;\n align-items: center;\n margin-bottom: 0;\n }\n .form-inline .form-control {\n display: inline-block;\n width: auto;\n vertical-align: middle;\n }\n .form-inline .form-control-plaintext {\n display: inline-block;\n }\n .form-inline .input-group,\n .form-inline .custom-select {\n width: auto;\n }\n .form-inline .form-check {\n display: flex;\n align-items: center;\n justify-content: center;\n width: auto;\n padding-left: 0;\n }\n .form-inline .form-check-input {\n position: relative;\n flex-shrink: 0;\n margin-top: 0;\n margin-right: 0.25rem;\n margin-left: 0;\n }\n .form-inline .custom-control {\n align-items: center;\n justify-content: center;\n }\n .form-inline .custom-control-label {\n margin-bottom: 0;\n }\n}\n\n.btn {\n display: inline-block;\n font-weight: 400;\n color: #212529;\n text-align: center;\n vertical-align: middle;\n cursor: pointer;\n user-select: none;\n background-color: transparent;\n border: 1px solid transparent;\n padding: 0.375rem 0.75rem;\n font-size: 1rem;\n line-height: 1.5;\n border-radius: 0.25rem;\n transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .btn {\n transition: none;\n }\n}\n\n.btn:hover {\n color: #212529;\n text-decoration: none;\n}\n\n.btn:focus, .btn.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.btn.disabled, .btn:disabled {\n opacity: 0.65;\n}\n\na.btn.disabled,\nfieldset:disabled a.btn {\n pointer-events: none;\n}\n\n.btn-primary {\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.btn-primary:hover {\n color: #fff;\n background-color: #0069d9;\n border-color: #0062cc;\n}\n\n.btn-primary:focus, .btn-primary.focus {\n color: #fff;\n background-color: #0069d9;\n border-color: #0062cc;\n box-shadow: 0 0 0 0.2rem rgba(38, 143, 255, 0.5);\n}\n\n.btn-primary.disabled, .btn-primary:disabled {\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.btn-primary:not(:disabled):not(.disabled):active, .btn-primary:not(:disabled):not(.disabled).active,\n.show > .btn-primary.dropdown-toggle {\n color: #fff;\n background-color: #0062cc;\n border-color: #005cbf;\n}\n\n.btn-primary:not(:disabled):not(.disabled):active:focus, .btn-primary:not(:disabled):not(.disabled).active:focus,\n.show > .btn-primary.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(38, 143, 255, 0.5);\n}\n\n.btn-secondary {\n color: #fff;\n background-color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-secondary:hover {\n color: #fff;\n background-color: #5a6268;\n border-color: #545b62;\n}\n\n.btn-secondary:focus, .btn-secondary.focus {\n color: #fff;\n background-color: #5a6268;\n border-color: #545b62;\n box-shadow: 0 0 0 0.2rem rgba(130, 138, 145, 0.5);\n}\n\n.btn-secondary.disabled, .btn-secondary:disabled {\n color: #fff;\n background-color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-secondary:not(:disabled):not(.disabled):active, .btn-secondary:not(:disabled):not(.disabled).active,\n.show > .btn-secondary.dropdown-toggle {\n color: #fff;\n background-color: #545b62;\n border-color: #4e555b;\n}\n\n.btn-secondary:not(:disabled):not(.disabled):active:focus, .btn-secondary:not(:disabled):not(.disabled).active:focus,\n.show > .btn-secondary.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(130, 138, 145, 0.5);\n}\n\n.btn-success {\n color: #fff;\n background-color: #28a745;\n border-color: #28a745;\n}\n\n.btn-success:hover {\n color: #fff;\n background-color: #218838;\n border-color: #1e7e34;\n}\n\n.btn-success:focus, .btn-success.focus {\n color: #fff;\n background-color: #218838;\n border-color: #1e7e34;\n box-shadow: 0 0 0 0.2rem rgba(72, 180, 97, 0.5);\n}\n\n.btn-success.disabled, .btn-success:disabled {\n color: #fff;\n background-color: #28a745;\n border-color: #28a745;\n}\n\n.btn-success:not(:disabled):not(.disabled):active, .btn-success:not(:disabled):not(.disabled).active,\n.show > .btn-success.dropdown-toggle {\n color: #fff;\n background-color: #1e7e34;\n border-color: #1c7430;\n}\n\n.btn-success:not(:disabled):not(.disabled):active:focus, .btn-success:not(:disabled):not(.disabled).active:focus,\n.show > .btn-success.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(72, 180, 97, 0.5);\n}\n\n.btn-info {\n color: #fff;\n background-color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-info:hover {\n color: #fff;\n background-color: #138496;\n border-color: #117a8b;\n}\n\n.btn-info:focus, .btn-info.focus {\n color: #fff;\n background-color: #138496;\n border-color: #117a8b;\n box-shadow: 0 0 0 0.2rem rgba(58, 176, 195, 0.5);\n}\n\n.btn-info.disabled, .btn-info:disabled {\n color: #fff;\n background-color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-info:not(:disabled):not(.disabled):active, .btn-info:not(:disabled):not(.disabled).active,\n.show > .btn-info.dropdown-toggle {\n color: #fff;\n background-color: #117a8b;\n border-color: #10707f;\n}\n\n.btn-info:not(:disabled):not(.disabled):active:focus, .btn-info:not(:disabled):not(.disabled).active:focus,\n.show > .btn-info.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(58, 176, 195, 0.5);\n}\n\n.btn-warning {\n color: #212529;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-warning:hover {\n color: #212529;\n background-color: #e0a800;\n border-color: #d39e00;\n}\n\n.btn-warning:focus, .btn-warning.focus {\n color: #212529;\n background-color: #e0a800;\n border-color: #d39e00;\n box-shadow: 0 0 0 0.2rem rgba(222, 170, 12, 0.5);\n}\n\n.btn-warning.disabled, .btn-warning:disabled {\n color: #212529;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-warning:not(:disabled):not(.disabled):active, .btn-warning:not(:disabled):not(.disabled).active,\n.show > .btn-warning.dropdown-toggle {\n color: #212529;\n background-color: #d39e00;\n border-color: #c69500;\n}\n\n.btn-warning:not(:disabled):not(.disabled):active:focus, .btn-warning:not(:disabled):not(.disabled).active:focus,\n.show > .btn-warning.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(222, 170, 12, 0.5);\n}\n\n.btn-danger {\n color: #fff;\n background-color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-danger:hover {\n color: #fff;\n background-color: #c82333;\n border-color: #bd2130;\n}\n\n.btn-danger:focus, .btn-danger.focus {\n color: #fff;\n background-color: #c82333;\n border-color: #bd2130;\n box-shadow: 0 0 0 0.2rem rgba(225, 83, 97, 0.5);\n}\n\n.btn-danger.disabled, .btn-danger:disabled {\n color: #fff;\n background-color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-danger:not(:disabled):not(.disabled):active, .btn-danger:not(:disabled):not(.disabled).active,\n.show > .btn-danger.dropdown-toggle {\n color: #fff;\n background-color: #bd2130;\n border-color: #b21f2d;\n}\n\n.btn-danger:not(:disabled):not(.disabled):active:focus, .btn-danger:not(:disabled):not(.disabled).active:focus,\n.show > .btn-danger.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(225, 83, 97, 0.5);\n}\n\n.btn-light {\n color: #212529;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-light:hover {\n color: #212529;\n background-color: #e2e6ea;\n border-color: #dae0e5;\n}\n\n.btn-light:focus, .btn-light.focus {\n color: #212529;\n background-color: #e2e6ea;\n border-color: #dae0e5;\n box-shadow: 0 0 0 0.2rem rgba(216, 217, 219, 0.5);\n}\n\n.btn-light.disabled, .btn-light:disabled {\n color: #212529;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-light:not(:disabled):not(.disabled):active, .btn-light:not(:disabled):not(.disabled).active,\n.show > .btn-light.dropdown-toggle {\n color: #212529;\n background-color: #dae0e5;\n border-color: #d3d9df;\n}\n\n.btn-light:not(:disabled):not(.disabled):active:focus, .btn-light:not(:disabled):not(.disabled).active:focus,\n.show > .btn-light.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(216, 217, 219, 0.5);\n}\n\n.btn-dark {\n color: #fff;\n background-color: #343a40;\n border-color: #343a40;\n}\n\n.btn-dark:hover {\n color: #fff;\n background-color: #23272b;\n border-color: #1d2124;\n}\n\n.btn-dark:focus, .btn-dark.focus {\n color: #fff;\n background-color: #23272b;\n border-color: #1d2124;\n box-shadow: 0 0 0 0.2rem rgba(82, 88, 93, 0.5);\n}\n\n.btn-dark.disabled, .btn-dark:disabled {\n color: #fff;\n background-color: #343a40;\n border-color: #343a40;\n}\n\n.btn-dark:not(:disabled):not(.disabled):active, .btn-dark:not(:disabled):not(.disabled).active,\n.show > .btn-dark.dropdown-toggle {\n color: #fff;\n background-color: #1d2124;\n border-color: #171a1d;\n}\n\n.btn-dark:not(:disabled):not(.disabled):active:focus, .btn-dark:not(:disabled):not(.disabled).active:focus,\n.show > .btn-dark.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(82, 88, 93, 0.5);\n}\n\n.btn-outline-primary {\n color: #007bff;\n border-color: #007bff;\n}\n\n.btn-outline-primary:hover {\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.btn-outline-primary:focus, .btn-outline-primary.focus {\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5);\n}\n\n.btn-outline-primary.disabled, .btn-outline-primary:disabled {\n color: #007bff;\n background-color: transparent;\n}\n\n.btn-outline-primary:not(:disabled):not(.disabled):active, .btn-outline-primary:not(:disabled):not(.disabled).active,\n.show > .btn-outline-primary.dropdown-toggle {\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.btn-outline-primary:not(:disabled):not(.disabled):active:focus, .btn-outline-primary:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-primary.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5);\n}\n\n.btn-outline-secondary {\n color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-outline-secondary:hover {\n color: #fff;\n background-color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-outline-secondary:focus, .btn-outline-secondary.focus {\n box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5);\n}\n\n.btn-outline-secondary.disabled, .btn-outline-secondary:disabled {\n color: #6c757d;\n background-color: transparent;\n}\n\n.btn-outline-secondary:not(:disabled):not(.disabled):active, .btn-outline-secondary:not(:disabled):not(.disabled).active,\n.show > .btn-outline-secondary.dropdown-toggle {\n color: #fff;\n background-color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-outline-secondary:not(:disabled):not(.disabled):active:focus, .btn-outline-secondary:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-secondary.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5);\n}\n\n.btn-outline-success {\n color: #28a745;\n border-color: #28a745;\n}\n\n.btn-outline-success:hover {\n color: #fff;\n background-color: #28a745;\n border-color: #28a745;\n}\n\n.btn-outline-success:focus, .btn-outline-success.focus {\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);\n}\n\n.btn-outline-success.disabled, .btn-outline-success:disabled {\n color: #28a745;\n background-color: transparent;\n}\n\n.btn-outline-success:not(:disabled):not(.disabled):active, .btn-outline-success:not(:disabled):not(.disabled).active,\n.show > .btn-outline-success.dropdown-toggle {\n color: #fff;\n background-color: #28a745;\n border-color: #28a745;\n}\n\n.btn-outline-success:not(:disabled):not(.disabled):active:focus, .btn-outline-success:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-success.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);\n}\n\n.btn-outline-info {\n color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-outline-info:hover {\n color: #fff;\n background-color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-outline-info:focus, .btn-outline-info.focus {\n box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);\n}\n\n.btn-outline-info.disabled, .btn-outline-info:disabled {\n color: #17a2b8;\n background-color: transparent;\n}\n\n.btn-outline-info:not(:disabled):not(.disabled):active, .btn-outline-info:not(:disabled):not(.disabled).active,\n.show > .btn-outline-info.dropdown-toggle {\n color: #fff;\n background-color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-outline-info:not(:disabled):not(.disabled):active:focus, .btn-outline-info:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-info.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);\n}\n\n.btn-outline-warning {\n color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-outline-warning:hover {\n color: #212529;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-outline-warning:focus, .btn-outline-warning.focus {\n box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);\n}\n\n.btn-outline-warning.disabled, .btn-outline-warning:disabled {\n color: #ffc107;\n background-color: transparent;\n}\n\n.btn-outline-warning:not(:disabled):not(.disabled):active, .btn-outline-warning:not(:disabled):not(.disabled).active,\n.show > .btn-outline-warning.dropdown-toggle {\n color: #212529;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-outline-warning:not(:disabled):not(.disabled):active:focus, .btn-outline-warning:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-warning.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);\n}\n\n.btn-outline-danger {\n color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-outline-danger:hover {\n color: #fff;\n background-color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-outline-danger:focus, .btn-outline-danger.focus {\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);\n}\n\n.btn-outline-danger.disabled, .btn-outline-danger:disabled {\n color: #dc3545;\n background-color: transparent;\n}\n\n.btn-outline-danger:not(:disabled):not(.disabled):active, .btn-outline-danger:not(:disabled):not(.disabled).active,\n.show > .btn-outline-danger.dropdown-toggle {\n color: #fff;\n background-color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-outline-danger:not(:disabled):not(.disabled):active:focus, .btn-outline-danger:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-danger.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);\n}\n\n.btn-outline-light {\n color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-outline-light:hover {\n color: #212529;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-outline-light:focus, .btn-outline-light.focus {\n box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);\n}\n\n.btn-outline-light.disabled, .btn-outline-light:disabled {\n color: #f8f9fa;\n background-color: transparent;\n}\n\n.btn-outline-light:not(:disabled):not(.disabled):active, .btn-outline-light:not(:disabled):not(.disabled).active,\n.show > .btn-outline-light.dropdown-toggle {\n color: #212529;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-outline-light:not(:disabled):not(.disabled):active:focus, .btn-outline-light:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-light.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);\n}\n\n.btn-outline-dark {\n color: #343a40;\n border-color: #343a40;\n}\n\n.btn-outline-dark:hover {\n color: #fff;\n background-color: #343a40;\n border-color: #343a40;\n}\n\n.btn-outline-dark:focus, .btn-outline-dark.focus {\n box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);\n}\n\n.btn-outline-dark.disabled, .btn-outline-dark:disabled {\n color: #343a40;\n background-color: transparent;\n}\n\n.btn-outline-dark:not(:disabled):not(.disabled):active, .btn-outline-dark:not(:disabled):not(.disabled).active,\n.show > .btn-outline-dark.dropdown-toggle {\n color: #fff;\n background-color: #343a40;\n border-color: #343a40;\n}\n\n.btn-outline-dark:not(:disabled):not(.disabled):active:focus, .btn-outline-dark:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-dark.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);\n}\n\n.btn-link {\n font-weight: 400;\n color: #007bff;\n text-decoration: none;\n}\n\n.btn-link:hover {\n color: #0056b3;\n text-decoration: underline;\n}\n\n.btn-link:focus, .btn-link.focus {\n text-decoration: underline;\n box-shadow: none;\n}\n\n.btn-link:disabled, .btn-link.disabled {\n color: #6c757d;\n pointer-events: none;\n}\n\n.btn-lg, .btn-group-lg > .btn {\n padding: 0.5rem 1rem;\n font-size: 1.25rem;\n line-height: 1.5;\n border-radius: 0.3rem;\n}\n\n.btn-sm, .btn-group-sm > .btn {\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n line-height: 1.5;\n border-radius: 0.2rem;\n}\n\n.btn-block {\n display: block;\n width: 100%;\n}\n\n.btn-block + .btn-block {\n margin-top: 0.5rem;\n}\n\ninput[type=\"submit\"].btn-block,\ninput[type=\"reset\"].btn-block,\ninput[type=\"button\"].btn-block {\n width: 100%;\n}\n\n.fade {\n transition: opacity 0.15s linear;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .fade {\n transition: none;\n }\n}\n\n.fade:not(.show) {\n opacity: 0;\n}\n\n.collapse:not(.show) {\n display: none;\n}\n\n.collapsing {\n position: relative;\n height: 0;\n overflow: hidden;\n transition: height 0.35s ease;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .collapsing {\n transition: none;\n }\n}\n\n.dropup,\n.dropright,\n.dropdown,\n.dropleft {\n position: relative;\n}\n\n.dropdown-toggle {\n white-space: nowrap;\n}\n\n.dropdown-toggle::after {\n display: inline-block;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0.3em solid;\n border-right: 0.3em solid transparent;\n border-bottom: 0;\n border-left: 0.3em solid transparent;\n}\n\n.dropdown-toggle:empty::after {\n margin-left: 0;\n}\n\n.dropdown-menu {\n position: absolute;\n top: 100%;\n left: 0;\n z-index: 1000;\n display: none;\n float: left;\n min-width: 10rem;\n padding: 0.5rem 0;\n margin: 0.125rem 0 0;\n font-size: 1rem;\n color: #212529;\n text-align: left;\n list-style: none;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.15);\n border-radius: 0.25rem;\n}\n\n.dropdown-menu-left {\n right: auto;\n left: 0;\n}\n\n.dropdown-menu-right {\n right: 0;\n left: auto;\n}\n\n@media (min-width: 576px) {\n .dropdown-menu-sm-left {\n right: auto;\n left: 0;\n }\n .dropdown-menu-sm-right {\n right: 0;\n left: auto;\n }\n}\n\n@media (min-width: 768px) {\n .dropdown-menu-md-left {\n right: auto;\n left: 0;\n }\n .dropdown-menu-md-right {\n right: 0;\n left: auto;\n }\n}\n\n@media (min-width: 992px) {\n .dropdown-menu-lg-left {\n right: auto;\n left: 0;\n }\n .dropdown-menu-lg-right {\n right: 0;\n left: auto;\n }\n}\n\n@media (min-width: 1200px) {\n .dropdown-menu-xl-left {\n right: auto;\n left: 0;\n }\n .dropdown-menu-xl-right {\n right: 0;\n left: auto;\n }\n}\n\n.dropup .dropdown-menu {\n top: auto;\n bottom: 100%;\n margin-top: 0;\n margin-bottom: 0.125rem;\n}\n\n.dropup .dropdown-toggle::after {\n display: inline-block;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0;\n border-right: 0.3em solid transparent;\n border-bottom: 0.3em solid;\n border-left: 0.3em solid transparent;\n}\n\n.dropup .dropdown-toggle:empty::after {\n margin-left: 0;\n}\n\n.dropright .dropdown-menu {\n top: 0;\n right: auto;\n left: 100%;\n margin-top: 0;\n margin-left: 0.125rem;\n}\n\n.dropright .dropdown-toggle::after {\n display: inline-block;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0.3em solid transparent;\n border-right: 0;\n border-bottom: 0.3em solid transparent;\n border-left: 0.3em solid;\n}\n\n.dropright .dropdown-toggle:empty::after {\n margin-left: 0;\n}\n\n.dropright .dropdown-toggle::after {\n vertical-align: 0;\n}\n\n.dropleft .dropdown-menu {\n top: 0;\n right: 100%;\n left: auto;\n margin-top: 0;\n margin-right: 0.125rem;\n}\n\n.dropleft .dropdown-toggle::after {\n display: inline-block;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n}\n\n.dropleft .dropdown-toggle::after {\n display: none;\n}\n\n.dropleft .dropdown-toggle::before {\n display: inline-block;\n margin-right: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0.3em solid transparent;\n border-right: 0.3em solid;\n border-bottom: 0.3em solid transparent;\n}\n\n.dropleft .dropdown-toggle:empty::after {\n margin-left: 0;\n}\n\n.dropleft .dropdown-toggle::before {\n vertical-align: 0;\n}\n\n.dropdown-menu[x-placement^=\"top\"], .dropdown-menu[x-placement^=\"right\"], .dropdown-menu[x-placement^=\"bottom\"], .dropdown-menu[x-placement^=\"left\"] {\n right: auto;\n bottom: auto;\n}\n\n.dropdown-divider {\n height: 0;\n margin: 0.5rem 0;\n overflow: hidden;\n border-top: 1px solid #e9ecef;\n}\n\n.dropdown-item {\n display: block;\n width: 100%;\n padding: 0.25rem 1.5rem;\n clear: both;\n font-weight: 400;\n color: #212529;\n text-align: inherit;\n white-space: nowrap;\n background-color: transparent;\n border: 0;\n}\n\n.dropdown-item:hover, .dropdown-item:focus {\n color: #16181b;\n text-decoration: none;\n background-color: #f8f9fa;\n}\n\n.dropdown-item.active, .dropdown-item:active {\n color: #fff;\n text-decoration: none;\n background-color: #007bff;\n}\n\n.dropdown-item.disabled, .dropdown-item:disabled {\n color: #6c757d;\n pointer-events: none;\n background-color: transparent;\n}\n\n.dropdown-menu.show {\n display: block;\n}\n\n.dropdown-header {\n display: block;\n padding: 0.5rem 1.5rem;\n margin-bottom: 0;\n font-size: 0.875rem;\n color: #6c757d;\n white-space: nowrap;\n}\n\n.dropdown-item-text {\n display: block;\n padding: 0.25rem 1.5rem;\n color: #212529;\n}\n\n.btn-group,\n.btn-group-vertical {\n position: relative;\n display: inline-flex;\n vertical-align: middle;\n}\n\n.btn-group > .btn,\n.btn-group-vertical > .btn {\n position: relative;\n flex: 1 1 auto;\n}\n\n.btn-group > .btn:hover,\n.btn-group-vertical > .btn:hover {\n z-index: 1;\n}\n\n.btn-group > .btn:focus, .btn-group > .btn:active, .btn-group > .btn.active,\n.btn-group-vertical > .btn:focus,\n.btn-group-vertical > .btn:active,\n.btn-group-vertical > .btn.active {\n z-index: 1;\n}\n\n.btn-toolbar {\n display: flex;\n flex-wrap: wrap;\n justify-content: flex-start;\n}\n\n.btn-toolbar .input-group {\n width: auto;\n}\n\n.btn-group > .btn:not(:first-child),\n.btn-group > .btn-group:not(:first-child) {\n margin-left: -1px;\n}\n\n.btn-group > .btn:not(:last-child):not(.dropdown-toggle),\n.btn-group > .btn-group:not(:last-child) > .btn {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.btn-group > .btn:not(:first-child),\n.btn-group > .btn-group:not(:first-child) > .btn {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.dropdown-toggle-split {\n padding-right: 0.5625rem;\n padding-left: 0.5625rem;\n}\n\n.dropdown-toggle-split::after,\n.dropup .dropdown-toggle-split::after,\n.dropright .dropdown-toggle-split::after {\n margin-left: 0;\n}\n\n.dropleft .dropdown-toggle-split::before {\n margin-right: 0;\n}\n\n.btn-sm + .dropdown-toggle-split, .btn-group-sm > .btn + .dropdown-toggle-split {\n padding-right: 0.375rem;\n padding-left: 0.375rem;\n}\n\n.btn-lg + .dropdown-toggle-split, .btn-group-lg > .btn + .dropdown-toggle-split {\n padding-right: 0.75rem;\n padding-left: 0.75rem;\n}\n\n.btn-group-vertical {\n flex-direction: column;\n align-items: flex-start;\n justify-content: center;\n}\n\n.btn-group-vertical > .btn,\n.btn-group-vertical > .btn-group {\n width: 100%;\n}\n\n.btn-group-vertical > .btn:not(:first-child),\n.btn-group-vertical > .btn-group:not(:first-child) {\n margin-top: -1px;\n}\n\n.btn-group-vertical > .btn:not(:last-child):not(.dropdown-toggle),\n.btn-group-vertical > .btn-group:not(:last-child) > .btn {\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.btn-group-vertical > .btn:not(:first-child),\n.btn-group-vertical > .btn-group:not(:first-child) > .btn {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n\n.btn-group-toggle > .btn,\n.btn-group-toggle > .btn-group > .btn {\n margin-bottom: 0;\n}\n\n.btn-group-toggle > .btn input[type=\"radio\"],\n.btn-group-toggle > .btn input[type=\"checkbox\"],\n.btn-group-toggle > .btn-group > .btn input[type=\"radio\"],\n.btn-group-toggle > .btn-group > .btn input[type=\"checkbox\"] {\n position: absolute;\n clip: rect(0, 0, 0, 0);\n pointer-events: none;\n}\n\n.input-group {\n position: relative;\n display: flex;\n flex-wrap: wrap;\n align-items: stretch;\n width: 100%;\n}\n\n.input-group > .form-control,\n.input-group > .form-control-plaintext,\n.input-group > .custom-select,\n.input-group > .custom-file {\n position: relative;\n flex: 1 1 0%;\n min-width: 0;\n margin-bottom: 0;\n}\n\n.input-group > .form-control + .form-control,\n.input-group > .form-control + .custom-select,\n.input-group > .form-control + .custom-file,\n.input-group > .form-control-plaintext + .form-control,\n.input-group > .form-control-plaintext + .custom-select,\n.input-group > .form-control-plaintext + .custom-file,\n.input-group > .custom-select + .form-control,\n.input-group > .custom-select + .custom-select,\n.input-group > .custom-select + .custom-file,\n.input-group > .custom-file + .form-control,\n.input-group > .custom-file + .custom-select,\n.input-group > .custom-file + .custom-file {\n margin-left: -1px;\n}\n\n.input-group > .form-control:focus,\n.input-group > .custom-select:focus,\n.input-group > .custom-file .custom-file-input:focus ~ .custom-file-label {\n z-index: 3;\n}\n\n.input-group > .custom-file .custom-file-input:focus {\n z-index: 4;\n}\n\n.input-group > .form-control:not(:last-child),\n.input-group > .custom-select:not(:last-child) {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.input-group > .form-control:not(:first-child),\n.input-group > .custom-select:not(:first-child) {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.input-group > .custom-file {\n display: flex;\n align-items: center;\n}\n\n.input-group > .custom-file:not(:last-child) .custom-file-label,\n.input-group > .custom-file:not(:last-child) .custom-file-label::after {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.input-group > .custom-file:not(:first-child) .custom-file-label {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.input-group-prepend,\n.input-group-append {\n display: flex;\n}\n\n.input-group-prepend .btn,\n.input-group-append .btn {\n position: relative;\n z-index: 2;\n}\n\n.input-group-prepend .btn:focus,\n.input-group-append .btn:focus {\n z-index: 3;\n}\n\n.input-group-prepend .btn + .btn,\n.input-group-prepend .btn + .input-group-text,\n.input-group-prepend .input-group-text + .input-group-text,\n.input-group-prepend .input-group-text + .btn,\n.input-group-append .btn + .btn,\n.input-group-append .btn + .input-group-text,\n.input-group-append .input-group-text + .input-group-text,\n.input-group-append .input-group-text + .btn {\n margin-left: -1px;\n}\n\n.input-group-prepend {\n margin-right: -1px;\n}\n\n.input-group-append {\n margin-left: -1px;\n}\n\n.input-group-text {\n display: flex;\n align-items: center;\n padding: 0.375rem 0.75rem;\n margin-bottom: 0;\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #495057;\n text-align: center;\n white-space: nowrap;\n background-color: #e9ecef;\n border: 1px solid #ced4da;\n border-radius: 0.25rem;\n}\n\n.input-group-text input[type=\"radio\"],\n.input-group-text input[type=\"checkbox\"] {\n margin-top: 0;\n}\n\n.input-group-lg > .form-control:not(textarea),\n.input-group-lg > .custom-select {\n height: calc(1.5em + 1rem + 2px);\n}\n\n.input-group-lg > .form-control,\n.input-group-lg > .custom-select,\n.input-group-lg > .input-group-prepend > .input-group-text,\n.input-group-lg > .input-group-append > .input-group-text,\n.input-group-lg > .input-group-prepend > .btn,\n.input-group-lg > .input-group-append > .btn {\n padding: 0.5rem 1rem;\n font-size: 1.25rem;\n line-height: 1.5;\n border-radius: 0.3rem;\n}\n\n.input-group-sm > .form-control:not(textarea),\n.input-group-sm > .custom-select {\n height: calc(1.5em + 0.5rem + 2px);\n}\n\n.input-group-sm > .form-control,\n.input-group-sm > .custom-select,\n.input-group-sm > .input-group-prepend > .input-group-text,\n.input-group-sm > .input-group-append > .input-group-text,\n.input-group-sm > .input-group-prepend > .btn,\n.input-group-sm > .input-group-append > .btn {\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n line-height: 1.5;\n border-radius: 0.2rem;\n}\n\n.input-group-lg > .custom-select,\n.input-group-sm > .custom-select {\n padding-right: 1.75rem;\n}\n\n.input-group > .input-group-prepend > .btn,\n.input-group > .input-group-prepend > .input-group-text,\n.input-group > .input-group-append:not(:last-child) > .btn,\n.input-group > .input-group-append:not(:last-child) > .input-group-text,\n.input-group > .input-group-append:last-child > .btn:not(:last-child):not(.dropdown-toggle),\n.input-group > .input-group-append:last-child > .input-group-text:not(:last-child) {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.input-group > .input-group-append > .btn,\n.input-group > .input-group-append > .input-group-text,\n.input-group > .input-group-prepend:not(:first-child) > .btn,\n.input-group > .input-group-prepend:not(:first-child) > .input-group-text,\n.input-group > .input-group-prepend:first-child > .btn:not(:first-child),\n.input-group > .input-group-prepend:first-child > .input-group-text:not(:first-child) {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.custom-control {\n position: relative;\n display: block;\n min-height: 1.5rem;\n padding-left: 1.5rem;\n}\n\n.custom-control-inline {\n display: inline-flex;\n margin-right: 1rem;\n}\n\n.custom-control-input {\n position: absolute;\n left: 0;\n z-index: -1;\n width: 1rem;\n height: 1.25rem;\n opacity: 0;\n}\n\n.custom-control-input:checked ~ .custom-control-label::before {\n color: #fff;\n border-color: #007bff;\n background-color: #007bff;\n}\n\n.custom-control-input:focus ~ .custom-control-label::before {\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.custom-control-input:focus:not(:checked) ~ .custom-control-label::before {\n border-color: #80bdff;\n}\n\n.custom-control-input:not(:disabled):active ~ .custom-control-label::before {\n color: #fff;\n background-color: #b3d7ff;\n border-color: #b3d7ff;\n}\n\n.custom-control-input[disabled] ~ .custom-control-label, .custom-control-input:disabled ~ .custom-control-label {\n color: #6c757d;\n}\n\n.custom-control-input[disabled] ~ .custom-control-label::before, .custom-control-input:disabled ~ .custom-control-label::before {\n background-color: #e9ecef;\n}\n\n.custom-control-label {\n position: relative;\n margin-bottom: 0;\n vertical-align: top;\n}\n\n.custom-control-label::before {\n position: absolute;\n top: 0.25rem;\n left: -1.5rem;\n display: block;\n width: 1rem;\n height: 1rem;\n pointer-events: none;\n content: \"\";\n background-color: #fff;\n border: #adb5bd solid 1px;\n}\n\n.custom-control-label::after {\n position: absolute;\n top: 0.25rem;\n left: -1.5rem;\n display: block;\n width: 1rem;\n height: 1rem;\n content: \"\";\n background: no-repeat 50% / 50% 50%;\n}\n\n.custom-checkbox .custom-control-label::before {\n border-radius: 0.25rem;\n}\n\n.custom-checkbox .custom-control-input:checked ~ .custom-control-label::after {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26l2.974 2.99L8 2.193z'/%3e%3c/svg%3e\");\n}\n\n.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::before {\n border-color: #007bff;\n background-color: #007bff;\n}\n\n.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::after {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='4' viewBox='0 0 4 4'%3e%3cpath stroke='%23fff' d='M0 2h4'/%3e%3c/svg%3e\");\n}\n\n.custom-checkbox .custom-control-input:disabled:checked ~ .custom-control-label::before {\n background-color: rgba(0, 123, 255, 0.5);\n}\n\n.custom-checkbox .custom-control-input:disabled:indeterminate ~ .custom-control-label::before {\n background-color: rgba(0, 123, 255, 0.5);\n}\n\n.custom-radio .custom-control-label::before {\n border-radius: 50%;\n}\n\n.custom-radio .custom-control-input:checked ~ .custom-control-label::after {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e\");\n}\n\n.custom-radio .custom-control-input:disabled:checked ~ .custom-control-label::before {\n background-color: rgba(0, 123, 255, 0.5);\n}\n\n.custom-switch {\n padding-left: 2.25rem;\n}\n\n.custom-switch .custom-control-label::before {\n left: -2.25rem;\n width: 1.75rem;\n pointer-events: all;\n border-radius: 0.5rem;\n}\n\n.custom-switch .custom-control-label::after {\n top: calc(0.25rem + 2px);\n left: calc(-2.25rem + 2px);\n width: calc(1rem - 4px);\n height: calc(1rem - 4px);\n background-color: #adb5bd;\n border-radius: 0.5rem;\n transition: transform 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .custom-switch .custom-control-label::after {\n transition: none;\n }\n}\n\n.custom-switch .custom-control-input:checked ~ .custom-control-label::after {\n background-color: #fff;\n transform: translateX(0.75rem);\n}\n\n.custom-switch .custom-control-input:disabled:checked ~ .custom-control-label::before {\n background-color: rgba(0, 123, 255, 0.5);\n}\n\n.custom-select {\n display: inline-block;\n width: 100%;\n height: calc(1.5em + 0.75rem + 2px);\n padding: 0.375rem 1.75rem 0.375rem 0.75rem;\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #495057;\n vertical-align: middle;\n background: #fff url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e\") no-repeat right 0.75rem center/8px 10px;\n border: 1px solid #ced4da;\n border-radius: 0.25rem;\n appearance: none;\n}\n\n.custom-select:focus {\n border-color: #80bdff;\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.custom-select:focus::-ms-value {\n color: #495057;\n background-color: #fff;\n}\n\n.custom-select[multiple], .custom-select[size]:not([size=\"1\"]) {\n height: auto;\n padding-right: 0.75rem;\n background-image: none;\n}\n\n.custom-select:disabled {\n color: #6c757d;\n background-color: #e9ecef;\n}\n\n.custom-select::-ms-expand {\n display: none;\n}\n\n.custom-select:-moz-focusring {\n color: transparent;\n text-shadow: 0 0 0 #495057;\n}\n\n.custom-select-sm {\n height: calc(1.5em + 0.5rem + 2px);\n padding-top: 0.25rem;\n padding-bottom: 0.25rem;\n padding-left: 0.5rem;\n font-size: 0.875rem;\n}\n\n.custom-select-lg {\n height: calc(1.5em + 1rem + 2px);\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n padding-left: 1rem;\n font-size: 1.25rem;\n}\n\n.custom-file {\n position: relative;\n display: inline-block;\n width: 100%;\n height: calc(1.5em + 0.75rem + 2px);\n margin-bottom: 0;\n}\n\n.custom-file-input {\n position: relative;\n z-index: 2;\n width: 100%;\n height: calc(1.5em + 0.75rem + 2px);\n margin: 0;\n opacity: 0;\n}\n\n.custom-file-input:focus ~ .custom-file-label {\n border-color: #80bdff;\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.custom-file-input[disabled] ~ .custom-file-label,\n.custom-file-input:disabled ~ .custom-file-label {\n background-color: #e9ecef;\n}\n\n.custom-file-input:lang(en) ~ .custom-file-label::after {\n content: \"Browse\";\n}\n\n.custom-file-input ~ .custom-file-label[data-browse]::after {\n content: attr(data-browse);\n}\n\n.custom-file-label {\n position: absolute;\n top: 0;\n right: 0;\n left: 0;\n z-index: 1;\n height: calc(1.5em + 0.75rem + 2px);\n padding: 0.375rem 0.75rem;\n font-weight: 400;\n line-height: 1.5;\n color: #495057;\n background-color: #fff;\n border: 1px solid #ced4da;\n border-radius: 0.25rem;\n}\n\n.custom-file-label::after {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n z-index: 3;\n display: block;\n height: calc(1.5em + 0.75rem);\n padding: 0.375rem 0.75rem;\n line-height: 1.5;\n color: #495057;\n content: \"Browse\";\n background-color: #e9ecef;\n border-left: inherit;\n border-radius: 0 0.25rem 0.25rem 0;\n}\n\n.custom-range {\n width: 100%;\n height: 1.4rem;\n padding: 0;\n background-color: transparent;\n appearance: none;\n}\n\n.custom-range:focus {\n outline: none;\n}\n\n.custom-range:focus::-webkit-slider-thumb {\n box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.custom-range:focus::-moz-range-thumb {\n box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.custom-range:focus::-ms-thumb {\n box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.custom-range::-moz-focus-outer {\n border: 0;\n}\n\n.custom-range::-webkit-slider-thumb {\n width: 1rem;\n height: 1rem;\n margin-top: -0.25rem;\n background-color: #007bff;\n border: 0;\n border-radius: 1rem;\n transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n appearance: none;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .custom-range::-webkit-slider-thumb {\n transition: none;\n }\n}\n\n.custom-range::-webkit-slider-thumb:active {\n background-color: #b3d7ff;\n}\n\n.custom-range::-webkit-slider-runnable-track {\n width: 100%;\n height: 0.5rem;\n color: transparent;\n cursor: pointer;\n background-color: #dee2e6;\n border-color: transparent;\n border-radius: 1rem;\n}\n\n.custom-range::-moz-range-thumb {\n width: 1rem;\n height: 1rem;\n background-color: #007bff;\n border: 0;\n border-radius: 1rem;\n transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n appearance: none;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .custom-range::-moz-range-thumb {\n transition: none;\n }\n}\n\n.custom-range::-moz-range-thumb:active {\n background-color: #b3d7ff;\n}\n\n.custom-range::-moz-range-track {\n width: 100%;\n height: 0.5rem;\n color: transparent;\n cursor: pointer;\n background-color: #dee2e6;\n border-color: transparent;\n border-radius: 1rem;\n}\n\n.custom-range::-ms-thumb {\n width: 1rem;\n height: 1rem;\n margin-top: 0;\n margin-right: 0.2rem;\n margin-left: 0.2rem;\n background-color: #007bff;\n border: 0;\n border-radius: 1rem;\n transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n appearance: none;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .custom-range::-ms-thumb {\n transition: none;\n }\n}\n\n.custom-range::-ms-thumb:active {\n background-color: #b3d7ff;\n}\n\n.custom-range::-ms-track {\n width: 100%;\n height: 0.5rem;\n color: transparent;\n cursor: pointer;\n background-color: transparent;\n border-color: transparent;\n border-width: 0.5rem;\n}\n\n.custom-range::-ms-fill-lower {\n background-color: #dee2e6;\n border-radius: 1rem;\n}\n\n.custom-range::-ms-fill-upper {\n margin-right: 15px;\n background-color: #dee2e6;\n border-radius: 1rem;\n}\n\n.custom-range:disabled::-webkit-slider-thumb {\n background-color: #adb5bd;\n}\n\n.custom-range:disabled::-webkit-slider-runnable-track {\n cursor: default;\n}\n\n.custom-range:disabled::-moz-range-thumb {\n background-color: #adb5bd;\n}\n\n.custom-range:disabled::-moz-range-track {\n cursor: default;\n}\n\n.custom-range:disabled::-ms-thumb {\n background-color: #adb5bd;\n}\n\n.custom-control-label::before,\n.custom-file-label,\n.custom-select {\n transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .custom-control-label::before,\n .custom-file-label,\n .custom-select {\n transition: none;\n }\n}\n\n.nav {\n display: flex;\n flex-wrap: wrap;\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n}\n\n.nav-link {\n display: block;\n padding: 0.5rem 1rem;\n}\n\n.nav-link:hover, .nav-link:focus {\n text-decoration: none;\n}\n\n.nav-link.disabled {\n color: #6c757d;\n pointer-events: none;\n cursor: default;\n}\n\n.nav-tabs {\n border-bottom: 1px solid #dee2e6;\n}\n\n.nav-tabs .nav-item {\n margin-bottom: -1px;\n}\n\n.nav-tabs .nav-link {\n border: 1px solid transparent;\n border-top-left-radius: 0.25rem;\n border-top-right-radius: 0.25rem;\n}\n\n.nav-tabs .nav-link:hover, .nav-tabs .nav-link:focus {\n border-color: #e9ecef #e9ecef #dee2e6;\n}\n\n.nav-tabs .nav-link.disabled {\n color: #6c757d;\n background-color: transparent;\n border-color: transparent;\n}\n\n.nav-tabs .nav-link.active,\n.nav-tabs .nav-item.show .nav-link {\n color: #495057;\n background-color: #fff;\n border-color: #dee2e6 #dee2e6 #fff;\n}\n\n.nav-tabs .dropdown-menu {\n margin-top: -1px;\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n\n.nav-pills .nav-link {\n border-radius: 0.25rem;\n}\n\n.nav-pills .nav-link.active,\n.nav-pills .show > .nav-link {\n color: #fff;\n background-color: #007bff;\n}\n\n.nav-fill .nav-item {\n flex: 1 1 auto;\n text-align: center;\n}\n\n.nav-justified .nav-item {\n flex-basis: 0;\n flex-grow: 1;\n text-align: center;\n}\n\n.tab-content > .tab-pane {\n display: none;\n}\n\n.tab-content > .active {\n display: block;\n}\n\n.navbar {\n position: relative;\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: space-between;\n padding: 0.5rem 1rem;\n}\n\n.navbar .container,\n.navbar .container-fluid, .navbar .container-sm, .navbar .container-md, .navbar .container-lg, .navbar .container-xl {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: space-between;\n}\n\n.navbar-brand {\n display: inline-block;\n padding-top: 0.3125rem;\n padding-bottom: 0.3125rem;\n margin-right: 1rem;\n font-size: 1.25rem;\n line-height: inherit;\n white-space: nowrap;\n}\n\n.navbar-brand:hover, .navbar-brand:focus {\n text-decoration: none;\n}\n\n.navbar-nav {\n display: flex;\n flex-direction: column;\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n}\n\n.navbar-nav .nav-link {\n padding-right: 0;\n padding-left: 0;\n}\n\n.navbar-nav .dropdown-menu {\n position: static;\n float: none;\n}\n\n.navbar-text {\n display: inline-block;\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n}\n\n.navbar-collapse {\n flex-basis: 100%;\n flex-grow: 1;\n align-items: center;\n}\n\n.navbar-toggler {\n padding: 0.25rem 0.75rem;\n font-size: 1.25rem;\n line-height: 1;\n background-color: transparent;\n border: 1px solid transparent;\n border-radius: 0.25rem;\n}\n\n.navbar-toggler:hover, .navbar-toggler:focus {\n text-decoration: none;\n}\n\n.navbar-toggler-icon {\n display: inline-block;\n width: 1.5em;\n height: 1.5em;\n vertical-align: middle;\n content: \"\";\n background: no-repeat center center;\n background-size: 100% 100%;\n}\n\n@media (max-width: 575.98px) {\n .navbar-expand-sm > .container,\n .navbar-expand-sm > .container-fluid, .navbar-expand-sm > .container-sm, .navbar-expand-sm > .container-md, .navbar-expand-sm > .container-lg, .navbar-expand-sm > .container-xl {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n@media (min-width: 576px) {\n .navbar-expand-sm {\n flex-flow: row nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-sm .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-sm .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-sm .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .navbar-expand-sm > .container,\n .navbar-expand-sm > .container-fluid, .navbar-expand-sm > .container-sm, .navbar-expand-sm > .container-md, .navbar-expand-sm > .container-lg, .navbar-expand-sm > .container-xl {\n flex-wrap: nowrap;\n }\n .navbar-expand-sm .navbar-collapse {\n display: flex !important;\n flex-basis: auto;\n }\n .navbar-expand-sm .navbar-toggler {\n display: none;\n }\n}\n\n@media (max-width: 767.98px) {\n .navbar-expand-md > .container,\n .navbar-expand-md > .container-fluid, .navbar-expand-md > .container-sm, .navbar-expand-md > .container-md, .navbar-expand-md > .container-lg, .navbar-expand-md > .container-xl {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n@media (min-width: 768px) {\n .navbar-expand-md {\n flex-flow: row nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-md .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-md .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-md .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .navbar-expand-md > .container,\n .navbar-expand-md > .container-fluid, .navbar-expand-md > .container-sm, .navbar-expand-md > .container-md, .navbar-expand-md > .container-lg, .navbar-expand-md > .container-xl {\n flex-wrap: nowrap;\n }\n .navbar-expand-md .navbar-collapse {\n display: flex !important;\n flex-basis: auto;\n }\n .navbar-expand-md .navbar-toggler {\n display: none;\n }\n}\n\n@media (max-width: 991.98px) {\n .navbar-expand-lg > .container,\n .navbar-expand-lg > .container-fluid, .navbar-expand-lg > .container-sm, .navbar-expand-lg > .container-md, .navbar-expand-lg > .container-lg, .navbar-expand-lg > .container-xl {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n@media (min-width: 992px) {\n .navbar-expand-lg {\n flex-flow: row nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-lg .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-lg .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-lg .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .navbar-expand-lg > .container,\n .navbar-expand-lg > .container-fluid, .navbar-expand-lg > .container-sm, .navbar-expand-lg > .container-md, .navbar-expand-lg > .container-lg, .navbar-expand-lg > .container-xl {\n flex-wrap: nowrap;\n }\n .navbar-expand-lg .navbar-collapse {\n display: flex !important;\n flex-basis: auto;\n }\n .navbar-expand-lg .navbar-toggler {\n display: none;\n }\n}\n\n@media (max-width: 1199.98px) {\n .navbar-expand-xl > .container,\n .navbar-expand-xl > .container-fluid, .navbar-expand-xl > .container-sm, .navbar-expand-xl > .container-md, .navbar-expand-xl > .container-lg, .navbar-expand-xl > .container-xl {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n@media (min-width: 1200px) {\n .navbar-expand-xl {\n flex-flow: row nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-xl .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-xl .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-xl .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .navbar-expand-xl > .container,\n .navbar-expand-xl > .container-fluid, .navbar-expand-xl > .container-sm, .navbar-expand-xl > .container-md, .navbar-expand-xl > .container-lg, .navbar-expand-xl > .container-xl {\n flex-wrap: nowrap;\n }\n .navbar-expand-xl .navbar-collapse {\n display: flex !important;\n flex-basis: auto;\n }\n .navbar-expand-xl .navbar-toggler {\n display: none;\n }\n}\n\n.navbar-expand {\n flex-flow: row nowrap;\n justify-content: flex-start;\n}\n\n.navbar-expand > .container,\n.navbar-expand > .container-fluid, .navbar-expand > .container-sm, .navbar-expand > .container-md, .navbar-expand > .container-lg, .navbar-expand > .container-xl {\n padding-right: 0;\n padding-left: 0;\n}\n\n.navbar-expand .navbar-nav {\n flex-direction: row;\n}\n\n.navbar-expand .navbar-nav .dropdown-menu {\n position: absolute;\n}\n\n.navbar-expand .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n}\n\n.navbar-expand > .container,\n.navbar-expand > .container-fluid, .navbar-expand > .container-sm, .navbar-expand > .container-md, .navbar-expand > .container-lg, .navbar-expand > .container-xl {\n flex-wrap: nowrap;\n}\n\n.navbar-expand .navbar-collapse {\n display: flex !important;\n flex-basis: auto;\n}\n\n.navbar-expand .navbar-toggler {\n display: none;\n}\n\n.navbar-light .navbar-brand {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-brand:hover, .navbar-light .navbar-brand:focus {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-nav .nav-link {\n color: rgba(0, 0, 0, 0.5);\n}\n\n.navbar-light .navbar-nav .nav-link:hover, .navbar-light .navbar-nav .nav-link:focus {\n color: rgba(0, 0, 0, 0.7);\n}\n\n.navbar-light .navbar-nav .nav-link.disabled {\n color: rgba(0, 0, 0, 0.3);\n}\n\n.navbar-light .navbar-nav .show > .nav-link,\n.navbar-light .navbar-nav .active > .nav-link,\n.navbar-light .navbar-nav .nav-link.show,\n.navbar-light .navbar-nav .nav-link.active {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-toggler {\n color: rgba(0, 0, 0, 0.5);\n border-color: rgba(0, 0, 0, 0.1);\n}\n\n.navbar-light .navbar-toggler-icon {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba(0, 0, 0, 0.5)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e\");\n}\n\n.navbar-light .navbar-text {\n color: rgba(0, 0, 0, 0.5);\n}\n\n.navbar-light .navbar-text a {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-text a:hover, .navbar-light .navbar-text a:focus {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-dark .navbar-brand {\n color: #fff;\n}\n\n.navbar-dark .navbar-brand:hover, .navbar-dark .navbar-brand:focus {\n color: #fff;\n}\n\n.navbar-dark .navbar-nav .nav-link {\n color: rgba(255, 255, 255, 0.5);\n}\n\n.navbar-dark .navbar-nav .nav-link:hover, .navbar-dark .navbar-nav .nav-link:focus {\n color: rgba(255, 255, 255, 0.75);\n}\n\n.navbar-dark .navbar-nav .nav-link.disabled {\n color: rgba(255, 255, 255, 0.25);\n}\n\n.navbar-dark .navbar-nav .show > .nav-link,\n.navbar-dark .navbar-nav .active > .nav-link,\n.navbar-dark .navbar-nav .nav-link.show,\n.navbar-dark .navbar-nav .nav-link.active {\n color: #fff;\n}\n\n.navbar-dark .navbar-toggler {\n color: rgba(255, 255, 255, 0.5);\n border-color: rgba(255, 255, 255, 0.1);\n}\n\n.navbar-dark .navbar-toggler-icon {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba(255, 255, 255, 0.5)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e\");\n}\n\n.navbar-dark .navbar-text {\n color: rgba(255, 255, 255, 0.5);\n}\n\n.navbar-dark .navbar-text a {\n color: #fff;\n}\n\n.navbar-dark .navbar-text a:hover, .navbar-dark .navbar-text a:focus {\n color: #fff;\n}\n\n.card {\n position: relative;\n display: flex;\n flex-direction: column;\n min-width: 0;\n word-wrap: break-word;\n background-color: #fff;\n background-clip: border-box;\n border: 1px solid rgba(0, 0, 0, 0.125);\n border-radius: 0.25rem;\n}\n\n.card > hr {\n margin-right: 0;\n margin-left: 0;\n}\n\n.card > .list-group:first-child .list-group-item:first-child {\n border-top-left-radius: 0.25rem;\n border-top-right-radius: 0.25rem;\n}\n\n.card > .list-group:last-child .list-group-item:last-child {\n border-bottom-right-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n}\n\n.card-body {\n flex: 1 1 auto;\n min-height: 1px;\n padding: 1.25rem;\n}\n\n.card-title {\n margin-bottom: 0.75rem;\n}\n\n.card-subtitle {\n margin-top: -0.375rem;\n margin-bottom: 0;\n}\n\n.card-text:last-child {\n margin-bottom: 0;\n}\n\n.card-link:hover {\n text-decoration: none;\n}\n\n.card-link + .card-link {\n margin-left: 1.25rem;\n}\n\n.card-header {\n padding: 0.75rem 1.25rem;\n margin-bottom: 0;\n background-color: rgba(0, 0, 0, 0.03);\n border-bottom: 1px solid rgba(0, 0, 0, 0.125);\n}\n\n.card-header:first-child {\n border-radius: calc(0.25rem - 1px) calc(0.25rem - 1px) 0 0;\n}\n\n.card-header + .list-group .list-group-item:first-child {\n border-top: 0;\n}\n\n.card-footer {\n padding: 0.75rem 1.25rem;\n background-color: rgba(0, 0, 0, 0.03);\n border-top: 1px solid rgba(0, 0, 0, 0.125);\n}\n\n.card-footer:last-child {\n border-radius: 0 0 calc(0.25rem - 1px) calc(0.25rem - 1px);\n}\n\n.card-header-tabs {\n margin-right: -0.625rem;\n margin-bottom: -0.75rem;\n margin-left: -0.625rem;\n border-bottom: 0;\n}\n\n.card-header-pills {\n margin-right: -0.625rem;\n margin-left: -0.625rem;\n}\n\n.card-img-overlay {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n padding: 1.25rem;\n}\n\n.card-img,\n.card-img-top,\n.card-img-bottom {\n flex-shrink: 0;\n width: 100%;\n}\n\n.card-img,\n.card-img-top {\n border-top-left-radius: calc(0.25rem - 1px);\n border-top-right-radius: calc(0.25rem - 1px);\n}\n\n.card-img,\n.card-img-bottom {\n border-bottom-right-radius: calc(0.25rem - 1px);\n border-bottom-left-radius: calc(0.25rem - 1px);\n}\n\n.card-deck .card {\n margin-bottom: 15px;\n}\n\n@media (min-width: 576px) {\n .card-deck {\n display: flex;\n flex-flow: row wrap;\n margin-right: -15px;\n margin-left: -15px;\n }\n .card-deck .card {\n flex: 1 0 0%;\n margin-right: 15px;\n margin-bottom: 0;\n margin-left: 15px;\n }\n}\n\n.card-group > .card {\n margin-bottom: 15px;\n}\n\n@media (min-width: 576px) {\n .card-group {\n display: flex;\n flex-flow: row wrap;\n }\n .card-group > .card {\n flex: 1 0 0%;\n margin-bottom: 0;\n }\n .card-group > .card + .card {\n margin-left: 0;\n border-left: 0;\n }\n .card-group > .card:not(:last-child) {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n }\n .card-group > .card:not(:last-child) .card-img-top,\n .card-group > .card:not(:last-child) .card-header {\n border-top-right-radius: 0;\n }\n .card-group > .card:not(:last-child) .card-img-bottom,\n .card-group > .card:not(:last-child) .card-footer {\n border-bottom-right-radius: 0;\n }\n .card-group > .card:not(:first-child) {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n }\n .card-group > .card:not(:first-child) .card-img-top,\n .card-group > .card:not(:first-child) .card-header {\n border-top-left-radius: 0;\n }\n .card-group > .card:not(:first-child) .card-img-bottom,\n .card-group > .card:not(:first-child) .card-footer {\n border-bottom-left-radius: 0;\n }\n}\n\n.card-columns .card {\n margin-bottom: 0.75rem;\n}\n\n@media (min-width: 576px) {\n .card-columns {\n column-count: 3;\n column-gap: 1.25rem;\n orphans: 1;\n widows: 1;\n }\n .card-columns .card {\n display: inline-block;\n width: 100%;\n }\n}\n\n.accordion > .card {\n overflow: hidden;\n}\n\n.accordion > .card:not(:last-of-type) {\n border-bottom: 0;\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.accordion > .card:not(:first-of-type) {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n\n.accordion > .card > .card-header {\n border-radius: 0;\n margin-bottom: -1px;\n}\n\n.breadcrumb {\n display: flex;\n flex-wrap: wrap;\n padding: 0.75rem 1rem;\n margin-bottom: 1rem;\n list-style: none;\n background-color: #e9ecef;\n border-radius: 0.25rem;\n}\n\n.breadcrumb-item + .breadcrumb-item {\n padding-left: 0.5rem;\n}\n\n.breadcrumb-item + .breadcrumb-item::before {\n display: inline-block;\n padding-right: 0.5rem;\n color: #6c757d;\n content: \"/\";\n}\n\n.breadcrumb-item + .breadcrumb-item:hover::before {\n text-decoration: underline;\n}\n\n.breadcrumb-item + .breadcrumb-item:hover::before {\n text-decoration: none;\n}\n\n.breadcrumb-item.active {\n color: #6c757d;\n}\n\n.pagination {\n display: flex;\n padding-left: 0;\n list-style: none;\n border-radius: 0.25rem;\n}\n\n.page-link {\n position: relative;\n display: block;\n padding: 0.5rem 0.75rem;\n margin-left: -1px;\n line-height: 1.25;\n color: #007bff;\n background-color: #fff;\n border: 1px solid #dee2e6;\n}\n\n.page-link:hover {\n z-index: 2;\n color: #0056b3;\n text-decoration: none;\n background-color: #e9ecef;\n border-color: #dee2e6;\n}\n\n.page-link:focus {\n z-index: 3;\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.page-item:first-child .page-link {\n margin-left: 0;\n border-top-left-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n}\n\n.page-item:last-child .page-link {\n border-top-right-radius: 0.25rem;\n border-bottom-right-radius: 0.25rem;\n}\n\n.page-item.active .page-link {\n z-index: 3;\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.page-item.disabled .page-link {\n color: #6c757d;\n pointer-events: none;\n cursor: auto;\n background-color: #fff;\n border-color: #dee2e6;\n}\n\n.pagination-lg .page-link {\n padding: 0.75rem 1.5rem;\n font-size: 1.25rem;\n line-height: 1.5;\n}\n\n.pagination-lg .page-item:first-child .page-link {\n border-top-left-radius: 0.3rem;\n border-bottom-left-radius: 0.3rem;\n}\n\n.pagination-lg .page-item:last-child .page-link {\n border-top-right-radius: 0.3rem;\n border-bottom-right-radius: 0.3rem;\n}\n\n.pagination-sm .page-link {\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n line-height: 1.5;\n}\n\n.pagination-sm .page-item:first-child .page-link {\n border-top-left-radius: 0.2rem;\n border-bottom-left-radius: 0.2rem;\n}\n\n.pagination-sm .page-item:last-child .page-link {\n border-top-right-radius: 0.2rem;\n border-bottom-right-radius: 0.2rem;\n}\n\n.badge {\n display: inline-block;\n padding: 0.25em 0.4em;\n font-size: 75%;\n font-weight: 700;\n line-height: 1;\n text-align: center;\n white-space: nowrap;\n vertical-align: baseline;\n border-radius: 0.25rem;\n transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .badge {\n transition: none;\n }\n}\n\na.badge:hover, a.badge:focus {\n text-decoration: none;\n}\n\n.badge:empty {\n display: none;\n}\n\n.btn .badge {\n position: relative;\n top: -1px;\n}\n\n.badge-pill {\n padding-right: 0.6em;\n padding-left: 0.6em;\n border-radius: 10rem;\n}\n\n.badge-primary {\n color: #fff;\n background-color: #007bff;\n}\n\na.badge-primary:hover, a.badge-primary:focus {\n color: #fff;\n background-color: #0062cc;\n}\n\na.badge-primary:focus, a.badge-primary.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5);\n}\n\n.badge-secondary {\n color: #fff;\n background-color: #6c757d;\n}\n\na.badge-secondary:hover, a.badge-secondary:focus {\n color: #fff;\n background-color: #545b62;\n}\n\na.badge-secondary:focus, a.badge-secondary.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5);\n}\n\n.badge-success {\n color: #fff;\n background-color: #28a745;\n}\n\na.badge-success:hover, a.badge-success:focus {\n color: #fff;\n background-color: #1e7e34;\n}\n\na.badge-success:focus, a.badge-success.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);\n}\n\n.badge-info {\n color: #fff;\n background-color: #17a2b8;\n}\n\na.badge-info:hover, a.badge-info:focus {\n color: #fff;\n background-color: #117a8b;\n}\n\na.badge-info:focus, a.badge-info.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);\n}\n\n.badge-warning {\n color: #212529;\n background-color: #ffc107;\n}\n\na.badge-warning:hover, a.badge-warning:focus {\n color: #212529;\n background-color: #d39e00;\n}\n\na.badge-warning:focus, a.badge-warning.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);\n}\n\n.badge-danger {\n color: #fff;\n background-color: #dc3545;\n}\n\na.badge-danger:hover, a.badge-danger:focus {\n color: #fff;\n background-color: #bd2130;\n}\n\na.badge-danger:focus, a.badge-danger.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);\n}\n\n.badge-light {\n color: #212529;\n background-color: #f8f9fa;\n}\n\na.badge-light:hover, a.badge-light:focus {\n color: #212529;\n background-color: #dae0e5;\n}\n\na.badge-light:focus, a.badge-light.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);\n}\n\n.badge-dark {\n color: #fff;\n background-color: #343a40;\n}\n\na.badge-dark:hover, a.badge-dark:focus {\n color: #fff;\n background-color: #1d2124;\n}\n\na.badge-dark:focus, a.badge-dark.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);\n}\n\n.jumbotron {\n padding: 2rem 1rem;\n margin-bottom: 2rem;\n background-color: #e9ecef;\n border-radius: 0.3rem;\n}\n\n@media (min-width: 576px) {\n .jumbotron {\n padding: 4rem 2rem;\n }\n}\n\n.jumbotron-fluid {\n padding-right: 0;\n padding-left: 0;\n border-radius: 0;\n}\n\n.alert {\n position: relative;\n padding: 0.75rem 1.25rem;\n margin-bottom: 1rem;\n border: 1px solid transparent;\n border-radius: 0.25rem;\n}\n\n.alert-heading {\n color: inherit;\n}\n\n.alert-link {\n font-weight: 700;\n}\n\n.alert-dismissible {\n padding-right: 4rem;\n}\n\n.alert-dismissible .close {\n position: absolute;\n top: 0;\n right: 0;\n padding: 0.75rem 1.25rem;\n color: inherit;\n}\n\n.alert-primary {\n color: #004085;\n background-color: #cce5ff;\n border-color: #b8daff;\n}\n\n.alert-primary hr {\n border-top-color: #9fcdff;\n}\n\n.alert-primary .alert-link {\n color: #002752;\n}\n\n.alert-secondary {\n color: #383d41;\n background-color: #e2e3e5;\n border-color: #d6d8db;\n}\n\n.alert-secondary hr {\n border-top-color: #c8cbcf;\n}\n\n.alert-secondary .alert-link {\n color: #202326;\n}\n\n.alert-success {\n color: #155724;\n background-color: #d4edda;\n border-color: #c3e6cb;\n}\n\n.alert-success hr {\n border-top-color: #b1dfbb;\n}\n\n.alert-success .alert-link {\n color: #0b2e13;\n}\n\n.alert-info {\n color: #0c5460;\n background-color: #d1ecf1;\n border-color: #bee5eb;\n}\n\n.alert-info hr {\n border-top-color: #abdde5;\n}\n\n.alert-info .alert-link {\n color: #062c33;\n}\n\n.alert-warning {\n color: #856404;\n background-color: #fff3cd;\n border-color: #ffeeba;\n}\n\n.alert-warning hr {\n border-top-color: #ffe8a1;\n}\n\n.alert-warning .alert-link {\n color: #533f03;\n}\n\n.alert-danger {\n color: #721c24;\n background-color: #f8d7da;\n border-color: #f5c6cb;\n}\n\n.alert-danger hr {\n border-top-color: #f1b0b7;\n}\n\n.alert-danger .alert-link {\n color: #491217;\n}\n\n.alert-light {\n color: #818182;\n background-color: #fefefe;\n border-color: #fdfdfe;\n}\n\n.alert-light hr {\n border-top-color: #ececf6;\n}\n\n.alert-light .alert-link {\n color: #686868;\n}\n\n.alert-dark {\n color: #1b1e21;\n background-color: #d6d8d9;\n border-color: #c6c8ca;\n}\n\n.alert-dark hr {\n border-top-color: #b9bbbe;\n}\n\n.alert-dark .alert-link {\n color: #040505;\n}\n\n@keyframes progress-bar-stripes {\n from {\n background-position: 1rem 0;\n }\n to {\n background-position: 0 0;\n }\n}\n\n.progress {\n display: flex;\n height: 1rem;\n overflow: hidden;\n font-size: 0.75rem;\n background-color: #e9ecef;\n border-radius: 0.25rem;\n}\n\n.progress-bar {\n display: flex;\n flex-direction: column;\n justify-content: center;\n overflow: hidden;\n color: #fff;\n text-align: center;\n white-space: nowrap;\n background-color: #007bff;\n transition: width 0.6s ease;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .progress-bar {\n transition: none;\n }\n}\n\n.progress-bar-striped {\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-size: 1rem 1rem;\n}\n\n.progress-bar-animated {\n animation: progress-bar-stripes 1s linear infinite;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .progress-bar-animated {\n animation: none;\n }\n}\n\n.media {\n display: flex;\n align-items: flex-start;\n}\n\n.media-body {\n flex: 1;\n}\n\n.list-group {\n display: flex;\n flex-direction: column;\n padding-left: 0;\n margin-bottom: 0;\n}\n\n.list-group-item-action {\n width: 100%;\n color: #495057;\n text-align: inherit;\n}\n\n.list-group-item-action:hover, .list-group-item-action:focus {\n z-index: 1;\n color: #495057;\n text-decoration: none;\n background-color: #f8f9fa;\n}\n\n.list-group-item-action:active {\n color: #212529;\n background-color: #e9ecef;\n}\n\n.list-group-item {\n position: relative;\n display: block;\n padding: 0.75rem 1.25rem;\n background-color: #fff;\n border: 1px solid rgba(0, 0, 0, 0.125);\n}\n\n.list-group-item:first-child {\n border-top-left-radius: 0.25rem;\n border-top-right-radius: 0.25rem;\n}\n\n.list-group-item:last-child {\n border-bottom-right-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n}\n\n.list-group-item.disabled, .list-group-item:disabled {\n color: #6c757d;\n pointer-events: none;\n background-color: #fff;\n}\n\n.list-group-item.active {\n z-index: 2;\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.list-group-item + .list-group-item {\n border-top-width: 0;\n}\n\n.list-group-item + .list-group-item.active {\n margin-top: -1px;\n border-top-width: 1px;\n}\n\n.list-group-horizontal {\n flex-direction: row;\n}\n\n.list-group-horizontal .list-group-item:first-child {\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0;\n}\n\n.list-group-horizontal .list-group-item:last-child {\n border-top-right-radius: 0.25rem;\n border-bottom-left-radius: 0;\n}\n\n.list-group-horizontal .list-group-item.active {\n margin-top: 0;\n}\n\n.list-group-horizontal .list-group-item + .list-group-item {\n border-top-width: 1px;\n border-left-width: 0;\n}\n\n.list-group-horizontal .list-group-item + .list-group-item.active {\n margin-left: -1px;\n border-left-width: 1px;\n}\n\n@media (min-width: 576px) {\n .list-group-horizontal-sm {\n flex-direction: row;\n }\n .list-group-horizontal-sm .list-group-item:first-child {\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0;\n }\n .list-group-horizontal-sm .list-group-item:last-child {\n border-top-right-radius: 0.25rem;\n border-bottom-left-radius: 0;\n }\n .list-group-horizontal-sm .list-group-item.active {\n margin-top: 0;\n }\n .list-group-horizontal-sm .list-group-item + .list-group-item {\n border-top-width: 1px;\n border-left-width: 0;\n }\n .list-group-horizontal-sm .list-group-item + .list-group-item.active {\n margin-left: -1px;\n border-left-width: 1px;\n }\n}\n\n@media (min-width: 768px) {\n .list-group-horizontal-md {\n flex-direction: row;\n }\n .list-group-horizontal-md .list-group-item:first-child {\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0;\n }\n .list-group-horizontal-md .list-group-item:last-child {\n border-top-right-radius: 0.25rem;\n border-bottom-left-radius: 0;\n }\n .list-group-horizontal-md .list-group-item.active {\n margin-top: 0;\n }\n .list-group-horizontal-md .list-group-item + .list-group-item {\n border-top-width: 1px;\n border-left-width: 0;\n }\n .list-group-horizontal-md .list-group-item + .list-group-item.active {\n margin-left: -1px;\n border-left-width: 1px;\n }\n}\n\n@media (min-width: 992px) {\n .list-group-horizontal-lg {\n flex-direction: row;\n }\n .list-group-horizontal-lg .list-group-item:first-child {\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0;\n }\n .list-group-horizontal-lg .list-group-item:last-child {\n border-top-right-radius: 0.25rem;\n border-bottom-left-radius: 0;\n }\n .list-group-horizontal-lg .list-group-item.active {\n margin-top: 0;\n }\n .list-group-horizontal-lg .list-group-item + .list-group-item {\n border-top-width: 1px;\n border-left-width: 0;\n }\n .list-group-horizontal-lg .list-group-item + .list-group-item.active {\n margin-left: -1px;\n border-left-width: 1px;\n }\n}\n\n@media (min-width: 1200px) {\n .list-group-horizontal-xl {\n flex-direction: row;\n }\n .list-group-horizontal-xl .list-group-item:first-child {\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0;\n }\n .list-group-horizontal-xl .list-group-item:last-child {\n border-top-right-radius: 0.25rem;\n border-bottom-left-radius: 0;\n }\n .list-group-horizontal-xl .list-group-item.active {\n margin-top: 0;\n }\n .list-group-horizontal-xl .list-group-item + .list-group-item {\n border-top-width: 1px;\n border-left-width: 0;\n }\n .list-group-horizontal-xl .list-group-item + .list-group-item.active {\n margin-left: -1px;\n border-left-width: 1px;\n }\n}\n\n.list-group-flush .list-group-item {\n border-right-width: 0;\n border-left-width: 0;\n border-radius: 0;\n}\n\n.list-group-flush .list-group-item:first-child {\n border-top-width: 0;\n}\n\n.list-group-flush:last-child .list-group-item:last-child {\n border-bottom-width: 0;\n}\n\n.list-group-item-primary {\n color: #004085;\n background-color: #b8daff;\n}\n\n.list-group-item-primary.list-group-item-action:hover, .list-group-item-primary.list-group-item-action:focus {\n color: #004085;\n background-color: #9fcdff;\n}\n\n.list-group-item-primary.list-group-item-action.active {\n color: #fff;\n background-color: #004085;\n border-color: #004085;\n}\n\n.list-group-item-secondary {\n color: #383d41;\n background-color: #d6d8db;\n}\n\n.list-group-item-secondary.list-group-item-action:hover, .list-group-item-secondary.list-group-item-action:focus {\n color: #383d41;\n background-color: #c8cbcf;\n}\n\n.list-group-item-secondary.list-group-item-action.active {\n color: #fff;\n background-color: #383d41;\n border-color: #383d41;\n}\n\n.list-group-item-success {\n color: #155724;\n background-color: #c3e6cb;\n}\n\n.list-group-item-success.list-group-item-action:hover, .list-group-item-success.list-group-item-action:focus {\n color: #155724;\n background-color: #b1dfbb;\n}\n\n.list-group-item-success.list-group-item-action.active {\n color: #fff;\n background-color: #155724;\n border-color: #155724;\n}\n\n.list-group-item-info {\n color: #0c5460;\n background-color: #bee5eb;\n}\n\n.list-group-item-info.list-group-item-action:hover, .list-group-item-info.list-group-item-action:focus {\n color: #0c5460;\n background-color: #abdde5;\n}\n\n.list-group-item-info.list-group-item-action.active {\n color: #fff;\n background-color: #0c5460;\n border-color: #0c5460;\n}\n\n.list-group-item-warning {\n color: #856404;\n background-color: #ffeeba;\n}\n\n.list-group-item-warning.list-group-item-action:hover, .list-group-item-warning.list-group-item-action:focus {\n color: #856404;\n background-color: #ffe8a1;\n}\n\n.list-group-item-warning.list-group-item-action.active {\n color: #fff;\n background-color: #856404;\n border-color: #856404;\n}\n\n.list-group-item-danger {\n color: #721c24;\n background-color: #f5c6cb;\n}\n\n.list-group-item-danger.list-group-item-action:hover, .list-group-item-danger.list-group-item-action:focus {\n color: #721c24;\n background-color: #f1b0b7;\n}\n\n.list-group-item-danger.list-group-item-action.active {\n color: #fff;\n background-color: #721c24;\n border-color: #721c24;\n}\n\n.list-group-item-light {\n color: #818182;\n background-color: #fdfdfe;\n}\n\n.list-group-item-light.list-group-item-action:hover, .list-group-item-light.list-group-item-action:focus {\n color: #818182;\n background-color: #ececf6;\n}\n\n.list-group-item-light.list-group-item-action.active {\n color: #fff;\n background-color: #818182;\n border-color: #818182;\n}\n\n.list-group-item-dark {\n color: #1b1e21;\n background-color: #c6c8ca;\n}\n\n.list-group-item-dark.list-group-item-action:hover, .list-group-item-dark.list-group-item-action:focus {\n color: #1b1e21;\n background-color: #b9bbbe;\n}\n\n.list-group-item-dark.list-group-item-action.active {\n color: #fff;\n background-color: #1b1e21;\n border-color: #1b1e21;\n}\n\n.close {\n float: right;\n font-size: 1.5rem;\n font-weight: 700;\n line-height: 1;\n color: #000;\n text-shadow: 0 1px 0 #fff;\n opacity: .5;\n}\n\n.close:hover {\n color: #000;\n text-decoration: none;\n}\n\n.close:not(:disabled):not(.disabled):hover, .close:not(:disabled):not(.disabled):focus {\n opacity: .75;\n}\n\nbutton.close {\n padding: 0;\n background-color: transparent;\n border: 0;\n appearance: none;\n}\n\na.close.disabled {\n pointer-events: none;\n}\n\n.toast {\n max-width: 350px;\n overflow: hidden;\n font-size: 0.875rem;\n background-color: rgba(255, 255, 255, 0.85);\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.1);\n box-shadow: 0 0.25rem 0.75rem rgba(0, 0, 0, 0.1);\n backdrop-filter: blur(10px);\n opacity: 0;\n border-radius: 0.25rem;\n}\n\n.toast:not(:last-child) {\n margin-bottom: 0.75rem;\n}\n\n.toast.showing {\n opacity: 1;\n}\n\n.toast.show {\n display: block;\n opacity: 1;\n}\n\n.toast.hide {\n display: none;\n}\n\n.toast-header {\n display: flex;\n align-items: center;\n padding: 0.25rem 0.75rem;\n color: #6c757d;\n background-color: rgba(255, 255, 255, 0.85);\n background-clip: padding-box;\n border-bottom: 1px solid rgba(0, 0, 0, 0.05);\n}\n\n.toast-body {\n padding: 0.75rem;\n}\n\n.modal-open {\n overflow: hidden;\n}\n\n.modal-open .modal {\n overflow-x: hidden;\n overflow-y: auto;\n}\n\n.modal {\n position: fixed;\n top: 0;\n left: 0;\n z-index: 1050;\n display: none;\n width: 100%;\n height: 100%;\n overflow: hidden;\n outline: 0;\n}\n\n.modal-dialog {\n position: relative;\n width: auto;\n margin: 0.5rem;\n pointer-events: none;\n}\n\n.modal.fade .modal-dialog {\n transition: transform 0.3s ease-out;\n transform: translate(0, -50px);\n}\n\n@media (prefers-reduced-motion: reduce) {\n .modal.fade .modal-dialog {\n transition: none;\n }\n}\n\n.modal.show .modal-dialog {\n transform: none;\n}\n\n.modal.modal-static .modal-dialog {\n transform: scale(1.02);\n}\n\n.modal-dialog-scrollable {\n display: flex;\n max-height: calc(100% - 1rem);\n}\n\n.modal-dialog-scrollable .modal-content {\n max-height: calc(100vh - 1rem);\n overflow: hidden;\n}\n\n.modal-dialog-scrollable .modal-header,\n.modal-dialog-scrollable .modal-footer {\n flex-shrink: 0;\n}\n\n.modal-dialog-scrollable .modal-body {\n overflow-y: auto;\n}\n\n.modal-dialog-centered {\n display: flex;\n align-items: center;\n min-height: calc(100% - 1rem);\n}\n\n.modal-dialog-centered::before {\n display: block;\n height: calc(100vh - 1rem);\n content: \"\";\n}\n\n.modal-dialog-centered.modal-dialog-scrollable {\n flex-direction: column;\n justify-content: center;\n height: 100%;\n}\n\n.modal-dialog-centered.modal-dialog-scrollable .modal-content {\n max-height: none;\n}\n\n.modal-dialog-centered.modal-dialog-scrollable::before {\n content: none;\n}\n\n.modal-content {\n position: relative;\n display: flex;\n flex-direction: column;\n width: 100%;\n pointer-events: auto;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.2);\n border-radius: 0.3rem;\n outline: 0;\n}\n\n.modal-backdrop {\n position: fixed;\n top: 0;\n left: 0;\n z-index: 1040;\n width: 100vw;\n height: 100vh;\n background-color: #000;\n}\n\n.modal-backdrop.fade {\n opacity: 0;\n}\n\n.modal-backdrop.show {\n opacity: 0.5;\n}\n\n.modal-header {\n display: flex;\n align-items: flex-start;\n justify-content: space-between;\n padding: 1rem 1rem;\n border-bottom: 1px solid #dee2e6;\n border-top-left-radius: calc(0.3rem - 1px);\n border-top-right-radius: calc(0.3rem - 1px);\n}\n\n.modal-header .close {\n padding: 1rem 1rem;\n margin: -1rem -1rem -1rem auto;\n}\n\n.modal-title {\n margin-bottom: 0;\n line-height: 1.5;\n}\n\n.modal-body {\n position: relative;\n flex: 1 1 auto;\n padding: 1rem;\n}\n\n.modal-footer {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: flex-end;\n padding: 0.75rem;\n border-top: 1px solid #dee2e6;\n border-bottom-right-radius: calc(0.3rem - 1px);\n border-bottom-left-radius: calc(0.3rem - 1px);\n}\n\n.modal-footer > * {\n margin: 0.25rem;\n}\n\n.modal-scrollbar-measure {\n position: absolute;\n top: -9999px;\n width: 50px;\n height: 50px;\n overflow: scroll;\n}\n\n@media (min-width: 576px) {\n .modal-dialog {\n max-width: 500px;\n margin: 1.75rem auto;\n }\n .modal-dialog-scrollable {\n max-height: calc(100% - 3.5rem);\n }\n .modal-dialog-scrollable .modal-content {\n max-height: calc(100vh - 3.5rem);\n }\n .modal-dialog-centered {\n min-height: calc(100% - 3.5rem);\n }\n .modal-dialog-centered::before {\n height: calc(100vh - 3.5rem);\n }\n .modal-sm {\n max-width: 300px;\n }\n}\n\n@media (min-width: 992px) {\n .modal-lg,\n .modal-xl {\n max-width: 800px;\n }\n}\n\n@media (min-width: 1200px) {\n .modal-xl {\n max-width: 1140px;\n }\n}\n\n.tooltip {\n position: absolute;\n z-index: 1070;\n display: block;\n margin: 0;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n font-style: normal;\n font-weight: 400;\n line-height: 1.5;\n text-align: left;\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-break: normal;\n word-spacing: normal;\n white-space: normal;\n line-break: auto;\n font-size: 0.875rem;\n word-wrap: break-word;\n opacity: 0;\n}\n\n.tooltip.show {\n opacity: 0.9;\n}\n\n.tooltip .arrow {\n position: absolute;\n display: block;\n width: 0.8rem;\n height: 0.4rem;\n}\n\n.tooltip .arrow::before {\n position: absolute;\n content: \"\";\n border-color: transparent;\n border-style: solid;\n}\n\n.bs-tooltip-top, .bs-tooltip-auto[x-placement^=\"top\"] {\n padding: 0.4rem 0;\n}\n\n.bs-tooltip-top .arrow, .bs-tooltip-auto[x-placement^=\"top\"] .arrow {\n bottom: 0;\n}\n\n.bs-tooltip-top .arrow::before, .bs-tooltip-auto[x-placement^=\"top\"] .arrow::before {\n top: 0;\n border-width: 0.4rem 0.4rem 0;\n border-top-color: #000;\n}\n\n.bs-tooltip-right, .bs-tooltip-auto[x-placement^=\"right\"] {\n padding: 0 0.4rem;\n}\n\n.bs-tooltip-right .arrow, .bs-tooltip-auto[x-placement^=\"right\"] .arrow {\n left: 0;\n width: 0.4rem;\n height: 0.8rem;\n}\n\n.bs-tooltip-right .arrow::before, .bs-tooltip-auto[x-placement^=\"right\"] .arrow::before {\n right: 0;\n border-width: 0.4rem 0.4rem 0.4rem 0;\n border-right-color: #000;\n}\n\n.bs-tooltip-bottom, .bs-tooltip-auto[x-placement^=\"bottom\"] {\n padding: 0.4rem 0;\n}\n\n.bs-tooltip-bottom .arrow, .bs-tooltip-auto[x-placement^=\"bottom\"] .arrow {\n top: 0;\n}\n\n.bs-tooltip-bottom .arrow::before, .bs-tooltip-auto[x-placement^=\"bottom\"] .arrow::before {\n bottom: 0;\n border-width: 0 0.4rem 0.4rem;\n border-bottom-color: #000;\n}\n\n.bs-tooltip-left, .bs-tooltip-auto[x-placement^=\"left\"] {\n padding: 0 0.4rem;\n}\n\n.bs-tooltip-left .arrow, .bs-tooltip-auto[x-placement^=\"left\"] .arrow {\n right: 0;\n width: 0.4rem;\n height: 0.8rem;\n}\n\n.bs-tooltip-left .arrow::before, .bs-tooltip-auto[x-placement^=\"left\"] .arrow::before {\n left: 0;\n border-width: 0.4rem 0 0.4rem 0.4rem;\n border-left-color: #000;\n}\n\n.tooltip-inner {\n max-width: 200px;\n padding: 0.25rem 0.5rem;\n color: #fff;\n text-align: center;\n background-color: #000;\n border-radius: 0.25rem;\n}\n\n.popover {\n position: absolute;\n top: 0;\n left: 0;\n z-index: 1060;\n display: block;\n max-width: 276px;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n font-style: normal;\n font-weight: 400;\n line-height: 1.5;\n text-align: left;\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-break: normal;\n word-spacing: normal;\n white-space: normal;\n line-break: auto;\n font-size: 0.875rem;\n word-wrap: break-word;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.2);\n border-radius: 0.3rem;\n}\n\n.popover .arrow {\n position: absolute;\n display: block;\n width: 1rem;\n height: 0.5rem;\n margin: 0 0.3rem;\n}\n\n.popover .arrow::before, .popover .arrow::after {\n position: absolute;\n display: block;\n content: \"\";\n border-color: transparent;\n border-style: solid;\n}\n\n.bs-popover-top, .bs-popover-auto[x-placement^=\"top\"] {\n margin-bottom: 0.5rem;\n}\n\n.bs-popover-top > .arrow, .bs-popover-auto[x-placement^=\"top\"] > .arrow {\n bottom: calc(-0.5rem - 1px);\n}\n\n.bs-popover-top > .arrow::before, .bs-popover-auto[x-placement^=\"top\"] > .arrow::before {\n bottom: 0;\n border-width: 0.5rem 0.5rem 0;\n border-top-color: rgba(0, 0, 0, 0.25);\n}\n\n.bs-popover-top > .arrow::after, .bs-popover-auto[x-placement^=\"top\"] > .arrow::after {\n bottom: 1px;\n border-width: 0.5rem 0.5rem 0;\n border-top-color: #fff;\n}\n\n.bs-popover-right, .bs-popover-auto[x-placement^=\"right\"] {\n margin-left: 0.5rem;\n}\n\n.bs-popover-right > .arrow, .bs-popover-auto[x-placement^=\"right\"] > .arrow {\n left: calc(-0.5rem - 1px);\n width: 0.5rem;\n height: 1rem;\n margin: 0.3rem 0;\n}\n\n.bs-popover-right > .arrow::before, .bs-popover-auto[x-placement^=\"right\"] > .arrow::before {\n left: 0;\n border-width: 0.5rem 0.5rem 0.5rem 0;\n border-right-color: rgba(0, 0, 0, 0.25);\n}\n\n.bs-popover-right > .arrow::after, .bs-popover-auto[x-placement^=\"right\"] > .arrow::after {\n left: 1px;\n border-width: 0.5rem 0.5rem 0.5rem 0;\n border-right-color: #fff;\n}\n\n.bs-popover-bottom, .bs-popover-auto[x-placement^=\"bottom\"] {\n margin-top: 0.5rem;\n}\n\n.bs-popover-bottom > .arrow, .bs-popover-auto[x-placement^=\"bottom\"] > .arrow {\n top: calc(-0.5rem - 1px);\n}\n\n.bs-popover-bottom > .arrow::before, .bs-popover-auto[x-placement^=\"bottom\"] > .arrow::before {\n top: 0;\n border-width: 0 0.5rem 0.5rem 0.5rem;\n border-bottom-color: rgba(0, 0, 0, 0.25);\n}\n\n.bs-popover-bottom > .arrow::after, .bs-popover-auto[x-placement^=\"bottom\"] > .arrow::after {\n top: 1px;\n border-width: 0 0.5rem 0.5rem 0.5rem;\n border-bottom-color: #fff;\n}\n\n.bs-popover-bottom .popover-header::before, .bs-popover-auto[x-placement^=\"bottom\"] .popover-header::before {\n position: absolute;\n top: 0;\n left: 50%;\n display: block;\n width: 1rem;\n margin-left: -0.5rem;\n content: \"\";\n border-bottom: 1px solid #f7f7f7;\n}\n\n.bs-popover-left, .bs-popover-auto[x-placement^=\"left\"] {\n margin-right: 0.5rem;\n}\n\n.bs-popover-left > .arrow, .bs-popover-auto[x-placement^=\"left\"] > .arrow {\n right: calc(-0.5rem - 1px);\n width: 0.5rem;\n height: 1rem;\n margin: 0.3rem 0;\n}\n\n.bs-popover-left > .arrow::before, .bs-popover-auto[x-placement^=\"left\"] > .arrow::before {\n right: 0;\n border-width: 0.5rem 0 0.5rem 0.5rem;\n border-left-color: rgba(0, 0, 0, 0.25);\n}\n\n.bs-popover-left > .arrow::after, .bs-popover-auto[x-placement^=\"left\"] > .arrow::after {\n right: 1px;\n border-width: 0.5rem 0 0.5rem 0.5rem;\n border-left-color: #fff;\n}\n\n.popover-header {\n padding: 0.5rem 0.75rem;\n margin-bottom: 0;\n font-size: 1rem;\n background-color: #f7f7f7;\n border-bottom: 1px solid #ebebeb;\n border-top-left-radius: calc(0.3rem - 1px);\n border-top-right-radius: calc(0.3rem - 1px);\n}\n\n.popover-header:empty {\n display: none;\n}\n\n.popover-body {\n padding: 0.5rem 0.75rem;\n color: #212529;\n}\n\n.carousel {\n position: relative;\n}\n\n.carousel.pointer-event {\n touch-action: pan-y;\n}\n\n.carousel-inner {\n position: relative;\n width: 100%;\n overflow: hidden;\n}\n\n.carousel-inner::after {\n display: block;\n clear: both;\n content: \"\";\n}\n\n.carousel-item {\n position: relative;\n display: none;\n float: left;\n width: 100%;\n margin-right: -100%;\n backface-visibility: hidden;\n transition: transform 0.6s ease-in-out;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .carousel-item {\n transition: none;\n }\n}\n\n.carousel-item.active,\n.carousel-item-next,\n.carousel-item-prev {\n display: block;\n}\n\n.carousel-item-next:not(.carousel-item-left),\n.active.carousel-item-right {\n transform: translateX(100%);\n}\n\n.carousel-item-prev:not(.carousel-item-right),\n.active.carousel-item-left {\n transform: translateX(-100%);\n}\n\n.carousel-fade .carousel-item {\n opacity: 0;\n transition-property: opacity;\n transform: none;\n}\n\n.carousel-fade .carousel-item.active,\n.carousel-fade .carousel-item-next.carousel-item-left,\n.carousel-fade .carousel-item-prev.carousel-item-right {\n z-index: 1;\n opacity: 1;\n}\n\n.carousel-fade .active.carousel-item-left,\n.carousel-fade .active.carousel-item-right {\n z-index: 0;\n opacity: 0;\n transition: opacity 0s 0.6s;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .carousel-fade .active.carousel-item-left,\n .carousel-fade .active.carousel-item-right {\n transition: none;\n }\n}\n\n.carousel-control-prev,\n.carousel-control-next {\n position: absolute;\n top: 0;\n bottom: 0;\n z-index: 1;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 15%;\n color: #fff;\n text-align: center;\n opacity: 0.5;\n transition: opacity 0.15s ease;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .carousel-control-prev,\n .carousel-control-next {\n transition: none;\n }\n}\n\n.carousel-control-prev:hover, .carousel-control-prev:focus,\n.carousel-control-next:hover,\n.carousel-control-next:focus {\n color: #fff;\n text-decoration: none;\n outline: 0;\n opacity: 0.9;\n}\n\n.carousel-control-prev {\n left: 0;\n}\n\n.carousel-control-next {\n right: 0;\n}\n\n.carousel-control-prev-icon,\n.carousel-control-next-icon {\n display: inline-block;\n width: 20px;\n height: 20px;\n background: no-repeat 50% / 100% 100%;\n}\n\n.carousel-control-prev-icon {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath d='M5.25 0l-4 4 4 4 1.5-1.5L4.25 4l2.5-2.5L5.25 0z'/%3e%3c/svg%3e\");\n}\n\n.carousel-control-next-icon {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath d='M2.75 0l-1.5 1.5L3.75 4l-2.5 2.5L2.75 8l4-4-4-4z'/%3e%3c/svg%3e\");\n}\n\n.carousel-indicators {\n position: absolute;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 15;\n display: flex;\n justify-content: center;\n padding-left: 0;\n margin-right: 15%;\n margin-left: 15%;\n list-style: none;\n}\n\n.carousel-indicators li {\n box-sizing: content-box;\n flex: 0 1 auto;\n width: 30px;\n height: 3px;\n margin-right: 3px;\n margin-left: 3px;\n text-indent: -999px;\n cursor: pointer;\n background-color: #fff;\n background-clip: padding-box;\n border-top: 10px solid transparent;\n border-bottom: 10px solid transparent;\n opacity: .5;\n transition: opacity 0.6s ease;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .carousel-indicators li {\n transition: none;\n }\n}\n\n.carousel-indicators .active {\n opacity: 1;\n}\n\n.carousel-caption {\n position: absolute;\n right: 15%;\n bottom: 20px;\n left: 15%;\n z-index: 10;\n padding-top: 20px;\n padding-bottom: 20px;\n color: #fff;\n text-align: center;\n}\n\n@keyframes spinner-border {\n to {\n transform: rotate(360deg);\n }\n}\n\n.spinner-border {\n display: inline-block;\n width: 2rem;\n height: 2rem;\n vertical-align: text-bottom;\n border: 0.25em solid currentColor;\n border-right-color: transparent;\n border-radius: 50%;\n animation: spinner-border .75s linear infinite;\n}\n\n.spinner-border-sm {\n width: 1rem;\n height: 1rem;\n border-width: 0.2em;\n}\n\n@keyframes spinner-grow {\n 0% {\n transform: scale(0);\n }\n 50% {\n opacity: 1;\n }\n}\n\n.spinner-grow {\n display: inline-block;\n width: 2rem;\n height: 2rem;\n vertical-align: text-bottom;\n background-color: currentColor;\n border-radius: 50%;\n opacity: 0;\n animation: spinner-grow .75s linear infinite;\n}\n\n.spinner-grow-sm {\n width: 1rem;\n height: 1rem;\n}\n\n.align-baseline {\n vertical-align: baseline !important;\n}\n\n.align-top {\n vertical-align: top !important;\n}\n\n.align-middle {\n vertical-align: middle !important;\n}\n\n.align-bottom {\n vertical-align: bottom !important;\n}\n\n.align-text-bottom {\n vertical-align: text-bottom !important;\n}\n\n.align-text-top {\n vertical-align: text-top !important;\n}\n\n.bg-primary {\n background-color: #007bff !important;\n}\n\na.bg-primary:hover, a.bg-primary:focus,\nbutton.bg-primary:hover,\nbutton.bg-primary:focus {\n background-color: #0062cc !important;\n}\n\n.bg-secondary {\n background-color: #6c757d !important;\n}\n\na.bg-secondary:hover, a.bg-secondary:focus,\nbutton.bg-secondary:hover,\nbutton.bg-secondary:focus {\n background-color: #545b62 !important;\n}\n\n.bg-success {\n background-color: #28a745 !important;\n}\n\na.bg-success:hover, a.bg-success:focus,\nbutton.bg-success:hover,\nbutton.bg-success:focus {\n background-color: #1e7e34 !important;\n}\n\n.bg-info {\n background-color: #17a2b8 !important;\n}\n\na.bg-info:hover, a.bg-info:focus,\nbutton.bg-info:hover,\nbutton.bg-info:focus {\n background-color: #117a8b !important;\n}\n\n.bg-warning {\n background-color: #ffc107 !important;\n}\n\na.bg-warning:hover, a.bg-warning:focus,\nbutton.bg-warning:hover,\nbutton.bg-warning:focus {\n background-color: #d39e00 !important;\n}\n\n.bg-danger {\n background-color: #dc3545 !important;\n}\n\na.bg-danger:hover, a.bg-danger:focus,\nbutton.bg-danger:hover,\nbutton.bg-danger:focus {\n background-color: #bd2130 !important;\n}\n\n.bg-light {\n background-color: #f8f9fa !important;\n}\n\na.bg-light:hover, a.bg-light:focus,\nbutton.bg-light:hover,\nbutton.bg-light:focus {\n background-color: #dae0e5 !important;\n}\n\n.bg-dark {\n background-color: #343a40 !important;\n}\n\na.bg-dark:hover, a.bg-dark:focus,\nbutton.bg-dark:hover,\nbutton.bg-dark:focus {\n background-color: #1d2124 !important;\n}\n\n.bg-white {\n background-color: #fff !important;\n}\n\n.bg-transparent {\n background-color: transparent !important;\n}\n\n.border {\n border: 1px solid #dee2e6 !important;\n}\n\n.border-top {\n border-top: 1px solid #dee2e6 !important;\n}\n\n.border-right {\n border-right: 1px solid #dee2e6 !important;\n}\n\n.border-bottom {\n border-bottom: 1px solid #dee2e6 !important;\n}\n\n.border-left {\n border-left: 1px solid #dee2e6 !important;\n}\n\n.border-0 {\n border: 0 !important;\n}\n\n.border-top-0 {\n border-top: 0 !important;\n}\n\n.border-right-0 {\n border-right: 0 !important;\n}\n\n.border-bottom-0 {\n border-bottom: 0 !important;\n}\n\n.border-left-0 {\n border-left: 0 !important;\n}\n\n.border-primary {\n border-color: #007bff !important;\n}\n\n.border-secondary {\n border-color: #6c757d !important;\n}\n\n.border-success {\n border-color: #28a745 !important;\n}\n\n.border-info {\n border-color: #17a2b8 !important;\n}\n\n.border-warning {\n border-color: #ffc107 !important;\n}\n\n.border-danger {\n border-color: #dc3545 !important;\n}\n\n.border-light {\n border-color: #f8f9fa !important;\n}\n\n.border-dark {\n border-color: #343a40 !important;\n}\n\n.border-white {\n border-color: #fff !important;\n}\n\n.rounded-sm {\n border-radius: 0.2rem !important;\n}\n\n.rounded {\n border-radius: 0.25rem !important;\n}\n\n.rounded-top {\n border-top-left-radius: 0.25rem !important;\n border-top-right-radius: 0.25rem !important;\n}\n\n.rounded-right {\n border-top-right-radius: 0.25rem !important;\n border-bottom-right-radius: 0.25rem !important;\n}\n\n.rounded-bottom {\n border-bottom-right-radius: 0.25rem !important;\n border-bottom-left-radius: 0.25rem !important;\n}\n\n.rounded-left {\n border-top-left-radius: 0.25rem !important;\n border-bottom-left-radius: 0.25rem !important;\n}\n\n.rounded-lg {\n border-radius: 0.3rem !important;\n}\n\n.rounded-circle {\n border-radius: 50% !important;\n}\n\n.rounded-pill {\n border-radius: 50rem !important;\n}\n\n.rounded-0 {\n border-radius: 0 !important;\n}\n\n.clearfix::after {\n display: block;\n clear: both;\n content: \"\";\n}\n\n.d-none {\n display: none !important;\n}\n\n.d-inline {\n display: inline !important;\n}\n\n.d-inline-block {\n display: inline-block !important;\n}\n\n.d-block {\n display: block !important;\n}\n\n.d-table {\n display: table !important;\n}\n\n.d-table-row {\n display: table-row !important;\n}\n\n.d-table-cell {\n display: table-cell !important;\n}\n\n.d-flex {\n display: flex !important;\n}\n\n.d-inline-flex {\n display: inline-flex !important;\n}\n\n@media (min-width: 576px) {\n .d-sm-none {\n display: none !important;\n }\n .d-sm-inline {\n display: inline !important;\n }\n .d-sm-inline-block {\n display: inline-block !important;\n }\n .d-sm-block {\n display: block !important;\n }\n .d-sm-table {\n display: table !important;\n }\n .d-sm-table-row {\n display: table-row !important;\n }\n .d-sm-table-cell {\n display: table-cell !important;\n }\n .d-sm-flex {\n display: flex !important;\n }\n .d-sm-inline-flex {\n display: inline-flex !important;\n }\n}\n\n@media (min-width: 768px) {\n .d-md-none {\n display: none !important;\n }\n .d-md-inline {\n display: inline !important;\n }\n .d-md-inline-block {\n display: inline-block !important;\n }\n .d-md-block {\n display: block !important;\n }\n .d-md-table {\n display: table !important;\n }\n .d-md-table-row {\n display: table-row !important;\n }\n .d-md-table-cell {\n display: table-cell !important;\n }\n .d-md-flex {\n display: flex !important;\n }\n .d-md-inline-flex {\n display: inline-flex !important;\n }\n}\n\n@media (min-width: 992px) {\n .d-lg-none {\n display: none !important;\n }\n .d-lg-inline {\n display: inline !important;\n }\n .d-lg-inline-block {\n display: inline-block !important;\n }\n .d-lg-block {\n display: block !important;\n }\n .d-lg-table {\n display: table !important;\n }\n .d-lg-table-row {\n display: table-row !important;\n }\n .d-lg-table-cell {\n display: table-cell !important;\n }\n .d-lg-flex {\n display: flex !important;\n }\n .d-lg-inline-flex {\n display: inline-flex !important;\n }\n}\n\n@media (min-width: 1200px) {\n .d-xl-none {\n display: none !important;\n }\n .d-xl-inline {\n display: inline !important;\n }\n .d-xl-inline-block {\n display: inline-block !important;\n }\n .d-xl-block {\n display: block !important;\n }\n .d-xl-table {\n display: table !important;\n }\n .d-xl-table-row {\n display: table-row !important;\n }\n .d-xl-table-cell {\n display: table-cell !important;\n }\n .d-xl-flex {\n display: flex !important;\n }\n .d-xl-inline-flex {\n display: inline-flex !important;\n }\n}\n\n@media print {\n .d-print-none {\n display: none !important;\n }\n .d-print-inline {\n display: inline !important;\n }\n .d-print-inline-block {\n display: inline-block !important;\n }\n .d-print-block {\n display: block !important;\n }\n .d-print-table {\n display: table !important;\n }\n .d-print-table-row {\n display: table-row !important;\n }\n .d-print-table-cell {\n display: table-cell !important;\n }\n .d-print-flex {\n display: flex !important;\n }\n .d-print-inline-flex {\n display: inline-flex !important;\n }\n}\n\n.embed-responsive {\n position: relative;\n display: block;\n width: 100%;\n padding: 0;\n overflow: hidden;\n}\n\n.embed-responsive::before {\n display: block;\n content: \"\";\n}\n\n.embed-responsive .embed-responsive-item,\n.embed-responsive iframe,\n.embed-responsive embed,\n.embed-responsive object,\n.embed-responsive video {\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n width: 100%;\n height: 100%;\n border: 0;\n}\n\n.embed-responsive-21by9::before {\n padding-top: 42.857143%;\n}\n\n.embed-responsive-16by9::before {\n padding-top: 56.25%;\n}\n\n.embed-responsive-4by3::before {\n padding-top: 75%;\n}\n\n.embed-responsive-1by1::before {\n padding-top: 100%;\n}\n\n.flex-row {\n flex-direction: row !important;\n}\n\n.flex-column {\n flex-direction: column !important;\n}\n\n.flex-row-reverse {\n flex-direction: row-reverse !important;\n}\n\n.flex-column-reverse {\n flex-direction: column-reverse !important;\n}\n\n.flex-wrap {\n flex-wrap: wrap !important;\n}\n\n.flex-nowrap {\n flex-wrap: nowrap !important;\n}\n\n.flex-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n}\n\n.flex-fill {\n flex: 1 1 auto !important;\n}\n\n.flex-grow-0 {\n flex-grow: 0 !important;\n}\n\n.flex-grow-1 {\n flex-grow: 1 !important;\n}\n\n.flex-shrink-0 {\n flex-shrink: 0 !important;\n}\n\n.flex-shrink-1 {\n flex-shrink: 1 !important;\n}\n\n.justify-content-start {\n justify-content: flex-start !important;\n}\n\n.justify-content-end {\n justify-content: flex-end !important;\n}\n\n.justify-content-center {\n justify-content: center !important;\n}\n\n.justify-content-between {\n justify-content: space-between !important;\n}\n\n.justify-content-around {\n justify-content: space-around !important;\n}\n\n.align-items-start {\n align-items: flex-start !important;\n}\n\n.align-items-end {\n align-items: flex-end !important;\n}\n\n.align-items-center {\n align-items: center !important;\n}\n\n.align-items-baseline {\n align-items: baseline !important;\n}\n\n.align-items-stretch {\n align-items: stretch !important;\n}\n\n.align-content-start {\n align-content: flex-start !important;\n}\n\n.align-content-end {\n align-content: flex-end !important;\n}\n\n.align-content-center {\n align-content: center !important;\n}\n\n.align-content-between {\n align-content: space-between !important;\n}\n\n.align-content-around {\n align-content: space-around !important;\n}\n\n.align-content-stretch {\n align-content: stretch !important;\n}\n\n.align-self-auto {\n align-self: auto !important;\n}\n\n.align-self-start {\n align-self: flex-start !important;\n}\n\n.align-self-end {\n align-self: flex-end !important;\n}\n\n.align-self-center {\n align-self: center !important;\n}\n\n.align-self-baseline {\n align-self: baseline !important;\n}\n\n.align-self-stretch {\n align-self: stretch !important;\n}\n\n@media (min-width: 576px) {\n .flex-sm-row {\n flex-direction: row !important;\n }\n .flex-sm-column {\n flex-direction: column !important;\n }\n .flex-sm-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-sm-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-sm-wrap {\n flex-wrap: wrap !important;\n }\n .flex-sm-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-sm-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .flex-sm-fill {\n flex: 1 1 auto !important;\n }\n .flex-sm-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-sm-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-sm-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-sm-shrink-1 {\n flex-shrink: 1 !important;\n }\n .justify-content-sm-start {\n justify-content: flex-start !important;\n }\n .justify-content-sm-end {\n justify-content: flex-end !important;\n }\n .justify-content-sm-center {\n justify-content: center !important;\n }\n .justify-content-sm-between {\n justify-content: space-between !important;\n }\n .justify-content-sm-around {\n justify-content: space-around !important;\n }\n .align-items-sm-start {\n align-items: flex-start !important;\n }\n .align-items-sm-end {\n align-items: flex-end !important;\n }\n .align-items-sm-center {\n align-items: center !important;\n }\n .align-items-sm-baseline {\n align-items: baseline !important;\n }\n .align-items-sm-stretch {\n align-items: stretch !important;\n }\n .align-content-sm-start {\n align-content: flex-start !important;\n }\n .align-content-sm-end {\n align-content: flex-end !important;\n }\n .align-content-sm-center {\n align-content: center !important;\n }\n .align-content-sm-between {\n align-content: space-between !important;\n }\n .align-content-sm-around {\n align-content: space-around !important;\n }\n .align-content-sm-stretch {\n align-content: stretch !important;\n }\n .align-self-sm-auto {\n align-self: auto !important;\n }\n .align-self-sm-start {\n align-self: flex-start !important;\n }\n .align-self-sm-end {\n align-self: flex-end !important;\n }\n .align-self-sm-center {\n align-self: center !important;\n }\n .align-self-sm-baseline {\n align-self: baseline !important;\n }\n .align-self-sm-stretch {\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 768px) {\n .flex-md-row {\n flex-direction: row !important;\n }\n .flex-md-column {\n flex-direction: column !important;\n }\n .flex-md-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-md-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-md-wrap {\n flex-wrap: wrap !important;\n }\n .flex-md-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-md-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .flex-md-fill {\n flex: 1 1 auto !important;\n }\n .flex-md-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-md-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-md-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-md-shrink-1 {\n flex-shrink: 1 !important;\n }\n .justify-content-md-start {\n justify-content: flex-start !important;\n }\n .justify-content-md-end {\n justify-content: flex-end !important;\n }\n .justify-content-md-center {\n justify-content: center !important;\n }\n .justify-content-md-between {\n justify-content: space-between !important;\n }\n .justify-content-md-around {\n justify-content: space-around !important;\n }\n .align-items-md-start {\n align-items: flex-start !important;\n }\n .align-items-md-end {\n align-items: flex-end !important;\n }\n .align-items-md-center {\n align-items: center !important;\n }\n .align-items-md-baseline {\n align-items: baseline !important;\n }\n .align-items-md-stretch {\n align-items: stretch !important;\n }\n .align-content-md-start {\n align-content: flex-start !important;\n }\n .align-content-md-end {\n align-content: flex-end !important;\n }\n .align-content-md-center {\n align-content: center !important;\n }\n .align-content-md-between {\n align-content: space-between !important;\n }\n .align-content-md-around {\n align-content: space-around !important;\n }\n .align-content-md-stretch {\n align-content: stretch !important;\n }\n .align-self-md-auto {\n align-self: auto !important;\n }\n .align-self-md-start {\n align-self: flex-start !important;\n }\n .align-self-md-end {\n align-self: flex-end !important;\n }\n .align-self-md-center {\n align-self: center !important;\n }\n .align-self-md-baseline {\n align-self: baseline !important;\n }\n .align-self-md-stretch {\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 992px) {\n .flex-lg-row {\n flex-direction: row !important;\n }\n .flex-lg-column {\n flex-direction: column !important;\n }\n .flex-lg-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-lg-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-lg-wrap {\n flex-wrap: wrap !important;\n }\n .flex-lg-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-lg-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .flex-lg-fill {\n flex: 1 1 auto !important;\n }\n .flex-lg-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-lg-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-lg-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-lg-shrink-1 {\n flex-shrink: 1 !important;\n }\n .justify-content-lg-start {\n justify-content: flex-start !important;\n }\n .justify-content-lg-end {\n justify-content: flex-end !important;\n }\n .justify-content-lg-center {\n justify-content: center !important;\n }\n .justify-content-lg-between {\n justify-content: space-between !important;\n }\n .justify-content-lg-around {\n justify-content: space-around !important;\n }\n .align-items-lg-start {\n align-items: flex-start !important;\n }\n .align-items-lg-end {\n align-items: flex-end !important;\n }\n .align-items-lg-center {\n align-items: center !important;\n }\n .align-items-lg-baseline {\n align-items: baseline !important;\n }\n .align-items-lg-stretch {\n align-items: stretch !important;\n }\n .align-content-lg-start {\n align-content: flex-start !important;\n }\n .align-content-lg-end {\n align-content: flex-end !important;\n }\n .align-content-lg-center {\n align-content: center !important;\n }\n .align-content-lg-between {\n align-content: space-between !important;\n }\n .align-content-lg-around {\n align-content: space-around !important;\n }\n .align-content-lg-stretch {\n align-content: stretch !important;\n }\n .align-self-lg-auto {\n align-self: auto !important;\n }\n .align-self-lg-start {\n align-self: flex-start !important;\n }\n .align-self-lg-end {\n align-self: flex-end !important;\n }\n .align-self-lg-center {\n align-self: center !important;\n }\n .align-self-lg-baseline {\n align-self: baseline !important;\n }\n .align-self-lg-stretch {\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 1200px) {\n .flex-xl-row {\n flex-direction: row !important;\n }\n .flex-xl-column {\n flex-direction: column !important;\n }\n .flex-xl-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-xl-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-xl-wrap {\n flex-wrap: wrap !important;\n }\n .flex-xl-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-xl-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .flex-xl-fill {\n flex: 1 1 auto !important;\n }\n .flex-xl-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-xl-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-xl-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-xl-shrink-1 {\n flex-shrink: 1 !important;\n }\n .justify-content-xl-start {\n justify-content: flex-start !important;\n }\n .justify-content-xl-end {\n justify-content: flex-end !important;\n }\n .justify-content-xl-center {\n justify-content: center !important;\n }\n .justify-content-xl-between {\n justify-content: space-between !important;\n }\n .justify-content-xl-around {\n justify-content: space-around !important;\n }\n .align-items-xl-start {\n align-items: flex-start !important;\n }\n .align-items-xl-end {\n align-items: flex-end !important;\n }\n .align-items-xl-center {\n align-items: center !important;\n }\n .align-items-xl-baseline {\n align-items: baseline !important;\n }\n .align-items-xl-stretch {\n align-items: stretch !important;\n }\n .align-content-xl-start {\n align-content: flex-start !important;\n }\n .align-content-xl-end {\n align-content: flex-end !important;\n }\n .align-content-xl-center {\n align-content: center !important;\n }\n .align-content-xl-between {\n align-content: space-between !important;\n }\n .align-content-xl-around {\n align-content: space-around !important;\n }\n .align-content-xl-stretch {\n align-content: stretch !important;\n }\n .align-self-xl-auto {\n align-self: auto !important;\n }\n .align-self-xl-start {\n align-self: flex-start !important;\n }\n .align-self-xl-end {\n align-self: flex-end !important;\n }\n .align-self-xl-center {\n align-self: center !important;\n }\n .align-self-xl-baseline {\n align-self: baseline !important;\n }\n .align-self-xl-stretch {\n align-self: stretch !important;\n }\n}\n\n.float-left {\n float: left !important;\n}\n\n.float-right {\n float: right !important;\n}\n\n.float-none {\n float: none !important;\n}\n\n@media (min-width: 576px) {\n .float-sm-left {\n float: left !important;\n }\n .float-sm-right {\n float: right !important;\n }\n .float-sm-none {\n float: none !important;\n }\n}\n\n@media (min-width: 768px) {\n .float-md-left {\n float: left !important;\n }\n .float-md-right {\n float: right !important;\n }\n .float-md-none {\n float: none !important;\n }\n}\n\n@media (min-width: 992px) {\n .float-lg-left {\n float: left !important;\n }\n .float-lg-right {\n float: right !important;\n }\n .float-lg-none {\n float: none !important;\n }\n}\n\n@media (min-width: 1200px) {\n .float-xl-left {\n float: left !important;\n }\n .float-xl-right {\n float: right !important;\n }\n .float-xl-none {\n float: none !important;\n }\n}\n\n.overflow-auto {\n overflow: auto !important;\n}\n\n.overflow-hidden {\n overflow: hidden !important;\n}\n\n.position-static {\n position: static !important;\n}\n\n.position-relative {\n position: relative !important;\n}\n\n.position-absolute {\n position: absolute !important;\n}\n\n.position-fixed {\n position: fixed !important;\n}\n\n.position-sticky {\n position: sticky !important;\n}\n\n.fixed-top {\n position: fixed;\n top: 0;\n right: 0;\n left: 0;\n z-index: 1030;\n}\n\n.fixed-bottom {\n position: fixed;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1030;\n}\n\n@supports (position: sticky) {\n .sticky-top {\n position: sticky;\n top: 0;\n z-index: 1020;\n }\n}\n\n.sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n border: 0;\n}\n\n.sr-only-focusable:active, .sr-only-focusable:focus {\n position: static;\n width: auto;\n height: auto;\n overflow: visible;\n clip: auto;\n white-space: normal;\n}\n\n.shadow-sm {\n box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important;\n}\n\n.shadow {\n box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important;\n}\n\n.shadow-lg {\n box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.175) !important;\n}\n\n.shadow-none {\n box-shadow: none !important;\n}\n\n.w-25 {\n width: 25% !important;\n}\n\n.w-50 {\n width: 50% !important;\n}\n\n.w-75 {\n width: 75% !important;\n}\n\n.w-100 {\n width: 100% !important;\n}\n\n.w-auto {\n width: auto !important;\n}\n\n.h-25 {\n height: 25% !important;\n}\n\n.h-50 {\n height: 50% !important;\n}\n\n.h-75 {\n height: 75% !important;\n}\n\n.h-100 {\n height: 100% !important;\n}\n\n.h-auto {\n height: auto !important;\n}\n\n.mw-100 {\n max-width: 100% !important;\n}\n\n.mh-100 {\n max-height: 100% !important;\n}\n\n.min-vw-100 {\n min-width: 100vw !important;\n}\n\n.min-vh-100 {\n min-height: 100vh !important;\n}\n\n.vw-100 {\n width: 100vw !important;\n}\n\n.vh-100 {\n height: 100vh !important;\n}\n\n.stretched-link::after {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1;\n pointer-events: auto;\n content: \"\";\n background-color: rgba(0, 0, 0, 0);\n}\n\n.m-0 {\n margin: 0 !important;\n}\n\n.mt-0,\n.my-0 {\n margin-top: 0 !important;\n}\n\n.mr-0,\n.mx-0 {\n margin-right: 0 !important;\n}\n\n.mb-0,\n.my-0 {\n margin-bottom: 0 !important;\n}\n\n.ml-0,\n.mx-0 {\n margin-left: 0 !important;\n}\n\n.m-1 {\n margin: 0.25rem !important;\n}\n\n.mt-1,\n.my-1 {\n margin-top: 0.25rem !important;\n}\n\n.mr-1,\n.mx-1 {\n margin-right: 0.25rem !important;\n}\n\n.mb-1,\n.my-1 {\n margin-bottom: 0.25rem !important;\n}\n\n.ml-1,\n.mx-1 {\n margin-left: 0.25rem !important;\n}\n\n.m-2 {\n margin: 0.5rem !important;\n}\n\n.mt-2,\n.my-2 {\n margin-top: 0.5rem !important;\n}\n\n.mr-2,\n.mx-2 {\n margin-right: 0.5rem !important;\n}\n\n.mb-2,\n.my-2 {\n margin-bottom: 0.5rem !important;\n}\n\n.ml-2,\n.mx-2 {\n margin-left: 0.5rem !important;\n}\n\n.m-3 {\n margin: 1rem !important;\n}\n\n.mt-3,\n.my-3 {\n margin-top: 1rem !important;\n}\n\n.mr-3,\n.mx-3 {\n margin-right: 1rem !important;\n}\n\n.mb-3,\n.my-3 {\n margin-bottom: 1rem !important;\n}\n\n.ml-3,\n.mx-3 {\n margin-left: 1rem !important;\n}\n\n.m-4 {\n margin: 1.5rem !important;\n}\n\n.mt-4,\n.my-4 {\n margin-top: 1.5rem !important;\n}\n\n.mr-4,\n.mx-4 {\n margin-right: 1.5rem !important;\n}\n\n.mb-4,\n.my-4 {\n margin-bottom: 1.5rem !important;\n}\n\n.ml-4,\n.mx-4 {\n margin-left: 1.5rem !important;\n}\n\n.m-5 {\n margin: 3rem !important;\n}\n\n.mt-5,\n.my-5 {\n margin-top: 3rem !important;\n}\n\n.mr-5,\n.mx-5 {\n margin-right: 3rem !important;\n}\n\n.mb-5,\n.my-5 {\n margin-bottom: 3rem !important;\n}\n\n.ml-5,\n.mx-5 {\n margin-left: 3rem !important;\n}\n\n.p-0 {\n padding: 0 !important;\n}\n\n.pt-0,\n.py-0 {\n padding-top: 0 !important;\n}\n\n.pr-0,\n.px-0 {\n padding-right: 0 !important;\n}\n\n.pb-0,\n.py-0 {\n padding-bottom: 0 !important;\n}\n\n.pl-0,\n.px-0 {\n padding-left: 0 !important;\n}\n\n.p-1 {\n padding: 0.25rem !important;\n}\n\n.pt-1,\n.py-1 {\n padding-top: 0.25rem !important;\n}\n\n.pr-1,\n.px-1 {\n padding-right: 0.25rem !important;\n}\n\n.pb-1,\n.py-1 {\n padding-bottom: 0.25rem !important;\n}\n\n.pl-1,\n.px-1 {\n padding-left: 0.25rem !important;\n}\n\n.p-2 {\n padding: 0.5rem !important;\n}\n\n.pt-2,\n.py-2 {\n padding-top: 0.5rem !important;\n}\n\n.pr-2,\n.px-2 {\n padding-right: 0.5rem !important;\n}\n\n.pb-2,\n.py-2 {\n padding-bottom: 0.5rem !important;\n}\n\n.pl-2,\n.px-2 {\n padding-left: 0.5rem !important;\n}\n\n.p-3 {\n padding: 1rem !important;\n}\n\n.pt-3,\n.py-3 {\n padding-top: 1rem !important;\n}\n\n.pr-3,\n.px-3 {\n padding-right: 1rem !important;\n}\n\n.pb-3,\n.py-3 {\n padding-bottom: 1rem !important;\n}\n\n.pl-3,\n.px-3 {\n padding-left: 1rem !important;\n}\n\n.p-4 {\n padding: 1.5rem !important;\n}\n\n.pt-4,\n.py-4 {\n padding-top: 1.5rem !important;\n}\n\n.pr-4,\n.px-4 {\n padding-right: 1.5rem !important;\n}\n\n.pb-4,\n.py-4 {\n padding-bottom: 1.5rem !important;\n}\n\n.pl-4,\n.px-4 {\n padding-left: 1.5rem !important;\n}\n\n.p-5 {\n padding: 3rem !important;\n}\n\n.pt-5,\n.py-5 {\n padding-top: 3rem !important;\n}\n\n.pr-5,\n.px-5 {\n padding-right: 3rem !important;\n}\n\n.pb-5,\n.py-5 {\n padding-bottom: 3rem !important;\n}\n\n.pl-5,\n.px-5 {\n padding-left: 3rem !important;\n}\n\n.m-n1 {\n margin: -0.25rem !important;\n}\n\n.mt-n1,\n.my-n1 {\n margin-top: -0.25rem !important;\n}\n\n.mr-n1,\n.mx-n1 {\n margin-right: -0.25rem !important;\n}\n\n.mb-n1,\n.my-n1 {\n margin-bottom: -0.25rem !important;\n}\n\n.ml-n1,\n.mx-n1 {\n margin-left: -0.25rem !important;\n}\n\n.m-n2 {\n margin: -0.5rem !important;\n}\n\n.mt-n2,\n.my-n2 {\n margin-top: -0.5rem !important;\n}\n\n.mr-n2,\n.mx-n2 {\n margin-right: -0.5rem !important;\n}\n\n.mb-n2,\n.my-n2 {\n margin-bottom: -0.5rem !important;\n}\n\n.ml-n2,\n.mx-n2 {\n margin-left: -0.5rem !important;\n}\n\n.m-n3 {\n margin: -1rem !important;\n}\n\n.mt-n3,\n.my-n3 {\n margin-top: -1rem !important;\n}\n\n.mr-n3,\n.mx-n3 {\n margin-right: -1rem !important;\n}\n\n.mb-n3,\n.my-n3 {\n margin-bottom: -1rem !important;\n}\n\n.ml-n3,\n.mx-n3 {\n margin-left: -1rem !important;\n}\n\n.m-n4 {\n margin: -1.5rem !important;\n}\n\n.mt-n4,\n.my-n4 {\n margin-top: -1.5rem !important;\n}\n\n.mr-n4,\n.mx-n4 {\n margin-right: -1.5rem !important;\n}\n\n.mb-n4,\n.my-n4 {\n margin-bottom: -1.5rem !important;\n}\n\n.ml-n4,\n.mx-n4 {\n margin-left: -1.5rem !important;\n}\n\n.m-n5 {\n margin: -3rem !important;\n}\n\n.mt-n5,\n.my-n5 {\n margin-top: -3rem !important;\n}\n\n.mr-n5,\n.mx-n5 {\n margin-right: -3rem !important;\n}\n\n.mb-n5,\n.my-n5 {\n margin-bottom: -3rem !important;\n}\n\n.ml-n5,\n.mx-n5 {\n margin-left: -3rem !important;\n}\n\n.m-auto {\n margin: auto !important;\n}\n\n.mt-auto,\n.my-auto {\n margin-top: auto !important;\n}\n\n.mr-auto,\n.mx-auto {\n margin-right: auto !important;\n}\n\n.mb-auto,\n.my-auto {\n margin-bottom: auto !important;\n}\n\n.ml-auto,\n.mx-auto {\n margin-left: auto !important;\n}\n\n@media (min-width: 576px) {\n .m-sm-0 {\n margin: 0 !important;\n }\n .mt-sm-0,\n .my-sm-0 {\n margin-top: 0 !important;\n }\n .mr-sm-0,\n .mx-sm-0 {\n margin-right: 0 !important;\n }\n .mb-sm-0,\n .my-sm-0 {\n margin-bottom: 0 !important;\n }\n .ml-sm-0,\n .mx-sm-0 {\n margin-left: 0 !important;\n }\n .m-sm-1 {\n margin: 0.25rem !important;\n }\n .mt-sm-1,\n .my-sm-1 {\n margin-top: 0.25rem !important;\n }\n .mr-sm-1,\n .mx-sm-1 {\n margin-right: 0.25rem !important;\n }\n .mb-sm-1,\n .my-sm-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-sm-1,\n .mx-sm-1 {\n margin-left: 0.25rem !important;\n }\n .m-sm-2 {\n margin: 0.5rem !important;\n }\n .mt-sm-2,\n .my-sm-2 {\n margin-top: 0.5rem !important;\n }\n .mr-sm-2,\n .mx-sm-2 {\n margin-right: 0.5rem !important;\n }\n .mb-sm-2,\n .my-sm-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-sm-2,\n .mx-sm-2 {\n margin-left: 0.5rem !important;\n }\n .m-sm-3 {\n margin: 1rem !important;\n }\n .mt-sm-3,\n .my-sm-3 {\n margin-top: 1rem !important;\n }\n .mr-sm-3,\n .mx-sm-3 {\n margin-right: 1rem !important;\n }\n .mb-sm-3,\n .my-sm-3 {\n margin-bottom: 1rem !important;\n }\n .ml-sm-3,\n .mx-sm-3 {\n margin-left: 1rem !important;\n }\n .m-sm-4 {\n margin: 1.5rem !important;\n }\n .mt-sm-4,\n .my-sm-4 {\n margin-top: 1.5rem !important;\n }\n .mr-sm-4,\n .mx-sm-4 {\n margin-right: 1.5rem !important;\n }\n .mb-sm-4,\n .my-sm-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-sm-4,\n .mx-sm-4 {\n margin-left: 1.5rem !important;\n }\n .m-sm-5 {\n margin: 3rem !important;\n }\n .mt-sm-5,\n .my-sm-5 {\n margin-top: 3rem !important;\n }\n .mr-sm-5,\n .mx-sm-5 {\n margin-right: 3rem !important;\n }\n .mb-sm-5,\n .my-sm-5 {\n margin-bottom: 3rem !important;\n }\n .ml-sm-5,\n .mx-sm-5 {\n margin-left: 3rem !important;\n }\n .p-sm-0 {\n padding: 0 !important;\n }\n .pt-sm-0,\n .py-sm-0 {\n padding-top: 0 !important;\n }\n .pr-sm-0,\n .px-sm-0 {\n padding-right: 0 !important;\n }\n .pb-sm-0,\n .py-sm-0 {\n padding-bottom: 0 !important;\n }\n .pl-sm-0,\n .px-sm-0 {\n padding-left: 0 !important;\n }\n .p-sm-1 {\n padding: 0.25rem !important;\n }\n .pt-sm-1,\n .py-sm-1 {\n padding-top: 0.25rem !important;\n }\n .pr-sm-1,\n .px-sm-1 {\n padding-right: 0.25rem !important;\n }\n .pb-sm-1,\n .py-sm-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-sm-1,\n .px-sm-1 {\n padding-left: 0.25rem !important;\n }\n .p-sm-2 {\n padding: 0.5rem !important;\n }\n .pt-sm-2,\n .py-sm-2 {\n padding-top: 0.5rem !important;\n }\n .pr-sm-2,\n .px-sm-2 {\n padding-right: 0.5rem !important;\n }\n .pb-sm-2,\n .py-sm-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-sm-2,\n .px-sm-2 {\n padding-left: 0.5rem !important;\n }\n .p-sm-3 {\n padding: 1rem !important;\n }\n .pt-sm-3,\n .py-sm-3 {\n padding-top: 1rem !important;\n }\n .pr-sm-3,\n .px-sm-3 {\n padding-right: 1rem !important;\n }\n .pb-sm-3,\n .py-sm-3 {\n padding-bottom: 1rem !important;\n }\n .pl-sm-3,\n .px-sm-3 {\n padding-left: 1rem !important;\n }\n .p-sm-4 {\n padding: 1.5rem !important;\n }\n .pt-sm-4,\n .py-sm-4 {\n padding-top: 1.5rem !important;\n }\n .pr-sm-4,\n .px-sm-4 {\n padding-right: 1.5rem !important;\n }\n .pb-sm-4,\n .py-sm-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-sm-4,\n .px-sm-4 {\n padding-left: 1.5rem !important;\n }\n .p-sm-5 {\n padding: 3rem !important;\n }\n .pt-sm-5,\n .py-sm-5 {\n padding-top: 3rem !important;\n }\n .pr-sm-5,\n .px-sm-5 {\n padding-right: 3rem !important;\n }\n .pb-sm-5,\n .py-sm-5 {\n padding-bottom: 3rem !important;\n }\n .pl-sm-5,\n .px-sm-5 {\n padding-left: 3rem !important;\n }\n .m-sm-n1 {\n margin: -0.25rem !important;\n }\n .mt-sm-n1,\n .my-sm-n1 {\n margin-top: -0.25rem !important;\n }\n .mr-sm-n1,\n .mx-sm-n1 {\n margin-right: -0.25rem !important;\n }\n .mb-sm-n1,\n .my-sm-n1 {\n margin-bottom: -0.25rem !important;\n }\n .ml-sm-n1,\n .mx-sm-n1 {\n margin-left: -0.25rem !important;\n }\n .m-sm-n2 {\n margin: -0.5rem !important;\n }\n .mt-sm-n2,\n .my-sm-n2 {\n margin-top: -0.5rem !important;\n }\n .mr-sm-n2,\n .mx-sm-n2 {\n margin-right: -0.5rem !important;\n }\n .mb-sm-n2,\n .my-sm-n2 {\n margin-bottom: -0.5rem !important;\n }\n .ml-sm-n2,\n .mx-sm-n2 {\n margin-left: -0.5rem !important;\n }\n .m-sm-n3 {\n margin: -1rem !important;\n }\n .mt-sm-n3,\n .my-sm-n3 {\n margin-top: -1rem !important;\n }\n .mr-sm-n3,\n .mx-sm-n3 {\n margin-right: -1rem !important;\n }\n .mb-sm-n3,\n .my-sm-n3 {\n margin-bottom: -1rem !important;\n }\n .ml-sm-n3,\n .mx-sm-n3 {\n margin-left: -1rem !important;\n }\n .m-sm-n4 {\n margin: -1.5rem !important;\n }\n .mt-sm-n4,\n .my-sm-n4 {\n margin-top: -1.5rem !important;\n }\n .mr-sm-n4,\n .mx-sm-n4 {\n margin-right: -1.5rem !important;\n }\n .mb-sm-n4,\n .my-sm-n4 {\n margin-bottom: -1.5rem !important;\n }\n .ml-sm-n4,\n .mx-sm-n4 {\n margin-left: -1.5rem !important;\n }\n .m-sm-n5 {\n margin: -3rem !important;\n }\n .mt-sm-n5,\n .my-sm-n5 {\n margin-top: -3rem !important;\n }\n .mr-sm-n5,\n .mx-sm-n5 {\n margin-right: -3rem !important;\n }\n .mb-sm-n5,\n .my-sm-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-sm-n5,\n .mx-sm-n5 {\n margin-left: -3rem !important;\n }\n .m-sm-auto {\n margin: auto !important;\n }\n .mt-sm-auto,\n .my-sm-auto {\n margin-top: auto !important;\n }\n .mr-sm-auto,\n .mx-sm-auto {\n margin-right: auto !important;\n }\n .mb-sm-auto,\n .my-sm-auto {\n margin-bottom: auto !important;\n }\n .ml-sm-auto,\n .mx-sm-auto {\n margin-left: auto !important;\n }\n}\n\n@media (min-width: 768px) {\n .m-md-0 {\n margin: 0 !important;\n }\n .mt-md-0,\n .my-md-0 {\n margin-top: 0 !important;\n }\n .mr-md-0,\n .mx-md-0 {\n margin-right: 0 !important;\n }\n .mb-md-0,\n .my-md-0 {\n margin-bottom: 0 !important;\n }\n .ml-md-0,\n .mx-md-0 {\n margin-left: 0 !important;\n }\n .m-md-1 {\n margin: 0.25rem !important;\n }\n .mt-md-1,\n .my-md-1 {\n margin-top: 0.25rem !important;\n }\n .mr-md-1,\n .mx-md-1 {\n margin-right: 0.25rem !important;\n }\n .mb-md-1,\n .my-md-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-md-1,\n .mx-md-1 {\n margin-left: 0.25rem !important;\n }\n .m-md-2 {\n margin: 0.5rem !important;\n }\n .mt-md-2,\n .my-md-2 {\n margin-top: 0.5rem !important;\n }\n .mr-md-2,\n .mx-md-2 {\n margin-right: 0.5rem !important;\n }\n .mb-md-2,\n .my-md-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-md-2,\n .mx-md-2 {\n margin-left: 0.5rem !important;\n }\n .m-md-3 {\n margin: 1rem !important;\n }\n .mt-md-3,\n .my-md-3 {\n margin-top: 1rem !important;\n }\n .mr-md-3,\n .mx-md-3 {\n margin-right: 1rem !important;\n }\n .mb-md-3,\n .my-md-3 {\n margin-bottom: 1rem !important;\n }\n .ml-md-3,\n .mx-md-3 {\n margin-left: 1rem !important;\n }\n .m-md-4 {\n margin: 1.5rem !important;\n }\n .mt-md-4,\n .my-md-4 {\n margin-top: 1.5rem !important;\n }\n .mr-md-4,\n .mx-md-4 {\n margin-right: 1.5rem !important;\n }\n .mb-md-4,\n .my-md-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-md-4,\n .mx-md-4 {\n margin-left: 1.5rem !important;\n }\n .m-md-5 {\n margin: 3rem !important;\n }\n .mt-md-5,\n .my-md-5 {\n margin-top: 3rem !important;\n }\n .mr-md-5,\n .mx-md-5 {\n margin-right: 3rem !important;\n }\n .mb-md-5,\n .my-md-5 {\n margin-bottom: 3rem !important;\n }\n .ml-md-5,\n .mx-md-5 {\n margin-left: 3rem !important;\n }\n .p-md-0 {\n padding: 0 !important;\n }\n .pt-md-0,\n .py-md-0 {\n padding-top: 0 !important;\n }\n .pr-md-0,\n .px-md-0 {\n padding-right: 0 !important;\n }\n .pb-md-0,\n .py-md-0 {\n padding-bottom: 0 !important;\n }\n .pl-md-0,\n .px-md-0 {\n padding-left: 0 !important;\n }\n .p-md-1 {\n padding: 0.25rem !important;\n }\n .pt-md-1,\n .py-md-1 {\n padding-top: 0.25rem !important;\n }\n .pr-md-1,\n .px-md-1 {\n padding-right: 0.25rem !important;\n }\n .pb-md-1,\n .py-md-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-md-1,\n .px-md-1 {\n padding-left: 0.25rem !important;\n }\n .p-md-2 {\n padding: 0.5rem !important;\n }\n .pt-md-2,\n .py-md-2 {\n padding-top: 0.5rem !important;\n }\n .pr-md-2,\n .px-md-2 {\n padding-right: 0.5rem !important;\n }\n .pb-md-2,\n .py-md-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-md-2,\n .px-md-2 {\n padding-left: 0.5rem !important;\n }\n .p-md-3 {\n padding: 1rem !important;\n }\n .pt-md-3,\n .py-md-3 {\n padding-top: 1rem !important;\n }\n .pr-md-3,\n .px-md-3 {\n padding-right: 1rem !important;\n }\n .pb-md-3,\n .py-md-3 {\n padding-bottom: 1rem !important;\n }\n .pl-md-3,\n .px-md-3 {\n padding-left: 1rem !important;\n }\n .p-md-4 {\n padding: 1.5rem !important;\n }\n .pt-md-4,\n .py-md-4 {\n padding-top: 1.5rem !important;\n }\n .pr-md-4,\n .px-md-4 {\n padding-right: 1.5rem !important;\n }\n .pb-md-4,\n .py-md-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-md-4,\n .px-md-4 {\n padding-left: 1.5rem !important;\n }\n .p-md-5 {\n padding: 3rem !important;\n }\n .pt-md-5,\n .py-md-5 {\n padding-top: 3rem !important;\n }\n .pr-md-5,\n .px-md-5 {\n padding-right: 3rem !important;\n }\n .pb-md-5,\n .py-md-5 {\n padding-bottom: 3rem !important;\n }\n .pl-md-5,\n .px-md-5 {\n padding-left: 3rem !important;\n }\n .m-md-n1 {\n margin: -0.25rem !important;\n }\n .mt-md-n1,\n .my-md-n1 {\n margin-top: -0.25rem !important;\n }\n .mr-md-n1,\n .mx-md-n1 {\n margin-right: -0.25rem !important;\n }\n .mb-md-n1,\n .my-md-n1 {\n margin-bottom: -0.25rem !important;\n }\n .ml-md-n1,\n .mx-md-n1 {\n margin-left: -0.25rem !important;\n }\n .m-md-n2 {\n margin: -0.5rem !important;\n }\n .mt-md-n2,\n .my-md-n2 {\n margin-top: -0.5rem !important;\n }\n .mr-md-n2,\n .mx-md-n2 {\n margin-right: -0.5rem !important;\n }\n .mb-md-n2,\n .my-md-n2 {\n margin-bottom: -0.5rem !important;\n }\n .ml-md-n2,\n .mx-md-n2 {\n margin-left: -0.5rem !important;\n }\n .m-md-n3 {\n margin: -1rem !important;\n }\n .mt-md-n3,\n .my-md-n3 {\n margin-top: -1rem !important;\n }\n .mr-md-n3,\n .mx-md-n3 {\n margin-right: -1rem !important;\n }\n .mb-md-n3,\n .my-md-n3 {\n margin-bottom: -1rem !important;\n }\n .ml-md-n3,\n .mx-md-n3 {\n margin-left: -1rem !important;\n }\n .m-md-n4 {\n margin: -1.5rem !important;\n }\n .mt-md-n4,\n .my-md-n4 {\n margin-top: -1.5rem !important;\n }\n .mr-md-n4,\n .mx-md-n4 {\n margin-right: -1.5rem !important;\n }\n .mb-md-n4,\n .my-md-n4 {\n margin-bottom: -1.5rem !important;\n }\n .ml-md-n4,\n .mx-md-n4 {\n margin-left: -1.5rem !important;\n }\n .m-md-n5 {\n margin: -3rem !important;\n }\n .mt-md-n5,\n .my-md-n5 {\n margin-top: -3rem !important;\n }\n .mr-md-n5,\n .mx-md-n5 {\n margin-right: -3rem !important;\n }\n .mb-md-n5,\n .my-md-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-md-n5,\n .mx-md-n5 {\n margin-left: -3rem !important;\n }\n .m-md-auto {\n margin: auto !important;\n }\n .mt-md-auto,\n .my-md-auto {\n margin-top: auto !important;\n }\n .mr-md-auto,\n .mx-md-auto {\n margin-right: auto !important;\n }\n .mb-md-auto,\n .my-md-auto {\n margin-bottom: auto !important;\n }\n .ml-md-auto,\n .mx-md-auto {\n margin-left: auto !important;\n }\n}\n\n@media (min-width: 992px) {\n .m-lg-0 {\n margin: 0 !important;\n }\n .mt-lg-0,\n .my-lg-0 {\n margin-top: 0 !important;\n }\n .mr-lg-0,\n .mx-lg-0 {\n margin-right: 0 !important;\n }\n .mb-lg-0,\n .my-lg-0 {\n margin-bottom: 0 !important;\n }\n .ml-lg-0,\n .mx-lg-0 {\n margin-left: 0 !important;\n }\n .m-lg-1 {\n margin: 0.25rem !important;\n }\n .mt-lg-1,\n .my-lg-1 {\n margin-top: 0.25rem !important;\n }\n .mr-lg-1,\n .mx-lg-1 {\n margin-right: 0.25rem !important;\n }\n .mb-lg-1,\n .my-lg-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-lg-1,\n .mx-lg-1 {\n margin-left: 0.25rem !important;\n }\n .m-lg-2 {\n margin: 0.5rem !important;\n }\n .mt-lg-2,\n .my-lg-2 {\n margin-top: 0.5rem !important;\n }\n .mr-lg-2,\n .mx-lg-2 {\n margin-right: 0.5rem !important;\n }\n .mb-lg-2,\n .my-lg-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-lg-2,\n .mx-lg-2 {\n margin-left: 0.5rem !important;\n }\n .m-lg-3 {\n margin: 1rem !important;\n }\n .mt-lg-3,\n .my-lg-3 {\n margin-top: 1rem !important;\n }\n .mr-lg-3,\n .mx-lg-3 {\n margin-right: 1rem !important;\n }\n .mb-lg-3,\n .my-lg-3 {\n margin-bottom: 1rem !important;\n }\n .ml-lg-3,\n .mx-lg-3 {\n margin-left: 1rem !important;\n }\n .m-lg-4 {\n margin: 1.5rem !important;\n }\n .mt-lg-4,\n .my-lg-4 {\n margin-top: 1.5rem !important;\n }\n .mr-lg-4,\n .mx-lg-4 {\n margin-right: 1.5rem !important;\n }\n .mb-lg-4,\n .my-lg-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-lg-4,\n .mx-lg-4 {\n margin-left: 1.5rem !important;\n }\n .m-lg-5 {\n margin: 3rem !important;\n }\n .mt-lg-5,\n .my-lg-5 {\n margin-top: 3rem !important;\n }\n .mr-lg-5,\n .mx-lg-5 {\n margin-right: 3rem !important;\n }\n .mb-lg-5,\n .my-lg-5 {\n margin-bottom: 3rem !important;\n }\n .ml-lg-5,\n .mx-lg-5 {\n margin-left: 3rem !important;\n }\n .p-lg-0 {\n padding: 0 !important;\n }\n .pt-lg-0,\n .py-lg-0 {\n padding-top: 0 !important;\n }\n .pr-lg-0,\n .px-lg-0 {\n padding-right: 0 !important;\n }\n .pb-lg-0,\n .py-lg-0 {\n padding-bottom: 0 !important;\n }\n .pl-lg-0,\n .px-lg-0 {\n padding-left: 0 !important;\n }\n .p-lg-1 {\n padding: 0.25rem !important;\n }\n .pt-lg-1,\n .py-lg-1 {\n padding-top: 0.25rem !important;\n }\n .pr-lg-1,\n .px-lg-1 {\n padding-right: 0.25rem !important;\n }\n .pb-lg-1,\n .py-lg-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-lg-1,\n .px-lg-1 {\n padding-left: 0.25rem !important;\n }\n .p-lg-2 {\n padding: 0.5rem !important;\n }\n .pt-lg-2,\n .py-lg-2 {\n padding-top: 0.5rem !important;\n }\n .pr-lg-2,\n .px-lg-2 {\n padding-right: 0.5rem !important;\n }\n .pb-lg-2,\n .py-lg-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-lg-2,\n .px-lg-2 {\n padding-left: 0.5rem !important;\n }\n .p-lg-3 {\n padding: 1rem !important;\n }\n .pt-lg-3,\n .py-lg-3 {\n padding-top: 1rem !important;\n }\n .pr-lg-3,\n .px-lg-3 {\n padding-right: 1rem !important;\n }\n .pb-lg-3,\n .py-lg-3 {\n padding-bottom: 1rem !important;\n }\n .pl-lg-3,\n .px-lg-3 {\n padding-left: 1rem !important;\n }\n .p-lg-4 {\n padding: 1.5rem !important;\n }\n .pt-lg-4,\n .py-lg-4 {\n padding-top: 1.5rem !important;\n }\n .pr-lg-4,\n .px-lg-4 {\n padding-right: 1.5rem !important;\n }\n .pb-lg-4,\n .py-lg-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-lg-4,\n .px-lg-4 {\n padding-left: 1.5rem !important;\n }\n .p-lg-5 {\n padding: 3rem !important;\n }\n .pt-lg-5,\n .py-lg-5 {\n padding-top: 3rem !important;\n }\n .pr-lg-5,\n .px-lg-5 {\n padding-right: 3rem !important;\n }\n .pb-lg-5,\n .py-lg-5 {\n padding-bottom: 3rem !important;\n }\n .pl-lg-5,\n .px-lg-5 {\n padding-left: 3rem !important;\n }\n .m-lg-n1 {\n margin: -0.25rem !important;\n }\n .mt-lg-n1,\n .my-lg-n1 {\n margin-top: -0.25rem !important;\n }\n .mr-lg-n1,\n .mx-lg-n1 {\n margin-right: -0.25rem !important;\n }\n .mb-lg-n1,\n .my-lg-n1 {\n margin-bottom: -0.25rem !important;\n }\n .ml-lg-n1,\n .mx-lg-n1 {\n margin-left: -0.25rem !important;\n }\n .m-lg-n2 {\n margin: -0.5rem !important;\n }\n .mt-lg-n2,\n .my-lg-n2 {\n margin-top: -0.5rem !important;\n }\n .mr-lg-n2,\n .mx-lg-n2 {\n margin-right: -0.5rem !important;\n }\n .mb-lg-n2,\n .my-lg-n2 {\n margin-bottom: -0.5rem !important;\n }\n .ml-lg-n2,\n .mx-lg-n2 {\n margin-left: -0.5rem !important;\n }\n .m-lg-n3 {\n margin: -1rem !important;\n }\n .mt-lg-n3,\n .my-lg-n3 {\n margin-top: -1rem !important;\n }\n .mr-lg-n3,\n .mx-lg-n3 {\n margin-right: -1rem !important;\n }\n .mb-lg-n3,\n .my-lg-n3 {\n margin-bottom: -1rem !important;\n }\n .ml-lg-n3,\n .mx-lg-n3 {\n margin-left: -1rem !important;\n }\n .m-lg-n4 {\n margin: -1.5rem !important;\n }\n .mt-lg-n4,\n .my-lg-n4 {\n margin-top: -1.5rem !important;\n }\n .mr-lg-n4,\n .mx-lg-n4 {\n margin-right: -1.5rem !important;\n }\n .mb-lg-n4,\n .my-lg-n4 {\n margin-bottom: -1.5rem !important;\n }\n .ml-lg-n4,\n .mx-lg-n4 {\n margin-left: -1.5rem !important;\n }\n .m-lg-n5 {\n margin: -3rem !important;\n }\n .mt-lg-n5,\n .my-lg-n5 {\n margin-top: -3rem !important;\n }\n .mr-lg-n5,\n .mx-lg-n5 {\n margin-right: -3rem !important;\n }\n .mb-lg-n5,\n .my-lg-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-lg-n5,\n .mx-lg-n5 {\n margin-left: -3rem !important;\n }\n .m-lg-auto {\n margin: auto !important;\n }\n .mt-lg-auto,\n .my-lg-auto {\n margin-top: auto !important;\n }\n .mr-lg-auto,\n .mx-lg-auto {\n margin-right: auto !important;\n }\n .mb-lg-auto,\n .my-lg-auto {\n margin-bottom: auto !important;\n }\n .ml-lg-auto,\n .mx-lg-auto {\n margin-left: auto !important;\n }\n}\n\n@media (min-width: 1200px) {\n .m-xl-0 {\n margin: 0 !important;\n }\n .mt-xl-0,\n .my-xl-0 {\n margin-top: 0 !important;\n }\n .mr-xl-0,\n .mx-xl-0 {\n margin-right: 0 !important;\n }\n .mb-xl-0,\n .my-xl-0 {\n margin-bottom: 0 !important;\n }\n .ml-xl-0,\n .mx-xl-0 {\n margin-left: 0 !important;\n }\n .m-xl-1 {\n margin: 0.25rem !important;\n }\n .mt-xl-1,\n .my-xl-1 {\n margin-top: 0.25rem !important;\n }\n .mr-xl-1,\n .mx-xl-1 {\n margin-right: 0.25rem !important;\n }\n .mb-xl-1,\n .my-xl-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-xl-1,\n .mx-xl-1 {\n margin-left: 0.25rem !important;\n }\n .m-xl-2 {\n margin: 0.5rem !important;\n }\n .mt-xl-2,\n .my-xl-2 {\n margin-top: 0.5rem !important;\n }\n .mr-xl-2,\n .mx-xl-2 {\n margin-right: 0.5rem !important;\n }\n .mb-xl-2,\n .my-xl-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-xl-2,\n .mx-xl-2 {\n margin-left: 0.5rem !important;\n }\n .m-xl-3 {\n margin: 1rem !important;\n }\n .mt-xl-3,\n .my-xl-3 {\n margin-top: 1rem !important;\n }\n .mr-xl-3,\n .mx-xl-3 {\n margin-right: 1rem !important;\n }\n .mb-xl-3,\n .my-xl-3 {\n margin-bottom: 1rem !important;\n }\n .ml-xl-3,\n .mx-xl-3 {\n margin-left: 1rem !important;\n }\n .m-xl-4 {\n margin: 1.5rem !important;\n }\n .mt-xl-4,\n .my-xl-4 {\n margin-top: 1.5rem !important;\n }\n .mr-xl-4,\n .mx-xl-4 {\n margin-right: 1.5rem !important;\n }\n .mb-xl-4,\n .my-xl-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-xl-4,\n .mx-xl-4 {\n margin-left: 1.5rem !important;\n }\n .m-xl-5 {\n margin: 3rem !important;\n }\n .mt-xl-5,\n .my-xl-5 {\n margin-top: 3rem !important;\n }\n .mr-xl-5,\n .mx-xl-5 {\n margin-right: 3rem !important;\n }\n .mb-xl-5,\n .my-xl-5 {\n margin-bottom: 3rem !important;\n }\n .ml-xl-5,\n .mx-xl-5 {\n margin-left: 3rem !important;\n }\n .p-xl-0 {\n padding: 0 !important;\n }\n .pt-xl-0,\n .py-xl-0 {\n padding-top: 0 !important;\n }\n .pr-xl-0,\n .px-xl-0 {\n padding-right: 0 !important;\n }\n .pb-xl-0,\n .py-xl-0 {\n padding-bottom: 0 !important;\n }\n .pl-xl-0,\n .px-xl-0 {\n padding-left: 0 !important;\n }\n .p-xl-1 {\n padding: 0.25rem !important;\n }\n .pt-xl-1,\n .py-xl-1 {\n padding-top: 0.25rem !important;\n }\n .pr-xl-1,\n .px-xl-1 {\n padding-right: 0.25rem !important;\n }\n .pb-xl-1,\n .py-xl-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-xl-1,\n .px-xl-1 {\n padding-left: 0.25rem !important;\n }\n .p-xl-2 {\n padding: 0.5rem !important;\n }\n .pt-xl-2,\n .py-xl-2 {\n padding-top: 0.5rem !important;\n }\n .pr-xl-2,\n .px-xl-2 {\n padding-right: 0.5rem !important;\n }\n .pb-xl-2,\n .py-xl-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-xl-2,\n .px-xl-2 {\n padding-left: 0.5rem !important;\n }\n .p-xl-3 {\n padding: 1rem !important;\n }\n .pt-xl-3,\n .py-xl-3 {\n padding-top: 1rem !important;\n }\n .pr-xl-3,\n .px-xl-3 {\n padding-right: 1rem !important;\n }\n .pb-xl-3,\n .py-xl-3 {\n padding-bottom: 1rem !important;\n }\n .pl-xl-3,\n .px-xl-3 {\n padding-left: 1rem !important;\n }\n .p-xl-4 {\n padding: 1.5rem !important;\n }\n .pt-xl-4,\n .py-xl-4 {\n padding-top: 1.5rem !important;\n }\n .pr-xl-4,\n .px-xl-4 {\n padding-right: 1.5rem !important;\n }\n .pb-xl-4,\n .py-xl-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-xl-4,\n .px-xl-4 {\n padding-left: 1.5rem !important;\n }\n .p-xl-5 {\n padding: 3rem !important;\n }\n .pt-xl-5,\n .py-xl-5 {\n padding-top: 3rem !important;\n }\n .pr-xl-5,\n .px-xl-5 {\n padding-right: 3rem !important;\n }\n .pb-xl-5,\n .py-xl-5 {\n padding-bottom: 3rem !important;\n }\n .pl-xl-5,\n .px-xl-5 {\n padding-left: 3rem !important;\n }\n .m-xl-n1 {\n margin: -0.25rem !important;\n }\n .mt-xl-n1,\n .my-xl-n1 {\n margin-top: -0.25rem !important;\n }\n .mr-xl-n1,\n .mx-xl-n1 {\n margin-right: -0.25rem !important;\n }\n .mb-xl-n1,\n .my-xl-n1 {\n margin-bottom: -0.25rem !important;\n }\n .ml-xl-n1,\n .mx-xl-n1 {\n margin-left: -0.25rem !important;\n }\n .m-xl-n2 {\n margin: -0.5rem !important;\n }\n .mt-xl-n2,\n .my-xl-n2 {\n margin-top: -0.5rem !important;\n }\n .mr-xl-n2,\n .mx-xl-n2 {\n margin-right: -0.5rem !important;\n }\n .mb-xl-n2,\n .my-xl-n2 {\n margin-bottom: -0.5rem !important;\n }\n .ml-xl-n2,\n .mx-xl-n2 {\n margin-left: -0.5rem !important;\n }\n .m-xl-n3 {\n margin: -1rem !important;\n }\n .mt-xl-n3,\n .my-xl-n3 {\n margin-top: -1rem !important;\n }\n .mr-xl-n3,\n .mx-xl-n3 {\n margin-right: -1rem !important;\n }\n .mb-xl-n3,\n .my-xl-n3 {\n margin-bottom: -1rem !important;\n }\n .ml-xl-n3,\n .mx-xl-n3 {\n margin-left: -1rem !important;\n }\n .m-xl-n4 {\n margin: -1.5rem !important;\n }\n .mt-xl-n4,\n .my-xl-n4 {\n margin-top: -1.5rem !important;\n }\n .mr-xl-n4,\n .mx-xl-n4 {\n margin-right: -1.5rem !important;\n }\n .mb-xl-n4,\n .my-xl-n4 {\n margin-bottom: -1.5rem !important;\n }\n .ml-xl-n4,\n .mx-xl-n4 {\n margin-left: -1.5rem !important;\n }\n .m-xl-n5 {\n margin: -3rem !important;\n }\n .mt-xl-n5,\n .my-xl-n5 {\n margin-top: -3rem !important;\n }\n .mr-xl-n5,\n .mx-xl-n5 {\n margin-right: -3rem !important;\n }\n .mb-xl-n5,\n .my-xl-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-xl-n5,\n .mx-xl-n5 {\n margin-left: -3rem !important;\n }\n .m-xl-auto {\n margin: auto !important;\n }\n .mt-xl-auto,\n .my-xl-auto {\n margin-top: auto !important;\n }\n .mr-xl-auto,\n .mx-xl-auto {\n margin-right: auto !important;\n }\n .mb-xl-auto,\n .my-xl-auto {\n margin-bottom: auto !important;\n }\n .ml-xl-auto,\n .mx-xl-auto {\n margin-left: auto !important;\n }\n}\n\n.text-monospace {\n font-family: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace !important;\n}\n\n.text-justify {\n text-align: justify !important;\n}\n\n.text-wrap {\n white-space: normal !important;\n}\n\n.text-nowrap {\n white-space: nowrap !important;\n}\n\n.text-truncate {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.text-left {\n text-align: left !important;\n}\n\n.text-right {\n text-align: right !important;\n}\n\n.text-center {\n text-align: center !important;\n}\n\n@media (min-width: 576px) {\n .text-sm-left {\n text-align: left !important;\n }\n .text-sm-right {\n text-align: right !important;\n }\n .text-sm-center {\n text-align: center !important;\n }\n}\n\n@media (min-width: 768px) {\n .text-md-left {\n text-align: left !important;\n }\n .text-md-right {\n text-align: right !important;\n }\n .text-md-center {\n text-align: center !important;\n }\n}\n\n@media (min-width: 992px) {\n .text-lg-left {\n text-align: left !important;\n }\n .text-lg-right {\n text-align: right !important;\n }\n .text-lg-center {\n text-align: center !important;\n }\n}\n\n@media (min-width: 1200px) {\n .text-xl-left {\n text-align: left !important;\n }\n .text-xl-right {\n text-align: right !important;\n }\n .text-xl-center {\n text-align: center !important;\n }\n}\n\n.text-lowercase {\n text-transform: lowercase !important;\n}\n\n.text-uppercase {\n text-transform: uppercase !important;\n}\n\n.text-capitalize {\n text-transform: capitalize !important;\n}\n\n.font-weight-light {\n font-weight: 300 !important;\n}\n\n.font-weight-lighter {\n font-weight: lighter !important;\n}\n\n.font-weight-normal {\n font-weight: 400 !important;\n}\n\n.font-weight-bold {\n font-weight: 700 !important;\n}\n\n.font-weight-bolder {\n font-weight: bolder !important;\n}\n\n.font-italic {\n font-style: italic !important;\n}\n\n.text-white {\n color: #fff !important;\n}\n\n.text-primary {\n color: #007bff !important;\n}\n\na.text-primary:hover, a.text-primary:focus {\n color: #0056b3 !important;\n}\n\n.text-secondary {\n color: #6c757d !important;\n}\n\na.text-secondary:hover, a.text-secondary:focus {\n color: #494f54 !important;\n}\n\n.text-success {\n color: #28a745 !important;\n}\n\na.text-success:hover, a.text-success:focus {\n color: #19692c !important;\n}\n\n.text-info {\n color: #17a2b8 !important;\n}\n\na.text-info:hover, a.text-info:focus {\n color: #0f6674 !important;\n}\n\n.text-warning {\n color: #ffc107 !important;\n}\n\na.text-warning:hover, a.text-warning:focus {\n color: #ba8b00 !important;\n}\n\n.text-danger {\n color: #dc3545 !important;\n}\n\na.text-danger:hover, a.text-danger:focus {\n color: #a71d2a !important;\n}\n\n.text-light {\n color: #f8f9fa !important;\n}\n\na.text-light:hover, a.text-light:focus {\n color: #cbd3da !important;\n}\n\n.text-dark {\n color: #343a40 !important;\n}\n\na.text-dark:hover, a.text-dark:focus {\n color: #121416 !important;\n}\n\n.text-body {\n color: #212529 !important;\n}\n\n.text-muted {\n color: #6c757d !important;\n}\n\n.text-black-50 {\n color: rgba(0, 0, 0, 0.5) !important;\n}\n\n.text-white-50 {\n color: rgba(255, 255, 255, 0.5) !important;\n}\n\n.text-hide {\n font: 0/0 a;\n color: transparent;\n text-shadow: none;\n background-color: transparent;\n border: 0;\n}\n\n.text-decoration-none {\n text-decoration: none !important;\n}\n\n.text-break {\n word-break: break-word !important;\n overflow-wrap: break-word !important;\n}\n\n.text-reset {\n color: inherit !important;\n}\n\n.visible {\n visibility: visible !important;\n}\n\n.invisible {\n visibility: hidden !important;\n}\n\n@media print {\n *,\n *::before,\n *::after {\n text-shadow: none !important;\n box-shadow: none !important;\n }\n a:not(.btn) {\n text-decoration: underline;\n }\n abbr[title]::after {\n content: \" (\" attr(title) \")\";\n }\n pre {\n white-space: pre-wrap !important;\n }\n pre,\n blockquote {\n border: 1px solid #adb5bd;\n page-break-inside: avoid;\n }\n thead {\n display: table-header-group;\n }\n tr,\n img {\n page-break-inside: avoid;\n }\n p,\n h2,\n h3 {\n orphans: 3;\n widows: 3;\n }\n h2,\n h3 {\n page-break-after: avoid;\n }\n @page {\n size: a3;\n }\n body {\n min-width: 992px !important;\n }\n .container {\n min-width: 992px !important;\n }\n .navbar {\n display: none;\n }\n .badge {\n border: 1px solid #000;\n }\n .table {\n border-collapse: collapse !important;\n }\n .table td,\n .table th {\n background-color: #fff !important;\n }\n .table-bordered th,\n .table-bordered td {\n border: 1px solid #dee2e6 !important;\n }\n .table-dark {\n color: inherit;\n }\n .table-dark th,\n .table-dark td,\n .table-dark thead th,\n .table-dark tbody + tbody {\n border-color: #dee2e6;\n }\n .table .thead-dark th {\n color: inherit;\n border-color: #dee2e6;\n }\n}\n\n.rtl,\n[dir=\"rtl\"] {\n text-align: right;\n direction: rtl;\n}\n\n.rtl .nav,\n[dir=\"rtl\"] .nav {\n padding-right: 0;\n}\n\n.rtl .navbar-nav .nav-item,\n[dir=\"rtl\"] .navbar-nav .nav-item {\n float: right;\n}\n\n.rtl .navbar-nav .nav-item + .nav-item,\n[dir=\"rtl\"] .navbar-nav .nav-item + .nav-item {\n margin-right: inherit;\n margin-left: 1rem;\n}\n\n.rtl th,\n[dir=\"rtl\"] th {\n text-align: right;\n}\n\n.rtl .alert-dismissible,\n[dir=\"rtl\"] .alert-dismissible {\n padding-right: 1.25rem;\n padding-left: 4rem;\n}\n\n.rtl .dropdown-menu,\n[dir=\"rtl\"] .dropdown-menu {\n right: 0;\n left: inherit;\n text-align: right;\n}\n\n.rtl .checkbox label,\n[dir=\"rtl\"] .checkbox label {\n padding-right: 1.25rem;\n padding-left: inherit;\n}\n\n.rtl .btn-group > .btn:not(:first-child),\n.rtl .btn-group > .btn-group:not(:first-child),\n[dir=\"rtl\"] .btn-group > .btn:not(:first-child),\n[dir=\"rtl\"] .btn-group > .btn-group:not(:first-child) {\n margin-left: initial;\n margin-right: -1px;\n}\n\n.rtl .btn-group > .btn:first-child:not(:last-child):not(.dropdown-toggle),\n[dir=\"rtl\"] .btn-group > .btn:first-child:not(:last-child):not(.dropdown-toggle) {\n border-radius: 0 0.25rem 0.25rem 0;\n}\n\n.rtl .btn-group > .btn:last-child:not(:first-child),\n.rtl .btn-group > .dropdown-toggle:not(:first-child),\n[dir=\"rtl\"] .btn-group > .btn:last-child:not(:first-child),\n[dir=\"rtl\"] .btn-group > .dropdown-toggle:not(:first-child) {\n border-radius: 0.25rem 0 0 0.25rem;\n}\n\n.rtl .btn-group > .btn-group:last-child:not(:first-child) > .btn:first-child,\n[dir=\"rtl\"] .btn-group > .btn-group:last-child:not(:first-child) > .btn:first-child {\n border-radius: 0.25rem 0 0 0.25rem;\n}\n\n.rtl .custom-control,\n[dir=\"rtl\"] .custom-control {\n padding-right: 1.5rem;\n padding-left: inherit;\n margin-right: inherit;\n margin-left: 1rem;\n}\n\n.rtl .custom-control-indicator,\n[dir=\"rtl\"] .custom-control-indicator {\n right: 0;\n left: inherit;\n}\n\n.rtl .custom-file-label::after,\n[dir=\"rtl\"] .custom-file-label::after {\n right: initial;\n left: -1px;\n border-radius: .25rem 0 0 .25rem;\n}\n\n.rtl .custom-control-label::after,\n.rtl .custom-control-label::before,\n[dir=\"rtl\"] .custom-control-label::after,\n[dir=\"rtl\"] .custom-control-label::before {\n right: -1.5rem;\n left: inherit;\n}\n\n.rtl .custom-select,\n[dir=\"rtl\"] .custom-select {\n padding: 0.375rem 0.75rem 0.375rem 1.75rem;\n background: #fff url(\"data:image/svg+xml,\") no-repeat left 0.75rem center;\n background-size: 8px 10px;\n}\n\n.rtl .custom-switch,\n[dir=\"rtl\"] .custom-switch {\n padding-right: 2.25rem;\n padding-left: inherit;\n}\n\n.rtl .custom-switch .custom-control-label::before,\n[dir=\"rtl\"] .custom-switch .custom-control-label::before {\n right: -2.25rem;\n}\n\n.rtl .custom-switch .custom-control-label::after,\n[dir=\"rtl\"] .custom-switch .custom-control-label::after {\n right: calc(-2.25rem + 2px);\n}\n\n.rtl .custom-switch .custom-control-input:checked ~ .custom-control-label::after,\n[dir=\"rtl\"] .custom-switch .custom-control-input:checked ~ .custom-control-label::after {\n transform: translateX(-0.75rem);\n}\n\n.rtl .input-group > .input-group-append:last-child > .btn:not(:last-child):not(.dropdown-toggle),\n.rtl .input-group > .input-group-append:last-child > .input-group-text:not(:last-child),\n.rtl .input-group > .input-group-append:not(:last-child) > .btn,\n.rtl .input-group > .input-group-append:not(:last-child) > .input-group-text,\n.rtl .input-group > .input-group-prepend > .btn,\n.rtl .input-group > .input-group-prepend > .input-group-text,\n[dir=\"rtl\"] .input-group > .input-group-append:last-child > .btn:not(:last-child):not(.dropdown-toggle),\n[dir=\"rtl\"] .input-group > .input-group-append:last-child > .input-group-text:not(:last-child),\n[dir=\"rtl\"] .input-group > .input-group-append:not(:last-child) > .btn,\n[dir=\"rtl\"] .input-group > .input-group-append:not(:last-child) > .input-group-text,\n[dir=\"rtl\"] .input-group > .input-group-prepend > .btn,\n[dir=\"rtl\"] .input-group > .input-group-prepend > .input-group-text {\n border-radius: 0 0.25rem 0.25rem 0;\n}\n\n.rtl .input-group > .input-group-append > .btn,\n.rtl .input-group > .input-group-append > .input-group-text,\n.rtl .input-group > .input-group-prepend:first-child > .btn:not(:first-child),\n.rtl .input-group > .input-group-prepend:first-child > .input-group-text:not(:first-child),\n.rtl .input-group > .input-group-prepend:not(:first-child) > .btn,\n.rtl .input-group > .input-group-prepend:not(:first-child) > .input-group-text,\n[dir=\"rtl\"] .input-group > .input-group-append > .btn,\n[dir=\"rtl\"] .input-group > .input-group-append > .input-group-text,\n[dir=\"rtl\"] .input-group > .input-group-prepend:first-child > .btn:not(:first-child),\n[dir=\"rtl\"] .input-group > .input-group-prepend:first-child > .input-group-text:not(:first-child),\n[dir=\"rtl\"] .input-group > .input-group-prepend:not(:first-child) > .btn,\n[dir=\"rtl\"] .input-group > .input-group-prepend:not(:first-child) > .input-group-text {\n border-radius: 0.25rem 0 0 0.25rem;\n}\n\n.rtl .input-group > .custom-select:not(:first-child),\n.rtl .input-group > .form-control:not(:first-child),\n[dir=\"rtl\"] .input-group > .custom-select:not(:first-child),\n[dir=\"rtl\"] .input-group > .form-control:not(:first-child) {\n border-radius: 0.25rem 0 0 0.25rem;\n}\n\n.rtl .input-group > .custom-select:not(:last-child),\n.rtl .input-group > .form-control:not(:last-child),\n[dir=\"rtl\"] .input-group > .custom-select:not(:last-child),\n[dir=\"rtl\"] .input-group > .form-control:not(:last-child) {\n border-radius: 0 0.25rem 0.25rem 0;\n}\n\n.rtl .input-group > .custom-select:not(:last-child):not(:first-child),\n.rtl .input-group > .form-control:not(:last-child):not(:first-child),\n[dir=\"rtl\"] .input-group > .custom-select:not(:last-child):not(:first-child),\n[dir=\"rtl\"] .input-group > .form-control:not(:last-child):not(:first-child) {\n border-radius: 0;\n}\n\n.rtl .radio input,\n.rtl .radio-inline,\n.rtl .checkbox input,\n.rtl .checkbox-inline input,\n[dir=\"rtl\"] .radio input,\n[dir=\"rtl\"] .radio-inline,\n[dir=\"rtl\"] .checkbox input,\n[dir=\"rtl\"] .checkbox-inline input {\n margin-right: -1.25rem;\n margin-left: inherit;\n}\n\n.rtl .breadcrumb-item + .breadcrumb-item,\n[dir=\"rtl\"] .breadcrumb-item + .breadcrumb-item {\n padding-right: 0.5rem;\n padding-left: 0;\n color: #6c757d;\n content: \"/\";\n}\n\n.rtl .breadcrumb-item + .breadcrumb-item::before,\n[dir=\"rtl\"] .breadcrumb-item + .breadcrumb-item::before {\n padding-right: 0;\n padding-left: 0.5rem;\n}\n\n.rtl .list-group,\n[dir=\"rtl\"] .list-group {\n padding-right: 0;\n padding-left: 40px;\n}\n\n.rtl .close,\n[dir=\"rtl\"] .close {\n float: left;\n}\n\n.rtl .modal-header .close,\n[dir=\"rtl\"] .modal-header .close {\n margin: -15px auto -15px -15px;\n}\n\n.rtl .modal-footer > :not(:first-child),\n[dir=\"rtl\"] .modal-footer > :not(:first-child) {\n margin-right: .25rem;\n}\n\n.rtl .modal-footer > :not(:last-child),\n[dir=\"rtl\"] .modal-footer > :not(:last-child) {\n margin-left: .25rem;\n}\n\n.rtl .modal-footer > :first-child,\n[dir=\"rtl\"] .modal-footer > :first-child {\n margin-right: 0;\n}\n\n.rtl .modal-footer > :last-child,\n[dir=\"rtl\"] .modal-footer > :last-child {\n margin-left: 0;\n}\n\n.rtl .alert-dismissible .close,\n[dir=\"rtl\"] .alert-dismissible .close {\n right: inherit;\n left: 0;\n}\n\n.rtl .dropdown-toggle::after,\n[dir=\"rtl\"] .dropdown-toggle::after {\n margin-right: .255em;\n margin-left: 0;\n}\n\n.rtl .form-check-input,\n[dir=\"rtl\"] .form-check-input {\n margin-right: -1.25rem;\n margin-left: inherit;\n}\n\n.rtl .form-check-label,\n[dir=\"rtl\"] .form-check-label {\n padding-right: 1.25rem;\n padding-left: inherit;\n}\n\n.rtl .pagination,\n.rtl .list-unstyled,\n.rtl .list-inline,\n[dir=\"rtl\"] .pagination,\n[dir=\"rtl\"] .list-unstyled,\n[dir=\"rtl\"] .list-inline {\n padding-right: 0;\n padding-left: inherit;\n}\n\n.rtl .pagination .page-item:first-child .page-link,\n[dir=\"rtl\"] .pagination .page-item:first-child .page-link {\n border-top-right-radius: 0.25rem;\n border-bottom-right-radius: 0.25rem;\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.rtl .pagination .page-item:last-child .page-link,\n[dir=\"rtl\"] .pagination .page-item:last-child .page-link {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n border-top-left-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n}\n\n.rtl .offset-1,\n[dir=\"rtl\"] .offset-1 {\n margin-right: 8.333333%;\n margin-left: 0;\n}\n\n.rtl .offset-2,\n[dir=\"rtl\"] .offset-2 {\n margin-right: 16.666667%;\n margin-left: 0;\n}\n\n.rtl .offset-3,\n[dir=\"rtl\"] .offset-3 {\n margin-right: 25%;\n margin-left: 0;\n}\n\n.rtl .offset-4,\n[dir=\"rtl\"] .offset-4 {\n margin-right: 33.333333%;\n margin-left: 0;\n}\n\n.rtl .offset-5,\n[dir=\"rtl\"] .offset-5 {\n margin-right: 41.666667%;\n margin-left: 0;\n}\n\n.rtl .offset-6,\n[dir=\"rtl\"] .offset-6 {\n margin-right: 50%;\n margin-left: 0;\n}\n\n.rtl .offset-7,\n[dir=\"rtl\"] .offset-7 {\n margin-right: 58.333333%;\n margin-left: 0;\n}\n\n.rtl .offset-8,\n[dir=\"rtl\"] .offset-8 {\n margin-right: 66.666667%;\n margin-left: 0;\n}\n\n.rtl .offset-9,\n[dir=\"rtl\"] .offset-9 {\n margin-right: 75%;\n margin-left: 0;\n}\n\n.rtl .offset-10,\n[dir=\"rtl\"] .offset-10 {\n margin-right: 83.333333%;\n margin-left: 0;\n}\n\n.rtl .offset-11,\n[dir=\"rtl\"] .offset-11 {\n margin-right: 91.666667%;\n margin-left: 0;\n}\n\n@media (min-width: 576px) {\n .rtl .offset-sm-0,\n [dir=\"rtl\"] .offset-sm-0 {\n margin-right: 0;\n margin-left: 0;\n }\n .rtl .offset-sm-1,\n [dir=\"rtl\"] .offset-sm-1 {\n margin-right: 8.333333%;\n margin-left: 0;\n }\n .rtl .offset-sm-2,\n [dir=\"rtl\"] .offset-sm-2 {\n margin-right: 16.666667%;\n margin-left: 0;\n }\n .rtl .offset-sm-3,\n [dir=\"rtl\"] .offset-sm-3 {\n margin-right: 25%;\n margin-left: 0;\n }\n .rtl .offset-sm-4,\n [dir=\"rtl\"] .offset-sm-4 {\n margin-right: 33.333333%;\n margin-left: 0;\n }\n .rtl .offset-sm-5,\n [dir=\"rtl\"] .offset-sm-5 {\n margin-right: 41.666667%;\n margin-left: 0;\n }\n .rtl .offset-sm-6,\n [dir=\"rtl\"] .offset-sm-6 {\n margin-right: 50%;\n margin-left: 0;\n }\n .rtl .offset-sm-7,\n [dir=\"rtl\"] .offset-sm-7 {\n margin-right: 58.333333%;\n margin-left: 0;\n }\n .rtl .offset-sm-8,\n [dir=\"rtl\"] .offset-sm-8 {\n margin-right: 66.666667%;\n margin-left: 0;\n }\n .rtl .offset-sm-9,\n [dir=\"rtl\"] .offset-sm-9 {\n margin-right: 75%;\n margin-left: 0;\n }\n .rtl .offset-sm-10,\n [dir=\"rtl\"] .offset-sm-10 {\n margin-right: 83.333333%;\n margin-left: 0;\n }\n .rtl .offset-sm-11,\n [dir=\"rtl\"] .offset-sm-11 {\n margin-right: 91.666667%;\n margin-left: 0;\n }\n}\n\n@media (min-width: 768px) {\n .rtl .offset-md-0,\n [dir=\"rtl\"] .offset-md-0 {\n margin-right: 0;\n margin-left: 0;\n }\n .rtl .offset-md-1,\n [dir=\"rtl\"] .offset-md-1 {\n margin-right: 8.333333%;\n margin-left: 0;\n }\n .rtl .offset-md-2,\n [dir=\"rtl\"] .offset-md-2 {\n margin-right: 16.666667%;\n margin-left: 0;\n }\n .rtl .offset-md-3,\n [dir=\"rtl\"] .offset-md-3 {\n margin-right: 25%;\n margin-left: 0;\n }\n .rtl .offset-md-4,\n [dir=\"rtl\"] .offset-md-4 {\n margin-right: 33.333333%;\n margin-left: 0;\n }\n .rtl .offset-md-5,\n [dir=\"rtl\"] .offset-md-5 {\n margin-right: 41.666667%;\n margin-left: 0;\n }\n .rtl .offset-md-6,\n [dir=\"rtl\"] .offset-md-6 {\n margin-right: 50%;\n margin-left: 0;\n }\n .rtl .offset-md-7,\n [dir=\"rtl\"] .offset-md-7 {\n margin-right: 58.333333%;\n margin-left: 0;\n }\n .rtl .offset-md-8,\n [dir=\"rtl\"] .offset-md-8 {\n margin-right: 66.666667%;\n margin-left: 0;\n }\n .rtl .offset-md-9,\n [dir=\"rtl\"] .offset-md-9 {\n margin-right: 75%;\n margin-left: 0;\n }\n .rtl .offset-md-10,\n [dir=\"rtl\"] .offset-md-10 {\n margin-right: 83.333333%;\n margin-left: 0;\n }\n .rtl .offset-md-11,\n [dir=\"rtl\"] .offset-md-11 {\n margin-right: 91.666667%;\n margin-left: 0;\n }\n}\n\n@media (min-width: 992px) {\n .rtl .offset-lg-0,\n [dir=\"rtl\"] .offset-lg-0 {\n margin-right: 0;\n margin-left: 0;\n }\n .rtl .offset-lg-1,\n [dir=\"rtl\"] .offset-lg-1 {\n margin-right: 8.333333%;\n margin-left: 0;\n }\n .rtl .offset-lg-2,\n [dir=\"rtl\"] .offset-lg-2 {\n margin-right: 16.666667%;\n margin-left: 0;\n }\n .rtl .offset-lg-3,\n [dir=\"rtl\"] .offset-lg-3 {\n margin-right: 25%;\n margin-left: 0;\n }\n .rtl .offset-lg-4,\n [dir=\"rtl\"] .offset-lg-4 {\n margin-right: 33.333333%;\n margin-left: 0;\n }\n .rtl .offset-lg-5,\n [dir=\"rtl\"] .offset-lg-5 {\n margin-right: 41.666667%;\n margin-left: 0;\n }\n .rtl .offset-lg-6,\n [dir=\"rtl\"] .offset-lg-6 {\n margin-right: 50%;\n margin-left: 0;\n }\n .rtl .offset-lg-7,\n [dir=\"rtl\"] .offset-lg-7 {\n margin-right: 58.333333%;\n margin-left: 0;\n }\n .rtl .offset-lg-8,\n [dir=\"rtl\"] .offset-lg-8 {\n margin-right: 66.666667%;\n margin-left: 0;\n }\n .rtl .offset-lg-9,\n [dir=\"rtl\"] .offset-lg-9 {\n margin-right: 75%;\n margin-left: 0;\n }\n .rtl .offset-lg-10,\n [dir=\"rtl\"] .offset-lg-10 {\n margin-right: 83.333333%;\n margin-left: 0;\n }\n .rtl .offset-lg-11,\n [dir=\"rtl\"] .offset-lg-11 {\n margin-right: 91.666667%;\n margin-left: 0;\n }\n}\n\n@media (min-width: 1200px) {\n .rtl .offset-xl-0,\n [dir=\"rtl\"] .offset-xl-0 {\n margin-right: 0;\n margin-left: 0;\n }\n .rtl .offset-xl-1,\n [dir=\"rtl\"] .offset-xl-1 {\n margin-right: 8.333333%;\n margin-left: 0;\n }\n .rtl .offset-xl-2,\n [dir=\"rtl\"] .offset-xl-2 {\n margin-right: 16.666667%;\n margin-left: 0;\n }\n .rtl .offset-xl-3,\n [dir=\"rtl\"] .offset-xl-3 {\n margin-right: 25%;\n margin-left: 0;\n }\n .rtl .offset-xl-4,\n [dir=\"rtl\"] .offset-xl-4 {\n margin-right: 33.333333%;\n margin-left: 0;\n }\n .rtl .offset-xl-5,\n [dir=\"rtl\"] .offset-xl-5 {\n margin-right: 41.666667%;\n margin-left: 0;\n }\n .rtl .offset-xl-6,\n [dir=\"rtl\"] .offset-xl-6 {\n margin-right: 50%;\n margin-left: 0;\n }\n .rtl .offset-xl-7,\n [dir=\"rtl\"] .offset-xl-7 {\n margin-right: 58.333333%;\n margin-left: 0;\n }\n .rtl .offset-xl-8,\n [dir=\"rtl\"] .offset-xl-8 {\n margin-right: 66.666667%;\n margin-left: 0;\n }\n .rtl .offset-xl-9,\n [dir=\"rtl\"] .offset-xl-9 {\n margin-right: 75%;\n margin-left: 0;\n }\n .rtl .offset-xl-10,\n [dir=\"rtl\"] .offset-xl-10 {\n margin-right: 83.333333%;\n margin-left: 0;\n }\n .rtl .offset-xl-11,\n [dir=\"rtl\"] .offset-xl-11 {\n margin-right: 91.666667%;\n margin-left: 0;\n }\n}\n\n.rtl .mr-0,\n[dir=\"rtl\"] .mr-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n}\n\n.rtl .ml-0,\n[dir=\"rtl\"] .ml-0 {\n margin-left: 0 !important;\n margin-right: 0 !important;\n}\n\n.rtl mx-0,\n[dir=\"rtl\"] mx-0 {\n margin-left: 0 !important;\n margin-right: 0 !important;\n}\n\n.rtl .mr-1,\n[dir=\"rtl\"] .mr-1 {\n margin-right: 0 !important;\n margin-left: 0.25rem !important;\n}\n\n.rtl .ml-1,\n[dir=\"rtl\"] .ml-1 {\n margin-left: 0 !important;\n margin-right: 0.25rem !important;\n}\n\n.rtl mx-1,\n[dir=\"rtl\"] mx-1 {\n margin-left: 0.25rem !important;\n margin-right: 0.25rem !important;\n}\n\n.rtl .mr-2,\n[dir=\"rtl\"] .mr-2 {\n margin-right: 0 !important;\n margin-left: 0.5rem !important;\n}\n\n.rtl .ml-2,\n[dir=\"rtl\"] .ml-2 {\n margin-left: 0 !important;\n margin-right: 0.5rem !important;\n}\n\n.rtl mx-2,\n[dir=\"rtl\"] mx-2 {\n margin-left: 0.5rem !important;\n margin-right: 0.5rem !important;\n}\n\n.rtl .mr-3,\n[dir=\"rtl\"] .mr-3 {\n margin-right: 0 !important;\n margin-left: 1rem !important;\n}\n\n.rtl .ml-3,\n[dir=\"rtl\"] .ml-3 {\n margin-left: 0 !important;\n margin-right: 1rem !important;\n}\n\n.rtl mx-3,\n[dir=\"rtl\"] mx-3 {\n margin-left: 1rem !important;\n margin-right: 1rem !important;\n}\n\n.rtl .mr-4,\n[dir=\"rtl\"] .mr-4 {\n margin-right: 0 !important;\n margin-left: 1.5rem !important;\n}\n\n.rtl .ml-4,\n[dir=\"rtl\"] .ml-4 {\n margin-left: 0 !important;\n margin-right: 1.5rem !important;\n}\n\n.rtl mx-4,\n[dir=\"rtl\"] mx-4 {\n margin-left: 1.5rem !important;\n margin-right: 1.5rem !important;\n}\n\n.rtl .mr-5,\n[dir=\"rtl\"] .mr-5 {\n margin-right: 0 !important;\n margin-left: 3rem !important;\n}\n\n.rtl .ml-5,\n[dir=\"rtl\"] .ml-5 {\n margin-left: 0 !important;\n margin-right: 3rem !important;\n}\n\n.rtl mx-5,\n[dir=\"rtl\"] mx-5 {\n margin-left: 3rem !important;\n margin-right: 3rem !important;\n}\n\n.rtl .pr-0,\n[dir=\"rtl\"] .pr-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n}\n\n.rtl .pl-0,\n[dir=\"rtl\"] .pl-0 {\n padding-left: 0 !important;\n padding-right: 0 !important;\n}\n\n.rtl px-0,\n[dir=\"rtl\"] px-0 {\n padding-left: 0 !important;\n padding-right: 0 !important;\n}\n\n.rtl .pr-1,\n[dir=\"rtl\"] .pr-1 {\n padding-right: 0 !important;\n padding-left: 0.25rem !important;\n}\n\n.rtl .pl-1,\n[dir=\"rtl\"] .pl-1 {\n padding-left: 0 !important;\n padding-right: 0.25rem !important;\n}\n\n.rtl px-1,\n[dir=\"rtl\"] px-1 {\n padding-left: 0.25rem !important;\n padding-right: 0.25rem !important;\n}\n\n.rtl .pr-2,\n[dir=\"rtl\"] .pr-2 {\n padding-right: 0 !important;\n padding-left: 0.5rem !important;\n}\n\n.rtl .pl-2,\n[dir=\"rtl\"] .pl-2 {\n padding-left: 0 !important;\n padding-right: 0.5rem !important;\n}\n\n.rtl px-2,\n[dir=\"rtl\"] px-2 {\n padding-left: 0.5rem !important;\n padding-right: 0.5rem !important;\n}\n\n.rtl .pr-3,\n[dir=\"rtl\"] .pr-3 {\n padding-right: 0 !important;\n padding-left: 1rem !important;\n}\n\n.rtl .pl-3,\n[dir=\"rtl\"] .pl-3 {\n padding-left: 0 !important;\n padding-right: 1rem !important;\n}\n\n.rtl px-3,\n[dir=\"rtl\"] px-3 {\n padding-left: 1rem !important;\n padding-right: 1rem !important;\n}\n\n.rtl .pr-4,\n[dir=\"rtl\"] .pr-4 {\n padding-right: 0 !important;\n padding-left: 1.5rem !important;\n}\n\n.rtl .pl-4,\n[dir=\"rtl\"] .pl-4 {\n padding-left: 0 !important;\n padding-right: 1.5rem !important;\n}\n\n.rtl px-4,\n[dir=\"rtl\"] px-4 {\n padding-left: 1.5rem !important;\n padding-right: 1.5rem !important;\n}\n\n.rtl .pr-5,\n[dir=\"rtl\"] .pr-5 {\n padding-right: 0 !important;\n padding-left: 3rem !important;\n}\n\n.rtl .pl-5,\n[dir=\"rtl\"] .pl-5 {\n padding-left: 0 !important;\n padding-right: 3rem !important;\n}\n\n.rtl px-5,\n[dir=\"rtl\"] px-5 {\n padding-left: 3rem !important;\n padding-right: 3rem !important;\n}\n\n.rtl .mr-auto,\n[dir=\"rtl\"] .mr-auto {\n margin-right: 0 !important;\n margin-left: auto !important;\n}\n\n.rtl .ml-auto,\n[dir=\"rtl\"] .ml-auto {\n margin-right: auto !important;\n margin-left: 0 !important;\n}\n\n.rtl .mx-auto,\n[dir=\"rtl\"] .mx-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n}\n\n@media (min-width: 576px) {\n .rtl .mr-sm-0,\n [dir=\"rtl\"] .mr-sm-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .rtl .ml-sm-0,\n [dir=\"rtl\"] .ml-sm-0 {\n margin-left: 0 !important;\n margin-right: 0 !important;\n }\n .rtl mx-sm-0,\n [dir=\"rtl\"] mx-sm-0 {\n margin-left: 0 !important;\n margin-right: 0 !important;\n }\n .rtl .mr-sm-1,\n [dir=\"rtl\"] .mr-sm-1 {\n margin-right: 0 !important;\n margin-left: 0.25rem !important;\n }\n .rtl .ml-sm-1,\n [dir=\"rtl\"] .ml-sm-1 {\n margin-left: 0 !important;\n margin-right: 0.25rem !important;\n }\n .rtl mx-sm-1,\n [dir=\"rtl\"] mx-sm-1 {\n margin-left: 0.25rem !important;\n margin-right: 0.25rem !important;\n }\n .rtl .mr-sm-2,\n [dir=\"rtl\"] .mr-sm-2 {\n margin-right: 0 !important;\n margin-left: 0.5rem !important;\n }\n .rtl .ml-sm-2,\n [dir=\"rtl\"] .ml-sm-2 {\n margin-left: 0 !important;\n margin-right: 0.5rem !important;\n }\n .rtl mx-sm-2,\n [dir=\"rtl\"] mx-sm-2 {\n margin-left: 0.5rem !important;\n margin-right: 0.5rem !important;\n }\n .rtl .mr-sm-3,\n [dir=\"rtl\"] .mr-sm-3 {\n margin-right: 0 !important;\n margin-left: 1rem !important;\n }\n .rtl .ml-sm-3,\n [dir=\"rtl\"] .ml-sm-3 {\n margin-left: 0 !important;\n margin-right: 1rem !important;\n }\n .rtl mx-sm-3,\n [dir=\"rtl\"] mx-sm-3 {\n margin-left: 1rem !important;\n margin-right: 1rem !important;\n }\n .rtl .mr-sm-4,\n [dir=\"rtl\"] .mr-sm-4 {\n margin-right: 0 !important;\n margin-left: 1.5rem !important;\n }\n .rtl .ml-sm-4,\n [dir=\"rtl\"] .ml-sm-4 {\n margin-left: 0 !important;\n margin-right: 1.5rem !important;\n }\n .rtl mx-sm-4,\n [dir=\"rtl\"] mx-sm-4 {\n margin-left: 1.5rem !important;\n margin-right: 1.5rem !important;\n }\n .rtl .mr-sm-5,\n [dir=\"rtl\"] .mr-sm-5 {\n margin-right: 0 !important;\n margin-left: 3rem !important;\n }\n .rtl .ml-sm-5,\n [dir=\"rtl\"] .ml-sm-5 {\n margin-left: 0 !important;\n margin-right: 3rem !important;\n }\n .rtl mx-sm-5,\n [dir=\"rtl\"] mx-sm-5 {\n margin-left: 3rem !important;\n margin-right: 3rem !important;\n }\n .rtl .pr-sm-0,\n [dir=\"rtl\"] .pr-sm-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .rtl .pl-sm-0,\n [dir=\"rtl\"] .pl-sm-0 {\n padding-left: 0 !important;\n padding-right: 0 !important;\n }\n .rtl px-sm-0,\n [dir=\"rtl\"] px-sm-0 {\n padding-left: 0 !important;\n padding-right: 0 !important;\n }\n .rtl .pr-sm-1,\n [dir=\"rtl\"] .pr-sm-1 {\n padding-right: 0 !important;\n padding-left: 0.25rem !important;\n }\n .rtl .pl-sm-1,\n [dir=\"rtl\"] .pl-sm-1 {\n padding-left: 0 !important;\n padding-right: 0.25rem !important;\n }\n .rtl px-sm-1,\n [dir=\"rtl\"] px-sm-1 {\n padding-left: 0.25rem !important;\n padding-right: 0.25rem !important;\n }\n .rtl .pr-sm-2,\n [dir=\"rtl\"] .pr-sm-2 {\n padding-right: 0 !important;\n padding-left: 0.5rem !important;\n }\n .rtl .pl-sm-2,\n [dir=\"rtl\"] .pl-sm-2 {\n padding-left: 0 !important;\n padding-right: 0.5rem !important;\n }\n .rtl px-sm-2,\n [dir=\"rtl\"] px-sm-2 {\n padding-left: 0.5rem !important;\n padding-right: 0.5rem !important;\n }\n .rtl .pr-sm-3,\n [dir=\"rtl\"] .pr-sm-3 {\n padding-right: 0 !important;\n padding-left: 1rem !important;\n }\n .rtl .pl-sm-3,\n [dir=\"rtl\"] .pl-sm-3 {\n padding-left: 0 !important;\n padding-right: 1rem !important;\n }\n .rtl px-sm-3,\n [dir=\"rtl\"] px-sm-3 {\n padding-left: 1rem !important;\n padding-right: 1rem !important;\n }\n .rtl .pr-sm-4,\n [dir=\"rtl\"] .pr-sm-4 {\n padding-right: 0 !important;\n padding-left: 1.5rem !important;\n }\n .rtl .pl-sm-4,\n [dir=\"rtl\"] .pl-sm-4 {\n padding-left: 0 !important;\n padding-right: 1.5rem !important;\n }\n .rtl px-sm-4,\n [dir=\"rtl\"] px-sm-4 {\n padding-left: 1.5rem !important;\n padding-right: 1.5rem !important;\n }\n .rtl .pr-sm-5,\n [dir=\"rtl\"] .pr-sm-5 {\n padding-right: 0 !important;\n padding-left: 3rem !important;\n }\n .rtl .pl-sm-5,\n [dir=\"rtl\"] .pl-sm-5 {\n padding-left: 0 !important;\n padding-right: 3rem !important;\n }\n .rtl px-sm-5,\n [dir=\"rtl\"] px-sm-5 {\n padding-left: 3rem !important;\n padding-right: 3rem !important;\n }\n .rtl .mr-sm-auto,\n [dir=\"rtl\"] .mr-sm-auto {\n margin-right: 0 !important;\n margin-left: auto !important;\n }\n .rtl .ml-sm-auto,\n [dir=\"rtl\"] .ml-sm-auto {\n margin-right: auto !important;\n margin-left: 0 !important;\n }\n .rtl .mx-sm-auto,\n [dir=\"rtl\"] .mx-sm-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n}\n\n@media (min-width: 768px) {\n .rtl .mr-md-0,\n [dir=\"rtl\"] .mr-md-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .rtl .ml-md-0,\n [dir=\"rtl\"] .ml-md-0 {\n margin-left: 0 !important;\n margin-right: 0 !important;\n }\n .rtl mx-md-0,\n [dir=\"rtl\"] mx-md-0 {\n margin-left: 0 !important;\n margin-right: 0 !important;\n }\n .rtl .mr-md-1,\n [dir=\"rtl\"] .mr-md-1 {\n margin-right: 0 !important;\n margin-left: 0.25rem !important;\n }\n .rtl .ml-md-1,\n [dir=\"rtl\"] .ml-md-1 {\n margin-left: 0 !important;\n margin-right: 0.25rem !important;\n }\n .rtl mx-md-1,\n [dir=\"rtl\"] mx-md-1 {\n margin-left: 0.25rem !important;\n margin-right: 0.25rem !important;\n }\n .rtl .mr-md-2,\n [dir=\"rtl\"] .mr-md-2 {\n margin-right: 0 !important;\n margin-left: 0.5rem !important;\n }\n .rtl .ml-md-2,\n [dir=\"rtl\"] .ml-md-2 {\n margin-left: 0 !important;\n margin-right: 0.5rem !important;\n }\n .rtl mx-md-2,\n [dir=\"rtl\"] mx-md-2 {\n margin-left: 0.5rem !important;\n margin-right: 0.5rem !important;\n }\n .rtl .mr-md-3,\n [dir=\"rtl\"] .mr-md-3 {\n margin-right: 0 !important;\n margin-left: 1rem !important;\n }\n .rtl .ml-md-3,\n [dir=\"rtl\"] .ml-md-3 {\n margin-left: 0 !important;\n margin-right: 1rem !important;\n }\n .rtl mx-md-3,\n [dir=\"rtl\"] mx-md-3 {\n margin-left: 1rem !important;\n margin-right: 1rem !important;\n }\n .rtl .mr-md-4,\n [dir=\"rtl\"] .mr-md-4 {\n margin-right: 0 !important;\n margin-left: 1.5rem !important;\n }\n .rtl .ml-md-4,\n [dir=\"rtl\"] .ml-md-4 {\n margin-left: 0 !important;\n margin-right: 1.5rem !important;\n }\n .rtl mx-md-4,\n [dir=\"rtl\"] mx-md-4 {\n margin-left: 1.5rem !important;\n margin-right: 1.5rem !important;\n }\n .rtl .mr-md-5,\n [dir=\"rtl\"] .mr-md-5 {\n margin-right: 0 !important;\n margin-left: 3rem !important;\n }\n .rtl .ml-md-5,\n [dir=\"rtl\"] .ml-md-5 {\n margin-left: 0 !important;\n margin-right: 3rem !important;\n }\n .rtl mx-md-5,\n [dir=\"rtl\"] mx-md-5 {\n margin-left: 3rem !important;\n margin-right: 3rem !important;\n }\n .rtl .pr-md-0,\n [dir=\"rtl\"] .pr-md-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .rtl .pl-md-0,\n [dir=\"rtl\"] .pl-md-0 {\n padding-left: 0 !important;\n padding-right: 0 !important;\n }\n .rtl px-md-0,\n [dir=\"rtl\"] px-md-0 {\n padding-left: 0 !important;\n padding-right: 0 !important;\n }\n .rtl .pr-md-1,\n [dir=\"rtl\"] .pr-md-1 {\n padding-right: 0 !important;\n padding-left: 0.25rem !important;\n }\n .rtl .pl-md-1,\n [dir=\"rtl\"] .pl-md-1 {\n padding-left: 0 !important;\n padding-right: 0.25rem !important;\n }\n .rtl px-md-1,\n [dir=\"rtl\"] px-md-1 {\n padding-left: 0.25rem !important;\n padding-right: 0.25rem !important;\n }\n .rtl .pr-md-2,\n [dir=\"rtl\"] .pr-md-2 {\n padding-right: 0 !important;\n padding-left: 0.5rem !important;\n }\n .rtl .pl-md-2,\n [dir=\"rtl\"] .pl-md-2 {\n padding-left: 0 !important;\n padding-right: 0.5rem !important;\n }\n .rtl px-md-2,\n [dir=\"rtl\"] px-md-2 {\n padding-left: 0.5rem !important;\n padding-right: 0.5rem !important;\n }\n .rtl .pr-md-3,\n [dir=\"rtl\"] .pr-md-3 {\n padding-right: 0 !important;\n padding-left: 1rem !important;\n }\n .rtl .pl-md-3,\n [dir=\"rtl\"] .pl-md-3 {\n padding-left: 0 !important;\n padding-right: 1rem !important;\n }\n .rtl px-md-3,\n [dir=\"rtl\"] px-md-3 {\n padding-left: 1rem !important;\n padding-right: 1rem !important;\n }\n .rtl .pr-md-4,\n [dir=\"rtl\"] .pr-md-4 {\n padding-right: 0 !important;\n padding-left: 1.5rem !important;\n }\n .rtl .pl-md-4,\n [dir=\"rtl\"] .pl-md-4 {\n padding-left: 0 !important;\n padding-right: 1.5rem !important;\n }\n .rtl px-md-4,\n [dir=\"rtl\"] px-md-4 {\n padding-left: 1.5rem !important;\n padding-right: 1.5rem !important;\n }\n .rtl .pr-md-5,\n [dir=\"rtl\"] .pr-md-5 {\n padding-right: 0 !important;\n padding-left: 3rem !important;\n }\n .rtl .pl-md-5,\n [dir=\"rtl\"] .pl-md-5 {\n padding-left: 0 !important;\n padding-right: 3rem !important;\n }\n .rtl px-md-5,\n [dir=\"rtl\"] px-md-5 {\n padding-left: 3rem !important;\n padding-right: 3rem !important;\n }\n .rtl .mr-md-auto,\n [dir=\"rtl\"] .mr-md-auto {\n margin-right: 0 !important;\n margin-left: auto !important;\n }\n .rtl .ml-md-auto,\n [dir=\"rtl\"] .ml-md-auto {\n margin-right: auto !important;\n margin-left: 0 !important;\n }\n .rtl .mx-md-auto,\n [dir=\"rtl\"] .mx-md-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n}\n\n@media (min-width: 992px) {\n .rtl .mr-lg-0,\n [dir=\"rtl\"] .mr-lg-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .rtl .ml-lg-0,\n [dir=\"rtl\"] .ml-lg-0 {\n margin-left: 0 !important;\n margin-right: 0 !important;\n }\n .rtl mx-lg-0,\n [dir=\"rtl\"] mx-lg-0 {\n margin-left: 0 !important;\n margin-right: 0 !important;\n }\n .rtl .mr-lg-1,\n [dir=\"rtl\"] .mr-lg-1 {\n margin-right: 0 !important;\n margin-left: 0.25rem !important;\n }\n .rtl .ml-lg-1,\n [dir=\"rtl\"] .ml-lg-1 {\n margin-left: 0 !important;\n margin-right: 0.25rem !important;\n }\n .rtl mx-lg-1,\n [dir=\"rtl\"] mx-lg-1 {\n margin-left: 0.25rem !important;\n margin-right: 0.25rem !important;\n }\n .rtl .mr-lg-2,\n [dir=\"rtl\"] .mr-lg-2 {\n margin-right: 0 !important;\n margin-left: 0.5rem !important;\n }\n .rtl .ml-lg-2,\n [dir=\"rtl\"] .ml-lg-2 {\n margin-left: 0 !important;\n margin-right: 0.5rem !important;\n }\n .rtl mx-lg-2,\n [dir=\"rtl\"] mx-lg-2 {\n margin-left: 0.5rem !important;\n margin-right: 0.5rem !important;\n }\n .rtl .mr-lg-3,\n [dir=\"rtl\"] .mr-lg-3 {\n margin-right: 0 !important;\n margin-left: 1rem !important;\n }\n .rtl .ml-lg-3,\n [dir=\"rtl\"] .ml-lg-3 {\n margin-left: 0 !important;\n margin-right: 1rem !important;\n }\n .rtl mx-lg-3,\n [dir=\"rtl\"] mx-lg-3 {\n margin-left: 1rem !important;\n margin-right: 1rem !important;\n }\n .rtl .mr-lg-4,\n [dir=\"rtl\"] .mr-lg-4 {\n margin-right: 0 !important;\n margin-left: 1.5rem !important;\n }\n .rtl .ml-lg-4,\n [dir=\"rtl\"] .ml-lg-4 {\n margin-left: 0 !important;\n margin-right: 1.5rem !important;\n }\n .rtl mx-lg-4,\n [dir=\"rtl\"] mx-lg-4 {\n margin-left: 1.5rem !important;\n margin-right: 1.5rem !important;\n }\n .rtl .mr-lg-5,\n [dir=\"rtl\"] .mr-lg-5 {\n margin-right: 0 !important;\n margin-left: 3rem !important;\n }\n .rtl .ml-lg-5,\n [dir=\"rtl\"] .ml-lg-5 {\n margin-left: 0 !important;\n margin-right: 3rem !important;\n }\n .rtl mx-lg-5,\n [dir=\"rtl\"] mx-lg-5 {\n margin-left: 3rem !important;\n margin-right: 3rem !important;\n }\n .rtl .pr-lg-0,\n [dir=\"rtl\"] .pr-lg-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .rtl .pl-lg-0,\n [dir=\"rtl\"] .pl-lg-0 {\n padding-left: 0 !important;\n padding-right: 0 !important;\n }\n .rtl px-lg-0,\n [dir=\"rtl\"] px-lg-0 {\n padding-left: 0 !important;\n padding-right: 0 !important;\n }\n .rtl .pr-lg-1,\n [dir=\"rtl\"] .pr-lg-1 {\n padding-right: 0 !important;\n padding-left: 0.25rem !important;\n }\n .rtl .pl-lg-1,\n [dir=\"rtl\"] .pl-lg-1 {\n padding-left: 0 !important;\n padding-right: 0.25rem !important;\n }\n .rtl px-lg-1,\n [dir=\"rtl\"] px-lg-1 {\n padding-left: 0.25rem !important;\n padding-right: 0.25rem !important;\n }\n .rtl .pr-lg-2,\n [dir=\"rtl\"] .pr-lg-2 {\n padding-right: 0 !important;\n padding-left: 0.5rem !important;\n }\n .rtl .pl-lg-2,\n [dir=\"rtl\"] .pl-lg-2 {\n padding-left: 0 !important;\n padding-right: 0.5rem !important;\n }\n .rtl px-lg-2,\n [dir=\"rtl\"] px-lg-2 {\n padding-left: 0.5rem !important;\n padding-right: 0.5rem !important;\n }\n .rtl .pr-lg-3,\n [dir=\"rtl\"] .pr-lg-3 {\n padding-right: 0 !important;\n padding-left: 1rem !important;\n }\n .rtl .pl-lg-3,\n [dir=\"rtl\"] .pl-lg-3 {\n padding-left: 0 !important;\n padding-right: 1rem !important;\n }\n .rtl px-lg-3,\n [dir=\"rtl\"] px-lg-3 {\n padding-left: 1rem !important;\n padding-right: 1rem !important;\n }\n .rtl .pr-lg-4,\n [dir=\"rtl\"] .pr-lg-4 {\n padding-right: 0 !important;\n padding-left: 1.5rem !important;\n }\n .rtl .pl-lg-4,\n [dir=\"rtl\"] .pl-lg-4 {\n padding-left: 0 !important;\n padding-right: 1.5rem !important;\n }\n .rtl px-lg-4,\n [dir=\"rtl\"] px-lg-4 {\n padding-left: 1.5rem !important;\n padding-right: 1.5rem !important;\n }\n .rtl .pr-lg-5,\n [dir=\"rtl\"] .pr-lg-5 {\n padding-right: 0 !important;\n padding-left: 3rem !important;\n }\n .rtl .pl-lg-5,\n [dir=\"rtl\"] .pl-lg-5 {\n padding-left: 0 !important;\n padding-right: 3rem !important;\n }\n .rtl px-lg-5,\n [dir=\"rtl\"] px-lg-5 {\n padding-left: 3rem !important;\n padding-right: 3rem !important;\n }\n .rtl .mr-lg-auto,\n [dir=\"rtl\"] .mr-lg-auto {\n margin-right: 0 !important;\n margin-left: auto !important;\n }\n .rtl .ml-lg-auto,\n [dir=\"rtl\"] .ml-lg-auto {\n margin-right: auto !important;\n margin-left: 0 !important;\n }\n .rtl .mx-lg-auto,\n [dir=\"rtl\"] .mx-lg-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n}\n\n@media (min-width: 1200px) {\n .rtl .mr-xl-0,\n [dir=\"rtl\"] .mr-xl-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .rtl .ml-xl-0,\n [dir=\"rtl\"] .ml-xl-0 {\n margin-left: 0 !important;\n margin-right: 0 !important;\n }\n .rtl mx-xl-0,\n [dir=\"rtl\"] mx-xl-0 {\n margin-left: 0 !important;\n margin-right: 0 !important;\n }\n .rtl .mr-xl-1,\n [dir=\"rtl\"] .mr-xl-1 {\n margin-right: 0 !important;\n margin-left: 0.25rem !important;\n }\n .rtl .ml-xl-1,\n [dir=\"rtl\"] .ml-xl-1 {\n margin-left: 0 !important;\n margin-right: 0.25rem !important;\n }\n .rtl mx-xl-1,\n [dir=\"rtl\"] mx-xl-1 {\n margin-left: 0.25rem !important;\n margin-right: 0.25rem !important;\n }\n .rtl .mr-xl-2,\n [dir=\"rtl\"] .mr-xl-2 {\n margin-right: 0 !important;\n margin-left: 0.5rem !important;\n }\n .rtl .ml-xl-2,\n [dir=\"rtl\"] .ml-xl-2 {\n margin-left: 0 !important;\n margin-right: 0.5rem !important;\n }\n .rtl mx-xl-2,\n [dir=\"rtl\"] mx-xl-2 {\n margin-left: 0.5rem !important;\n margin-right: 0.5rem !important;\n }\n .rtl .mr-xl-3,\n [dir=\"rtl\"] .mr-xl-3 {\n margin-right: 0 !important;\n margin-left: 1rem !important;\n }\n .rtl .ml-xl-3,\n [dir=\"rtl\"] .ml-xl-3 {\n margin-left: 0 !important;\n margin-right: 1rem !important;\n }\n .rtl mx-xl-3,\n [dir=\"rtl\"] mx-xl-3 {\n margin-left: 1rem !important;\n margin-right: 1rem !important;\n }\n .rtl .mr-xl-4,\n [dir=\"rtl\"] .mr-xl-4 {\n margin-right: 0 !important;\n margin-left: 1.5rem !important;\n }\n .rtl .ml-xl-4,\n [dir=\"rtl\"] .ml-xl-4 {\n margin-left: 0 !important;\n margin-right: 1.5rem !important;\n }\n .rtl mx-xl-4,\n [dir=\"rtl\"] mx-xl-4 {\n margin-left: 1.5rem !important;\n margin-right: 1.5rem !important;\n }\n .rtl .mr-xl-5,\n [dir=\"rtl\"] .mr-xl-5 {\n margin-right: 0 !important;\n margin-left: 3rem !important;\n }\n .rtl .ml-xl-5,\n [dir=\"rtl\"] .ml-xl-5 {\n margin-left: 0 !important;\n margin-right: 3rem !important;\n }\n .rtl mx-xl-5,\n [dir=\"rtl\"] mx-xl-5 {\n margin-left: 3rem !important;\n margin-right: 3rem !important;\n }\n .rtl .pr-xl-0,\n [dir=\"rtl\"] .pr-xl-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .rtl .pl-xl-0,\n [dir=\"rtl\"] .pl-xl-0 {\n padding-left: 0 !important;\n padding-right: 0 !important;\n }\n .rtl px-xl-0,\n [dir=\"rtl\"] px-xl-0 {\n padding-left: 0 !important;\n padding-right: 0 !important;\n }\n .rtl .pr-xl-1,\n [dir=\"rtl\"] .pr-xl-1 {\n padding-right: 0 !important;\n padding-left: 0.25rem !important;\n }\n .rtl .pl-xl-1,\n [dir=\"rtl\"] .pl-xl-1 {\n padding-left: 0 !important;\n padding-right: 0.25rem !important;\n }\n .rtl px-xl-1,\n [dir=\"rtl\"] px-xl-1 {\n padding-left: 0.25rem !important;\n padding-right: 0.25rem !important;\n }\n .rtl .pr-xl-2,\n [dir=\"rtl\"] .pr-xl-2 {\n padding-right: 0 !important;\n padding-left: 0.5rem !important;\n }\n .rtl .pl-xl-2,\n [dir=\"rtl\"] .pl-xl-2 {\n padding-left: 0 !important;\n padding-right: 0.5rem !important;\n }\n .rtl px-xl-2,\n [dir=\"rtl\"] px-xl-2 {\n padding-left: 0.5rem !important;\n padding-right: 0.5rem !important;\n }\n .rtl .pr-xl-3,\n [dir=\"rtl\"] .pr-xl-3 {\n padding-right: 0 !important;\n padding-left: 1rem !important;\n }\n .rtl .pl-xl-3,\n [dir=\"rtl\"] .pl-xl-3 {\n padding-left: 0 !important;\n padding-right: 1rem !important;\n }\n .rtl px-xl-3,\n [dir=\"rtl\"] px-xl-3 {\n padding-left: 1rem !important;\n padding-right: 1rem !important;\n }\n .rtl .pr-xl-4,\n [dir=\"rtl\"] .pr-xl-4 {\n padding-right: 0 !important;\n padding-left: 1.5rem !important;\n }\n .rtl .pl-xl-4,\n [dir=\"rtl\"] .pl-xl-4 {\n padding-left: 0 !important;\n padding-right: 1.5rem !important;\n }\n .rtl px-xl-4,\n [dir=\"rtl\"] px-xl-4 {\n padding-left: 1.5rem !important;\n padding-right: 1.5rem !important;\n }\n .rtl .pr-xl-5,\n [dir=\"rtl\"] .pr-xl-5 {\n padding-right: 0 !important;\n padding-left: 3rem !important;\n }\n .rtl .pl-xl-5,\n [dir=\"rtl\"] .pl-xl-5 {\n padding-left: 0 !important;\n padding-right: 3rem !important;\n }\n .rtl px-xl-5,\n [dir=\"rtl\"] px-xl-5 {\n padding-left: 3rem !important;\n padding-right: 3rem !important;\n }\n .rtl .mr-xl-auto,\n [dir=\"rtl\"] .mr-xl-auto {\n margin-right: 0 !important;\n margin-left: auto !important;\n }\n .rtl .ml-xl-auto,\n [dir=\"rtl\"] .ml-xl-auto {\n margin-right: auto !important;\n margin-left: 0 !important;\n }\n .rtl .mx-xl-auto,\n [dir=\"rtl\"] .mx-xl-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n}\n\n.rtl .text-right,\n[dir=\"rtl\"] .text-right {\n text-align: left !important;\n}\n\n.rtl .text-left,\n[dir=\"rtl\"] .text-left {\n text-align: right !important;\n}\n\n@media (min-width: 576px) {\n .rtl .text-sm-right,\n [dir=\"rtl\"] .text-sm-right {\n text-align: left !important;\n }\n .rtl .text-sm-left,\n [dir=\"rtl\"] .text-sm-left {\n text-align: right !important;\n }\n}\n\n@media (min-width: 768px) {\n .rtl .text-md-right,\n [dir=\"rtl\"] .text-md-right {\n text-align: left !important;\n }\n .rtl .text-md-left,\n [dir=\"rtl\"] .text-md-left {\n text-align: right !important;\n }\n}\n\n@media (min-width: 992px) {\n .rtl .text-lg-right,\n [dir=\"rtl\"] .text-lg-right {\n text-align: left !important;\n }\n .rtl .text-lg-left,\n [dir=\"rtl\"] .text-lg-left {\n text-align: right !important;\n }\n}\n\n@media (min-width: 1200px) {\n .rtl .text-xl-right,\n [dir=\"rtl\"] .text-xl-right {\n text-align: left !important;\n }\n .rtl .text-xl-left,\n [dir=\"rtl\"] .text-xl-left {\n text-align: right !important;\n }\n}\n\n/*# sourceMappingURL=bootstrap-rtl.css.map */","// Do not forget to update getting-started/theming.md!\n:root {\n // Custom variable values only support SassScript inside `#{}`.\n @each $color, $value in $colors {\n --#{$color}: #{$value};\n }\n\n @each $color, $value in $theme-colors {\n --#{$color}: #{$value};\n }\n\n @each $bp, $value in $grid-breakpoints {\n --breakpoint-#{$bp}: #{$value};\n }\n\n // Use `inspect` for lists so that quoted items keep the quotes.\n // See https://github.com/sass/sass/issues/2383#issuecomment-336349172\n --font-family-sans-serif: #{inspect($font-family-sans-serif)};\n --font-family-monospace: #{inspect($font-family-monospace)};\n}\n","// stylelint-disable at-rule-no-vendor-prefix, declaration-no-important, selector-no-qualifying-type, property-no-vendor-prefix\n\n// Reboot\n//\n// Normalization of HTML elements, manually forked from Normalize.css to remove\n// styles targeting irrelevant browsers while applying new styles.\n//\n// Normalize is licensed MIT. https://github.com/necolas/normalize.css\n\n\n// Document\n//\n// 1. Change from `box-sizing: content-box` so that `width` is not affected by `padding` or `border`.\n// 2. Change the default font family in all browsers.\n// 3. Correct the line height in all browsers.\n// 4. Prevent adjustments of font size after orientation changes in IE on Windows Phone and in iOS.\n// 5. Change the default tap highlight to be completely transparent in iOS.\n\n*,\n*::before,\n*::after {\n box-sizing: border-box; // 1\n}\n\nhtml {\n font-family: sans-serif; // 2\n line-height: 1.15; // 3\n -webkit-text-size-adjust: 100%; // 4\n -webkit-tap-highlight-color: rgba($black, 0); // 5\n}\n\n// Shim for \"new\" HTML5 structural elements to display correctly (IE10, older browsers)\n// TODO: remove in v5\n// stylelint-disable-next-line selector-list-comma-newline-after\narticle, aside, figcaption, figure, footer, header, hgroup, main, nav, section {\n display: block;\n}\n\n// Body\n//\n// 1. Remove the margin in all browsers.\n// 2. As a best practice, apply a default `background-color`.\n// 3. Set an explicit initial text-align value so that we can later use\n// the `inherit` value on things like `` elements.\n\nbody {\n margin: 0; // 1\n font-family: $font-family-base;\n @include font-size($font-size-base);\n font-weight: $font-weight-base;\n line-height: $line-height-base;\n color: $body-color;\n text-align: left; // 3\n background-color: $body-bg; // 2\n}\n\n// Future-proof rule: in browsers that support :focus-visible, suppress the focus outline\n// on elements that programmatically receive focus but wouldn't normally show a visible\n// focus outline. In general, this would mean that the outline is only applied if the\n// interaction that led to the element receiving programmatic focus was a keyboard interaction,\n// or the browser has somehow determined that the user is primarily a keyboard user and/or\n// wants focus outlines to always be presented.\n//\n// See https://developer.mozilla.org/en-US/docs/Web/CSS/:focus-visible\n// and https://developer.paciellogroup.com/blog/2018/03/focus-visible-and-backwards-compatibility/\n[tabindex=\"-1\"]:focus:not(:focus-visible) {\n outline: 0 !important;\n}\n\n\n// Content grouping\n//\n// 1. Add the correct box sizing in Firefox.\n// 2. Show the overflow in Edge and IE.\n\nhr {\n box-sizing: content-box; // 1\n height: 0; // 1\n overflow: visible; // 2\n}\n\n\n//\n// Typography\n//\n\n// Remove top margins from headings\n//\n// By default, `

    `-`

    ` all receive top and bottom margins. We nuke the top\n// margin for easier control within type scales as it avoids margin collapsing.\n// stylelint-disable-next-line selector-list-comma-newline-after\nh1, h2, h3, h4, h5, h6 {\n margin-top: 0;\n margin-bottom: $headings-margin-bottom;\n}\n\n// Reset margins on paragraphs\n//\n// Similarly, the top margin on `

    `s get reset. However, we also reset the\n// bottom margin to use `rem` units instead of `em`.\np {\n margin-top: 0;\n margin-bottom: $paragraph-margin-bottom;\n}\n\n// Abbreviations\n//\n// 1. Duplicate behavior to the data-* attribute for our tooltip plugin\n// 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.\n// 3. Add explicit cursor to indicate changed behavior.\n// 4. Remove the bottom border in Firefox 39-.\n// 5. Prevent the text-decoration to be skipped.\n\nabbr[title],\nabbr[data-original-title] { // 1\n text-decoration: underline; // 2\n text-decoration: underline dotted; // 2\n cursor: help; // 3\n border-bottom: 0; // 4\n text-decoration-skip-ink: none; // 5\n}\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: $dt-font-weight;\n}\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0; // Undo browser default\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\nb,\nstrong {\n font-weight: $font-weight-bolder; // Add the correct font weight in Chrome, Edge, and Safari\n}\n\nsmall {\n @include font-size(80%); // Add the correct font size in all browsers\n}\n\n//\n// Prevent `sub` and `sup` elements from affecting the line height in\n// all browsers.\n//\n\nsub,\nsup {\n position: relative;\n @include font-size(75%);\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub { bottom: -.25em; }\nsup { top: -.5em; }\n\n\n//\n// Links\n//\n\na {\n color: $link-color;\n text-decoration: $link-decoration;\n background-color: transparent; // Remove the gray background on active links in IE 10.\n\n @include hover() {\n color: $link-hover-color;\n text-decoration: $link-hover-decoration;\n }\n}\n\n// And undo these styles for placeholder links/named anchors (without href).\n// It would be more straightforward to just use a[href] in previous block, but that\n// causes specificity issues in many other styles that are too complex to fix.\n// See https://github.com/twbs/bootstrap/issues/19402\n\na:not([href]) {\n color: inherit;\n text-decoration: none;\n\n @include hover() {\n color: inherit;\n text-decoration: none;\n }\n}\n\n\n//\n// Code\n//\n\npre,\ncode,\nkbd,\nsamp {\n font-family: $font-family-monospace;\n @include font-size(1em); // Correct the odd `em` font sizing in all browsers.\n}\n\npre {\n // Remove browser default top margin\n margin-top: 0;\n // Reset browser default of `1em` to use `rem`s\n margin-bottom: 1rem;\n // Don't allow content to break outside\n overflow: auto;\n}\n\n\n//\n// Figures\n//\n\nfigure {\n // Apply a consistent margin strategy (matches our type styles).\n margin: 0 0 1rem;\n}\n\n\n//\n// Images and content\n//\n\nimg {\n vertical-align: middle;\n border-style: none; // Remove the border on images inside links in IE 10-.\n}\n\nsvg {\n // Workaround for the SVG overflow bug in IE10/11 is still required.\n // See https://github.com/twbs/bootstrap/issues/26878\n overflow: hidden;\n vertical-align: middle;\n}\n\n\n//\n// Tables\n//\n\ntable {\n border-collapse: collapse; // Prevent double borders\n}\n\ncaption {\n padding-top: $table-cell-padding;\n padding-bottom: $table-cell-padding;\n color: $table-caption-color;\n text-align: left;\n caption-side: bottom;\n}\n\nth {\n // Matches default `` alignment by inheriting from the ``, or the\n // closest parent with a set `text-align`.\n text-align: inherit;\n}\n\n\n//\n// Forms\n//\n\nlabel {\n // Allow labels to use `margin` for spacing.\n display: inline-block;\n margin-bottom: $label-margin-bottom;\n}\n\n// Remove the default `border-radius` that macOS Chrome adds.\n//\n// Details at https://github.com/twbs/bootstrap/issues/24093\nbutton {\n // stylelint-disable-next-line property-blacklist\n border-radius: 0;\n}\n\n// Work around a Firefox/IE bug where the transparent `button` background\n// results in a loss of the default `button` focus styles.\n//\n// Credit: https://github.com/suitcss/base/\nbutton:focus {\n outline: 1px dotted;\n outline: 5px auto -webkit-focus-ring-color;\n}\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0; // Remove the margin in Firefox and Safari\n font-family: inherit;\n @include font-size(inherit);\n line-height: inherit;\n}\n\nbutton,\ninput {\n overflow: visible; // Show the overflow in Edge\n}\n\nbutton,\nselect {\n text-transform: none; // Remove the inheritance of text transform in Firefox\n}\n\n// Remove the inheritance of word-wrap in Safari.\n//\n// Details at https://github.com/twbs/bootstrap/issues/24990\nselect {\n word-wrap: normal;\n}\n\n\n// 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`\n// controls in Android 4.\n// 2. Correct the inability to style clickable types in iOS and Safari.\nbutton,\n[type=\"button\"], // 1\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button; // 2\n}\n\n// Opinionated: add \"hand\" cursor to non-disabled button elements.\n@if $enable-pointer-cursor-for-buttons {\n button,\n [type=\"button\"],\n [type=\"reset\"],\n [type=\"submit\"] {\n &:not(:disabled) {\n cursor: pointer;\n }\n }\n}\n\n// Remove inner border and padding from Firefox, but don't restore the outline like Normalize.\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n padding: 0;\n border-style: none;\n}\n\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n box-sizing: border-box; // 1. Add the correct box sizing in IE 10-\n padding: 0; // 2. Remove the padding in IE 10-\n}\n\n\ninput[type=\"date\"],\ninput[type=\"time\"],\ninput[type=\"datetime-local\"],\ninput[type=\"month\"] {\n // Remove the default appearance of temporal inputs to avoid a Mobile Safari\n // bug where setting a custom line-height prevents text from being vertically\n // centered within the input.\n // See https://bugs.webkit.org/show_bug.cgi?id=139848\n // and https://github.com/twbs/bootstrap/issues/11266\n -webkit-appearance: listbox;\n}\n\ntextarea {\n overflow: auto; // Remove the default vertical scrollbar in IE.\n // Textareas should really only resize vertically so they don't break their (horizontal) containers.\n resize: vertical;\n}\n\nfieldset {\n // Browsers set a default `min-width: min-content;` on fieldsets,\n // unlike e.g. `

    `s, which have `min-width: 0;` by default.\n // So we reset that to ensure fieldsets behave more like a standard block element.\n // See https://github.com/twbs/bootstrap/issues/12359\n // and https://html.spec.whatwg.org/multipage/#the-fieldset-and-legend-elements\n min-width: 0;\n // Reset the default outline behavior of fieldsets so they don't affect page layout.\n padding: 0;\n margin: 0;\n border: 0;\n}\n\n// 1. Correct the text wrapping in Edge and IE.\n// 2. Correct the color inheritance from `fieldset` elements in IE.\nlegend {\n display: block;\n width: 100%;\n max-width: 100%; // 1\n padding: 0;\n margin-bottom: .5rem;\n @include font-size(1.5rem);\n line-height: inherit;\n color: inherit; // 2\n white-space: normal; // 1\n}\n\nprogress {\n vertical-align: baseline; // Add the correct vertical alignment in Chrome, Firefox, and Opera.\n}\n\n// Correct the cursor style of increment and decrement buttons in Chrome.\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n[type=\"search\"] {\n // This overrides the extra rounded corners on search inputs in iOS so that our\n // `.form-control` class can properly style them. Note that this cannot simply\n // be added to `.form-control` as it's not specific enough. For details, see\n // https://github.com/twbs/bootstrap/issues/11586.\n outline-offset: -2px; // 2. Correct the outline style in Safari.\n -webkit-appearance: none;\n}\n\n//\n// Remove the inner padding in Chrome and Safari on macOS.\n//\n\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n//\n// 1. Correct the inability to style clickable types in iOS and Safari.\n// 2. Change font properties to `inherit` in Safari.\n//\n\n::-webkit-file-upload-button {\n font: inherit; // 2\n -webkit-appearance: button; // 1\n}\n\n//\n// Correct element displays\n//\n\noutput {\n display: inline-block;\n}\n\nsummary {\n display: list-item; // Add the correct display in all browsers\n cursor: pointer;\n}\n\ntemplate {\n display: none; // Add the correct display in IE\n}\n\n// Always hide an element with the `hidden` HTML attribute (from PureCSS).\n// Needed for proper display in IE 10-.\n[hidden] {\n display: none !important;\n}\n","// Variables\n//\n// Variables should follow the `$component-state-property-size` formula for\n// consistent naming. Ex: $nav-link-disabled-color and $modal-content-box-shadow-xs.\n\n// Color system\n\n$white: #fff !default;\n$gray-100: #f8f9fa !default;\n$gray-200: #e9ecef !default;\n$gray-300: #dee2e6 !default;\n$gray-400: #ced4da !default;\n$gray-500: #adb5bd !default;\n$gray-600: #6c757d !default;\n$gray-700: #495057 !default;\n$gray-800: #343a40 !default;\n$gray-900: #212529 !default;\n$black: #000 !default;\n\n$grays: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$grays: map-merge(\n (\n \"100\": $gray-100,\n \"200\": $gray-200,\n \"300\": $gray-300,\n \"400\": $gray-400,\n \"500\": $gray-500,\n \"600\": $gray-600,\n \"700\": $gray-700,\n \"800\": $gray-800,\n \"900\": $gray-900\n ),\n $grays\n);\n\n$blue: #007bff !default;\n$indigo: #6610f2 !default;\n$purple: #6f42c1 !default;\n$pink: #e83e8c !default;\n$red: #dc3545 !default;\n$orange: #fd7e14 !default;\n$yellow: #ffc107 !default;\n$green: #28a745 !default;\n$teal: #20c997 !default;\n$cyan: #17a2b8 !default;\n\n$colors: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$colors: map-merge(\n (\n \"blue\": $blue,\n \"indigo\": $indigo,\n \"purple\": $purple,\n \"pink\": $pink,\n \"red\": $red,\n \"orange\": $orange,\n \"yellow\": $yellow,\n \"green\": $green,\n \"teal\": $teal,\n \"cyan\": $cyan,\n \"white\": $white,\n \"gray\": $gray-600,\n \"gray-dark\": $gray-800\n ),\n $colors\n);\n\n$primary: $blue !default;\n$secondary: $gray-600 !default;\n$success: $green !default;\n$info: $cyan !default;\n$warning: $yellow !default;\n$danger: $red !default;\n$light: $gray-100 !default;\n$dark: $gray-800 !default;\n\n$theme-colors: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$theme-colors: map-merge(\n (\n \"primary\": $primary,\n \"secondary\": $secondary,\n \"success\": $success,\n \"info\": $info,\n \"warning\": $warning,\n \"danger\": $danger,\n \"light\": $light,\n \"dark\": $dark\n ),\n $theme-colors\n);\n\n// Set a specific jump point for requesting color jumps\n$theme-color-interval: 8% !default;\n\n// The yiq lightness value that determines when the lightness of color changes from \"dark\" to \"light\". Acceptable values are between 0 and 255.\n$yiq-contrasted-threshold: 150 !default;\n\n// Customize the light and dark text colors for use in our YIQ color contrast function.\n$yiq-text-dark: $gray-900 !default;\n$yiq-text-light: $white !default;\n\n// Characters which are escaped by the escape-svg function\n$escaped-characters: (\n (\"<\",\"%3c\"),\n (\">\",\"%3e\"),\n (\"#\",\"%23\"),\n) !default;\n\n\n// Options\n//\n// Quickly modify global styling by enabling or disabling optional features.\n\n$enable-caret: true !default;\n$enable-rounded: true !default;\n$enable-shadows: false !default;\n$enable-gradients: false !default;\n$enable-transitions: true !default;\n$enable-prefers-reduced-motion-media-query: true !default;\n$enable-hover-media-query: false !default; // Deprecated, no longer affects any compiled CSS\n$enable-grid-classes: true !default;\n$enable-pointer-cursor-for-buttons: true !default;\n$enable-print-styles: true !default;\n$enable-responsive-font-sizes: false !default;\n$enable-validation-icons: true !default;\n$enable-deprecation-messages: true !default;\n\n\n// Spacing\n//\n// Control the default styling of most Bootstrap elements by modifying these\n// variables. Mostly focused on spacing.\n// You can add more entries to the $spacers map, should you need more variation.\n\n$spacer: 1rem !default;\n$spacers: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$spacers: map-merge(\n (\n 0: 0,\n 1: ($spacer * .25),\n 2: ($spacer * .5),\n 3: $spacer,\n 4: ($spacer * 1.5),\n 5: ($spacer * 3)\n ),\n $spacers\n);\n\n// This variable affects the `.h-*` and `.w-*` classes.\n$sizes: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$sizes: map-merge(\n (\n 25: 25%,\n 50: 50%,\n 75: 75%,\n 100: 100%,\n auto: auto\n ),\n $sizes\n);\n\n\n// Body\n//\n// Settings for the `` element.\n\n$body-bg: $white !default;\n$body-color: $gray-900 !default;\n\n\n// Links\n//\n// Style anchor elements.\n\n$link-color: theme-color(\"primary\") !default;\n$link-decoration: none !default;\n$link-hover-color: darken($link-color, 15%) !default;\n$link-hover-decoration: underline !default;\n// Darken percentage for links with `.text-*` class (e.g. `.text-success`)\n$emphasized-link-hover-darken-percentage: 15% !default;\n\n// Paragraphs\n//\n// Style p element.\n\n$paragraph-margin-bottom: 1rem !default;\n\n\n// Grid breakpoints\n//\n// Define the minimum dimensions at which your layout will change,\n// adapting to different screen sizes, for use in media queries.\n\n$grid-breakpoints: (\n xs: 0,\n sm: 576px,\n md: 768px,\n lg: 992px,\n xl: 1200px\n) !default;\n\n@include _assert-ascending($grid-breakpoints, \"$grid-breakpoints\");\n@include _assert-starts-at-zero($grid-breakpoints, \"$grid-breakpoints\");\n\n\n// Grid containers\n//\n// Define the maximum width of `.container` for different screen sizes.\n\n$container-max-widths: (\n sm: 540px,\n md: 720px,\n lg: 960px,\n xl: 1140px\n) !default;\n\n@include _assert-ascending($container-max-widths, \"$container-max-widths\");\n\n\n// Grid columns\n//\n// Set the number of columns and specify the width of the gutters.\n\n$grid-columns: 12 !default;\n$grid-gutter-width: 30px !default;\n$grid-row-columns: 6 !default;\n\n\n// Components\n//\n// Define common padding and border radius sizes and more.\n\n$line-height-lg: 1.5 !default;\n$line-height-sm: 1.5 !default;\n\n$border-width: 1px !default;\n$border-color: $gray-300 !default;\n\n$border-radius: .25rem !default;\n$border-radius-lg: .3rem !default;\n$border-radius-sm: .2rem !default;\n\n$rounded-pill: 50rem !default;\n\n$box-shadow-sm: 0 .125rem .25rem rgba($black, .075) !default;\n$box-shadow: 0 .5rem 1rem rgba($black, .15) !default;\n$box-shadow-lg: 0 1rem 3rem rgba($black, .175) !default;\n\n$component-active-color: $white !default;\n$component-active-bg: theme-color(\"primary\") !default;\n\n$caret-width: .3em !default;\n$caret-vertical-align: $caret-width * .85 !default;\n$caret-spacing: $caret-width * .85 !default;\n\n$transition-base: all .2s ease-in-out !default;\n$transition-fade: opacity .15s linear !default;\n$transition-collapse: height .35s ease !default;\n\n$embed-responsive-aspect-ratios: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$embed-responsive-aspect-ratios: join(\n (\n (21 9),\n (16 9),\n (4 3),\n (1 1),\n ),\n $embed-responsive-aspect-ratios\n);\n\n// Typography\n//\n// Font, line-height, and color for body text, headings, and more.\n\n// stylelint-disable value-keyword-case\n$font-family-sans-serif: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\" !default;\n$font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace !default;\n$font-family-base: $font-family-sans-serif !default;\n// stylelint-enable value-keyword-case\n\n$font-size-base: 1rem !default; // Assumes the browser default, typically `16px`\n$font-size-lg: $font-size-base * 1.25 !default;\n$font-size-sm: $font-size-base * .875 !default;\n\n$font-weight-lighter: lighter !default;\n$font-weight-light: 300 !default;\n$font-weight-normal: 400 !default;\n$font-weight-bold: 700 !default;\n$font-weight-bolder: bolder !default;\n\n$font-weight-base: $font-weight-normal !default;\n$line-height-base: 1.5 !default;\n\n$h1-font-size: $font-size-base * 2.5 !default;\n$h2-font-size: $font-size-base * 2 !default;\n$h3-font-size: $font-size-base * 1.75 !default;\n$h4-font-size: $font-size-base * 1.5 !default;\n$h5-font-size: $font-size-base * 1.25 !default;\n$h6-font-size: $font-size-base !default;\n\n$headings-margin-bottom: $spacer / 2 !default;\n$headings-font-family: null !default;\n$headings-font-weight: 500 !default;\n$headings-line-height: 1.2 !default;\n$headings-color: null !default;\n\n$display1-size: 6rem !default;\n$display2-size: 5.5rem !default;\n$display3-size: 4.5rem !default;\n$display4-size: 3.5rem !default;\n\n$display1-weight: 300 !default;\n$display2-weight: 300 !default;\n$display3-weight: 300 !default;\n$display4-weight: 300 !default;\n$display-line-height: $headings-line-height !default;\n\n$lead-font-size: $font-size-base * 1.25 !default;\n$lead-font-weight: 300 !default;\n\n$small-font-size: 80% !default;\n\n$text-muted: $gray-600 !default;\n\n$blockquote-small-color: $gray-600 !default;\n$blockquote-small-font-size: $small-font-size !default;\n$blockquote-font-size: $font-size-base * 1.25 !default;\n\n$hr-border-color: rgba($black, .1) !default;\n$hr-border-width: $border-width !default;\n\n$mark-padding: .2em !default;\n\n$dt-font-weight: $font-weight-bold !default;\n\n$kbd-box-shadow: inset 0 -.1rem 0 rgba($black, .25) !default;\n$nested-kbd-font-weight: $font-weight-bold !default;\n\n$list-inline-padding: .5rem !default;\n\n$mark-bg: #fcf8e3 !default;\n\n$hr-margin-y: $spacer !default;\n\n\n// Tables\n//\n// Customizes the `.table` component with basic values, each used across all table variations.\n\n$table-cell-padding: .75rem !default;\n$table-cell-padding-sm: .3rem !default;\n\n$table-color: $body-color !default;\n$table-bg: null !default;\n$table-accent-bg: rgba($black, .05) !default;\n$table-hover-color: $table-color !default;\n$table-hover-bg: rgba($black, .075) !default;\n$table-active-bg: $table-hover-bg !default;\n\n$table-border-width: $border-width !default;\n$table-border-color: $border-color !default;\n\n$table-head-bg: $gray-200 !default;\n$table-head-color: $gray-700 !default;\n\n$table-dark-color: $white !default;\n$table-dark-bg: $gray-800 !default;\n$table-dark-accent-bg: rgba($white, .05) !default;\n$table-dark-hover-color: $table-dark-color !default;\n$table-dark-hover-bg: rgba($white, .075) !default;\n$table-dark-border-color: lighten($table-dark-bg, 7.5%) !default;\n\n$table-striped-order: odd !default;\n\n$table-caption-color: $text-muted !default;\n\n$table-bg-level: -9 !default;\n$table-border-level: -6 !default;\n\n\n// Buttons + Forms\n//\n// Shared variables that are reassigned to `$input-` and `$btn-` specific variables.\n\n$input-btn-padding-y: .375rem !default;\n$input-btn-padding-x: .75rem !default;\n$input-btn-font-family: null !default;\n$input-btn-font-size: $font-size-base !default;\n$input-btn-line-height: $line-height-base !default;\n\n$input-btn-focus-width: .2rem !default;\n$input-btn-focus-color: rgba($component-active-bg, .25) !default;\n$input-btn-focus-box-shadow: 0 0 0 $input-btn-focus-width $input-btn-focus-color !default;\n\n$input-btn-padding-y-sm: .25rem !default;\n$input-btn-padding-x-sm: .5rem !default;\n$input-btn-font-size-sm: $font-size-sm !default;\n$input-btn-line-height-sm: $line-height-sm !default;\n\n$input-btn-padding-y-lg: .5rem !default;\n$input-btn-padding-x-lg: 1rem !default;\n$input-btn-font-size-lg: $font-size-lg !default;\n$input-btn-line-height-lg: $line-height-lg !default;\n\n$input-btn-border-width: $border-width !default;\n\n\n// Buttons\n//\n// For each of Bootstrap's buttons, define text, background, and border color.\n\n$btn-padding-y: $input-btn-padding-y !default;\n$btn-padding-x: $input-btn-padding-x !default;\n$btn-font-family: $input-btn-font-family !default;\n$btn-font-size: $input-btn-font-size !default;\n$btn-line-height: $input-btn-line-height !default;\n$btn-white-space: null !default; // Set to `nowrap` to prevent text wrapping\n\n$btn-padding-y-sm: $input-btn-padding-y-sm !default;\n$btn-padding-x-sm: $input-btn-padding-x-sm !default;\n$btn-font-size-sm: $input-btn-font-size-sm !default;\n$btn-line-height-sm: $input-btn-line-height-sm !default;\n\n$btn-padding-y-lg: $input-btn-padding-y-lg !default;\n$btn-padding-x-lg: $input-btn-padding-x-lg !default;\n$btn-font-size-lg: $input-btn-font-size-lg !default;\n$btn-line-height-lg: $input-btn-line-height-lg !default;\n\n$btn-border-width: $input-btn-border-width !default;\n\n$btn-font-weight: $font-weight-normal !default;\n$btn-box-shadow: inset 0 1px 0 rgba($white, .15), 0 1px 1px rgba($black, .075) !default;\n$btn-focus-width: $input-btn-focus-width !default;\n$btn-focus-box-shadow: $input-btn-focus-box-shadow !default;\n$btn-disabled-opacity: .65 !default;\n$btn-active-box-shadow: inset 0 3px 5px rgba($black, .125) !default;\n\n$btn-link-disabled-color: $gray-600 !default;\n\n$btn-block-spacing-y: .5rem !default;\n\n// Allows for customizing button radius independently from global border radius\n$btn-border-radius: $border-radius !default;\n$btn-border-radius-lg: $border-radius-lg !default;\n$btn-border-radius-sm: $border-radius-sm !default;\n\n$btn-transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n\n// Forms\n\n$label-margin-bottom: .5rem !default;\n\n$input-padding-y: $input-btn-padding-y !default;\n$input-padding-x: $input-btn-padding-x !default;\n$input-font-family: $input-btn-font-family !default;\n$input-font-size: $input-btn-font-size !default;\n$input-font-weight: $font-weight-base !default;\n$input-line-height: $input-btn-line-height !default;\n\n$input-padding-y-sm: $input-btn-padding-y-sm !default;\n$input-padding-x-sm: $input-btn-padding-x-sm !default;\n$input-font-size-sm: $input-btn-font-size-sm !default;\n$input-line-height-sm: $input-btn-line-height-sm !default;\n\n$input-padding-y-lg: $input-btn-padding-y-lg !default;\n$input-padding-x-lg: $input-btn-padding-x-lg !default;\n$input-font-size-lg: $input-btn-font-size-lg !default;\n$input-line-height-lg: $input-btn-line-height-lg !default;\n\n$input-bg: $white !default;\n$input-disabled-bg: $gray-200 !default;\n\n$input-color: $gray-700 !default;\n$input-border-color: $gray-400 !default;\n$input-border-width: $input-btn-border-width !default;\n$input-box-shadow: inset 0 1px 1px rgba($black, .075) !default;\n\n$input-border-radius: $border-radius !default;\n$input-border-radius-lg: $border-radius-lg !default;\n$input-border-radius-sm: $border-radius-sm !default;\n\n$input-focus-bg: $input-bg !default;\n$input-focus-border-color: lighten($component-active-bg, 25%) !default;\n$input-focus-color: $input-color !default;\n$input-focus-width: $input-btn-focus-width !default;\n$input-focus-box-shadow: $input-btn-focus-box-shadow !default;\n\n$input-placeholder-color: $gray-600 !default;\n$input-plaintext-color: $body-color !default;\n\n$input-height-border: $input-border-width * 2 !default;\n\n$input-height-inner: add($input-line-height * 1em, $input-padding-y * 2) !default;\n$input-height-inner-half: add($input-line-height * .5em, $input-padding-y) !default;\n$input-height-inner-quarter: add($input-line-height * .25em, $input-padding-y / 2) !default;\n\n$input-height: add($input-line-height * 1em, add($input-padding-y * 2, $input-height-border, false)) !default;\n$input-height-sm: add($input-line-height-sm * 1em, add($input-padding-y-sm * 2, $input-height-border, false)) !default;\n$input-height-lg: add($input-line-height-lg * 1em, add($input-padding-y-lg * 2, $input-height-border, false)) !default;\n\n$input-transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n$form-text-margin-top: .25rem !default;\n\n$form-check-input-gutter: 1.25rem !default;\n$form-check-input-margin-y: .3rem !default;\n$form-check-input-margin-x: .25rem !default;\n\n$form-check-inline-margin-x: .75rem !default;\n$form-check-inline-input-margin-x: .3125rem !default;\n\n$form-grid-gutter-width: 10px !default;\n$form-group-margin-bottom: 1rem !default;\n\n$input-group-addon-color: $input-color !default;\n$input-group-addon-bg: $gray-200 !default;\n$input-group-addon-border-color: $input-border-color !default;\n\n$custom-forms-transition: background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n$custom-control-gutter: .5rem !default;\n$custom-control-spacer-x: 1rem !default;\n$custom-control-cursor: null !default;\n\n$custom-control-indicator-size: 1rem !default;\n$custom-control-indicator-bg: $input-bg !default;\n\n$custom-control-indicator-bg-size: 50% 50% !default;\n$custom-control-indicator-box-shadow: $input-box-shadow !default;\n$custom-control-indicator-border-color: $gray-500 !default;\n$custom-control-indicator-border-width: $input-border-width !default;\n\n$custom-control-label-color: null !default;\n\n$custom-control-indicator-disabled-bg: $input-disabled-bg !default;\n$custom-control-label-disabled-color: $gray-600 !default;\n\n$custom-control-indicator-checked-color: $component-active-color !default;\n$custom-control-indicator-checked-bg: $component-active-bg !default;\n$custom-control-indicator-checked-disabled-bg: rgba(theme-color(\"primary\"), .5) !default;\n$custom-control-indicator-checked-box-shadow: none !default;\n$custom-control-indicator-checked-border-color: $custom-control-indicator-checked-bg !default;\n\n$custom-control-indicator-focus-box-shadow: $input-focus-box-shadow !default;\n$custom-control-indicator-focus-border-color: $input-focus-border-color !default;\n\n$custom-control-indicator-active-color: $component-active-color !default;\n$custom-control-indicator-active-bg: lighten($component-active-bg, 35%) !default;\n$custom-control-indicator-active-box-shadow: none !default;\n$custom-control-indicator-active-border-color: $custom-control-indicator-active-bg !default;\n\n$custom-checkbox-indicator-border-radius: $border-radius !default;\n$custom-checkbox-indicator-icon-checked: url(\"data:image/svg+xml,\") !default;\n\n$custom-checkbox-indicator-indeterminate-bg: $component-active-bg !default;\n$custom-checkbox-indicator-indeterminate-color: $custom-control-indicator-checked-color !default;\n$custom-checkbox-indicator-icon-indeterminate: url(\"data:image/svg+xml,\") !default;\n$custom-checkbox-indicator-indeterminate-box-shadow: none !default;\n$custom-checkbox-indicator-indeterminate-border-color: $custom-checkbox-indicator-indeterminate-bg !default;\n\n$custom-radio-indicator-border-radius: 50% !default;\n$custom-radio-indicator-icon-checked: url(\"data:image/svg+xml,\") !default;\n\n$custom-switch-width: $custom-control-indicator-size * 1.75 !default;\n$custom-switch-indicator-border-radius: $custom-control-indicator-size / 2 !default;\n$custom-switch-indicator-size: subtract($custom-control-indicator-size, $custom-control-indicator-border-width * 4) !default;\n\n$custom-select-padding-y: $input-padding-y !default;\n$custom-select-padding-x: $input-padding-x !default;\n$custom-select-font-family: $input-font-family !default;\n$custom-select-font-size: $input-font-size !default;\n$custom-select-height: $input-height !default;\n$custom-select-indicator-padding: 1rem !default; // Extra padding to account for the presence of the background-image based indicator\n$custom-select-font-weight: $input-font-weight !default;\n$custom-select-line-height: $input-line-height !default;\n$custom-select-color: $input-color !default;\n$custom-select-disabled-color: $gray-600 !default;\n$custom-select-bg: $input-bg !default;\n$custom-select-disabled-bg: $gray-200 !default;\n$custom-select-bg-size: 8px 10px !default; // In pixels because image dimensions\n$custom-select-indicator-color: $gray-800 !default;\n$custom-select-indicator: url(\"data:image/svg+xml,\") !default;\n$custom-select-background: escape-svg($custom-select-indicator) no-repeat right $custom-select-padding-x center / $custom-select-bg-size !default; // Used so we can have multiple background elements (e.g., arrow and feedback icon)\n\n$custom-select-feedback-icon-padding-right: add(1em * .75, (2 * $custom-select-padding-y * .75) + $custom-select-padding-x + $custom-select-indicator-padding) !default;\n$custom-select-feedback-icon-position: center right ($custom-select-padding-x + $custom-select-indicator-padding) !default;\n$custom-select-feedback-icon-size: $input-height-inner-half $input-height-inner-half !default;\n\n$custom-select-border-width: $input-border-width !default;\n$custom-select-border-color: $input-border-color !default;\n$custom-select-border-radius: $border-radius !default;\n$custom-select-box-shadow: inset 0 1px 2px rgba($black, .075) !default;\n\n$custom-select-focus-border-color: $input-focus-border-color !default;\n$custom-select-focus-width: $input-focus-width !default;\n$custom-select-focus-box-shadow: 0 0 0 $custom-select-focus-width $input-btn-focus-color !default;\n\n$custom-select-padding-y-sm: $input-padding-y-sm !default;\n$custom-select-padding-x-sm: $input-padding-x-sm !default;\n$custom-select-font-size-sm: $input-font-size-sm !default;\n$custom-select-height-sm: $input-height-sm !default;\n\n$custom-select-padding-y-lg: $input-padding-y-lg !default;\n$custom-select-padding-x-lg: $input-padding-x-lg !default;\n$custom-select-font-size-lg: $input-font-size-lg !default;\n$custom-select-height-lg: $input-height-lg !default;\n\n$custom-range-track-width: 100% !default;\n$custom-range-track-height: .5rem !default;\n$custom-range-track-cursor: pointer !default;\n$custom-range-track-bg: $gray-300 !default;\n$custom-range-track-border-radius: 1rem !default;\n$custom-range-track-box-shadow: inset 0 .25rem .25rem rgba($black, .1) !default;\n\n$custom-range-thumb-width: 1rem !default;\n$custom-range-thumb-height: $custom-range-thumb-width !default;\n$custom-range-thumb-bg: $component-active-bg !default;\n$custom-range-thumb-border: 0 !default;\n$custom-range-thumb-border-radius: 1rem !default;\n$custom-range-thumb-box-shadow: 0 .1rem .25rem rgba($black, .1) !default;\n$custom-range-thumb-focus-box-shadow: 0 0 0 1px $body-bg, $input-focus-box-shadow !default;\n$custom-range-thumb-focus-box-shadow-width: $input-focus-width !default; // For focus box shadow issue in IE/Edge\n$custom-range-thumb-active-bg: lighten($component-active-bg, 35%) !default;\n$custom-range-thumb-disabled-bg: $gray-500 !default;\n\n$custom-file-height: $input-height !default;\n$custom-file-height-inner: $input-height-inner !default;\n$custom-file-focus-border-color: $input-focus-border-color !default;\n$custom-file-focus-box-shadow: $input-focus-box-shadow !default;\n$custom-file-disabled-bg: $input-disabled-bg !default;\n\n$custom-file-padding-y: $input-padding-y !default;\n$custom-file-padding-x: $input-padding-x !default;\n$custom-file-line-height: $input-line-height !default;\n$custom-file-font-family: $input-font-family !default;\n$custom-file-font-weight: $input-font-weight !default;\n$custom-file-color: $input-color !default;\n$custom-file-bg: $input-bg !default;\n$custom-file-border-width: $input-border-width !default;\n$custom-file-border-color: $input-border-color !default;\n$custom-file-border-radius: $input-border-radius !default;\n$custom-file-box-shadow: $input-box-shadow !default;\n$custom-file-button-color: $custom-file-color !default;\n$custom-file-button-bg: $input-group-addon-bg !default;\n$custom-file-text: (\n en: \"Browse\"\n) !default;\n\n\n// Form validation\n\n$form-feedback-margin-top: $form-text-margin-top !default;\n$form-feedback-font-size: $small-font-size !default;\n$form-feedback-valid-color: theme-color(\"success\") !default;\n$form-feedback-invalid-color: theme-color(\"danger\") !default;\n\n$form-feedback-icon-valid-color: $form-feedback-valid-color !default;\n$form-feedback-icon-valid: url(\"data:image/svg+xml,\") !default;\n$form-feedback-icon-invalid-color: $form-feedback-invalid-color !default;\n$form-feedback-icon-invalid: url(\"data:image/svg+xml,\") !default;\n\n$form-validation-states: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$form-validation-states: map-merge(\n (\n \"valid\": (\n \"color\": $form-feedback-valid-color,\n \"icon\": $form-feedback-icon-valid\n ),\n \"invalid\": (\n \"color\": $form-feedback-invalid-color,\n \"icon\": $form-feedback-icon-invalid\n ),\n ),\n $form-validation-states\n);\n\n// Z-index master list\n//\n// Warning: Avoid customizing these values. They're used for a bird's eye view\n// of components dependent on the z-axis and are designed to all work together.\n\n$zindex-dropdown: 1000 !default;\n$zindex-sticky: 1020 !default;\n$zindex-fixed: 1030 !default;\n$zindex-modal-backdrop: 1040 !default;\n$zindex-modal: 1050 !default;\n$zindex-popover: 1060 !default;\n$zindex-tooltip: 1070 !default;\n\n\n// Navs\n\n$nav-link-padding-y: .5rem !default;\n$nav-link-padding-x: 1rem !default;\n$nav-link-disabled-color: $gray-600 !default;\n\n$nav-tabs-border-color: $gray-300 !default;\n$nav-tabs-border-width: $border-width !default;\n$nav-tabs-border-radius: $border-radius !default;\n$nav-tabs-link-hover-border-color: $gray-200 $gray-200 $nav-tabs-border-color !default;\n$nav-tabs-link-active-color: $gray-700 !default;\n$nav-tabs-link-active-bg: $body-bg !default;\n$nav-tabs-link-active-border-color: $gray-300 $gray-300 $nav-tabs-link-active-bg !default;\n\n$nav-pills-border-radius: $border-radius !default;\n$nav-pills-link-active-color: $component-active-color !default;\n$nav-pills-link-active-bg: $component-active-bg !default;\n\n$nav-divider-color: $gray-200 !default;\n$nav-divider-margin-y: $spacer / 2 !default;\n\n\n// Navbar\n\n$navbar-padding-y: $spacer / 2 !default;\n$navbar-padding-x: $spacer !default;\n\n$navbar-nav-link-padding-x: .5rem !default;\n\n$navbar-brand-font-size: $font-size-lg !default;\n// Compute the navbar-brand padding-y so the navbar-brand will have the same height as navbar-text and nav-link\n$nav-link-height: $font-size-base * $line-height-base + $nav-link-padding-y * 2 !default;\n$navbar-brand-height: $navbar-brand-font-size * $line-height-base !default;\n$navbar-brand-padding-y: ($nav-link-height - $navbar-brand-height) / 2 !default;\n\n$navbar-toggler-padding-y: .25rem !default;\n$navbar-toggler-padding-x: .75rem !default;\n$navbar-toggler-font-size: $font-size-lg !default;\n$navbar-toggler-border-radius: $btn-border-radius !default;\n\n$navbar-dark-color: rgba($white, .5) !default;\n$navbar-dark-hover-color: rgba($white, .75) !default;\n$navbar-dark-active-color: $white !default;\n$navbar-dark-disabled-color: rgba($white, .25) !default;\n$navbar-dark-toggler-icon-bg: url(\"data:image/svg+xml,\") !default;\n$navbar-dark-toggler-border-color: rgba($white, .1) !default;\n\n$navbar-light-color: rgba($black, .5) !default;\n$navbar-light-hover-color: rgba($black, .7) !default;\n$navbar-light-active-color: rgba($black, .9) !default;\n$navbar-light-disabled-color: rgba($black, .3) !default;\n$navbar-light-toggler-icon-bg: url(\"data:image/svg+xml,\") !default;\n$navbar-light-toggler-border-color: rgba($black, .1) !default;\n\n$navbar-light-brand-color: $navbar-light-active-color !default;\n$navbar-light-brand-hover-color: $navbar-light-active-color !default;\n$navbar-dark-brand-color: $navbar-dark-active-color !default;\n$navbar-dark-brand-hover-color: $navbar-dark-active-color !default;\n\n\n// Dropdowns\n//\n// Dropdown menu container and contents.\n\n$dropdown-min-width: 10rem !default;\n$dropdown-padding-y: .5rem !default;\n$dropdown-spacer: .125rem !default;\n$dropdown-font-size: $font-size-base !default;\n$dropdown-color: $body-color !default;\n$dropdown-bg: $white !default;\n$dropdown-border-color: rgba($black, .15) !default;\n$dropdown-border-radius: $border-radius !default;\n$dropdown-border-width: $border-width !default;\n$dropdown-inner-border-radius: subtract($dropdown-border-radius, $dropdown-border-width) !default;\n$dropdown-divider-bg: $gray-200 !default;\n$dropdown-divider-margin-y: $nav-divider-margin-y !default;\n$dropdown-box-shadow: 0 .5rem 1rem rgba($black, .175) !default;\n\n$dropdown-link-color: $gray-900 !default;\n$dropdown-link-hover-color: darken($gray-900, 5%) !default;\n$dropdown-link-hover-bg: $gray-100 !default;\n\n$dropdown-link-active-color: $component-active-color !default;\n$dropdown-link-active-bg: $component-active-bg !default;\n\n$dropdown-link-disabled-color: $gray-600 !default;\n\n$dropdown-item-padding-y: .25rem !default;\n$dropdown-item-padding-x: 1.5rem !default;\n\n$dropdown-header-color: $gray-600 !default;\n\n\n// Pagination\n\n$pagination-padding-y: .5rem !default;\n$pagination-padding-x: .75rem !default;\n$pagination-padding-y-sm: .25rem !default;\n$pagination-padding-x-sm: .5rem !default;\n$pagination-padding-y-lg: .75rem !default;\n$pagination-padding-x-lg: 1.5rem !default;\n$pagination-line-height: 1.25 !default;\n\n$pagination-color: $link-color !default;\n$pagination-bg: $white !default;\n$pagination-border-width: $border-width !default;\n$pagination-border-color: $gray-300 !default;\n\n$pagination-focus-box-shadow: $input-btn-focus-box-shadow !default;\n$pagination-focus-outline: 0 !default;\n\n$pagination-hover-color: $link-hover-color !default;\n$pagination-hover-bg: $gray-200 !default;\n$pagination-hover-border-color: $gray-300 !default;\n\n$pagination-active-color: $component-active-color !default;\n$pagination-active-bg: $component-active-bg !default;\n$pagination-active-border-color: $pagination-active-bg !default;\n\n$pagination-disabled-color: $gray-600 !default;\n$pagination-disabled-bg: $white !default;\n$pagination-disabled-border-color: $gray-300 !default;\n\n\n// Jumbotron\n\n$jumbotron-padding: 2rem !default;\n$jumbotron-color: null !default;\n$jumbotron-bg: $gray-200 !default;\n\n\n// Cards\n\n$card-spacer-y: .75rem !default;\n$card-spacer-x: 1.25rem !default;\n$card-border-width: $border-width !default;\n$card-border-radius: $border-radius !default;\n$card-border-color: rgba($black, .125) !default;\n$card-inner-border-radius: subtract($card-border-radius, $card-border-width) !default;\n$card-cap-bg: rgba($black, .03) !default;\n$card-cap-color: null !default;\n$card-height: null !default;\n$card-color: null !default;\n$card-bg: $white !default;\n\n$card-img-overlay-padding: 1.25rem !default;\n\n$card-group-margin: $grid-gutter-width / 2 !default;\n$card-deck-margin: $card-group-margin !default;\n\n$card-columns-count: 3 !default;\n$card-columns-gap: 1.25rem !default;\n$card-columns-margin: $card-spacer-y !default;\n\n\n// Tooltips\n\n$tooltip-font-size: $font-size-sm !default;\n$tooltip-max-width: 200px !default;\n$tooltip-color: $white !default;\n$tooltip-bg: $black !default;\n$tooltip-border-radius: $border-radius !default;\n$tooltip-opacity: .9 !default;\n$tooltip-padding-y: .25rem !default;\n$tooltip-padding-x: .5rem !default;\n$tooltip-margin: 0 !default;\n\n$tooltip-arrow-width: .8rem !default;\n$tooltip-arrow-height: .4rem !default;\n$tooltip-arrow-color: $tooltip-bg !default;\n\n// Form tooltips must come after regular tooltips\n$form-feedback-tooltip-padding-y: $tooltip-padding-y !default;\n$form-feedback-tooltip-padding-x: $tooltip-padding-x !default;\n$form-feedback-tooltip-font-size: $tooltip-font-size !default;\n$form-feedback-tooltip-line-height: $line-height-base !default;\n$form-feedback-tooltip-opacity: $tooltip-opacity !default;\n$form-feedback-tooltip-border-radius: $tooltip-border-radius !default;\n\n\n// Popovers\n\n$popover-font-size: $font-size-sm !default;\n$popover-bg: $white !default;\n$popover-max-width: 276px !default;\n$popover-border-width: $border-width !default;\n$popover-border-color: rgba($black, .2) !default;\n$popover-border-radius: $border-radius-lg !default;\n$popover-inner-border-radius: subtract($popover-border-radius, $popover-border-width) !default;\n$popover-box-shadow: 0 .25rem .5rem rgba($black, .2) !default;\n\n$popover-header-bg: darken($popover-bg, 3%) !default;\n$popover-header-color: $headings-color !default;\n$popover-header-padding-y: .5rem !default;\n$popover-header-padding-x: .75rem !default;\n\n$popover-body-color: $body-color !default;\n$popover-body-padding-y: $popover-header-padding-y !default;\n$popover-body-padding-x: $popover-header-padding-x !default;\n\n$popover-arrow-width: 1rem !default;\n$popover-arrow-height: .5rem !default;\n$popover-arrow-color: $popover-bg !default;\n\n$popover-arrow-outer-color: fade-in($popover-border-color, .05) !default;\n\n\n// Toasts\n\n$toast-max-width: 350px !default;\n$toast-padding-x: .75rem !default;\n$toast-padding-y: .25rem !default;\n$toast-font-size: .875rem !default;\n$toast-color: null !default;\n$toast-background-color: rgba($white, .85) !default;\n$toast-border-width: 1px !default;\n$toast-border-color: rgba(0, 0, 0, .1) !default;\n$toast-border-radius: .25rem !default;\n$toast-box-shadow: 0 .25rem .75rem rgba($black, .1) !default;\n\n$toast-header-color: $gray-600 !default;\n$toast-header-background-color: rgba($white, .85) !default;\n$toast-header-border-color: rgba(0, 0, 0, .05) !default;\n\n\n// Badges\n\n$badge-font-size: 75% !default;\n$badge-font-weight: $font-weight-bold !default;\n$badge-padding-y: .25em !default;\n$badge-padding-x: .4em !default;\n$badge-border-radius: $border-radius !default;\n\n$badge-transition: $btn-transition !default;\n$badge-focus-width: $input-btn-focus-width !default;\n\n$badge-pill-padding-x: .6em !default;\n// Use a higher than normal value to ensure completely rounded edges when\n// customizing padding or font-size on labels.\n$badge-pill-border-radius: 10rem !default;\n\n\n// Modals\n\n// Padding applied to the modal body\n$modal-inner-padding: 1rem !default;\n\n// Margin between elements in footer, must be lower than or equal to 2 * $modal-inner-padding\n$modal-footer-margin-between: .5rem !default;\n\n$modal-dialog-margin: .5rem !default;\n$modal-dialog-margin-y-sm-up: 1.75rem !default;\n\n$modal-title-line-height: $line-height-base !default;\n\n$modal-content-color: null !default;\n$modal-content-bg: $white !default;\n$modal-content-border-color: rgba($black, .2) !default;\n$modal-content-border-width: $border-width !default;\n$modal-content-border-radius: $border-radius-lg !default;\n$modal-content-inner-border-radius: subtract($modal-content-border-radius, $modal-content-border-width) !default;\n$modal-content-box-shadow-xs: 0 .25rem .5rem rgba($black, .5) !default;\n$modal-content-box-shadow-sm-up: 0 .5rem 1rem rgba($black, .5) !default;\n\n$modal-backdrop-bg: $black !default;\n$modal-backdrop-opacity: .5 !default;\n$modal-header-border-color: $border-color !default;\n$modal-footer-border-color: $modal-header-border-color !default;\n$modal-header-border-width: $modal-content-border-width !default;\n$modal-footer-border-width: $modal-header-border-width !default;\n$modal-header-padding-y: 1rem !default;\n$modal-header-padding-x: 1rem !default;\n$modal-header-padding: $modal-header-padding-y $modal-header-padding-x !default; // Keep this for backwards compatibility\n\n$modal-xl: 1140px !default;\n$modal-lg: 800px !default;\n$modal-md: 500px !default;\n$modal-sm: 300px !default;\n\n$modal-fade-transform: translate(0, -50px) !default;\n$modal-show-transform: none !default;\n$modal-transition: transform .3s ease-out !default;\n$modal-scale-transform: scale(1.02) !default;\n\n\n// Alerts\n//\n// Define alert colors, border radius, and padding.\n\n$alert-padding-y: .75rem !default;\n$alert-padding-x: 1.25rem !default;\n$alert-margin-bottom: 1rem !default;\n$alert-border-radius: $border-radius !default;\n$alert-link-font-weight: $font-weight-bold !default;\n$alert-border-width: $border-width !default;\n\n$alert-bg-level: -10 !default;\n$alert-border-level: -9 !default;\n$alert-color-level: 6 !default;\n\n\n// Progress bars\n\n$progress-height: 1rem !default;\n$progress-font-size: $font-size-base * .75 !default;\n$progress-bg: $gray-200 !default;\n$progress-border-radius: $border-radius !default;\n$progress-box-shadow: inset 0 .1rem .1rem rgba($black, .1) !default;\n$progress-bar-color: $white !default;\n$progress-bar-bg: theme-color(\"primary\") !default;\n$progress-bar-animation-timing: 1s linear infinite !default;\n$progress-bar-transition: width .6s ease !default;\n\n\n// List group\n\n$list-group-color: null !default;\n$list-group-bg: $white !default;\n$list-group-border-color: rgba($black, .125) !default;\n$list-group-border-width: $border-width !default;\n$list-group-border-radius: $border-radius !default;\n\n$list-group-item-padding-y: .75rem !default;\n$list-group-item-padding-x: 1.25rem !default;\n\n$list-group-hover-bg: $gray-100 !default;\n$list-group-active-color: $component-active-color !default;\n$list-group-active-bg: $component-active-bg !default;\n$list-group-active-border-color: $list-group-active-bg !default;\n\n$list-group-disabled-color: $gray-600 !default;\n$list-group-disabled-bg: $list-group-bg !default;\n\n$list-group-action-color: $gray-700 !default;\n$list-group-action-hover-color: $list-group-action-color !default;\n\n$list-group-action-active-color: $body-color !default;\n$list-group-action-active-bg: $gray-200 !default;\n\n\n// Image thumbnails\n\n$thumbnail-padding: .25rem !default;\n$thumbnail-bg: $body-bg !default;\n$thumbnail-border-width: $border-width !default;\n$thumbnail-border-color: $gray-300 !default;\n$thumbnail-border-radius: $border-radius !default;\n$thumbnail-box-shadow: 0 1px 2px rgba($black, .075) !default;\n\n\n// Figures\n\n$figure-caption-font-size: 90% !default;\n$figure-caption-color: $gray-600 !default;\n\n\n// Breadcrumbs\n\n$breadcrumb-font-size: null !default;\n\n$breadcrumb-padding-y: .75rem !default;\n$breadcrumb-padding-x: 1rem !default;\n$breadcrumb-item-padding: .5rem !default;\n\n$breadcrumb-margin-bottom: 1rem !default;\n\n$breadcrumb-bg: $gray-200 !default;\n$breadcrumb-divider-color: $gray-600 !default;\n$breadcrumb-active-color: $gray-600 !default;\n$breadcrumb-divider: quote(\"/\") !default;\n\n$breadcrumb-border-radius: $border-radius !default;\n\n\n// Carousel\n\n$carousel-control-color: $white !default;\n$carousel-control-width: 15% !default;\n$carousel-control-opacity: .5 !default;\n$carousel-control-hover-opacity: .9 !default;\n$carousel-control-transition: opacity .15s ease !default;\n\n$carousel-indicator-width: 30px !default;\n$carousel-indicator-height: 3px !default;\n$carousel-indicator-hit-area-height: 10px !default;\n$carousel-indicator-spacer: 3px !default;\n$carousel-indicator-active-bg: $white !default;\n$carousel-indicator-transition: opacity .6s ease !default;\n\n$carousel-caption-width: 70% !default;\n$carousel-caption-color: $white !default;\n\n$carousel-control-icon-width: 20px !default;\n\n$carousel-control-prev-icon-bg: url(\"data:image/svg+xml,\") !default;\n$carousel-control-next-icon-bg: url(\"data:image/svg+xml,\") !default;\n\n$carousel-transition-duration: .6s !default;\n$carousel-transition: transform $carousel-transition-duration ease-in-out !default; // Define transform transition first if using multiple transitions (e.g., `transform 2s ease, opacity .5s ease-out`)\n\n\n// Spinners\n\n$spinner-width: 2rem !default;\n$spinner-height: $spinner-width !default;\n$spinner-border-width: .25em !default;\n\n$spinner-width-sm: 1rem !default;\n$spinner-height-sm: $spinner-width-sm !default;\n$spinner-border-width-sm: .2em !default;\n\n\n// Close\n\n$close-font-size: $font-size-base * 1.5 !default;\n$close-font-weight: $font-weight-bold !default;\n$close-color: $black !default;\n$close-text-shadow: 0 1px 0 $white !default;\n\n\n// Code\n\n$code-font-size: 87.5% !default;\n$code-color: $pink !default;\n\n$kbd-padding-y: .2rem !default;\n$kbd-padding-x: .4rem !default;\n$kbd-font-size: $code-font-size !default;\n$kbd-color: $white !default;\n$kbd-bg: $gray-900 !default;\n\n$pre-color: $gray-900 !default;\n$pre-scrollable-max-height: 340px !default;\n\n\n// Utilities\n\n$displays: none, inline, inline-block, block, table, table-row, table-cell, flex, inline-flex !default;\n$overflows: auto, hidden !default;\n$positions: static, relative, absolute, fixed, sticky !default;\n\n\n// Printing\n\n$print-page-size: a3 !default;\n$print-body-min-width: map-get($grid-breakpoints, \"lg\") !default;\n","// stylelint-disable property-blacklist, scss/dollar-variable-default\n\n// SCSS RFS mixin\n//\n// Automated font-resizing\n//\n// See https://github.com/twbs/rfs\n\n// Configuration\n\n// Base font size\n$rfs-base-font-size: 1.25rem !default;\n$rfs-font-size-unit: rem !default;\n\n// Breakpoint at where font-size starts decreasing if screen width is smaller\n$rfs-breakpoint: 1200px !default;\n$rfs-breakpoint-unit: px !default;\n\n// Resize font-size based on screen height and width\n$rfs-two-dimensional: false !default;\n\n// Factor of decrease\n$rfs-factor: 10 !default;\n\n@if type-of($rfs-factor) != \"number\" or $rfs-factor <= 1 {\n @error \"`#{$rfs-factor}` is not a valid $rfs-factor, it must be greater than 1.\";\n}\n\n// Generate enable or disable classes. Possibilities: false, \"enable\" or \"disable\"\n$rfs-class: false !default;\n\n// 1 rem = $rfs-rem-value px\n$rfs-rem-value: 16 !default;\n\n// Safari iframe resize bug: https://github.com/twbs/rfs/issues/14\n$rfs-safari-iframe-resize-bug-fix: false !default;\n\n// Disable RFS by setting $enable-responsive-font-sizes to false\n$enable-responsive-font-sizes: true !default;\n\n// Cache $rfs-base-font-size unit\n$rfs-base-font-size-unit: unit($rfs-base-font-size);\n\n// Remove px-unit from $rfs-base-font-size for calculations\n@if $rfs-base-font-size-unit == \"px\" {\n $rfs-base-font-size: $rfs-base-font-size / ($rfs-base-font-size * 0 + 1);\n}\n@else if $rfs-base-font-size-unit == \"rem\" {\n $rfs-base-font-size: $rfs-base-font-size / ($rfs-base-font-size * 0 + 1 / $rfs-rem-value);\n}\n\n// Cache $rfs-breakpoint unit to prevent multiple calls\n$rfs-breakpoint-unit-cache: unit($rfs-breakpoint);\n\n// Remove unit from $rfs-breakpoint for calculations\n@if $rfs-breakpoint-unit-cache == \"px\" {\n $rfs-breakpoint: $rfs-breakpoint / ($rfs-breakpoint * 0 + 1);\n}\n@else if $rfs-breakpoint-unit-cache == \"rem\" or $rfs-breakpoint-unit-cache == \"em\" {\n $rfs-breakpoint: $rfs-breakpoint / ($rfs-breakpoint * 0 + 1 / $rfs-rem-value);\n}\n\n// Responsive font-size mixin\n@mixin rfs($fs, $important: false) {\n // Cache $fs unit\n $fs-unit: if(type-of($fs) == \"number\", unit($fs), false);\n\n // Add !important suffix if needed\n $rfs-suffix: if($important, \" !important\", \"\");\n\n // If $fs isn't a number (like inherit) or $fs has a unit (not px or rem, like 1.5em) or $ is 0, just print the value\n @if not $fs-unit or $fs-unit != \"\" and $fs-unit != \"px\" and $fs-unit != \"rem\" or $fs == 0 {\n font-size: #{$fs}#{$rfs-suffix};\n }\n @else {\n // Variables for storing static and fluid rescaling\n $rfs-static: null;\n $rfs-fluid: null;\n\n // Remove px-unit from $fs for calculations\n @if $fs-unit == \"px\" {\n $fs: $fs / ($fs * 0 + 1);\n }\n @else if $fs-unit == \"rem\" {\n $fs: $fs / ($fs * 0 + 1 / $rfs-rem-value);\n }\n\n // Set default font-size\n @if $rfs-font-size-unit == rem {\n $rfs-static: #{$fs / $rfs-rem-value}rem#{$rfs-suffix};\n }\n @else if $rfs-font-size-unit == px {\n $rfs-static: #{$fs}px#{$rfs-suffix};\n }\n @else {\n @error \"`#{$rfs-font-size-unit}` is not a valid unit for $rfs-font-size-unit. Use `px` or `rem`.\";\n }\n\n // Only add media query if font-size is bigger as the minimum font-size\n // If $rfs-factor == 1, no rescaling will take place\n @if $fs > $rfs-base-font-size and $enable-responsive-font-sizes {\n $min-width: null;\n $variable-unit: null;\n\n // Calculate minimum font-size for given font-size\n $fs-min: $rfs-base-font-size + ($fs - $rfs-base-font-size) / $rfs-factor;\n\n // Calculate difference between given font-size and minimum font-size for given font-size\n $fs-diff: $fs - $fs-min;\n\n // Base font-size formatting\n // No need to check if the unit is valid, because we did that before\n $min-width: if($rfs-font-size-unit == rem, #{$fs-min / $rfs-rem-value}rem, #{$fs-min}px);\n\n // If two-dimensional, use smallest of screen width and height\n $variable-unit: if($rfs-two-dimensional, vmin, vw);\n\n // Calculate the variable width between 0 and $rfs-breakpoint\n $variable-width: #{$fs-diff * 100 / $rfs-breakpoint}#{$variable-unit};\n\n // Set the calculated font-size.\n $rfs-fluid: calc(#{$min-width} + #{$variable-width}) #{$rfs-suffix};\n }\n\n // Rendering\n @if $rfs-fluid == null {\n // Only render static font-size if no fluid font-size is available\n font-size: $rfs-static;\n }\n @else {\n $mq-value: null;\n\n // RFS breakpoint formatting\n @if $rfs-breakpoint-unit == em or $rfs-breakpoint-unit == rem {\n $mq-value: #{$rfs-breakpoint / $rfs-rem-value}#{$rfs-breakpoint-unit};\n }\n @else if $rfs-breakpoint-unit == px {\n $mq-value: #{$rfs-breakpoint}px;\n }\n @else {\n @error \"`#{$rfs-breakpoint-unit}` is not a valid unit for $rfs-breakpoint-unit. Use `px`, `em` or `rem`.\";\n }\n\n @if $rfs-class == \"disable\" {\n // Adding an extra class increases specificity,\n // which prevents the media query to override the font size\n &,\n .disable-responsive-font-size &,\n &.disable-responsive-font-size {\n font-size: $rfs-static;\n }\n }\n @else {\n font-size: $rfs-static;\n }\n\n @if $rfs-two-dimensional {\n @media (max-width: #{$mq-value}), (max-height: #{$mq-value}) {\n @if $rfs-class == \"enable\" {\n .enable-responsive-font-size &,\n &.enable-responsive-font-size {\n font-size: $rfs-fluid;\n }\n }\n @else {\n font-size: $rfs-fluid;\n }\n\n @if $rfs-safari-iframe-resize-bug-fix {\n // stylelint-disable-next-line length-zero-no-unit\n min-width: 0vw;\n }\n }\n }\n @else {\n @media (max-width: #{$mq-value}) {\n @if $rfs-class == \"enable\" {\n .enable-responsive-font-size &,\n &.enable-responsive-font-size {\n font-size: $rfs-fluid;\n }\n }\n @else {\n font-size: $rfs-fluid;\n }\n\n @if $rfs-safari-iframe-resize-bug-fix {\n // stylelint-disable-next-line length-zero-no-unit\n min-width: 0vw;\n }\n }\n }\n }\n }\n}\n\n// The font-size & responsive-font-size mixin uses RFS to rescale font sizes\n@mixin font-size($fs, $important: false) {\n @include rfs($fs, $important);\n}\n\n@mixin responsive-font-size($fs, $important: false) {\n @include rfs($fs, $important);\n}\n","// Hover mixin and `$enable-hover-media-query` are deprecated.\n//\n// Originally added during our alphas and maintained during betas, this mixin was\n// designed to prevent `:hover` stickiness on iOS-an issue where hover styles\n// would persist after initial touch.\n//\n// For backward compatibility, we've kept these mixins and updated them to\n// always return their regular pseudo-classes instead of a shimmed media query.\n//\n// Issue: https://github.com/twbs/bootstrap/issues/25195\n\n@mixin hover() {\n &:hover { @content; }\n}\n\n@mixin hover-focus() {\n &:hover,\n &:focus {\n @content;\n }\n}\n\n@mixin plain-hover-focus() {\n &,\n &:hover,\n &:focus {\n @content;\n }\n}\n\n@mixin hover-focus-active() {\n &:hover,\n &:focus,\n &:active {\n @content;\n }\n}\n","// stylelint-disable declaration-no-important, selector-list-comma-newline-after\n\n//\n// Headings\n//\n\nh1, h2, h3, h4, h5, h6,\n.h1, .h2, .h3, .h4, .h5, .h6 {\n margin-bottom: $headings-margin-bottom;\n font-family: $headings-font-family;\n font-weight: $headings-font-weight;\n line-height: $headings-line-height;\n color: $headings-color;\n}\n\nh1, .h1 { @include font-size($h1-font-size); }\nh2, .h2 { @include font-size($h2-font-size); }\nh3, .h3 { @include font-size($h3-font-size); }\nh4, .h4 { @include font-size($h4-font-size); }\nh5, .h5 { @include font-size($h5-font-size); }\nh6, .h6 { @include font-size($h6-font-size); }\n\n.lead {\n @include font-size($lead-font-size);\n font-weight: $lead-font-weight;\n}\n\n// Type display classes\n.display-1 {\n @include font-size($display1-size);\n font-weight: $display1-weight;\n line-height: $display-line-height;\n}\n.display-2 {\n @include font-size($display2-size);\n font-weight: $display2-weight;\n line-height: $display-line-height;\n}\n.display-3 {\n @include font-size($display3-size);\n font-weight: $display3-weight;\n line-height: $display-line-height;\n}\n.display-4 {\n @include font-size($display4-size);\n font-weight: $display4-weight;\n line-height: $display-line-height;\n}\n\n\n//\n// Horizontal rules\n//\n\nhr {\n margin-top: $hr-margin-y;\n margin-bottom: $hr-margin-y;\n border: 0;\n border-top: $hr-border-width solid $hr-border-color;\n}\n\n\n//\n// Emphasis\n//\n\nsmall,\n.small {\n @include font-size($small-font-size);\n font-weight: $font-weight-normal;\n}\n\nmark,\n.mark {\n padding: $mark-padding;\n background-color: $mark-bg;\n}\n\n\n//\n// Lists\n//\n\n.list-unstyled {\n @include list-unstyled();\n}\n\n// Inline turns list items into inline-block\n.list-inline {\n @include list-unstyled();\n}\n.list-inline-item {\n display: inline-block;\n\n &:not(:last-child) {\n margin-right: $list-inline-padding;\n }\n}\n\n\n//\n// Misc\n//\n\n// Builds on `abbr`\n.initialism {\n @include font-size(90%);\n text-transform: uppercase;\n}\n\n// Blockquotes\n.blockquote {\n margin-bottom: $spacer;\n @include font-size($blockquote-font-size);\n}\n\n.blockquote-footer {\n display: block;\n @include font-size($blockquote-small-font-size);\n color: $blockquote-small-color;\n\n &::before {\n content: \"\\2014\\00A0\"; // em dash, nbsp\n }\n}\n","// Lists\n\n// Unstyled keeps list items block level, just removes default browser padding and list-style\n@mixin list-unstyled() {\n padding-left: 0;\n list-style: none;\n}\n","// Responsive images (ensure images don't scale beyond their parents)\n//\n// This is purposefully opt-in via an explicit class rather than being the default for all ``s.\n// We previously tried the \"images are responsive by default\" approach in Bootstrap v2,\n// and abandoned it in Bootstrap v3 because it breaks lots of third-party widgets (including Google Maps)\n// which weren't expecting the images within themselves to be involuntarily resized.\n// See also https://github.com/twbs/bootstrap/issues/18178\n.img-fluid {\n @include img-fluid();\n}\n\n\n// Image thumbnails\n.img-thumbnail {\n padding: $thumbnail-padding;\n background-color: $thumbnail-bg;\n border: $thumbnail-border-width solid $thumbnail-border-color;\n @include border-radius($thumbnail-border-radius);\n @include box-shadow($thumbnail-box-shadow);\n\n // Keep them at most 100% wide\n @include img-fluid();\n}\n\n//\n// Figures\n//\n\n.figure {\n // Ensures the caption's text aligns with the image.\n display: inline-block;\n}\n\n.figure-img {\n margin-bottom: $spacer / 2;\n line-height: 1;\n}\n\n.figure-caption {\n @include font-size($figure-caption-font-size);\n color: $figure-caption-color;\n}\n","// Image Mixins\n// - Responsive image\n// - Retina image\n\n\n// Responsive image\n//\n// Keep images from scaling beyond the width of their parents.\n\n@mixin img-fluid() {\n // Part 1: Set a maximum relative to the parent\n max-width: 100%;\n // Part 2: Override the height to auto, otherwise images will be stretched\n // when setting a width and height attribute on the img element.\n height: auto;\n}\n\n\n// Retina image\n//\n// Short retina mixin for setting background-image and -size.\n\n@mixin img-retina($file-1x, $file-2x, $width-1x, $height-1x) {\n background-image: url($file-1x);\n\n // Autoprefixer takes care of adding -webkit-min-device-pixel-ratio and -o-min-device-pixel-ratio,\n // but doesn't convert dppx=>dpi.\n // There's no such thing as unprefixed min-device-pixel-ratio since it's nonstandard.\n // Compatibility info: https://caniuse.com/#feat=css-media-resolution\n @media only screen and (min-resolution: 192dpi), // IE9-11 don't support dppx\n only screen and (min-resolution: 2dppx) { // Standardized\n background-image: url($file-2x);\n background-size: $width-1x $height-1x;\n }\n @include deprecate(\"`img-retina()`\", \"v4.3.0\", \"v5\");\n}\n","// stylelint-disable property-blacklist\n// Single side border-radius\n\n@mixin border-radius($radius: $border-radius, $fallback-border-radius: false) {\n @if $enable-rounded {\n border-radius: $radius;\n }\n @else if $fallback-border-radius != false {\n border-radius: $fallback-border-radius;\n }\n}\n\n@mixin border-top-radius($radius) {\n @if $enable-rounded {\n border-top-left-radius: $radius;\n border-top-right-radius: $radius;\n }\n}\n\n@mixin border-right-radius($radius) {\n @if $enable-rounded {\n border-top-right-radius: $radius;\n border-bottom-right-radius: $radius;\n }\n}\n\n@mixin border-bottom-radius($radius) {\n @if $enable-rounded {\n border-bottom-right-radius: $radius;\n border-bottom-left-radius: $radius;\n }\n}\n\n@mixin border-left-radius($radius) {\n @if $enable-rounded {\n border-top-left-radius: $radius;\n border-bottom-left-radius: $radius;\n }\n}\n\n@mixin border-top-left-radius($radius) {\n @if $enable-rounded {\n border-top-left-radius: $radius;\n }\n}\n\n@mixin border-top-right-radius($radius) {\n @if $enable-rounded {\n border-top-right-radius: $radius;\n }\n}\n\n@mixin border-bottom-right-radius($radius) {\n @if $enable-rounded {\n border-bottom-right-radius: $radius;\n }\n}\n\n@mixin border-bottom-left-radius($radius) {\n @if $enable-rounded {\n border-bottom-left-radius: $radius;\n }\n}\n","// Inline code\ncode {\n @include font-size($code-font-size);\n color: $code-color;\n word-wrap: break-word;\n\n // Streamline the style when inside anchors to avoid broken underline and more\n a > & {\n color: inherit;\n }\n}\n\n// User input typically entered via keyboard\nkbd {\n padding: $kbd-padding-y $kbd-padding-x;\n @include font-size($kbd-font-size);\n color: $kbd-color;\n background-color: $kbd-bg;\n @include border-radius($border-radius-sm);\n @include box-shadow($kbd-box-shadow);\n\n kbd {\n padding: 0;\n @include font-size(100%);\n font-weight: $nested-kbd-font-weight;\n @include box-shadow(none);\n }\n}\n\n// Blocks of code\npre {\n display: block;\n @include font-size($code-font-size);\n color: $pre-color;\n\n // Account for some code outputs that place code tags in pre tags\n code {\n @include font-size(inherit);\n color: inherit;\n word-break: normal;\n }\n}\n\n// Enable scrollable blocks of code\n.pre-scrollable {\n max-height: $pre-scrollable-max-height;\n overflow-y: scroll;\n}\n","// Container widths\n//\n// Set the container width, and override it for fixed navbars in media queries.\n\n@if $enable-grid-classes {\n // Single container class with breakpoint max-widths\n .container {\n @include make-container();\n @include make-container-max-widths();\n }\n\n // 100% wide container at all breakpoints\n .container-fluid {\n @include make-container();\n }\n\n // Responsive containers that are 100% wide until a breakpoint\n @each $breakpoint, $container-max-width in $container-max-widths {\n .container-#{$breakpoint} {\n @extend .container-fluid;\n }\n\n @include media-breakpoint-up($breakpoint, $grid-breakpoints) {\n %responsive-container-#{$breakpoint} {\n max-width: $container-max-width;\n }\n\n @each $name, $width in $grid-breakpoints {\n @if ($container-max-width > $width or $breakpoint == $name) {\n .container#{breakpoint-infix($name, $grid-breakpoints)} {\n @extend %responsive-container-#{$breakpoint};\n }\n }\n }\n }\n }\n}\n\n\n// Row\n//\n// Rows contain your columns.\n\n@if $enable-grid-classes {\n .row {\n @include make-row();\n }\n\n // Remove the negative margin from default .row, then the horizontal padding\n // from all immediate children columns (to prevent runaway style inheritance).\n .no-gutters {\n margin-right: 0;\n margin-left: 0;\n\n > .col,\n > [class*=\"col-\"] {\n padding-right: 0;\n padding-left: 0;\n }\n }\n}\n\n// Columns\n//\n// Common styles for small and large grid columns\n\n@if $enable-grid-classes {\n @include make-grid-columns();\n}\n","/// Grid system\n//\n// Generate semantic grid columns with these mixins.\n\n@mixin make-container($gutter: $grid-gutter-width) {\n width: 100%;\n padding-right: $gutter / 2;\n padding-left: $gutter / 2;\n margin-right: auto;\n margin-left: auto;\n}\n\n// For each breakpoint, define the maximum width of the container in a media query\n@mixin make-container-max-widths(\n $max-widths: $container-max-widths,\n $breakpoints: $grid-breakpoints\n) {\n @each $breakpoint, $container-max-width in $max-widths {\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n max-width: $container-max-width;\n }\n }\n}\n\n@mixin make-row($gutter: $grid-gutter-width) {\n display: flex;\n flex-wrap: wrap;\n margin-right: -$gutter / 2;\n margin-left: -$gutter / 2;\n}\n\n@mixin make-col-ready($gutter: $grid-gutter-width) {\n position: relative;\n // Prevent columns from becoming too narrow when at smaller grid tiers by\n // always setting `width: 100%;`. This works because we use `flex` values\n // later on to override this initial width.\n width: 100%;\n padding-right: $gutter / 2;\n padding-left: $gutter / 2;\n}\n\n@mixin make-col($size, $columns: $grid-columns) {\n flex: 0 0 percentage($size / $columns);\n // Add a `max-width` to ensure content within each column does not blow out\n // the width of the column. Applies to IE10+ and Firefox. Chrome and Safari\n // do not appear to require this.\n max-width: percentage($size / $columns);\n}\n\n@mixin make-col-auto() {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%; // Reset earlier grid tiers\n}\n\n@mixin make-col-offset($size, $columns: $grid-columns) {\n $num: $size / $columns;\n margin-right: if($num == 0, 0, percentage($num));\n}\n\n// Row columns\n//\n// Specify on a parent element(e.g., .row) to force immediate children into NN\n// numberof columns. Supports wrapping to new lines, but does not do a Masonry\n// style grid.\n@mixin row-cols($count) {\n & > * {\n flex: 0 0 100% / $count;\n max-width: 100% / $count;\n }\n}\n","// Breakpoint viewport sizes and media queries.\n//\n// Breakpoints are defined as a map of (name: minimum width), order from small to large:\n//\n// (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px)\n//\n// The map defined in the `$grid-breakpoints` global variable is used as the `$breakpoints` argument by default.\n\n// Name of the next breakpoint, or null for the last breakpoint.\n//\n// >> breakpoint-next(sm)\n// md\n// >> breakpoint-next(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// md\n// >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl))\n// md\n@function breakpoint-next($name, $breakpoints: $grid-breakpoints, $breakpoint-names: map-keys($breakpoints)) {\n $n: index($breakpoint-names, $name);\n @return if($n != null and $n < length($breakpoint-names), nth($breakpoint-names, $n + 1), null);\n}\n\n// Minimum breakpoint width. Null for the smallest (first) breakpoint.\n//\n// >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 576px\n@function breakpoint-min($name, $breakpoints: $grid-breakpoints) {\n $min: map-get($breakpoints, $name);\n @return if($min != 0, $min, null);\n}\n\n// Maximum breakpoint width. Null for the largest (last) breakpoint.\n// The maximum value is calculated as the minimum of the next one less 0.02px\n// to work around the limitations of `min-` and `max-` prefixes and viewports with fractional widths.\n// See https://www.w3.org/TR/mediaqueries-4/#mq-min-max\n// Uses 0.02px rather than 0.01px to work around a current rounding bug in Safari.\n// See https://bugs.webkit.org/show_bug.cgi?id=178261\n//\n// >> breakpoint-max(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 767.98px\n@function breakpoint-max($name, $breakpoints: $grid-breakpoints) {\n $next: breakpoint-next($name, $breakpoints);\n @return if($next, breakpoint-min($next, $breakpoints) - .02, null);\n}\n\n// Returns a blank string if smallest breakpoint, otherwise returns the name with a dash in front.\n// Useful for making responsive utilities.\n//\n// >> breakpoint-infix(xs, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"\" (Returns a blank string)\n// >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"-sm\"\n@function breakpoint-infix($name, $breakpoints: $grid-breakpoints) {\n @return if(breakpoint-min($name, $breakpoints) == null, \"\", \"-#{$name}\");\n}\n\n// Media of at least the minimum breakpoint width. No query for the smallest breakpoint.\n// Makes the @content apply to the given breakpoint and wider.\n@mixin media-breakpoint-up($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n @if $min {\n @media (min-width: $min) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media of at most the maximum breakpoint width. No query for the largest breakpoint.\n// Makes the @content apply to the given breakpoint and narrower.\n@mixin media-breakpoint-down($name, $breakpoints: $grid-breakpoints) {\n $max: breakpoint-max($name, $breakpoints);\n @if $max {\n @media (max-width: $max) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media that spans multiple breakpoint widths.\n// Makes the @content apply between the min and max breakpoints\n@mixin media-breakpoint-between($lower, $upper, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($lower, $breakpoints);\n $max: breakpoint-max($upper, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($lower, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($upper, $breakpoints) {\n @content;\n }\n }\n}\n\n// Media between the breakpoint's minimum and maximum widths.\n// No minimum for the smallest breakpoint, and no maximum for the largest one.\n// Makes the @content apply only to the given breakpoint, not viewports any wider or narrower.\n@mixin media-breakpoint-only($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n $max: breakpoint-max($name, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($name, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($name, $breakpoints) {\n @content;\n }\n }\n}\n","// Framework grid generation\n//\n// Used only by Bootstrap to generate the correct number of grid classes given\n// any value of `$grid-columns`.\n\n@mixin make-grid-columns($columns: $grid-columns, $gutter: $grid-gutter-width, $breakpoints: $grid-breakpoints) {\n // Common properties for all breakpoints\n %grid-column {\n position: relative;\n width: 100%;\n padding-right: $gutter / 2;\n padding-left: $gutter / 2;\n }\n\n @each $breakpoint in map-keys($breakpoints) {\n $infix: breakpoint-infix($breakpoint, $breakpoints);\n\n // Allow columns to stretch full width below their breakpoints\n @for $i from 1 through $columns {\n .col#{$infix}-#{$i} {\n @extend %grid-column;\n }\n }\n .col#{$infix},\n .col#{$infix}-auto {\n @extend %grid-column;\n }\n\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n // Provide basic `.col-{bp}` classes for equal-width flexbox columns\n .col#{$infix} {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n\n @for $i from 1 through $grid-row-columns {\n .row-cols#{$infix}-#{$i} {\n @include row-cols($i);\n }\n }\n\n .col#{$infix}-auto {\n @include make-col-auto();\n }\n\n @for $i from 1 through $columns {\n .col#{$infix}-#{$i} {\n @include make-col($i, $columns);\n }\n }\n\n .order#{$infix}-first { order: -1; }\n\n .order#{$infix}-last { order: $columns + 1; }\n\n @for $i from 0 through $columns {\n .order#{$infix}-#{$i} { order: $i; }\n }\n\n // `$columns - 1` because offsetting by the width of an entire row isn't possible\n @for $i from 0 through ($columns - 1) {\n @if not ($infix == \"\" and $i == 0) { // Avoid emitting useless .offset-0\n .offset#{$infix}-#{$i} {\n @include make-col-offset($i, $columns);\n }\n }\n }\n }\n }\n}\n","//\n// Basic Bootstrap table\n//\n\n.table {\n width: 100%;\n margin-bottom: $spacer;\n color: $table-color;\n background-color: $table-bg; // Reset for nesting within parents with `background-color`.\n\n th,\n td {\n padding: $table-cell-padding;\n vertical-align: top;\n border-top: $table-border-width solid $table-border-color;\n }\n\n thead th {\n vertical-align: bottom;\n border-bottom: (2 * $table-border-width) solid $table-border-color;\n }\n\n tbody + tbody {\n border-top: (2 * $table-border-width) solid $table-border-color;\n }\n}\n\n\n//\n// Condensed table w/ half padding\n//\n\n.table-sm {\n th,\n td {\n padding: $table-cell-padding-sm;\n }\n}\n\n\n// Border versions\n//\n// Add or remove borders all around the table and between all the columns.\n\n.table-bordered {\n border: $table-border-width solid $table-border-color;\n\n th,\n td {\n border: $table-border-width solid $table-border-color;\n }\n\n thead {\n th,\n td {\n border-bottom-width: 2 * $table-border-width;\n }\n }\n}\n\n.table-borderless {\n th,\n td,\n thead th,\n tbody + tbody {\n border: 0;\n }\n}\n\n// Zebra-striping\n//\n// Default zebra-stripe styles (alternating gray and transparent backgrounds)\n\n.table-striped {\n tbody tr:nth-of-type(#{$table-striped-order}) {\n background-color: $table-accent-bg;\n }\n}\n\n\n// Hover effect\n//\n// Placed here since it has to come after the potential zebra striping\n\n.table-hover {\n tbody tr {\n @include hover() {\n color: $table-hover-color;\n background-color: $table-hover-bg;\n }\n }\n}\n\n\n// Table backgrounds\n//\n// Exact selectors below required to override `.table-striped` and prevent\n// inheritance to nested tables.\n\n@each $color, $value in $theme-colors {\n @include table-row-variant($color, theme-color-level($color, $table-bg-level), theme-color-level($color, $table-border-level));\n}\n\n@include table-row-variant(active, $table-active-bg);\n\n\n// Dark styles\n//\n// Same table markup, but inverted color scheme: dark background and light text.\n\n// stylelint-disable-next-line no-duplicate-selectors\n.table {\n .thead-dark {\n th {\n color: $table-dark-color;\n background-color: $table-dark-bg;\n border-color: $table-dark-border-color;\n }\n }\n\n .thead-light {\n th {\n color: $table-head-color;\n background-color: $table-head-bg;\n border-color: $table-border-color;\n }\n }\n}\n\n.table-dark {\n color: $table-dark-color;\n background-color: $table-dark-bg;\n\n th,\n td,\n thead th {\n border-color: $table-dark-border-color;\n }\n\n &.table-bordered {\n border: 0;\n }\n\n &.table-striped {\n tbody tr:nth-of-type(#{$table-striped-order}) {\n background-color: $table-dark-accent-bg;\n }\n }\n\n &.table-hover {\n tbody tr {\n @include hover() {\n color: $table-dark-hover-color;\n background-color: $table-dark-hover-bg;\n }\n }\n }\n}\n\n\n// Responsive tables\n//\n// Generate series of `.table-responsive-*` classes for configuring the screen\n// size of where your table will overflow.\n\n.table-responsive {\n @each $breakpoint in map-keys($grid-breakpoints) {\n $next: breakpoint-next($breakpoint, $grid-breakpoints);\n $infix: breakpoint-infix($next, $grid-breakpoints);\n\n &#{$infix} {\n @include media-breakpoint-down($breakpoint) {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n\n // Prevent double border on horizontal scroll due to use of `display: block;`\n > .table-bordered {\n border: 0;\n }\n }\n }\n }\n}\n","// Tables\n\n@mixin table-row-variant($state, $background, $border: null) {\n // Exact selectors below required to override `.table-striped` and prevent\n // inheritance to nested tables.\n .table-#{$state} {\n &,\n > th,\n > td {\n background-color: $background;\n }\n\n @if $border != null {\n th,\n td,\n thead th,\n tbody + tbody {\n border-color: $border;\n }\n }\n }\n\n // Hover states for `.table-hover`\n // Note: this is not available for cells or rows within `thead` or `tfoot`.\n .table-hover {\n $hover-background: darken($background, 5%);\n\n .table-#{$state} {\n @include hover() {\n background-color: $hover-background;\n\n > td,\n > th {\n background-color: $hover-background;\n }\n }\n }\n }\n}\n","// Bootstrap functions\n//\n// Utility mixins and functions for evaluating source code across our variables, maps, and mixins.\n\n// Ascending\n// Used to evaluate Sass maps like our grid breakpoints.\n@mixin _assert-ascending($map, $map-name) {\n $prev-key: null;\n $prev-num: null;\n @each $key, $num in $map {\n @if $prev-num == null or unit($num) == \"%\" or unit($prev-num) == \"%\" {\n // Do nothing\n } @else if not comparable($prev-num, $num) {\n @warn \"Potentially invalid value for #{$map-name}: This map must be in ascending order, but key '#{$key}' has value #{$num} whose unit makes it incomparable to #{$prev-num}, the value of the previous key '#{$prev-key}' !\";\n } @else if $prev-num >= $num {\n @warn \"Invalid value for #{$map-name}: This map must be in ascending order, but key '#{$key}' has value #{$num} which isn't greater than #{$prev-num}, the value of the previous key '#{$prev-key}' !\";\n }\n $prev-key: $key;\n $prev-num: $num;\n }\n}\n\n// Starts at zero\n// Used to ensure the min-width of the lowest breakpoint starts at 0.\n@mixin _assert-starts-at-zero($map, $map-name: \"$grid-breakpoints\") {\n $values: map-values($map);\n $first-value: nth($values, 1);\n @if $first-value != 0 {\n @warn \"First breakpoint in #{$map-name} must start at 0, but starts at #{$first-value}.\";\n }\n}\n\n// Replace `$search` with `$replace` in `$string`\n// Used on our SVG icon backgrounds for custom forms.\n//\n// @author Hugo Giraudel\n// @param {String} $string - Initial string\n// @param {String} $search - Substring to replace\n// @param {String} $replace ('') - New value\n// @return {String} - Updated string\n@function str-replace($string, $search, $replace: \"\") {\n $index: str-index($string, $search);\n\n @if $index {\n @return str-slice($string, 1, $index - 1) + $replace + str-replace(str-slice($string, $index + str-length($search)), $search, $replace);\n }\n\n @return $string;\n}\n\n// See https://codepen.io/kevinweber/pen/dXWoRw\n@function escape-svg($string) {\n @if str-index($string, \"data:image/svg+xml\") {\n @each $char, $encoded in $escaped-characters {\n $string: str-replace($string, $char, $encoded);\n }\n }\n\n @return $string;\n}\n\n// Color contrast\n@function color-yiq($color, $dark: $yiq-text-dark, $light: $yiq-text-light) {\n $r: red($color);\n $g: green($color);\n $b: blue($color);\n\n $yiq: (($r * 299) + ($g * 587) + ($b * 114)) / 1000;\n\n @if ($yiq >= $yiq-contrasted-threshold) {\n @return $dark;\n } @else {\n @return $light;\n }\n}\n\n// Retrieve color Sass maps\n@function color($key: \"blue\") {\n @return map-get($colors, $key);\n}\n\n@function theme-color($key: \"primary\") {\n @return map-get($theme-colors, $key);\n}\n\n@function gray($key: \"100\") {\n @return map-get($grays, $key);\n}\n\n// Request a theme color level\n@function theme-color-level($color-name: \"primary\", $level: 0) {\n $color: theme-color($color-name);\n $color-base: if($level > 0, $black, $white);\n $level: abs($level);\n\n @return mix($color-base, $color, $level * $theme-color-interval);\n}\n\n// Return valid calc\n@function add($value1, $value2, $return-calc: true) {\n @if $value1 == null {\n @return $value2;\n }\n\n @if $value2 == null {\n @return $value1;\n }\n\n @if type-of($value1) == number and type-of($value2) == number and comparable($value1, $value2) {\n @return $value1 + $value2;\n }\n\n @return if($return-calc == true, calc(#{$value1} + #{$value2}), $value1 + unquote(\" + \") + $value2);\n}\n\n@function subtract($value1, $value2, $return-calc: true) {\n @if $value1 == null and $value2 == null {\n @return null;\n }\n\n @if $value1 == null {\n @return -$value2;\n }\n\n @if $value2 == null {\n @return $value1;\n }\n\n @if type-of($value1) == number and type-of($value2) == number and comparable($value1, $value2) {\n @return $value1 - $value2;\n }\n\n @return if($return-calc == true, calc(#{$value1} - #{$value2}), $value1 + unquote(\" - \") + $value2);\n}\n","// stylelint-disable selector-no-qualifying-type\n\n//\n// Textual form controls\n//\n\n.form-control {\n display: block;\n width: 100%;\n height: $input-height;\n padding: $input-padding-y $input-padding-x;\n font-family: $input-font-family;\n @include font-size($input-font-size);\n font-weight: $input-font-weight;\n line-height: $input-line-height;\n color: $input-color;\n background-color: $input-bg;\n background-clip: padding-box;\n border: $input-border-width solid $input-border-color;\n\n // Note: This has no effect on `s in CSS.\n @include border-radius($input-border-radius, 0);\n\n @include box-shadow($input-box-shadow);\n @include transition($input-transition);\n\n // Unstyle the caret on ` receives focus\n // in IE and (under certain conditions) Edge, as it looks bad and cannot be made to\n // match the appearance of the native widget.\n // See https://github.com/twbs/bootstrap/issues/19398.\n color: $input-color;\n background-color: $input-bg;\n }\n}\n\n// Make file inputs better match text inputs by forcing them to new lines.\n.form-control-file,\n.form-control-range {\n display: block;\n width: 100%;\n}\n\n\n//\n// Labels\n//\n\n// For use with horizontal and inline forms, when you need the label (or legend)\n// text to align with the form controls.\n.col-form-label {\n padding-top: add($input-padding-y, $input-border-width);\n padding-bottom: add($input-padding-y, $input-border-width);\n margin-bottom: 0; // Override the `` elements\na.btn.disabled,\nfieldset:disabled a.btn {\n pointer-events: none;\n}\n\n\n//\n// Alternate buttons\n//\n\n@each $color, $value in $theme-colors {\n .btn-#{$color} {\n @include button-variant($value, $value);\n }\n}\n\n@each $color, $value in $theme-colors {\n .btn-outline-#{$color} {\n @include button-outline-variant($value);\n }\n}\n\n\n//\n// Link buttons\n//\n\n// Make a button look and behave like a link\n.btn-link {\n font-weight: $font-weight-normal;\n color: $link-color;\n text-decoration: $link-decoration;\n\n @include hover() {\n color: $link-hover-color;\n text-decoration: $link-hover-decoration;\n }\n\n &:focus,\n &.focus {\n text-decoration: $link-hover-decoration;\n box-shadow: none;\n }\n\n &:disabled,\n &.disabled {\n color: $btn-link-disabled-color;\n pointer-events: none;\n }\n\n // No need for an active state here\n}\n\n\n//\n// Button Sizes\n//\n\n.btn-lg {\n @include button-size($btn-padding-y-lg, $btn-padding-x-lg, $btn-font-size-lg, $btn-line-height-lg, $btn-border-radius-lg);\n}\n\n.btn-sm {\n @include button-size($btn-padding-y-sm, $btn-padding-x-sm, $btn-font-size-sm, $btn-line-height-sm, $btn-border-radius-sm);\n}\n\n\n//\n// Block button\n//\n\n.btn-block {\n display: block;\n width: 100%;\n\n // Vertically space out multiple block buttons\n + .btn-block {\n margin-top: $btn-block-spacing-y;\n }\n}\n\n// Specificity overrides\ninput[type=\"submit\"],\ninput[type=\"reset\"],\ninput[type=\"button\"] {\n &.btn-block {\n width: 100%;\n }\n}\n","// Button variants\n//\n// Easily pump out default styles, as well as :hover, :focus, :active,\n// and disabled options for all buttons\n\n@mixin button-variant($background, $border, $hover-background: darken($background, 7.5%), $hover-border: darken($border, 10%), $active-background: darken($background, 10%), $active-border: darken($border, 12.5%)) {\n color: color-yiq($background);\n @include gradient-bg($background);\n border-color: $border;\n @include box-shadow($btn-box-shadow);\n\n @include hover() {\n color: color-yiq($hover-background);\n @include gradient-bg($hover-background);\n border-color: $hover-border;\n }\n\n &:focus,\n &.focus {\n color: color-yiq($hover-background);\n @include gradient-bg($hover-background);\n border-color: $hover-border;\n // Avoid using mixin so we can pass custom focus shadow properly\n @if $enable-shadows {\n box-shadow: $btn-box-shadow, 0 0 0 $btn-focus-width rgba(mix(color-yiq($background), $border, 15%), .5);\n } @else {\n box-shadow: 0 0 0 $btn-focus-width rgba(mix(color-yiq($background), $border, 15%), .5);\n }\n }\n\n // Disabled comes first so active can properly restyle\n &.disabled,\n &:disabled {\n color: color-yiq($background);\n background-color: $background;\n border-color: $border;\n // Remove CSS gradients if they're enabled\n @if $enable-gradients {\n background-image: none;\n }\n }\n\n &:not(:disabled):not(.disabled):active,\n &:not(:disabled):not(.disabled).active,\n .show > &.dropdown-toggle {\n color: color-yiq($active-background);\n background-color: $active-background;\n @if $enable-gradients {\n background-image: none; // Remove the gradient for the pressed/active state\n }\n border-color: $active-border;\n\n &:focus {\n // Avoid using mixin so we can pass custom focus shadow properly\n @if $enable-shadows and $btn-active-box-shadow != none {\n box-shadow: $btn-active-box-shadow, 0 0 0 $btn-focus-width rgba(mix(color-yiq($background), $border, 15%), .5);\n } @else {\n box-shadow: 0 0 0 $btn-focus-width rgba(mix(color-yiq($background), $border, 15%), .5);\n }\n }\n }\n}\n\n@mixin button-outline-variant($color, $color-hover: color-yiq($color), $active-background: $color, $active-border: $color) {\n color: $color;\n border-color: $color;\n\n @include hover() {\n color: $color-hover;\n background-color: $active-background;\n border-color: $active-border;\n }\n\n &:focus,\n &.focus {\n box-shadow: 0 0 0 $btn-focus-width rgba($color, .5);\n }\n\n &.disabled,\n &:disabled {\n color: $color;\n background-color: transparent;\n }\n\n &:not(:disabled):not(.disabled):active,\n &:not(:disabled):not(.disabled).active,\n .show > &.dropdown-toggle {\n color: color-yiq($active-background);\n background-color: $active-background;\n border-color: $active-border;\n\n &:focus {\n // Avoid using mixin so we can pass custom focus shadow properly\n @if $enable-shadows and $btn-active-box-shadow != none {\n box-shadow: $btn-active-box-shadow, 0 0 0 $btn-focus-width rgba($color, .5);\n } @else {\n box-shadow: 0 0 0 $btn-focus-width rgba($color, .5);\n }\n }\n }\n}\n\n// Button sizes\n@mixin button-size($padding-y, $padding-x, $font-size, $line-height, $border-radius) {\n padding: $padding-y $padding-x;\n @include font-size($font-size);\n line-height: $line-height;\n // Manually declare to provide an override to the browser default\n @include border-radius($border-radius, 0);\n}\n",".fade {\n @include transition($transition-fade);\n\n &:not(.show) {\n opacity: 0;\n }\n}\n\n.collapse {\n &:not(.show) {\n display: none;\n }\n}\n\n.collapsing {\n position: relative;\n height: 0;\n overflow: hidden;\n @include transition($transition-collapse);\n}\n","// The dropdown wrapper (`
    `)\n.dropup,\n.dropright,\n.dropdown,\n.dropleft {\n position: relative;\n}\n\n.dropdown-toggle {\n white-space: nowrap;\n\n // Generate the caret automatically\n @include caret();\n}\n\n// The dropdown menu\n.dropdown-menu {\n position: absolute;\n top: 100%;\n left: 0;\n z-index: $zindex-dropdown;\n display: none; // none by default, but block on \"open\" of the menu\n float: left;\n min-width: $dropdown-min-width;\n padding: $dropdown-padding-y 0;\n margin: $dropdown-spacer 0 0; // override default ul\n @include font-size($dropdown-font-size);\n color: $dropdown-color;\n text-align: left; // Ensures proper alignment if parent has it changed (e.g., modal footer)\n list-style: none;\n background-color: $dropdown-bg;\n background-clip: padding-box;\n border: $dropdown-border-width solid $dropdown-border-color;\n @include border-radius($dropdown-border-radius);\n @include box-shadow($dropdown-box-shadow);\n}\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n .dropdown-menu#{$infix}-left {\n right: auto;\n left: 0;\n }\n\n .dropdown-menu#{$infix}-right {\n right: 0;\n left: auto;\n }\n }\n}\n\n// Allow for dropdowns to go bottom up (aka, dropup-menu)\n// Just add .dropup after the standard .dropdown class and you're set.\n.dropup {\n .dropdown-menu {\n top: auto;\n bottom: 100%;\n margin-top: 0;\n margin-bottom: $dropdown-spacer;\n }\n\n .dropdown-toggle {\n @include caret(up);\n }\n}\n\n.dropright {\n .dropdown-menu {\n top: 0;\n right: auto;\n left: 100%;\n margin-top: 0;\n margin-left: $dropdown-spacer;\n }\n\n .dropdown-toggle {\n @include caret(right);\n &::after {\n vertical-align: 0;\n }\n }\n}\n\n.dropleft {\n .dropdown-menu {\n top: 0;\n right: 100%;\n left: auto;\n margin-top: 0;\n margin-right: $dropdown-spacer;\n }\n\n .dropdown-toggle {\n @include caret(left);\n &::before {\n vertical-align: 0;\n }\n }\n}\n\n// When enabled Popper.js, reset basic dropdown position\n// stylelint-disable-next-line no-duplicate-selectors\n.dropdown-menu {\n &[x-placement^=\"top\"],\n &[x-placement^=\"right\"],\n &[x-placement^=\"bottom\"],\n &[x-placement^=\"left\"] {\n right: auto;\n bottom: auto;\n }\n}\n\n// Dividers (basically an `
    `) within the dropdown\n.dropdown-divider {\n @include nav-divider($dropdown-divider-bg, $dropdown-divider-margin-y, true);\n}\n\n// Links, buttons, and more within the dropdown menu\n//\n// `
    ',trigger:"hover focus",title:"",delay:0,html:!1,selector:!1,placement:"top",offset:0,container:!1,fallbackPlacement:"flip",boundary:"scrollParent",customClass:"",sanitize:!0,sanitizeFn:null,whiteList:Qt,popperConfig:null},Zt={HIDE:"hide.bs.tooltip",HIDDEN:"hidden.bs.tooltip",SHOW:"show.bs.tooltip",SHOWN:"shown.bs.tooltip",INSERTED:"inserted.bs.tooltip",CLICK:"click.bs.tooltip",FOCUSIN:"focusin.bs.tooltip",FOCUSOUT:"focusout.bs.tooltip",MOUSEENTER:"mouseenter.bs.tooltip",MOUSELEAVE:"mouseleave.bs.tooltip"},te=function(){function t(t,e){if("undefined"==typeof It)throw new TypeError("Bootstrap's tooltips require Popper (https://popper.js.org)");this._isEnabled=!0,this._timeout=0,this._hoverState="",this._activeTrigger={},this._popper=null,this.element=t,this.config=this._getConfig(e),this.tip=null,this._setListeners()}var e=t.prototype;return e.enable=function(){this._isEnabled=!0},e.disable=function(){this._isEnabled=!1},e.toggleEnabled=function(){this._isEnabled=!this._isEnabled},e.toggle=function(t){if(this._isEnabled)if(t){var e=this.constructor.DATA_KEY,n=i.default(t.currentTarget).data(e);n||(n=new this.constructor(t.currentTarget,this._getDelegateConfig()),i.default(t.currentTarget).data(e,n)),n._activeTrigger.click=!n._activeTrigger.click,n._isWithActiveTrigger()?n._enter(null,n):n._leave(null,n)}else{if(i.default(this.getTipElement()).hasClass("show"))return void this._leave(null,this);this._enter(null,this)}},e.dispose=function(){clearTimeout(this._timeout),i.default.removeData(this.element,this.constructor.DATA_KEY),i.default(this.element).off(this.constructor.EVENT_KEY),i.default(this.element).closest(".modal").off("hide.bs.modal",this._hideModalHandler),this.tip&&i.default(this.tip).remove(),this._isEnabled=null,this._timeout=null,this._hoverState=null,this._activeTrigger=null,this._popper&&this._popper.destroy(),this._popper=null,this.element=null,this.config=null,this.tip=null},e.show=function(){var t=this;if("none"===i.default(this.element).css("display"))throw new Error("Please use show on visible elements");var e=i.default.Event(this.constructor.Event.SHOW);if(this.isWithContent()&&this._isEnabled){i.default(this.element).trigger(e);var n=l.findShadowRoot(this.element),o=i.default.contains(null!==n?n:this.element.ownerDocument.documentElement,this.element);if(e.isDefaultPrevented()||!o)return;var r=this.getTipElement(),a=l.getUID(this.constructor.NAME);r.setAttribute("id",a),this.element.setAttribute("aria-describedby",a),this.setContent(),this.config.animation&&i.default(r).addClass("fade");var s="function"==typeof this.config.placement?this.config.placement.call(this,r,this.element):this.config.placement,u=this._getAttachment(s);this.addAttachmentClass(u);var f=this._getContainer();i.default(r).data(this.constructor.DATA_KEY,this),i.default.contains(this.element.ownerDocument.documentElement,this.tip)||i.default(r).appendTo(f),i.default(this.element).trigger(this.constructor.Event.INSERTED),this._popper=new It(this.element,r,this._getPopperConfig(u)),i.default(r).addClass("show"),i.default(r).addClass(this.config.customClass),"ontouchstart"in document.documentElement&&i.default(document.body).children().on("mouseover",null,i.default.noop);var d=function(){t.config.animation&&t._fixTransition();var e=t._hoverState;t._hoverState=null,i.default(t.element).trigger(t.constructor.Event.SHOWN),"out"===e&&t._leave(null,t)};if(i.default(this.tip).hasClass("fade")){var c=l.getTransitionDurationFromElement(this.tip);i.default(this.tip).one(l.TRANSITION_END,d).emulateTransitionEnd(c)}else d()}},e.hide=function(t){var e=this,n=this.getTipElement(),o=i.default.Event(this.constructor.Event.HIDE),r=function(){"show"!==e._hoverState&&n.parentNode&&n.parentNode.removeChild(n),e._cleanTipClass(),e.element.removeAttribute("aria-describedby"),i.default(e.element).trigger(e.constructor.Event.HIDDEN),null!==e._popper&&e._popper.destroy(),t&&t()};if(i.default(this.element).trigger(o),!o.isDefaultPrevented()){if(i.default(n).removeClass("show"),"ontouchstart"in document.documentElement&&i.default(document.body).children().off("mouseover",null,i.default.noop),this._activeTrigger.click=!1,this._activeTrigger.focus=!1,this._activeTrigger.hover=!1,i.default(this.tip).hasClass("fade")){var a=l.getTransitionDurationFromElement(n);i.default(n).one(l.TRANSITION_END,r).emulateTransitionEnd(a)}else r();this._hoverState=""}},e.update=function(){null!==this._popper&&this._popper.scheduleUpdate()},e.isWithContent=function(){return Boolean(this.getTitle())},e.addAttachmentClass=function(t){i.default(this.getTipElement()).addClass("bs-tooltip-"+t)},e.getTipElement=function(){return this.tip=this.tip||i.default(this.config.template)[0],this.tip},e.setContent=function(){var t=this.getTipElement();this.setElementContent(i.default(t.querySelectorAll(".tooltip-inner")),this.getTitle()),i.default(t).removeClass("fade show")},e.setElementContent=function(t,e){"object"!=typeof e||!e.nodeType&&!e.jquery?this.config.html?(this.config.sanitize&&(e=Vt(e,this.config.whiteList,this.config.sanitizeFn)),t.html(e)):t.text(e):this.config.html?i.default(e).parent().is(t)||t.empty().append(e):t.text(i.default(e).text())},e.getTitle=function(){var t=this.element.getAttribute("data-original-title");return t||(t="function"==typeof this.config.title?this.config.title.call(this.element):this.config.title),t},e._getPopperConfig=function(t){var e=this;return a({},{placement:t,modifiers:{offset:this._getOffset(),flip:{behavior:this.config.fallbackPlacement},arrow:{element:".arrow"},preventOverflow:{boundariesElement:this.config.boundary}},onCreate:function(t){t.originalPlacement!==t.placement&&e._handlePopperPlacementChange(t)},onUpdate:function(t){return e._handlePopperPlacementChange(t)}},this.config.popperConfig)},e._getOffset=function(){var t=this,e={};return"function"==typeof this.config.offset?e.fn=function(e){return e.offsets=a({},e.offsets,t.config.offset(e.offsets,t.element)||{}),e}:e.offset=this.config.offset,e},e._getContainer=function(){return!1===this.config.container?document.body:l.isElement(this.config.container)?i.default(this.config.container):i.default(document).find(this.config.container)},e._getAttachment=function(t){return $t[t.toUpperCase()]},e._setListeners=function(){var t=this;this.config.trigger.split(" ").forEach((function(e){if("click"===e)i.default(t.element).on(t.constructor.Event.CLICK,t.config.selector,(function(e){return t.toggle(e)}));else if("manual"!==e){var n="hover"===e?t.constructor.Event.MOUSEENTER:t.constructor.Event.FOCUSIN,o="hover"===e?t.constructor.Event.MOUSELEAVE:t.constructor.Event.FOCUSOUT;i.default(t.element).on(n,t.config.selector,(function(e){return t._enter(e)})).on(o,t.config.selector,(function(e){return t._leave(e)}))}})),this._hideModalHandler=function(){t.element&&t.hide()},i.default(this.element).closest(".modal").on("hide.bs.modal",this._hideModalHandler),this.config.selector?this.config=a({},this.config,{trigger:"manual",selector:""}):this._fixTitle()},e._fixTitle=function(){var t=typeof this.element.getAttribute("data-original-title");(this.element.getAttribute("title")||"string"!==t)&&(this.element.setAttribute("data-original-title",this.element.getAttribute("title")||""),this.element.setAttribute("title",""))},e._enter=function(t,e){var n=this.constructor.DATA_KEY;(e=e||i.default(t.currentTarget).data(n))||(e=new this.constructor(t.currentTarget,this._getDelegateConfig()),i.default(t.currentTarget).data(n,e)),t&&(e._activeTrigger["focusin"===t.type?"focus":"hover"]=!0),i.default(e.getTipElement()).hasClass("show")||"show"===e._hoverState?e._hoverState="show":(clearTimeout(e._timeout),e._hoverState="show",e.config.delay&&e.config.delay.show?e._timeout=setTimeout((function(){"show"===e._hoverState&&e.show()}),e.config.delay.show):e.show())},e._leave=function(t,e){var n=this.constructor.DATA_KEY;(e=e||i.default(t.currentTarget).data(n))||(e=new this.constructor(t.currentTarget,this._getDelegateConfig()),i.default(t.currentTarget).data(n,e)),t&&(e._activeTrigger["focusout"===t.type?"focus":"hover"]=!1),e._isWithActiveTrigger()||(clearTimeout(e._timeout),e._hoverState="out",e.config.delay&&e.config.delay.hide?e._timeout=setTimeout((function(){"out"===e._hoverState&&e.hide()}),e.config.delay.hide):e.hide())},e._isWithActiveTrigger=function(){for(var t in this._activeTrigger)if(this._activeTrigger[t])return!0;return!1},e._getConfig=function(t){var e=i.default(this.element).data();return Object.keys(e).forEach((function(t){-1!==Kt.indexOf(t)&&delete e[t]})),"number"==typeof(t=a({},this.constructor.Default,e,"object"==typeof t&&t?t:{})).delay&&(t.delay={show:t.delay,hide:t.delay}),"number"==typeof t.title&&(t.title=t.title.toString()),"number"==typeof t.content&&(t.content=t.content.toString()),l.typeCheckConfig(Yt,t,this.constructor.DefaultType),t.sanitize&&(t.template=Vt(t.template,t.whiteList,t.sanitizeFn)),t},e._getDelegateConfig=function(){var t={};if(this.config)for(var e in this.config)this.constructor.Default[e]!==this.config[e]&&(t[e]=this.config[e]);return t},e._cleanTipClass=function(){var t=i.default(this.getTipElement()),e=t.attr("class").match(Xt);null!==e&&e.length&&t.removeClass(e.join(""))},e._handlePopperPlacementChange=function(t){this.tip=t.instance.popper,this._cleanTipClass(),this.addAttachmentClass(this._getAttachment(t.placement))},e._fixTransition=function(){var t=this.getTipElement(),e=this.config.animation;null===t.getAttribute("x-placement")&&(i.default(t).removeClass("fade"),this.config.animation=!1,this.hide(),this.show(),this.config.animation=e)},t._jQueryInterface=function(e){return this.each((function(){var n=i.default(this),o=n.data("bs.tooltip"),r="object"==typeof e&&e;if((o||!/dispose|hide/.test(e))&&(o||(o=new t(this,r),n.data("bs.tooltip",o)),"string"==typeof e)){if("undefined"==typeof o[e])throw new TypeError('No method named "'+e+'"');o[e]()}}))},r(t,null,[{key:"VERSION",get:function(){return"4.6.0"}},{key:"Default",get:function(){return Jt}},{key:"NAME",get:function(){return Yt}},{key:"DATA_KEY",get:function(){return"bs.tooltip"}},{key:"Event",get:function(){return Zt}},{key:"EVENT_KEY",get:function(){return".bs.tooltip"}},{key:"DefaultType",get:function(){return Gt}}]),t}();i.default.fn[Yt]=te._jQueryInterface,i.default.fn[Yt].Constructor=te,i.default.fn[Yt].noConflict=function(){return i.default.fn[Yt]=zt,te._jQueryInterface};var ee="popover",ne=i.default.fn[ee],ie=new RegExp("(^|\\s)bs-popover\\S+","g"),oe=a({},te.Default,{placement:"right",trigger:"click",content:"",template:''}),re=a({},te.DefaultType,{content:"(string|element|function)"}),ae={HIDE:"hide.bs.popover",HIDDEN:"hidden.bs.popover",SHOW:"show.bs.popover",SHOWN:"shown.bs.popover",INSERTED:"inserted.bs.popover",CLICK:"click.bs.popover",FOCUSIN:"focusin.bs.popover",FOCUSOUT:"focusout.bs.popover",MOUSEENTER:"mouseenter.bs.popover",MOUSELEAVE:"mouseleave.bs.popover"},se=function(t){var e,n;function o(){return t.apply(this,arguments)||this}n=t,(e=o).prototype=Object.create(n.prototype),e.prototype.constructor=e,e.__proto__=n;var a=o.prototype;return a.isWithContent=function(){return this.getTitle()||this._getContent()},a.addAttachmentClass=function(t){i.default(this.getTipElement()).addClass("bs-popover-"+t)},a.getTipElement=function(){return this.tip=this.tip||i.default(this.config.template)[0],this.tip},a.setContent=function(){var t=i.default(this.getTipElement());this.setElementContent(t.find(".popover-header"),this.getTitle());var e=this._getContent();"function"==typeof e&&(e=e.call(this.element)),this.setElementContent(t.find(".popover-body"),e),t.removeClass("fade show")},a._getContent=function(){return this.element.getAttribute("data-content")||this.config.content},a._cleanTipClass=function(){var t=i.default(this.getTipElement()),e=t.attr("class").match(ie);null!==e&&e.length>0&&t.removeClass(e.join(""))},o._jQueryInterface=function(t){return this.each((function(){var e=i.default(this).data("bs.popover"),n="object"==typeof t?t:null;if((e||!/dispose|hide/.test(t))&&(e||(e=new o(this,n),i.default(this).data("bs.popover",e)),"string"==typeof t)){if("undefined"==typeof e[t])throw new TypeError('No method named "'+t+'"');e[t]()}}))},r(o,null,[{key:"VERSION",get:function(){return"4.6.0"}},{key:"Default",get:function(){return oe}},{key:"NAME",get:function(){return ee}},{key:"DATA_KEY",get:function(){return"bs.popover"}},{key:"Event",get:function(){return ae}},{key:"EVENT_KEY",get:function(){return".bs.popover"}},{key:"DefaultType",get:function(){return re}}]),o}(te);i.default.fn[ee]=se._jQueryInterface,i.default.fn[ee].Constructor=se,i.default.fn[ee].noConflict=function(){return i.default.fn[ee]=ne,se._jQueryInterface};var le="scrollspy",ue=i.default.fn[le],fe={offset:10,method:"auto",target:""},de={offset:"number",method:"string",target:"(string|element)"},ce=function(){function t(t,e){var n=this;this._element=t,this._scrollElement="BODY"===t.tagName?window:t,this._config=this._getConfig(e),this._selector=this._config.target+" .nav-link,"+this._config.target+" .list-group-item,"+this._config.target+" .dropdown-item",this._offsets=[],this._targets=[],this._activeTarget=null,this._scrollHeight=0,i.default(this._scrollElement).on("scroll.bs.scrollspy",(function(t){return n._process(t)})),this.refresh(),this._process()}var e=t.prototype;return e.refresh=function(){var t=this,e=this._scrollElement===this._scrollElement.window?"offset":"position",n="auto"===this._config.method?e:this._config.method,o="position"===n?this._getScrollTop():0;this._offsets=[],this._targets=[],this._scrollHeight=this._getScrollHeight(),[].slice.call(document.querySelectorAll(this._selector)).map((function(t){var e,r=l.getSelectorFromElement(t);if(r&&(e=document.querySelector(r)),e){var a=e.getBoundingClientRect();if(a.width||a.height)return[i.default(e)[n]().top+o,r]}return null})).filter((function(t){return t})).sort((function(t,e){return t[0]-e[0]})).forEach((function(e){t._offsets.push(e[0]),t._targets.push(e[1])}))},e.dispose=function(){i.default.removeData(this._element,"bs.scrollspy"),i.default(this._scrollElement).off(".bs.scrollspy"),this._element=null,this._scrollElement=null,this._config=null,this._selector=null,this._offsets=null,this._targets=null,this._activeTarget=null,this._scrollHeight=null},e._getConfig=function(t){if("string"!=typeof(t=a({},fe,"object"==typeof t&&t?t:{})).target&&l.isElement(t.target)){var e=i.default(t.target).attr("id");e||(e=l.getUID(le),i.default(t.target).attr("id",e)),t.target="#"+e}return l.typeCheckConfig(le,t,de),t},e._getScrollTop=function(){return this._scrollElement===window?this._scrollElement.pageYOffset:this._scrollElement.scrollTop},e._getScrollHeight=function(){return this._scrollElement.scrollHeight||Math.max(document.body.scrollHeight,document.documentElement.scrollHeight)},e._getOffsetHeight=function(){return this._scrollElement===window?window.innerHeight:this._scrollElement.getBoundingClientRect().height},e._process=function(){var t=this._getScrollTop()+this._config.offset,e=this._getScrollHeight(),n=this._config.offset+e-this._getOffsetHeight();if(this._scrollHeight!==e&&this.refresh(),t>=n){var i=this._targets[this._targets.length-1];this._activeTarget!==i&&this._activate(i)}else{if(this._activeTarget&&t0)return this._activeTarget=null,void this._clear();for(var o=this._offsets.length;o--;){this._activeTarget!==this._targets[o]&&t>=this._offsets[o]&&("undefined"==typeof this._offsets[o+1]||t li > .active":".active";n=(n=i.default.makeArray(i.default(o).find(a)))[n.length-1]}var s=i.default.Event("hide.bs.tab",{relatedTarget:this._element}),u=i.default.Event("show.bs.tab",{relatedTarget:n});if(n&&i.default(n).trigger(s),i.default(this._element).trigger(u),!u.isDefaultPrevented()&&!s.isDefaultPrevented()){r&&(e=document.querySelector(r)),this._activate(this._element,o);var f=function(){var e=i.default.Event("hidden.bs.tab",{relatedTarget:t._element}),o=i.default.Event("shown.bs.tab",{relatedTarget:n});i.default(n).trigger(e),i.default(t._element).trigger(o)};e?this._activate(e,e.parentNode,f):f()}}},e.dispose=function(){i.default.removeData(this._element,"bs.tab"),this._element=null},e._activate=function(t,e,n){var o=this,r=(!e||"UL"!==e.nodeName&&"OL"!==e.nodeName?i.default(e).children(".active"):i.default(e).find("> li > .active"))[0],a=n&&r&&i.default(r).hasClass("fade"),s=function(){return o._transitionComplete(t,r,n)};if(r&&a){var u=l.getTransitionDurationFromElement(r);i.default(r).removeClass("show").one(l.TRANSITION_END,s).emulateTransitionEnd(u)}else s()},e._transitionComplete=function(t,e,n){if(e){i.default(e).removeClass("active");var o=i.default(e.parentNode).find("> .dropdown-menu .active")[0];o&&i.default(o).removeClass("active"),"tab"===e.getAttribute("role")&&e.setAttribute("aria-selected",!1)}if(i.default(t).addClass("active"),"tab"===t.getAttribute("role")&&t.setAttribute("aria-selected",!0),l.reflow(t),t.classList.contains("fade")&&t.classList.add("show"),t.parentNode&&i.default(t.parentNode).hasClass("dropdown-menu")){var r=i.default(t).closest(".dropdown")[0];if(r){var a=[].slice.call(r.querySelectorAll(".dropdown-toggle"));i.default(a).addClass("active")}t.setAttribute("aria-expanded",!0)}n&&n()},t._jQueryInterface=function(e){return this.each((function(){var n=i.default(this),o=n.data("bs.tab");if(o||(o=new t(this),n.data("bs.tab",o)),"string"==typeof e){if("undefined"==typeof o[e])throw new TypeError('No method named "'+e+'"');o[e]()}}))},r(t,null,[{key:"VERSION",get:function(){return"4.6.0"}}]),t}();i.default(document).on("click.bs.tab.data-api",'[data-toggle="tab"], [data-toggle="pill"], [data-toggle="list"]',(function(t){t.preventDefault(),pe._jQueryInterface.call(i.default(this),"show")})),i.default.fn.tab=pe._jQueryInterface,i.default.fn.tab.Constructor=pe,i.default.fn.tab.noConflict=function(){return i.default.fn.tab=he,pe._jQueryInterface};var me=i.default.fn.toast,ge={animation:"boolean",autohide:"boolean",delay:"number"},ve={animation:!0,autohide:!0,delay:500},_e=function(){function t(t,e){this._element=t,this._config=this._getConfig(e),this._timeout=null,this._setListeners()}var e=t.prototype;return e.show=function(){var t=this,e=i.default.Event("show.bs.toast");if(i.default(this._element).trigger(e),!e.isDefaultPrevented()){this._clearTimeout(),this._config.animation&&this._element.classList.add("fade");var n=function(){t._element.classList.remove("showing"),t._element.classList.add("show"),i.default(t._element).trigger("shown.bs.toast"),t._config.autohide&&(t._timeout=setTimeout((function(){t.hide()}),t._config.delay))};if(this._element.classList.remove("hide"),l.reflow(this._element),this._element.classList.add("showing"),this._config.animation){var o=l.getTransitionDurationFromElement(this._element);i.default(this._element).one(l.TRANSITION_END,n).emulateTransitionEnd(o)}else n()}},e.hide=function(){if(this._element.classList.contains("show")){var t=i.default.Event("hide.bs.toast");i.default(this._element).trigger(t),t.isDefaultPrevented()||this._close()}},e.dispose=function(){this._clearTimeout(),this._element.classList.contains("show")&&this._element.classList.remove("show"),i.default(this._element).off("click.dismiss.bs.toast"),i.default.removeData(this._element,"bs.toast"),this._element=null,this._config=null},e._getConfig=function(t){return t=a({},ve,i.default(this._element).data(),"object"==typeof t&&t?t:{}),l.typeCheckConfig("toast",t,this.constructor.DefaultType),t},e._setListeners=function(){var t=this;i.default(this._element).on("click.dismiss.bs.toast",'[data-dismiss="toast"]',(function(){return t.hide()}))},e._close=function(){var t=this,e=function(){t._element.classList.add("hide"),i.default(t._element).trigger("hidden.bs.toast")};if(this._element.classList.remove("show"),this._config.animation){var n=l.getTransitionDurationFromElement(this._element);i.default(this._element).one(l.TRANSITION_END,e).emulateTransitionEnd(n)}else e()},e._clearTimeout=function(){clearTimeout(this._timeout),this._timeout=null},t._jQueryInterface=function(e){return this.each((function(){var n=i.default(this),o=n.data("bs.toast");if(o||(o=new t(this,"object"==typeof e&&e),n.data("bs.toast",o)),"string"==typeof e){if("undefined"==typeof o[e])throw new TypeError('No method named "'+e+'"');o[e](this)}}))},r(t,null,[{key:"VERSION",get:function(){return"4.6.0"}},{key:"DefaultType",get:function(){return ge}},{key:"Default",get:function(){return ve}}]),t}();i.default.fn.toast=_e._jQueryInterface,i.default.fn.toast.Constructor=_e,i.default.fn.toast.noConflict=function(){return i.default.fn.toast=me,_e._jQueryInterface},t.Alert=d,t.Button=h,t.Carousel=y,t.Collapse=S,t.Dropdown=Ft,t.Modal=qt,t.Popover=se,t.Scrollspy=ce,t.Tab=pe,t.Toast=_e,t.Tooltip=te,t.Util=l,Object.defineProperty(t,"__esModule",{value:!0})})); +//# sourceMappingURL=bootstrap.bundle.min.js.map \ No newline at end of file diff --git a/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap/js/bootstrap.bundle.min.js.map b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap/js/bootstrap.bundle.min.js.map new file mode 100644 index 0000000000..7fcd06e5c7 --- /dev/null +++ b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/wwwroot/libs/bootstrap/js/bootstrap.bundle.min.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["../../js/src/util.js","../../js/src/alert.js","../../js/src/button.js","../../js/src/carousel.js","../../js/src/collapse.js","../../node_modules/popper.js/dist/esm/popper.js","../../js/src/dropdown.js","../../js/src/modal.js","../../js/src/tools/sanitizer.js","../../js/src/tooltip.js","../../js/src/popover.js","../../js/src/scrollspy.js","../../js/src/tab.js","../../js/src/toast.js"],"names":["transitionEndEmulator","duration","_this","this","called","$","one","Util","TRANSITION_END","setTimeout","triggerTransitionEnd","getUID","prefix","Math","random","document","getElementById","getSelectorFromElement","element","selector","getAttribute","hrefAttr","trim","querySelector","_","getTransitionDurationFromElement","transitionDuration","css","transitionDelay","floatTransitionDuration","parseFloat","floatTransitionDelay","split","reflow","offsetHeight","trigger","supportsTransitionEnd","Boolean","isElement","obj","nodeType","typeCheckConfig","componentName","config","configTypes","property","Object","prototype","hasOwnProperty","call","expectedTypes","value","valueType","toString","match","toLowerCase","RegExp","test","Error","toUpperCase","findShadowRoot","documentElement","attachShadow","getRootNode","root","ShadowRoot","parentNode","jQueryDetection","TypeError","version","fn","jquery","emulateTransitionEnd","event","special","bindType","delegateType","handle","target","is","handleObj","handler","apply","arguments","NAME","JQUERY_NO_CONFLICT","Alert","_element","close","rootElement","_getRootElement","_triggerCloseEvent","isDefaultPrevented","_removeElement","dispose","removeData","parent","closest","closeEvent","Event","removeClass","hasClass","_destroyElement","detach","remove","_jQueryInterface","each","$element","data","_handleDismiss","alertInstance","preventDefault","on","Constructor","noConflict","Button","shouldAvoidTriggerChange","toggle","triggerChangeEvent","addAriaPressed","input","type","checked","classList","contains","activeElement","focus","hasAttribute","setAttribute","toggleClass","avoidTriggerChange","button","initialButton","inputBtn","tagName","window","buttons","slice","querySelectorAll","i","len","length","add","EVENT_KEY","Default","interval","keyboard","slide","pause","wrap","touch","DefaultType","PointerType","TOUCH","PEN","Carousel","_items","_interval","_activeElement","_isPaused","_isSliding","touchTimeout","touchStartX","touchDeltaX","_config","_getConfig","_indicatorsElement","_touchSupported","navigator","maxTouchPoints","_pointerEvent","PointerEvent","MSPointerEvent","_addEventListeners","next","_slide","nextWhenVisible","hidden","prev","cycle","clearInterval","_updateInterval","setInterval","visibilityState","bind","to","index","activeIndex","_getItemIndex","direction","off","_extends","_handleSwipe","absDeltax","abs","_this2","_keydown","_addTouchEventListeners","_this3","start","originalEvent","pointerType","clientX","touches","end","clearTimeout","e","move","which","indexOf","_getItemByDirection","isNextDirection","isPrevDirection","lastItemIndex","itemIndex","_triggerSlideEvent","relatedTarget","eventDirectionName","targetIndex","fromIndex","slideEvent","from","_setActiveIndicatorElement","indicators","nextIndicator","children","addClass","elementInterval","parseInt","defaultInterval","directionalClassName","orderClassName","_this4","activeElementIndex","nextElement","nextElementIndex","isCycling","slidEvent","CLASS_NAME_ACTIVE","action","ride","_dataApiClickHandler","slideIndex","carousels","$carousel","Collapse","_isTransitioning","_triggerArray","id","toggleList","elem","filterElement","filter","foundElem","_selector","push","_parent","_getParent","_addAriaAndCollapsedClass","hide","show","actives","activesData","not","startEvent","dimension","_getDimension","style","attr","setTransitioning","scrollSize","CLASS_NAME_COLLAPSE","getBoundingClientRect","triggerArrayLength","isTransitioning","_getTargetFromElement","triggerArray","isOpen","currentTarget","$trigger","selectors","$target","isBrowser","timeoutDuration","longerTimeoutBrowsers","userAgent","debounce","Promise","resolve","then","scheduled","isFunction","functionToCheck","getStyleComputedProperty","ownerDocument","defaultView","getComputedStyle","getParentNode","nodeName","host","getScrollParent","body","_getStyleComputedProp","overflow","overflowX","overflowY","getReferenceNode","reference","referenceNode","isIE11","MSInputMethodContext","documentMode","isIE10","isIE","getOffsetParent","noOffsetParent","offsetParent","nextElementSibling","getRoot","node","findCommonOffsetParent","element1","element2","order","compareDocumentPosition","Node","DOCUMENT_POSITION_FOLLOWING","range","createRange","setStart","setEnd","commonAncestorContainer","firstElementChild","element1root","getScroll","side","undefined","upperSide","html","scrollingElement","includeScroll","rect","subtract","scrollTop","scrollLeft","modifier","top","bottom","left","right","getBordersSize","styles","axis","sideA","sideB","getSize","computedStyle","max","getWindowSizes","height","width","classCallCheck","instance","createClass","defineProperties","props","descriptor","enumerable","configurable","writable","defineProperty","key","protoProps","staticProps","assign","source","getClientRect","offsets","result","sizes","clientWidth","clientHeight","horizScrollbar","offsetWidth","vertScrollbar","getOffsetRectRelativeToArbitraryNode","fixedPosition","isHTML","childrenRect","parentRect","scrollParent","borderTopWidth","borderLeftWidth","marginTop","marginLeft","getViewportOffsetRectRelativeToArtbitraryNode","excludeScroll","relativeOffset","innerWidth","innerHeight","offset","isFixed","getFixedPositionOffsetParent","parentElement","el","getBoundaries","popper","padding","boundariesElement","boundaries","boundariesNode","_getWindowSizes","isPaddingNumber","getArea","_ref","computeAutoPlacement","placement","refRect","rects","sortedAreas","keys","map","area","sort","a","b","filteredAreas","_ref2","computedPlacement","variation","getReferenceOffsets","state","commonOffsetParent","getOuterSizes","x","marginBottom","y","marginRight","getOppositePlacement","hash","replace","matched","getPopperOffsets","referenceOffsets","popperRect","popperOffsets","isHoriz","mainSide","secondarySide","measurement","secondaryMeasurement","find","arr","check","Array","runModifiers","modifiers","ends","prop","findIndex","cur","forEach","console","warn","enabled","update","isDestroyed","arrowStyles","attributes","flipped","options","positionFixed","flip","originalPlacement","position","isCreated","onUpdate","onCreate","isModifierEnabled","modifierName","some","name","getSupportedPropertyName","prefixes","upperProp","charAt","toCheck","destroy","removeAttribute","willChange","disableEventListeners","removeOnDestroy","removeChild","getWindow","setupEventListeners","updateBound","addEventListener","passive","scrollElement","attachToScrollParents","callback","scrollParents","isBody","eventsEnabled","enableEventListeners","scheduleUpdate","cancelAnimationFrame","removeEventListener","isNumeric","n","isNaN","isFinite","setStyles","unit","isFirefox","isModifierRequired","requestingName","requestedName","requesting","isRequired","_requesting","requested","placements","validPlacements","clockwise","counter","concat","reverse","BEHAVIORS","parseOffset","basePlacement","useHeight","fragments","frag","divider","search","splitRegex","ops","op","mergeWithPrevious","reduce","str","toValue","index2","Defaults","shift","shiftvariation","_data$offsets","isVertical","shiftOffsets","preventOverflow","transformProp","popperStyles","transform","priority","primary","escapeWithReference","secondary","min","keepTogether","floor","opSide","arrow","_data$offsets$arrow","arrowElement","sideCapitalized","altSide","arrowElementSize","center","popperMarginSide","popperBorderSide","sideValue","round","placementOpposite","flipOrder","behavior","step","refOffsets","overlapsRef","overflowsLeft","overflowsRight","overflowsTop","overflowsBottom","overflowsBoundaries","flippedVariationByRef","flipVariations","flippedVariationByContent","flipVariationsByContent","flippedVariation","getOppositeVariation","inner","subtractLength","bound","computeStyle","legacyGpuAccelerationOption","gpuAcceleration","offsetParentRect","shouldRound","noRound","v","referenceWidth","popperWidth","isVariation","horizontalToInteger","verticalToInteger","getRoundedOffsets","devicePixelRatio","prefixedProperty","invertTop","invertLeft","x-placement","applyStyle","onLoad","modifierOptions","Popper","requestAnimationFrame","Utils","global","PopperUtils","REGEXP_KEYDOWN","ARROW_UP_KEYCODE","boundary","display","popperConfig","Dropdown","_popper","_menu","_getMenuElement","_inNavbar","_detectNavbar","disabled","isActive","_clearMenus","usePopper","showEvent","_getParentFromElement","referenceElement","_getPopperConfig","noop","hideEvent","stopPropagation","constructor","_getPlacement","$parentDropdown","_getOffset","toggles","context","clickEvent","dropdownMenu","_dataApiKeydownHandler","items","item","EVENT_CLICK_DATA_API","backdrop","Modal","_dialog","_backdrop","_isShown","_isBodyOverflowing","_ignoreBackdropClick","_scrollbarWidth","_checkScrollbar","_setScrollbar","_adjustDialog","_setEscapeEvent","_setResizeEvent","_showBackdrop","_showElement","transition","_hideModal","htmlElement","handleUpdate","_triggerBackdropTransition","hideEventPrevented","isModalOverflowing","scrollHeight","modalTransitionDuration","modalBody","ELEMENT_NODE","appendChild","_enforceFocus","shownEvent","transitionComplete","_this5","has","_this6","_this7","_this8","_resetAdjustments","_resetScrollbar","_removeBackdrop","_this9","animate","createElement","className","appendTo","backdropTransitionDuration","callbackRemove","paddingLeft","paddingRight","_getScrollbarWidth","_this10","fixedContent","stickyContent","actualPadding","calculatedPadding","actualMargin","calculatedMargin","elements","margin","scrollDiv","scrollbarWidth","_this11","uriAttrs","DefaultWhitelist","*","br","col","code","div","em","hr","h1","h2","h3","h4","h5","h6","img","li","ol","p","pre","s","small","span","sub","sup","strong","u","ul","SAFE_URL_PATTERN","DATA_URL_PATTERN","sanitizeHtml","unsafeHtml","whiteList","sanitizeFn","createdDocument","DOMParser","parseFromString","whitelistKeys","_loop","elName","attributeList","whitelistedAttributes","allowedAttributeList","attrName","nodeValue","regExp","attrRegex","allowedAttribute","innerHTML","BSCLS_PREFIX_REGEX","DISALLOWED_ATTRIBUTES","animation","template","title","delay","container","fallbackPlacement","customClass","sanitize","AttachmentMap","AUTO","TOP","RIGHT","BOTTOM","LEFT","HIDE","HIDDEN","SHOW","SHOWN","INSERTED","CLICK","FOCUSIN","FOCUSOUT","MOUSEENTER","MOUSELEAVE","Tooltip","_isEnabled","_timeout","_hoverState","_activeTrigger","tip","_setListeners","enable","disable","toggleEnabled","dataKey","DATA_KEY","_getDelegateConfig","click","_isWithActiveTrigger","_enter","_leave","getTipElement","_hideModalHandler","isWithContent","shadowRoot","isInTheDom","tipId","setContent","attachment","_getAttachment","addAttachmentClass","_getContainer","complete","_fixTransition","prevHoverState","_cleanTipClass","getTitle","CLASS_PREFIX","setElementContent","CLASS_NAME_FADE","content","text","empty","append","_handlePopperPlacementChange","eventIn","eventOut","_fixTitle","titleType","dataAttributes","dataAttr","$tip","tabClass","join","popperData","initConfigAnimation","Popover","_getContent","method","ScrollSpy","_scrollElement","_offsets","_targets","_activeTarget","_scrollHeight","_process","refresh","autoMethod","offsetMethod","offsetBase","_getScrollTop","_getScrollHeight","targetSelector","targetBCR","pageYOffset","_getOffsetHeight","maxScroll","_activate","_clear","queries","$link","parents","SELECTOR_NAV_LINKS","scrollSpys","$spy","Tab","previous","listElement","itemSelector","makeArray","hiddenEvent","active","_transitionComplete","dropdownChild","dropdownElement","dropdownToggleList","$this","autohide","Toast","_clearTimeout","_close"],"mappings":"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","sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.6.0): util.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\n\n/**\n * ------------------------------------------------------------------------\n * Private TransitionEnd Helpers\n * ------------------------------------------------------------------------\n */\n\nconst TRANSITION_END = 'transitionend'\nconst MAX_UID = 1000000\nconst MILLISECONDS_MULTIPLIER = 1000\n\n// Shoutout AngusCroll (https://goo.gl/pxwQGp)\nfunction toType(obj) {\n if (obj === null || typeof obj === 'undefined') {\n return `${obj}`\n }\n\n return {}.toString.call(obj).match(/\\s([a-z]+)/i)[1].toLowerCase()\n}\n\nfunction getSpecialTransitionEndEvent() {\n return {\n bindType: TRANSITION_END,\n delegateType: TRANSITION_END,\n handle(event) {\n if ($(event.target).is(this)) {\n return event.handleObj.handler.apply(this, arguments) // eslint-disable-line prefer-rest-params\n }\n\n return undefined\n }\n }\n}\n\nfunction transitionEndEmulator(duration) {\n let called = false\n\n $(this).one(Util.TRANSITION_END, () => {\n called = true\n })\n\n setTimeout(() => {\n if (!called) {\n Util.triggerTransitionEnd(this)\n }\n }, duration)\n\n return this\n}\n\nfunction setTransitionEndSupport() {\n $.fn.emulateTransitionEnd = transitionEndEmulator\n $.event.special[Util.TRANSITION_END] = getSpecialTransitionEndEvent()\n}\n\n/**\n * --------------------------------------------------------------------------\n * Public Util Api\n * --------------------------------------------------------------------------\n */\n\nconst Util = {\n TRANSITION_END: 'bsTransitionEnd',\n\n getUID(prefix) {\n do {\n prefix += ~~(Math.random() * MAX_UID) // \"~~\" acts like a faster Math.floor() here\n } while (document.getElementById(prefix))\n\n return prefix\n },\n\n getSelectorFromElement(element) {\n let selector = element.getAttribute('data-target')\n\n if (!selector || selector === '#') {\n const hrefAttr = element.getAttribute('href')\n selector = hrefAttr && hrefAttr !== '#' ? hrefAttr.trim() : ''\n }\n\n try {\n return document.querySelector(selector) ? selector : null\n } catch (_) {\n return null\n }\n },\n\n getTransitionDurationFromElement(element) {\n if (!element) {\n return 0\n }\n\n // Get transition-duration of the element\n let transitionDuration = $(element).css('transition-duration')\n let transitionDelay = $(element).css('transition-delay')\n\n const floatTransitionDuration = parseFloat(transitionDuration)\n const floatTransitionDelay = parseFloat(transitionDelay)\n\n // Return 0 if element or transition duration is not found\n if (!floatTransitionDuration && !floatTransitionDelay) {\n return 0\n }\n\n // If multiple durations are defined, take the first\n transitionDuration = transitionDuration.split(',')[0]\n transitionDelay = transitionDelay.split(',')[0]\n\n return (parseFloat(transitionDuration) + parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER\n },\n\n reflow(element) {\n return element.offsetHeight\n },\n\n triggerTransitionEnd(element) {\n $(element).trigger(TRANSITION_END)\n },\n\n supportsTransitionEnd() {\n return Boolean(TRANSITION_END)\n },\n\n isElement(obj) {\n return (obj[0] || obj).nodeType\n },\n\n typeCheckConfig(componentName, config, configTypes) {\n for (const property in configTypes) {\n if (Object.prototype.hasOwnProperty.call(configTypes, property)) {\n const expectedTypes = configTypes[property]\n const value = config[property]\n const valueType = value && Util.isElement(value) ?\n 'element' : toType(value)\n\n if (!new RegExp(expectedTypes).test(valueType)) {\n throw new Error(\n `${componentName.toUpperCase()}: ` +\n `Option \"${property}\" provided type \"${valueType}\" ` +\n `but expected type \"${expectedTypes}\".`)\n }\n }\n }\n },\n\n findShadowRoot(element) {\n if (!document.documentElement.attachShadow) {\n return null\n }\n\n // Can find the shadow root otherwise it'll return the document\n if (typeof element.getRootNode === 'function') {\n const root = element.getRootNode()\n return root instanceof ShadowRoot ? root : null\n }\n\n if (element instanceof ShadowRoot) {\n return element\n }\n\n // when we don't find a shadow root\n if (!element.parentNode) {\n return null\n }\n\n return Util.findShadowRoot(element.parentNode)\n },\n\n jQueryDetection() {\n if (typeof $ === 'undefined') {\n throw new TypeError('Bootstrap\\'s JavaScript requires jQuery. jQuery must be included before Bootstrap\\'s JavaScript.')\n }\n\n const version = $.fn.jquery.split(' ')[0].split('.')\n const minMajor = 1\n const ltMajor = 2\n const minMinor = 9\n const minPatch = 1\n const maxMajor = 4\n\n if (version[0] < ltMajor && version[1] < minMinor || version[0] === minMajor && version[1] === minMinor && version[2] < minPatch || version[0] >= maxMajor) {\n throw new Error('Bootstrap\\'s JavaScript requires at least jQuery v1.9.1 but less than v4.0.0')\n }\n }\n}\n\nUtil.jQueryDetection()\nsetTransitionEndSupport()\n\nexport default Util\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.6.0): alert.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Util from './util'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'alert'\nconst VERSION = '4.6.0'\nconst DATA_KEY = 'bs.alert'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\n\nconst SELECTOR_DISMISS = '[data-dismiss=\"alert\"]'\n\nconst EVENT_CLOSE = `close${EVENT_KEY}`\nconst EVENT_CLOSED = `closed${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_ALERT = 'alert'\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Alert {\n constructor(element) {\n this._element = element\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\n close(element) {\n let rootElement = this._element\n if (element) {\n rootElement = this._getRootElement(element)\n }\n\n const customEvent = this._triggerCloseEvent(rootElement)\n\n if (customEvent.isDefaultPrevented()) {\n return\n }\n\n this._removeElement(rootElement)\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Private\n\n _getRootElement(element) {\n const selector = Util.getSelectorFromElement(element)\n let parent = false\n\n if (selector) {\n parent = document.querySelector(selector)\n }\n\n if (!parent) {\n parent = $(element).closest(`.${CLASS_NAME_ALERT}`)[0]\n }\n\n return parent\n }\n\n _triggerCloseEvent(element) {\n const closeEvent = $.Event(EVENT_CLOSE)\n\n $(element).trigger(closeEvent)\n return closeEvent\n }\n\n _removeElement(element) {\n $(element).removeClass(CLASS_NAME_SHOW)\n\n if (!$(element).hasClass(CLASS_NAME_FADE)) {\n this._destroyElement(element)\n return\n }\n\n const transitionDuration = Util.getTransitionDurationFromElement(element)\n\n $(element)\n .one(Util.TRANSITION_END, event => this._destroyElement(element, event))\n .emulateTransitionEnd(transitionDuration)\n }\n\n _destroyElement(element) {\n $(element)\n .detach()\n .trigger(EVENT_CLOSED)\n .remove()\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n const $element = $(this)\n let data = $element.data(DATA_KEY)\n\n if (!data) {\n data = new Alert(this)\n $element.data(DATA_KEY, data)\n }\n\n if (config === 'close') {\n data[config](this)\n }\n })\n }\n\n static _handleDismiss(alertInstance) {\n return function (event) {\n if (event) {\n event.preventDefault()\n }\n\n alertInstance.close(this)\n }\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document).on(\n EVENT_CLICK_DATA_API,\n SELECTOR_DISMISS,\n Alert._handleDismiss(new Alert())\n)\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Alert._jQueryInterface\n$.fn[NAME].Constructor = Alert\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Alert._jQueryInterface\n}\n\nexport default Alert\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.6.0): button.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'button'\nconst VERSION = '4.6.0'\nconst DATA_KEY = 'bs.button'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\n\nconst CLASS_NAME_ACTIVE = 'active'\nconst CLASS_NAME_BUTTON = 'btn'\nconst CLASS_NAME_FOCUS = 'focus'\n\nconst SELECTOR_DATA_TOGGLE_CARROT = '[data-toggle^=\"button\"]'\nconst SELECTOR_DATA_TOGGLES = '[data-toggle=\"buttons\"]'\nconst SELECTOR_DATA_TOGGLE = '[data-toggle=\"button\"]'\nconst SELECTOR_DATA_TOGGLES_BUTTONS = '[data-toggle=\"buttons\"] .btn'\nconst SELECTOR_INPUT = 'input:not([type=\"hidden\"])'\nconst SELECTOR_ACTIVE = '.active'\nconst SELECTOR_BUTTON = '.btn'\n\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_FOCUS_BLUR_DATA_API = `focus${EVENT_KEY}${DATA_API_KEY} ` +\n `blur${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Button {\n constructor(element) {\n this._element = element\n this.shouldAvoidTriggerChange = false\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\n toggle() {\n let triggerChangeEvent = true\n let addAriaPressed = true\n const rootElement = $(this._element).closest(SELECTOR_DATA_TOGGLES)[0]\n\n if (rootElement) {\n const input = this._element.querySelector(SELECTOR_INPUT)\n\n if (input) {\n if (input.type === 'radio') {\n if (input.checked && this._element.classList.contains(CLASS_NAME_ACTIVE)) {\n triggerChangeEvent = false\n } else {\n const activeElement = rootElement.querySelector(SELECTOR_ACTIVE)\n\n if (activeElement) {\n $(activeElement).removeClass(CLASS_NAME_ACTIVE)\n }\n }\n }\n\n if (triggerChangeEvent) {\n // if it's not a radio button or checkbox don't add a pointless/invalid checked property to the input\n if (input.type === 'checkbox' || input.type === 'radio') {\n input.checked = !this._element.classList.contains(CLASS_NAME_ACTIVE)\n }\n\n if (!this.shouldAvoidTriggerChange) {\n $(input).trigger('change')\n }\n }\n\n input.focus()\n addAriaPressed = false\n }\n }\n\n if (!(this._element.hasAttribute('disabled') || this._element.classList.contains('disabled'))) {\n if (addAriaPressed) {\n this._element.setAttribute('aria-pressed', !this._element.classList.contains(CLASS_NAME_ACTIVE))\n }\n\n if (triggerChangeEvent) {\n $(this._element).toggleClass(CLASS_NAME_ACTIVE)\n }\n }\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Static\n\n static _jQueryInterface(config, avoidTriggerChange) {\n return this.each(function () {\n const $element = $(this)\n let data = $element.data(DATA_KEY)\n\n if (!data) {\n data = new Button(this)\n $element.data(DATA_KEY, data)\n }\n\n data.shouldAvoidTriggerChange = avoidTriggerChange\n\n if (config === 'toggle') {\n data[config]()\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document)\n .on(EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE_CARROT, event => {\n let button = event.target\n const initialButton = button\n\n if (!$(button).hasClass(CLASS_NAME_BUTTON)) {\n button = $(button).closest(SELECTOR_BUTTON)[0]\n }\n\n if (!button || button.hasAttribute('disabled') || button.classList.contains('disabled')) {\n event.preventDefault() // work around Firefox bug #1540995\n } else {\n const inputBtn = button.querySelector(SELECTOR_INPUT)\n\n if (inputBtn && (inputBtn.hasAttribute('disabled') || inputBtn.classList.contains('disabled'))) {\n event.preventDefault() // work around Firefox bug #1540995\n return\n }\n\n if (initialButton.tagName === 'INPUT' || button.tagName !== 'LABEL') {\n Button._jQueryInterface.call($(button), 'toggle', initialButton.tagName === 'INPUT')\n }\n }\n })\n .on(EVENT_FOCUS_BLUR_DATA_API, SELECTOR_DATA_TOGGLE_CARROT, event => {\n const button = $(event.target).closest(SELECTOR_BUTTON)[0]\n $(button).toggleClass(CLASS_NAME_FOCUS, /^focus(in)?$/.test(event.type))\n })\n\n$(window).on(EVENT_LOAD_DATA_API, () => {\n // ensure correct active class is set to match the controls' actual values/states\n\n // find all checkboxes/readio buttons inside data-toggle groups\n let buttons = [].slice.call(document.querySelectorAll(SELECTOR_DATA_TOGGLES_BUTTONS))\n for (let i = 0, len = buttons.length; i < len; i++) {\n const button = buttons[i]\n const input = button.querySelector(SELECTOR_INPUT)\n if (input.checked || input.hasAttribute('checked')) {\n button.classList.add(CLASS_NAME_ACTIVE)\n } else {\n button.classList.remove(CLASS_NAME_ACTIVE)\n }\n }\n\n // find all button toggles\n buttons = [].slice.call(document.querySelectorAll(SELECTOR_DATA_TOGGLE))\n for (let i = 0, len = buttons.length; i < len; i++) {\n const button = buttons[i]\n if (button.getAttribute('aria-pressed') === 'true') {\n button.classList.add(CLASS_NAME_ACTIVE)\n } else {\n button.classList.remove(CLASS_NAME_ACTIVE)\n }\n }\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Button._jQueryInterface\n$.fn[NAME].Constructor = Button\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Button._jQueryInterface\n}\n\nexport default Button\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.6.0): carousel.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Util from './util'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'carousel'\nconst VERSION = '4.6.0'\nconst DATA_KEY = 'bs.carousel'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\nconst ARROW_LEFT_KEYCODE = 37 // KeyboardEvent.which value for left arrow key\nconst ARROW_RIGHT_KEYCODE = 39 // KeyboardEvent.which value for right arrow key\nconst TOUCHEVENT_COMPAT_WAIT = 500 // Time for mouse compat events to fire after touch\nconst SWIPE_THRESHOLD = 40\n\nconst Default = {\n interval: 5000,\n keyboard: true,\n slide: false,\n pause: 'hover',\n wrap: true,\n touch: true\n}\n\nconst DefaultType = {\n interval: '(number|boolean)',\n keyboard: 'boolean',\n slide: '(boolean|string)',\n pause: '(string|boolean)',\n wrap: 'boolean',\n touch: 'boolean'\n}\n\nconst DIRECTION_NEXT = 'next'\nconst DIRECTION_PREV = 'prev'\nconst DIRECTION_LEFT = 'left'\nconst DIRECTION_RIGHT = 'right'\n\nconst EVENT_SLIDE = `slide${EVENT_KEY}`\nconst EVENT_SLID = `slid${EVENT_KEY}`\nconst EVENT_KEYDOWN = `keydown${EVENT_KEY}`\nconst EVENT_MOUSEENTER = `mouseenter${EVENT_KEY}`\nconst EVENT_MOUSELEAVE = `mouseleave${EVENT_KEY}`\nconst EVENT_TOUCHSTART = `touchstart${EVENT_KEY}`\nconst EVENT_TOUCHMOVE = `touchmove${EVENT_KEY}`\nconst EVENT_TOUCHEND = `touchend${EVENT_KEY}`\nconst EVENT_POINTERDOWN = `pointerdown${EVENT_KEY}`\nconst EVENT_POINTERUP = `pointerup${EVENT_KEY}`\nconst EVENT_DRAG_START = `dragstart${EVENT_KEY}`\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_CAROUSEL = 'carousel'\nconst CLASS_NAME_ACTIVE = 'active'\nconst CLASS_NAME_SLIDE = 'slide'\nconst CLASS_NAME_RIGHT = 'carousel-item-right'\nconst CLASS_NAME_LEFT = 'carousel-item-left'\nconst CLASS_NAME_NEXT = 'carousel-item-next'\nconst CLASS_NAME_PREV = 'carousel-item-prev'\nconst CLASS_NAME_POINTER_EVENT = 'pointer-event'\n\nconst SELECTOR_ACTIVE = '.active'\nconst SELECTOR_ACTIVE_ITEM = '.active.carousel-item'\nconst SELECTOR_ITEM = '.carousel-item'\nconst SELECTOR_ITEM_IMG = '.carousel-item img'\nconst SELECTOR_NEXT_PREV = '.carousel-item-next, .carousel-item-prev'\nconst SELECTOR_INDICATORS = '.carousel-indicators'\nconst SELECTOR_DATA_SLIDE = '[data-slide], [data-slide-to]'\nconst SELECTOR_DATA_RIDE = '[data-ride=\"carousel\"]'\n\nconst PointerType = {\n TOUCH: 'touch',\n PEN: 'pen'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\nclass Carousel {\n constructor(element, config) {\n this._items = null\n this._interval = null\n this._activeElement = null\n this._isPaused = false\n this._isSliding = false\n this.touchTimeout = null\n this.touchStartX = 0\n this.touchDeltaX = 0\n\n this._config = this._getConfig(config)\n this._element = element\n this._indicatorsElement = this._element.querySelector(SELECTOR_INDICATORS)\n this._touchSupported = 'ontouchstart' in document.documentElement || navigator.maxTouchPoints > 0\n this._pointerEvent = Boolean(window.PointerEvent || window.MSPointerEvent)\n\n this._addEventListeners()\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n next() {\n if (!this._isSliding) {\n this._slide(DIRECTION_NEXT)\n }\n }\n\n nextWhenVisible() {\n const $element = $(this._element)\n // Don't call next when the page isn't visible\n // or the carousel or its parent isn't visible\n if (!document.hidden &&\n ($element.is(':visible') && $element.css('visibility') !== 'hidden')) {\n this.next()\n }\n }\n\n prev() {\n if (!this._isSliding) {\n this._slide(DIRECTION_PREV)\n }\n }\n\n pause(event) {\n if (!event) {\n this._isPaused = true\n }\n\n if (this._element.querySelector(SELECTOR_NEXT_PREV)) {\n Util.triggerTransitionEnd(this._element)\n this.cycle(true)\n }\n\n clearInterval(this._interval)\n this._interval = null\n }\n\n cycle(event) {\n if (!event) {\n this._isPaused = false\n }\n\n if (this._interval) {\n clearInterval(this._interval)\n this._interval = null\n }\n\n if (this._config.interval && !this._isPaused) {\n this._updateInterval()\n\n this._interval = setInterval(\n (document.visibilityState ? this.nextWhenVisible : this.next).bind(this),\n this._config.interval\n )\n }\n }\n\n to(index) {\n this._activeElement = this._element.querySelector(SELECTOR_ACTIVE_ITEM)\n\n const activeIndex = this._getItemIndex(this._activeElement)\n\n if (index > this._items.length - 1 || index < 0) {\n return\n }\n\n if (this._isSliding) {\n $(this._element).one(EVENT_SLID, () => this.to(index))\n return\n }\n\n if (activeIndex === index) {\n this.pause()\n this.cycle()\n return\n }\n\n const direction = index > activeIndex ?\n DIRECTION_NEXT :\n DIRECTION_PREV\n\n this._slide(direction, this._items[index])\n }\n\n dispose() {\n $(this._element).off(EVENT_KEY)\n $.removeData(this._element, DATA_KEY)\n\n this._items = null\n this._config = null\n this._element = null\n this._interval = null\n this._isPaused = null\n this._isSliding = null\n this._activeElement = null\n this._indicatorsElement = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n Util.typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _handleSwipe() {\n const absDeltax = Math.abs(this.touchDeltaX)\n\n if (absDeltax <= SWIPE_THRESHOLD) {\n return\n }\n\n const direction = absDeltax / this.touchDeltaX\n\n this.touchDeltaX = 0\n\n // swipe left\n if (direction > 0) {\n this.prev()\n }\n\n // swipe right\n if (direction < 0) {\n this.next()\n }\n }\n\n _addEventListeners() {\n if (this._config.keyboard) {\n $(this._element).on(EVENT_KEYDOWN, event => this._keydown(event))\n }\n\n if (this._config.pause === 'hover') {\n $(this._element)\n .on(EVENT_MOUSEENTER, event => this.pause(event))\n .on(EVENT_MOUSELEAVE, event => this.cycle(event))\n }\n\n if (this._config.touch) {\n this._addTouchEventListeners()\n }\n }\n\n _addTouchEventListeners() {\n if (!this._touchSupported) {\n return\n }\n\n const start = event => {\n if (this._pointerEvent && PointerType[event.originalEvent.pointerType.toUpperCase()]) {\n this.touchStartX = event.originalEvent.clientX\n } else if (!this._pointerEvent) {\n this.touchStartX = event.originalEvent.touches[0].clientX\n }\n }\n\n const move = event => {\n // ensure swiping with one touch and not pinching\n if (event.originalEvent.touches && event.originalEvent.touches.length > 1) {\n this.touchDeltaX = 0\n } else {\n this.touchDeltaX = event.originalEvent.touches[0].clientX - this.touchStartX\n }\n }\n\n const end = event => {\n if (this._pointerEvent && PointerType[event.originalEvent.pointerType.toUpperCase()]) {\n this.touchDeltaX = event.originalEvent.clientX - this.touchStartX\n }\n\n this._handleSwipe()\n if (this._config.pause === 'hover') {\n // If it's a touch-enabled device, mouseenter/leave are fired as\n // part of the mouse compatibility events on first tap - the carousel\n // would stop cycling until user tapped out of it;\n // here, we listen for touchend, explicitly pause the carousel\n // (as if it's the second time we tap on it, mouseenter compat event\n // is NOT fired) and after a timeout (to allow for mouse compatibility\n // events to fire) we explicitly restart cycling\n\n this.pause()\n if (this.touchTimeout) {\n clearTimeout(this.touchTimeout)\n }\n\n this.touchTimeout = setTimeout(event => this.cycle(event), TOUCHEVENT_COMPAT_WAIT + this._config.interval)\n }\n }\n\n $(this._element.querySelectorAll(SELECTOR_ITEM_IMG))\n .on(EVENT_DRAG_START, e => e.preventDefault())\n\n if (this._pointerEvent) {\n $(this._element).on(EVENT_POINTERDOWN, event => start(event))\n $(this._element).on(EVENT_POINTERUP, event => end(event))\n\n this._element.classList.add(CLASS_NAME_POINTER_EVENT)\n } else {\n $(this._element).on(EVENT_TOUCHSTART, event => start(event))\n $(this._element).on(EVENT_TOUCHMOVE, event => move(event))\n $(this._element).on(EVENT_TOUCHEND, event => end(event))\n }\n }\n\n _keydown(event) {\n if (/input|textarea/i.test(event.target.tagName)) {\n return\n }\n\n switch (event.which) {\n case ARROW_LEFT_KEYCODE:\n event.preventDefault()\n this.prev()\n break\n case ARROW_RIGHT_KEYCODE:\n event.preventDefault()\n this.next()\n break\n default:\n }\n }\n\n _getItemIndex(element) {\n this._items = element && element.parentNode ?\n [].slice.call(element.parentNode.querySelectorAll(SELECTOR_ITEM)) :\n []\n return this._items.indexOf(element)\n }\n\n _getItemByDirection(direction, activeElement) {\n const isNextDirection = direction === DIRECTION_NEXT\n const isPrevDirection = direction === DIRECTION_PREV\n const activeIndex = this._getItemIndex(activeElement)\n const lastItemIndex = this._items.length - 1\n const isGoingToWrap = isPrevDirection && activeIndex === 0 ||\n isNextDirection && activeIndex === lastItemIndex\n\n if (isGoingToWrap && !this._config.wrap) {\n return activeElement\n }\n\n const delta = direction === DIRECTION_PREV ? -1 : 1\n const itemIndex = (activeIndex + delta) % this._items.length\n\n return itemIndex === -1 ?\n this._items[this._items.length - 1] : this._items[itemIndex]\n }\n\n _triggerSlideEvent(relatedTarget, eventDirectionName) {\n const targetIndex = this._getItemIndex(relatedTarget)\n const fromIndex = this._getItemIndex(this._element.querySelector(SELECTOR_ACTIVE_ITEM))\n const slideEvent = $.Event(EVENT_SLIDE, {\n relatedTarget,\n direction: eventDirectionName,\n from: fromIndex,\n to: targetIndex\n })\n\n $(this._element).trigger(slideEvent)\n\n return slideEvent\n }\n\n _setActiveIndicatorElement(element) {\n if (this._indicatorsElement) {\n const indicators = [].slice.call(this._indicatorsElement.querySelectorAll(SELECTOR_ACTIVE))\n $(indicators).removeClass(CLASS_NAME_ACTIVE)\n\n const nextIndicator = this._indicatorsElement.children[\n this._getItemIndex(element)\n ]\n\n if (nextIndicator) {\n $(nextIndicator).addClass(CLASS_NAME_ACTIVE)\n }\n }\n }\n\n _updateInterval() {\n const element = this._activeElement || this._element.querySelector(SELECTOR_ACTIVE_ITEM)\n\n if (!element) {\n return\n }\n\n const elementInterval = parseInt(element.getAttribute('data-interval'), 10)\n\n if (elementInterval) {\n this._config.defaultInterval = this._config.defaultInterval || this._config.interval\n this._config.interval = elementInterval\n } else {\n this._config.interval = this._config.defaultInterval || this._config.interval\n }\n }\n\n _slide(direction, element) {\n const activeElement = this._element.querySelector(SELECTOR_ACTIVE_ITEM)\n const activeElementIndex = this._getItemIndex(activeElement)\n const nextElement = element || activeElement &&\n this._getItemByDirection(direction, activeElement)\n const nextElementIndex = this._getItemIndex(nextElement)\n const isCycling = Boolean(this._interval)\n\n let directionalClassName\n let orderClassName\n let eventDirectionName\n\n if (direction === DIRECTION_NEXT) {\n directionalClassName = CLASS_NAME_LEFT\n orderClassName = CLASS_NAME_NEXT\n eventDirectionName = DIRECTION_LEFT\n } else {\n directionalClassName = CLASS_NAME_RIGHT\n orderClassName = CLASS_NAME_PREV\n eventDirectionName = DIRECTION_RIGHT\n }\n\n if (nextElement && $(nextElement).hasClass(CLASS_NAME_ACTIVE)) {\n this._isSliding = false\n return\n }\n\n const slideEvent = this._triggerSlideEvent(nextElement, eventDirectionName)\n if (slideEvent.isDefaultPrevented()) {\n return\n }\n\n if (!activeElement || !nextElement) {\n // Some weirdness is happening, so we bail\n return\n }\n\n this._isSliding = true\n\n if (isCycling) {\n this.pause()\n }\n\n this._setActiveIndicatorElement(nextElement)\n this._activeElement = nextElement\n\n const slidEvent = $.Event(EVENT_SLID, {\n relatedTarget: nextElement,\n direction: eventDirectionName,\n from: activeElementIndex,\n to: nextElementIndex\n })\n\n if ($(this._element).hasClass(CLASS_NAME_SLIDE)) {\n $(nextElement).addClass(orderClassName)\n\n Util.reflow(nextElement)\n\n $(activeElement).addClass(directionalClassName)\n $(nextElement).addClass(directionalClassName)\n\n const transitionDuration = Util.getTransitionDurationFromElement(activeElement)\n\n $(activeElement)\n .one(Util.TRANSITION_END, () => {\n $(nextElement)\n .removeClass(`${directionalClassName} ${orderClassName}`)\n .addClass(CLASS_NAME_ACTIVE)\n\n $(activeElement).removeClass(`${CLASS_NAME_ACTIVE} ${orderClassName} ${directionalClassName}`)\n\n this._isSliding = false\n\n setTimeout(() => $(this._element).trigger(slidEvent), 0)\n })\n .emulateTransitionEnd(transitionDuration)\n } else {\n $(activeElement).removeClass(CLASS_NAME_ACTIVE)\n $(nextElement).addClass(CLASS_NAME_ACTIVE)\n\n this._isSliding = false\n $(this._element).trigger(slidEvent)\n }\n\n if (isCycling) {\n this.cycle()\n }\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n let _config = {\n ...Default,\n ...$(this).data()\n }\n\n if (typeof config === 'object') {\n _config = {\n ..._config,\n ...config\n }\n }\n\n const action = typeof config === 'string' ? config : _config.slide\n\n if (!data) {\n data = new Carousel(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'number') {\n data.to(config)\n } else if (typeof action === 'string') {\n if (typeof data[action] === 'undefined') {\n throw new TypeError(`No method named \"${action}\"`)\n }\n\n data[action]()\n } else if (_config.interval && _config.ride) {\n data.pause()\n data.cycle()\n }\n })\n }\n\n static _dataApiClickHandler(event) {\n const selector = Util.getSelectorFromElement(this)\n\n if (!selector) {\n return\n }\n\n const target = $(selector)[0]\n\n if (!target || !$(target).hasClass(CLASS_NAME_CAROUSEL)) {\n return\n }\n\n const config = {\n ...$(target).data(),\n ...$(this).data()\n }\n const slideIndex = this.getAttribute('data-slide-to')\n\n if (slideIndex) {\n config.interval = false\n }\n\n Carousel._jQueryInterface.call($(target), config)\n\n if (slideIndex) {\n $(target).data(DATA_KEY).to(slideIndex)\n }\n\n event.preventDefault()\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document).on(EVENT_CLICK_DATA_API, SELECTOR_DATA_SLIDE, Carousel._dataApiClickHandler)\n\n$(window).on(EVENT_LOAD_DATA_API, () => {\n const carousels = [].slice.call(document.querySelectorAll(SELECTOR_DATA_RIDE))\n for (let i = 0, len = carousels.length; i < len; i++) {\n const $carousel = $(carousels[i])\n Carousel._jQueryInterface.call($carousel, $carousel.data())\n }\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Carousel._jQueryInterface\n$.fn[NAME].Constructor = Carousel\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Carousel._jQueryInterface\n}\n\nexport default Carousel\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.6.0): collapse.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Util from './util'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'collapse'\nconst VERSION = '4.6.0'\nconst DATA_KEY = 'bs.collapse'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\n\nconst Default = {\n toggle: true,\n parent: ''\n}\n\nconst DefaultType = {\n toggle: 'boolean',\n parent: '(string|element)'\n}\n\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_COLLAPSE = 'collapse'\nconst CLASS_NAME_COLLAPSING = 'collapsing'\nconst CLASS_NAME_COLLAPSED = 'collapsed'\n\nconst DIMENSION_WIDTH = 'width'\nconst DIMENSION_HEIGHT = 'height'\n\nconst SELECTOR_ACTIVES = '.show, .collapsing'\nconst SELECTOR_DATA_TOGGLE = '[data-toggle=\"collapse\"]'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Collapse {\n constructor(element, config) {\n this._isTransitioning = false\n this._element = element\n this._config = this._getConfig(config)\n this._triggerArray = [].slice.call(document.querySelectorAll(\n `[data-toggle=\"collapse\"][href=\"#${element.id}\"],` +\n `[data-toggle=\"collapse\"][data-target=\"#${element.id}\"]`\n ))\n\n const toggleList = [].slice.call(document.querySelectorAll(SELECTOR_DATA_TOGGLE))\n for (let i = 0, len = toggleList.length; i < len; i++) {\n const elem = toggleList[i]\n const selector = Util.getSelectorFromElement(elem)\n const filterElement = [].slice.call(document.querySelectorAll(selector))\n .filter(foundElem => foundElem === element)\n\n if (selector !== null && filterElement.length > 0) {\n this._selector = selector\n this._triggerArray.push(elem)\n }\n }\n\n this._parent = this._config.parent ? this._getParent() : null\n\n if (!this._config.parent) {\n this._addAriaAndCollapsedClass(this._element, this._triggerArray)\n }\n\n if (this._config.toggle) {\n this.toggle()\n }\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n toggle() {\n if ($(this._element).hasClass(CLASS_NAME_SHOW)) {\n this.hide()\n } else {\n this.show()\n }\n }\n\n show() {\n if (this._isTransitioning ||\n $(this._element).hasClass(CLASS_NAME_SHOW)) {\n return\n }\n\n let actives\n let activesData\n\n if (this._parent) {\n actives = [].slice.call(this._parent.querySelectorAll(SELECTOR_ACTIVES))\n .filter(elem => {\n if (typeof this._config.parent === 'string') {\n return elem.getAttribute('data-parent') === this._config.parent\n }\n\n return elem.classList.contains(CLASS_NAME_COLLAPSE)\n })\n\n if (actives.length === 0) {\n actives = null\n }\n }\n\n if (actives) {\n activesData = $(actives).not(this._selector).data(DATA_KEY)\n if (activesData && activesData._isTransitioning) {\n return\n }\n }\n\n const startEvent = $.Event(EVENT_SHOW)\n $(this._element).trigger(startEvent)\n if (startEvent.isDefaultPrevented()) {\n return\n }\n\n if (actives) {\n Collapse._jQueryInterface.call($(actives).not(this._selector), 'hide')\n if (!activesData) {\n $(actives).data(DATA_KEY, null)\n }\n }\n\n const dimension = this._getDimension()\n\n $(this._element)\n .removeClass(CLASS_NAME_COLLAPSE)\n .addClass(CLASS_NAME_COLLAPSING)\n\n this._element.style[dimension] = 0\n\n if (this._triggerArray.length) {\n $(this._triggerArray)\n .removeClass(CLASS_NAME_COLLAPSED)\n .attr('aria-expanded', true)\n }\n\n this.setTransitioning(true)\n\n const complete = () => {\n $(this._element)\n .removeClass(CLASS_NAME_COLLAPSING)\n .addClass(`${CLASS_NAME_COLLAPSE} ${CLASS_NAME_SHOW}`)\n\n this._element.style[dimension] = ''\n\n this.setTransitioning(false)\n\n $(this._element).trigger(EVENT_SHOWN)\n }\n\n const capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1)\n const scrollSize = `scroll${capitalizedDimension}`\n const transitionDuration = Util.getTransitionDurationFromElement(this._element)\n\n $(this._element)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(transitionDuration)\n\n this._element.style[dimension] = `${this._element[scrollSize]}px`\n }\n\n hide() {\n if (this._isTransitioning ||\n !$(this._element).hasClass(CLASS_NAME_SHOW)) {\n return\n }\n\n const startEvent = $.Event(EVENT_HIDE)\n $(this._element).trigger(startEvent)\n if (startEvent.isDefaultPrevented()) {\n return\n }\n\n const dimension = this._getDimension()\n\n this._element.style[dimension] = `${this._element.getBoundingClientRect()[dimension]}px`\n\n Util.reflow(this._element)\n\n $(this._element)\n .addClass(CLASS_NAME_COLLAPSING)\n .removeClass(`${CLASS_NAME_COLLAPSE} ${CLASS_NAME_SHOW}`)\n\n const triggerArrayLength = this._triggerArray.length\n if (triggerArrayLength > 0) {\n for (let i = 0; i < triggerArrayLength; i++) {\n const trigger = this._triggerArray[i]\n const selector = Util.getSelectorFromElement(trigger)\n\n if (selector !== null) {\n const $elem = $([].slice.call(document.querySelectorAll(selector)))\n if (!$elem.hasClass(CLASS_NAME_SHOW)) {\n $(trigger).addClass(CLASS_NAME_COLLAPSED)\n .attr('aria-expanded', false)\n }\n }\n }\n }\n\n this.setTransitioning(true)\n\n const complete = () => {\n this.setTransitioning(false)\n $(this._element)\n .removeClass(CLASS_NAME_COLLAPSING)\n .addClass(CLASS_NAME_COLLAPSE)\n .trigger(EVENT_HIDDEN)\n }\n\n this._element.style[dimension] = ''\n const transitionDuration = Util.getTransitionDurationFromElement(this._element)\n\n $(this._element)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(transitionDuration)\n }\n\n setTransitioning(isTransitioning) {\n this._isTransitioning = isTransitioning\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n\n this._config = null\n this._parent = null\n this._element = null\n this._triggerArray = null\n this._isTransitioning = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n config.toggle = Boolean(config.toggle) // Coerce string values\n Util.typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _getDimension() {\n const hasWidth = $(this._element).hasClass(DIMENSION_WIDTH)\n return hasWidth ? DIMENSION_WIDTH : DIMENSION_HEIGHT\n }\n\n _getParent() {\n let parent\n\n if (Util.isElement(this._config.parent)) {\n parent = this._config.parent\n\n // It's a jQuery object\n if (typeof this._config.parent.jquery !== 'undefined') {\n parent = this._config.parent[0]\n }\n } else {\n parent = document.querySelector(this._config.parent)\n }\n\n const selector = `[data-toggle=\"collapse\"][data-parent=\"${this._config.parent}\"]`\n const children = [].slice.call(parent.querySelectorAll(selector))\n\n $(children).each((i, element) => {\n this._addAriaAndCollapsedClass(\n Collapse._getTargetFromElement(element),\n [element]\n )\n })\n\n return parent\n }\n\n _addAriaAndCollapsedClass(element, triggerArray) {\n const isOpen = $(element).hasClass(CLASS_NAME_SHOW)\n\n if (triggerArray.length) {\n $(triggerArray)\n .toggleClass(CLASS_NAME_COLLAPSED, !isOpen)\n .attr('aria-expanded', isOpen)\n }\n }\n\n // Static\n\n static _getTargetFromElement(element) {\n const selector = Util.getSelectorFromElement(element)\n return selector ? document.querySelector(selector) : null\n }\n\n static _jQueryInterface(config) {\n return this.each(function () {\n const $element = $(this)\n let data = $element.data(DATA_KEY)\n const _config = {\n ...Default,\n ...$element.data(),\n ...(typeof config === 'object' && config ? config : {})\n }\n\n if (!data && _config.toggle && typeof config === 'string' && /show|hide/.test(config)) {\n _config.toggle = false\n }\n\n if (!data) {\n data = new Collapse(this, _config)\n $element.data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document).on(EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n // preventDefault only for elements (which change the URL) not inside the collapsible element\n if (event.currentTarget.tagName === 'A') {\n event.preventDefault()\n }\n\n const $trigger = $(this)\n const selector = Util.getSelectorFromElement(this)\n const selectors = [].slice.call(document.querySelectorAll(selector))\n\n $(selectors).each(function () {\n const $target = $(this)\n const data = $target.data(DATA_KEY)\n const config = data ? 'toggle' : $trigger.data()\n Collapse._jQueryInterface.call($target, config)\n })\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Collapse._jQueryInterface\n$.fn[NAME].Constructor = Collapse\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Collapse._jQueryInterface\n}\n\nexport default Collapse\n","/**!\n * @fileOverview Kickass library to create and place poppers near their reference elements.\n * @version 1.16.1\n * @license\n * Copyright (c) 2016 Federico Zivolo and contributors\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nvar isBrowser = typeof window !== 'undefined' && typeof document !== 'undefined' && typeof navigator !== 'undefined';\n\nvar timeoutDuration = function () {\n var longerTimeoutBrowsers = ['Edge', 'Trident', 'Firefox'];\n for (var i = 0; i < longerTimeoutBrowsers.length; i += 1) {\n if (isBrowser && navigator.userAgent.indexOf(longerTimeoutBrowsers[i]) >= 0) {\n return 1;\n }\n }\n return 0;\n}();\n\nfunction microtaskDebounce(fn) {\n var called = false;\n return function () {\n if (called) {\n return;\n }\n called = true;\n window.Promise.resolve().then(function () {\n called = false;\n fn();\n });\n };\n}\n\nfunction taskDebounce(fn) {\n var scheduled = false;\n return function () {\n if (!scheduled) {\n scheduled = true;\n setTimeout(function () {\n scheduled = false;\n fn();\n }, timeoutDuration);\n }\n };\n}\n\nvar supportsMicroTasks = isBrowser && window.Promise;\n\n/**\n* Create a debounced version of a method, that's asynchronously deferred\n* but called in the minimum time possible.\n*\n* @method\n* @memberof Popper.Utils\n* @argument {Function} fn\n* @returns {Function}\n*/\nvar debounce = supportsMicroTasks ? microtaskDebounce : taskDebounce;\n\n/**\n * Check if the given variable is a function\n * @method\n * @memberof Popper.Utils\n * @argument {Any} functionToCheck - variable to check\n * @returns {Boolean} answer to: is a function?\n */\nfunction isFunction(functionToCheck) {\n var getType = {};\n return functionToCheck && getType.toString.call(functionToCheck) === '[object Function]';\n}\n\n/**\n * Get CSS computed property of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Eement} element\n * @argument {String} property\n */\nfunction getStyleComputedProperty(element, property) {\n if (element.nodeType !== 1) {\n return [];\n }\n // NOTE: 1 DOM access here\n var window = element.ownerDocument.defaultView;\n var css = window.getComputedStyle(element, null);\n return property ? css[property] : css;\n}\n\n/**\n * Returns the parentNode or the host of the element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} parent\n */\nfunction getParentNode(element) {\n if (element.nodeName === 'HTML') {\n return element;\n }\n return element.parentNode || element.host;\n}\n\n/**\n * Returns the scrolling parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} scroll parent\n */\nfunction getScrollParent(element) {\n // Return body, `getScroll` will take care to get the correct `scrollTop` from it\n if (!element) {\n return document.body;\n }\n\n switch (element.nodeName) {\n case 'HTML':\n case 'BODY':\n return element.ownerDocument.body;\n case '#document':\n return element.body;\n }\n\n // Firefox want us to check `-x` and `-y` variations as well\n\n var _getStyleComputedProp = getStyleComputedProperty(element),\n overflow = _getStyleComputedProp.overflow,\n overflowX = _getStyleComputedProp.overflowX,\n overflowY = _getStyleComputedProp.overflowY;\n\n if (/(auto|scroll|overlay)/.test(overflow + overflowY + overflowX)) {\n return element;\n }\n\n return getScrollParent(getParentNode(element));\n}\n\n/**\n * Returns the reference node of the reference object, or the reference object itself.\n * @method\n * @memberof Popper.Utils\n * @param {Element|Object} reference - the reference element (the popper will be relative to this)\n * @returns {Element} parent\n */\nfunction getReferenceNode(reference) {\n return reference && reference.referenceNode ? reference.referenceNode : reference;\n}\n\nvar isIE11 = isBrowser && !!(window.MSInputMethodContext && document.documentMode);\nvar isIE10 = isBrowser && /MSIE 10/.test(navigator.userAgent);\n\n/**\n * Determines if the browser is Internet Explorer\n * @method\n * @memberof Popper.Utils\n * @param {Number} version to check\n * @returns {Boolean} isIE\n */\nfunction isIE(version) {\n if (version === 11) {\n return isIE11;\n }\n if (version === 10) {\n return isIE10;\n }\n return isIE11 || isIE10;\n}\n\n/**\n * Returns the offset parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} offset parent\n */\nfunction getOffsetParent(element) {\n if (!element) {\n return document.documentElement;\n }\n\n var noOffsetParent = isIE(10) ? document.body : null;\n\n // NOTE: 1 DOM access here\n var offsetParent = element.offsetParent || null;\n // Skip hidden elements which don't have an offsetParent\n while (offsetParent === noOffsetParent && element.nextElementSibling) {\n offsetParent = (element = element.nextElementSibling).offsetParent;\n }\n\n var nodeName = offsetParent && offsetParent.nodeName;\n\n if (!nodeName || nodeName === 'BODY' || nodeName === 'HTML') {\n return element ? element.ownerDocument.documentElement : document.documentElement;\n }\n\n // .offsetParent will return the closest TH, TD or TABLE in case\n // no offsetParent is present, I hate this job...\n if (['TH', 'TD', 'TABLE'].indexOf(offsetParent.nodeName) !== -1 && getStyleComputedProperty(offsetParent, 'position') === 'static') {\n return getOffsetParent(offsetParent);\n }\n\n return offsetParent;\n}\n\nfunction isOffsetContainer(element) {\n var nodeName = element.nodeName;\n\n if (nodeName === 'BODY') {\n return false;\n }\n return nodeName === 'HTML' || getOffsetParent(element.firstElementChild) === element;\n}\n\n/**\n * Finds the root node (document, shadowDOM root) of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} node\n * @returns {Element} root node\n */\nfunction getRoot(node) {\n if (node.parentNode !== null) {\n return getRoot(node.parentNode);\n }\n\n return node;\n}\n\n/**\n * Finds the offset parent common to the two provided nodes\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element1\n * @argument {Element} element2\n * @returns {Element} common offset parent\n */\nfunction findCommonOffsetParent(element1, element2) {\n // This check is needed to avoid errors in case one of the elements isn't defined for any reason\n if (!element1 || !element1.nodeType || !element2 || !element2.nodeType) {\n return document.documentElement;\n }\n\n // Here we make sure to give as \"start\" the element that comes first in the DOM\n var order = element1.compareDocumentPosition(element2) & Node.DOCUMENT_POSITION_FOLLOWING;\n var start = order ? element1 : element2;\n var end = order ? element2 : element1;\n\n // Get common ancestor container\n var range = document.createRange();\n range.setStart(start, 0);\n range.setEnd(end, 0);\n var commonAncestorContainer = range.commonAncestorContainer;\n\n // Both nodes are inside #document\n\n if (element1 !== commonAncestorContainer && element2 !== commonAncestorContainer || start.contains(end)) {\n if (isOffsetContainer(commonAncestorContainer)) {\n return commonAncestorContainer;\n }\n\n return getOffsetParent(commonAncestorContainer);\n }\n\n // one of the nodes is inside shadowDOM, find which one\n var element1root = getRoot(element1);\n if (element1root.host) {\n return findCommonOffsetParent(element1root.host, element2);\n } else {\n return findCommonOffsetParent(element1, getRoot(element2).host);\n }\n}\n\n/**\n * Gets the scroll value of the given element in the given side (top and left)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {String} side `top` or `left`\n * @returns {number} amount of scrolled pixels\n */\nfunction getScroll(element) {\n var side = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'top';\n\n var upperSide = side === 'top' ? 'scrollTop' : 'scrollLeft';\n var nodeName = element.nodeName;\n\n if (nodeName === 'BODY' || nodeName === 'HTML') {\n var html = element.ownerDocument.documentElement;\n var scrollingElement = element.ownerDocument.scrollingElement || html;\n return scrollingElement[upperSide];\n }\n\n return element[upperSide];\n}\n\n/*\n * Sum or subtract the element scroll values (left and top) from a given rect object\n * @method\n * @memberof Popper.Utils\n * @param {Object} rect - Rect object you want to change\n * @param {HTMLElement} element - The element from the function reads the scroll values\n * @param {Boolean} subtract - set to true if you want to subtract the scroll values\n * @return {Object} rect - The modifier rect object\n */\nfunction includeScroll(rect, element) {\n var subtract = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n var scrollTop = getScroll(element, 'top');\n var scrollLeft = getScroll(element, 'left');\n var modifier = subtract ? -1 : 1;\n rect.top += scrollTop * modifier;\n rect.bottom += scrollTop * modifier;\n rect.left += scrollLeft * modifier;\n rect.right += scrollLeft * modifier;\n return rect;\n}\n\n/*\n * Helper to detect borders of a given element\n * @method\n * @memberof Popper.Utils\n * @param {CSSStyleDeclaration} styles\n * Result of `getStyleComputedProperty` on the given element\n * @param {String} axis - `x` or `y`\n * @return {number} borders - The borders size of the given axis\n */\n\nfunction getBordersSize(styles, axis) {\n var sideA = axis === 'x' ? 'Left' : 'Top';\n var sideB = sideA === 'Left' ? 'Right' : 'Bottom';\n\n return parseFloat(styles['border' + sideA + 'Width']) + parseFloat(styles['border' + sideB + 'Width']);\n}\n\nfunction getSize(axis, body, html, computedStyle) {\n return Math.max(body['offset' + axis], body['scroll' + axis], html['client' + axis], html['offset' + axis], html['scroll' + axis], isIE(10) ? parseInt(html['offset' + axis]) + parseInt(computedStyle['margin' + (axis === 'Height' ? 'Top' : 'Left')]) + parseInt(computedStyle['margin' + (axis === 'Height' ? 'Bottom' : 'Right')]) : 0);\n}\n\nfunction getWindowSizes(document) {\n var body = document.body;\n var html = document.documentElement;\n var computedStyle = isIE(10) && getComputedStyle(html);\n\n return {\n height: getSize('Height', body, html, computedStyle),\n width: getSize('Width', body, html, computedStyle)\n };\n}\n\nvar classCallCheck = function (instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n};\n\nvar createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n\n\n\n\n\nvar defineProperty = function (obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n};\n\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\n/**\n * Given element offsets, generate an output similar to getBoundingClientRect\n * @method\n * @memberof Popper.Utils\n * @argument {Object} offsets\n * @returns {Object} ClientRect like output\n */\nfunction getClientRect(offsets) {\n return _extends({}, offsets, {\n right: offsets.left + offsets.width,\n bottom: offsets.top + offsets.height\n });\n}\n\n/**\n * Get bounding client rect of given element\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} element\n * @return {Object} client rect\n */\nfunction getBoundingClientRect(element) {\n var rect = {};\n\n // IE10 10 FIX: Please, don't ask, the element isn't\n // considered in DOM in some circumstances...\n // This isn't reproducible in IE10 compatibility mode of IE11\n try {\n if (isIE(10)) {\n rect = element.getBoundingClientRect();\n var scrollTop = getScroll(element, 'top');\n var scrollLeft = getScroll(element, 'left');\n rect.top += scrollTop;\n rect.left += scrollLeft;\n rect.bottom += scrollTop;\n rect.right += scrollLeft;\n } else {\n rect = element.getBoundingClientRect();\n }\n } catch (e) {}\n\n var result = {\n left: rect.left,\n top: rect.top,\n width: rect.right - rect.left,\n height: rect.bottom - rect.top\n };\n\n // subtract scrollbar size from sizes\n var sizes = element.nodeName === 'HTML' ? getWindowSizes(element.ownerDocument) : {};\n var width = sizes.width || element.clientWidth || result.width;\n var height = sizes.height || element.clientHeight || result.height;\n\n var horizScrollbar = element.offsetWidth - width;\n var vertScrollbar = element.offsetHeight - height;\n\n // if an hypothetical scrollbar is detected, we must be sure it's not a `border`\n // we make this check conditional for performance reasons\n if (horizScrollbar || vertScrollbar) {\n var styles = getStyleComputedProperty(element);\n horizScrollbar -= getBordersSize(styles, 'x');\n vertScrollbar -= getBordersSize(styles, 'y');\n\n result.width -= horizScrollbar;\n result.height -= vertScrollbar;\n }\n\n return getClientRect(result);\n}\n\nfunction getOffsetRectRelativeToArbitraryNode(children, parent) {\n var fixedPosition = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n var isIE10 = isIE(10);\n var isHTML = parent.nodeName === 'HTML';\n var childrenRect = getBoundingClientRect(children);\n var parentRect = getBoundingClientRect(parent);\n var scrollParent = getScrollParent(children);\n\n var styles = getStyleComputedProperty(parent);\n var borderTopWidth = parseFloat(styles.borderTopWidth);\n var borderLeftWidth = parseFloat(styles.borderLeftWidth);\n\n // In cases where the parent is fixed, we must ignore negative scroll in offset calc\n if (fixedPosition && isHTML) {\n parentRect.top = Math.max(parentRect.top, 0);\n parentRect.left = Math.max(parentRect.left, 0);\n }\n var offsets = getClientRect({\n top: childrenRect.top - parentRect.top - borderTopWidth,\n left: childrenRect.left - parentRect.left - borderLeftWidth,\n width: childrenRect.width,\n height: childrenRect.height\n });\n offsets.marginTop = 0;\n offsets.marginLeft = 0;\n\n // Subtract margins of documentElement in case it's being used as parent\n // we do this only on HTML because it's the only element that behaves\n // differently when margins are applied to it. The margins are included in\n // the box of the documentElement, in the other cases not.\n if (!isIE10 && isHTML) {\n var marginTop = parseFloat(styles.marginTop);\n var marginLeft = parseFloat(styles.marginLeft);\n\n offsets.top -= borderTopWidth - marginTop;\n offsets.bottom -= borderTopWidth - marginTop;\n offsets.left -= borderLeftWidth - marginLeft;\n offsets.right -= borderLeftWidth - marginLeft;\n\n // Attach marginTop and marginLeft because in some circumstances we may need them\n offsets.marginTop = marginTop;\n offsets.marginLeft = marginLeft;\n }\n\n if (isIE10 && !fixedPosition ? parent.contains(scrollParent) : parent === scrollParent && scrollParent.nodeName !== 'BODY') {\n offsets = includeScroll(offsets, parent);\n }\n\n return offsets;\n}\n\nfunction getViewportOffsetRectRelativeToArtbitraryNode(element) {\n var excludeScroll = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n var html = element.ownerDocument.documentElement;\n var relativeOffset = getOffsetRectRelativeToArbitraryNode(element, html);\n var width = Math.max(html.clientWidth, window.innerWidth || 0);\n var height = Math.max(html.clientHeight, window.innerHeight || 0);\n\n var scrollTop = !excludeScroll ? getScroll(html) : 0;\n var scrollLeft = !excludeScroll ? getScroll(html, 'left') : 0;\n\n var offset = {\n top: scrollTop - relativeOffset.top + relativeOffset.marginTop,\n left: scrollLeft - relativeOffset.left + relativeOffset.marginLeft,\n width: width,\n height: height\n };\n\n return getClientRect(offset);\n}\n\n/**\n * Check if the given element is fixed or is inside a fixed parent\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {Element} customContainer\n * @returns {Boolean} answer to \"isFixed?\"\n */\nfunction isFixed(element) {\n var nodeName = element.nodeName;\n if (nodeName === 'BODY' || nodeName === 'HTML') {\n return false;\n }\n if (getStyleComputedProperty(element, 'position') === 'fixed') {\n return true;\n }\n var parentNode = getParentNode(element);\n if (!parentNode) {\n return false;\n }\n return isFixed(parentNode);\n}\n\n/**\n * Finds the first parent of an element that has a transformed property defined\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} first transformed parent or documentElement\n */\n\nfunction getFixedPositionOffsetParent(element) {\n // This check is needed to avoid errors in case one of the elements isn't defined for any reason\n if (!element || !element.parentElement || isIE()) {\n return document.documentElement;\n }\n var el = element.parentElement;\n while (el && getStyleComputedProperty(el, 'transform') === 'none') {\n el = el.parentElement;\n }\n return el || document.documentElement;\n}\n\n/**\n * Computed the boundaries limits and return them\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} popper\n * @param {HTMLElement} reference\n * @param {number} padding\n * @param {HTMLElement} boundariesElement - Element used to define the boundaries\n * @param {Boolean} fixedPosition - Is in fixed position mode\n * @returns {Object} Coordinates of the boundaries\n */\nfunction getBoundaries(popper, reference, padding, boundariesElement) {\n var fixedPosition = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;\n\n // NOTE: 1 DOM access here\n\n var boundaries = { top: 0, left: 0 };\n var offsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, getReferenceNode(reference));\n\n // Handle viewport case\n if (boundariesElement === 'viewport') {\n boundaries = getViewportOffsetRectRelativeToArtbitraryNode(offsetParent, fixedPosition);\n } else {\n // Handle other cases based on DOM element used as boundaries\n var boundariesNode = void 0;\n if (boundariesElement === 'scrollParent') {\n boundariesNode = getScrollParent(getParentNode(reference));\n if (boundariesNode.nodeName === 'BODY') {\n boundariesNode = popper.ownerDocument.documentElement;\n }\n } else if (boundariesElement === 'window') {\n boundariesNode = popper.ownerDocument.documentElement;\n } else {\n boundariesNode = boundariesElement;\n }\n\n var offsets = getOffsetRectRelativeToArbitraryNode(boundariesNode, offsetParent, fixedPosition);\n\n // In case of HTML, we need a different computation\n if (boundariesNode.nodeName === 'HTML' && !isFixed(offsetParent)) {\n var _getWindowSizes = getWindowSizes(popper.ownerDocument),\n height = _getWindowSizes.height,\n width = _getWindowSizes.width;\n\n boundaries.top += offsets.top - offsets.marginTop;\n boundaries.bottom = height + offsets.top;\n boundaries.left += offsets.left - offsets.marginLeft;\n boundaries.right = width + offsets.left;\n } else {\n // for all the other DOM elements, this one is good\n boundaries = offsets;\n }\n }\n\n // Add paddings\n padding = padding || 0;\n var isPaddingNumber = typeof padding === 'number';\n boundaries.left += isPaddingNumber ? padding : padding.left || 0;\n boundaries.top += isPaddingNumber ? padding : padding.top || 0;\n boundaries.right -= isPaddingNumber ? padding : padding.right || 0;\n boundaries.bottom -= isPaddingNumber ? padding : padding.bottom || 0;\n\n return boundaries;\n}\n\nfunction getArea(_ref) {\n var width = _ref.width,\n height = _ref.height;\n\n return width * height;\n}\n\n/**\n * Utility used to transform the `auto` placement to the placement with more\n * available space.\n * @method\n * @memberof Popper.Utils\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction computeAutoPlacement(placement, refRect, popper, reference, boundariesElement) {\n var padding = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : 0;\n\n if (placement.indexOf('auto') === -1) {\n return placement;\n }\n\n var boundaries = getBoundaries(popper, reference, padding, boundariesElement);\n\n var rects = {\n top: {\n width: boundaries.width,\n height: refRect.top - boundaries.top\n },\n right: {\n width: boundaries.right - refRect.right,\n height: boundaries.height\n },\n bottom: {\n width: boundaries.width,\n height: boundaries.bottom - refRect.bottom\n },\n left: {\n width: refRect.left - boundaries.left,\n height: boundaries.height\n }\n };\n\n var sortedAreas = Object.keys(rects).map(function (key) {\n return _extends({\n key: key\n }, rects[key], {\n area: getArea(rects[key])\n });\n }).sort(function (a, b) {\n return b.area - a.area;\n });\n\n var filteredAreas = sortedAreas.filter(function (_ref2) {\n var width = _ref2.width,\n height = _ref2.height;\n return width >= popper.clientWidth && height >= popper.clientHeight;\n });\n\n var computedPlacement = filteredAreas.length > 0 ? filteredAreas[0].key : sortedAreas[0].key;\n\n var variation = placement.split('-')[1];\n\n return computedPlacement + (variation ? '-' + variation : '');\n}\n\n/**\n * Get offsets to the reference element\n * @method\n * @memberof Popper.Utils\n * @param {Object} state\n * @param {Element} popper - the popper element\n * @param {Element} reference - the reference element (the popper will be relative to this)\n * @param {Element} fixedPosition - is in fixed position mode\n * @returns {Object} An object containing the offsets which will be applied to the popper\n */\nfunction getReferenceOffsets(state, popper, reference) {\n var fixedPosition = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null;\n\n var commonOffsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, getReferenceNode(reference));\n return getOffsetRectRelativeToArbitraryNode(reference, commonOffsetParent, fixedPosition);\n}\n\n/**\n * Get the outer sizes of the given element (offset size + margins)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Object} object containing width and height properties\n */\nfunction getOuterSizes(element) {\n var window = element.ownerDocument.defaultView;\n var styles = window.getComputedStyle(element);\n var x = parseFloat(styles.marginTop || 0) + parseFloat(styles.marginBottom || 0);\n var y = parseFloat(styles.marginLeft || 0) + parseFloat(styles.marginRight || 0);\n var result = {\n width: element.offsetWidth + y,\n height: element.offsetHeight + x\n };\n return result;\n}\n\n/**\n * Get the opposite placement of the given one\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement\n * @returns {String} flipped placement\n */\nfunction getOppositePlacement(placement) {\n var hash = { left: 'right', right: 'left', bottom: 'top', top: 'bottom' };\n return placement.replace(/left|right|bottom|top/g, function (matched) {\n return hash[matched];\n });\n}\n\n/**\n * Get offsets to the popper\n * @method\n * @memberof Popper.Utils\n * @param {Object} position - CSS position the Popper will get applied\n * @param {HTMLElement} popper - the popper element\n * @param {Object} referenceOffsets - the reference offsets (the popper will be relative to this)\n * @param {String} placement - one of the valid placement options\n * @returns {Object} popperOffsets - An object containing the offsets which will be applied to the popper\n */\nfunction getPopperOffsets(popper, referenceOffsets, placement) {\n placement = placement.split('-')[0];\n\n // Get popper node sizes\n var popperRect = getOuterSizes(popper);\n\n // Add position, width and height to our offsets object\n var popperOffsets = {\n width: popperRect.width,\n height: popperRect.height\n };\n\n // depending by the popper placement we have to compute its offsets slightly differently\n var isHoriz = ['right', 'left'].indexOf(placement) !== -1;\n var mainSide = isHoriz ? 'top' : 'left';\n var secondarySide = isHoriz ? 'left' : 'top';\n var measurement = isHoriz ? 'height' : 'width';\n var secondaryMeasurement = !isHoriz ? 'height' : 'width';\n\n popperOffsets[mainSide] = referenceOffsets[mainSide] + referenceOffsets[measurement] / 2 - popperRect[measurement] / 2;\n if (placement === secondarySide) {\n popperOffsets[secondarySide] = referenceOffsets[secondarySide] - popperRect[secondaryMeasurement];\n } else {\n popperOffsets[secondarySide] = referenceOffsets[getOppositePlacement(secondarySide)];\n }\n\n return popperOffsets;\n}\n\n/**\n * Mimics the `find` method of Array\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nfunction find(arr, check) {\n // use native find if supported\n if (Array.prototype.find) {\n return arr.find(check);\n }\n\n // use `filter` to obtain the same behavior of `find`\n return arr.filter(check)[0];\n}\n\n/**\n * Return the index of the matching object\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nfunction findIndex(arr, prop, value) {\n // use native findIndex if supported\n if (Array.prototype.findIndex) {\n return arr.findIndex(function (cur) {\n return cur[prop] === value;\n });\n }\n\n // use `find` + `indexOf` if `findIndex` isn't supported\n var match = find(arr, function (obj) {\n return obj[prop] === value;\n });\n return arr.indexOf(match);\n}\n\n/**\n * Loop trough the list of modifiers and run them in order,\n * each of them will then edit the data object.\n * @method\n * @memberof Popper.Utils\n * @param {dataObject} data\n * @param {Array} modifiers\n * @param {String} ends - Optional modifier name used as stopper\n * @returns {dataObject}\n */\nfunction runModifiers(modifiers, data, ends) {\n var modifiersToRun = ends === undefined ? modifiers : modifiers.slice(0, findIndex(modifiers, 'name', ends));\n\n modifiersToRun.forEach(function (modifier) {\n if (modifier['function']) {\n // eslint-disable-line dot-notation\n console.warn('`modifier.function` is deprecated, use `modifier.fn`!');\n }\n var fn = modifier['function'] || modifier.fn; // eslint-disable-line dot-notation\n if (modifier.enabled && isFunction(fn)) {\n // Add properties to offsets to make them a complete clientRect object\n // we do this before each modifier to make sure the previous one doesn't\n // mess with these values\n data.offsets.popper = getClientRect(data.offsets.popper);\n data.offsets.reference = getClientRect(data.offsets.reference);\n\n data = fn(data, modifier);\n }\n });\n\n return data;\n}\n\n/**\n * Updates the position of the popper, computing the new offsets and applying\n * the new style.
    \n * Prefer `scheduleUpdate` over `update` because of performance reasons.\n * @method\n * @memberof Popper\n */\nfunction update() {\n // if popper is destroyed, don't perform any further update\n if (this.state.isDestroyed) {\n return;\n }\n\n var data = {\n instance: this,\n styles: {},\n arrowStyles: {},\n attributes: {},\n flipped: false,\n offsets: {}\n };\n\n // compute reference element offsets\n data.offsets.reference = getReferenceOffsets(this.state, this.popper, this.reference, this.options.positionFixed);\n\n // compute auto placement, store placement inside the data object,\n // modifiers will be able to edit `placement` if needed\n // and refer to originalPlacement to know the original value\n data.placement = computeAutoPlacement(this.options.placement, data.offsets.reference, this.popper, this.reference, this.options.modifiers.flip.boundariesElement, this.options.modifiers.flip.padding);\n\n // store the computed placement inside `originalPlacement`\n data.originalPlacement = data.placement;\n\n data.positionFixed = this.options.positionFixed;\n\n // compute the popper offsets\n data.offsets.popper = getPopperOffsets(this.popper, data.offsets.reference, data.placement);\n\n data.offsets.popper.position = this.options.positionFixed ? 'fixed' : 'absolute';\n\n // run the modifiers\n data = runModifiers(this.modifiers, data);\n\n // the first `update` will call `onCreate` callback\n // the other ones will call `onUpdate` callback\n if (!this.state.isCreated) {\n this.state.isCreated = true;\n this.options.onCreate(data);\n } else {\n this.options.onUpdate(data);\n }\n}\n\n/**\n * Helper used to know if the given modifier is enabled.\n * @method\n * @memberof Popper.Utils\n * @returns {Boolean}\n */\nfunction isModifierEnabled(modifiers, modifierName) {\n return modifiers.some(function (_ref) {\n var name = _ref.name,\n enabled = _ref.enabled;\n return enabled && name === modifierName;\n });\n}\n\n/**\n * Get the prefixed supported property name\n * @method\n * @memberof Popper.Utils\n * @argument {String} property (camelCase)\n * @returns {String} prefixed property (camelCase or PascalCase, depending on the vendor prefix)\n */\nfunction getSupportedPropertyName(property) {\n var prefixes = [false, 'ms', 'Webkit', 'Moz', 'O'];\n var upperProp = property.charAt(0).toUpperCase() + property.slice(1);\n\n for (var i = 0; i < prefixes.length; i++) {\n var prefix = prefixes[i];\n var toCheck = prefix ? '' + prefix + upperProp : property;\n if (typeof document.body.style[toCheck] !== 'undefined') {\n return toCheck;\n }\n }\n return null;\n}\n\n/**\n * Destroys the popper.\n * @method\n * @memberof Popper\n */\nfunction destroy() {\n this.state.isDestroyed = true;\n\n // touch DOM only if `applyStyle` modifier is enabled\n if (isModifierEnabled(this.modifiers, 'applyStyle')) {\n this.popper.removeAttribute('x-placement');\n this.popper.style.position = '';\n this.popper.style.top = '';\n this.popper.style.left = '';\n this.popper.style.right = '';\n this.popper.style.bottom = '';\n this.popper.style.willChange = '';\n this.popper.style[getSupportedPropertyName('transform')] = '';\n }\n\n this.disableEventListeners();\n\n // remove the popper if user explicitly asked for the deletion on destroy\n // do not use `remove` because IE11 doesn't support it\n if (this.options.removeOnDestroy) {\n this.popper.parentNode.removeChild(this.popper);\n }\n return this;\n}\n\n/**\n * Get the window associated with the element\n * @argument {Element} element\n * @returns {Window}\n */\nfunction getWindow(element) {\n var ownerDocument = element.ownerDocument;\n return ownerDocument ? ownerDocument.defaultView : window;\n}\n\nfunction attachToScrollParents(scrollParent, event, callback, scrollParents) {\n var isBody = scrollParent.nodeName === 'BODY';\n var target = isBody ? scrollParent.ownerDocument.defaultView : scrollParent;\n target.addEventListener(event, callback, { passive: true });\n\n if (!isBody) {\n attachToScrollParents(getScrollParent(target.parentNode), event, callback, scrollParents);\n }\n scrollParents.push(target);\n}\n\n/**\n * Setup needed event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nfunction setupEventListeners(reference, options, state, updateBound) {\n // Resize event listener on window\n state.updateBound = updateBound;\n getWindow(reference).addEventListener('resize', state.updateBound, { passive: true });\n\n // Scroll event listener on scroll parents\n var scrollElement = getScrollParent(reference);\n attachToScrollParents(scrollElement, 'scroll', state.updateBound, state.scrollParents);\n state.scrollElement = scrollElement;\n state.eventsEnabled = true;\n\n return state;\n}\n\n/**\n * It will add resize/scroll events and start recalculating\n * position of the popper element when they are triggered.\n * @method\n * @memberof Popper\n */\nfunction enableEventListeners() {\n if (!this.state.eventsEnabled) {\n this.state = setupEventListeners(this.reference, this.options, this.state, this.scheduleUpdate);\n }\n}\n\n/**\n * Remove event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nfunction removeEventListeners(reference, state) {\n // Remove resize event listener on window\n getWindow(reference).removeEventListener('resize', state.updateBound);\n\n // Remove scroll event listener on scroll parents\n state.scrollParents.forEach(function (target) {\n target.removeEventListener('scroll', state.updateBound);\n });\n\n // Reset state\n state.updateBound = null;\n state.scrollParents = [];\n state.scrollElement = null;\n state.eventsEnabled = false;\n return state;\n}\n\n/**\n * It will remove resize/scroll events and won't recalculate popper position\n * when they are triggered. It also won't trigger `onUpdate` callback anymore,\n * unless you call `update` method manually.\n * @method\n * @memberof Popper\n */\nfunction disableEventListeners() {\n if (this.state.eventsEnabled) {\n cancelAnimationFrame(this.scheduleUpdate);\n this.state = removeEventListeners(this.reference, this.state);\n }\n}\n\n/**\n * Tells if a given input is a number\n * @method\n * @memberof Popper.Utils\n * @param {*} input to check\n * @return {Boolean}\n */\nfunction isNumeric(n) {\n return n !== '' && !isNaN(parseFloat(n)) && isFinite(n);\n}\n\n/**\n * Set the style to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the style to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nfunction setStyles(element, styles) {\n Object.keys(styles).forEach(function (prop) {\n var unit = '';\n // add unit if the value is numeric and is one of the following\n if (['width', 'height', 'top', 'right', 'bottom', 'left'].indexOf(prop) !== -1 && isNumeric(styles[prop])) {\n unit = 'px';\n }\n element.style[prop] = styles[prop] + unit;\n });\n}\n\n/**\n * Set the attributes to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the attributes to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nfunction setAttributes(element, attributes) {\n Object.keys(attributes).forEach(function (prop) {\n var value = attributes[prop];\n if (value !== false) {\n element.setAttribute(prop, attributes[prop]);\n } else {\n element.removeAttribute(prop);\n }\n });\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} data.styles - List of style properties - values to apply to popper element\n * @argument {Object} data.attributes - List of attribute properties - values to apply to popper element\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The same data object\n */\nfunction applyStyle(data) {\n // any property present in `data.styles` will be applied to the popper,\n // in this way we can make the 3rd party modifiers add custom styles to it\n // Be aware, modifiers could override the properties defined in the previous\n // lines of this modifier!\n setStyles(data.instance.popper, data.styles);\n\n // any property present in `data.attributes` will be applied to the popper,\n // they will be set as HTML attributes of the element\n setAttributes(data.instance.popper, data.attributes);\n\n // if arrowElement is defined and arrowStyles has some properties\n if (data.arrowElement && Object.keys(data.arrowStyles).length) {\n setStyles(data.arrowElement, data.arrowStyles);\n }\n\n return data;\n}\n\n/**\n * Set the x-placement attribute before everything else because it could be used\n * to add margins to the popper margins needs to be calculated to get the\n * correct popper offsets.\n * @method\n * @memberof Popper.modifiers\n * @param {HTMLElement} reference - The reference element used to position the popper\n * @param {HTMLElement} popper - The HTML element used as popper\n * @param {Object} options - Popper.js options\n */\nfunction applyStyleOnLoad(reference, popper, options, modifierOptions, state) {\n // compute reference element offsets\n var referenceOffsets = getReferenceOffsets(state, popper, reference, options.positionFixed);\n\n // compute auto placement, store placement inside the data object,\n // modifiers will be able to edit `placement` if needed\n // and refer to originalPlacement to know the original value\n var placement = computeAutoPlacement(options.placement, referenceOffsets, popper, reference, options.modifiers.flip.boundariesElement, options.modifiers.flip.padding);\n\n popper.setAttribute('x-placement', placement);\n\n // Apply `position` to popper before anything else because\n // without the position applied we can't guarantee correct computations\n setStyles(popper, { position: options.positionFixed ? 'fixed' : 'absolute' });\n\n return options;\n}\n\n/**\n * @function\n * @memberof Popper.Utils\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Boolean} shouldRound - If the offsets should be rounded at all\n * @returns {Object} The popper's position offsets rounded\n *\n * The tale of pixel-perfect positioning. It's still not 100% perfect, but as\n * good as it can be within reason.\n * Discussion here: https://github.com/FezVrasta/popper.js/pull/715\n *\n * Low DPI screens cause a popper to be blurry if not using full pixels (Safari\n * as well on High DPI screens).\n *\n * Firefox prefers no rounding for positioning and does not have blurriness on\n * high DPI screens.\n *\n * Only horizontal placement and left/right values need to be considered.\n */\nfunction getRoundedOffsets(data, shouldRound) {\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n var round = Math.round,\n floor = Math.floor;\n\n var noRound = function noRound(v) {\n return v;\n };\n\n var referenceWidth = round(reference.width);\n var popperWidth = round(popper.width);\n\n var isVertical = ['left', 'right'].indexOf(data.placement) !== -1;\n var isVariation = data.placement.indexOf('-') !== -1;\n var sameWidthParity = referenceWidth % 2 === popperWidth % 2;\n var bothOddWidth = referenceWidth % 2 === 1 && popperWidth % 2 === 1;\n\n var horizontalToInteger = !shouldRound ? noRound : isVertical || isVariation || sameWidthParity ? round : floor;\n var verticalToInteger = !shouldRound ? noRound : round;\n\n return {\n left: horizontalToInteger(bothOddWidth && !isVariation && shouldRound ? popper.left - 1 : popper.left),\n top: verticalToInteger(popper.top),\n bottom: verticalToInteger(popper.bottom),\n right: horizontalToInteger(popper.right)\n };\n}\n\nvar isFirefox = isBrowser && /Firefox/i.test(navigator.userAgent);\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction computeStyle(data, options) {\n var x = options.x,\n y = options.y;\n var popper = data.offsets.popper;\n\n // Remove this legacy support in Popper.js v2\n\n var legacyGpuAccelerationOption = find(data.instance.modifiers, function (modifier) {\n return modifier.name === 'applyStyle';\n }).gpuAcceleration;\n if (legacyGpuAccelerationOption !== undefined) {\n console.warn('WARNING: `gpuAcceleration` option moved to `computeStyle` modifier and will not be supported in future versions of Popper.js!');\n }\n var gpuAcceleration = legacyGpuAccelerationOption !== undefined ? legacyGpuAccelerationOption : options.gpuAcceleration;\n\n var offsetParent = getOffsetParent(data.instance.popper);\n var offsetParentRect = getBoundingClientRect(offsetParent);\n\n // Styles\n var styles = {\n position: popper.position\n };\n\n var offsets = getRoundedOffsets(data, window.devicePixelRatio < 2 || !isFirefox);\n\n var sideA = x === 'bottom' ? 'top' : 'bottom';\n var sideB = y === 'right' ? 'left' : 'right';\n\n // if gpuAcceleration is set to `true` and transform is supported,\n // we use `translate3d` to apply the position to the popper we\n // automatically use the supported prefixed version if needed\n var prefixedProperty = getSupportedPropertyName('transform');\n\n // now, let's make a step back and look at this code closely (wtf?)\n // If the content of the popper grows once it's been positioned, it\n // may happen that the popper gets misplaced because of the new content\n // overflowing its reference element\n // To avoid this problem, we provide two options (x and y), which allow\n // the consumer to define the offset origin.\n // If we position a popper on top of a reference element, we can set\n // `x` to `top` to make the popper grow towards its top instead of\n // its bottom.\n var left = void 0,\n top = void 0;\n if (sideA === 'bottom') {\n // when offsetParent is the positioning is relative to the bottom of the screen (excluding the scrollbar)\n // and not the bottom of the html element\n if (offsetParent.nodeName === 'HTML') {\n top = -offsetParent.clientHeight + offsets.bottom;\n } else {\n top = -offsetParentRect.height + offsets.bottom;\n }\n } else {\n top = offsets.top;\n }\n if (sideB === 'right') {\n if (offsetParent.nodeName === 'HTML') {\n left = -offsetParent.clientWidth + offsets.right;\n } else {\n left = -offsetParentRect.width + offsets.right;\n }\n } else {\n left = offsets.left;\n }\n if (gpuAcceleration && prefixedProperty) {\n styles[prefixedProperty] = 'translate3d(' + left + 'px, ' + top + 'px, 0)';\n styles[sideA] = 0;\n styles[sideB] = 0;\n styles.willChange = 'transform';\n } else {\n // othwerise, we use the standard `top`, `left`, `bottom` and `right` properties\n var invertTop = sideA === 'bottom' ? -1 : 1;\n var invertLeft = sideB === 'right' ? -1 : 1;\n styles[sideA] = top * invertTop;\n styles[sideB] = left * invertLeft;\n styles.willChange = sideA + ', ' + sideB;\n }\n\n // Attributes\n var attributes = {\n 'x-placement': data.placement\n };\n\n // Update `data` attributes, styles and arrowStyles\n data.attributes = _extends({}, attributes, data.attributes);\n data.styles = _extends({}, styles, data.styles);\n data.arrowStyles = _extends({}, data.offsets.arrow, data.arrowStyles);\n\n return data;\n}\n\n/**\n * Helper used to know if the given modifier depends from another one.
    \n * It checks if the needed modifier is listed and enabled.\n * @method\n * @memberof Popper.Utils\n * @param {Array} modifiers - list of modifiers\n * @param {String} requestingName - name of requesting modifier\n * @param {String} requestedName - name of requested modifier\n * @returns {Boolean}\n */\nfunction isModifierRequired(modifiers, requestingName, requestedName) {\n var requesting = find(modifiers, function (_ref) {\n var name = _ref.name;\n return name === requestingName;\n });\n\n var isRequired = !!requesting && modifiers.some(function (modifier) {\n return modifier.name === requestedName && modifier.enabled && modifier.order < requesting.order;\n });\n\n if (!isRequired) {\n var _requesting = '`' + requestingName + '`';\n var requested = '`' + requestedName + '`';\n console.warn(requested + ' modifier is required by ' + _requesting + ' modifier in order to work, be sure to include it before ' + _requesting + '!');\n }\n return isRequired;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction arrow(data, options) {\n var _data$offsets$arrow;\n\n // arrow depends on keepTogether in order to work\n if (!isModifierRequired(data.instance.modifiers, 'arrow', 'keepTogether')) {\n return data;\n }\n\n var arrowElement = options.element;\n\n // if arrowElement is a string, suppose it's a CSS selector\n if (typeof arrowElement === 'string') {\n arrowElement = data.instance.popper.querySelector(arrowElement);\n\n // if arrowElement is not found, don't run the modifier\n if (!arrowElement) {\n return data;\n }\n } else {\n // if the arrowElement isn't a query selector we must check that the\n // provided DOM node is child of its popper node\n if (!data.instance.popper.contains(arrowElement)) {\n console.warn('WARNING: `arrow.element` must be child of its popper element!');\n return data;\n }\n }\n\n var placement = data.placement.split('-')[0];\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var isVertical = ['left', 'right'].indexOf(placement) !== -1;\n\n var len = isVertical ? 'height' : 'width';\n var sideCapitalized = isVertical ? 'Top' : 'Left';\n var side = sideCapitalized.toLowerCase();\n var altSide = isVertical ? 'left' : 'top';\n var opSide = isVertical ? 'bottom' : 'right';\n var arrowElementSize = getOuterSizes(arrowElement)[len];\n\n //\n // extends keepTogether behavior making sure the popper and its\n // reference have enough pixels in conjunction\n //\n\n // top/left side\n if (reference[opSide] - arrowElementSize < popper[side]) {\n data.offsets.popper[side] -= popper[side] - (reference[opSide] - arrowElementSize);\n }\n // bottom/right side\n if (reference[side] + arrowElementSize > popper[opSide]) {\n data.offsets.popper[side] += reference[side] + arrowElementSize - popper[opSide];\n }\n data.offsets.popper = getClientRect(data.offsets.popper);\n\n // compute center of the popper\n var center = reference[side] + reference[len] / 2 - arrowElementSize / 2;\n\n // Compute the sideValue using the updated popper offsets\n // take popper margin in account because we don't have this info available\n var css = getStyleComputedProperty(data.instance.popper);\n var popperMarginSide = parseFloat(css['margin' + sideCapitalized]);\n var popperBorderSide = parseFloat(css['border' + sideCapitalized + 'Width']);\n var sideValue = center - data.offsets.popper[side] - popperMarginSide - popperBorderSide;\n\n // prevent arrowElement from being placed not contiguously to its popper\n sideValue = Math.max(Math.min(popper[len] - arrowElementSize, sideValue), 0);\n\n data.arrowElement = arrowElement;\n data.offsets.arrow = (_data$offsets$arrow = {}, defineProperty(_data$offsets$arrow, side, Math.round(sideValue)), defineProperty(_data$offsets$arrow, altSide, ''), _data$offsets$arrow);\n\n return data;\n}\n\n/**\n * Get the opposite placement variation of the given one\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement variation\n * @returns {String} flipped placement variation\n */\nfunction getOppositeVariation(variation) {\n if (variation === 'end') {\n return 'start';\n } else if (variation === 'start') {\n return 'end';\n }\n return variation;\n}\n\n/**\n * List of accepted placements to use as values of the `placement` option.
    \n * Valid placements are:\n * - `auto`\n * - `top`\n * - `right`\n * - `bottom`\n * - `left`\n *\n * Each placement can have a variation from this list:\n * - `-start`\n * - `-end`\n *\n * Variations are interpreted easily if you think of them as the left to right\n * written languages. Horizontally (`top` and `bottom`), `start` is left and `end`\n * is right.
    \n * Vertically (`left` and `right`), `start` is top and `end` is bottom.\n *\n * Some valid examples are:\n * - `top-end` (on top of reference, right aligned)\n * - `right-start` (on right of reference, top aligned)\n * - `bottom` (on bottom, centered)\n * - `auto-end` (on the side with more space available, alignment depends by placement)\n *\n * @static\n * @type {Array}\n * @enum {String}\n * @readonly\n * @method placements\n * @memberof Popper\n */\nvar placements = ['auto-start', 'auto', 'auto-end', 'top-start', 'top', 'top-end', 'right-start', 'right', 'right-end', 'bottom-end', 'bottom', 'bottom-start', 'left-end', 'left', 'left-start'];\n\n// Get rid of `auto` `auto-start` and `auto-end`\nvar validPlacements = placements.slice(3);\n\n/**\n * Given an initial placement, returns all the subsequent placements\n * clockwise (or counter-clockwise).\n *\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement - A valid placement (it accepts variations)\n * @argument {Boolean} counter - Set to true to walk the placements counterclockwise\n * @returns {Array} placements including their variations\n */\nfunction clockwise(placement) {\n var counter = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n var index = validPlacements.indexOf(placement);\n var arr = validPlacements.slice(index + 1).concat(validPlacements.slice(0, index));\n return counter ? arr.reverse() : arr;\n}\n\nvar BEHAVIORS = {\n FLIP: 'flip',\n CLOCKWISE: 'clockwise',\n COUNTERCLOCKWISE: 'counterclockwise'\n};\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction flip(data, options) {\n // if `inner` modifier is enabled, we can't use the `flip` modifier\n if (isModifierEnabled(data.instance.modifiers, 'inner')) {\n return data;\n }\n\n if (data.flipped && data.placement === data.originalPlacement) {\n // seems like flip is trying to loop, probably there's not enough space on any of the flippable sides\n return data;\n }\n\n var boundaries = getBoundaries(data.instance.popper, data.instance.reference, options.padding, options.boundariesElement, data.positionFixed);\n\n var placement = data.placement.split('-')[0];\n var placementOpposite = getOppositePlacement(placement);\n var variation = data.placement.split('-')[1] || '';\n\n var flipOrder = [];\n\n switch (options.behavior) {\n case BEHAVIORS.FLIP:\n flipOrder = [placement, placementOpposite];\n break;\n case BEHAVIORS.CLOCKWISE:\n flipOrder = clockwise(placement);\n break;\n case BEHAVIORS.COUNTERCLOCKWISE:\n flipOrder = clockwise(placement, true);\n break;\n default:\n flipOrder = options.behavior;\n }\n\n flipOrder.forEach(function (step, index) {\n if (placement !== step || flipOrder.length === index + 1) {\n return data;\n }\n\n placement = data.placement.split('-')[0];\n placementOpposite = getOppositePlacement(placement);\n\n var popperOffsets = data.offsets.popper;\n var refOffsets = data.offsets.reference;\n\n // using floor because the reference offsets may contain decimals we are not going to consider here\n var floor = Math.floor;\n var overlapsRef = placement === 'left' && floor(popperOffsets.right) > floor(refOffsets.left) || placement === 'right' && floor(popperOffsets.left) < floor(refOffsets.right) || placement === 'top' && floor(popperOffsets.bottom) > floor(refOffsets.top) || placement === 'bottom' && floor(popperOffsets.top) < floor(refOffsets.bottom);\n\n var overflowsLeft = floor(popperOffsets.left) < floor(boundaries.left);\n var overflowsRight = floor(popperOffsets.right) > floor(boundaries.right);\n var overflowsTop = floor(popperOffsets.top) < floor(boundaries.top);\n var overflowsBottom = floor(popperOffsets.bottom) > floor(boundaries.bottom);\n\n var overflowsBoundaries = placement === 'left' && overflowsLeft || placement === 'right' && overflowsRight || placement === 'top' && overflowsTop || placement === 'bottom' && overflowsBottom;\n\n // flip the variation if required\n var isVertical = ['top', 'bottom'].indexOf(placement) !== -1;\n\n // flips variation if reference element overflows boundaries\n var flippedVariationByRef = !!options.flipVariations && (isVertical && variation === 'start' && overflowsLeft || isVertical && variation === 'end' && overflowsRight || !isVertical && variation === 'start' && overflowsTop || !isVertical && variation === 'end' && overflowsBottom);\n\n // flips variation if popper content overflows boundaries\n var flippedVariationByContent = !!options.flipVariationsByContent && (isVertical && variation === 'start' && overflowsRight || isVertical && variation === 'end' && overflowsLeft || !isVertical && variation === 'start' && overflowsBottom || !isVertical && variation === 'end' && overflowsTop);\n\n var flippedVariation = flippedVariationByRef || flippedVariationByContent;\n\n if (overlapsRef || overflowsBoundaries || flippedVariation) {\n // this boolean to detect any flip loop\n data.flipped = true;\n\n if (overlapsRef || overflowsBoundaries) {\n placement = flipOrder[index + 1];\n }\n\n if (flippedVariation) {\n variation = getOppositeVariation(variation);\n }\n\n data.placement = placement + (variation ? '-' + variation : '');\n\n // this object contains `position`, we want to preserve it along with\n // any additional property we may add in the future\n data.offsets.popper = _extends({}, data.offsets.popper, getPopperOffsets(data.instance.popper, data.offsets.reference, data.placement));\n\n data = runModifiers(data.instance.modifiers, data, 'flip');\n }\n });\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction keepTogether(data) {\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var placement = data.placement.split('-')[0];\n var floor = Math.floor;\n var isVertical = ['top', 'bottom'].indexOf(placement) !== -1;\n var side = isVertical ? 'right' : 'bottom';\n var opSide = isVertical ? 'left' : 'top';\n var measurement = isVertical ? 'width' : 'height';\n\n if (popper[side] < floor(reference[opSide])) {\n data.offsets.popper[opSide] = floor(reference[opSide]) - popper[measurement];\n }\n if (popper[opSide] > floor(reference[side])) {\n data.offsets.popper[opSide] = floor(reference[side]);\n }\n\n return data;\n}\n\n/**\n * Converts a string containing value + unit into a px value number\n * @function\n * @memberof {modifiers~offset}\n * @private\n * @argument {String} str - Value + unit string\n * @argument {String} measurement - `height` or `width`\n * @argument {Object} popperOffsets\n * @argument {Object} referenceOffsets\n * @returns {Number|String}\n * Value in pixels, or original string if no values were extracted\n */\nfunction toValue(str, measurement, popperOffsets, referenceOffsets) {\n // separate value from unit\n var split = str.match(/((?:\\-|\\+)?\\d*\\.?\\d*)(.*)/);\n var value = +split[1];\n var unit = split[2];\n\n // If it's not a number it's an operator, I guess\n if (!value) {\n return str;\n }\n\n if (unit.indexOf('%') === 0) {\n var element = void 0;\n switch (unit) {\n case '%p':\n element = popperOffsets;\n break;\n case '%':\n case '%r':\n default:\n element = referenceOffsets;\n }\n\n var rect = getClientRect(element);\n return rect[measurement] / 100 * value;\n } else if (unit === 'vh' || unit === 'vw') {\n // if is a vh or vw, we calculate the size based on the viewport\n var size = void 0;\n if (unit === 'vh') {\n size = Math.max(document.documentElement.clientHeight, window.innerHeight || 0);\n } else {\n size = Math.max(document.documentElement.clientWidth, window.innerWidth || 0);\n }\n return size / 100 * value;\n } else {\n // if is an explicit pixel unit, we get rid of the unit and keep the value\n // if is an implicit unit, it's px, and we return just the value\n return value;\n }\n}\n\n/**\n * Parse an `offset` string to extrapolate `x` and `y` numeric offsets.\n * @function\n * @memberof {modifiers~offset}\n * @private\n * @argument {String} offset\n * @argument {Object} popperOffsets\n * @argument {Object} referenceOffsets\n * @argument {String} basePlacement\n * @returns {Array} a two cells array with x and y offsets in numbers\n */\nfunction parseOffset(offset, popperOffsets, referenceOffsets, basePlacement) {\n var offsets = [0, 0];\n\n // Use height if placement is left or right and index is 0 otherwise use width\n // in this way the first offset will use an axis and the second one\n // will use the other one\n var useHeight = ['right', 'left'].indexOf(basePlacement) !== -1;\n\n // Split the offset string to obtain a list of values and operands\n // The regex addresses values with the plus or minus sign in front (+10, -20, etc)\n var fragments = offset.split(/(\\+|\\-)/).map(function (frag) {\n return frag.trim();\n });\n\n // Detect if the offset string contains a pair of values or a single one\n // they could be separated by comma or space\n var divider = fragments.indexOf(find(fragments, function (frag) {\n return frag.search(/,|\\s/) !== -1;\n }));\n\n if (fragments[divider] && fragments[divider].indexOf(',') === -1) {\n console.warn('Offsets separated by white space(s) are deprecated, use a comma (,) instead.');\n }\n\n // If divider is found, we divide the list of values and operands to divide\n // them by ofset X and Y.\n var splitRegex = /\\s*,\\s*|\\s+/;\n var ops = divider !== -1 ? [fragments.slice(0, divider).concat([fragments[divider].split(splitRegex)[0]]), [fragments[divider].split(splitRegex)[1]].concat(fragments.slice(divider + 1))] : [fragments];\n\n // Convert the values with units to absolute pixels to allow our computations\n ops = ops.map(function (op, index) {\n // Most of the units rely on the orientation of the popper\n var measurement = (index === 1 ? !useHeight : useHeight) ? 'height' : 'width';\n var mergeWithPrevious = false;\n return op\n // This aggregates any `+` or `-` sign that aren't considered operators\n // e.g.: 10 + +5 => [10, +, +5]\n .reduce(function (a, b) {\n if (a[a.length - 1] === '' && ['+', '-'].indexOf(b) !== -1) {\n a[a.length - 1] = b;\n mergeWithPrevious = true;\n return a;\n } else if (mergeWithPrevious) {\n a[a.length - 1] += b;\n mergeWithPrevious = false;\n return a;\n } else {\n return a.concat(b);\n }\n }, [])\n // Here we convert the string values into number values (in px)\n .map(function (str) {\n return toValue(str, measurement, popperOffsets, referenceOffsets);\n });\n });\n\n // Loop trough the offsets arrays and execute the operations\n ops.forEach(function (op, index) {\n op.forEach(function (frag, index2) {\n if (isNumeric(frag)) {\n offsets[index] += frag * (op[index2 - 1] === '-' ? -1 : 1);\n }\n });\n });\n return offsets;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @argument {Number|String} options.offset=0\n * The offset value as described in the modifier description\n * @returns {Object} The data object, properly modified\n */\nfunction offset(data, _ref) {\n var offset = _ref.offset;\n var placement = data.placement,\n _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var basePlacement = placement.split('-')[0];\n\n var offsets = void 0;\n if (isNumeric(+offset)) {\n offsets = [+offset, 0];\n } else {\n offsets = parseOffset(offset, popper, reference, basePlacement);\n }\n\n if (basePlacement === 'left') {\n popper.top += offsets[0];\n popper.left -= offsets[1];\n } else if (basePlacement === 'right') {\n popper.top += offsets[0];\n popper.left += offsets[1];\n } else if (basePlacement === 'top') {\n popper.left += offsets[0];\n popper.top -= offsets[1];\n } else if (basePlacement === 'bottom') {\n popper.left += offsets[0];\n popper.top += offsets[1];\n }\n\n data.popper = popper;\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction preventOverflow(data, options) {\n var boundariesElement = options.boundariesElement || getOffsetParent(data.instance.popper);\n\n // If offsetParent is the reference element, we really want to\n // go one step up and use the next offsetParent as reference to\n // avoid to make this modifier completely useless and look like broken\n if (data.instance.reference === boundariesElement) {\n boundariesElement = getOffsetParent(boundariesElement);\n }\n\n // NOTE: DOM access here\n // resets the popper's position so that the document size can be calculated excluding\n // the size of the popper element itself\n var transformProp = getSupportedPropertyName('transform');\n var popperStyles = data.instance.popper.style; // assignment to help minification\n var top = popperStyles.top,\n left = popperStyles.left,\n transform = popperStyles[transformProp];\n\n popperStyles.top = '';\n popperStyles.left = '';\n popperStyles[transformProp] = '';\n\n var boundaries = getBoundaries(data.instance.popper, data.instance.reference, options.padding, boundariesElement, data.positionFixed);\n\n // NOTE: DOM access here\n // restores the original style properties after the offsets have been computed\n popperStyles.top = top;\n popperStyles.left = left;\n popperStyles[transformProp] = transform;\n\n options.boundaries = boundaries;\n\n var order = options.priority;\n var popper = data.offsets.popper;\n\n var check = {\n primary: function primary(placement) {\n var value = popper[placement];\n if (popper[placement] < boundaries[placement] && !options.escapeWithReference) {\n value = Math.max(popper[placement], boundaries[placement]);\n }\n return defineProperty({}, placement, value);\n },\n secondary: function secondary(placement) {\n var mainSide = placement === 'right' ? 'left' : 'top';\n var value = popper[mainSide];\n if (popper[placement] > boundaries[placement] && !options.escapeWithReference) {\n value = Math.min(popper[mainSide], boundaries[placement] - (placement === 'right' ? popper.width : popper.height));\n }\n return defineProperty({}, mainSide, value);\n }\n };\n\n order.forEach(function (placement) {\n var side = ['left', 'top'].indexOf(placement) !== -1 ? 'primary' : 'secondary';\n popper = _extends({}, popper, check[side](placement));\n });\n\n data.offsets.popper = popper;\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction shift(data) {\n var placement = data.placement;\n var basePlacement = placement.split('-')[0];\n var shiftvariation = placement.split('-')[1];\n\n // if shift shiftvariation is specified, run the modifier\n if (shiftvariation) {\n var _data$offsets = data.offsets,\n reference = _data$offsets.reference,\n popper = _data$offsets.popper;\n\n var isVertical = ['bottom', 'top'].indexOf(basePlacement) !== -1;\n var side = isVertical ? 'left' : 'top';\n var measurement = isVertical ? 'width' : 'height';\n\n var shiftOffsets = {\n start: defineProperty({}, side, reference[side]),\n end: defineProperty({}, side, reference[side] + reference[measurement] - popper[measurement])\n };\n\n data.offsets.popper = _extends({}, popper, shiftOffsets[shiftvariation]);\n }\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction hide(data) {\n if (!isModifierRequired(data.instance.modifiers, 'hide', 'preventOverflow')) {\n return data;\n }\n\n var refRect = data.offsets.reference;\n var bound = find(data.instance.modifiers, function (modifier) {\n return modifier.name === 'preventOverflow';\n }).boundaries;\n\n if (refRect.bottom < bound.top || refRect.left > bound.right || refRect.top > bound.bottom || refRect.right < bound.left) {\n // Avoid unnecessary DOM access if visibility hasn't changed\n if (data.hide === true) {\n return data;\n }\n\n data.hide = true;\n data.attributes['x-out-of-boundaries'] = '';\n } else {\n // Avoid unnecessary DOM access if visibility hasn't changed\n if (data.hide === false) {\n return data;\n }\n\n data.hide = false;\n data.attributes['x-out-of-boundaries'] = false;\n }\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction inner(data) {\n var placement = data.placement;\n var basePlacement = placement.split('-')[0];\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var isHoriz = ['left', 'right'].indexOf(basePlacement) !== -1;\n\n var subtractLength = ['top', 'left'].indexOf(basePlacement) === -1;\n\n popper[isHoriz ? 'left' : 'top'] = reference[basePlacement] - (subtractLength ? popper[isHoriz ? 'width' : 'height'] : 0);\n\n data.placement = getOppositePlacement(placement);\n data.offsets.popper = getClientRect(popper);\n\n return data;\n}\n\n/**\n * Modifier function, each modifier can have a function of this type assigned\n * to its `fn` property.
    \n * These functions will be called on each update, this means that you must\n * make sure they are performant enough to avoid performance bottlenecks.\n *\n * @function ModifierFn\n * @argument {dataObject} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {dataObject} The data object, properly modified\n */\n\n/**\n * Modifiers are plugins used to alter the behavior of your poppers.
    \n * Popper.js uses a set of 9 modifiers to provide all the basic functionalities\n * needed by the library.\n *\n * Usually you don't want to override the `order`, `fn` and `onLoad` props.\n * All the other properties are configurations that could be tweaked.\n * @namespace modifiers\n */\nvar modifiers = {\n /**\n * Modifier used to shift the popper on the start or end of its reference\n * element.
    \n * It will read the variation of the `placement` property.
    \n * It can be one either `-end` or `-start`.\n * @memberof modifiers\n * @inner\n */\n shift: {\n /** @prop {number} order=100 - Index used to define the order of execution */\n order: 100,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: shift\n },\n\n /**\n * The `offset` modifier can shift your popper on both its axis.\n *\n * It accepts the following units:\n * - `px` or unit-less, interpreted as pixels\n * - `%` or `%r`, percentage relative to the length of the reference element\n * - `%p`, percentage relative to the length of the popper element\n * - `vw`, CSS viewport width unit\n * - `vh`, CSS viewport height unit\n *\n * For length is intended the main axis relative to the placement of the popper.
    \n * This means that if the placement is `top` or `bottom`, the length will be the\n * `width`. In case of `left` or `right`, it will be the `height`.\n *\n * You can provide a single value (as `Number` or `String`), or a pair of values\n * as `String` divided by a comma or one (or more) white spaces.
    \n * The latter is a deprecated method because it leads to confusion and will be\n * removed in v2.
    \n * Additionally, it accepts additions and subtractions between different units.\n * Note that multiplications and divisions aren't supported.\n *\n * Valid examples are:\n * ```\n * 10\n * '10%'\n * '10, 10'\n * '10%, 10'\n * '10 + 10%'\n * '10 - 5vh + 3%'\n * '-10px + 5vh, 5px - 6%'\n * ```\n * > **NB**: If you desire to apply offsets to your poppers in a way that may make them overlap\n * > with their reference element, unfortunately, you will have to disable the `flip` modifier.\n * > You can read more on this at this [issue](https://github.com/FezVrasta/popper.js/issues/373).\n *\n * @memberof modifiers\n * @inner\n */\n offset: {\n /** @prop {number} order=200 - Index used to define the order of execution */\n order: 200,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: offset,\n /** @prop {Number|String} offset=0\n * The offset value as described in the modifier description\n */\n offset: 0\n },\n\n /**\n * Modifier used to prevent the popper from being positioned outside the boundary.\n *\n * A scenario exists where the reference itself is not within the boundaries.
    \n * We can say it has \"escaped the boundaries\" — or just \"escaped\".
    \n * In this case we need to decide whether the popper should either:\n *\n * - detach from the reference and remain \"trapped\" in the boundaries, or\n * - if it should ignore the boundary and \"escape with its reference\"\n *\n * When `escapeWithReference` is set to`true` and reference is completely\n * outside its boundaries, the popper will overflow (or completely leave)\n * the boundaries in order to remain attached to the edge of the reference.\n *\n * @memberof modifiers\n * @inner\n */\n preventOverflow: {\n /** @prop {number} order=300 - Index used to define the order of execution */\n order: 300,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: preventOverflow,\n /**\n * @prop {Array} [priority=['left','right','top','bottom']]\n * Popper will try to prevent overflow following these priorities by default,\n * then, it could overflow on the left and on top of the `boundariesElement`\n */\n priority: ['left', 'right', 'top', 'bottom'],\n /**\n * @prop {number} padding=5\n * Amount of pixel used to define a minimum distance between the boundaries\n * and the popper. This makes sure the popper always has a little padding\n * between the edges of its container\n */\n padding: 5,\n /**\n * @prop {String|HTMLElement} boundariesElement='scrollParent'\n * Boundaries used by the modifier. Can be `scrollParent`, `window`,\n * `viewport` or any DOM element.\n */\n boundariesElement: 'scrollParent'\n },\n\n /**\n * Modifier used to make sure the reference and its popper stay near each other\n * without leaving any gap between the two. Especially useful when the arrow is\n * enabled and you want to ensure that it points to its reference element.\n * It cares only about the first axis. You can still have poppers with margin\n * between the popper and its reference element.\n * @memberof modifiers\n * @inner\n */\n keepTogether: {\n /** @prop {number} order=400 - Index used to define the order of execution */\n order: 400,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: keepTogether\n },\n\n /**\n * This modifier is used to move the `arrowElement` of the popper to make\n * sure it is positioned between the reference element and its popper element.\n * It will read the outer size of the `arrowElement` node to detect how many\n * pixels of conjunction are needed.\n *\n * It has no effect if no `arrowElement` is provided.\n * @memberof modifiers\n * @inner\n */\n arrow: {\n /** @prop {number} order=500 - Index used to define the order of execution */\n order: 500,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: arrow,\n /** @prop {String|HTMLElement} element='[x-arrow]' - Selector or node used as arrow */\n element: '[x-arrow]'\n },\n\n /**\n * Modifier used to flip the popper's placement when it starts to overlap its\n * reference element.\n *\n * Requires the `preventOverflow` modifier before it in order to work.\n *\n * **NOTE:** this modifier will interrupt the current update cycle and will\n * restart it if it detects the need to flip the placement.\n * @memberof modifiers\n * @inner\n */\n flip: {\n /** @prop {number} order=600 - Index used to define the order of execution */\n order: 600,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: flip,\n /**\n * @prop {String|Array} behavior='flip'\n * The behavior used to change the popper's placement. It can be one of\n * `flip`, `clockwise`, `counterclockwise` or an array with a list of valid\n * placements (with optional variations)\n */\n behavior: 'flip',\n /**\n * @prop {number} padding=5\n * The popper will flip if it hits the edges of the `boundariesElement`\n */\n padding: 5,\n /**\n * @prop {String|HTMLElement} boundariesElement='viewport'\n * The element which will define the boundaries of the popper position.\n * The popper will never be placed outside of the defined boundaries\n * (except if `keepTogether` is enabled)\n */\n boundariesElement: 'viewport',\n /**\n * @prop {Boolean} flipVariations=false\n * The popper will switch placement variation between `-start` and `-end` when\n * the reference element overlaps its boundaries.\n *\n * The original placement should have a set variation.\n */\n flipVariations: false,\n /**\n * @prop {Boolean} flipVariationsByContent=false\n * The popper will switch placement variation between `-start` and `-end` when\n * the popper element overlaps its reference boundaries.\n *\n * The original placement should have a set variation.\n */\n flipVariationsByContent: false\n },\n\n /**\n * Modifier used to make the popper flow toward the inner of the reference element.\n * By default, when this modifier is disabled, the popper will be placed outside\n * the reference element.\n * @memberof modifiers\n * @inner\n */\n inner: {\n /** @prop {number} order=700 - Index used to define the order of execution */\n order: 700,\n /** @prop {Boolean} enabled=false - Whether the modifier is enabled or not */\n enabled: false,\n /** @prop {ModifierFn} */\n fn: inner\n },\n\n /**\n * Modifier used to hide the popper when its reference element is outside of the\n * popper boundaries. It will set a `x-out-of-boundaries` attribute which can\n * be used to hide with a CSS selector the popper when its reference is\n * out of boundaries.\n *\n * Requires the `preventOverflow` modifier before it in order to work.\n * @memberof modifiers\n * @inner\n */\n hide: {\n /** @prop {number} order=800 - Index used to define the order of execution */\n order: 800,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: hide\n },\n\n /**\n * Computes the style that will be applied to the popper element to gets\n * properly positioned.\n *\n * Note that this modifier will not touch the DOM, it just prepares the styles\n * so that `applyStyle` modifier can apply it. This separation is useful\n * in case you need to replace `applyStyle` with a custom implementation.\n *\n * This modifier has `850` as `order` value to maintain backward compatibility\n * with previous versions of Popper.js. Expect the modifiers ordering method\n * to change in future major versions of the library.\n *\n * @memberof modifiers\n * @inner\n */\n computeStyle: {\n /** @prop {number} order=850 - Index used to define the order of execution */\n order: 850,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: computeStyle,\n /**\n * @prop {Boolean} gpuAcceleration=true\n * If true, it uses the CSS 3D transformation to position the popper.\n * Otherwise, it will use the `top` and `left` properties\n */\n gpuAcceleration: true,\n /**\n * @prop {string} [x='bottom']\n * Where to anchor the X axis (`bottom` or `top`). AKA X offset origin.\n * Change this if your popper should grow in a direction different from `bottom`\n */\n x: 'bottom',\n /**\n * @prop {string} [x='left']\n * Where to anchor the Y axis (`left` or `right`). AKA Y offset origin.\n * Change this if your popper should grow in a direction different from `right`\n */\n y: 'right'\n },\n\n /**\n * Applies the computed styles to the popper element.\n *\n * All the DOM manipulations are limited to this modifier. This is useful in case\n * you want to integrate Popper.js inside a framework or view library and you\n * want to delegate all the DOM manipulations to it.\n *\n * Note that if you disable this modifier, you must make sure the popper element\n * has its position set to `absolute` before Popper.js can do its work!\n *\n * Just disable this modifier and define your own to achieve the desired effect.\n *\n * @memberof modifiers\n * @inner\n */\n applyStyle: {\n /** @prop {number} order=900 - Index used to define the order of execution */\n order: 900,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: applyStyle,\n /** @prop {Function} */\n onLoad: applyStyleOnLoad,\n /**\n * @deprecated since version 1.10.0, the property moved to `computeStyle` modifier\n * @prop {Boolean} gpuAcceleration=true\n * If true, it uses the CSS 3D transformation to position the popper.\n * Otherwise, it will use the `top` and `left` properties\n */\n gpuAcceleration: undefined\n }\n};\n\n/**\n * The `dataObject` is an object containing all the information used by Popper.js.\n * This object is passed to modifiers and to the `onCreate` and `onUpdate` callbacks.\n * @name dataObject\n * @property {Object} data.instance The Popper.js instance\n * @property {String} data.placement Placement applied to popper\n * @property {String} data.originalPlacement Placement originally defined on init\n * @property {Boolean} data.flipped True if popper has been flipped by flip modifier\n * @property {Boolean} data.hide True if the reference element is out of boundaries, useful to know when to hide the popper\n * @property {HTMLElement} data.arrowElement Node used as arrow by arrow modifier\n * @property {Object} data.styles Any CSS property defined here will be applied to the popper. It expects the JavaScript nomenclature (eg. `marginBottom`)\n * @property {Object} data.arrowStyles Any CSS property defined here will be applied to the popper arrow. It expects the JavaScript nomenclature (eg. `marginBottom`)\n * @property {Object} data.boundaries Offsets of the popper boundaries\n * @property {Object} data.offsets The measurements of popper, reference and arrow elements\n * @property {Object} data.offsets.popper `top`, `left`, `width`, `height` values\n * @property {Object} data.offsets.reference `top`, `left`, `width`, `height` values\n * @property {Object} data.offsets.arrow] `top` and `left` offsets, only one of them will be different from 0\n */\n\n/**\n * Default options provided to Popper.js constructor.
    \n * These can be overridden using the `options` argument of Popper.js.
    \n * To override an option, simply pass an object with the same\n * structure of the `options` object, as the 3rd argument. For example:\n * ```\n * new Popper(ref, pop, {\n * modifiers: {\n * preventOverflow: { enabled: false }\n * }\n * })\n * ```\n * @type {Object}\n * @static\n * @memberof Popper\n */\nvar Defaults = {\n /**\n * Popper's placement.\n * @prop {Popper.placements} placement='bottom'\n */\n placement: 'bottom',\n\n /**\n * Set this to true if you want popper to position it self in 'fixed' mode\n * @prop {Boolean} positionFixed=false\n */\n positionFixed: false,\n\n /**\n * Whether events (resize, scroll) are initially enabled.\n * @prop {Boolean} eventsEnabled=true\n */\n eventsEnabled: true,\n\n /**\n * Set to true if you want to automatically remove the popper when\n * you call the `destroy` method.\n * @prop {Boolean} removeOnDestroy=false\n */\n removeOnDestroy: false,\n\n /**\n * Callback called when the popper is created.
    \n * By default, it is set to no-op.
    \n * Access Popper.js instance with `data.instance`.\n * @prop {onCreate}\n */\n onCreate: function onCreate() {},\n\n /**\n * Callback called when the popper is updated. This callback is not called\n * on the initialization/creation of the popper, but only on subsequent\n * updates.
    \n * By default, it is set to no-op.
    \n * Access Popper.js instance with `data.instance`.\n * @prop {onUpdate}\n */\n onUpdate: function onUpdate() {},\n\n /**\n * List of modifiers used to modify the offsets before they are applied to the popper.\n * They provide most of the functionalities of Popper.js.\n * @prop {modifiers}\n */\n modifiers: modifiers\n};\n\n/**\n * @callback onCreate\n * @param {dataObject} data\n */\n\n/**\n * @callback onUpdate\n * @param {dataObject} data\n */\n\n// Utils\n// Methods\nvar Popper = function () {\n /**\n * Creates a new Popper.js instance.\n * @class Popper\n * @param {Element|referenceObject} reference - The reference element used to position the popper\n * @param {Element} popper - The HTML / XML element used as the popper\n * @param {Object} options - Your custom options to override the ones defined in [Defaults](#defaults)\n * @return {Object} instance - The generated Popper.js instance\n */\n function Popper(reference, popper) {\n var _this = this;\n\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n classCallCheck(this, Popper);\n\n this.scheduleUpdate = function () {\n return requestAnimationFrame(_this.update);\n };\n\n // make update() debounced, so that it only runs at most once-per-tick\n this.update = debounce(this.update.bind(this));\n\n // with {} we create a new object with the options inside it\n this.options = _extends({}, Popper.Defaults, options);\n\n // init state\n this.state = {\n isDestroyed: false,\n isCreated: false,\n scrollParents: []\n };\n\n // get reference and popper elements (allow jQuery wrappers)\n this.reference = reference && reference.jquery ? reference[0] : reference;\n this.popper = popper && popper.jquery ? popper[0] : popper;\n\n // Deep merge modifiers options\n this.options.modifiers = {};\n Object.keys(_extends({}, Popper.Defaults.modifiers, options.modifiers)).forEach(function (name) {\n _this.options.modifiers[name] = _extends({}, Popper.Defaults.modifiers[name] || {}, options.modifiers ? options.modifiers[name] : {});\n });\n\n // Refactoring modifiers' list (Object => Array)\n this.modifiers = Object.keys(this.options.modifiers).map(function (name) {\n return _extends({\n name: name\n }, _this.options.modifiers[name]);\n })\n // sort the modifiers by order\n .sort(function (a, b) {\n return a.order - b.order;\n });\n\n // modifiers have the ability to execute arbitrary code when Popper.js get inited\n // such code is executed in the same order of its modifier\n // they could add new properties to their options configuration\n // BE AWARE: don't add options to `options.modifiers.name` but to `modifierOptions`!\n this.modifiers.forEach(function (modifierOptions) {\n if (modifierOptions.enabled && isFunction(modifierOptions.onLoad)) {\n modifierOptions.onLoad(_this.reference, _this.popper, _this.options, modifierOptions, _this.state);\n }\n });\n\n // fire the first update to position the popper in the right place\n this.update();\n\n var eventsEnabled = this.options.eventsEnabled;\n if (eventsEnabled) {\n // setup event listeners, they will take care of update the position in specific situations\n this.enableEventListeners();\n }\n\n this.state.eventsEnabled = eventsEnabled;\n }\n\n // We can't use class properties because they don't get listed in the\n // class prototype and break stuff like Sinon stubs\n\n\n createClass(Popper, [{\n key: 'update',\n value: function update$$1() {\n return update.call(this);\n }\n }, {\n key: 'destroy',\n value: function destroy$$1() {\n return destroy.call(this);\n }\n }, {\n key: 'enableEventListeners',\n value: function enableEventListeners$$1() {\n return enableEventListeners.call(this);\n }\n }, {\n key: 'disableEventListeners',\n value: function disableEventListeners$$1() {\n return disableEventListeners.call(this);\n }\n\n /**\n * Schedules an update. It will run on the next UI update available.\n * @method scheduleUpdate\n * @memberof Popper\n */\n\n\n /**\n * Collection of utilities useful when writing custom modifiers.\n * Starting from version 1.7, this method is available only if you\n * include `popper-utils.js` before `popper.js`.\n *\n * **DEPRECATION**: This way to access PopperUtils is deprecated\n * and will be removed in v2! Use the PopperUtils module directly instead.\n * Due to the high instability of the methods contained in Utils, we can't\n * guarantee them to follow semver. Use them at your own risk!\n * @static\n * @private\n * @type {Object}\n * @deprecated since version 1.8\n * @member Utils\n * @memberof Popper\n */\n\n }]);\n return Popper;\n}();\n\n/**\n * The `referenceObject` is an object that provides an interface compatible with Popper.js\n * and lets you use it as replacement of a real DOM node.
    \n * You can use this method to position a popper relatively to a set of coordinates\n * in case you don't have a DOM node to use as reference.\n *\n * ```\n * new Popper(referenceObject, popperNode);\n * ```\n *\n * NB: This feature isn't supported in Internet Explorer 10.\n * @name referenceObject\n * @property {Function} data.getBoundingClientRect\n * A function that returns a set of coordinates compatible with the native `getBoundingClientRect` method.\n * @property {number} data.clientWidth\n * An ES6 getter that will return the width of the virtual reference element.\n * @property {number} data.clientHeight\n * An ES6 getter that will return the height of the virtual reference element.\n */\n\n\nPopper.Utils = (typeof window !== 'undefined' ? window : global).PopperUtils;\nPopper.placements = placements;\nPopper.Defaults = Defaults;\n\nexport default Popper;\n//# sourceMappingURL=popper.js.map\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.6.0): dropdown.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Popper from 'popper.js'\nimport Util from './util'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'dropdown'\nconst VERSION = '4.6.0'\nconst DATA_KEY = 'bs.dropdown'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\nconst ESCAPE_KEYCODE = 27 // KeyboardEvent.which value for Escape (Esc) key\nconst SPACE_KEYCODE = 32 // KeyboardEvent.which value for space key\nconst TAB_KEYCODE = 9 // KeyboardEvent.which value for tab key\nconst ARROW_UP_KEYCODE = 38 // KeyboardEvent.which value for up arrow key\nconst ARROW_DOWN_KEYCODE = 40 // KeyboardEvent.which value for down arrow key\nconst RIGHT_MOUSE_BUTTON_WHICH = 3 // MouseEvent.which value for the right button (assuming a right-handed mouse)\nconst REGEXP_KEYDOWN = new RegExp(`${ARROW_UP_KEYCODE}|${ARROW_DOWN_KEYCODE}|${ESCAPE_KEYCODE}`)\n\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_CLICK = `click${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_KEYDOWN_DATA_API = `keydown${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_KEYUP_DATA_API = `keyup${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_DISABLED = 'disabled'\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_DROPUP = 'dropup'\nconst CLASS_NAME_DROPRIGHT = 'dropright'\nconst CLASS_NAME_DROPLEFT = 'dropleft'\nconst CLASS_NAME_MENURIGHT = 'dropdown-menu-right'\nconst CLASS_NAME_POSITION_STATIC = 'position-static'\n\nconst SELECTOR_DATA_TOGGLE = '[data-toggle=\"dropdown\"]'\nconst SELECTOR_FORM_CHILD = '.dropdown form'\nconst SELECTOR_MENU = '.dropdown-menu'\nconst SELECTOR_NAVBAR_NAV = '.navbar-nav'\nconst SELECTOR_VISIBLE_ITEMS = '.dropdown-menu .dropdown-item:not(.disabled):not(:disabled)'\n\nconst PLACEMENT_TOP = 'top-start'\nconst PLACEMENT_TOPEND = 'top-end'\nconst PLACEMENT_BOTTOM = 'bottom-start'\nconst PLACEMENT_BOTTOMEND = 'bottom-end'\nconst PLACEMENT_RIGHT = 'right-start'\nconst PLACEMENT_LEFT = 'left-start'\n\nconst Default = {\n offset: 0,\n flip: true,\n boundary: 'scrollParent',\n reference: 'toggle',\n display: 'dynamic',\n popperConfig: null\n}\n\nconst DefaultType = {\n offset: '(number|string|function)',\n flip: 'boolean',\n boundary: '(string|element)',\n reference: '(string|element)',\n display: 'string',\n popperConfig: '(null|object)'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Dropdown {\n constructor(element, config) {\n this._element = element\n this._popper = null\n this._config = this._getConfig(config)\n this._menu = this._getMenuElement()\n this._inNavbar = this._detectNavbar()\n\n this._addEventListeners()\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Public\n\n toggle() {\n if (this._element.disabled || $(this._element).hasClass(CLASS_NAME_DISABLED)) {\n return\n }\n\n const isActive = $(this._menu).hasClass(CLASS_NAME_SHOW)\n\n Dropdown._clearMenus()\n\n if (isActive) {\n return\n }\n\n this.show(true)\n }\n\n show(usePopper = false) {\n if (this._element.disabled || $(this._element).hasClass(CLASS_NAME_DISABLED) || $(this._menu).hasClass(CLASS_NAME_SHOW)) {\n return\n }\n\n const relatedTarget = {\n relatedTarget: this._element\n }\n const showEvent = $.Event(EVENT_SHOW, relatedTarget)\n const parent = Dropdown._getParentFromElement(this._element)\n\n $(parent).trigger(showEvent)\n\n if (showEvent.isDefaultPrevented()) {\n return\n }\n\n // Totally disable Popper for Dropdowns in Navbar\n if (!this._inNavbar && usePopper) {\n /**\n * Check for Popper dependency\n * Popper - https://popper.js.org\n */\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap\\'s dropdowns require Popper (https://popper.js.org)')\n }\n\n let referenceElement = this._element\n\n if (this._config.reference === 'parent') {\n referenceElement = parent\n } else if (Util.isElement(this._config.reference)) {\n referenceElement = this._config.reference\n\n // Check if it's jQuery element\n if (typeof this._config.reference.jquery !== 'undefined') {\n referenceElement = this._config.reference[0]\n }\n }\n\n // If boundary is not `scrollParent`, then set position to `static`\n // to allow the menu to \"escape\" the scroll parent's boundaries\n // https://github.com/twbs/bootstrap/issues/24251\n if (this._config.boundary !== 'scrollParent') {\n $(parent).addClass(CLASS_NAME_POSITION_STATIC)\n }\n\n this._popper = new Popper(referenceElement, this._menu, this._getPopperConfig())\n }\n\n // If this is a touch-enabled device we add extra\n // empty mouseover listeners to the body's immediate children;\n // only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n if ('ontouchstart' in document.documentElement &&\n $(parent).closest(SELECTOR_NAVBAR_NAV).length === 0) {\n $(document.body).children().on('mouseover', null, $.noop)\n }\n\n this._element.focus()\n this._element.setAttribute('aria-expanded', true)\n\n $(this._menu).toggleClass(CLASS_NAME_SHOW)\n $(parent)\n .toggleClass(CLASS_NAME_SHOW)\n .trigger($.Event(EVENT_SHOWN, relatedTarget))\n }\n\n hide() {\n if (this._element.disabled || $(this._element).hasClass(CLASS_NAME_DISABLED) || !$(this._menu).hasClass(CLASS_NAME_SHOW)) {\n return\n }\n\n const relatedTarget = {\n relatedTarget: this._element\n }\n const hideEvent = $.Event(EVENT_HIDE, relatedTarget)\n const parent = Dropdown._getParentFromElement(this._element)\n\n $(parent).trigger(hideEvent)\n\n if (hideEvent.isDefaultPrevented()) {\n return\n }\n\n if (this._popper) {\n this._popper.destroy()\n }\n\n $(this._menu).toggleClass(CLASS_NAME_SHOW)\n $(parent)\n .toggleClass(CLASS_NAME_SHOW)\n .trigger($.Event(EVENT_HIDDEN, relatedTarget))\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n $(this._element).off(EVENT_KEY)\n this._element = null\n this._menu = null\n if (this._popper !== null) {\n this._popper.destroy()\n this._popper = null\n }\n }\n\n update() {\n this._inNavbar = this._detectNavbar()\n if (this._popper !== null) {\n this._popper.scheduleUpdate()\n }\n }\n\n // Private\n\n _addEventListeners() {\n $(this._element).on(EVENT_CLICK, event => {\n event.preventDefault()\n event.stopPropagation()\n this.toggle()\n })\n }\n\n _getConfig(config) {\n config = {\n ...this.constructor.Default,\n ...$(this._element).data(),\n ...config\n }\n\n Util.typeCheckConfig(\n NAME,\n config,\n this.constructor.DefaultType\n )\n\n return config\n }\n\n _getMenuElement() {\n if (!this._menu) {\n const parent = Dropdown._getParentFromElement(this._element)\n\n if (parent) {\n this._menu = parent.querySelector(SELECTOR_MENU)\n }\n }\n\n return this._menu\n }\n\n _getPlacement() {\n const $parentDropdown = $(this._element.parentNode)\n let placement = PLACEMENT_BOTTOM\n\n // Handle dropup\n if ($parentDropdown.hasClass(CLASS_NAME_DROPUP)) {\n placement = $(this._menu).hasClass(CLASS_NAME_MENURIGHT) ?\n PLACEMENT_TOPEND :\n PLACEMENT_TOP\n } else if ($parentDropdown.hasClass(CLASS_NAME_DROPRIGHT)) {\n placement = PLACEMENT_RIGHT\n } else if ($parentDropdown.hasClass(CLASS_NAME_DROPLEFT)) {\n placement = PLACEMENT_LEFT\n } else if ($(this._menu).hasClass(CLASS_NAME_MENURIGHT)) {\n placement = PLACEMENT_BOTTOMEND\n }\n\n return placement\n }\n\n _detectNavbar() {\n return $(this._element).closest('.navbar').length > 0\n }\n\n _getOffset() {\n const offset = {}\n\n if (typeof this._config.offset === 'function') {\n offset.fn = data => {\n data.offsets = {\n ...data.offsets,\n ...(this._config.offset(data.offsets, this._element) || {})\n }\n\n return data\n }\n } else {\n offset.offset = this._config.offset\n }\n\n return offset\n }\n\n _getPopperConfig() {\n const popperConfig = {\n placement: this._getPlacement(),\n modifiers: {\n offset: this._getOffset(),\n flip: {\n enabled: this._config.flip\n },\n preventOverflow: {\n boundariesElement: this._config.boundary\n }\n }\n }\n\n // Disable Popper if we have a static display\n if (this._config.display === 'static') {\n popperConfig.modifiers.applyStyle = {\n enabled: false\n }\n }\n\n return {\n ...popperConfig,\n ...this._config.popperConfig\n }\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = typeof config === 'object' ? config : null\n\n if (!data) {\n data = new Dropdown(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n })\n }\n\n static _clearMenus(event) {\n if (event && (event.which === RIGHT_MOUSE_BUTTON_WHICH ||\n event.type === 'keyup' && event.which !== TAB_KEYCODE)) {\n return\n }\n\n const toggles = [].slice.call(document.querySelectorAll(SELECTOR_DATA_TOGGLE))\n\n for (let i = 0, len = toggles.length; i < len; i++) {\n const parent = Dropdown._getParentFromElement(toggles[i])\n const context = $(toggles[i]).data(DATA_KEY)\n const relatedTarget = {\n relatedTarget: toggles[i]\n }\n\n if (event && event.type === 'click') {\n relatedTarget.clickEvent = event\n }\n\n if (!context) {\n continue\n }\n\n const dropdownMenu = context._menu\n if (!$(parent).hasClass(CLASS_NAME_SHOW)) {\n continue\n }\n\n if (event && (event.type === 'click' &&\n /input|textarea/i.test(event.target.tagName) || event.type === 'keyup' && event.which === TAB_KEYCODE) &&\n $.contains(parent, event.target)) {\n continue\n }\n\n const hideEvent = $.Event(EVENT_HIDE, relatedTarget)\n $(parent).trigger(hideEvent)\n if (hideEvent.isDefaultPrevented()) {\n continue\n }\n\n // If this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n if ('ontouchstart' in document.documentElement) {\n $(document.body).children().off('mouseover', null, $.noop)\n }\n\n toggles[i].setAttribute('aria-expanded', 'false')\n\n if (context._popper) {\n context._popper.destroy()\n }\n\n $(dropdownMenu).removeClass(CLASS_NAME_SHOW)\n $(parent)\n .removeClass(CLASS_NAME_SHOW)\n .trigger($.Event(EVENT_HIDDEN, relatedTarget))\n }\n }\n\n static _getParentFromElement(element) {\n let parent\n const selector = Util.getSelectorFromElement(element)\n\n if (selector) {\n parent = document.querySelector(selector)\n }\n\n return parent || element.parentNode\n }\n\n // eslint-disable-next-line complexity\n static _dataApiKeydownHandler(event) {\n // If not input/textarea:\n // - And not a key in REGEXP_KEYDOWN => not a dropdown command\n // If input/textarea:\n // - If space key => not a dropdown command\n // - If key is other than escape\n // - If key is not up or down => not a dropdown command\n // - If trigger inside the menu => not a dropdown command\n if (/input|textarea/i.test(event.target.tagName) ?\n event.which === SPACE_KEYCODE || event.which !== ESCAPE_KEYCODE &&\n (event.which !== ARROW_DOWN_KEYCODE && event.which !== ARROW_UP_KEYCODE ||\n $(event.target).closest(SELECTOR_MENU).length) : !REGEXP_KEYDOWN.test(event.which)) {\n return\n }\n\n if (this.disabled || $(this).hasClass(CLASS_NAME_DISABLED)) {\n return\n }\n\n const parent = Dropdown._getParentFromElement(this)\n const isActive = $(parent).hasClass(CLASS_NAME_SHOW)\n\n if (!isActive && event.which === ESCAPE_KEYCODE) {\n return\n }\n\n event.preventDefault()\n event.stopPropagation()\n\n if (!isActive || (event.which === ESCAPE_KEYCODE || event.which === SPACE_KEYCODE)) {\n if (event.which === ESCAPE_KEYCODE) {\n $(parent.querySelector(SELECTOR_DATA_TOGGLE)).trigger('focus')\n }\n\n $(this).trigger('click')\n return\n }\n\n const items = [].slice.call(parent.querySelectorAll(SELECTOR_VISIBLE_ITEMS))\n .filter(item => $(item).is(':visible'))\n\n if (items.length === 0) {\n return\n }\n\n let index = items.indexOf(event.target)\n\n if (event.which === ARROW_UP_KEYCODE && index > 0) { // Up\n index--\n }\n\n if (event.which === ARROW_DOWN_KEYCODE && index < items.length - 1) { // Down\n index++\n }\n\n if (index < 0) {\n index = 0\n }\n\n items[index].focus()\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document)\n .on(EVENT_KEYDOWN_DATA_API, SELECTOR_DATA_TOGGLE, Dropdown._dataApiKeydownHandler)\n .on(EVENT_KEYDOWN_DATA_API, SELECTOR_MENU, Dropdown._dataApiKeydownHandler)\n .on(`${EVENT_CLICK_DATA_API} ${EVENT_KEYUP_DATA_API}`, Dropdown._clearMenus)\n .on(EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n event.preventDefault()\n event.stopPropagation()\n Dropdown._jQueryInterface.call($(this), 'toggle')\n })\n .on(EVENT_CLICK_DATA_API, SELECTOR_FORM_CHILD, e => {\n e.stopPropagation()\n })\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Dropdown._jQueryInterface\n$.fn[NAME].Constructor = Dropdown\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Dropdown._jQueryInterface\n}\n\nexport default Dropdown\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.6.0): modal.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Util from './util'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'modal'\nconst VERSION = '4.6.0'\nconst DATA_KEY = 'bs.modal'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\nconst ESCAPE_KEYCODE = 27 // KeyboardEvent.which value for Escape (Esc) key\n\nconst Default = {\n backdrop: true,\n keyboard: true,\n focus: true,\n show: true\n}\n\nconst DefaultType = {\n backdrop: '(boolean|string)',\n keyboard: 'boolean',\n focus: 'boolean',\n show: 'boolean'\n}\n\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDE_PREVENTED = `hidePrevented${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_FOCUSIN = `focusin${EVENT_KEY}`\nconst EVENT_RESIZE = `resize${EVENT_KEY}`\nconst EVENT_CLICK_DISMISS = `click.dismiss${EVENT_KEY}`\nconst EVENT_KEYDOWN_DISMISS = `keydown.dismiss${EVENT_KEY}`\nconst EVENT_MOUSEUP_DISMISS = `mouseup.dismiss${EVENT_KEY}`\nconst EVENT_MOUSEDOWN_DISMISS = `mousedown.dismiss${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_SCROLLABLE = 'modal-dialog-scrollable'\nconst CLASS_NAME_SCROLLBAR_MEASURER = 'modal-scrollbar-measure'\nconst CLASS_NAME_BACKDROP = 'modal-backdrop'\nconst CLASS_NAME_OPEN = 'modal-open'\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_STATIC = 'modal-static'\n\nconst SELECTOR_DIALOG = '.modal-dialog'\nconst SELECTOR_MODAL_BODY = '.modal-body'\nconst SELECTOR_DATA_TOGGLE = '[data-toggle=\"modal\"]'\nconst SELECTOR_DATA_DISMISS = '[data-dismiss=\"modal\"]'\nconst SELECTOR_FIXED_CONTENT = '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top'\nconst SELECTOR_STICKY_CONTENT = '.sticky-top'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Modal {\n constructor(element, config) {\n this._config = this._getConfig(config)\n this._element = element\n this._dialog = element.querySelector(SELECTOR_DIALOG)\n this._backdrop = null\n this._isShown = false\n this._isBodyOverflowing = false\n this._ignoreBackdropClick = false\n this._isTransitioning = false\n this._scrollbarWidth = 0\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n toggle(relatedTarget) {\n return this._isShown ? this.hide() : this.show(relatedTarget)\n }\n\n show(relatedTarget) {\n if (this._isShown || this._isTransitioning) {\n return\n }\n\n if ($(this._element).hasClass(CLASS_NAME_FADE)) {\n this._isTransitioning = true\n }\n\n const showEvent = $.Event(EVENT_SHOW, {\n relatedTarget\n })\n\n $(this._element).trigger(showEvent)\n\n if (this._isShown || showEvent.isDefaultPrevented()) {\n return\n }\n\n this._isShown = true\n\n this._checkScrollbar()\n this._setScrollbar()\n\n this._adjustDialog()\n\n this._setEscapeEvent()\n this._setResizeEvent()\n\n $(this._element).on(\n EVENT_CLICK_DISMISS,\n SELECTOR_DATA_DISMISS,\n event => this.hide(event)\n )\n\n $(this._dialog).on(EVENT_MOUSEDOWN_DISMISS, () => {\n $(this._element).one(EVENT_MOUSEUP_DISMISS, event => {\n if ($(event.target).is(this._element)) {\n this._ignoreBackdropClick = true\n }\n })\n })\n\n this._showBackdrop(() => this._showElement(relatedTarget))\n }\n\n hide(event) {\n if (event) {\n event.preventDefault()\n }\n\n if (!this._isShown || this._isTransitioning) {\n return\n }\n\n const hideEvent = $.Event(EVENT_HIDE)\n\n $(this._element).trigger(hideEvent)\n\n if (!this._isShown || hideEvent.isDefaultPrevented()) {\n return\n }\n\n this._isShown = false\n const transition = $(this._element).hasClass(CLASS_NAME_FADE)\n\n if (transition) {\n this._isTransitioning = true\n }\n\n this._setEscapeEvent()\n this._setResizeEvent()\n\n $(document).off(EVENT_FOCUSIN)\n\n $(this._element).removeClass(CLASS_NAME_SHOW)\n\n $(this._element).off(EVENT_CLICK_DISMISS)\n $(this._dialog).off(EVENT_MOUSEDOWN_DISMISS)\n\n if (transition) {\n const transitionDuration = Util.getTransitionDurationFromElement(this._element)\n\n $(this._element)\n .one(Util.TRANSITION_END, event => this._hideModal(event))\n .emulateTransitionEnd(transitionDuration)\n } else {\n this._hideModal()\n }\n }\n\n dispose() {\n [window, this._element, this._dialog]\n .forEach(htmlElement => $(htmlElement).off(EVENT_KEY))\n\n /**\n * `document` has 2 events `EVENT_FOCUSIN` and `EVENT_CLICK_DATA_API`\n * Do not move `document` in `htmlElements` array\n * It will remove `EVENT_CLICK_DATA_API` event that should remain\n */\n $(document).off(EVENT_FOCUSIN)\n\n $.removeData(this._element, DATA_KEY)\n\n this._config = null\n this._element = null\n this._dialog = null\n this._backdrop = null\n this._isShown = null\n this._isBodyOverflowing = null\n this._ignoreBackdropClick = null\n this._isTransitioning = null\n this._scrollbarWidth = null\n }\n\n handleUpdate() {\n this._adjustDialog()\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n Util.typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _triggerBackdropTransition() {\n const hideEventPrevented = $.Event(EVENT_HIDE_PREVENTED)\n\n $(this._element).trigger(hideEventPrevented)\n if (hideEventPrevented.isDefaultPrevented()) {\n return\n }\n\n const isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight\n\n if (!isModalOverflowing) {\n this._element.style.overflowY = 'hidden'\n }\n\n this._element.classList.add(CLASS_NAME_STATIC)\n\n const modalTransitionDuration = Util.getTransitionDurationFromElement(this._dialog)\n $(this._element).off(Util.TRANSITION_END)\n\n $(this._element).one(Util.TRANSITION_END, () => {\n this._element.classList.remove(CLASS_NAME_STATIC)\n if (!isModalOverflowing) {\n $(this._element).one(Util.TRANSITION_END, () => {\n this._element.style.overflowY = ''\n })\n .emulateTransitionEnd(this._element, modalTransitionDuration)\n }\n })\n .emulateTransitionEnd(modalTransitionDuration)\n this._element.focus()\n }\n\n _showElement(relatedTarget) {\n const transition = $(this._element).hasClass(CLASS_NAME_FADE)\n const modalBody = this._dialog ? this._dialog.querySelector(SELECTOR_MODAL_BODY) : null\n\n if (!this._element.parentNode ||\n this._element.parentNode.nodeType !== Node.ELEMENT_NODE) {\n // Don't move modal's DOM position\n document.body.appendChild(this._element)\n }\n\n this._element.style.display = 'block'\n this._element.removeAttribute('aria-hidden')\n this._element.setAttribute('aria-modal', true)\n this._element.setAttribute('role', 'dialog')\n\n if ($(this._dialog).hasClass(CLASS_NAME_SCROLLABLE) && modalBody) {\n modalBody.scrollTop = 0\n } else {\n this._element.scrollTop = 0\n }\n\n if (transition) {\n Util.reflow(this._element)\n }\n\n $(this._element).addClass(CLASS_NAME_SHOW)\n\n if (this._config.focus) {\n this._enforceFocus()\n }\n\n const shownEvent = $.Event(EVENT_SHOWN, {\n relatedTarget\n })\n\n const transitionComplete = () => {\n if (this._config.focus) {\n this._element.focus()\n }\n\n this._isTransitioning = false\n $(this._element).trigger(shownEvent)\n }\n\n if (transition) {\n const transitionDuration = Util.getTransitionDurationFromElement(this._dialog)\n\n $(this._dialog)\n .one(Util.TRANSITION_END, transitionComplete)\n .emulateTransitionEnd(transitionDuration)\n } else {\n transitionComplete()\n }\n }\n\n _enforceFocus() {\n $(document)\n .off(EVENT_FOCUSIN) // Guard against infinite focus loop\n .on(EVENT_FOCUSIN, event => {\n if (document !== event.target &&\n this._element !== event.target &&\n $(this._element).has(event.target).length === 0) {\n this._element.focus()\n }\n })\n }\n\n _setEscapeEvent() {\n if (this._isShown) {\n $(this._element).on(EVENT_KEYDOWN_DISMISS, event => {\n if (this._config.keyboard && event.which === ESCAPE_KEYCODE) {\n event.preventDefault()\n this.hide()\n } else if (!this._config.keyboard && event.which === ESCAPE_KEYCODE) {\n this._triggerBackdropTransition()\n }\n })\n } else if (!this._isShown) {\n $(this._element).off(EVENT_KEYDOWN_DISMISS)\n }\n }\n\n _setResizeEvent() {\n if (this._isShown) {\n $(window).on(EVENT_RESIZE, event => this.handleUpdate(event))\n } else {\n $(window).off(EVENT_RESIZE)\n }\n }\n\n _hideModal() {\n this._element.style.display = 'none'\n this._element.setAttribute('aria-hidden', true)\n this._element.removeAttribute('aria-modal')\n this._element.removeAttribute('role')\n this._isTransitioning = false\n this._showBackdrop(() => {\n $(document.body).removeClass(CLASS_NAME_OPEN)\n this._resetAdjustments()\n this._resetScrollbar()\n $(this._element).trigger(EVENT_HIDDEN)\n })\n }\n\n _removeBackdrop() {\n if (this._backdrop) {\n $(this._backdrop).remove()\n this._backdrop = null\n }\n }\n\n _showBackdrop(callback) {\n const animate = $(this._element).hasClass(CLASS_NAME_FADE) ?\n CLASS_NAME_FADE : ''\n\n if (this._isShown && this._config.backdrop) {\n this._backdrop = document.createElement('div')\n this._backdrop.className = CLASS_NAME_BACKDROP\n\n if (animate) {\n this._backdrop.classList.add(animate)\n }\n\n $(this._backdrop).appendTo(document.body)\n\n $(this._element).on(EVENT_CLICK_DISMISS, event => {\n if (this._ignoreBackdropClick) {\n this._ignoreBackdropClick = false\n return\n }\n\n if (event.target !== event.currentTarget) {\n return\n }\n\n if (this._config.backdrop === 'static') {\n this._triggerBackdropTransition()\n } else {\n this.hide()\n }\n })\n\n if (animate) {\n Util.reflow(this._backdrop)\n }\n\n $(this._backdrop).addClass(CLASS_NAME_SHOW)\n\n if (!callback) {\n return\n }\n\n if (!animate) {\n callback()\n return\n }\n\n const backdropTransitionDuration = Util.getTransitionDurationFromElement(this._backdrop)\n\n $(this._backdrop)\n .one(Util.TRANSITION_END, callback)\n .emulateTransitionEnd(backdropTransitionDuration)\n } else if (!this._isShown && this._backdrop) {\n $(this._backdrop).removeClass(CLASS_NAME_SHOW)\n\n const callbackRemove = () => {\n this._removeBackdrop()\n if (callback) {\n callback()\n }\n }\n\n if ($(this._element).hasClass(CLASS_NAME_FADE)) {\n const backdropTransitionDuration = Util.getTransitionDurationFromElement(this._backdrop)\n\n $(this._backdrop)\n .one(Util.TRANSITION_END, callbackRemove)\n .emulateTransitionEnd(backdropTransitionDuration)\n } else {\n callbackRemove()\n }\n } else if (callback) {\n callback()\n }\n }\n\n // ----------------------------------------------------------------------\n // the following methods are used to handle overflowing modals\n // todo (fat): these should probably be refactored out of modal.js\n // ----------------------------------------------------------------------\n\n _adjustDialog() {\n const isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight\n\n if (!this._isBodyOverflowing && isModalOverflowing) {\n this._element.style.paddingLeft = `${this._scrollbarWidth}px`\n }\n\n if (this._isBodyOverflowing && !isModalOverflowing) {\n this._element.style.paddingRight = `${this._scrollbarWidth}px`\n }\n }\n\n _resetAdjustments() {\n this._element.style.paddingLeft = ''\n this._element.style.paddingRight = ''\n }\n\n _checkScrollbar() {\n const rect = document.body.getBoundingClientRect()\n this._isBodyOverflowing = Math.round(rect.left + rect.right) < window.innerWidth\n this._scrollbarWidth = this._getScrollbarWidth()\n }\n\n _setScrollbar() {\n if (this._isBodyOverflowing) {\n // Note: DOMNode.style.paddingRight returns the actual value or '' if not set\n // while $(DOMNode).css('padding-right') returns the calculated value or 0 if not set\n const fixedContent = [].slice.call(document.querySelectorAll(SELECTOR_FIXED_CONTENT))\n const stickyContent = [].slice.call(document.querySelectorAll(SELECTOR_STICKY_CONTENT))\n\n // Adjust fixed content padding\n $(fixedContent).each((index, element) => {\n const actualPadding = element.style.paddingRight\n const calculatedPadding = $(element).css('padding-right')\n $(element)\n .data('padding-right', actualPadding)\n .css('padding-right', `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`)\n })\n\n // Adjust sticky content margin\n $(stickyContent).each((index, element) => {\n const actualMargin = element.style.marginRight\n const calculatedMargin = $(element).css('margin-right')\n $(element)\n .data('margin-right', actualMargin)\n .css('margin-right', `${parseFloat(calculatedMargin) - this._scrollbarWidth}px`)\n })\n\n // Adjust body padding\n const actualPadding = document.body.style.paddingRight\n const calculatedPadding = $(document.body).css('padding-right')\n $(document.body)\n .data('padding-right', actualPadding)\n .css('padding-right', `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`)\n }\n\n $(document.body).addClass(CLASS_NAME_OPEN)\n }\n\n _resetScrollbar() {\n // Restore fixed content padding\n const fixedContent = [].slice.call(document.querySelectorAll(SELECTOR_FIXED_CONTENT))\n $(fixedContent).each((index, element) => {\n const padding = $(element).data('padding-right')\n $(element).removeData('padding-right')\n element.style.paddingRight = padding ? padding : ''\n })\n\n // Restore sticky content\n const elements = [].slice.call(document.querySelectorAll(`${SELECTOR_STICKY_CONTENT}`))\n $(elements).each((index, element) => {\n const margin = $(element).data('margin-right')\n if (typeof margin !== 'undefined') {\n $(element).css('margin-right', margin).removeData('margin-right')\n }\n })\n\n // Restore body padding\n const padding = $(document.body).data('padding-right')\n $(document.body).removeData('padding-right')\n document.body.style.paddingRight = padding ? padding : ''\n }\n\n _getScrollbarWidth() { // thx d.walsh\n const scrollDiv = document.createElement('div')\n scrollDiv.className = CLASS_NAME_SCROLLBAR_MEASURER\n document.body.appendChild(scrollDiv)\n const scrollbarWidth = scrollDiv.getBoundingClientRect().width - scrollDiv.clientWidth\n document.body.removeChild(scrollDiv)\n return scrollbarWidth\n }\n\n // Static\n\n static _jQueryInterface(config, relatedTarget) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = {\n ...Default,\n ...$(this).data(),\n ...(typeof config === 'object' && config ? config : {})\n }\n\n if (!data) {\n data = new Modal(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config](relatedTarget)\n } else if (_config.show) {\n data.show(relatedTarget)\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document).on(EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n let target\n const selector = Util.getSelectorFromElement(this)\n\n if (selector) {\n target = document.querySelector(selector)\n }\n\n const config = $(target).data(DATA_KEY) ?\n 'toggle' : {\n ...$(target).data(),\n ...$(this).data()\n }\n\n if (this.tagName === 'A' || this.tagName === 'AREA') {\n event.preventDefault()\n }\n\n const $target = $(target).one(EVENT_SHOW, showEvent => {\n if (showEvent.isDefaultPrevented()) {\n // Only register focus restorer if modal will actually get shown\n return\n }\n\n $target.one(EVENT_HIDDEN, () => {\n if ($(this).is(':visible')) {\n this.focus()\n }\n })\n })\n\n Modal._jQueryInterface.call($(target), config, this)\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Modal._jQueryInterface\n$.fn[NAME].Constructor = Modal\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Modal._jQueryInterface\n}\n\nexport default Modal\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.6.0): tools/sanitizer.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst uriAttrs = [\n 'background',\n 'cite',\n 'href',\n 'itemtype',\n 'longdesc',\n 'poster',\n 'src',\n 'xlink:href'\n]\n\nconst ARIA_ATTRIBUTE_PATTERN = /^aria-[\\w-]*$/i\n\nexport const DefaultWhitelist = {\n // Global attributes allowed on any supplied element below.\n '*': ['class', 'dir', 'id', 'lang', 'role', ARIA_ATTRIBUTE_PATTERN],\n a: ['target', 'href', 'title', 'rel'],\n area: [],\n b: [],\n br: [],\n col: [],\n code: [],\n div: [],\n em: [],\n hr: [],\n h1: [],\n h2: [],\n h3: [],\n h4: [],\n h5: [],\n h6: [],\n i: [],\n img: ['src', 'srcset', 'alt', 'title', 'width', 'height'],\n li: [],\n ol: [],\n p: [],\n pre: [],\n s: [],\n small: [],\n span: [],\n sub: [],\n sup: [],\n strong: [],\n u: [],\n ul: []\n}\n\n/**\n * A pattern that recognizes a commonly useful subset of URLs that are safe.\n *\n * Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/packages/core/src/sanitization/url_sanitizer.ts\n */\nconst SAFE_URL_PATTERN = /^(?:(?:https?|mailto|ftp|tel|file):|[^#&/:?]*(?:[#/?]|$))/gi\n\n/**\n * A pattern that matches safe data URLs. Only matches image, video and audio types.\n *\n * Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/packages/core/src/sanitization/url_sanitizer.ts\n */\nconst DATA_URL_PATTERN = /^data:(?:image\\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\\/(?:mpeg|mp4|ogg|webm)|audio\\/(?:mp3|oga|ogg|opus));base64,[\\d+/a-z]+=*$/i\n\nfunction allowedAttribute(attr, allowedAttributeList) {\n const attrName = attr.nodeName.toLowerCase()\n\n if (allowedAttributeList.indexOf(attrName) !== -1) {\n if (uriAttrs.indexOf(attrName) !== -1) {\n return Boolean(attr.nodeValue.match(SAFE_URL_PATTERN) || attr.nodeValue.match(DATA_URL_PATTERN))\n }\n\n return true\n }\n\n const regExp = allowedAttributeList.filter(attrRegex => attrRegex instanceof RegExp)\n\n // Check if a regular expression validates the attribute.\n for (let i = 0, len = regExp.length; i < len; i++) {\n if (attrName.match(regExp[i])) {\n return true\n }\n }\n\n return false\n}\n\nexport function sanitizeHtml(unsafeHtml, whiteList, sanitizeFn) {\n if (unsafeHtml.length === 0) {\n return unsafeHtml\n }\n\n if (sanitizeFn && typeof sanitizeFn === 'function') {\n return sanitizeFn(unsafeHtml)\n }\n\n const domParser = new window.DOMParser()\n const createdDocument = domParser.parseFromString(unsafeHtml, 'text/html')\n const whitelistKeys = Object.keys(whiteList)\n const elements = [].slice.call(createdDocument.body.querySelectorAll('*'))\n\n for (let i = 0, len = elements.length; i < len; i++) {\n const el = elements[i]\n const elName = el.nodeName.toLowerCase()\n\n if (whitelistKeys.indexOf(el.nodeName.toLowerCase()) === -1) {\n el.parentNode.removeChild(el)\n\n continue\n }\n\n const attributeList = [].slice.call(el.attributes)\n const whitelistedAttributes = [].concat(whiteList['*'] || [], whiteList[elName] || [])\n\n attributeList.forEach(attr => {\n if (!allowedAttribute(attr, whitelistedAttributes)) {\n el.removeAttribute(attr.nodeName)\n }\n })\n }\n\n return createdDocument.body.innerHTML\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.6.0): tooltip.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n DefaultWhitelist,\n sanitizeHtml\n} from './tools/sanitizer'\nimport $ from 'jquery'\nimport Popper from 'popper.js'\nimport Util from './util'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'tooltip'\nconst VERSION = '4.6.0'\nconst DATA_KEY = 'bs.tooltip'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\nconst CLASS_PREFIX = 'bs-tooltip'\nconst BSCLS_PREFIX_REGEX = new RegExp(`(^|\\\\s)${CLASS_PREFIX}\\\\S+`, 'g')\nconst DISALLOWED_ATTRIBUTES = ['sanitize', 'whiteList', 'sanitizeFn']\n\nconst DefaultType = {\n animation: 'boolean',\n template: 'string',\n title: '(string|element|function)',\n trigger: 'string',\n delay: '(number|object)',\n html: 'boolean',\n selector: '(string|boolean)',\n placement: '(string|function)',\n offset: '(number|string|function)',\n container: '(string|element|boolean)',\n fallbackPlacement: '(string|array)',\n boundary: '(string|element)',\n customClass: '(string|function)',\n sanitize: 'boolean',\n sanitizeFn: '(null|function)',\n whiteList: 'object',\n popperConfig: '(null|object)'\n}\n\nconst AttachmentMap = {\n AUTO: 'auto',\n TOP: 'top',\n RIGHT: 'right',\n BOTTOM: 'bottom',\n LEFT: 'left'\n}\n\nconst Default = {\n animation: true,\n template: '
    ' +\n '
    ' +\n '
    ',\n trigger: 'hover focus',\n title: '',\n delay: 0,\n html: false,\n selector: false,\n placement: 'top',\n offset: 0,\n container: false,\n fallbackPlacement: 'flip',\n boundary: 'scrollParent',\n customClass: '',\n sanitize: true,\n sanitizeFn: null,\n whiteList: DefaultWhitelist,\n popperConfig: null\n}\n\nconst HOVER_STATE_SHOW = 'show'\nconst HOVER_STATE_OUT = 'out'\n\nconst Event = {\n HIDE: `hide${EVENT_KEY}`,\n HIDDEN: `hidden${EVENT_KEY}`,\n SHOW: `show${EVENT_KEY}`,\n SHOWN: `shown${EVENT_KEY}`,\n INSERTED: `inserted${EVENT_KEY}`,\n CLICK: `click${EVENT_KEY}`,\n FOCUSIN: `focusin${EVENT_KEY}`,\n FOCUSOUT: `focusout${EVENT_KEY}`,\n MOUSEENTER: `mouseenter${EVENT_KEY}`,\n MOUSELEAVE: `mouseleave${EVENT_KEY}`\n}\n\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\n\nconst SELECTOR_TOOLTIP_INNER = '.tooltip-inner'\nconst SELECTOR_ARROW = '.arrow'\n\nconst TRIGGER_HOVER = 'hover'\nconst TRIGGER_FOCUS = 'focus'\nconst TRIGGER_CLICK = 'click'\nconst TRIGGER_MANUAL = 'manual'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Tooltip {\n constructor(element, config) {\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap\\'s tooltips require Popper (https://popper.js.org)')\n }\n\n // private\n this._isEnabled = true\n this._timeout = 0\n this._hoverState = ''\n this._activeTrigger = {}\n this._popper = null\n\n // Protected\n this.element = element\n this.config = this._getConfig(config)\n this.tip = null\n\n this._setListeners()\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get NAME() {\n return NAME\n }\n\n static get DATA_KEY() {\n return DATA_KEY\n }\n\n static get Event() {\n return Event\n }\n\n static get EVENT_KEY() {\n return EVENT_KEY\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Public\n\n enable() {\n this._isEnabled = true\n }\n\n disable() {\n this._isEnabled = false\n }\n\n toggleEnabled() {\n this._isEnabled = !this._isEnabled\n }\n\n toggle(event) {\n if (!this._isEnabled) {\n return\n }\n\n if (event) {\n const dataKey = this.constructor.DATA_KEY\n let context = $(event.currentTarget).data(dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.currentTarget,\n this._getDelegateConfig()\n )\n $(event.currentTarget).data(dataKey, context)\n }\n\n context._activeTrigger.click = !context._activeTrigger.click\n\n if (context._isWithActiveTrigger()) {\n context._enter(null, context)\n } else {\n context._leave(null, context)\n }\n } else {\n if ($(this.getTipElement()).hasClass(CLASS_NAME_SHOW)) {\n this._leave(null, this)\n return\n }\n\n this._enter(null, this)\n }\n }\n\n dispose() {\n clearTimeout(this._timeout)\n\n $.removeData(this.element, this.constructor.DATA_KEY)\n\n $(this.element).off(this.constructor.EVENT_KEY)\n $(this.element).closest('.modal').off('hide.bs.modal', this._hideModalHandler)\n\n if (this.tip) {\n $(this.tip).remove()\n }\n\n this._isEnabled = null\n this._timeout = null\n this._hoverState = null\n this._activeTrigger = null\n if (this._popper) {\n this._popper.destroy()\n }\n\n this._popper = null\n this.element = null\n this.config = null\n this.tip = null\n }\n\n show() {\n if ($(this.element).css('display') === 'none') {\n throw new Error('Please use show on visible elements')\n }\n\n const showEvent = $.Event(this.constructor.Event.SHOW)\n if (this.isWithContent() && this._isEnabled) {\n $(this.element).trigger(showEvent)\n\n const shadowRoot = Util.findShadowRoot(this.element)\n const isInTheDom = $.contains(\n shadowRoot !== null ? shadowRoot : this.element.ownerDocument.documentElement,\n this.element\n )\n\n if (showEvent.isDefaultPrevented() || !isInTheDom) {\n return\n }\n\n const tip = this.getTipElement()\n const tipId = Util.getUID(this.constructor.NAME)\n\n tip.setAttribute('id', tipId)\n this.element.setAttribute('aria-describedby', tipId)\n\n this.setContent()\n\n if (this.config.animation) {\n $(tip).addClass(CLASS_NAME_FADE)\n }\n\n const placement = typeof this.config.placement === 'function' ?\n this.config.placement.call(this, tip, this.element) :\n this.config.placement\n\n const attachment = this._getAttachment(placement)\n this.addAttachmentClass(attachment)\n\n const container = this._getContainer()\n $(tip).data(this.constructor.DATA_KEY, this)\n\n if (!$.contains(this.element.ownerDocument.documentElement, this.tip)) {\n $(tip).appendTo(container)\n }\n\n $(this.element).trigger(this.constructor.Event.INSERTED)\n\n this._popper = new Popper(this.element, tip, this._getPopperConfig(attachment))\n\n $(tip).addClass(CLASS_NAME_SHOW)\n $(tip).addClass(this.config.customClass)\n\n // If this is a touch-enabled device we add extra\n // empty mouseover listeners to the body's immediate children;\n // only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n if ('ontouchstart' in document.documentElement) {\n $(document.body).children().on('mouseover', null, $.noop)\n }\n\n const complete = () => {\n if (this.config.animation) {\n this._fixTransition()\n }\n\n const prevHoverState = this._hoverState\n this._hoverState = null\n\n $(this.element).trigger(this.constructor.Event.SHOWN)\n\n if (prevHoverState === HOVER_STATE_OUT) {\n this._leave(null, this)\n }\n }\n\n if ($(this.tip).hasClass(CLASS_NAME_FADE)) {\n const transitionDuration = Util.getTransitionDurationFromElement(this.tip)\n\n $(this.tip)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(transitionDuration)\n } else {\n complete()\n }\n }\n }\n\n hide(callback) {\n const tip = this.getTipElement()\n const hideEvent = $.Event(this.constructor.Event.HIDE)\n const complete = () => {\n if (this._hoverState !== HOVER_STATE_SHOW && tip.parentNode) {\n tip.parentNode.removeChild(tip)\n }\n\n this._cleanTipClass()\n this.element.removeAttribute('aria-describedby')\n $(this.element).trigger(this.constructor.Event.HIDDEN)\n if (this._popper !== null) {\n this._popper.destroy()\n }\n\n if (callback) {\n callback()\n }\n }\n\n $(this.element).trigger(hideEvent)\n\n if (hideEvent.isDefaultPrevented()) {\n return\n }\n\n $(tip).removeClass(CLASS_NAME_SHOW)\n\n // If this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n if ('ontouchstart' in document.documentElement) {\n $(document.body).children().off('mouseover', null, $.noop)\n }\n\n this._activeTrigger[TRIGGER_CLICK] = false\n this._activeTrigger[TRIGGER_FOCUS] = false\n this._activeTrigger[TRIGGER_HOVER] = false\n\n if ($(this.tip).hasClass(CLASS_NAME_FADE)) {\n const transitionDuration = Util.getTransitionDurationFromElement(tip)\n\n $(tip)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(transitionDuration)\n } else {\n complete()\n }\n\n this._hoverState = ''\n }\n\n update() {\n if (this._popper !== null) {\n this._popper.scheduleUpdate()\n }\n }\n\n // Protected\n\n isWithContent() {\n return Boolean(this.getTitle())\n }\n\n addAttachmentClass(attachment) {\n $(this.getTipElement()).addClass(`${CLASS_PREFIX}-${attachment}`)\n }\n\n getTipElement() {\n this.tip = this.tip || $(this.config.template)[0]\n return this.tip\n }\n\n setContent() {\n const tip = this.getTipElement()\n this.setElementContent($(tip.querySelectorAll(SELECTOR_TOOLTIP_INNER)), this.getTitle())\n $(tip).removeClass(`${CLASS_NAME_FADE} ${CLASS_NAME_SHOW}`)\n }\n\n setElementContent($element, content) {\n if (typeof content === 'object' && (content.nodeType || content.jquery)) {\n // Content is a DOM node or a jQuery\n if (this.config.html) {\n if (!$(content).parent().is($element)) {\n $element.empty().append(content)\n }\n } else {\n $element.text($(content).text())\n }\n\n return\n }\n\n if (this.config.html) {\n if (this.config.sanitize) {\n content = sanitizeHtml(content, this.config.whiteList, this.config.sanitizeFn)\n }\n\n $element.html(content)\n } else {\n $element.text(content)\n }\n }\n\n getTitle() {\n let title = this.element.getAttribute('data-original-title')\n\n if (!title) {\n title = typeof this.config.title === 'function' ?\n this.config.title.call(this.element) :\n this.config.title\n }\n\n return title\n }\n\n // Private\n\n _getPopperConfig(attachment) {\n const defaultBsConfig = {\n placement: attachment,\n modifiers: {\n offset: this._getOffset(),\n flip: {\n behavior: this.config.fallbackPlacement\n },\n arrow: {\n element: SELECTOR_ARROW\n },\n preventOverflow: {\n boundariesElement: this.config.boundary\n }\n },\n onCreate: data => {\n if (data.originalPlacement !== data.placement) {\n this._handlePopperPlacementChange(data)\n }\n },\n onUpdate: data => this._handlePopperPlacementChange(data)\n }\n\n return {\n ...defaultBsConfig,\n ...this.config.popperConfig\n }\n }\n\n _getOffset() {\n const offset = {}\n\n if (typeof this.config.offset === 'function') {\n offset.fn = data => {\n data.offsets = {\n ...data.offsets,\n ...(this.config.offset(data.offsets, this.element) || {})\n }\n\n return data\n }\n } else {\n offset.offset = this.config.offset\n }\n\n return offset\n }\n\n _getContainer() {\n if (this.config.container === false) {\n return document.body\n }\n\n if (Util.isElement(this.config.container)) {\n return $(this.config.container)\n }\n\n return $(document).find(this.config.container)\n }\n\n _getAttachment(placement) {\n return AttachmentMap[placement.toUpperCase()]\n }\n\n _setListeners() {\n const triggers = this.config.trigger.split(' ')\n\n triggers.forEach(trigger => {\n if (trigger === 'click') {\n $(this.element).on(\n this.constructor.Event.CLICK,\n this.config.selector,\n event => this.toggle(event)\n )\n } else if (trigger !== TRIGGER_MANUAL) {\n const eventIn = trigger === TRIGGER_HOVER ?\n this.constructor.Event.MOUSEENTER :\n this.constructor.Event.FOCUSIN\n const eventOut = trigger === TRIGGER_HOVER ?\n this.constructor.Event.MOUSELEAVE :\n this.constructor.Event.FOCUSOUT\n\n $(this.element)\n .on(eventIn, this.config.selector, event => this._enter(event))\n .on(eventOut, this.config.selector, event => this._leave(event))\n }\n })\n\n this._hideModalHandler = () => {\n if (this.element) {\n this.hide()\n }\n }\n\n $(this.element).closest('.modal').on('hide.bs.modal', this._hideModalHandler)\n\n if (this.config.selector) {\n this.config = {\n ...this.config,\n trigger: 'manual',\n selector: ''\n }\n } else {\n this._fixTitle()\n }\n }\n\n _fixTitle() {\n const titleType = typeof this.element.getAttribute('data-original-title')\n\n if (this.element.getAttribute('title') || titleType !== 'string') {\n this.element.setAttribute(\n 'data-original-title',\n this.element.getAttribute('title') || ''\n )\n\n this.element.setAttribute('title', '')\n }\n }\n\n _enter(event, context) {\n const dataKey = this.constructor.DATA_KEY\n context = context || $(event.currentTarget).data(dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.currentTarget,\n this._getDelegateConfig()\n )\n $(event.currentTarget).data(dataKey, context)\n }\n\n if (event) {\n context._activeTrigger[\n event.type === 'focusin' ? TRIGGER_FOCUS : TRIGGER_HOVER\n ] = true\n }\n\n if ($(context.getTipElement()).hasClass(CLASS_NAME_SHOW) || context._hoverState === HOVER_STATE_SHOW) {\n context._hoverState = HOVER_STATE_SHOW\n return\n }\n\n clearTimeout(context._timeout)\n\n context._hoverState = HOVER_STATE_SHOW\n\n if (!context.config.delay || !context.config.delay.show) {\n context.show()\n return\n }\n\n context._timeout = setTimeout(() => {\n if (context._hoverState === HOVER_STATE_SHOW) {\n context.show()\n }\n }, context.config.delay.show)\n }\n\n _leave(event, context) {\n const dataKey = this.constructor.DATA_KEY\n context = context || $(event.currentTarget).data(dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.currentTarget,\n this._getDelegateConfig()\n )\n $(event.currentTarget).data(dataKey, context)\n }\n\n if (event) {\n context._activeTrigger[\n event.type === 'focusout' ? TRIGGER_FOCUS : TRIGGER_HOVER\n ] = false\n }\n\n if (context._isWithActiveTrigger()) {\n return\n }\n\n clearTimeout(context._timeout)\n\n context._hoverState = HOVER_STATE_OUT\n\n if (!context.config.delay || !context.config.delay.hide) {\n context.hide()\n return\n }\n\n context._timeout = setTimeout(() => {\n if (context._hoverState === HOVER_STATE_OUT) {\n context.hide()\n }\n }, context.config.delay.hide)\n }\n\n _isWithActiveTrigger() {\n for (const trigger in this._activeTrigger) {\n if (this._activeTrigger[trigger]) {\n return true\n }\n }\n\n return false\n }\n\n _getConfig(config) {\n const dataAttributes = $(this.element).data()\n\n Object.keys(dataAttributes)\n .forEach(dataAttr => {\n if (DISALLOWED_ATTRIBUTES.indexOf(dataAttr) !== -1) {\n delete dataAttributes[dataAttr]\n }\n })\n\n config = {\n ...this.constructor.Default,\n ...dataAttributes,\n ...(typeof config === 'object' && config ? config : {})\n }\n\n if (typeof config.delay === 'number') {\n config.delay = {\n show: config.delay,\n hide: config.delay\n }\n }\n\n if (typeof config.title === 'number') {\n config.title = config.title.toString()\n }\n\n if (typeof config.content === 'number') {\n config.content = config.content.toString()\n }\n\n Util.typeCheckConfig(\n NAME,\n config,\n this.constructor.DefaultType\n )\n\n if (config.sanitize) {\n config.template = sanitizeHtml(config.template, config.whiteList, config.sanitizeFn)\n }\n\n return config\n }\n\n _getDelegateConfig() {\n const config = {}\n\n if (this.config) {\n for (const key in this.config) {\n if (this.constructor.Default[key] !== this.config[key]) {\n config[key] = this.config[key]\n }\n }\n }\n\n return config\n }\n\n _cleanTipClass() {\n const $tip = $(this.getTipElement())\n const tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX)\n if (tabClass !== null && tabClass.length) {\n $tip.removeClass(tabClass.join(''))\n }\n }\n\n _handlePopperPlacementChange(popperData) {\n this.tip = popperData.instance.popper\n this._cleanTipClass()\n this.addAttachmentClass(this._getAttachment(popperData.placement))\n }\n\n _fixTransition() {\n const tip = this.getTipElement()\n const initConfigAnimation = this.config.animation\n\n if (tip.getAttribute('x-placement') !== null) {\n return\n }\n\n $(tip).removeClass(CLASS_NAME_FADE)\n this.config.animation = false\n this.hide()\n this.show()\n this.config.animation = initConfigAnimation\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n const $element = $(this)\n let data = $element.data(DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data && /dispose|hide/.test(config)) {\n return\n }\n\n if (!data) {\n data = new Tooltip(this, _config)\n $element.data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Tooltip._jQueryInterface\n$.fn[NAME].Constructor = Tooltip\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Tooltip._jQueryInterface\n}\n\nexport default Tooltip\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.6.0): popover.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Tooltip from './tooltip'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'popover'\nconst VERSION = '4.6.0'\nconst DATA_KEY = 'bs.popover'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\nconst CLASS_PREFIX = 'bs-popover'\nconst BSCLS_PREFIX_REGEX = new RegExp(`(^|\\\\s)${CLASS_PREFIX}\\\\S+`, 'g')\n\nconst Default = {\n ...Tooltip.Default,\n placement: 'right',\n trigger: 'click',\n content: '',\n template: '
    ' +\n '
    ' +\n '

    ' +\n '
    '\n}\n\nconst DefaultType = {\n ...Tooltip.DefaultType,\n content: '(string|element|function)'\n}\n\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\n\nconst SELECTOR_TITLE = '.popover-header'\nconst SELECTOR_CONTENT = '.popover-body'\n\nconst Event = {\n HIDE: `hide${EVENT_KEY}`,\n HIDDEN: `hidden${EVENT_KEY}`,\n SHOW: `show${EVENT_KEY}`,\n SHOWN: `shown${EVENT_KEY}`,\n INSERTED: `inserted${EVENT_KEY}`,\n CLICK: `click${EVENT_KEY}`,\n FOCUSIN: `focusin${EVENT_KEY}`,\n FOCUSOUT: `focusout${EVENT_KEY}`,\n MOUSEENTER: `mouseenter${EVENT_KEY}`,\n MOUSELEAVE: `mouseleave${EVENT_KEY}`\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Popover extends Tooltip {\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get NAME() {\n return NAME\n }\n\n static get DATA_KEY() {\n return DATA_KEY\n }\n\n static get Event() {\n return Event\n }\n\n static get EVENT_KEY() {\n return EVENT_KEY\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Overrides\n\n isWithContent() {\n return this.getTitle() || this._getContent()\n }\n\n addAttachmentClass(attachment) {\n $(this.getTipElement()).addClass(`${CLASS_PREFIX}-${attachment}`)\n }\n\n getTipElement() {\n this.tip = this.tip || $(this.config.template)[0]\n return this.tip\n }\n\n setContent() {\n const $tip = $(this.getTipElement())\n\n // We use append for html objects to maintain js events\n this.setElementContent($tip.find(SELECTOR_TITLE), this.getTitle())\n let content = this._getContent()\n if (typeof content === 'function') {\n content = content.call(this.element)\n }\n\n this.setElementContent($tip.find(SELECTOR_CONTENT), content)\n\n $tip.removeClass(`${CLASS_NAME_FADE} ${CLASS_NAME_SHOW}`)\n }\n\n // Private\n\n _getContent() {\n return this.element.getAttribute('data-content') ||\n this.config.content\n }\n\n _cleanTipClass() {\n const $tip = $(this.getTipElement())\n const tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX)\n if (tabClass !== null && tabClass.length > 0) {\n $tip.removeClass(tabClass.join(''))\n }\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = typeof config === 'object' ? config : null\n\n if (!data && /dispose|hide/.test(config)) {\n return\n }\n\n if (!data) {\n data = new Popover(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Popover._jQueryInterface\n$.fn[NAME].Constructor = Popover\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Popover._jQueryInterface\n}\n\nexport default Popover\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.6.0): scrollspy.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Util from './util'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'scrollspy'\nconst VERSION = '4.6.0'\nconst DATA_KEY = 'bs.scrollspy'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\n\nconst Default = {\n offset: 10,\n method: 'auto',\n target: ''\n}\n\nconst DefaultType = {\n offset: 'number',\n method: 'string',\n target: '(string|element)'\n}\n\nconst EVENT_ACTIVATE = `activate${EVENT_KEY}`\nconst EVENT_SCROLL = `scroll${EVENT_KEY}`\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_DROPDOWN_ITEM = 'dropdown-item'\nconst CLASS_NAME_ACTIVE = 'active'\n\nconst SELECTOR_DATA_SPY = '[data-spy=\"scroll\"]'\nconst SELECTOR_NAV_LIST_GROUP = '.nav, .list-group'\nconst SELECTOR_NAV_LINKS = '.nav-link'\nconst SELECTOR_NAV_ITEMS = '.nav-item'\nconst SELECTOR_LIST_ITEMS = '.list-group-item'\nconst SELECTOR_DROPDOWN = '.dropdown'\nconst SELECTOR_DROPDOWN_ITEMS = '.dropdown-item'\nconst SELECTOR_DROPDOWN_TOGGLE = '.dropdown-toggle'\n\nconst METHOD_OFFSET = 'offset'\nconst METHOD_POSITION = 'position'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass ScrollSpy {\n constructor(element, config) {\n this._element = element\n this._scrollElement = element.tagName === 'BODY' ? window : element\n this._config = this._getConfig(config)\n this._selector = `${this._config.target} ${SELECTOR_NAV_LINKS},` +\n `${this._config.target} ${SELECTOR_LIST_ITEMS},` +\n `${this._config.target} ${SELECTOR_DROPDOWN_ITEMS}`\n this._offsets = []\n this._targets = []\n this._activeTarget = null\n this._scrollHeight = 0\n\n $(this._scrollElement).on(EVENT_SCROLL, event => this._process(event))\n\n this.refresh()\n this._process()\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n refresh() {\n const autoMethod = this._scrollElement === this._scrollElement.window ?\n METHOD_OFFSET : METHOD_POSITION\n\n const offsetMethod = this._config.method === 'auto' ?\n autoMethod : this._config.method\n\n const offsetBase = offsetMethod === METHOD_POSITION ?\n this._getScrollTop() : 0\n\n this._offsets = []\n this._targets = []\n\n this._scrollHeight = this._getScrollHeight()\n\n const targets = [].slice.call(document.querySelectorAll(this._selector))\n\n targets\n .map(element => {\n let target\n const targetSelector = Util.getSelectorFromElement(element)\n\n if (targetSelector) {\n target = document.querySelector(targetSelector)\n }\n\n if (target) {\n const targetBCR = target.getBoundingClientRect()\n if (targetBCR.width || targetBCR.height) {\n // TODO (fat): remove sketch reliance on jQuery position/offset\n return [\n $(target)[offsetMethod]().top + offsetBase,\n targetSelector\n ]\n }\n }\n\n return null\n })\n .filter(item => item)\n .sort((a, b) => a[0] - b[0])\n .forEach(item => {\n this._offsets.push(item[0])\n this._targets.push(item[1])\n })\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n $(this._scrollElement).off(EVENT_KEY)\n\n this._element = null\n this._scrollElement = null\n this._config = null\n this._selector = null\n this._offsets = null\n this._targets = null\n this._activeTarget = null\n this._scrollHeight = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...(typeof config === 'object' && config ? config : {})\n }\n\n if (typeof config.target !== 'string' && Util.isElement(config.target)) {\n let id = $(config.target).attr('id')\n if (!id) {\n id = Util.getUID(NAME)\n $(config.target).attr('id', id)\n }\n\n config.target = `#${id}`\n }\n\n Util.typeCheckConfig(NAME, config, DefaultType)\n\n return config\n }\n\n _getScrollTop() {\n return this._scrollElement === window ?\n this._scrollElement.pageYOffset : this._scrollElement.scrollTop\n }\n\n _getScrollHeight() {\n return this._scrollElement.scrollHeight || Math.max(\n document.body.scrollHeight,\n document.documentElement.scrollHeight\n )\n }\n\n _getOffsetHeight() {\n return this._scrollElement === window ?\n window.innerHeight : this._scrollElement.getBoundingClientRect().height\n }\n\n _process() {\n const scrollTop = this._getScrollTop() + this._config.offset\n const scrollHeight = this._getScrollHeight()\n const maxScroll = this._config.offset + scrollHeight - this._getOffsetHeight()\n\n if (this._scrollHeight !== scrollHeight) {\n this.refresh()\n }\n\n if (scrollTop >= maxScroll) {\n const target = this._targets[this._targets.length - 1]\n\n if (this._activeTarget !== target) {\n this._activate(target)\n }\n\n return\n }\n\n if (this._activeTarget && scrollTop < this._offsets[0] && this._offsets[0] > 0) {\n this._activeTarget = null\n this._clear()\n return\n }\n\n for (let i = this._offsets.length; i--;) {\n const isActiveTarget = this._activeTarget !== this._targets[i] &&\n scrollTop >= this._offsets[i] &&\n (typeof this._offsets[i + 1] === 'undefined' ||\n scrollTop < this._offsets[i + 1])\n\n if (isActiveTarget) {\n this._activate(this._targets[i])\n }\n }\n }\n\n _activate(target) {\n this._activeTarget = target\n\n this._clear()\n\n const queries = this._selector\n .split(',')\n .map(selector => `${selector}[data-target=\"${target}\"],${selector}[href=\"${target}\"]`)\n\n const $link = $([].slice.call(document.querySelectorAll(queries.join(','))))\n\n if ($link.hasClass(CLASS_NAME_DROPDOWN_ITEM)) {\n $link.closest(SELECTOR_DROPDOWN)\n .find(SELECTOR_DROPDOWN_TOGGLE)\n .addClass(CLASS_NAME_ACTIVE)\n $link.addClass(CLASS_NAME_ACTIVE)\n } else {\n // Set triggered link as active\n $link.addClass(CLASS_NAME_ACTIVE)\n // Set triggered links parents as active\n // With both

    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 literal 0 HcmV?d00001 diff --git a/docs/zh-Hans/images/simple-plugin-output.png b/docs/zh-Hans/images/simple-plugin-output.png new file mode 100644 index 0000000000000000000000000000000000000000..71f6a78c0ea8661a590a4ae37c1c0423eb4f3832 GIT binary patch literal 39597 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 *mZx;M5=kDQtkoFTcl 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 jKZZ(#nrlKgHahlE_2*yW6YAks#e8`k}8rL7K zyl$39PyM~iu9d@5T@JV*eL9V}#qivyPk1iv#`ImTC3%M@6VD5X8_Q&JqOH7E$mL-q z1TblZKF5#WwE(_+LPA$(H$fNOB%a~L-ftt#=Q#+@Xp2WwgoC^d4HsnT5%@wQkA;dZ zd^rhtHy{yr-0I^Jf^^tGw`>KT=EMMODA+*fO0T_VfMMwnD=`2wyp@rgIBhc-u=c(Q7${qiIllw!C` zrIo1eCoV1aWoBcmp^XkPz?O{`pGUH1Pql4Q4zdoh!}p0vvD+nmLhbeKg;e zIVBvxJ0A%N)ien>161N-H(i8LQ}RT$%b3plfuQwe2DK*nHf|~Lni6|DQp;0NrE{K% zIaOR|lWbCR>`xBDq5+8K7ps$J{RQ?BZg0MQmb%Mor|JV0=ABP7%>kzRSoVhbwb*m) zWkLDqQlIn3uByAf{8aZ9XY&Oyf5Hdx;;H>see3tGPs-b@znK4HBC1~+nuahls>Wgc zlm_DIEWEPgG^Bdpb36v#~?8#u`1%fgA#i>WC z(^@_VbijIh=%c#7r!1z%9@YQc=qPY0Tm_*14t@CRkI#%_Ezft_E6omey3hAbUJos7 zFQ;C-cefjS;wO(bHVm_OTXeq7k6Fo@3qO**G&HEG23RYPcmzkBkfgBPuCmX6HO~kh z5jH`I#*syOOjthaoOn{5XVh*f4SuL#e#2K=RuuH)Mo7<2@J)IBZbdb-*m`ZcQHQ!7VF2KQ;bm=a8T`G&-{p@l=X%~Nq9(53I~ zu?0vu2X@BT(}SPTxM@qXaAi)baIO_;ti7wykS;i%#9T}TXTK4Cm9qs?UBrIp#}PhJ z@kQ(Dv+-<8)LBHtl8l|bI`@lR*p7}_TN;U?jMr96lY>6*{L>T^p8ILd%YoO43*)(e z;>+U+-uW;DgJYfx~?T4DwjwYDMN%5zmpTFK$wDS15kLeNnn zt6K%9)9h~K{wG`)jX=$)a!y#X6cesBgC}EcH!g3wXhz)V*qI+fAspRH;=Jgt%E`(S7PTAG!@A-!Go1!)6@`pl&h3op|GN2P|8NstmdzZnb-+VaG+)a7%AwPT1d4(2)L zKg|oQ|F~+UEf~Vws!HRev}zz&po#&@Tdl+v#8Vk(_Wwb)nmOrA=v`YnN#XQT$W9%a!z7fl-<(Vd8+~jifjLI}G)9E85P0j$_sN3x`MU6{W=1}y94BFqF&$5w*BMj~DIIjw z3bdpnNw*fR)w&7+gbEUK-uo-uYpXf*@#amZn2%8&x&=q4k_Xkk!OG>j8538Wxxcxw z1l+(kZ-U-X1mQKx+_#ih{=s5({nA?sHdZWa7m5hjb+n|6DY&C@`{RHq@k22vnRjw{ zYEYhhsZI*k3eC|&Hw$t1(fWGwuHb$GAbwP)T{+fo#SJmgEbO18Z&|MpdQz!1l9IG) zX=swfXe!O+qac3U-kuq(!=5eYVC2w>DtpF~vZYFyvz8JVk(|@23Y$YR=4xb@lcuD> zO24nMauCeoh5+f?47cW)`uv9n}%oX?dblFI_|$ zjr7$pbGZWWu?xY>#alFE|8*af$5q5?vuyJzmFnzw5Ohs1+fqS~S_chISFEMBv8^pU z)q>4D=RmSa`^1GugT=O{P}zVsn=W33$aKCbb5;Ny3chS}1JxIqxJEd4)+bM~PV!bE zBQ5D7dLAuup1Y|ssFZCEFPAMFo3)VAXh<5ON4v*69@t?2E@1j;Y?I%QDB6&^H$BMq z2uu}lQ9~}6UiJ=Ia&r1$SQ-tq5gCW>BQC>Q^%mFzpN16Z<4Cu*fE}_YVXKs1Bqm}i z@JU|W@hT{o$61$?kbC_j<>ptWdT|OtTfKi6`{cuWU(BA2U%Cr?seGy8Ue0dfO0=Iu zhUrAau#Us|72+u_4$q(u6fhL2i-=xen|qtPYp{vsUX)b&M`nzFQ5R)6QguV~JDAU2 zvgb`O=kCe-v-*(sKp|1gF&7M)=hDq#Qzv(3O|-;R#Lj-m4A_)J?=H&kK)5&HqJ9XlwSa zyOWug=kBkASR%ohv`m0kTCw`lh0pjGZDjSF9_J0$b94xMt@Hu8;05OxOqM=+Z0vW# zw{g{hSSWhPlaV}-{UeJkmm?;ak#6~3Y8an>r!f<4L4L~G5}&m=4M8a}Dsdp=Hlu{F7QQC;uq3qcec=mCR!ErfSjMSwDG|*J3WHoQhfkCAPDI%y6Lm1Nx zYf8@>?!W|8r$HO%bmDqm^0H6IR;c~p{Ac6!?aiU<_*glD1@7ZALAu0arc^#`3{MkO z01PldUy&@Ero-H*>r(Jhl_4%EMgROWc5Fq58Br`?Kay(v;Eg%jvyj8^9># z)EH{dF3b(%a_6hxga7w&LrRo{bMw=dQ%*LZEgO)FkHEHI z(eOr4W5e6yz(XNgoZwSRpF+a$y)^LG^=`M}J>6cig~Iq|j9Fo4=_vmWfQfrgNC<=H zY&dOc4O-%Ce(LB9JUR8v@Gh=cdlzPvQ?m_>>TP&oxa!HAlI-(n~qTTJm>NjlT&-9X|@gwXdmIrp`AO6 zd0Ime@f9%CfWFYK{t%d&gwJUY@=&pALdAJRfNVg<2}2oM-2C|!1f``5EpB$LM*&Rl zu@DV&EMj-t(e{Rn9`biv(uTWkZn+m}MRf$$osmg}TI z8aq+abtLSy{Ar2q=II&|vD31=ztT>f^>!+=-95P%_Gp^y81Ur=P7jPsE(_K?&acPX{w@-XS$BS>DhR_ z{(5vC{xF(=u=rvwVR(61V!o7D(Ia)GU$YLFZZL2E)Te#hnXnh)vgu2pJJxXGueW2d zyIukg3aVT?rQLustr(h8c6oRzZtxs#pEYSyEYcY>11WgAUX`S865 z&jm0XzI8`O2TJ-+AEtO`zijB$a#15CIt&@3Dd{3@p9Tf9T*oG75B4G z;;n-(Vk6^Ad&(U~*gh<8Ls+-nsR}Jcp%j+x+78G8A=|#aT4ck#ww8w_ zecOWaST@rs5zcB9==;q4e&H(lCP()z|G*jTb=Wu+$)7(o15cW`GYdy`=n_`!Ax7Q7 z)b<+_c8jqJ6vuTA3y+C-D_G1DD^<;IFBMp@E%D7RiuHCeG`&R&)fW;nX7aYhfGBww zs@}qJ^&np6XgN^aVM*#=ut;NSL7zJqQ!w6c5g4FeLt~brl%d6XM9p^?4@dZ2$$+Ey zXT%CC+e;p*0?&n4vy;J*pIu7}z6@-+rMje-Q5~IW$GL(gFiCl^KO8WvCocf6N=x;^ znwmtTiTgRuX{VEy?RC|x*;uRk#l`8}(14koqN5n`zBidEIwn%Y^;-f)Yi8T)8)RE` zp9dX>)?!AHR(70xEw!TA_(2Erg4&#=Ge$fT(~+f-E)H1u@^1~4nT**?a=2$!$e7nM zVsoWX&5fPUTVL~z8ii;qgz?@71mFT$-i*KjYp|%cqa^z^IbP>%D=*JLuHbdYCq(Yk zJ&YGt90}~a9NUlvj_W0|NZ(@F3sCTAz+(_rMpX1?x1HuB`q$iR$4tIKd4oS}j7IAv z-a=4gm4Tq+l8Mv{L_QoSp0&QaI;>I_l-Q?#m@sHlO_0g$8Nw1$Blz1f4S3N*reO@C z2QJSC_-Nt=4E0`m&fUtjV_q;Ha~~VI&s$RPb4+>LcwU*Q=g;e)zrB}K+JM28@;KdU ztK7!IikC0@R@$2CWq&k8YJL(qModxT-^|q3gqnBo)Mm)@NizuKzJ@G2vm1sy6yH$U zMJ-7zBS{=M)WB~iMB-$`^lxU0jv&0u7LE1{gv!nQl(E6{`D)cSMX)4zTp}k3ybPaC z^0#{&IFrT+wTjrk&j_NmU$&=^B-Kn>>Yp7DjsIb$3cvh^naT&4seisw_~mA#kVMb4 z&ir4;NI9myXI$K7f4!{0_I>K3AW#JKuT5v_KW=a(`2YCY|9f}H1K?{HENMK4L5eBJ zl{6fG&VSyc<9)!;ez~8)(`xaoqeA%S=RiO|$4|HNI8fi$9{2$G!SCc#?;GYIm zEQ>z(jzTd71T<+~_`l}-K3-~gIRj!UY?aAx3ba}NojFh^tIF0uK@iPw$ZJw)vWcmD z4!pG^!*{EL^6$)n2$g`GAVk|AqaDwh&iK$Gj=d2jb9{WauN>1VayRjEJmK}yze4Bm zZ)~an_;(8RKng@^D3)9)rsB+^BIFg73Zo+M(0rBo%rpYG_g46cmASe3!3dobPixk? z3dm{o{K>+?BBE^leCoAq)c4$QoX?*{N1|gJa3NMTg06bW;|5|pF+o%0e&@z!=0xK% zU23Y+ThqVvBfiSvr=RXV9_sizthsxsN0X&@+PgFwZ&`Gy(nuD3doWf)ao~xr&->XC z=p*9y!3}(!4{cVUjCePzQY@@ax`G#YzJ2r&LMMkgN?LQ7gK_a_qUm?kAjZ00JtVb~ zRs(M6#v_-LYq?Lid5_LveF&)9Tr{6#(}5=nAEJ;vt9`I;FNqwfrefR5 zGn7d~IFgv~+{)g`tu1eww69Ym6t)YYCvGdRUZFR8mIxmM=FZecHkz0r3fcVK8(%Od zkvIq&VqoVCl~XH2D}gu?lJ;EE z9-Wd(**cBBv%G^)+2XrC9s(C`K9e(QTD~Dx6VvK(gTOu2DO%KvCvWl*5h8VEV+_az zQ9s_$F(zJhTX|7XIE;xEh&XXyyPRwxvB4~K zj0eBC=ZFG(A!6ETr`mI0nWUw%z<6-ZJwj3VP(Wn8KFHmQAhAE7PM(P?X;FtpiVI^{ z)#0Et?_HrI!4PI3jHrBzrNs7zQ)VFcg!28cGw6~Q0u z{#nx1wzdi;inQGUn>T@uG(hcS|%hXLVO-8WeZLPuy#psYC}s^e@` zcxRxr=lljMRkF_tto7-4dhY<^UgN9?JU$2g6Q)C$n=7`O2b4`T&w~^Ec!` z=$O(_kS=ht2XRFbI;WyP;2-Jl&7Ym+bo611^PoIS`#6Gg?CFzg^(m_5sJ9=8B3Olp z$6MaZOTVvHyCKL+h8HwqY!PGNo5qtp5@RUYMwtpUFa67}Q9?f^@p53z2k znPYwR`UI~%b&~t+92(Ec@8E~zb6t>CP+~(6wQh9q9)hXuwr{QWfLhI#?Tu50IJjUO zlQ4rWOu{!F?D{oA+8EZaW;siaAaOd{d=tH?l6>k}3#A8t>x20jPNId&%y3qGy!cS_}wPW8=eUNoPa*&E1+Wo=- zUg`~MZ_KmzV0_a2vL;CIniPBk&>6sKWU%l?fxq>pA zt@K*30QPFdnax+1tAeY3-k)ZH{zD}x`j3m5LA3DxUAe4iqjB(VMCUMpBk~qwUgdLI z9dkxfbRn^r9%&43jftF3f`ww7@xq!YvR!=iScQuzX>va`ash&v9xY2aO=-aoQG%&~ zu9-%>uI$t+7S6*7b%l8J0DqF5MdybkU zG~;vD+r)F?$sL#L1SN^M+~FKQ4RNV=GLx_E zDa{g26`}SJ%4+?w*5l+V9`xhn)fx#k~AaFzz#5{lEFZa>$-sEF%J(tw>SOujAAF{DJ|Z1I5tBZHWOq~NflM4ZELkrflB zUrNXgW?IQDN+J5>A}UpCl=GKAKSjzCF!1oH$0I6RHi}CHXt0%MIK2HnqrxdR(t=HJ zH=sX-B4bKgG*BXT=KOkbW+FLqbR%q;>}EwrheS^xsu z*ti;5eUq2$Hza4ZEsxZ20-6%jGx|zgyuGzpC*ZV!$myWWspt zih=kQsOtF<&ndHwsYbHFYbk9h+dO9IL3f_lx8@I(Ctwfo^;~DACE16HjA4{Nq@gA$ z#aqYdtbL+xuI3L0zpo0$@+u$yR1YV-8=B@*K9ZJoKdSs1I5t+gt%&|M>Y;j28zsQx zL4ST@PIqFMG(_3sWpb>y8W^EQ(24^#?@Ez3Xp*BUyiF~Cs;a>#{umNxI7$wsQ&}PZ zC6~2va6YW1Gd)P#VOTzLbEa8+lfzBWqdo_cMBRiX z=7*S=_KofaTt(Fa;kiT4)xum^6jT3Znndvcm-1jSu znhK~SJPfNiU$m|@G94Ve=ty#LQ0JY;b*h2}BoffESiVg#7241MD{qIsTxi{JRn&~a zJF6x$D9>Fto=IA{hes+z1bUBBrxvt~2*mp$cK6-uw|GScN*~{=kcE%A1aTN@>gX%L zeG!n>U;EkiJ!SdlliqoR0uFkP4P3=B+x)DMjFkY6l&($ia+?QKN51l0ee^1-1W!Aj zT})W}pJv+)3KpA{-fQ5Zg<*PiETCp1p-hvgiAl)T5=JWHfW&Q69hCp}R#7E0#Bv2#usz>S-|_c#-K*$~IQAl8 zaB&v`wQe>=wS$So2A!F{7v@9y$9{h4!k6;1^#1S;lO==wP!HLFo|Hdv^N*_fn9~~h z^6v~1fa#KDr{+7gT=6V*GD)={dy_M(Wzv98jXB*t)v-<=+O|(k{LVs*>>y5gWc@Qx z^@+%uK1q_YWcjzeQ~BQKL22zE5f|Pss}$JM*nOc3*ToEj3hf`NO(+kuBaUW(aW~4& z5;MDp+yII({hB21h9hC^5qw!x9F*6_cuzo*CT#IC-dV=shtl>`%luBjA&JjHu@`Ndueg7J=qrk9K0=q16SK6pmu}{u z@dMSbYN|3N$klmlxEgCLOUA}sBY1kMwY-#2#q(`FtBc6^gJe_;evfCFI#a$K z8AZQI*Ggyefu2A%QUlnnR`=S4^z)*A1GKbjAiah)ylUR;N7UJT;>W{3cjj+>5kH9X zQa@I?q=&AX=Rm@Q<@*skTn3NC`kz0Y={Mq^jzN_4eSZsaLp89t#_L6n`s&kR86Z1Q zPit`55g^zoQBN*e;P2W@+tDaIDed|m-Q^^n`C=}g!j8Rd64#KL$ZZxF|7OgA8d|C5 z+e)d=!y_plzPeQbb4Q8~^Ujxn#!`bA#)(3S(O;PhbHbqm;=I|bKPzOu=5!Ul-ykaM zQjqS?8sFTm2o$0U;q^I~QS*kQjLRzwH2!@(nhUMY9DOKHDgqZ80uR}1q!JkHP#Ufe zH(&N<*~&Moka?khF@!LlZ>tBINMlRDiivkujh?)~!44Yf7-NtU+dB0D>UZ18F&J)&-Y<{v}KP(qj zw-JcNox;=-kEJu`cT{u+ObMQghXs;8nYO~zR#u0UN^+6uiC%4;l={)*6V7r0-R!C6 z!y}lEOmVXp?|N(|D>)QbJ@svoF@NsENpL2Y05uCA{2ExIU}hMCGIqYyzmGQ|ADt8B zS{OS46ZIHE;>laLwvqh_(yImxRHA6+_1_94sPPM@gMZFS@N(v*^=??{l=Ut&a)lsVB5+3`bM)bdz z?0?NXT51V;^lj%>mjwl?P@WO^7wqJm-%)5)ou@3nA6pF3^ZZrw3(o#BxB@P5rZ78= z0nE)BScsiz`}fd8$6`wBL`X8>;~4z@;X}72f}+buFPyzg%0%8SIYYJOq%!`qs=N1d z)##iJFi_`c7%p!(Q%qs-M&t@{SR8&szy5wI8Vs_b9-p4hHYZmU@|~~&+!uzf zkzb{xhxM9Uv@4LR@9Xq?oQL||Tv3RVczIcJcnZ7RwQ7W=!l0v?K1JF{2}O4od}v-| zD}UmA)5@LU5h4%F?^Ga9X;2ZffagN#lfacOr`z2}6FHH~ z|GI!eX4>zMo~=o^&ZE{SGu;`Nbk)&mJt#CD9UqiQFSGPm zSpwISw%fkoTjb1e+Z<-d7$sRv{Af(2Y-70oJeI{_Qc0)jC7Us6;dK+$CEtO2Wfey0 z9tPJZ7C&x+$Y_Zo_;ro)G$!Y zb)ssVBgWjg$guOy42P>E=~(N$J_6Zs(|vQc_xwgX&hQ(D2S*e}fbolHKLr=0HxIV| z)rG&S*f0zsFr4Rf1RgDzT83i$Jl!=RjNhz+RE00#A~@-|+}$%7PaGpDya_zR$KpUL zSfwl^s%eajvU_mUdk_Jwjin__kwHFvjBK5zKjW5(W>4oWWD6C_kTnb`B$$=VMR!BO z#aT)T{@|>*fh4QKR1~}*j6jCmxlo7#!M)MPMksfzaBsU6*ZxsI@A5^(%-)(zdAX3me0p{+bg5WhNqv@FFTeZbcQ*IdW{^D@( zq{aEwMP37H3pUdDvB~l?*VcvJl;_+*M6fOxSOdL_Q>_z{jjUCnjvg=-Kn;kA&DugQ->i*Ol+iP&EIaXS86N`D{Tqudivn0C*FTVM2GN22 z3bX@Hbp2c99fugWz><`1ZpnRRuzAZd?t4XOQSU`S0=K>s-0<*-3|YG_^7|A3=lbZ6 zGNI})7uq&={&;CZh)s(8{w|Ow>2q?5mF?RRKrq-F1O492MoIyMS+H;&XK9Xq=3Tp?zar^&5nRLtD^bt@;8ZG4j`FjnKEm z2_UJ0eOe*mTScMF{bO*_7+$n8-|_YKQ0ZZbn!DP_YHqtlLim^Px}XdHZ4I z<#t16k@mLrU8?7q)x^t23!bTP(IHw7p?Bsd+^!2vyUmA%bZ(ODfn7))(v=nTtuq7w zzN)n=Q$1Ojdv}du?PK(C9Z;{}S_E%B3;(7+NJg3tzhR1$}t(1B49a(3t4~dA0I;yX19p zh+D(d##Bt7RAY+5pRBaxHwgtmy9Hv+e73;>&iwc=VMYvvov<^v29YxR#xEwvnUt>r zGgWW;?}0#$Ct}=A-+K+?^!KnP#^19A@b$NVXEdNaaPQC=F{Qj|l!=)~yhnNj`fbS| zES5AjcluGrE6!#80&{#6G)k7`P$8l`-G^Zj`=~>8oAUbRo%W6TnuQ?_pL) y_4j)Sh*i{o*ZwIr`%mqkg8!5R`u}@(_X||AAuI}tPJ8_8Ns9?dgNg-oe*8bO|JK6* literal 0 HcmV?d00001 diff --git a/docs/zh-Hans/images/simple-razor-plugin.png b/docs/zh-Hans/images/simple-razor-plugin.png new file mode 100644 index 0000000000000000000000000000000000000000..92e0e00d2962f7336b23e7f0c53bb732bd091633 GIT binary patch literal 25725 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