From 9bed26f02eb11bab3ab655121be0fc5aeb28f237 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Przemys=C5=82aw=20K=C5=82ys?= Date: Tue, 29 Sep 2026 12:34:14 +0200 Subject: [PATCH 1/2] Expose Event Log report APIs for v4 consumers --- .../TestCollectorSubscriptionDefinition.cs | 45 +++++++- .../TestEvtxQueryExecutor.cs | 2 +- .../TestNamedEventsTimelineQueryExecutor.cs | 31 ++++- .../TestPublicApiBoundary.cs | 13 ++- .../CollectorSubscriptionManager.Apply.cs | 109 ++++++++++++------ .../Correlation/EventTypeCorrelationEngine.cs | 22 ++++ .../NamedEventsTimelineQueryContracts.cs | 14 +-- .../NamedEventsTimelineQueryExecutor.cs | 3 + .../Reports/Evtx/EvtxQueryFailure.cs | 4 +- .../Inventory/EventCatalogQueryContracts.cs | 14 +-- .../Inventory/EventCatalogReportEngine.cs | 20 ++++ .../Reports/Live/LiveEventQueryContracts.cs | 10 +- .../Reports/Live/LiveEventReportEngine.cs | 20 ++++ .../Reports/Live/LiveStatsQueryContracts.cs | 14 +-- Sources/EventViewerX/Reports/ReportTopRow.cs | 2 +- .../Security/SecurityAccountLockoutsReport.cs | 2 +- .../Security/SecurityEvtxQueryContracts.cs | 8 +- .../Security/SecurityEvtxSummaryEngine.cs | 32 +++++ .../Security/SecurityFailedLogonsReport.cs | 2 +- .../Security/SecurityUserLogonsReport.cs | 2 +- .../Reports/Stats/EvtxLevelStats.cs | 2 +- .../Reports/Stats/EvtxStatisticsEngine.cs | 18 +++ .../Reports/Stats/EvtxStatsQueryContracts.cs | 10 +- 23 files changed, 308 insertions(+), 91 deletions(-) create mode 100644 Sources/EventViewerX/Reports/Correlation/EventTypeCorrelationEngine.cs create mode 100644 Sources/EventViewerX/Reports/Inventory/EventCatalogReportEngine.cs create mode 100644 Sources/EventViewerX/Reports/Live/LiveEventReportEngine.cs create mode 100644 Sources/EventViewerX/Reports/Security/SecurityEvtxSummaryEngine.cs create mode 100644 Sources/EventViewerX/Reports/Stats/EvtxStatisticsEngine.cs diff --git a/Sources/EventViewerX.Tests/TestCollectorSubscriptionDefinition.cs b/Sources/EventViewerX.Tests/TestCollectorSubscriptionDefinition.cs index 508d969b..8fd73847 100644 --- a/Sources/EventViewerX.Tests/TestCollectorSubscriptionDefinition.cs +++ b/Sources/EventViewerX.Tests/TestCollectorSubscriptionDefinition.cs @@ -4,6 +4,18 @@ namespace EventViewerX.Tests; public class TestCollectorSubscriptionDefinition { + [Fact] + public void RawXmlApplyRejectsDifferentSubscriptionBeforeWrite() { + CollectorSubscriptionDefinition definition = CreateDefinition("OwnedSubscription"); + string xml = definition.ToXml(); + + ArgumentException exception = Assert.Throws(() => + CollectorSubscriptionManager.ApplyCollectorSubscriptionXml( + "OtherSubscription", xml)); + + Assert.Contains("identify the requested subscription", exception.Message, StringComparison.Ordinal); + } + [Fact] public void CollectorReadinessDoesNotInventStateFindingsAfterInspectionErrors() { IReadOnlyList issues = @@ -496,7 +508,7 @@ public void ApplyDoesNotDeleteUnownedSubscriptionWhenCreateCommandFails() { } [Fact] - public void ApplyDeletesProvenOwnedCreateWithoutSnapshotVisibility() { + public void ApplyDeletesProvenOwnedCreateWithoutSnapshotVisibility() { CollectorSubscriptionDefinition definition = CreateDefinition("CreateOwnedButNotVisible"); string mismatched = CreatePersistedXml( @@ -534,7 +546,36 @@ public void ApplyDeletesProvenOwnedCreateWithoutSnapshotVisibility() { exception.Message, StringComparison.Ordinal); Assert.Equal(1, deleteCount); - } + } + + [Fact] + public void ApplyRollsBackWhenFinalSnapshotIsNotVisible() { + CollectorSubscriptionDefinition definition = CreateDefinition("CreateSnapshotMissing"); + string persisted = definition.ToXml(); + int deleteCount = 0; + + InvalidOperationException exception = Assert.Throws(() => + CollectorSubscriptionManager.ApplyCollectorSubscription( + definition, + _ => null, + (arguments, _) => { + switch (arguments[0]) { + case "cs": + return string.Empty; + case "gs": + return persisted; + case "ds": + deleteCount++; + return string.Empty; + default: + throw new InvalidOperationException("Unexpected WEC operation."); + } + }, + CancellationToken.None)); + + Assert.Contains("could not be read back", exception.Message, StringComparison.Ordinal); + Assert.Equal(1, deleteCount); + } [Fact] public void ApplyReportsUnknownStateWhenUpdateRollbackFails() { diff --git a/Sources/EventViewerX.Tests/TestEvtxQueryExecutor.cs b/Sources/EventViewerX.Tests/TestEvtxQueryExecutor.cs index a4cdd687..6af767a9 100644 --- a/Sources/EventViewerX.Tests/TestEvtxQueryExecutor.cs +++ b/Sources/EventViewerX.Tests/TestEvtxQueryExecutor.cs @@ -105,7 +105,7 @@ public void StatsQuery_ShouldAcceptEventIdZero() { }; bool success = - EvtxStatsQueryExecutor.TryBuild( + EvtxStatisticsEngine.TryQuery( request, out _, out EvtxQueryFailure? failure); diff --git a/Sources/EventViewerX.Tests/TestNamedEventsTimelineQueryExecutor.cs b/Sources/EventViewerX.Tests/TestNamedEventsTimelineQueryExecutor.cs index 8dcc04bf..1aa45f7f 100644 --- a/Sources/EventViewerX.Tests/TestNamedEventsTimelineQueryExecutor.cs +++ b/Sources/EventViewerX.Tests/TestNamedEventsTimelineQueryExecutor.cs @@ -7,7 +7,7 @@ namespace EventViewerX.Tests; public class TestNamedEventsTimelineQueryExecutor { [Fact] public async Task TryBuildAsync_ShouldFailWhenNamedEventsMissing() { - var (result, failure) = await NamedEventsTimelineQueryExecutor.TryBuildAsync( + var (result, failure) = await EventTypeCorrelationEngine.TryQueryAsync( new NamedEventsTimelineQueryRequest()); Assert.Null(result); @@ -18,7 +18,7 @@ public async Task TryBuildAsync_ShouldFailWhenNamedEventsMissing() { [Fact] public async Task TryBuildAsync_ShouldFailWhenTimeRangeInvalid() { - var (result, failure) = await NamedEventsTimelineQueryExecutor.TryBuildAsync( + var (result, failure) = await EventTypeCorrelationEngine.TryQueryAsync( new NamedEventsTimelineQueryRequest { EventType = new[] { EventType.ADUserLogon }, StartTimeUtc = new DateTime(2026, 2, 20, 11, 0, 0, DateTimeKind.Utc), @@ -33,7 +33,7 @@ public async Task TryBuildAsync_ShouldFailWhenTimeRangeInvalid() { [Fact] public async Task TryBuildAsync_ShouldFailWhenTimePeriodCombinedWithRange() { - var (result, failure) = await NamedEventsTimelineQueryExecutor.TryBuildAsync( + var (result, failure) = await EventTypeCorrelationEngine.TryQueryAsync( new NamedEventsTimelineQueryRequest { EventType = new[] { EventType.ADUserLogon }, TimePeriod = TimePeriod.Last1Hour, @@ -48,7 +48,7 @@ public async Task TryBuildAsync_ShouldFailWhenTimePeriodCombinedWithRange() { [Fact] public async Task TryBuildAsync_ShouldFailWhenCorrelationKeyInvalid() { - var (result, failure) = await NamedEventsTimelineQueryExecutor.TryBuildAsync( + var (result, failure) = await EventTypeCorrelationEngine.TryQueryAsync( new NamedEventsTimelineQueryRequest { EventType = new[] { EventType.ADUserLogon }, CorrelationKeys = new[] { "invalid_dimension" } @@ -62,7 +62,7 @@ public async Task TryBuildAsync_ShouldFailWhenCorrelationKeyInvalid() { [Fact] public async Task TryBuildAsync_ShouldFailWhenEventIdsContainNonPositiveValues() { - var (result, failure) = await NamedEventsTimelineQueryExecutor.TryBuildAsync( + var (result, failure) = await EventTypeCorrelationEngine.TryQueryAsync( new NamedEventsTimelineQueryRequest { EventType = new[] { EventType.ADUserLogon }, EventIds = new[] { 4624, 0 } @@ -76,7 +76,7 @@ public async Task TryBuildAsync_ShouldFailWhenEventIdsContainNonPositiveValues() [Fact] public async Task TryBuildAsync_ShouldFailWhenCandidateScanLimitIsNegative() { - var (result, failure) = await NamedEventsTimelineQueryExecutor.TryBuildAsync( + var (result, failure) = await EventTypeCorrelationEngine.TryQueryAsync( new NamedEventsTimelineQueryRequest { EventType = new[] { EventType.ADUserLogon }, MaxEventsScanned = -1 @@ -97,6 +97,16 @@ public void TryParseUtcValue_ShouldTreatUnspecifiedTimestampAsUtc() { Assert.Equal(new DateTime(2026, 2, 20, 12, 34, 56, DateTimeKind.Utc), utc); } + [Fact] + public void TimelineUsesCanonicalRuleIdentityWhenTypeNameIsLegacyAlias() { + var rule = (AliasStatusRule)System.Runtime.CompilerServices.RuntimeHelpers.GetUninitializedObject(typeof(AliasStatusRule)); + rule.SetTypeName("ADUsersStatus"); + MethodInfo method = typeof(NamedEventsTimelineQueryExecutor).GetMethod( + "ResolveTypeName", BindingFlags.NonPublic | BindingFlags.Static)!; + + Assert.Equal("ad_user_status", method.Invoke(null, new object[] { rule })); + } + [Fact] public void TryParseUtcValue_ShouldConvertOffsetTimestampToUtc() { var parsed = NamedEventsTimelineQueryExecutor.TryParseUtcValue("2026-02-20T12:34:56+02:00", out var utc); @@ -216,4 +226,13 @@ private PayloadTestSlim(EventObject eventObject) : base(eventObject) { public string Who => "alice"; public EventObject? DuplicateEvent => null; } + + private sealed class AliasStatusRule : EventRuleBase { + private AliasStatusRule(EventObject source) : base(source) { } + public override List EventIds => new() { 4722 }; + public override string LogName => "Security"; + public override EventType Type => EventType.ADUserStatus; + public override bool CanHandle(EventObject source) => true; + public void SetTypeName(string name) => TypeName = name; + } } diff --git a/Sources/EventViewerX.Tests/TestPublicApiBoundary.cs b/Sources/EventViewerX.Tests/TestPublicApiBoundary.cs index 2e27248f..6febbbda 100644 --- a/Sources/EventViewerX.Tests/TestPublicApiBoundary.cs +++ b/Sources/EventViewerX.Tests/TestPublicApiBoundary.cs @@ -5,16 +5,19 @@ namespace EventViewerX.Tests; public class TestPublicApiBoundary { [Fact] - public void ReportingImplementation_IsNotExported() { - string[] exportedReportingTypes = typeof(EventLogEngine) + public void ReportingExecutorsRemainInternalWhileQueryFacadesAreExported() { + Type[] exportedReportingTypes = typeof(EventLogEngine) .Assembly .GetExportedTypes() .Where(type => type.Namespace?.StartsWith("EventViewerX.Reports", StringComparison.Ordinal) == true) - .Select(type => type.FullName ?? type.Name) - .OrderBy(name => name, StringComparer.Ordinal) .ToArray(); - Assert.Empty(exportedReportingTypes); + Assert.Contains(typeof(EventViewerX.Reports.Live.LiveEventReportEngine), exportedReportingTypes); + Assert.Contains(typeof(EventViewerX.Reports.Inventory.EventCatalogReportEngine), exportedReportingTypes); + Assert.Contains(typeof(EventViewerX.Reports.Stats.EvtxStatisticsEngine), exportedReportingTypes); + Assert.Contains(typeof(EventViewerX.Reports.Security.SecurityEvtxSummaryEngine), exportedReportingTypes); + Assert.Contains(typeof(EventViewerX.Reports.Correlation.EventTypeCorrelationEngine), exportedReportingTypes); + Assert.DoesNotContain(exportedReportingTypes, type => type.Name.EndsWith("Executor", StringComparison.Ordinal)); } [Fact] diff --git a/Sources/EventViewerX/CollectorSubscriptionManager.Apply.cs b/Sources/EventViewerX/CollectorSubscriptionManager.Apply.cs index 42e02f2a..b4a1572b 100644 --- a/Sources/EventViewerX/CollectorSubscriptionManager.Apply.cs +++ b/Sources/EventViewerX/CollectorSubscriptionManager.Apply.cs @@ -10,9 +10,9 @@ public static partial class CollectorSubscriptionManager { TimeSpan.FromSeconds(30); /// Creates or updates a local WEC subscription from a typed definition and verifies the result. - public static CollectorSubscriptionSnapshot ApplyCollectorSubscription( - CollectorSubscriptionDefinition definition, - CancellationToken cancellationToken = default) { + public static CollectorSubscriptionSnapshot ApplyCollectorSubscription( + CollectorSubscriptionDefinition definition, + CancellationToken cancellationToken = default) { if (definition == null) { throw new ArgumentNullException(nameof(definition)); @@ -21,11 +21,37 @@ public static CollectorSubscriptionSnapshot ApplyCollectorSubscription( definition, static name => GetCollectorSubscriptionSnapshot(name), RunWecUtil, - cancellationToken); - } + cancellationToken); + } + + /// + /// Applies a validated local WEC subscription XML document and verifies its persisted state. + /// The document must identify the same subscription as . + /// + public static CollectorSubscriptionSnapshot ApplyCollectorSubscriptionXml( + string name, + string xml, + CancellationToken cancellationToken = default) { + + if (string.IsNullOrWhiteSpace(name)) { + throw new ArgumentException("Subscription name cannot be empty.", nameof(name)); + } + if (!CollectorSubscriptionXml.TryNormalize(xml, out CollectorSubscriptionXmlDetails? details, out string? error)) { + throw new ArgumentException(error ?? "Invalid collector subscription XML.", nameof(xml)); + } + if (!string.Equals(details!.SubscriptionId, name.Trim(), StringComparison.OrdinalIgnoreCase)) { + throw new ArgumentException("Subscription XML must identify the requested subscription.", nameof(xml)); + } + return ApplyCollectorSubscriptionXmlCore( + name.Trim(), + details.NormalizedXml, + static subscriptionName => GetCollectorSubscriptionSnapshot(subscriptionName), + RunWecUtil, + cancellationToken); + } - internal static CollectorSubscriptionSnapshot ApplyCollectorSubscription( - CollectorSubscriptionDefinition definition, + internal static CollectorSubscriptionSnapshot ApplyCollectorSubscription( + CollectorSubscriptionDefinition definition, Func snapshotResolver, Func, CancellationToken, string> wecUtilRunner, CancellationToken cancellationToken) { @@ -36,12 +62,25 @@ internal static CollectorSubscriptionSnapshot ApplyCollectorSubscription( if (snapshotResolver == null) { throw new ArgumentNullException(nameof(snapshotResolver)); } - if (wecUtilRunner == null) { - throw new ArgumentNullException(nameof(wecUtilRunner)); - } - string xml = definition.ToXml(); - string name = definition.SubscriptionId.Trim(); - bool exists = snapshotResolver(name) != null; + if (wecUtilRunner == null) { + throw new ArgumentNullException(nameof(wecUtilRunner)); + } + return ApplyCollectorSubscriptionXmlCore( + definition.SubscriptionId.Trim(), + definition.ToXml(), + snapshotResolver, + wecUtilRunner, + cancellationToken); + } + + private static CollectorSubscriptionSnapshot ApplyCollectorSubscriptionXmlCore( + string name, + string xml, + Func snapshotResolver, + Func, CancellationToken, string> wecUtilRunner, + CancellationToken cancellationToken) { + + bool exists = snapshotResolver(name) != null; string? previousXml = exists ? wecUtilRunner(new[] { "gs", name, "/f:xml" }, cancellationToken) : null; @@ -60,11 +99,27 @@ internal static CollectorSubscriptionSnapshot ApplyCollectorSubscription( persistedXml = wecUtilRunner( new[] { "gs", name, "/f:xml" }, cancellationToken); - if (!CollectorSubscriptionXml.AreEquivalent(persistedXml, xml)) { - throw new InvalidOperationException( - $"Collector subscription '{name}' did not retain the requested definition."); - } - } catch (Exception applyException) { + if (!CollectorSubscriptionXml.AreEquivalent(persistedXml, xml)) { + throw new InvalidOperationException( + $"Collector subscription '{name}' did not retain the requested definition."); + } + CollectorSubscriptionSnapshot snapshot = + snapshotResolver(name) ?? + throw new InvalidOperationException( + $"Windows reported success but collector subscription '{name}' could not be read back."); + if (CollectorSubscriptionXml.TryNormalize( + persistedXml, + out CollectorSubscriptionXmlDetails? details, + out _)) { + snapshot.RawXml = details!.NormalizedXml; + snapshot.HasXml = true; + snapshot.Description = details.Description; + snapshot.DestinationLog = details.DestinationLog; + snapshot.Queries = details.Queries; + snapshot.QueryCount = details.Queries.Count; + } + return snapshot; + } catch (Exception applyException) { Exception? rollbackException = TryRestoreSubscription( name, exists, @@ -92,23 +147,7 @@ internal static CollectorSubscriptionSnapshot ApplyCollectorSubscription( } } - CollectorSubscriptionSnapshot snapshot = - snapshotResolver(name) ?? - throw new InvalidOperationException( - $"Windows reported success but collector subscription '{name}' could not be read back."); - if (CollectorSubscriptionXml.TryNormalize( - persistedXml!, - out CollectorSubscriptionXmlDetails? details, - out _)) { - snapshot.RawXml = details!.NormalizedXml; - snapshot.HasXml = true; - snapshot.Description = details.Description; - snapshot.DestinationLog = details.DestinationLog; - snapshot.Queries = details.Queries; - snapshot.QueryCount = details.Queries.Count; - } - return snapshot; - } + } /// Writes a typed WEC definition to a UTF-8 XML file. public static FileInfo WriteCollectorSubscriptionDefinition( diff --git a/Sources/EventViewerX/Reports/Correlation/EventTypeCorrelationEngine.cs b/Sources/EventViewerX/Reports/Correlation/EventTypeCorrelationEngine.cs new file mode 100644 index 00000000..be5a7892 --- /dev/null +++ b/Sources/EventViewerX/Reports/Correlation/EventTypeCorrelationEngine.cs @@ -0,0 +1,22 @@ +namespace EventViewerX.Reports.Correlation; + +/// +/// Queries typed events and builds bounded correlation groups and timeline buckets. +/// +public static class EventTypeCorrelationEngine { + /// Supported event-field dimensions for grouping. + public static IReadOnlyList AllowedCorrelationKeys => + NamedEventsTimelineQueryExecutor.AllowedCorrelationKeys; + + /// Default identity and computer dimensions. + public static IReadOnlyList DefaultCorrelationKeys => + NamedEventsTimelineQueryExecutor.DefaultCorrelationKeys; + + /// + /// Queries the selected event types and returns ordered rows, groups, and minute buckets. + /// + public static Task<(NamedEventsTimelineQueryResult? Result, NamedEventsTimelineQueryFailure? Failure)> TryQueryAsync( + NamedEventsTimelineQueryRequest request, + CancellationToken cancellationToken = default) => + NamedEventsTimelineQueryExecutor.TryBuildAsync(request, cancellationToken); +} diff --git a/Sources/EventViewerX/Reports/Correlation/NamedEventsTimelineQueryContracts.cs b/Sources/EventViewerX/Reports/Correlation/NamedEventsTimelineQueryContracts.cs index 81e418a5..f856bbc8 100644 --- a/Sources/EventViewerX/Reports/Correlation/NamedEventsTimelineQueryContracts.cs +++ b/Sources/EventViewerX/Reports/Correlation/NamedEventsTimelineQueryContracts.cs @@ -6,7 +6,7 @@ namespace EventViewerX.Reports.Correlation; /// /// Query contract for building timeline and correlation views from named-event detections. /// -internal sealed class NamedEventsTimelineQueryRequest { +public sealed class NamedEventsTimelineQueryRequest { /// /// Named events to query. /// @@ -96,7 +96,7 @@ internal sealed class NamedEventsTimelineQueryRequest { /// /// Canonical failure kinds produced by timeline queries. /// -internal enum NamedEventsTimelineQueryFailureKind { +public enum NamedEventsTimelineQueryFailureKind { /// /// Invalid request arguments. /// @@ -116,7 +116,7 @@ internal enum NamedEventsTimelineQueryFailureKind { /// /// Failure payload produced by timeline queries. /// -internal sealed class NamedEventsTimelineQueryFailure { +public sealed class NamedEventsTimelineQueryFailure { /// /// Failure kind. /// @@ -131,7 +131,7 @@ internal sealed class NamedEventsTimelineQueryFailure { /// /// Timeline row emitted by named-events correlation query. /// -internal sealed class NamedEventsTimelineEventRow { +public sealed class NamedEventsTimelineEventRow { /// /// Sequence number after timeline ordering. /// @@ -213,7 +213,7 @@ internal sealed class NamedEventsTimelineEventRow { /// /// Correlation group row emitted by named-events correlation query. /// -internal sealed class NamedEventsTimelineGroupRow { +public sealed class NamedEventsTimelineGroupRow { /// /// Correlation identifier. /// @@ -263,7 +263,7 @@ internal sealed class NamedEventsTimelineGroupRow { /// /// Timeline density bucket row emitted by named-events correlation query. /// -internal sealed class NamedEventsTimelineBucketRow { +public sealed class NamedEventsTimelineBucketRow { /// /// Bucket start in UTC ISO-8601 format. /// @@ -288,7 +288,7 @@ internal sealed class NamedEventsTimelineBucketRow { /// /// Result payload produced by timeline correlation query. /// -internal sealed class NamedEventsTimelineQueryResult { +public sealed class NamedEventsTimelineQueryResult { /// /// Effective named-event aliases requested. /// diff --git a/Sources/EventViewerX/Reports/Correlation/NamedEventsTimelineQueryExecutor.cs b/Sources/EventViewerX/Reports/Correlation/NamedEventsTimelineQueryExecutor.cs index 72c82fb3..7ac23ee8 100644 --- a/Sources/EventViewerX/Reports/Correlation/NamedEventsTimelineQueryExecutor.cs +++ b/Sources/EventViewerX/Reports/Correlation/NamedEventsTimelineQueryExecutor.cs @@ -574,6 +574,9 @@ private static EventRowAccumulator ToAccumulator( } private static string ResolveTypeName(EventTypeRecord item) { + if (item is IEventRule rule) { + return ToSnakeCase(rule.Type.ToString()); + } return Enum.TryParse(item.TypeName, out var parsedNamedEvent) ? ToSnakeCase(parsedNamedEvent.ToString()) : ToSnakeCase(item.TypeName); diff --git a/Sources/EventViewerX/Reports/Evtx/EvtxQueryFailure.cs b/Sources/EventViewerX/Reports/Evtx/EvtxQueryFailure.cs index 7e04c072..264c5ab2 100644 --- a/Sources/EventViewerX/Reports/Evtx/EvtxQueryFailure.cs +++ b/Sources/EventViewerX/Reports/Evtx/EvtxQueryFailure.cs @@ -3,7 +3,7 @@ namespace EventViewerX.Reports.Evtx; /// /// Canonical error kind produced by EVTX query execution. /// -internal enum EvtxQueryFailureKind { +public enum EvtxQueryFailureKind { /// Invalid request arguments. InvalidArgument, /// Target EVTX file was not found. @@ -19,7 +19,7 @@ internal enum EvtxQueryFailureKind { /// /// Failure payload produced by EVTX query execution. /// -internal sealed class EvtxQueryFailure { +public sealed class EvtxQueryFailure { /// /// Gets or sets failure kind. /// diff --git a/Sources/EventViewerX/Reports/Inventory/EventCatalogQueryContracts.cs b/Sources/EventViewerX/Reports/Inventory/EventCatalogQueryContracts.cs index 1e54cbf3..4cd3d912 100644 --- a/Sources/EventViewerX/Reports/Inventory/EventCatalogQueryContracts.cs +++ b/Sources/EventViewerX/Reports/Inventory/EventCatalogQueryContracts.cs @@ -5,7 +5,7 @@ namespace EventViewerX.Reports.Inventory; /// /// Shared request for event log catalog queries. /// -internal sealed class EventCatalogQueryRequest { +public sealed class EventCatalogQueryRequest { /// /// Optional target machine name. When null/empty, local machine is used. /// @@ -30,7 +30,7 @@ internal sealed class EventCatalogQueryRequest { /// /// Canonical error kinds produced by event catalog queries. /// -internal enum EventCatalogFailureKind { +public enum EventCatalogFailureKind { /// /// Invalid request arguments. /// @@ -60,7 +60,7 @@ internal enum EventCatalogFailureKind { /// /// Failure payload produced by event catalog queries. /// -internal sealed class EventCatalogFailure { +public sealed class EventCatalogFailure { /// /// Gets or sets failure kind. /// @@ -75,7 +75,7 @@ internal sealed class EventCatalogFailure { /// /// Event log channel row. /// -internal sealed class EventChannelRow { +public sealed class EventChannelRow { /// /// Channel name. /// @@ -85,7 +85,7 @@ internal sealed class EventChannelRow { /// /// Event provider row. /// -internal sealed class EventProviderRow { +public sealed class EventProviderRow { /// /// Provider name. /// @@ -95,7 +95,7 @@ internal sealed class EventProviderRow { /// /// Query result for channel listing. /// -internal sealed class EventChannelListResult { +public sealed class EventChannelListResult { /// /// Returned channel count. /// @@ -115,7 +115,7 @@ internal sealed class EventChannelListResult { /// /// Query result for provider listing. /// -internal sealed class EventProviderListResult { +public sealed class EventProviderListResult { /// /// Returned provider count. /// diff --git a/Sources/EventViewerX/Reports/Inventory/EventCatalogReportEngine.cs b/Sources/EventViewerX/Reports/Inventory/EventCatalogReportEngine.cs new file mode 100644 index 00000000..b3e91f27 --- /dev/null +++ b/Sources/EventViewerX/Reports/Inventory/EventCatalogReportEngine.cs @@ -0,0 +1,20 @@ +namespace EventViewerX.Reports.Inventory; + +/// Lists event log channels and providers through the shared EventViewerX catalog logic. +public static class EventCatalogReportEngine { + /// Lists channels visible to the current identity on the selected machine. + public static bool TryListChannels( + EventCatalogQueryRequest request, + out EventChannelListResult result, + out EventCatalogFailure? failure, + CancellationToken cancellationToken = default) => + EventCatalogQueryExecutor.TryListChannels(request, out result, out failure, cancellationToken); + + /// Lists providers visible to the current identity on the selected machine. + public static bool TryListProviders( + EventCatalogQueryRequest request, + out EventProviderListResult result, + out EventCatalogFailure? failure, + CancellationToken cancellationToken = default) => + EventCatalogQueryExecutor.TryListProviders(request, out result, out failure, cancellationToken); +} diff --git a/Sources/EventViewerX/Reports/Live/LiveEventQueryContracts.cs b/Sources/EventViewerX/Reports/Live/LiveEventQueryContracts.cs index cf4b95de..fa598fea 100644 --- a/Sources/EventViewerX/Reports/Live/LiveEventQueryContracts.cs +++ b/Sources/EventViewerX/Reports/Live/LiveEventQueryContracts.cs @@ -6,7 +6,7 @@ namespace EventViewerX.Reports.Live; /// /// Query contract for reading events from a live event log channel. /// -internal sealed class LiveEventQueryRequest { +public sealed class LiveEventQueryRequest { /// /// Log name (for example Security, System, Application). /// @@ -52,7 +52,7 @@ internal sealed class LiveEventQueryRequest { /// /// Canonical failure kinds produced by live event queries. /// -internal enum LiveEventQueryFailureKind { +public enum LiveEventQueryFailureKind { /// /// Invalid request arguments. /// @@ -86,7 +86,7 @@ internal enum LiveEventQueryFailureKind { /// /// Failure payload produced by live event queries. /// -internal sealed class LiveEventQueryFailure { +public sealed class LiveEventQueryFailure { /// /// Gets or sets failure kind. /// @@ -101,7 +101,7 @@ internal sealed class LiveEventQueryFailure { /// /// Single event row returned by live event queries. /// -internal sealed class LiveEventRow { +public sealed class LiveEventRow { /// /// Event creation time in UTC (ISO-8601), or when the source record has no timestamp. /// @@ -175,7 +175,7 @@ internal sealed class LiveEventRow { /// /// Query result for live event reads. /// -internal sealed class LiveEventQueryResult { +public sealed class LiveEventQueryResult { /// /// Effective machine queried. The local machine name is used when no remote target was supplied. /// diff --git a/Sources/EventViewerX/Reports/Live/LiveEventReportEngine.cs b/Sources/EventViewerX/Reports/Live/LiveEventReportEngine.cs new file mode 100644 index 00000000..31d9448f --- /dev/null +++ b/Sources/EventViewerX/Reports/Live/LiveEventReportEngine.cs @@ -0,0 +1,20 @@ +namespace EventViewerX.Reports.Live; + +/// Reads bounded live event rows and statistics using the shared EventViewerX report logic. +public static class LiveEventReportEngine { + /// Reads matching events from a live local or remote channel. + public static bool TryRead( + LiveEventQueryRequest request, + out LiveEventQueryResult result, + out LiveEventQueryFailure? failure, + CancellationToken cancellationToken = default) => + LiveEventQueryExecutor.TryRead(request, out result, out failure, cancellationToken); + + /// Aggregates matching events from a live local or remote channel. + public static bool TryBuildStats( + LiveStatsQueryRequest request, + out LiveStatsQueryResult result, + out LiveStatsQueryFailure? failure, + CancellationToken cancellationToken = default) => + LiveStatsQueryExecutor.TryBuild(request, out result, out failure, cancellationToken); +} diff --git a/Sources/EventViewerX/Reports/Live/LiveStatsQueryContracts.cs b/Sources/EventViewerX/Reports/Live/LiveStatsQueryContracts.cs index d191d736..e99deedf 100644 --- a/Sources/EventViewerX/Reports/Live/LiveStatsQueryContracts.cs +++ b/Sources/EventViewerX/Reports/Live/LiveStatsQueryContracts.cs @@ -7,7 +7,7 @@ namespace EventViewerX.Reports.Live; /// /// Query contract for aggregating live event log statistics. /// -internal sealed class LiveStatsQueryRequest { +public sealed class LiveStatsQueryRequest { /// /// Log name (for example Security, System, Application). /// @@ -73,7 +73,7 @@ internal sealed class LiveStatsQueryRequest { /// /// Canonical failure kinds produced by live stats queries. /// -internal enum LiveStatsQueryFailureKind { +public enum LiveStatsQueryFailureKind { /// /// Invalid request arguments. /// @@ -107,7 +107,7 @@ internal enum LiveStatsQueryFailureKind { /// /// Failure payload produced by live stats queries. /// -internal sealed class LiveStatsQueryFailure { +public sealed class LiveStatsQueryFailure { /// /// Gets or sets failure kind. /// @@ -122,7 +122,7 @@ internal sealed class LiveStatsQueryFailure { /// /// Top event ID count row. /// -internal sealed class TopEventIdRow { +public sealed class TopEventIdRow { /// /// Event ID. /// @@ -137,7 +137,7 @@ internal sealed class TopEventIdRow { /// /// Top provider count row. /// -internal sealed class TopProviderRow { +public sealed class TopProviderRow { /// /// Provider name. /// @@ -152,7 +152,7 @@ internal sealed class TopProviderRow { /// /// Top computer count row. /// -internal sealed class TopComputerRow { +public sealed class TopComputerRow { /// /// Computer name. /// @@ -167,7 +167,7 @@ internal sealed class TopComputerRow { /// /// Query result for live stats reads. /// -internal sealed class LiveStatsQueryResult { +public sealed class LiveStatsQueryResult { /// /// Effective machine queried. The local machine name is used when no remote target was supplied. /// diff --git a/Sources/EventViewerX/Reports/ReportTopRow.cs b/Sources/EventViewerX/Reports/ReportTopRow.cs index b2101fd9..1956ff99 100644 --- a/Sources/EventViewerX/Reports/ReportTopRow.cs +++ b/Sources/EventViewerX/Reports/ReportTopRow.cs @@ -5,7 +5,7 @@ namespace EventViewerX.Reports; /// /// Generic key/count row used by report aggregates for top-N result shaping. /// -internal sealed class ReportTopRow { +public sealed class ReportTopRow { /// /// Aggregate key payload (for example: { "user": "alice" }). /// diff --git a/Sources/EventViewerX/Reports/Security/SecurityAccountLockoutsReport.cs b/Sources/EventViewerX/Reports/Security/SecurityAccountLockoutsReport.cs index 6c0675c9..d1c2e7b0 100644 --- a/Sources/EventViewerX/Reports/Security/SecurityAccountLockoutsReport.cs +++ b/Sources/EventViewerX/Reports/Security/SecurityAccountLockoutsReport.cs @@ -36,7 +36,7 @@ internal sealed class SecurityAccountLockoutsReport { /// /// Sample row for a single 4740 event. /// -internal sealed class SecurityAccountLockoutSample { +public sealed class SecurityAccountLockoutSample { /// Event time (UTC), or null when the source record has no timestamp. public DateTime? TimeCreatedUtc { get; set; } /// Event ID (typically 4740). diff --git a/Sources/EventViewerX/Reports/Security/SecurityEvtxQueryContracts.cs b/Sources/EventViewerX/Reports/Security/SecurityEvtxQueryContracts.cs index 99c312d8..c01b0116 100644 --- a/Sources/EventViewerX/Reports/Security/SecurityEvtxQueryContracts.cs +++ b/Sources/EventViewerX/Reports/Security/SecurityEvtxQueryContracts.cs @@ -7,7 +7,7 @@ namespace EventViewerX.Reports.Security; /// /// Common EVTX security report request. /// -internal sealed class SecurityEvtxQueryRequest { +public sealed class SecurityEvtxQueryRequest { /// /// EVTX file path. /// @@ -47,7 +47,7 @@ internal sealed class SecurityEvtxQueryRequest { /// /// EVTX user-logons report query result. /// -internal sealed class SecurityUserLogonsQueryResult { +public sealed class SecurityUserLogonsQueryResult { /// /// Queried EVTX path. /// @@ -162,7 +162,7 @@ internal sealed class SecurityUserLogonsQueryResult { /// /// EVTX failed-logons report query result. /// -internal sealed class SecurityFailedLogonsQueryResult { +public sealed class SecurityFailedLogonsQueryResult { /// /// Queried EVTX path. /// @@ -297,7 +297,7 @@ internal sealed class SecurityFailedLogonsQueryResult { /// /// EVTX account-lockouts report query result. /// -internal sealed class SecurityAccountLockoutsQueryResult { +public sealed class SecurityAccountLockoutsQueryResult { /// /// Queried EVTX path. /// diff --git a/Sources/EventViewerX/Reports/Security/SecurityEvtxSummaryEngine.cs b/Sources/EventViewerX/Reports/Security/SecurityEvtxSummaryEngine.cs new file mode 100644 index 00000000..b7994bef --- /dev/null +++ b/Sources/EventViewerX/Reports/Security/SecurityEvtxSummaryEngine.cs @@ -0,0 +1,32 @@ +using EventViewerX.Reports.Evtx; + +namespace EventViewerX.Reports.Security; + +/// +/// Builds bounded security summaries from one Windows EVTX file using the shared EventViewerX report engine. +/// +public static class SecurityEvtxSummaryEngine { + /// Summarizes user logon and logoff events. + public static bool TryQueryUserLogons( + SecurityEvtxQueryRequest request, + out SecurityUserLogonsQueryResult result, + out EvtxQueryFailure? failure, + CancellationToken cancellationToken = default) => + SecurityEvtxQueryExecutor.TryBuildUserLogons(request, out result, out failure, cancellationToken); + + /// Summarizes failed logon events and their status details. + public static bool TryQueryFailedLogons( + SecurityEvtxQueryRequest request, + out SecurityFailedLogonsQueryResult result, + out EvtxQueryFailure? failure, + CancellationToken cancellationToken = default) => + SecurityEvtxQueryExecutor.TryBuildFailedLogons(request, out result, out failure, cancellationToken); + + /// Summarizes account lockout events and their affected identities. + public static bool TryQueryAccountLockouts( + SecurityEvtxQueryRequest request, + out SecurityAccountLockoutsQueryResult result, + out EvtxQueryFailure? failure, + CancellationToken cancellationToken = default) => + SecurityEvtxQueryExecutor.TryBuildAccountLockouts(request, out result, out failure, cancellationToken); +} diff --git a/Sources/EventViewerX/Reports/Security/SecurityFailedLogonsReport.cs b/Sources/EventViewerX/Reports/Security/SecurityFailedLogonsReport.cs index ac1d15e3..74ea3a73 100644 --- a/Sources/EventViewerX/Reports/Security/SecurityFailedLogonsReport.cs +++ b/Sources/EventViewerX/Reports/Security/SecurityFailedLogonsReport.cs @@ -48,7 +48,7 @@ internal sealed class SecurityFailedLogonsReport { /// /// Sample row for a single 4625 event. /// -internal sealed class SecurityFailedLogonSample { +public sealed class SecurityFailedLogonSample { /// Event time (UTC), or null when the source record has no timestamp. public DateTime? TimeCreatedUtc { get; set; } /// Event ID (typically 4625). diff --git a/Sources/EventViewerX/Reports/Security/SecurityUserLogonsReport.cs b/Sources/EventViewerX/Reports/Security/SecurityUserLogonsReport.cs index aa388da1..ff003ddf 100644 --- a/Sources/EventViewerX/Reports/Security/SecurityUserLogonsReport.cs +++ b/Sources/EventViewerX/Reports/Security/SecurityUserLogonsReport.cs @@ -43,7 +43,7 @@ internal sealed class SecurityUserLogonsReport { /// /// Sample row for a single logon-related event. /// -internal sealed class SecurityUserLogonSample { +public sealed class SecurityUserLogonSample { /// Event time (UTC), or null when the source record has no timestamp. public DateTime? TimeCreatedUtc { get; set; } /// Event ID. diff --git a/Sources/EventViewerX/Reports/Stats/EvtxLevelStats.cs b/Sources/EventViewerX/Reports/Stats/EvtxLevelStats.cs index 31892a20..d8b6d0a7 100644 --- a/Sources/EventViewerX/Reports/Stats/EvtxLevelStats.cs +++ b/Sources/EventViewerX/Reports/Stats/EvtxLevelStats.cs @@ -5,7 +5,7 @@ namespace EventViewerX.Reports.Stats; /// /// Aggregated event counts for a single event level. /// -internal sealed class EvtxLevelStats { +public sealed class EvtxLevelStats { /// /// Creates a new level stats row. /// diff --git a/Sources/EventViewerX/Reports/Stats/EvtxStatisticsEngine.cs b/Sources/EventViewerX/Reports/Stats/EvtxStatisticsEngine.cs new file mode 100644 index 00000000..e031992d --- /dev/null +++ b/Sources/EventViewerX/Reports/Stats/EvtxStatisticsEngine.cs @@ -0,0 +1,18 @@ +using EventViewerX.Reports.Evtx; + +namespace EventViewerX.Reports.Stats; + +/// +/// Builds bounded statistics for a Windows EVTX file using the shared EventViewerX query and aggregation engine. +/// +public static class EvtxStatisticsEngine { + /// + /// Queries one EVTX file and returns counts, time bounds, and ranked dimensions. + /// + public static bool TryQuery( + EvtxStatsQueryRequest request, + out EvtxStatsQueryResult result, + out EvtxQueryFailure? failure, + CancellationToken cancellationToken = default) => + EvtxStatsQueryExecutor.TryBuild(request, out result, out failure, cancellationToken); +} diff --git a/Sources/EventViewerX/Reports/Stats/EvtxStatsQueryContracts.cs b/Sources/EventViewerX/Reports/Stats/EvtxStatsQueryContracts.cs index 4e7a865a..268f5658 100644 --- a/Sources/EventViewerX/Reports/Stats/EvtxStatsQueryContracts.cs +++ b/Sources/EventViewerX/Reports/Stats/EvtxStatsQueryContracts.cs @@ -6,7 +6,7 @@ namespace EventViewerX.Reports.Stats; /// /// Query contract for EVTX statistics aggregation. /// -internal sealed class EvtxStatsQueryRequest { +public sealed class EvtxStatsQueryRequest { /// /// EVTX file path (absolute or relative). /// @@ -66,7 +66,7 @@ internal sealed class EvtxStatsQueryRequest { /// /// Top event ID count row. /// -internal sealed class EvtxStatsTopEventIdRow { +public sealed class EvtxStatsTopEventIdRow { /// /// Event ID. /// @@ -81,7 +81,7 @@ internal sealed class EvtxStatsTopEventIdRow { /// /// Top provider count row. /// -internal sealed class EvtxStatsTopProviderRow { +public sealed class EvtxStatsTopProviderRow { /// /// Provider name. /// @@ -96,7 +96,7 @@ internal sealed class EvtxStatsTopProviderRow { /// /// Top computer count row. /// -internal sealed class EvtxStatsTopComputerRow { +public sealed class EvtxStatsTopComputerRow { /// /// Computer name. /// @@ -111,7 +111,7 @@ internal sealed class EvtxStatsTopComputerRow { /// /// Query result for EVTX stats aggregation. /// -internal sealed class EvtxStatsQueryResult { +public sealed class EvtxStatsQueryResult { /// /// Queried EVTX path. /// From a69890e4af3e6544f042901a213e7005815b5dff Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Przemys=C5=82aw=20K=C5=82ys?= Date: Tue, 29 Sep 2026 12:37:34 +0200 Subject: [PATCH 2/2] Refresh v4 lockfiles for current .NET SDK --- .../EventViewerX.AotSmoke/packages.lock.json | 26 +++--- Sources/EventViewerX.Cli/packages.lock.json | 36 ++------ .../EventViewerX.Detection/packages.lock.json | 66 +------------- Sources/EventViewerX.Evtx/packages.lock.json | 91 +------------------ .../EventViewerX.Reporting/packages.lock.json | 68 +------------- .../EventViewerX.Storage/packages.lock.json | 69 +------------- Sources/EventViewerX/packages.lock.json | 59 +----------- 7 files changed, 26 insertions(+), 389 deletions(-) diff --git a/Sources/EventViewerX.AotSmoke/packages.lock.json b/Sources/EventViewerX.AotSmoke/packages.lock.json index 72793a9f..aa1ed137 100644 --- a/Sources/EventViewerX.AotSmoke/packages.lock.json +++ b/Sources/EventViewerX.AotSmoke/packages.lock.json @@ -4,15 +4,15 @@ "net10.0-windows7.0": { "Microsoft.DotNet.ILCompiler": { "type": "Direct", - "requested": "[10.0.11, )", - "resolved": "10.0.11", - "contentHash": "yloFUsIQOzspIsn2cDHrbgikKaWHAZspzj0EWxnWJJpFC89IBW64OXgCECsrrnzGWQvy1iLX9r5/R4zBf7Am3g==" + "requested": "[10.0.12, )", + "resolved": "10.0.12", + "contentHash": "AawF393Q+VkdrnrnI1gu612zh5iqpa1AGSvnKCQ3IkMgSKJXIQbO1sXYRgEzOU4f0cPZ6MaCCF29xZSGWlmbuQ==" }, "Microsoft.NET.ILLink.Tasks": { "type": "Direct", - "requested": "[10.0.11, )", - "resolved": "10.0.11", - "contentHash": "IBf7lbovvjGWVWXZX5cJ/cO0WXbId0Zq4BuSeT94mGZuOAP66oMeH9PTBZ9Jpp3Jb6jtK0qm/NyUbPRo1gC/wQ==" + "requested": "[10.0.12, )", + "resolved": "10.0.12", + "contentHash": "xi+BDjFpW+Sb+MHFHaH6Y/gV9I8BluFwRXc1QyCdoZbIK26eNiBeFuMTe/FMwc33G1wdHCyDg7CVTmb8OdQrMQ==" }, "DnsClientX": { "type": "Transitive", @@ -41,17 +41,17 @@ "net10.0-windows7.0/win-x64": { "Microsoft.DotNet.ILCompiler": { "type": "Direct", - "requested": "[10.0.11, )", - "resolved": "10.0.11", - "contentHash": "yloFUsIQOzspIsn2cDHrbgikKaWHAZspzj0EWxnWJJpFC89IBW64OXgCECsrrnzGWQvy1iLX9r5/R4zBf7Am3g==", + "requested": "[10.0.12, )", + "resolved": "10.0.12", + "contentHash": "AawF393Q+VkdrnrnI1gu612zh5iqpa1AGSvnKCQ3IkMgSKJXIQbO1sXYRgEzOU4f0cPZ6MaCCF29xZSGWlmbuQ==", "dependencies": { - "runtime.win-x64.Microsoft.DotNet.ILCompiler": "10.0.11" + "runtime.win-x64.Microsoft.DotNet.ILCompiler": "10.0.12" } }, "runtime.win-x64.Microsoft.DotNet.ILCompiler": { "type": "Transitive", - "resolved": "10.0.11", - "contentHash": "D6ZKMo3NeTnos7l5S8bMmiPm4LK+y15Q/uduyPw7FX+xKbeWVWdwlcZGkLLPjLvW4ZO6o3ACanq5HsSXJgrt0g==" + "resolved": "10.0.12", + "contentHash": "clsgU9GnioCJ+PBzQTCoJHxLXRU+7O/BzYrwRT8CUP7jgyYjNgJmNsQ/kbzAA7MG5kDvFoFvIBGHGzYdINh/EQ==" }, "System.Diagnostics.EventLog": { "type": "Transitive", @@ -65,4 +65,4 @@ } } } -} +} \ No newline at end of file diff --git a/Sources/EventViewerX.Cli/packages.lock.json b/Sources/EventViewerX.Cli/packages.lock.json index be00c985..ba5d2135 100644 --- a/Sources/EventViewerX.Cli/packages.lock.json +++ b/Sources/EventViewerX.Cli/packages.lock.json @@ -16,9 +16,9 @@ }, "Microsoft.NET.ILLink.Tasks": { "type": "Direct", - "requested": "[10.0.11, )", - "resolved": "10.0.11", - "contentHash": "IBf7lbovvjGWVWXZX5cJ/cO0WXbId0Zq4BuSeT94mGZuOAP66oMeH9PTBZ9Jpp3Jb6jtK0qm/NyUbPRo1gC/wQ==" + "requested": "[10.0.12, )", + "resolved": "10.0.12", + "contentHash": "xi+BDjFpW+Sb+MHFHaH6Y/gV9I8BluFwRXc1QyCdoZbIK26eNiBeFuMTe/FMwc33G1wdHCyDg7CVTmb8OdQrMQ==" }, "BouncyCastle.Cryptography": { "type": "Transitive", @@ -436,7 +436,7 @@ "eventviewerx.detection": { "type": "Project", "dependencies": { - "EventViewerX": "[4.0.0, )", + "EventViewerX": "[4.0.1, )", "JsonSchema.Net": "[9.4.0, )", "YamlDotNet": "[18.1.0, )" } @@ -444,14 +444,14 @@ "eventviewerx.evtx": { "type": "Project", "dependencies": { - "EventViewerX": "[4.0.0, )", + "EventViewerX": "[4.0.1, )", "evtx": "[1.5.2, )" } }, "eventviewerx.reporting": { "type": "Project", "dependencies": { - "EventViewerX": "[4.0.0, )", + "EventViewerX": "[4.0.1, )", "HtmlForgeX": "[0.56.0, )", "HtmlForgeX.Email": "[1.6.0, )", "OfficeIMO.CSV": "[3.2.4, )", @@ -462,29 +462,9 @@ "type": "Project", "dependencies": { "DBAClientX.SQLite": "[1.0.8, )", - "EventViewerX": "[4.0.0, )" + "EventViewerX": "[4.0.1, )" } } } - }, - "powerForgeSdkPackages": { - "Microsoft.AspNetCore.App.Runtime.linux-arm64|10.0.11": "irSNtJK2ME4yxMlSiWoaGVzboMJC15FmCS56NQGLQ9rhGqN9IHj/okIs7aQ6XYFPsNy5Nn0ddZEnmNKKG8P1AQ==", - "Microsoft.AspNetCore.App.Runtime.linux-x64|10.0.11": "iA4MIriQomj0zcQObOhk+5kDtHIcOrwPKpI603syHNvdxpfj7lneSCWxEAaCUrkejcx9988wJybXLf9JvnJuow==", - "Microsoft.AspNetCore.App.Runtime.osx-arm64|10.0.11": "VdfNNYlgOQ1RZcs7VBx16kk5Ue8A8LiIpAavbFltryVL+/NMLDOuBCgr2nCjTyshlI5ICnEVrOI8i957aCA1Ew==", - "Microsoft.AspNetCore.App.Runtime.osx-x64|10.0.11": "LRbrXGENOr1qLLixt46njneIJe7kDjErhEk9tie2BXPuglbOKZDe99Us7IY6uRBQF5unjYIfE9spO2UMPQ9n2A==", - "Microsoft.AspNetCore.App.Runtime.win-arm64|10.0.11": "jbmebhOraTL3ZNEt8QPRMdQhqJypdhFpWRryt2LtTVa6Idr+fN+9lmsfXkKlddYdRDA8nZNS8nW7HsTxpKZ/qg==", - "Microsoft.AspNetCore.App.Runtime.win-x64|10.0.11": "cWmSB4T/SUN4EbchZxJUi2H/euP8/WMfXMVAIb2DG9Vn/cTQiAGxN/t3SORDkIMPP9Sa6SLHWefKqAgj7qmIlw==", - "Microsoft.NETCore.App.Host.linux-arm64|10.0.11": "d4voZDynsqKTH9Ado4u7+X48L52S2rD/KCB503sQ7WeaF2z9OHvur1I02yXB+QhnscjyF+WyE+D3lrLZUY2WSQ==", - "Microsoft.NETCore.App.Host.linux-x64|10.0.11": "C1xP9GCLC4JVxRZpzDKTXrlH3J5pVaQ2m1NNmZSbNYCbS6LwqLDYsJUZ26thjmqc8BLQ+vGkR8eui2+ZV69dXg==", - "Microsoft.NETCore.App.Host.osx-arm64|10.0.11": "v8yqr04cVMCj3Qn0M3qfeCKCYfzJFynuu+xcEzylzF0jhXcvWGgFxnRv5QHNPDJhBim2k7Xv/pGc9hIZ2dhlzA==", - "Microsoft.NETCore.App.Host.osx-x64|10.0.11": "bQsnPBmPA+We3TkxvjOczzNMOUzpB1Jtbmd0AGH3MntYsPrNSSv3tlfxAY5x6wYAD1Oa11tWqkWWEloN9CMC2g==", - "Microsoft.NETCore.App.Runtime.linux-arm64|10.0.11": "nWRdeyu/GtEMLL/m0a1eytpjYUZM/2/Fxflbni3uu2myplMiOqmfJJrsJ2I4Ijtjgdwix+WrUCQFIoxYX/IriA==", - "Microsoft.NETCore.App.Runtime.linux-x64|10.0.11": "/Xtz8tvuLlzWxHTxyMHX761YIU1IXgehZuLmv9hZx94jYksOrI1Mx9yFfUnQZ1PjNFBl9v7LSbRpE67+CQ81tw==", - "Microsoft.NETCore.App.Runtime.osx-arm64|10.0.11": "zjYmMH4pfOm7QrSWX5iwVG020vv8UlcIlCL8XppJd3yX8dQAvrujkZGDsH2apr8EUY39BYMAXDr5MLgRcAolQg==", - "Microsoft.NETCore.App.Runtime.osx-x64|10.0.11": "5SGB1deVF4jfOKuScf9M/K+41SlobKxkXNenJndwwH3fPXcHNJMdZ0166k4UVju+bMdufGNB+qDQhZ48bPcv/g==", - "Microsoft.NETCore.App.Runtime.win-arm64|10.0.11": "zm2H6vURpVQ6p44uxTUcWl64GpSApoJLy/UPdJklnFblXceVDXsyENK9tNtm7+UKtQ9m4lIYfhMM03tKPKB+pw==", - "Microsoft.NETCore.App.Runtime.win-x64|10.0.11": "AsqluTjZAgnSAbqh8qQ/mPOpkcuerdyhXsPYs4/iUfpBItGENdYI8g5IxLxVD3ztZG/5EbqSW8f60nz1D4VGOA==", - "Microsoft.WindowsDesktop.App.Runtime.win-arm64|10.0.11": "yJcn/7qr1zc0yLlAacQ0ldcXy4vOUH1LtRBtz1snpRYixctjmacvopqLZiuODaEY/1yFhKzlZI0t4w+TjEtTZA==", - "Microsoft.WindowsDesktop.App.Runtime.win-x64|10.0.11": "BtcNcsjl6FgGHxnty0flaCdrEUkDbp27mdH+5FLQgaVUJdv5VuCELTu3jwfPe9iuL6gzGX5ChV77xVw5sTrn7g==" } -} +} \ No newline at end of file diff --git a/Sources/EventViewerX.Detection/packages.lock.json b/Sources/EventViewerX.Detection/packages.lock.json index 70ffd369..648b32c0 100644 --- a/Sources/EventViewerX.Detection/packages.lock.json +++ b/Sources/EventViewerX.Detection/packages.lock.json @@ -509,69 +509,5 @@ } } } - }, - "powerForgeSdkPackages": { - "Microsoft.AspNetCore.App.Runtime.linux-arm64|10.0.11": "irSNtJK2ME4yxMlSiWoaGVzboMJC15FmCS56NQGLQ9rhGqN9IHj/okIs7aQ6XYFPsNy5Nn0ddZEnmNKKG8P1AQ==", - "Microsoft.AspNetCore.App.Runtime.linux-arm64|8.0.28": "u1tWlsOHjQCS5SC4Eg6Qo826FDQ1h0UA5GhBd6lUJqAAZOtGqHMbea0ZD72q3CCGoRrATSAb4wSlpv0rjq1HAg==", - "Microsoft.AspNetCore.App.Runtime.linux-x64|10.0.11": "iA4MIriQomj0zcQObOhk+5kDtHIcOrwPKpI603syHNvdxpfj7lneSCWxEAaCUrkejcx9988wJybXLf9JvnJuow==", - "Microsoft.AspNetCore.App.Runtime.linux-x64|8.0.28": "MNoKpJuF+OCGi+rLDMTfsU9gGy5vaViqdekDsxs8vP/6d5aYfozMHyAwwiym/3+pIJtDAV+/RDKcNLIcRme54w==", - "Microsoft.AspNetCore.App.Runtime.osx-arm64|10.0.11": "VdfNNYlgOQ1RZcs7VBx16kk5Ue8A8LiIpAavbFltryVL+/NMLDOuBCgr2nCjTyshlI5ICnEVrOI8i957aCA1Ew==", - "Microsoft.AspNetCore.App.Runtime.osx-arm64|8.0.28": "j/3tNAXTCcKdnrDdJXfEkkO4yTN+IbY0XIrAUzkREtPLpLGwx4t1z8s3Pp9yYkCdsZTNCNgjJmxmNs3gZUpXbQ==", - "Microsoft.AspNetCore.App.Runtime.osx-x64|10.0.11": "LRbrXGENOr1qLLixt46njneIJe7kDjErhEk9tie2BXPuglbOKZDe99Us7IY6uRBQF5unjYIfE9spO2UMPQ9n2A==", - "Microsoft.AspNetCore.App.Runtime.osx-x64|8.0.28": "cItgV4HavW9tjjT2Umv2J/95sP6UsgIppOc6vRaJVGsjsMyhtaVi379d1gFcjGnMFikkSDThmMC9b48I+gcMbA==", - "Microsoft.AspNetCore.App.Runtime.win-arm64|10.0.11": "jbmebhOraTL3ZNEt8QPRMdQhqJypdhFpWRryt2LtTVa6Idr+fN+9lmsfXkKlddYdRDA8nZNS8nW7HsTxpKZ/qg==", - "Microsoft.AspNetCore.App.Runtime.win-arm64|8.0.28": "fdNViNb0RnzDiyMVI4fX/u+a/mVVSpZEg824ggRpADni6F+PJKkwPsuzY3GHk3koNEOXDEbuNEZjJB0LwBWEqg==", - "Microsoft.AspNetCore.App.Runtime.win-x64|10.0.11": "cWmSB4T/SUN4EbchZxJUi2H/euP8/WMfXMVAIb2DG9Vn/cTQiAGxN/t3SORDkIMPP9Sa6SLHWefKqAgj7qmIlw==", - "Microsoft.AspNetCore.App.Runtime.win-x64|8.0.28": "a97O/kRRTEX+VUL66tyQ2Lgl+As+AEw08f9Qwu8+p7k909Zk+L1dyqZECkF5vqxiEpc9sOtK2+NrS946/uuITw==", - "Microsoft.NETCore.App.Host.linux-arm64|10.0.11": "d4voZDynsqKTH9Ado4u7+X48L52S2rD/KCB503sQ7WeaF2z9OHvur1I02yXB+QhnscjyF+WyE+D3lrLZUY2WSQ==", - "Microsoft.NETCore.App.Host.linux-arm64|8.0.28": "kE1gNHvV1V8+s3U+jnOukR3r6Er2MIinAhwC85+wOxhoKW9L8wDPO53Zu3zvkeQUGWRaYaGOa6c0cNs1rCRVwQ==", - "Microsoft.NETCore.App.Host.linux-x64|10.0.11": "C1xP9GCLC4JVxRZpzDKTXrlH3J5pVaQ2m1NNmZSbNYCbS6LwqLDYsJUZ26thjmqc8BLQ+vGkR8eui2+ZV69dXg==", - "Microsoft.NETCore.App.Host.linux-x64|8.0.28": "8yAUUOmKvnpBsPUUDiFVuGlZnKFI5z3hJRdkmJ526it9++J5yQH6/+pkwzn9BrJNYHbGk8zo6D8GTvp/27wEJA==", - "Microsoft.NETCore.App.Host.osx-arm64|10.0.11": "v8yqr04cVMCj3Qn0M3qfeCKCYfzJFynuu+xcEzylzF0jhXcvWGgFxnRv5QHNPDJhBim2k7Xv/pGc9hIZ2dhlzA==", - "Microsoft.NETCore.App.Host.osx-arm64|8.0.28": "J11ax64LxcjaDOBkWUmO7wT9nZJiLEDsWPiugxOKigbeoLe5pNqV1DXpmU7/2IyZ/Q6Xr/ZJALoCQu463/1mvg==", - "Microsoft.NETCore.App.Host.osx-x64|10.0.11": "bQsnPBmPA+We3TkxvjOczzNMOUzpB1Jtbmd0AGH3MntYsPrNSSv3tlfxAY5x6wYAD1Oa11tWqkWWEloN9CMC2g==", - "Microsoft.NETCore.App.Host.osx-x64|8.0.28": "XUCbdYRUEcUFvq/QpA1MOSIyKZgu4cZXeINA1K+fOw8IJ0xGSNhNwIAIy9qaTRrCyKknkKDHwmSCNq0dR4gvsw==", - "Microsoft.NETCore.App.Runtime.linux-arm64|10.0.11": "nWRdeyu/GtEMLL/m0a1eytpjYUZM/2/Fxflbni3uu2myplMiOqmfJJrsJ2I4Ijtjgdwix+WrUCQFIoxYX/IriA==", - "Microsoft.NETCore.App.Runtime.linux-arm64|8.0.28": "c5zpjVuOuwgFrUKH7QhgJSlsa80/q0I4a3sqpYZHokUbTf9IlE+LAoLNvo8hG+2MTtwdFbZqEncpdfUzwhr+qA==", - "Microsoft.NETCore.App.Runtime.linux-x64|10.0.11": "/Xtz8tvuLlzWxHTxyMHX761YIU1IXgehZuLmv9hZx94jYksOrI1Mx9yFfUnQZ1PjNFBl9v7LSbRpE67+CQ81tw==", - "Microsoft.NETCore.App.Runtime.linux-x64|8.0.28": "rBmwp8To1w1LwnXsQk3zdY2QrYuej7QLIulP41M6M8nSJkSpUdOnuj+t59TopPy0KU+v4Qzoe5ZEUUSUviDHXw==", - "Microsoft.NETCore.App.Runtime.osx-arm64|10.0.11": "zjYmMH4pfOm7QrSWX5iwVG020vv8UlcIlCL8XppJd3yX8dQAvrujkZGDsH2apr8EUY39BYMAXDr5MLgRcAolQg==", - "Microsoft.NETCore.App.Runtime.osx-arm64|8.0.28": "BZSlWEcYhrUeHSDQjtlIDsRwswi2Yj7YAh/f8ddIxXx9KogB3rr10cq5YVefsDiaKpyegoQjrelYsEQ/8bGbcA==", - "Microsoft.NETCore.App.Runtime.osx-x64|10.0.11": "5SGB1deVF4jfOKuScf9M/K+41SlobKxkXNenJndwwH3fPXcHNJMdZ0166k4UVju+bMdufGNB+qDQhZ48bPcv/g==", - "Microsoft.NETCore.App.Runtime.osx-x64|8.0.28": "NBN9MK6KZR2R8RuG/j7D25vh2Wi6vaxCA8m1v4Cw4wnT8qfJ1jxk0kEeiOur8kLpk5t4Cmy8rjHsk0lKaowIkw==", - "Microsoft.NETCore.App.Runtime.win-arm64|10.0.11": "zm2H6vURpVQ6p44uxTUcWl64GpSApoJLy/UPdJklnFblXceVDXsyENK9tNtm7+UKtQ9m4lIYfhMM03tKPKB+pw==", - "Microsoft.NETCore.App.Runtime.win-arm64|8.0.28": "fKYTN+aXVr30nLnHjUwMgeRcUYrF0dWZXxaqNC/69YQ8VvHue7ZKll02Ym3aa4BHrzJEZNg+XyqsuESm6DlMog==", - "Microsoft.NETCore.App.Runtime.win-x64|10.0.11": "AsqluTjZAgnSAbqh8qQ/mPOpkcuerdyhXsPYs4/iUfpBItGENdYI8g5IxLxVD3ztZG/5EbqSW8f60nz1D4VGOA==", - "Microsoft.NETCore.App.Runtime.win-x64|8.0.28": "G2SWebJKnBkixQcJlVkCV0EbqdoAhqAf6evVKDcY6CmFjPOFeC+gZeO6/dlm4v1fbKERjpjJzMg0mnKA1il1Zg==", - "Microsoft.WindowsDesktop.App.Runtime.win-arm64|10.0.11": "yJcn/7qr1zc0yLlAacQ0ldcXy4vOUH1LtRBtz1snpRYixctjmacvopqLZiuODaEY/1yFhKzlZI0t4w+TjEtTZA==", - "Microsoft.WindowsDesktop.App.Runtime.win-arm64|8.0.28": "gAPX5GQzU18jQVaprWJZ8/W78ralzVUPPhQ2QrfM/iny0ILFTOC6GAWe/c7G54gMLkDjwM3+Tmw72cfUI2aLZg==", - "Microsoft.WindowsDesktop.App.Runtime.win-x64|10.0.11": "BtcNcsjl6FgGHxnty0flaCdrEUkDbp27mdH+5FLQgaVUJdv5VuCELTu3jwfPe9iuL6gzGX5ChV77xVw5sTrn7g==", - "Microsoft.WindowsDesktop.App.Runtime.win-x64|8.0.28": "sKbAXRze+wBxtj2zexZfpR4vGe2yKZqRn79wFpwa6Ev7be81noXIewGpWvoy7s41y1bTPFzt2YDl3pGFFsXYmQ==" - }, - "powerForgeRestorePackages": { - "DnsClientX|2.1.0": "Pp57zl3zJHkB1MMiVApLZuksJitylTQ1baThYTScU8DR9uh8iPqskFj6HNsSEKlW/vJnTvnWwu5zuouAFxEBNw==", - "Humanizer.Core|3.0.10": "yZIhtw8sYuvsONzQbZxWpR60tMWYHXoo0DL6nyOqSFiU5POjBTSEyWFpTQtJEZuy+oqiYTXKXY/Mjx7KnqIQFw==", - "Json.More.Net|3.0.1": "fRctF2J2SILYG6wqP21drmeEODmCVkVQ/b3MndDu2fT1swfySyUgq7ePCk+aENGlDcIm05fyfjh9vcuqDEfv3w==", - "JsonPointer.Net|7.0.2": "oClYHv2ooeRrtPZyC9sb/Za/ie5pGhjTbNHlAyFg4XOCyU+606FdoZKS7UdaWvtsPlrF+U2w0Ja3TRvn5+spyA==", - "JsonSchema.Net|9.4.0": "muE4nPuzbD9x5XA1mkXJNqX4mhz47oF3EY8qFLY1pyUY7lhXFKq65t/dSKIHeNSLBV17zwZuq24MD1em90rMNg==", - "Microsoft.Bcl.AsyncInterfaces|10.0.10": "TFI6OKYE1XZz4SGuTSH70c6SBdPpFktXsoa1gCxTr3mKrhmXirnvaS0tKz+J3ZWICEAmMpEGn59nO4ICtUpQXA==", - "Microsoft.Win32.Registry|5.0.0": "dDoKi0PnDz31yAyETfRntsLArTlVAVzUzCIvvEDsDsucrl33Dl8pIJG06ePTJTI3tGpeyHS9Cq7Foc/s4EeKcg==", - "System.Buffers|4.6.1": "N8GXpmiLMtljq7gwvyS+1QvKT/W2J8sNAvx+HVg4NGmsG/H+2k/y9QI23auLJRterrzCiDH+IWAw4V/GPwsMlw==", - "System.Collections.Immutable|10.0.5": "nozrOKfEgfrvvswkCfxaumY68RA/x1F3ZYwtwRvva8ul91NCnUzb6MKpl5/P7u9v/nIagVL4OXXj8d007tucxw==", - "System.ComponentModel.Annotations|5.0.0": "dMkqfy2el8A8/I76n2Hi1oBFEbG1SfxD2l5nhwXV3XjlnOmwxJlQbYpJH4W51odnU9sARCSAgv7S3CyAFMkpYg==", - "System.Diagnostics.EventLog|6.0.0": "lcyUiXTsETK2ALsZrX+nWuHSIQeazhqPphLfaRxzdGaG93+0kELqpgEHtwWOlQe7+jSFnKwaCAgL4kjeZCQJnw==", - "System.DirectoryServices|6.0.0": "kp/Op0nxDVGlElDKh8TsXO0GKXftQgAB6sJk0wUetZK1Rr0Pbd86Tn7AllLLlROFZa4BTl/LVHakljtGELFzCg==", - "System.IO.FileSystem.AccessControl|5.0.0": "SxHB3nuNrpptVk+vZ/F+7OHEpoHUIKKMl02bUmYHQr1r+glbZQxs7pRtsf4ENO29TVm2TH3AEeep2fJcy92oYw==", - "System.IO.Pipelines|10.0.10": "7WX0W96y3dpQdYG4sEGdh38g3/0lOD4/dKbn2rRVOVzKhzoZUn2gKNIKaFeKWs8RCbpFfmmEWsRhSy95hMpvqA==", - "System.Memory|4.6.3": "qdcDOgnFZY40+Q9876JUHnlHu7bosOHX8XISRoH94fwk6hgaeQGSgfZd8srWRZNt5bV9ZW2TljcegDNxsf+96A==", - "System.Runtime.CompilerServices.Unsafe|6.1.2": "2hBr6zdbIBTDE3EhK7NSVNdX58uTK6iHW/P/Axmm9sl1xoGSLqDvMtpecn226TNwHByFokYwJmt/aQQNlO5CRw==", - "System.Security.AccessControl|6.0.0": "AUADIc0LIEQe7MzC+I0cl0rAT8RrTAKFHl53yHjEUzNVIaUlhFY11vc2ebiVJzVBuOzun6F7FBA+8KAbGTTedQ==", - "System.Security.Permissions|6.0.0": "T/uuc7AklkDoxmcJ7LGkyX1CcSviZuLCa4jg3PekfJ7SU0niF0IVTXwUiNVP9DSpzou2PpxJ+eNY2IfDM90ZCg==", - "System.Security.Principal.Windows|5.0.0": "t0MGLukB5WAVU9bO3MGzvlGnyJPgUlcwerXn1kzBRjwLKixT96XV0Uza41W49gVd8zEMFu9vQEFlv0IOrytICA==", - "System.Text.Encodings.Web|10.0.10": "o16m2YpDN/pjHsnxf9pTGwkpcuvjW8v1/wGUwJtM1c3QZUKm7ZEO/eYRJg7iIx6GxS2Zv9lAMHpiQwHDdgqauA==", - "System.Text.Json|10.0.10": "bmsO6UdYtBdtn32zYXfsh7KlyTIzV/3V9hdT9RIb4pXKgYOsNxXR+VbWigNwBtNFVGYGm6Hwmqw5a+/IWFd36Q==", - "System.Threading.Channels|10.0.11": "UvDZ9CCHB+4NX2lI+QvT1MFb4Ly4iw0KmQ1/WokHc4yFD6SoQ9Odxy1e0TRAN4ncqMkJulfeBDzugNwn0GMFUA==", - "System.Threading.Tasks.Extensions|4.6.3": "7sCiwilJLYbTZELaKnc7RecBBXWXA+xMLQWZKWawBxYjp6DBlSE3v9/UcvKBvr1vv2tTOhipiogM8rRmxlhrVA==", - "YamlDotNet|18.1.0": "5K+9KFg2TdTl7VXv88Qzi/0lqK6JFoNP3lRuImPYGRV7K/QYklDyTrj4+A+KAki1JsQi6qKY+hDyY7d6WRqjrw==" } -} +} \ No newline at end of file diff --git a/Sources/EventViewerX.Evtx/packages.lock.json b/Sources/EventViewerX.Evtx/packages.lock.json index 1a999d42..99886fcd 100644 --- a/Sources/EventViewerX.Evtx/packages.lock.json +++ b/Sources/EventViewerX.Evtx/packages.lock.json @@ -633,94 +633,5 @@ } } } - }, - "powerForgeSdkPackages": { - "Microsoft.AspNetCore.App.Runtime.linux-arm64|10.0.11": "irSNtJK2ME4yxMlSiWoaGVzboMJC15FmCS56NQGLQ9rhGqN9IHj/okIs7aQ6XYFPsNy5Nn0ddZEnmNKKG8P1AQ==", - "Microsoft.AspNetCore.App.Runtime.linux-arm64|8.0.28": "u1tWlsOHjQCS5SC4Eg6Qo826FDQ1h0UA5GhBd6lUJqAAZOtGqHMbea0ZD72q3CCGoRrATSAb4wSlpv0rjq1HAg==", - "Microsoft.AspNetCore.App.Runtime.linux-x64|10.0.11": "iA4MIriQomj0zcQObOhk+5kDtHIcOrwPKpI603syHNvdxpfj7lneSCWxEAaCUrkejcx9988wJybXLf9JvnJuow==", - "Microsoft.AspNetCore.App.Runtime.linux-x64|8.0.28": "MNoKpJuF+OCGi+rLDMTfsU9gGy5vaViqdekDsxs8vP/6d5aYfozMHyAwwiym/3+pIJtDAV+/RDKcNLIcRme54w==", - "Microsoft.AspNetCore.App.Runtime.osx-arm64|10.0.11": "VdfNNYlgOQ1RZcs7VBx16kk5Ue8A8LiIpAavbFltryVL+/NMLDOuBCgr2nCjTyshlI5ICnEVrOI8i957aCA1Ew==", - "Microsoft.AspNetCore.App.Runtime.osx-arm64|8.0.28": "j/3tNAXTCcKdnrDdJXfEkkO4yTN+IbY0XIrAUzkREtPLpLGwx4t1z8s3Pp9yYkCdsZTNCNgjJmxmNs3gZUpXbQ==", - "Microsoft.AspNetCore.App.Runtime.osx-x64|10.0.11": "LRbrXGENOr1qLLixt46njneIJe7kDjErhEk9tie2BXPuglbOKZDe99Us7IY6uRBQF5unjYIfE9spO2UMPQ9n2A==", - "Microsoft.AspNetCore.App.Runtime.osx-x64|8.0.28": "cItgV4HavW9tjjT2Umv2J/95sP6UsgIppOc6vRaJVGsjsMyhtaVi379d1gFcjGnMFikkSDThmMC9b48I+gcMbA==", - "Microsoft.AspNetCore.App.Runtime.win-arm64|10.0.11": "jbmebhOraTL3ZNEt8QPRMdQhqJypdhFpWRryt2LtTVa6Idr+fN+9lmsfXkKlddYdRDA8nZNS8nW7HsTxpKZ/qg==", - "Microsoft.AspNetCore.App.Runtime.win-arm64|8.0.28": "fdNViNb0RnzDiyMVI4fX/u+a/mVVSpZEg824ggRpADni6F+PJKkwPsuzY3GHk3koNEOXDEbuNEZjJB0LwBWEqg==", - "Microsoft.AspNetCore.App.Runtime.win-x64|10.0.11": "cWmSB4T/SUN4EbchZxJUi2H/euP8/WMfXMVAIb2DG9Vn/cTQiAGxN/t3SORDkIMPP9Sa6SLHWefKqAgj7qmIlw==", - "Microsoft.AspNetCore.App.Runtime.win-x64|8.0.28": "a97O/kRRTEX+VUL66tyQ2Lgl+As+AEw08f9Qwu8+p7k909Zk+L1dyqZECkF5vqxiEpc9sOtK2+NrS946/uuITw==", - "Microsoft.NETCore.App.Host.linux-arm64|10.0.11": "d4voZDynsqKTH9Ado4u7+X48L52S2rD/KCB503sQ7WeaF2z9OHvur1I02yXB+QhnscjyF+WyE+D3lrLZUY2WSQ==", - "Microsoft.NETCore.App.Host.linux-arm64|8.0.28": "kE1gNHvV1V8+s3U+jnOukR3r6Er2MIinAhwC85+wOxhoKW9L8wDPO53Zu3zvkeQUGWRaYaGOa6c0cNs1rCRVwQ==", - "Microsoft.NETCore.App.Host.linux-x64|10.0.11": "C1xP9GCLC4JVxRZpzDKTXrlH3J5pVaQ2m1NNmZSbNYCbS6LwqLDYsJUZ26thjmqc8BLQ+vGkR8eui2+ZV69dXg==", - "Microsoft.NETCore.App.Host.linux-x64|8.0.28": "8yAUUOmKvnpBsPUUDiFVuGlZnKFI5z3hJRdkmJ526it9++J5yQH6/+pkwzn9BrJNYHbGk8zo6D8GTvp/27wEJA==", - "Microsoft.NETCore.App.Host.osx-arm64|10.0.11": "v8yqr04cVMCj3Qn0M3qfeCKCYfzJFynuu+xcEzylzF0jhXcvWGgFxnRv5QHNPDJhBim2k7Xv/pGc9hIZ2dhlzA==", - "Microsoft.NETCore.App.Host.osx-arm64|8.0.28": "J11ax64LxcjaDOBkWUmO7wT9nZJiLEDsWPiugxOKigbeoLe5pNqV1DXpmU7/2IyZ/Q6Xr/ZJALoCQu463/1mvg==", - "Microsoft.NETCore.App.Host.osx-x64|10.0.11": "bQsnPBmPA+We3TkxvjOczzNMOUzpB1Jtbmd0AGH3MntYsPrNSSv3tlfxAY5x6wYAD1Oa11tWqkWWEloN9CMC2g==", - "Microsoft.NETCore.App.Host.osx-x64|8.0.28": "XUCbdYRUEcUFvq/QpA1MOSIyKZgu4cZXeINA1K+fOw8IJ0xGSNhNwIAIy9qaTRrCyKknkKDHwmSCNq0dR4gvsw==", - "Microsoft.NETCore.App.Runtime.linux-arm64|10.0.11": "nWRdeyu/GtEMLL/m0a1eytpjYUZM/2/Fxflbni3uu2myplMiOqmfJJrsJ2I4Ijtjgdwix+WrUCQFIoxYX/IriA==", - "Microsoft.NETCore.App.Runtime.linux-arm64|8.0.28": "c5zpjVuOuwgFrUKH7QhgJSlsa80/q0I4a3sqpYZHokUbTf9IlE+LAoLNvo8hG+2MTtwdFbZqEncpdfUzwhr+qA==", - "Microsoft.NETCore.App.Runtime.linux-x64|10.0.11": "/Xtz8tvuLlzWxHTxyMHX761YIU1IXgehZuLmv9hZx94jYksOrI1Mx9yFfUnQZ1PjNFBl9v7LSbRpE67+CQ81tw==", - "Microsoft.NETCore.App.Runtime.linux-x64|8.0.28": "rBmwp8To1w1LwnXsQk3zdY2QrYuej7QLIulP41M6M8nSJkSpUdOnuj+t59TopPy0KU+v4Qzoe5ZEUUSUviDHXw==", - "Microsoft.NETCore.App.Runtime.osx-arm64|10.0.11": "zjYmMH4pfOm7QrSWX5iwVG020vv8UlcIlCL8XppJd3yX8dQAvrujkZGDsH2apr8EUY39BYMAXDr5MLgRcAolQg==", - "Microsoft.NETCore.App.Runtime.osx-arm64|8.0.28": "BZSlWEcYhrUeHSDQjtlIDsRwswi2Yj7YAh/f8ddIxXx9KogB3rr10cq5YVefsDiaKpyegoQjrelYsEQ/8bGbcA==", - "Microsoft.NETCore.App.Runtime.osx-x64|10.0.11": "5SGB1deVF4jfOKuScf9M/K+41SlobKxkXNenJndwwH3fPXcHNJMdZ0166k4UVju+bMdufGNB+qDQhZ48bPcv/g==", - "Microsoft.NETCore.App.Runtime.osx-x64|8.0.28": "NBN9MK6KZR2R8RuG/j7D25vh2Wi6vaxCA8m1v4Cw4wnT8qfJ1jxk0kEeiOur8kLpk5t4Cmy8rjHsk0lKaowIkw==", - "Microsoft.NETCore.App.Runtime.win-arm64|10.0.11": "zm2H6vURpVQ6p44uxTUcWl64GpSApoJLy/UPdJklnFblXceVDXsyENK9tNtm7+UKtQ9m4lIYfhMM03tKPKB+pw==", - "Microsoft.NETCore.App.Runtime.win-arm64|8.0.28": "fKYTN+aXVr30nLnHjUwMgeRcUYrF0dWZXxaqNC/69YQ8VvHue7ZKll02Ym3aa4BHrzJEZNg+XyqsuESm6DlMog==", - "Microsoft.NETCore.App.Runtime.win-x64|10.0.11": "AsqluTjZAgnSAbqh8qQ/mPOpkcuerdyhXsPYs4/iUfpBItGENdYI8g5IxLxVD3ztZG/5EbqSW8f60nz1D4VGOA==", - "Microsoft.NETCore.App.Runtime.win-x64|8.0.28": "G2SWebJKnBkixQcJlVkCV0EbqdoAhqAf6evVKDcY6CmFjPOFeC+gZeO6/dlm4v1fbKERjpjJzMg0mnKA1il1Zg==", - "Microsoft.WindowsDesktop.App.Runtime.win-arm64|10.0.11": "yJcn/7qr1zc0yLlAacQ0ldcXy4vOUH1LtRBtz1snpRYixctjmacvopqLZiuODaEY/1yFhKzlZI0t4w+TjEtTZA==", - "Microsoft.WindowsDesktop.App.Runtime.win-arm64|8.0.28": "gAPX5GQzU18jQVaprWJZ8/W78ralzVUPPhQ2QrfM/iny0ILFTOC6GAWe/c7G54gMLkDjwM3+Tmw72cfUI2aLZg==", - "Microsoft.WindowsDesktop.App.Runtime.win-x64|10.0.11": "BtcNcsjl6FgGHxnty0flaCdrEUkDbp27mdH+5FLQgaVUJdv5VuCELTu3jwfPe9iuL6gzGX5ChV77xVw5sTrn7g==", - "Microsoft.WindowsDesktop.App.Runtime.win-x64|8.0.28": "sKbAXRze+wBxtj2zexZfpR4vGe2yKZqRn79wFpwa6Ev7be81noXIewGpWvoy7s41y1bTPFzt2YDl3pGFFsXYmQ==" - }, - "powerForgeRestorePackages": { - "Crc32.NET|1.2.0": "wNW/huzolu8MNKUnwCVKxjfAlCFpeI8AZVfF46iAWJ1+P6bTU1AZct7VAkDDEjgeeTJCVTkGZaD6jSd/fOiUkA==", - "DnsClientX|2.1.0": "Pp57zl3zJHkB1MMiVApLZuksJitylTQ1baThYTScU8DR9uh8iPqskFj6HNsSEKlW/vJnTvnWwu5zuouAFxEBNw==", - "evtx|1.5.2": "tLpjK3xESvWWxrZOtmu7MKKGY8NpvWxcx2ZF2Kgu1M48TKfbSCuKfyYcg5N5HuLhWe7AvyrT2ExnUBk1u8RruQ==", - "FluentValidation|11.11.0": "cyIVdQBwSipxWG8MA3Rqox7iNbUNUTK5bfJi9tIdm4CAfH71Oo5ABLP4/QyrUwuakqpUEPGtE43BDddvEehuYw==", - "Microsoft.Bcl.AsyncInterfaces|10.0.10": "TFI6OKYE1XZz4SGuTSH70c6SBdPpFktXsoa1gCxTr3mKrhmXirnvaS0tKz+J3ZWICEAmMpEGn59nO4ICtUpQXA==", - "Microsoft.CSharp|4.7.0": "pTj+D3uJWyN3My70i2Hqo+OXixq3Os2D1nJ2x92FFo6sk8fYS1m1WLNTs0Dc1uPaViH0YvEEwvzddQ7y4rhXmA==", - "Microsoft.NETCore.Platforms|1.1.1": "TMBuzAHpTenGbGgk0SMTwyEkyijY/Eae4ZGsFNYJvAr/LDn1ku3Etp3FPxChmDp5HHF3kzJuoaa08N0xjqAJfQ==", - "Microsoft.NETCore.Targets|1.1.3": "3Wrmi0kJDzClwAC+iBdUBpEKmEle8FQNsCs77fkiOIw/9oYA07bL1EZNX0kQ2OMN3xpwvl0vAtOCYY3ndDNlhQ==", - "Microsoft.Win32.Registry|5.0.0": "dDoKi0PnDz31yAyETfRntsLArTlVAVzUzCIvvEDsDsucrl33Dl8pIJG06ePTJTI3tGpeyHS9Cq7Foc/s4EeKcg==", - "NETStandard.Library|2.0.0": "7jnbRU+L08FXKMxqUflxEXtVymWvNOrS8yHgu9s6EM8Anr6T/wIX4nZ08j/u3Asz+tCufp3YVwFSEvFTPYmBPA==", - "Serilog|4.2.0": "gmoWVOvKgbME8TYR+gwMf7osROiWAURterc6Rt2dQyX7wtjZYpqFiA/pY6ztjGQKKV62GGCyOcmtP1UKMHgSmA==", - "ServiceStack.Text|8.5.2": "BHSJMxh+rIv7cgAqDHXl3FJM3xoY+SCN8CqiKjR5+AUb1ZK9lrJtGjzKYIo+5AQSD0lQDBjWxhYXcqE8ST+Rbw==", - "System.Buffers|4.6.1": "N8GXpmiLMtljq7gwvyS+1QvKT/W2J8sNAvx+HVg4NGmsG/H+2k/y9QI23auLJRterrzCiDH+IWAw4V/GPwsMlw==", - "System.Collections|4.3.0": "3Dcj85/TBdVpL5Zr+gEEBUuFe2icOnLalmEh9hfck1PTYbbyWuZgh4fmm2ysCLTrqLQw6t3TgTyJ+VLp+Qb+Lw==", - "System.Diagnostics.Debug|4.3.0": "ZUhUOdqmaG5Jk3Xdb8xi5kIyQYAA4PnTNlHx1mu9ZY3qv4ELIdKbnL/akbGaKi2RnNUWaZsAs31rvzFdewTj2g==", - "System.Diagnostics.DiagnosticSource|8.0.1": "vaoWjvkG1aenR2XdjaVivlCV9fADfgyhW5bZtXT23qaEea0lWiUljdQuze4E31vKM7ZWJaSUsbYIKE3rnzfZUg==", - "System.Diagnostics.EventLog|6.0.0": "lcyUiXTsETK2ALsZrX+nWuHSIQeazhqPphLfaRxzdGaG93+0kELqpgEHtwWOlQe7+jSFnKwaCAgL4kjeZCQJnw==", - "System.DirectoryServices|6.0.0": "kp/Op0nxDVGlElDKh8TsXO0GKXftQgAB6sJk0wUetZK1Rr0Pbd86Tn7AllLLlROFZa4BTl/LVHakljtGELFzCg==", - "System.Globalization|4.3.0": "kYdVd2f2PAdFGblzFswE4hkNANJBKRmsfa2X5LG2AcWE1c7/4t0pYae1L8vfZ5xvE2nK/R9JprtToA61OSHWIg==", - "System.IO.FileSystem.AccessControl|5.0.0": "SxHB3nuNrpptVk+vZ/F+7OHEpoHUIKKMl02bUmYHQr1r+glbZQxs7pRtsf4ENO29TVm2TH3AEeep2fJcy92oYw==", - "System.IO.FileSystem.Primitives|4.3.0": "6QOb2XFLch7bEc4lIcJH49nJN2HV+OC3fHDgsLVsBVBk3Y4hFAnOBGzJ2lUu7CyDDFo9IBWkSsnbkT6IBwwiMw==", - "System.IO.FileSystem|4.3.0": "3wEMARTnuio+ulnvi+hkRNROYwa1kylvYahhcLk4HSoVdl+xxTFVeVlYOfLwrDPImGls0mDqbMhrza8qnWPTdA==", - "System.IO.Pipelines|10.0.10": "7WX0W96y3dpQdYG4sEGdh38g3/0lOD4/dKbn2rRVOVzKhzoZUn2gKNIKaFeKWs8RCbpFfmmEWsRhSy95hMpvqA==", - "System.IO|4.3.0": "3qjaHvxQPDpSOYICjUoTsmoq5u6QJAFRUITgeT/4gqkF1bajbSmb1kwSxEA8AHlofqgcKJcM8udgieRNhaJ5Cg==", - "System.Memory|4.6.3": "qdcDOgnFZY40+Q9876JUHnlHu7bosOHX8XISRoH94fwk6hgaeQGSgfZd8srWRZNt5bV9ZW2TljcegDNxsf+96A==", - "System.Reflection.Primitives|4.3.0": "5RXItQz5As4xN2/YUDxdpsEkMhvw3e6aNveFXUn4Hl/udNTCNhnKp8lT9fnc3MhvGKh1baak5CovpuQUXHAlIA==", - "System.Reflection|4.3.0": "KMiAFoW7MfJGa9nDFNcfu+FpEdiHpWgTcS2HdMpDvt9saK3y/G4GwprPyzqjFH9NTaGPQeWNHU+iDlDILj96aQ==", - "System.Resources.ResourceManager|4.3.0": "/zrcPkkWdZmI4F92gL/TPumP98AVDu/Wxr3CSJGQQ+XN6wbRZcyfSKVoPo17ilb3iOr0cCRqJInGwNMolqhS8A==", - "System.Runtime.CompilerServices.Unsafe|6.1.2": "2hBr6zdbIBTDE3EhK7NSVNdX58uTK6iHW/P/Axmm9sl1xoGSLqDvMtpecn226TNwHByFokYwJmt/aQQNlO5CRw==", - "System.Runtime.Extensions|4.3.1": "qAtKMcHOAq9/zKkl0dwvF0T0pmgCQxX1rC49rJXoU8jq+lw6MC3uXy7nLFmjEI20T3Aq069eWz4LcYR64vEmJw==", - "System.Runtime.Handles|4.3.0": "OKiSUN7DmTWeYb3l51A7EYaeNMnvxwE249YtZz7yooT4gOZhmTjIn48KgSsw2k2lYdLgTKNJw/ZIfSElwDRVgg==", - "System.Runtime.InteropServices|4.3.0": "uv1ynXqiMK8mp1GM3jDqPCFN66eJ5w5XNomaK2XD+TuCroNTLFGeZ+WCmBMcBDyTFKou3P6cR6J/QsaqDp7fGQ==", - "System.Runtime|4.3.1": "abhfv1dTK6NXOmu4bgHIONxHyEqFjW8HwXPmpY9gmll+ix9UNo4XDcmzJn6oLooftxNssVHdJC1pGT9jkSynQg==", - "System.Security.AccessControl|6.0.0": "AUADIc0LIEQe7MzC+I0cl0rAT8RrTAKFHl53yHjEUzNVIaUlhFY11vc2ebiVJzVBuOzun6F7FBA+8KAbGTTedQ==", - "System.Security.Permissions|6.0.0": "T/uuc7AklkDoxmcJ7LGkyX1CcSviZuLCa4jg3PekfJ7SU0niF0IVTXwUiNVP9DSpzou2PpxJ+eNY2IfDM90ZCg==", - "System.Security.Principal.Windows|5.0.0": "t0MGLukB5WAVU9bO3MGzvlGnyJPgUlcwerXn1kzBRjwLKixT96XV0Uza41W49gVd8zEMFu9vQEFlv0IOrytICA==", - "System.Text.Encoding.CodePages|9.0.0": "GxJTSFPQpoVd0vQRgq8hwesicxgZoHTbYMvR/UMM4IzhkHMT+ebZE11c2C1gUyxz55zWtGCWktMTHvmgLzob9g==", - "System.Text.Encoding.Extensions|4.3.0": "YVMK0Bt/A43RmwizJoZ22ei2nmrhobgeiYwFzC4YAN+nue8RF6djXDMog0UCn+brerQoYVyaS+ghy9P/MUVcmw==", - "System.Text.Encoding|4.3.0": "BiIg+KWaSDOITze6jGQynxg64naAPtqGHBwDrLaCtixsa5bKiR8dpPOHA7ge3C0JJQizJE+sfkz1wV+BAKAYZw==", - "System.Text.Encodings.Web|10.0.10": "o16m2YpDN/pjHsnxf9pTGwkpcuvjW8v1/wGUwJtM1c3QZUKm7ZEO/eYRJg7iIx6GxS2Zv9lAMHpiQwHDdgqauA==", - "System.Text.Json|10.0.10": "bmsO6UdYtBdtn32zYXfsh7KlyTIzV/3V9hdT9RIb4pXKgYOsNxXR+VbWigNwBtNFVGYGm6Hwmqw5a+/IWFd36Q==", - "System.Text.RegularExpressions|4.3.1": "N0kNRrWe4+nXOWlpLT4LAY5brb8caNFlUuIRpraCVMDLYutKkol1aV079rQjLuSxKMJT2SpBQsYX9xbcTMmzwg==", - "System.Threading.Channels|10.0.11": "UvDZ9CCHB+4NX2lI+QvT1MFb4Ly4iw0KmQ1/WokHc4yFD6SoQ9Odxy1e0TRAN4ncqMkJulfeBDzugNwn0GMFUA==", - "System.Threading.Tasks.Extensions|4.6.3": "7sCiwilJLYbTZELaKnc7RecBBXWXA+xMLQWZKWawBxYjp6DBlSE3v9/UcvKBvr1vv2tTOhipiogM8rRmxlhrVA==", - "System.Threading.Tasks|4.3.0": "LbSxKEdOUhVe8BezB/9uOGGppt+nZf6e1VFyw6v3DN6lqitm0OSn2uXMOdtP0M3W4iMcqcivm2J6UgqiwwnXiA==", - "System.Threading|4.3.0": "VkUS0kOBcUf3Wwm0TSbrevDDZ6BlM+b/HRiapRFWjM5O0NS0LviG0glKmFK+hhPDd1XFeSdU1GmlLhb2CoVpIw==", - "System.Xml.ReaderWriter|4.3.0": "GrprA+Z0RUXaR4N7/eW71j1rgMnEnEVlgii49GZyAjTH7uliMnrOU3HNFBr6fEDBCJCIdlVNq9hHbaDR621XBA==", - "System.Xml.XPath|4.3.0": "v1JQ5SETnQusqmS3RwStF7vwQ3L02imIzl++sewmt23VGygix04pEH+FCj1yWb+z4GDzKiljr1W7Wfvrx0YwgA==", - "YamlDotNet|16.3.0": "SgMOdxbz8X65z8hraIs6hOEdnkH6hESTAIUa7viEngHOYaH+6q5XJmwr1+yb9vJpNQ19hCQY69xbFsLtXpobQA==" } -} +} \ No newline at end of file diff --git a/Sources/EventViewerX.Reporting/packages.lock.json b/Sources/EventViewerX.Reporting/packages.lock.json index 2e070e44..b4d5c6d1 100644 --- a/Sources/EventViewerX.Reporting/packages.lock.json +++ b/Sources/EventViewerX.Reporting/packages.lock.json @@ -572,71 +572,5 @@ } } } - }, - "powerForgeSdkPackages": { - "Microsoft.AspNetCore.App.Runtime.linux-arm64|10.0.11": "irSNtJK2ME4yxMlSiWoaGVzboMJC15FmCS56NQGLQ9rhGqN9IHj/okIs7aQ6XYFPsNy5Nn0ddZEnmNKKG8P1AQ==", - "Microsoft.AspNetCore.App.Runtime.linux-arm64|8.0.28": "u1tWlsOHjQCS5SC4Eg6Qo826FDQ1h0UA5GhBd6lUJqAAZOtGqHMbea0ZD72q3CCGoRrATSAb4wSlpv0rjq1HAg==", - "Microsoft.AspNetCore.App.Runtime.linux-x64|10.0.11": "iA4MIriQomj0zcQObOhk+5kDtHIcOrwPKpI603syHNvdxpfj7lneSCWxEAaCUrkejcx9988wJybXLf9JvnJuow==", - "Microsoft.AspNetCore.App.Runtime.linux-x64|8.0.28": "MNoKpJuF+OCGi+rLDMTfsU9gGy5vaViqdekDsxs8vP/6d5aYfozMHyAwwiym/3+pIJtDAV+/RDKcNLIcRme54w==", - "Microsoft.AspNetCore.App.Runtime.osx-arm64|10.0.11": "VdfNNYlgOQ1RZcs7VBx16kk5Ue8A8LiIpAavbFltryVL+/NMLDOuBCgr2nCjTyshlI5ICnEVrOI8i957aCA1Ew==", - "Microsoft.AspNetCore.App.Runtime.osx-arm64|8.0.28": "j/3tNAXTCcKdnrDdJXfEkkO4yTN+IbY0XIrAUzkREtPLpLGwx4t1z8s3Pp9yYkCdsZTNCNgjJmxmNs3gZUpXbQ==", - "Microsoft.AspNetCore.App.Runtime.osx-x64|10.0.11": "LRbrXGENOr1qLLixt46njneIJe7kDjErhEk9tie2BXPuglbOKZDe99Us7IY6uRBQF5unjYIfE9spO2UMPQ9n2A==", - "Microsoft.AspNetCore.App.Runtime.osx-x64|8.0.28": "cItgV4HavW9tjjT2Umv2J/95sP6UsgIppOc6vRaJVGsjsMyhtaVi379d1gFcjGnMFikkSDThmMC9b48I+gcMbA==", - "Microsoft.AspNetCore.App.Runtime.win-arm64|10.0.11": "jbmebhOraTL3ZNEt8QPRMdQhqJypdhFpWRryt2LtTVa6Idr+fN+9lmsfXkKlddYdRDA8nZNS8nW7HsTxpKZ/qg==", - "Microsoft.AspNetCore.App.Runtime.win-arm64|8.0.28": "fdNViNb0RnzDiyMVI4fX/u+a/mVVSpZEg824ggRpADni6F+PJKkwPsuzY3GHk3koNEOXDEbuNEZjJB0LwBWEqg==", - "Microsoft.AspNetCore.App.Runtime.win-x64|10.0.11": "cWmSB4T/SUN4EbchZxJUi2H/euP8/WMfXMVAIb2DG9Vn/cTQiAGxN/t3SORDkIMPP9Sa6SLHWefKqAgj7qmIlw==", - "Microsoft.AspNetCore.App.Runtime.win-x64|8.0.28": "a97O/kRRTEX+VUL66tyQ2Lgl+As+AEw08f9Qwu8+p7k909Zk+L1dyqZECkF5vqxiEpc9sOtK2+NrS946/uuITw==", - "Microsoft.NETCore.App.Host.linux-arm64|10.0.11": "d4voZDynsqKTH9Ado4u7+X48L52S2rD/KCB503sQ7WeaF2z9OHvur1I02yXB+QhnscjyF+WyE+D3lrLZUY2WSQ==", - "Microsoft.NETCore.App.Host.linux-arm64|8.0.28": "kE1gNHvV1V8+s3U+jnOukR3r6Er2MIinAhwC85+wOxhoKW9L8wDPO53Zu3zvkeQUGWRaYaGOa6c0cNs1rCRVwQ==", - "Microsoft.NETCore.App.Host.linux-x64|10.0.11": "C1xP9GCLC4JVxRZpzDKTXrlH3J5pVaQ2m1NNmZSbNYCbS6LwqLDYsJUZ26thjmqc8BLQ+vGkR8eui2+ZV69dXg==", - "Microsoft.NETCore.App.Host.linux-x64|8.0.28": "8yAUUOmKvnpBsPUUDiFVuGlZnKFI5z3hJRdkmJ526it9++J5yQH6/+pkwzn9BrJNYHbGk8zo6D8GTvp/27wEJA==", - "Microsoft.NETCore.App.Host.osx-arm64|10.0.11": "v8yqr04cVMCj3Qn0M3qfeCKCYfzJFynuu+xcEzylzF0jhXcvWGgFxnRv5QHNPDJhBim2k7Xv/pGc9hIZ2dhlzA==", - "Microsoft.NETCore.App.Host.osx-arm64|8.0.28": "J11ax64LxcjaDOBkWUmO7wT9nZJiLEDsWPiugxOKigbeoLe5pNqV1DXpmU7/2IyZ/Q6Xr/ZJALoCQu463/1mvg==", - "Microsoft.NETCore.App.Host.osx-x64|10.0.11": "bQsnPBmPA+We3TkxvjOczzNMOUzpB1Jtbmd0AGH3MntYsPrNSSv3tlfxAY5x6wYAD1Oa11tWqkWWEloN9CMC2g==", - "Microsoft.NETCore.App.Host.osx-x64|8.0.28": "XUCbdYRUEcUFvq/QpA1MOSIyKZgu4cZXeINA1K+fOw8IJ0xGSNhNwIAIy9qaTRrCyKknkKDHwmSCNq0dR4gvsw==", - "Microsoft.NETCore.App.Runtime.linux-arm64|10.0.11": "nWRdeyu/GtEMLL/m0a1eytpjYUZM/2/Fxflbni3uu2myplMiOqmfJJrsJ2I4Ijtjgdwix+WrUCQFIoxYX/IriA==", - "Microsoft.NETCore.App.Runtime.linux-arm64|8.0.28": "c5zpjVuOuwgFrUKH7QhgJSlsa80/q0I4a3sqpYZHokUbTf9IlE+LAoLNvo8hG+2MTtwdFbZqEncpdfUzwhr+qA==", - "Microsoft.NETCore.App.Runtime.linux-x64|10.0.11": "/Xtz8tvuLlzWxHTxyMHX761YIU1IXgehZuLmv9hZx94jYksOrI1Mx9yFfUnQZ1PjNFBl9v7LSbRpE67+CQ81tw==", - "Microsoft.NETCore.App.Runtime.linux-x64|8.0.28": "rBmwp8To1w1LwnXsQk3zdY2QrYuej7QLIulP41M6M8nSJkSpUdOnuj+t59TopPy0KU+v4Qzoe5ZEUUSUviDHXw==", - "Microsoft.NETCore.App.Runtime.osx-arm64|10.0.11": "zjYmMH4pfOm7QrSWX5iwVG020vv8UlcIlCL8XppJd3yX8dQAvrujkZGDsH2apr8EUY39BYMAXDr5MLgRcAolQg==", - "Microsoft.NETCore.App.Runtime.osx-arm64|8.0.28": "BZSlWEcYhrUeHSDQjtlIDsRwswi2Yj7YAh/f8ddIxXx9KogB3rr10cq5YVefsDiaKpyegoQjrelYsEQ/8bGbcA==", - "Microsoft.NETCore.App.Runtime.osx-x64|10.0.11": "5SGB1deVF4jfOKuScf9M/K+41SlobKxkXNenJndwwH3fPXcHNJMdZ0166k4UVju+bMdufGNB+qDQhZ48bPcv/g==", - "Microsoft.NETCore.App.Runtime.osx-x64|8.0.28": "NBN9MK6KZR2R8RuG/j7D25vh2Wi6vaxCA8m1v4Cw4wnT8qfJ1jxk0kEeiOur8kLpk5t4Cmy8rjHsk0lKaowIkw==", - "Microsoft.NETCore.App.Runtime.win-arm64|10.0.11": "zm2H6vURpVQ6p44uxTUcWl64GpSApoJLy/UPdJklnFblXceVDXsyENK9tNtm7+UKtQ9m4lIYfhMM03tKPKB+pw==", - "Microsoft.NETCore.App.Runtime.win-arm64|8.0.28": "fKYTN+aXVr30nLnHjUwMgeRcUYrF0dWZXxaqNC/69YQ8VvHue7ZKll02Ym3aa4BHrzJEZNg+XyqsuESm6DlMog==", - "Microsoft.NETCore.App.Runtime.win-x64|10.0.11": "AsqluTjZAgnSAbqh8qQ/mPOpkcuerdyhXsPYs4/iUfpBItGENdYI8g5IxLxVD3ztZG/5EbqSW8f60nz1D4VGOA==", - "Microsoft.NETCore.App.Runtime.win-x64|8.0.28": "G2SWebJKnBkixQcJlVkCV0EbqdoAhqAf6evVKDcY6CmFjPOFeC+gZeO6/dlm4v1fbKERjpjJzMg0mnKA1il1Zg==", - "Microsoft.WindowsDesktop.App.Runtime.win-arm64|10.0.11": "yJcn/7qr1zc0yLlAacQ0ldcXy4vOUH1LtRBtz1snpRYixctjmacvopqLZiuODaEY/1yFhKzlZI0t4w+TjEtTZA==", - "Microsoft.WindowsDesktop.App.Runtime.win-arm64|8.0.28": "gAPX5GQzU18jQVaprWJZ8/W78ralzVUPPhQ2QrfM/iny0ILFTOC6GAWe/c7G54gMLkDjwM3+Tmw72cfUI2aLZg==", - "Microsoft.WindowsDesktop.App.Runtime.win-x64|10.0.11": "BtcNcsjl6FgGHxnty0flaCdrEUkDbp27mdH+5FLQgaVUJdv5VuCELTu3jwfPe9iuL6gzGX5ChV77xVw5sTrn7g==", - "Microsoft.WindowsDesktop.App.Runtime.win-x64|8.0.28": "sKbAXRze+wBxtj2zexZfpR4vGe2yKZqRn79wFpwa6Ev7be81noXIewGpWvoy7s41y1bTPFzt2YDl3pGFFsXYmQ==" - }, - "powerForgeRestorePackages": { - "DnsClientX|2.1.0": "Pp57zl3zJHkB1MMiVApLZuksJitylTQ1baThYTScU8DR9uh8iPqskFj6HNsSEKlW/vJnTvnWwu5zuouAFxEBNw==", - "DocumentFormat.OpenXml.Framework|3.5.1": "U5txtc3ORno73xQx9Lf2gWzfaSZnZwKHfLkTAslhlew9lxe5XbUiCt0dY1fHeAf8yRqszUAe5i/+xLC9R/Xfsw==", - "DocumentFormat.OpenXml|3.5.1": "zxdOf5VVCe/uNklbRhj8dVBzQGj3DoqkUuqOp9cAZVuN8mNYDjof1lvSQA2OQNr8Ptc9d7pbA7Azq/ReaI3FpA==", - "HtmlForgeX.Email|1.6.0": "rTdRRLrHBvBKhLcjFlxeVtIGJSQ4bo4NcmspMPGgyN6ZKasd8r1TAjfITMJR7fm/bEGyQnmdh3DrxILG6DvsPg==", - "HtmlForgeX|0.56.0": "bKqH8vz5IQnLzoNttlVgqCsyX4vbCJ3zL8O+4B5L8tNGZpZlf++gQ1SU7bfvGsusvSyfK4tsh4WiCwSEIFtwnA==", - "Microsoft.Bcl.AsyncInterfaces|10.0.11": "pUkYI1f99hY9giu/MRaEVN53RO7skXwR7FGtVvFJCK5ezdg5i0W+z1yj/91X5aKv07xGuSB5n1g/Zt2P4Ooq6g==", - "Microsoft.Win32.Registry|5.0.0": "dDoKi0PnDz31yAyETfRntsLArTlVAVzUzCIvvEDsDsucrl33Dl8pIJG06ePTJTI3tGpeyHS9Cq7Foc/s4EeKcg==", - "OfficeIMO.Core|3.2.4": "cjEnE6gcAn2MUBRrmIiY7lSpYihE52LbullgSrvW2UCLAoonf8Nf/d4+Ak/A7zGF5ZjgSU0KQN/201VsASG0uA==", - "OfficeIMO.CSV|3.2.4": "HkYI+rOaztem95F1M3CbimKIuFWZn2aJPpyVVLehV2nHyBwYispawsP/blR0S/Q7Jp4z87d6hagj1YGcqi2Sag==", - "OfficeIMO.Excel|3.2.4": "TVlXBLId0yub5m6vX1EHSOLnPYd7T28Q2y5OMLKaPOnVQ1YfAItgUu8pLGghIRZgz+qUsArO10cMq2YK09W+yA==", - "System.Buffers|4.6.1": "N8GXpmiLMtljq7gwvyS+1QvKT/W2J8sNAvx+HVg4NGmsG/H+2k/y9QI23auLJRterrzCiDH+IWAw4V/GPwsMlw==", - "System.ComponentModel.Annotations|5.0.0": "dMkqfy2el8A8/I76n2Hi1oBFEbG1SfxD2l5nhwXV3XjlnOmwxJlQbYpJH4W51odnU9sARCSAgv7S3CyAFMkpYg==", - "System.Diagnostics.EventLog|6.0.0": "lcyUiXTsETK2ALsZrX+nWuHSIQeazhqPphLfaRxzdGaG93+0kELqpgEHtwWOlQe7+jSFnKwaCAgL4kjeZCQJnw==", - "System.DirectoryServices|6.0.0": "kp/Op0nxDVGlElDKh8TsXO0GKXftQgAB6sJk0wUetZK1Rr0Pbd86Tn7AllLLlROFZa4BTl/LVHakljtGELFzCg==", - "System.IO.FileSystem.AccessControl|5.0.0": "SxHB3nuNrpptVk+vZ/F+7OHEpoHUIKKMl02bUmYHQr1r+glbZQxs7pRtsf4ENO29TVm2TH3AEeep2fJcy92oYw==", - "System.IO.Packaging|8.0.1": "KYkIOAvPexQOLDxPO2g0BVoWInnQhPpkFzRqvNrNrMhVT6kqhVr0zEb6KCHlptLFukxnZrjuMVAnxK7pOGUYrw==", - "System.IO.Pipelines|10.0.11": "rg8LPOZ62quw3aTnsQNh9rssncaMs69WEM1DiJdDkV+o4Llb2s5Pasy5Bulfm8zL+pE4gDcSQo7V2zW2jvxwYg==", - "System.Memory|4.6.3": "qdcDOgnFZY40+Q9876JUHnlHu7bosOHX8XISRoH94fwk6hgaeQGSgfZd8srWRZNt5bV9ZW2TljcegDNxsf+96A==", - "System.Runtime.CompilerServices.Unsafe|6.1.2": "2hBr6zdbIBTDE3EhK7NSVNdX58uTK6iHW/P/Axmm9sl1xoGSLqDvMtpecn226TNwHByFokYwJmt/aQQNlO5CRw==", - "System.Security.AccessControl|6.0.0": "AUADIc0LIEQe7MzC+I0cl0rAT8RrTAKFHl53yHjEUzNVIaUlhFY11vc2ebiVJzVBuOzun6F7FBA+8KAbGTTedQ==", - "System.Security.Permissions|6.0.0": "T/uuc7AklkDoxmcJ7LGkyX1CcSviZuLCa4jg3PekfJ7SU0niF0IVTXwUiNVP9DSpzou2PpxJ+eNY2IfDM90ZCg==", - "System.Security.Principal.Windows|5.0.0": "t0MGLukB5WAVU9bO3MGzvlGnyJPgUlcwerXn1kzBRjwLKixT96XV0Uza41W49gVd8zEMFu9vQEFlv0IOrytICA==", - "System.Text.Encodings.Web|10.0.11": "R7H2/Oqr3onFff/JKDpfRjwxcQZlocF/eQ0ce8go/OTjqz+6LEp/fZK8j1YnDobtysChATEg7krVq4hQJ3IoeQ==", - "System.Text.Json|10.0.11": "X2rXQy7g8KEUvWVbAz6vOk6byI1eMgmzFeXbKxq4BfZCfFy5S91K+K+hd4ZBlSp0wL1Y8FyGRXs6+hvABTjwQw==", - "System.Threading.Channels|10.0.11": "UvDZ9CCHB+4NX2lI+QvT1MFb4Ly4iw0KmQ1/WokHc4yFD6SoQ9Odxy1e0TRAN4ncqMkJulfeBDzugNwn0GMFUA==", - "System.Threading.Tasks.Extensions|4.6.3": "7sCiwilJLYbTZELaKnc7RecBBXWXA+xMLQWZKWawBxYjp6DBlSE3v9/UcvKBvr1vv2tTOhipiogM8rRmxlhrVA==" } -} +} \ No newline at end of file diff --git a/Sources/EventViewerX.Storage/packages.lock.json b/Sources/EventViewerX.Storage/packages.lock.json index 05e4d384..3246e9e7 100644 --- a/Sources/EventViewerX.Storage/packages.lock.json +++ b/Sources/EventViewerX.Storage/packages.lock.json @@ -750,72 +750,5 @@ "contentHash": "GHX/QS0WfddVUHaxZuXGk/VW8NrQl1gPQQTcz5fdIT1CBeiSIi/MhIq50/XPB90qq0loFO7nmzftNeoU2qWwIQ==" } } - }, - "powerForgeSdkPackages": { - "Microsoft.AspNetCore.App.Runtime.linux-arm64|10.0.11": "irSNtJK2ME4yxMlSiWoaGVzboMJC15FmCS56NQGLQ9rhGqN9IHj/okIs7aQ6XYFPsNy5Nn0ddZEnmNKKG8P1AQ==", - "Microsoft.AspNetCore.App.Runtime.linux-arm64|8.0.28": "u1tWlsOHjQCS5SC4Eg6Qo826FDQ1h0UA5GhBd6lUJqAAZOtGqHMbea0ZD72q3CCGoRrATSAb4wSlpv0rjq1HAg==", - "Microsoft.AspNetCore.App.Runtime.linux-x64|10.0.11": "iA4MIriQomj0zcQObOhk+5kDtHIcOrwPKpI603syHNvdxpfj7lneSCWxEAaCUrkejcx9988wJybXLf9JvnJuow==", - "Microsoft.AspNetCore.App.Runtime.linux-x64|8.0.28": "MNoKpJuF+OCGi+rLDMTfsU9gGy5vaViqdekDsxs8vP/6d5aYfozMHyAwwiym/3+pIJtDAV+/RDKcNLIcRme54w==", - "Microsoft.AspNetCore.App.Runtime.osx-arm64|10.0.11": "VdfNNYlgOQ1RZcs7VBx16kk5Ue8A8LiIpAavbFltryVL+/NMLDOuBCgr2nCjTyshlI5ICnEVrOI8i957aCA1Ew==", - "Microsoft.AspNetCore.App.Runtime.osx-arm64|8.0.28": "j/3tNAXTCcKdnrDdJXfEkkO4yTN+IbY0XIrAUzkREtPLpLGwx4t1z8s3Pp9yYkCdsZTNCNgjJmxmNs3gZUpXbQ==", - "Microsoft.AspNetCore.App.Runtime.osx-x64|10.0.11": "LRbrXGENOr1qLLixt46njneIJe7kDjErhEk9tie2BXPuglbOKZDe99Us7IY6uRBQF5unjYIfE9spO2UMPQ9n2A==", - "Microsoft.AspNetCore.App.Runtime.osx-x64|8.0.28": "cItgV4HavW9tjjT2Umv2J/95sP6UsgIppOc6vRaJVGsjsMyhtaVi379d1gFcjGnMFikkSDThmMC9b48I+gcMbA==", - "Microsoft.AspNetCore.App.Runtime.win-arm64|10.0.11": "jbmebhOraTL3ZNEt8QPRMdQhqJypdhFpWRryt2LtTVa6Idr+fN+9lmsfXkKlddYdRDA8nZNS8nW7HsTxpKZ/qg==", - "Microsoft.AspNetCore.App.Runtime.win-arm64|8.0.28": "fdNViNb0RnzDiyMVI4fX/u+a/mVVSpZEg824ggRpADni6F+PJKkwPsuzY3GHk3koNEOXDEbuNEZjJB0LwBWEqg==", - "Microsoft.AspNetCore.App.Runtime.win-x64|10.0.11": "cWmSB4T/SUN4EbchZxJUi2H/euP8/WMfXMVAIb2DG9Vn/cTQiAGxN/t3SORDkIMPP9Sa6SLHWefKqAgj7qmIlw==", - "Microsoft.AspNetCore.App.Runtime.win-x64|8.0.28": "a97O/kRRTEX+VUL66tyQ2Lgl+As+AEw08f9Qwu8+p7k909Zk+L1dyqZECkF5vqxiEpc9sOtK2+NrS946/uuITw==", - "Microsoft.NETCore.App.Host.linux-arm64|10.0.11": "d4voZDynsqKTH9Ado4u7+X48L52S2rD/KCB503sQ7WeaF2z9OHvur1I02yXB+QhnscjyF+WyE+D3lrLZUY2WSQ==", - "Microsoft.NETCore.App.Host.linux-arm64|8.0.28": "kE1gNHvV1V8+s3U+jnOukR3r6Er2MIinAhwC85+wOxhoKW9L8wDPO53Zu3zvkeQUGWRaYaGOa6c0cNs1rCRVwQ==", - "Microsoft.NETCore.App.Host.linux-x64|10.0.11": "C1xP9GCLC4JVxRZpzDKTXrlH3J5pVaQ2m1NNmZSbNYCbS6LwqLDYsJUZ26thjmqc8BLQ+vGkR8eui2+ZV69dXg==", - "Microsoft.NETCore.App.Host.linux-x64|8.0.28": "8yAUUOmKvnpBsPUUDiFVuGlZnKFI5z3hJRdkmJ526it9++J5yQH6/+pkwzn9BrJNYHbGk8zo6D8GTvp/27wEJA==", - "Microsoft.NETCore.App.Host.osx-arm64|10.0.11": "v8yqr04cVMCj3Qn0M3qfeCKCYfzJFynuu+xcEzylzF0jhXcvWGgFxnRv5QHNPDJhBim2k7Xv/pGc9hIZ2dhlzA==", - "Microsoft.NETCore.App.Host.osx-arm64|8.0.28": "J11ax64LxcjaDOBkWUmO7wT9nZJiLEDsWPiugxOKigbeoLe5pNqV1DXpmU7/2IyZ/Q6Xr/ZJALoCQu463/1mvg==", - "Microsoft.NETCore.App.Host.osx-x64|10.0.11": "bQsnPBmPA+We3TkxvjOczzNMOUzpB1Jtbmd0AGH3MntYsPrNSSv3tlfxAY5x6wYAD1Oa11tWqkWWEloN9CMC2g==", - "Microsoft.NETCore.App.Host.osx-x64|8.0.28": "XUCbdYRUEcUFvq/QpA1MOSIyKZgu4cZXeINA1K+fOw8IJ0xGSNhNwIAIy9qaTRrCyKknkKDHwmSCNq0dR4gvsw==", - "Microsoft.NETCore.App.Runtime.linux-arm64|10.0.11": "nWRdeyu/GtEMLL/m0a1eytpjYUZM/2/Fxflbni3uu2myplMiOqmfJJrsJ2I4Ijtjgdwix+WrUCQFIoxYX/IriA==", - "Microsoft.NETCore.App.Runtime.linux-arm64|8.0.28": "c5zpjVuOuwgFrUKH7QhgJSlsa80/q0I4a3sqpYZHokUbTf9IlE+LAoLNvo8hG+2MTtwdFbZqEncpdfUzwhr+qA==", - "Microsoft.NETCore.App.Runtime.linux-x64|10.0.11": "/Xtz8tvuLlzWxHTxyMHX761YIU1IXgehZuLmv9hZx94jYksOrI1Mx9yFfUnQZ1PjNFBl9v7LSbRpE67+CQ81tw==", - "Microsoft.NETCore.App.Runtime.linux-x64|8.0.28": "rBmwp8To1w1LwnXsQk3zdY2QrYuej7QLIulP41M6M8nSJkSpUdOnuj+t59TopPy0KU+v4Qzoe5ZEUUSUviDHXw==", - "Microsoft.NETCore.App.Runtime.osx-arm64|10.0.11": "zjYmMH4pfOm7QrSWX5iwVG020vv8UlcIlCL8XppJd3yX8dQAvrujkZGDsH2apr8EUY39BYMAXDr5MLgRcAolQg==", - "Microsoft.NETCore.App.Runtime.osx-arm64|8.0.28": "BZSlWEcYhrUeHSDQjtlIDsRwswi2Yj7YAh/f8ddIxXx9KogB3rr10cq5YVefsDiaKpyegoQjrelYsEQ/8bGbcA==", - "Microsoft.NETCore.App.Runtime.osx-x64|10.0.11": "5SGB1deVF4jfOKuScf9M/K+41SlobKxkXNenJndwwH3fPXcHNJMdZ0166k4UVju+bMdufGNB+qDQhZ48bPcv/g==", - "Microsoft.NETCore.App.Runtime.osx-x64|8.0.28": "NBN9MK6KZR2R8RuG/j7D25vh2Wi6vaxCA8m1v4Cw4wnT8qfJ1jxk0kEeiOur8kLpk5t4Cmy8rjHsk0lKaowIkw==", - "Microsoft.NETCore.App.Runtime.win-arm64|10.0.11": "zm2H6vURpVQ6p44uxTUcWl64GpSApoJLy/UPdJklnFblXceVDXsyENK9tNtm7+UKtQ9m4lIYfhMM03tKPKB+pw==", - "Microsoft.NETCore.App.Runtime.win-arm64|8.0.28": "fKYTN+aXVr30nLnHjUwMgeRcUYrF0dWZXxaqNC/69YQ8VvHue7ZKll02Ym3aa4BHrzJEZNg+XyqsuESm6DlMog==", - "Microsoft.NETCore.App.Runtime.win-x64|10.0.11": "AsqluTjZAgnSAbqh8qQ/mPOpkcuerdyhXsPYs4/iUfpBItGENdYI8g5IxLxVD3ztZG/5EbqSW8f60nz1D4VGOA==", - "Microsoft.NETCore.App.Runtime.win-x64|8.0.28": "G2SWebJKnBkixQcJlVkCV0EbqdoAhqAf6evVKDcY6CmFjPOFeC+gZeO6/dlm4v1fbKERjpjJzMg0mnKA1il1Zg==", - "Microsoft.WindowsDesktop.App.Runtime.win-arm64|10.0.11": "yJcn/7qr1zc0yLlAacQ0ldcXy4vOUH1LtRBtz1snpRYixctjmacvopqLZiuODaEY/1yFhKzlZI0t4w+TjEtTZA==", - "Microsoft.WindowsDesktop.App.Runtime.win-arm64|8.0.28": "gAPX5GQzU18jQVaprWJZ8/W78ralzVUPPhQ2QrfM/iny0ILFTOC6GAWe/c7G54gMLkDjwM3+Tmw72cfUI2aLZg==", - "Microsoft.WindowsDesktop.App.Runtime.win-x64|10.0.11": "BtcNcsjl6FgGHxnty0flaCdrEUkDbp27mdH+5FLQgaVUJdv5VuCELTu3jwfPe9iuL6gzGX5ChV77xVw5sTrn7g==", - "Microsoft.WindowsDesktop.App.Runtime.win-x64|8.0.28": "sKbAXRze+wBxtj2zexZfpR4vGe2yKZqRn79wFpwa6Ev7be81noXIewGpWvoy7s41y1bTPFzt2YDl3pGFFsXYmQ==" - }, - "powerForgeRestorePackages": { - "DBAClientX.Core|1.0.8": "Od9B70xSvPq7y0n0v0bcWv6uJiwnnslan07touL6C5JBWSN3bBA7FYRcZ8jzuDds/LMkarCH77aSHVTUmOOWxQ==", - "DBAClientX.SQLite|1.0.8": "JnV3wk12rGVLTYiPYiL3SuKcRYvrCqCn14+usCZdniScWlQAnf7dMX022IWBXymmKApP8Nj8+/1g1yctptVLJg==", - "DnsClientX|2.1.0": "Pp57zl3zJHkB1MMiVApLZuksJitylTQ1baThYTScU8DR9uh8iPqskFj6HNsSEKlW/vJnTvnWwu5zuouAFxEBNw==", - "Microsoft.Bcl.AsyncInterfaces|10.0.10": "TFI6OKYE1XZz4SGuTSH70c6SBdPpFktXsoa1gCxTr3mKrhmXirnvaS0tKz+J3ZWICEAmMpEGn59nO4ICtUpQXA==", - "Microsoft.Data.Sqlite.Core|10.0.10": "TPCs0ldm7AWqcKmp6f/Xr+14sat7hx4rHfRlS4RgCURBH2thEWbAKEyX7cCWr63zVJVOJIJZTg2cBiUXa8ys6g==", - "Microsoft.Data.Sqlite|10.0.10": "58JwZ39lCvRXHfV5O6RQfbHEDu8ZsXI7weRoVRR4jrGRxxkS+qyeuGrN2xD+9VYEICApYr0iTSL6PuU+DdsvPg==", - "Microsoft.Win32.Registry|5.0.0": "dDoKi0PnDz31yAyETfRntsLArTlVAVzUzCIvvEDsDsucrl33Dl8pIJG06ePTJTI3tGpeyHS9Cq7Foc/s4EeKcg==", - "SQLite|3.53.4": "KN7jeWqgUPeBRe1FlcpZURzxomuKKEKHmBBQfg+Nx7NkY1LjKhzHvH+3ASkNvhayESE34nMBinL9CV21JfPRJw==", - "SQLitePCLRaw.bundle_e_sqlite3|3.0.5": "SW8iASIyWMrLzqabUHYQRvALhvD4ylSBsj4PgEVGwc36kQjc9xT5kSV/XQ9rU7nIpBWD+LPyX3Hlw5FzyUzGeQ==", - "SQLitePCLRaw.config.e_sqlite3|3.0.5": "aSk8WE5tF2MybESMgtZAEyMVCAWA0nBqOMc48HFoa9UoSdtm3goDXVzNRnefeKIwE6bV9NaNXptn1F9ReMQI0Q==", - "SQLitePCLRaw.core|3.0.5": "k81AYXXRCw3Zj8rOhyBoCsx/U97KYDFI2CSKr/ijl5BwpsW/hX/4kBiDmerFaoust8nxBwa0IHQFw8MmSHRtnQ==", - "SQLitePCLRaw.provider.e_sqlite3|3.0.5": "um8YSWduhhuskTG2bHfZrBqMNQOydfU8pcseT+cu5RivOGyoUbCrGXxgoRNTmRYw2VbMWnEZVVFcneZT/5dsBg==", - "System.Buffers|4.6.1": "N8GXpmiLMtljq7gwvyS+1QvKT/W2J8sNAvx+HVg4NGmsG/H+2k/y9QI23auLJRterrzCiDH+IWAw4V/GPwsMlw==", - "System.Diagnostics.DiagnosticSource|10.0.10": "cjtKi6ERMYWp6b9UTVPcwDT29PjKDtlM3W9OwnWL5abRsI8ku42Q2wqZoLIIXJnT/XF2s2CjuK8Nl4a3mmTxQQ==", - "System.Diagnostics.EventLog|6.0.0": "lcyUiXTsETK2ALsZrX+nWuHSIQeazhqPphLfaRxzdGaG93+0kELqpgEHtwWOlQe7+jSFnKwaCAgL4kjeZCQJnw==", - "System.DirectoryServices|6.0.0": "kp/Op0nxDVGlElDKh8TsXO0GKXftQgAB6sJk0wUetZK1Rr0Pbd86Tn7AllLLlROFZa4BTl/LVHakljtGELFzCg==", - "System.IO.FileSystem.AccessControl|5.0.0": "SxHB3nuNrpptVk+vZ/F+7OHEpoHUIKKMl02bUmYHQr1r+glbZQxs7pRtsf4ENO29TVm2TH3AEeep2fJcy92oYw==", - "System.IO.Pipelines|10.0.10": "7WX0W96y3dpQdYG4sEGdh38g3/0lOD4/dKbn2rRVOVzKhzoZUn2gKNIKaFeKWs8RCbpFfmmEWsRhSy95hMpvqA==", - "System.Memory|4.6.3": "qdcDOgnFZY40+Q9876JUHnlHu7bosOHX8XISRoH94fwk6hgaeQGSgfZd8srWRZNt5bV9ZW2TljcegDNxsf+96A==", - "System.Runtime.CompilerServices.Unsafe|6.1.2": "2hBr6zdbIBTDE3EhK7NSVNdX58uTK6iHW/P/Axmm9sl1xoGSLqDvMtpecn226TNwHByFokYwJmt/aQQNlO5CRw==", - "System.Security.AccessControl|6.0.0": "AUADIc0LIEQe7MzC+I0cl0rAT8RrTAKFHl53yHjEUzNVIaUlhFY11vc2ebiVJzVBuOzun6F7FBA+8KAbGTTedQ==", - "System.Security.Permissions|6.0.0": "T/uuc7AklkDoxmcJ7LGkyX1CcSviZuLCa4jg3PekfJ7SU0niF0IVTXwUiNVP9DSpzou2PpxJ+eNY2IfDM90ZCg==", - "System.Security.Principal.Windows|5.0.0": "t0MGLukB5WAVU9bO3MGzvlGnyJPgUlcwerXn1kzBRjwLKixT96XV0Uza41W49gVd8zEMFu9vQEFlv0IOrytICA==", - "System.Text.Encodings.Web|10.0.10": "o16m2YpDN/pjHsnxf9pTGwkpcuvjW8v1/wGUwJtM1c3QZUKm7ZEO/eYRJg7iIx6GxS2Zv9lAMHpiQwHDdgqauA==", - "System.Text.Json|10.0.10": "bmsO6UdYtBdtn32zYXfsh7KlyTIzV/3V9hdT9RIb4pXKgYOsNxXR+VbWigNwBtNFVGYGm6Hwmqw5a+/IWFd36Q==", - "System.Threading.Channels|10.0.11": "UvDZ9CCHB+4NX2lI+QvT1MFb4Ly4iw0KmQ1/WokHc4yFD6SoQ9Odxy1e0TRAN4ncqMkJulfeBDzugNwn0GMFUA==", - "System.Threading.Tasks.Extensions|4.6.3": "7sCiwilJLYbTZELaKnc7RecBBXWXA+xMLQWZKWawBxYjp6DBlSE3v9/UcvKBvr1vv2tTOhipiogM8rRmxlhrVA==" } -} +} \ No newline at end of file diff --git a/Sources/EventViewerX/packages.lock.json b/Sources/EventViewerX/packages.lock.json index 53238ad3..59d92dcb 100644 --- a/Sources/EventViewerX/packages.lock.json +++ b/Sources/EventViewerX/packages.lock.json @@ -328,62 +328,5 @@ "contentHash": "GHX/QS0WfddVUHaxZuXGk/VW8NrQl1gPQQTcz5fdIT1CBeiSIi/MhIq50/XPB90qq0loFO7nmzftNeoU2qWwIQ==" } } - }, - "powerForgeSdkPackages": { - "Microsoft.AspNetCore.App.Runtime.linux-arm64|10.0.11": "irSNtJK2ME4yxMlSiWoaGVzboMJC15FmCS56NQGLQ9rhGqN9IHj/okIs7aQ6XYFPsNy5Nn0ddZEnmNKKG8P1AQ==", - "Microsoft.AspNetCore.App.Runtime.linux-arm64|8.0.28": "u1tWlsOHjQCS5SC4Eg6Qo826FDQ1h0UA5GhBd6lUJqAAZOtGqHMbea0ZD72q3CCGoRrATSAb4wSlpv0rjq1HAg==", - "Microsoft.AspNetCore.App.Runtime.linux-x64|10.0.11": "iA4MIriQomj0zcQObOhk+5kDtHIcOrwPKpI603syHNvdxpfj7lneSCWxEAaCUrkejcx9988wJybXLf9JvnJuow==", - "Microsoft.AspNetCore.App.Runtime.linux-x64|8.0.28": "MNoKpJuF+OCGi+rLDMTfsU9gGy5vaViqdekDsxs8vP/6d5aYfozMHyAwwiym/3+pIJtDAV+/RDKcNLIcRme54w==", - "Microsoft.AspNetCore.App.Runtime.osx-arm64|10.0.11": "VdfNNYlgOQ1RZcs7VBx16kk5Ue8A8LiIpAavbFltryVL+/NMLDOuBCgr2nCjTyshlI5ICnEVrOI8i957aCA1Ew==", - "Microsoft.AspNetCore.App.Runtime.osx-arm64|8.0.28": "j/3tNAXTCcKdnrDdJXfEkkO4yTN+IbY0XIrAUzkREtPLpLGwx4t1z8s3Pp9yYkCdsZTNCNgjJmxmNs3gZUpXbQ==", - "Microsoft.AspNetCore.App.Runtime.osx-x64|10.0.11": "LRbrXGENOr1qLLixt46njneIJe7kDjErhEk9tie2BXPuglbOKZDe99Us7IY6uRBQF5unjYIfE9spO2UMPQ9n2A==", - "Microsoft.AspNetCore.App.Runtime.osx-x64|8.0.28": "cItgV4HavW9tjjT2Umv2J/95sP6UsgIppOc6vRaJVGsjsMyhtaVi379d1gFcjGnMFikkSDThmMC9b48I+gcMbA==", - "Microsoft.AspNetCore.App.Runtime.win-arm64|10.0.11": "jbmebhOraTL3ZNEt8QPRMdQhqJypdhFpWRryt2LtTVa6Idr+fN+9lmsfXkKlddYdRDA8nZNS8nW7HsTxpKZ/qg==", - "Microsoft.AspNetCore.App.Runtime.win-arm64|8.0.28": "fdNViNb0RnzDiyMVI4fX/u+a/mVVSpZEg824ggRpADni6F+PJKkwPsuzY3GHk3koNEOXDEbuNEZjJB0LwBWEqg==", - "Microsoft.AspNetCore.App.Runtime.win-x64|10.0.11": "cWmSB4T/SUN4EbchZxJUi2H/euP8/WMfXMVAIb2DG9Vn/cTQiAGxN/t3SORDkIMPP9Sa6SLHWefKqAgj7qmIlw==", - "Microsoft.AspNetCore.App.Runtime.win-x64|8.0.28": "a97O/kRRTEX+VUL66tyQ2Lgl+As+AEw08f9Qwu8+p7k909Zk+L1dyqZECkF5vqxiEpc9sOtK2+NrS946/uuITw==", - "Microsoft.NETCore.App.Host.linux-arm64|10.0.11": "d4voZDynsqKTH9Ado4u7+X48L52S2rD/KCB503sQ7WeaF2z9OHvur1I02yXB+QhnscjyF+WyE+D3lrLZUY2WSQ==", - "Microsoft.NETCore.App.Host.linux-arm64|8.0.28": "kE1gNHvV1V8+s3U+jnOukR3r6Er2MIinAhwC85+wOxhoKW9L8wDPO53Zu3zvkeQUGWRaYaGOa6c0cNs1rCRVwQ==", - "Microsoft.NETCore.App.Host.linux-x64|10.0.11": "C1xP9GCLC4JVxRZpzDKTXrlH3J5pVaQ2m1NNmZSbNYCbS6LwqLDYsJUZ26thjmqc8BLQ+vGkR8eui2+ZV69dXg==", - "Microsoft.NETCore.App.Host.linux-x64|8.0.28": "8yAUUOmKvnpBsPUUDiFVuGlZnKFI5z3hJRdkmJ526it9++J5yQH6/+pkwzn9BrJNYHbGk8zo6D8GTvp/27wEJA==", - "Microsoft.NETCore.App.Host.osx-arm64|10.0.11": "v8yqr04cVMCj3Qn0M3qfeCKCYfzJFynuu+xcEzylzF0jhXcvWGgFxnRv5QHNPDJhBim2k7Xv/pGc9hIZ2dhlzA==", - "Microsoft.NETCore.App.Host.osx-arm64|8.0.28": "J11ax64LxcjaDOBkWUmO7wT9nZJiLEDsWPiugxOKigbeoLe5pNqV1DXpmU7/2IyZ/Q6Xr/ZJALoCQu463/1mvg==", - "Microsoft.NETCore.App.Host.osx-x64|10.0.11": "bQsnPBmPA+We3TkxvjOczzNMOUzpB1Jtbmd0AGH3MntYsPrNSSv3tlfxAY5x6wYAD1Oa11tWqkWWEloN9CMC2g==", - "Microsoft.NETCore.App.Host.osx-x64|8.0.28": "XUCbdYRUEcUFvq/QpA1MOSIyKZgu4cZXeINA1K+fOw8IJ0xGSNhNwIAIy9qaTRrCyKknkKDHwmSCNq0dR4gvsw==", - "Microsoft.NETCore.App.Runtime.linux-arm64|10.0.11": "nWRdeyu/GtEMLL/m0a1eytpjYUZM/2/Fxflbni3uu2myplMiOqmfJJrsJ2I4Ijtjgdwix+WrUCQFIoxYX/IriA==", - "Microsoft.NETCore.App.Runtime.linux-arm64|8.0.28": "c5zpjVuOuwgFrUKH7QhgJSlsa80/q0I4a3sqpYZHokUbTf9IlE+LAoLNvo8hG+2MTtwdFbZqEncpdfUzwhr+qA==", - "Microsoft.NETCore.App.Runtime.linux-x64|10.0.11": "/Xtz8tvuLlzWxHTxyMHX761YIU1IXgehZuLmv9hZx94jYksOrI1Mx9yFfUnQZ1PjNFBl9v7LSbRpE67+CQ81tw==", - "Microsoft.NETCore.App.Runtime.linux-x64|8.0.28": "rBmwp8To1w1LwnXsQk3zdY2QrYuej7QLIulP41M6M8nSJkSpUdOnuj+t59TopPy0KU+v4Qzoe5ZEUUSUviDHXw==", - "Microsoft.NETCore.App.Runtime.osx-arm64|10.0.11": "zjYmMH4pfOm7QrSWX5iwVG020vv8UlcIlCL8XppJd3yX8dQAvrujkZGDsH2apr8EUY39BYMAXDr5MLgRcAolQg==", - "Microsoft.NETCore.App.Runtime.osx-arm64|8.0.28": "BZSlWEcYhrUeHSDQjtlIDsRwswi2Yj7YAh/f8ddIxXx9KogB3rr10cq5YVefsDiaKpyegoQjrelYsEQ/8bGbcA==", - "Microsoft.NETCore.App.Runtime.osx-x64|10.0.11": "5SGB1deVF4jfOKuScf9M/K+41SlobKxkXNenJndwwH3fPXcHNJMdZ0166k4UVju+bMdufGNB+qDQhZ48bPcv/g==", - "Microsoft.NETCore.App.Runtime.osx-x64|8.0.28": "NBN9MK6KZR2R8RuG/j7D25vh2Wi6vaxCA8m1v4Cw4wnT8qfJ1jxk0kEeiOur8kLpk5t4Cmy8rjHsk0lKaowIkw==", - "Microsoft.NETCore.App.Runtime.win-arm64|10.0.11": "zm2H6vURpVQ6p44uxTUcWl64GpSApoJLy/UPdJklnFblXceVDXsyENK9tNtm7+UKtQ9m4lIYfhMM03tKPKB+pw==", - "Microsoft.NETCore.App.Runtime.win-arm64|8.0.28": "fKYTN+aXVr30nLnHjUwMgeRcUYrF0dWZXxaqNC/69YQ8VvHue7ZKll02Ym3aa4BHrzJEZNg+XyqsuESm6DlMog==", - "Microsoft.NETCore.App.Runtime.win-x64|10.0.11": "AsqluTjZAgnSAbqh8qQ/mPOpkcuerdyhXsPYs4/iUfpBItGENdYI8g5IxLxVD3ztZG/5EbqSW8f60nz1D4VGOA==", - "Microsoft.NETCore.App.Runtime.win-x64|8.0.28": "G2SWebJKnBkixQcJlVkCV0EbqdoAhqAf6evVKDcY6CmFjPOFeC+gZeO6/dlm4v1fbKERjpjJzMg0mnKA1il1Zg==", - "Microsoft.WindowsDesktop.App.Runtime.win-arm64|10.0.11": "yJcn/7qr1zc0yLlAacQ0ldcXy4vOUH1LtRBtz1snpRYixctjmacvopqLZiuODaEY/1yFhKzlZI0t4w+TjEtTZA==", - "Microsoft.WindowsDesktop.App.Runtime.win-arm64|8.0.28": "gAPX5GQzU18jQVaprWJZ8/W78ralzVUPPhQ2QrfM/iny0ILFTOC6GAWe/c7G54gMLkDjwM3+Tmw72cfUI2aLZg==", - "Microsoft.WindowsDesktop.App.Runtime.win-x64|10.0.11": "BtcNcsjl6FgGHxnty0flaCdrEUkDbp27mdH+5FLQgaVUJdv5VuCELTu3jwfPe9iuL6gzGX5ChV77xVw5sTrn7g==", - "Microsoft.WindowsDesktop.App.Runtime.win-x64|8.0.28": "sKbAXRze+wBxtj2zexZfpR4vGe2yKZqRn79wFpwa6Ev7be81noXIewGpWvoy7s41y1bTPFzt2YDl3pGFFsXYmQ==" - }, - "powerForgeRestorePackages": { - "DnsClientX|2.1.0": "Pp57zl3zJHkB1MMiVApLZuksJitylTQ1baThYTScU8DR9uh8iPqskFj6HNsSEKlW/vJnTvnWwu5zuouAFxEBNw==", - "Microsoft.Bcl.AsyncInterfaces|10.0.10": "TFI6OKYE1XZz4SGuTSH70c6SBdPpFktXsoa1gCxTr3mKrhmXirnvaS0tKz+J3ZWICEAmMpEGn59nO4ICtUpQXA==", - "Microsoft.Win32.Registry|5.0.0": "dDoKi0PnDz31yAyETfRntsLArTlVAVzUzCIvvEDsDsucrl33Dl8pIJG06ePTJTI3tGpeyHS9Cq7Foc/s4EeKcg==", - "System.Buffers|4.6.1": "N8GXpmiLMtljq7gwvyS+1QvKT/W2J8sNAvx+HVg4NGmsG/H+2k/y9QI23auLJRterrzCiDH+IWAw4V/GPwsMlw==", - "System.Diagnostics.EventLog|6.0.0": "lcyUiXTsETK2ALsZrX+nWuHSIQeazhqPphLfaRxzdGaG93+0kELqpgEHtwWOlQe7+jSFnKwaCAgL4kjeZCQJnw==", - "System.DirectoryServices|6.0.0": "kp/Op0nxDVGlElDKh8TsXO0GKXftQgAB6sJk0wUetZK1Rr0Pbd86Tn7AllLLlROFZa4BTl/LVHakljtGELFzCg==", - "System.IO.FileSystem.AccessControl|5.0.0": "SxHB3nuNrpptVk+vZ/F+7OHEpoHUIKKMl02bUmYHQr1r+glbZQxs7pRtsf4ENO29TVm2TH3AEeep2fJcy92oYw==", - "System.IO.Pipelines|10.0.10": "7WX0W96y3dpQdYG4sEGdh38g3/0lOD4/dKbn2rRVOVzKhzoZUn2gKNIKaFeKWs8RCbpFfmmEWsRhSy95hMpvqA==", - "System.Memory|4.6.3": "qdcDOgnFZY40+Q9876JUHnlHu7bosOHX8XISRoH94fwk6hgaeQGSgfZd8srWRZNt5bV9ZW2TljcegDNxsf+96A==", - "System.Runtime.CompilerServices.Unsafe|6.1.2": "2hBr6zdbIBTDE3EhK7NSVNdX58uTK6iHW/P/Axmm9sl1xoGSLqDvMtpecn226TNwHByFokYwJmt/aQQNlO5CRw==", - "System.Security.AccessControl|6.0.0": "AUADIc0LIEQe7MzC+I0cl0rAT8RrTAKFHl53yHjEUzNVIaUlhFY11vc2ebiVJzVBuOzun6F7FBA+8KAbGTTedQ==", - "System.Security.Permissions|6.0.0": "T/uuc7AklkDoxmcJ7LGkyX1CcSviZuLCa4jg3PekfJ7SU0niF0IVTXwUiNVP9DSpzou2PpxJ+eNY2IfDM90ZCg==", - "System.Security.Principal.Windows|5.0.0": "t0MGLukB5WAVU9bO3MGzvlGnyJPgUlcwerXn1kzBRjwLKixT96XV0Uza41W49gVd8zEMFu9vQEFlv0IOrytICA==", - "System.Text.Encodings.Web|10.0.10": "o16m2YpDN/pjHsnxf9pTGwkpcuvjW8v1/wGUwJtM1c3QZUKm7ZEO/eYRJg7iIx6GxS2Zv9lAMHpiQwHDdgqauA==", - "System.Text.Json|10.0.10": "bmsO6UdYtBdtn32zYXfsh7KlyTIzV/3V9hdT9RIb4pXKgYOsNxXR+VbWigNwBtNFVGYGm6Hwmqw5a+/IWFd36Q==", - "System.Threading.Channels|10.0.11": "UvDZ9CCHB+4NX2lI+QvT1MFb4Ly4iw0KmQ1/WokHc4yFD6SoQ9Odxy1e0TRAN4ncqMkJulfeBDzugNwn0GMFUA==", - "System.Threading.Tasks.Extensions|4.6.3": "7sCiwilJLYbTZELaKnc7RecBBXWXA+xMLQWZKWawBxYjp6DBlSE3v9/UcvKBvr1vv2tTOhipiogM8rRmxlhrVA==" } -} +} \ No newline at end of file