From fb37ee3a72059ce769820adcb6fc37faea97a389 Mon Sep 17 00:00:00 2001 From: NotAKid <37721153+NotAKidoS@users.noreply.github.com> Date: Sat, 28 Mar 2026 01:36:33 -0500 Subject: [PATCH 1/3] [PropsButBetter] Initial release --- PropsButBetter/Main.cs | 287 ++++++ PropsButBetter/ModSettings.cs | 35 + PropsButBetter/Properties/AssemblyInfo.cs | 32 + PropsButBetter/PropsButBetter.csproj | 35 + .../API/PedestalInfoBatchProcessor.cs | 135 +++ .../PropsButBetter/API/SpawnablesMeta.cs | 87 ++ .../Extensions/CVRSpawnableExtensions.cs | 11 + .../Extensions/PlayerSetupExtensions.cs | 14 + .../Extensions/PropDataExtensions.cs | 42 + .../Extensions/TextBlockExtensions.cs | 12 + .../PropsButBetter/Helpers/BoundsUtility.cs | 294 ++++++ .../PropsButBetter/Helpers/PropHelper.cs | 777 ++++++++++++++++ .../PropsButBetter/Helpers/RendererHelper.cs | 33 + .../PropsButBetter/Helpers/UILibHelper.cs | 35 + .../PropsButBetter/PropDistanceHider.cs | 858 ++++++++++++++++++ .../PropsButBetter/QuickMenuPropList.cs | 440 +++++++++ .../PropsButBetter/QuickMenuPropSelect.cs | 259 ++++++ .../UIElements/ContentDisplay.cs | 119 +++ .../PropsButBetter/UIElements/GlobalButton.cs | 51 ++ .../UIElements/PropListEntry.cs | 256 ++++++ .../UIElements/UndoRedoButtons.cs | 132 +++ PropsButBetter/README.md | 31 + PropsButBetter/Resources/SFX/sfx_deny.wav | Bin 0 -> 12496 bytes PropsButBetter/Resources/SFX/sfx_redo.wav | Bin 0 -> 14464 bytes PropsButBetter/Resources/SFX/sfx_spawn.wav | Bin 0 -> 15476 bytes PropsButBetter/Resources/SFX/sfx_undo.wav | Bin 0 -> 12496 bytes PropsButBetter/Resources/SFX/sfx_warn.wav | Bin 0 -> 12684 bytes PropsButBetter/Resources/placeholder.png | Bin 0 -> 382872 bytes PropsButBetter/Resources/redo.png | Bin 0 -> 1222 bytes PropsButBetter/Resources/reload.png | Bin 0 -> 2653 bytes PropsButBetter/Resources/remove.png | Bin 0 -> 1386 bytes .../Resources/rubiks-cube-calender.png | Bin 0 -> 2963 bytes .../Resources/rubiks-cube-clock.png | Bin 0 -> 3296 bytes PropsButBetter/Resources/rubiks-cube-eye.png | Bin 0 -> 3391 bytes PropsButBetter/Resources/rubiks-cube-star.png | Bin 0 -> 3377 bytes PropsButBetter/Resources/rubiks-cube.png | Bin 0 -> 4358 bytes PropsButBetter/Resources/select.png | Bin 0 -> 937 bytes PropsButBetter/Resources/undo.png | Bin 0 -> 1228 bytes PropsButBetter/Resources/wand.png | Bin 0 -> 1358 bytes PropsButBetter/format.json | 26 + 40 files changed, 4001 insertions(+) create mode 100644 PropsButBetter/Main.cs create mode 100644 PropsButBetter/ModSettings.cs create mode 100644 PropsButBetter/Properties/AssemblyInfo.cs create mode 100644 PropsButBetter/PropsButBetter.csproj create mode 100644 PropsButBetter/PropsButBetter/API/PedestalInfoBatchProcessor.cs create mode 100644 PropsButBetter/PropsButBetter/API/SpawnablesMeta.cs create mode 100644 PropsButBetter/PropsButBetter/Extensions/CVRSpawnableExtensions.cs create mode 100644 PropsButBetter/PropsButBetter/Extensions/PlayerSetupExtensions.cs create mode 100644 PropsButBetter/PropsButBetter/Extensions/PropDataExtensions.cs create mode 100644 PropsButBetter/PropsButBetter/Extensions/TextBlockExtensions.cs create mode 100644 PropsButBetter/PropsButBetter/Helpers/BoundsUtility.cs create mode 100644 PropsButBetter/PropsButBetter/Helpers/PropHelper.cs create mode 100644 PropsButBetter/PropsButBetter/Helpers/RendererHelper.cs create mode 100644 PropsButBetter/PropsButBetter/Helpers/UILibHelper.cs create mode 100644 PropsButBetter/PropsButBetter/PropDistanceHider.cs create mode 100644 PropsButBetter/PropsButBetter/QuickMenuPropList.cs create mode 100644 PropsButBetter/PropsButBetter/QuickMenuPropSelect.cs create mode 100644 PropsButBetter/PropsButBetter/UIElements/ContentDisplay.cs create mode 100644 PropsButBetter/PropsButBetter/UIElements/GlobalButton.cs create mode 100644 PropsButBetter/PropsButBetter/UIElements/PropListEntry.cs create mode 100644 PropsButBetter/PropsButBetter/UIElements/UndoRedoButtons.cs create mode 100644 PropsButBetter/README.md create mode 100644 PropsButBetter/Resources/SFX/sfx_deny.wav create mode 100644 PropsButBetter/Resources/SFX/sfx_redo.wav create mode 100644 PropsButBetter/Resources/SFX/sfx_spawn.wav create mode 100644 PropsButBetter/Resources/SFX/sfx_undo.wav create mode 100644 PropsButBetter/Resources/SFX/sfx_warn.wav create mode 100644 PropsButBetter/Resources/placeholder.png create mode 100644 PropsButBetter/Resources/redo.png create mode 100644 PropsButBetter/Resources/reload.png create mode 100644 PropsButBetter/Resources/remove.png create mode 100644 PropsButBetter/Resources/rubiks-cube-calender.png create mode 100644 PropsButBetter/Resources/rubiks-cube-clock.png create mode 100644 PropsButBetter/Resources/rubiks-cube-eye.png create mode 100644 PropsButBetter/Resources/rubiks-cube-star.png create mode 100644 PropsButBetter/Resources/rubiks-cube.png create mode 100644 PropsButBetter/Resources/select.png create mode 100644 PropsButBetter/Resources/undo.png create mode 100644 PropsButBetter/Resources/wand.png create mode 100644 PropsButBetter/format.json diff --git a/PropsButBetter/Main.cs b/PropsButBetter/Main.cs new file mode 100644 index 0000000..2778b33 --- /dev/null +++ b/PropsButBetter/Main.cs @@ -0,0 +1,287 @@ +using System.Reflection; +using ABI_RC.Core.InteractionSystem; +using ABI_RC.Core.Player; +using ABI_RC.Core.Util; +using ABI_RC.Systems.InputManagement.InputModules; +using ABI_RC.Systems.UI.UILib; +using ABI.CCK.Components; +using HarmonyLib; +using MelonLoader; +using UnityEngine; + +namespace NAK.PropsButBetter; + +public class PropsButBetterMod : MelonMod +{ + internal static MelonLogger.Instance Logger; + + public override void OnInitializeMelon() + { + Logger = LoggerInstance; + + // Replace prop select method + HarmonyInstance.Patch( + typeof(ControllerRay).GetMethod(nameof(ControllerRay.HandleSpawnableClicked), + BindingFlags.NonPublic | BindingFlags.Instance), + prefix: new HarmonyMethod(typeof(PropsButBetterMod).GetMethod(nameof(OnPreHandleSpawnableClicked), + BindingFlags.NonPublic | BindingFlags.Static)) + ); + // Replace player select method + HarmonyInstance.Patch( + typeof(ControllerRay).GetMethod(nameof(ControllerRay.HandlePlayerClicked), + BindingFlags.NonPublic | BindingFlags.Instance), + prefix: new HarmonyMethod(typeof(PropsButBetterMod).GetMethod(nameof(OnPreHandlePlayerClicked), + BindingFlags.NonPublic | BindingFlags.Static)) + ); + + // Desktop keybindings for undo/redo + HarmonyInstance.Patch( + typeof(CVRInputModule_Keyboard).GetMethod(nameof(CVRInputModule_Keyboard.Update_Binds), + BindingFlags.Public | BindingFlags.Instance), + postfix: new HarmonyMethod(typeof(PropsButBetterMod).GetMethod(nameof(OnUpdateKeyboardBinds), + BindingFlags.NonPublic | BindingFlags.Static)) + ); + + HarmonyInstance.Patch( // delete my props in reverse order for redo + typeof(CVRSyncHelper).GetMethod(nameof(CVRSyncHelper.DeleteMyProps), + BindingFlags.Public | BindingFlags.Static), + prefix: new HarmonyMethod(typeof(PropHelper).GetMethod(nameof(PropHelper.OnPreDeleteMyProps), + BindingFlags.Public | BindingFlags.Static)) + ); + HarmonyInstance.Patch( // delete all props in reverse order for redo + typeof(CVRSyncHelper).GetMethod(nameof(CVRSyncHelper.DeleteAllProps), + BindingFlags.Public | BindingFlags.Static), + prefix: new HarmonyMethod(typeof(PropHelper).GetMethod(nameof(PropHelper.OnPreDeleteAllProps), + BindingFlags.Public | BindingFlags.Static)) + ); + HarmonyInstance.Patch( // prop spawn sfx + typeof(CVRSyncHelper).GetMethod(nameof(CVRSyncHelper.SpawnProp), + BindingFlags.Public | BindingFlags.Static), + postfix: new HarmonyMethod(typeof(PropHelper).GetMethod(nameof(PropHelper.OnTrySpawnProp), + BindingFlags.Public | BindingFlags.Static)) + ); + + HarmonyInstance.Patch( + typeof(PlayerSetup).GetMethod(nameof(PlayerSetup.SelectPropToSpawn), + BindingFlags.Public | BindingFlags.Instance), + postfix: new HarmonyMethod(typeof(PropHelper).GetMethod(nameof(PropHelper.OnSelectPropToSpawn), + BindingFlags.Public | BindingFlags.Static)) + ); + + HarmonyInstance.Patch( + typeof(PlayerSetup).GetMethod(nameof(PlayerSetup.EnterPropDeleteMode), + BindingFlags.Public | BindingFlags.Instance), + postfix: new HarmonyMethod(typeof(PropHelper).GetMethod(nameof(PropHelper.OnClearPropToSpawn), + BindingFlags.Public | BindingFlags.Static)) + ); + + HarmonyInstance.Patch( + typeof(PlayerSetup).GetMethod(nameof(PlayerSetup.ClearPropToSpawn), + BindingFlags.Public | BindingFlags.Instance), + postfix: new HarmonyMethod(typeof(PropHelper).GetMethod(nameof(PropHelper.OnClearPropToSpawn), + BindingFlags.Public | BindingFlags.Static)) + ); + + HarmonyInstance.Patch( + typeof(ControllerRay).GetMethod(nameof(ControllerRay.HandlePropSpawn), + BindingFlags.NonPublic | BindingFlags.Instance), + postfix: new HarmonyMethod(typeof(PropHelper).GetMethod(nameof(PropHelper.OnHandlePropSpawn), + BindingFlags.Public | BindingFlags.Static)) + ); + + UILibHelper.LoadIcons(); + QuickMenuPropList.BuildUI(); + QuickMenuPropSelect.BuildUI(); + PropHelper.Initialize(); + + // Bono approved hack + QuickMenuAPI.InjectCSSStyle(""" + .shit { + width: 100%; + height: 100%; + object-fit: cover; + border-radius: 10px; + display: block; + position: absolute; + top: 3px; + left: 3px; + } + + .shit2 { + opacity: 0; + transition: opacity 0.3s ease-in-out; + } + + """); + + // Build ui once quick menu is loaded + QuickMenuAPI.OnMenuGenerated += _ => + { + QuickMenuPropSelect.ListenForQM(); + PropListEntry.ListenForQM(); + GlobalButton.ListenForQM(); + UndoRedoButtons.ListenForButtons(); + }; + + SetupDefaultAudioClips(); + } + + /*public override void OnUpdate() + { + PropDistanceHider.Tick(); + }*/ + + // ReSharper disable once RedundantAssignment + private static bool OnPreHandleSpawnableClicked(ref ControllerRay __instance, ref CVRSpawnable __result) + { + __result = null; + + CVRSpawnable spawnable = __instance.hitTransform.GetComponentInParent(); + if (spawnable == null) return false; + + PlayerSetup.PropSelectionMode selectionMode = PlayerSetup.Instance.GetCurrentPropSelectionMode(); + switch (selectionMode) + { + case PlayerSetup.PropSelectionMode.None: + { + // Click a prop while a menu is open to open the details menu + if (__instance._interactDown + && __instance.CanSelectPlayersAndProps() + && spawnable.TryGetComponent(out CVRAssetInfo assetInfo)) + { + // Direct to Main Menu if it is open + if (ViewManager.Instance.IsViewShown) + { + ViewManager.Instance.GetPropDetails(assetInfo.objectId); + ViewManager.Instance.UiStateToggle(true); + } + // Direct to Quick Menu by default + else + { + QuickMenuPropSelect.ShowInfo(spawnable.PropData); + } + + __instance._interactDown = false; // Consume the click + } + break; + } + case PlayerSetup.PropSelectionMode.Delete: + { + // Click a prop while in delete mode to delete it + if (__instance._interactDown + && !spawnable.IsSpawnedByAdmin()) + { + spawnable.Delete(); + __instance._interactDown = false; // Consume the click + return false; // Don't return the spawnable, it's been deleted + } + break; + } + } + + // Return normal prop hover + __result = spawnable; + return false; + } + + private static bool OnPreHandlePlayerClicked(ref ControllerRay __instance, ref PlayerBase __result) + { + if (!ModSettings.EntryFixPlayerSelectRedirect.Value) + return true; + + __result = null; + + if (PlayerSetup.Instance.GetCurrentPropSelectionMode() + != PlayerSetup.PropSelectionMode.None) + return false; + + PlayerBase playerBase = null; + if (__instance.CanSelectPlayersAndProps()) + { + bool foundPlayerDescriptor = __instance.hitTransform.TryGetComponent(out playerBase); + if (!foundPlayerDescriptor && __instance.hitTransform.TryGetComponent(out CameraIndicator cameraIndicator)) + { + PlayerBase cameraOwner = cameraIndicator.ownerPlayer; + if (!playerBase.IsLocalPlayer) + { + playerBase = cameraOwner; + foundPlayerDescriptor = true; + } + } + + if (foundPlayerDescriptor && __instance._interactDown) + { + // Direct to Main Menu if it is open + if (ViewManager.Instance.IsViewShown) + { + ViewManager.Instance.RequestUserDetailsPage(playerBase.PlayerId); + ViewManager.Instance.UiStateToggle(true); + } + // Direct to Quick Menu by default + else + { + QuickMenuAPI.OpenPlayerListByUserID(playerBase.PlayerId); + CVR_MenuManager.Instance.ToggleQuickMenu(true); + } + } + } + + __result = playerBase; + return false; + } + + private static void OnUpdateKeyboardBinds() + { + if (!ModSettings.EntryUseUndoRedoKeybinds.Value) + return; + + if (Input.GetKey(KeyCode.LeftControl)) + { + if (Input.GetKey(KeyCode.LeftShift) + && Input.GetKeyDown(KeyCode.Z)) + PropHelper.RedoProp(); + else if (Input.GetKeyDown(KeyCode.Z)) + PropHelper.UndoProp(); + } + } + + private void SetupDefaultAudioClips() + { + // PropUndo and audio folders do not exist, create them if dont exist yet + var path = Application.streamingAssetsPath + $"/Cohtml/UIResources/GameUI/mods/{nameof(PropsButBetter)}/audio/"; + if (!Directory.Exists(path)) + { + Directory.CreateDirectory(path); + LoggerInstance.Msg("Created audio directory!"); + } + + // copy embedded resources to this folder if they do not exist + string[] clipNames = { "sfx_spawn.wav", "sfx_undo.wav", "sfx_redo.wav", "sfx_warn.wav", "sfx_deny.wav" }; + Assembly executingAssembly = Assembly.GetExecutingAssembly(); + + foreach (var clipName in clipNames) + { + var clipPath = Path.Combine(path, clipName); + if (!File.Exists(clipPath)) + { + // read the clip data from embedded resources + byte[] clipData; + var resourceName = $"{nameof(PropsButBetter)}.Resources.SFX." + clipName; + using (Stream stream = executingAssembly.GetManifestResourceStream(resourceName)) + { + clipData = new byte[stream!.Length]; + // ReSharper disable once MustUseReturnValue + stream.Read(clipData, 0, clipData.Length); + } + + // write the clip data to the file + using (FileStream fileStream = new(clipPath, FileMode.CreateNew)) + { + fileStream.Write(clipData, 0, clipData.Length); + } + + LoggerInstance.Msg("Placed missing sfx in audio folder: " + clipName); + } + } + } +} \ No newline at end of file diff --git a/PropsButBetter/ModSettings.cs b/PropsButBetter/ModSettings.cs new file mode 100644 index 0000000..224677e --- /dev/null +++ b/PropsButBetter/ModSettings.cs @@ -0,0 +1,35 @@ +using MelonLoader; + +namespace NAK.PropsButBetter; + +public static class ModSettings +{ + public const string ModName = nameof(PropsButBetter); + + private static readonly MelonPreferences_Category Category = + MelonPreferences.CreateCategory(ModName); + + internal static readonly MelonPreferences_Entry EntryUseUndoRedoKeybinds = + Category.CreateEntry("use_undo_redo_keybinds", true, + "Use Undo/Redo Keybinds", description: "Whether to use the Desktop keybinds to undo/redo Props (CTRL+Z, CTRL+SHIFT+Z)."); + + internal static readonly MelonPreferences_Entry EntryUseSFX = + Category.CreateEntry("use_sfx", true, + "Use SFX", description: "Toggle audio queues for prop spawn, undo, redo, and warning."); + + internal static readonly MelonPreferences_Entry HiddenPropListMode = + Category.CreateEntry("prop_list_mode", QuickMenuPropList.PropListMode.AllProps, + "Prop List Mode", description: "The current prop list mode.", is_hidden: true); + + internal static readonly MelonPreferences_Entry EntryFixPlayerSelectRedirect = + Category.CreateEntry("fix_player_select_redirect", true, + "Fix Player Select Redirect", description: "Whether to fix the player select redirect. Enabling this makes it consistent with Prop Select."); + + internal static readonly MelonPreferences_Entry EntryPropSpawnVisualizer = + Category.CreateEntry("prop_spawn_visualizer", true, + "Prop Spawn Visualizer", description: "Use the experimental probably fucked up prop spawn visualizer."); + + internal static readonly MelonPreferences_Entry EntryPropSpawnVisualizerMode = + Category.CreateEntry("prop_spawn_visualizer_mode", PropHelper.PropVisualizerMode.HologramSource, + "Prop Spawn Visualizer Mode", description: "Choose how the visualizer will attempt to render."); +} \ No newline at end of file diff --git a/PropsButBetter/Properties/AssemblyInfo.cs b/PropsButBetter/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..151db86 --- /dev/null +++ b/PropsButBetter/Properties/AssemblyInfo.cs @@ -0,0 +1,32 @@ +using NAK.PropsButBetter.Properties; +using MelonLoader; +using System.Reflection; + +[assembly: AssemblyVersion(AssemblyInfoParams.Version)] +[assembly: AssemblyFileVersion(AssemblyInfoParams.Version)] +[assembly: AssemblyInformationalVersion(AssemblyInfoParams.Version)] +[assembly: AssemblyTitle(nameof(NAK.PropsButBetter))] +[assembly: AssemblyCompany(AssemblyInfoParams.Author)] +[assembly: AssemblyProduct(nameof(NAK.PropsButBetter))] + +[assembly: MelonInfo( + typeof(NAK.PropsButBetter.PropsButBetterMod), + nameof(NAK.PropsButBetter), + AssemblyInfoParams.Version, + AssemblyInfoParams.Author, + downloadLink: "https://github.com/NotAKidoS/NAK_CVR_Mods/tree/main/PropsButBetter" +)] + +[assembly: MelonGame("ChilloutVR", "ChilloutVR")] +[assembly: MelonPlatform(MelonPlatformAttribute.CompatiblePlatforms.WINDOWS_X64)] +[assembly: MelonPlatformDomain(MelonPlatformDomainAttribute.CompatibleDomains.MONO)] +[assembly: MelonColor(255, 246, 25, 99)] // red-pink +[assembly: MelonAuthorColor(255, 158, 21, 32)] // red +[assembly: HarmonyDontPatchAll] + +namespace NAK.PropsButBetter.Properties; +internal static class AssemblyInfoParams +{ + public const string Version = "1.0.0"; + public const string Author = "NotAKidoS"; +} \ No newline at end of file diff --git a/PropsButBetter/PropsButBetter.csproj b/PropsButBetter/PropsButBetter.csproj new file mode 100644 index 0000000..f3feb00 --- /dev/null +++ b/PropsButBetter/PropsButBetter.csproj @@ -0,0 +1,35 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/PropsButBetter/PropsButBetter/API/PedestalInfoBatchProcessor.cs b/PropsButBetter/PropsButBetter/API/PedestalInfoBatchProcessor.cs new file mode 100644 index 0000000..b43660d --- /dev/null +++ b/PropsButBetter/PropsButBetter/API/PedestalInfoBatchProcessor.cs @@ -0,0 +1,135 @@ +using ABI_RC.Core.Networking.API; +using ABI_RC.Core.Networking.API.Responses; + +namespace NAK.PropsButBetter; + +public enum PedestalType +{ + Avatar, + Prop +} + +public static class PedestalInfoBatchProcessor +{ + private class CachedResponse + { + public PedestalInfoResponse Response; + public DateTime CachedAt; + } + + private static readonly Dictionary> _cache = new() + { + { PedestalType.Avatar, new Dictionary() }, + { PedestalType.Prop, new Dictionary() } + }; + + private static readonly Dictionary>> _pendingRequests = new() + { + { PedestalType.Avatar, new Dictionary>() }, + { PedestalType.Prop, new Dictionary>() } + }; + + private static readonly Dictionary _isBatchProcessing = new() + { + { PedestalType.Avatar, false }, + { PedestalType.Prop, false } + }; + + private static readonly object _lock = new(); + private const float BATCH_DELAY = 2f; + private const float CACHE_DURATION = 300f; // 5 minutes + + public static Task QueuePedestalInfoRequest(PedestalType type, string contentId, bool skipDelayIfNotCached = false) + { + lock (_lock) + { + // Check cache first + if (_cache[type].TryGetValue(contentId, out var cached)) + { + if ((DateTime.UtcNow - cached.CachedAt).TotalSeconds < CACHE_DURATION) + return Task.FromResult(cached.Response); + + _cache[type].Remove(contentId); + } + + // Check if already pending + var requests = _pendingRequests[type]; + if (requests.TryGetValue(contentId, out var existingTcs)) + return existingTcs.Task; + + // Queue new request + var tcs = new TaskCompletionSource(); + requests[contentId] = tcs; + + if (!_isBatchProcessing[type]) + { + _isBatchProcessing[type] = true; + ProcessBatchAfterDelay(type, skipDelayIfNotCached); + } + + return tcs.Task; + } + } + + private static async void ProcessBatchAfterDelay(PedestalType type, bool skipDelayIfNotCached) + { + if (!skipDelayIfNotCached) + await Task.Delay(TimeSpan.FromSeconds(BATCH_DELAY)); + + List contentIds; + Dictionary> requestBatch; + + lock (_lock) + { + contentIds = _pendingRequests[type].Keys.ToList(); + requestBatch = new Dictionary>(_pendingRequests[type]); + _pendingRequests[type].Clear(); + _isBatchProcessing[type] = false; + } + + try + { + ApiConnection.ApiOperation operation = type switch + { + PedestalType.Avatar => ApiConnection.ApiOperation.AvatarPedestal, + PedestalType.Prop => ApiConnection.ApiOperation.PropPedestal, + _ => throw new ArgumentException($"Unsupported pedestal type: {type}") + }; + + var response = await ApiConnection.MakeRequest>(operation, contentIds); + + if (response?.Data != null) + { + var responseDict = response.Data.ToDictionary(info => info.Id); + var now = DateTime.UtcNow; + + lock (_lock) + { + foreach (var kvp in requestBatch) + { + if (responseDict.TryGetValue(kvp.Key, out var info)) + { + _cache[type][kvp.Key] = new CachedResponse { Response = info, CachedAt = now }; + kvp.Value.SetResult(info); + } + else + { + kvp.Value.SetException(new Exception($"Content info not found for ID: {kvp.Key}")); + } + } + } + } + else + { + Exception exception = new($"Failed to fetch {type} info batch"); + foreach (var tcs in requestBatch.Values) + tcs.SetException(exception); + } + } + catch (Exception ex) + { + foreach (var tcs in requestBatch.Values) + tcs.SetException(ex); + } + } +} \ No newline at end of file diff --git a/PropsButBetter/PropsButBetter/API/SpawnablesMeta.cs b/PropsButBetter/PropsButBetter/API/SpawnablesMeta.cs new file mode 100644 index 0000000..ed6e3e0 --- /dev/null +++ b/PropsButBetter/PropsButBetter/API/SpawnablesMeta.cs @@ -0,0 +1,87 @@ +using System.Net; +using ABI_RC.Core; +using ABI_RC.Core.Networking; +using ABI_RC.Core.Networking.API; +using ABI_RC.Core.Networking.API.Responses; +using ABI_RC.Core.Savior; +using NAK.PropsButBetter; +using Newtonsoft.Json; + +public static class PropApiHelper +{ + /// + /// Fetches the metadata for a specific prop/spawnable + /// + /// The ID of the prop to fetch metadata for + /// BaseResponse containing UgcWithFile data + public static async Task> GetPropMeta(string propId) + { + // Check authentication + if (!AuthManager.IsAuthenticated) + { + PropsButBetterMod.Logger.Error("Attempted to fetch prop meta while user was not authenticated."); + return new BaseResponse("The user is not Authenticated.") + { + IsSuccessStatusCode = false, + HttpStatusCode = HttpStatusCode.Unauthorized, + }; + } + + // Construct the URL + string requestUrl = $"{ApiConnection.APIAddress}/{ApiConnection.APIVersion}/spawnables/{propId}/meta"; + + // Validate URL for security + if (!CVRTools.IsSafeAbsoluteHttpUrl(requestUrl, out var uri)) + { + PropsButBetterMod.Logger.Error($"Invalid URI was constructed! URI: {requestUrl}"); + return null; + } + + // Create the HTTP request + var request = new HttpRequestMessage(HttpMethod.Get, uri); + + // Add mature content header + string allowMatureContent = MetaPort.Instance.matureContentAllowed ? "true" : "false"; + request.Headers.Add(ApiConnection.HeaderMatureContent, allowMatureContent); + + try + { + // Send the request + HttpResponseMessage response = await ApiConnection.Client.SendAsync(request); + + // Handle successful response + if (response.IsSuccessStatusCode) + { + var contentStr = await response.Content.ReadAsStringAsync(); + + var baseResponse = string.IsNullOrWhiteSpace(contentStr) + ? new BaseResponse { Message = "CVR_SUCCESS_PropMeta" } + : JsonConvert.DeserializeObject>(contentStr); + + baseResponse.HttpStatusCode = response.StatusCode; + baseResponse.IsSuccessStatusCode = true; + + return baseResponse; + } + + // Handle failed response + PropsButBetterMod.Logger.Warning($"Request failed with status {response.StatusCode} [{(int)response.StatusCode}]"); + + string rawResponseBody = await response.Content.ReadAsStringAsync(); + var res = JsonConvert.DeserializeObject>(rawResponseBody); + + if (res != null) + { + res.HttpStatusCode = response.StatusCode; + res.IsSuccessStatusCode = false; + return res; + } + } + catch (Exception e) + { + PropsButBetterMod.Logger.Error($"Failed to fetch prop meta: {e.Message}"); + } + + return null; + } +} \ No newline at end of file diff --git a/PropsButBetter/PropsButBetter/Extensions/CVRSpawnableExtensions.cs b/PropsButBetter/PropsButBetter/Extensions/CVRSpawnableExtensions.cs new file mode 100644 index 0000000..b76a1aa --- /dev/null +++ b/PropsButBetter/PropsButBetter/Extensions/CVRSpawnableExtensions.cs @@ -0,0 +1,11 @@ +using ABI_RC.Core.Util; +using ABI.CCK.Components; + +namespace NAK.PropsButBetter; + +public static class CVRSpawnableExtensions +{ + public static bool IsSpawnedByAdmin(this CVRSpawnable spawnable) + => spawnable.ownerId is CVRSyncHelper.OWNERID_SYSTEM + or CVRSyncHelper.OWNERID_LOCALSERVER; +} \ No newline at end of file diff --git a/PropsButBetter/PropsButBetter/Extensions/PlayerSetupExtensions.cs b/PropsButBetter/PropsButBetter/Extensions/PlayerSetupExtensions.cs new file mode 100644 index 0000000..9750219 --- /dev/null +++ b/PropsButBetter/PropsButBetter/Extensions/PlayerSetupExtensions.cs @@ -0,0 +1,14 @@ +using ABI_RC.Core.Player; + +namespace NAK.PropsButBetter; + +public static class PlayerSetupExtensions +{ + public static void ToggleDeleteMode(this PlayerSetup playerSetup) + { + if (playerSetup.propGuidForSpawn == PlayerSetup.PropModeDeleteString) + playerSetup.ClearPropToSpawn(); + else + playerSetup.EnterPropDeleteMode(); + } +} \ No newline at end of file diff --git a/PropsButBetter/PropsButBetter/Extensions/PropDataExtensions.cs b/PropsButBetter/PropsButBetter/Extensions/PropDataExtensions.cs new file mode 100644 index 0000000..db302f4 --- /dev/null +++ b/PropsButBetter/PropsButBetter/Extensions/PropDataExtensions.cs @@ -0,0 +1,42 @@ +using ABI_RC.Core.Networking; +using ABI_RC.Core.Util; + +namespace NAK.PropsButBetter; + +public static class PropDataExtensions +{ + extension(CVRSyncHelper.PropData prop) + { + public bool IsSpawnedByMe() + => prop.SpawnedBy == AuthManager.UserId; + + public void CopyFrom(CVRSyncHelper.PropData sourceData) + { + prop.ObjectId = sourceData.ObjectId; + prop.InstanceId = sourceData.InstanceId; + prop.PositionX = sourceData.PositionX; + prop.PositionY = sourceData.PositionY; + prop.PositionZ = sourceData.PositionZ; + prop.RotationX = sourceData.RotationX; + prop.RotationY = sourceData.RotationY; + prop.RotationZ = sourceData.RotationZ; + prop.ScaleX = sourceData.ScaleX; + prop.ScaleY = sourceData.ScaleY; + prop.ScaleZ = sourceData.ScaleZ; + prop.CustomFloatsAmount = sourceData.CustomFloatsAmount; + prop.CustomFloats = sourceData.CustomFloats; + prop.SpawnedBy = sourceData.SpawnedBy; + prop.syncedBy = sourceData.syncedBy; + prop.syncType = sourceData.syncType; + prop.ContentMetadata = sourceData.ContentMetadata; + prop.CanFireDecommissionEvents = sourceData.CanFireDecommissionEvents; + } + + public void RecycleSafe() + { + if (prop.IsSpawnedByMe()) + CVRSyncHelper.DeleteMyPropByInstanceIdOverNetwork(prop.InstanceId); + prop.Recycle(); + } + } +} \ No newline at end of file diff --git a/PropsButBetter/PropsButBetter/Extensions/TextBlockExtensions.cs b/PropsButBetter/PropsButBetter/Extensions/TextBlockExtensions.cs new file mode 100644 index 0000000..abeadbb --- /dev/null +++ b/PropsButBetter/PropsButBetter/Extensions/TextBlockExtensions.cs @@ -0,0 +1,12 @@ +using ABI_RC.Systems.UI.UILib.UIObjects.Components; + +namespace NAK.PropsButBetter; + +public static class TextBlockExtensions +{ + public static void SetHiddenIfNeeded(this TextBlock textBlock, bool hidden) + { + // Don't invoke a view trigger event needlessly + if (textBlock.Hidden != hidden) textBlock.Hidden = hidden; + } +} \ No newline at end of file diff --git a/PropsButBetter/PropsButBetter/Helpers/BoundsUtility.cs b/PropsButBetter/PropsButBetter/Helpers/BoundsUtility.cs new file mode 100644 index 0000000..443b644 --- /dev/null +++ b/PropsButBetter/PropsButBetter/Helpers/BoundsUtility.cs @@ -0,0 +1,294 @@ +using Unity.Burst; +using Unity.Collections; +using Unity.Jobs; +using Unity.Mathematics; +using UnityEngine; +using UnityEngine.Rendering; +using System.Buffers; +using Unity.Collections.LowLevel.Unsafe; + +public static class MeshBoundsUtility +{ + [BurstCompile] + unsafe struct BoundsJob : IJob + { + [ReadOnly] public NativeArray bytes; + public int vertexCount; + public int stride; + public int positionOffset; + public NativeArray minMax; + + public void Execute() + { + byte* basePtr = (byte*)bytes.GetUnsafeReadOnlyPtr(); + + float3 min = *(float3*)(basePtr + positionOffset); + float3 max = min; + + for (int i = 1; i < vertexCount; i++) + { + float3 p = *(float3*)(basePtr + i * stride + positionOffset); + min = math.min(min, p); + max = math.max(max, p); + } + + minMax[0] = min; + minMax[1] = max; + } + } + + public static Bounds CalculateTightBounds(Mesh mesh) + { + if (!mesh || mesh.vertexCount == 0) + return default; + + var attrs = mesh.GetVertexAttributes(); + + int stream = -1; + int positionOffset = 0; + + for (int i = 0; i < attrs.Length; i++) + { + var a = attrs[i]; + + if (a.attribute == VertexAttribute.Position) + { + stream = a.stream; + break; + } + + if (stream == -1 || a.stream == stream) + { + int size = a.format switch + { + VertexAttributeFormat.Float32 => 4, + VertexAttributeFormat.Float16 => 2, + VertexAttributeFormat.UNorm8 => 1, + VertexAttributeFormat.SNorm8 => 1, + VertexAttributeFormat.UNorm16 => 2, + VertexAttributeFormat.SNorm16 => 2, + VertexAttributeFormat.UInt8 => 1, + VertexAttributeFormat.SInt8 => 1, + VertexAttributeFormat.UInt16 => 2, + VertexAttributeFormat.SInt16 => 2, + VertexAttributeFormat.UInt32 => 4, + VertexAttributeFormat.SInt32 => 4, + _ => 0 + }; + + positionOffset += size * a.dimension; + } + } + + if (stream < 0) + return default; + + using GraphicsBuffer vb = mesh.GetVertexBuffer(stream); + int stride = vb.stride; + int byteCount = vb.count * stride; + + // REQUIRED: managed array + byte[] managedBytes = ArrayPool.Shared.Rent(byteCount); + vb.GetData(managedBytes, 0, 0, byteCount); + + var bytes = new NativeArray( + byteCount, + Allocator.TempJob, + NativeArrayOptions.UninitializedMemory); + + NativeArray.Copy(managedBytes, bytes, byteCount); + ArrayPool.Shared.Return(managedBytes); + + var minMax = new NativeArray(2, Allocator.TempJob); + + new BoundsJob + { + bytes = bytes, + vertexCount = mesh.vertexCount, + stride = stride, + positionOffset = positionOffset, + minMax = minMax + }.Run(); + + bytes.Dispose(); + + float3 min = minMax[0]; + float3 max = minMax[1]; + minMax.Dispose(); + + return new Bounds((min + max) * 0.5f, max - min); + } + + public static bool TryCalculateRendererBounds(Renderer renderer, out Bounds worldBounds) + { + worldBounds = default; + switch (renderer) + { + case MeshRenderer mr: + { + if (!renderer.TryGetComponent(out MeshFilter mf)) + return false; + + Mesh sharedMesh = mf.sharedMesh; + if (!sharedMesh) + return false; + + Bounds local = CalculateTightBounds(sharedMesh); + if (local.size == Vector3.zero) + return false; + + worldBounds = TransformBounds(mr.transform, local); + return true; + } + + case SkinnedMeshRenderer smr: + { + Mesh sharedMesh = smr.sharedMesh; + if (!sharedMesh) + return false; + + Bounds local = CalculateTightBounds(sharedMesh); + if (local.size == Vector3.zero) + return false; + + worldBounds = TransformBounds(smr.transform, local); + return true; + } + + default: + { + worldBounds = renderer.bounds; + return true; + } + } + } + + /// + /// Calculates the combined world-space bounds of all Renderers under a GameObject. + /// + /// The root GameObject to search under. + /// Whether to include inactive GameObjects. + /// Combined bounds, or default if no renderers found. + public static Bounds CalculateCombinedBounds(GameObject root, bool includeInactive = false) + { + if (!root) + return default; + + Renderer[] renderers = root.GetComponentsInChildren(includeInactive); + + if (renderers.Length == 0) + return default; + + // Find first valid bounds + int startIndex = 0; + Bounds combined = default; + + for (int i = 0; i < renderers.Length; i++) + { + if (renderers[i] && renderers[i].enabled) + { + combined = renderers[i].bounds; + startIndex = i + 1; + break; + } + } + + // Encapsulate remaining renderers + for (int i = startIndex; i < renderers.Length; i++) + { + if (renderers[i] && renderers[i].enabled) + { + combined.Encapsulate(renderers[i].bounds); + } + } + + return combined; + } + + /// + /// Calculates tight combined bounds using mesh vertex data instead of renderer bounds. + /// More accurate but slower than CalculateCombinedBounds. + /// + /// The root GameObject to search under. + /// Whether to include inactive GameObjects. + /// Combined tight bounds in world space, or default if no valid meshes found. + public static Bounds CalculateCombinedTightBounds(GameObject root, bool includeInactive = false) + { + if (!root) + return default; + + MeshFilter[] meshFilters = root.GetComponentsInChildren(includeInactive); + SkinnedMeshRenderer[] skinnedRenderers = root.GetComponentsInChildren(includeInactive); + + bool hasAny = false; + Bounds combined = default; + + // Process MeshFilters + foreach (var mf in meshFilters) + { + if (!mf || !mf.sharedMesh) + continue; + + Bounds localBounds = CalculateTightBounds(mf.sharedMesh); + if (localBounds.size == Vector3.zero) + continue; + + Bounds worldBounds = TransformBounds(mf.transform, localBounds); + + if (!hasAny) + { + combined = worldBounds; + hasAny = true; + } + else + { + combined.Encapsulate(worldBounds); + } + } + + // Process SkinnedMeshRenderers + foreach (var smr in skinnedRenderers) + { + if (!smr || !smr.sharedMesh) + continue; + + // For skinned meshes, use the current baked bounds or renderer bounds + // since vertex positions change with animation + Bounds worldBounds = smr.bounds; + + if (!hasAny) + { + combined = worldBounds; + hasAny = true; + } + else + { + combined.Encapsulate(worldBounds); + } + } + + return combined; + } + + /// + /// Transforms an AABB from local space to world space, returning a new AABB that fully contains the transformed box. + /// + private static Bounds TransformBounds(Transform transform, Bounds localBounds) + { + Vector3 center = transform.TransformPoint(localBounds.center); + Vector3 extents = localBounds.extents; + + // Transform each axis extent by the absolute value of the rotation/scale matrix + Vector3 axisX = transform.TransformVector(extents.x, 0, 0); + Vector3 axisY = transform.TransformVector(0, extents.y, 0); + Vector3 axisZ = transform.TransformVector(0, 0, extents.z); + + Vector3 worldExtents = new Vector3( + Mathf.Abs(axisX.x) + Mathf.Abs(axisY.x) + Mathf.Abs(axisZ.x), + Mathf.Abs(axisX.y) + Mathf.Abs(axisY.y) + Mathf.Abs(axisZ.y), + Mathf.Abs(axisX.z) + Mathf.Abs(axisY.z) + Mathf.Abs(axisZ.z) + ); + + return new Bounds(center, worldExtents * 2f); + } +} diff --git a/PropsButBetter/PropsButBetter/Helpers/PropHelper.cs b/PropsButBetter/PropsButBetter/Helpers/PropHelper.cs new file mode 100644 index 0000000..1905506 --- /dev/null +++ b/PropsButBetter/PropsButBetter/Helpers/PropHelper.cs @@ -0,0 +1,777 @@ +using System.Collections; +using ABI_RC.Core; +using ABI_RC.Core.AudioEffects; +using ABI_RC.Core.EventSystem; +using ABI_RC.Core.InteractionSystem; +using ABI_RC.Core.IO; +using ABI_RC.Core.Networking; +using ABI_RC.Core.Networking.API.Responses; +using ABI_RC.Core.Networking.GameServer; +using ABI_RC.Core.Player; +using ABI_RC.Core.Savior; +using ABI_RC.Core.Util; +using ABI_RC.Core.Util.AssetFiltering; +using ABI_RC.Systems.GameEventSystem; +using ABI_RC.Systems.Gravity; +using ABI.CCK.Components; +using DarkRift; +using MelonLoader; +using UnityEngine; +using Object = UnityEngine.Object; + +namespace NAK.PropsButBetter; + +public static class PropHelper +{ + public const int TotalKeptSessionHistory = 30; + + public static List SpawnedThisSession { get; } = new(TotalKeptSessionHistory); + + // CVRSyncHelper does not keep track of your own props nicely + public static readonly List MyProps = []; + + // We get prop spawn/destroy events with emptied prop data sometimes, so we need to track shit ourselves :D + private static readonly Dictionary _propToInstanceId = []; + + private static int MaxPropsForUser = 20; + + private const int RedoTimeoutLimit = 120; // seconds + private static readonly int RedoHistoryLimit = Mathf.Max(MaxPropsForUser, CVRSyncHelper.MyPropCount); + + private static readonly List _myDeletedProps = []; + + // audio clip names, InterfaceAudio adds "PropsButBetter" prefix + public const string SFX_Spawn = $"{nameof(PropsButBetter)}_sfx_spawn"; + public const string SFX_Undo = $"{nameof(PropsButBetter)}_sfx_undo"; + public const string SFX_Redo = $"{nameof(PropsButBetter)}_sfx_redo"; + public const string SFX_Warn = $"{nameof(PropsButBetter)}_sfx_warn"; + public const string SFX_Deny = $"{nameof(PropsButBetter)}_sfx_deny"; + + public static void PlaySound(string sound) + { + if (ModSettings.EntryUseSFX.Value) + InterfaceAudio.PlayModule(sound); + } + + public static bool IsPropSpawnAllowed() + => MetaPort.Instance.worldAllowProps + && MetaPort.Instance.settings.GetSettingsBool("ContentFilterPropsEnabled") + && NetworkManager.Instance.GameNetwork.ConnectionState == ConnectionState.Connected; + + public static bool IsAtPropLimit() + => MyProps.Count >= MaxPropsForUser; + + public static bool CanUndo() + => MyProps.Count > 0; + + public static bool CanRedo() + { + int deletedPropsCount = _myDeletedProps.Count; + return deletedPropsCount > 0 + && _myDeletedProps[deletedPropsCount-1].IsWithinTimeLimit + && !IsAtPropLimit() && IsPropSpawnAllowed(); + } + + public static void UndoProp() + { + CVRSyncHelper.PropData latestPropData = MyProps.LastOrDefault(); + if (latestPropData == null) + { + PlaySound(SFX_Warn); + return; + } + latestPropData.RecycleSafe(); + } + + public static void RedoProp() + { + int index = _myDeletedProps.Count - 1; + if (index < 0) + { + PlaySound(SFX_Warn); + return; + } + + if (!IsPropSpawnAllowed() || IsAtPropLimit()) + { + PlaySound(SFX_Deny); + return; + } + + // Only allow redoing props if they were deleted within the timeout + DeletedPropData deletedProp = _myDeletedProps[index]; + if (deletedProp.IsWithinTimeLimit) + { + _skipBecauseIsRedo = true; + CVRSyncHelper.SpawnProp(deletedProp.PropId, deletedProp.Position, deletedProp.Rotation); + _skipBecauseIsRedo = false; + _myDeletedProps.RemoveAt(index); + PlaySound(SFX_Redo); + } + else + { + // If latest prop is too old, same with rest + ClearUndo(); + PlaySound(SFX_Warn); + } + } + + public static void ClearUndo() + { + _myDeletedProps.Clear(); + } + + public static bool RemoveMyProps() + { + int propsCount = MyProps.Count; + if (propsCount == 0) + { + PlaySound(SFX_Warn); + return false; + } + + for (int i = propsCount - 1; i >= 0; i--) + { + CVRSyncHelper.PropData prop = MyProps[i]; + prop.RecycleSafe(); + } + + return true; + } + + public static bool RemoveOthersProps() + { + int propsCount = CVRSyncHelper.Props.Count; + if (propsCount == 0) + { + PlaySound(SFX_Warn); + return false; + } + + for (int i = propsCount - 1; i >= 0; i--) + { + CVRSyncHelper.PropData prop = CVRSyncHelper.Props[i]; + if (!prop.IsSpawnedByMe()) prop.RecycleSafe(); + } + + return true; + } + + public static bool RemoveAllProps() + { + int propsCount = CVRSyncHelper.Props.Count; + if (propsCount == 0) + { + PlaySound(SFX_Warn); + return false; + } + + for (int i = propsCount - 1; i >= 0; i--) + { + CVRSyncHelper.PropData prop = CVRSyncHelper.Props[i]; + prop.RecycleSafe(); + } + + return true; + } + + private static void OnPropSpawned(string assetId, CVRSyncHelper.PropData prop) + { + // Skip broken props + string instanceId = prop.InstanceId; + if (string.IsNullOrEmpty(instanceId)) + return; + + // Ignore the visualizer prop + if (instanceId == _lastVisualizerInstanceId) + { + OnVisualizerPropSpawned(); + return; + } + + // PropDistanceHider.OnPropSpawned(prop); + + // Track ourselves for later + _propToInstanceId.TryAdd(prop, prop.InstanceId); + + // Track our props + if (prop.IsSpawnedByMe()) MyProps.Add(prop); + + // Check if this prop was reloaded + int spawnedThisSessionCount = SpawnedThisSession.Count; + for (int i = 0; i < spawnedThisSessionCount; i++) + { + if (SpawnedThisSession[i].InstanceId == instanceId) + { + SpawnedThisSession[i].IsDestroyed = false; + return; // No need to add + } + } + + // Track for session history + PropHistoryData historyData = new() + { + PropId = prop.ObjectId, + PropName = prop.ContentMetadata.AssetName, + SpawnerName = CVRPlayerManager.Instance.TryGetPlayerName(prop.SpawnedBy), + InstanceId = instanceId, + IsDestroyed = false + }; + + // Insert at beginning for newest first + SpawnedThisSession.Insert(0, historyData); + + // Keep only the most recent entries + if (spawnedThisSessionCount >= TotalKeptSessionHistory) + SpawnedThisSession.RemoveAt(spawnedThisSessionCount - 1); + } + + private static void OnPropDestroyed(string assetId, CVRSyncHelper.PropData prop) + { + // Only handle props which we tracked the spawn for + if (!_propToInstanceId.Remove(prop, out string instanceId)) + return; + + // PropDistanceHider.OnPropDestroyed(prop); + + // Track our props + if (MyProps.Remove(prop)) + { + // Track the deleted prop for undo + if (_myDeletedProps.Count >= RedoHistoryLimit) + _myDeletedProps.RemoveAt(0); + + DeletedPropData deletedProp = new(prop); + _myDeletedProps.Add(deletedProp); + + PlaySound(SFX_Undo); + } + + // Track for session history + int spawnedThisSessionCount = SpawnedThisSession.Count; + for (int i = 0; i < spawnedThisSessionCount; i++) + { + if (SpawnedThisSession[i].InstanceId == instanceId) + { + SpawnedThisSession[i].IsDestroyed = true; + break; + } + } + } + + private static void OnGSInfoUpdate(GSInfoUpdate update, GSInfoChanged changed) + { + if (changed == GSInfoChanged.MaxPropsPerUser) + MaxPropsForUser = update.MaxPropsPerUser; + } + + private static void OnWorldUnload(string _) => ClearUndo(); + + public static void Initialize() + { + CVRGameEventSystem.Spawnable.OnPropSpawned.AddListener(OnPropSpawned); + CVRGameEventSystem.Spawnable.OnPropDestroyed.AddListener(OnPropDestroyed); + GSInfoHandler.OnGSInfoUpdate += OnGSInfoUpdate; + CVRGameEventSystem.World.OnUnload.AddListener(OnWorldUnload); + } + + // Replacement methods for CVRSyncHelper + + public static bool OnPreDeleteMyProps() + { + bool removedProps = RemoveMyProps(); + + if (removedProps) + ViewManager.Instance.NotifyUser("(Synced) Client", "Removed all my props", 1f); + else + ViewManager.Instance.NotifyUser("(Local) Client", "No props to remove", 1f); + + return false; + } + + public static bool OnPreDeleteAllProps() + { + bool removedProps = RemoveAllProps(); + + if (removedProps) + ViewManager.Instance.NotifyUser("(Synced) Client", "Removed all spawned props", 1f); + else + ViewManager.Instance.NotifyUser("(Local) Client", "No props to remove", 1f); + + return false; + } + + private static bool _skipBecauseIsRedo; // Hack + public static void OnTrySpawnProp() + { + if (_skipBecauseIsRedo) return; + if (!IsPropSpawnAllowed() || IsAtPropLimit()) + { + PlaySound(SFX_Deny); + return; + } + PlaySound(SFX_Spawn); + } + + // Prop history for session + public class PropHistoryData + { + public string PropId; + public string PropName; + public string SpawnerName; + public string InstanceId; + public bool IsDestroyed; + } + + // Deleted prop info for undo history + private class DeletedPropData + { + public readonly string PropId; + public readonly Vector3 Position; + public readonly Quaternion Rotation; + public readonly float TimeDeleted; + + public bool IsWithinTimeLimit => Time.time - TimeDeleted <= RedoTimeoutLimit; + + public DeletedPropData(CVRSyncHelper.PropData propData) + { + CVRSpawnable spawnable = propData.Spawnable; + + if (spawnable == null) + { + // use original spawn position and rotation / last known position and rotation + Position = new Vector3(propData.PositionX, propData.PositionY, propData.PositionZ); + Rotation = Quaternion.Euler(new Vector3(propData.RotationX, propData.RotationY, propData.RotationZ)); + } + else + { + Transform spawnableTransform = spawnable.transform; + Position = spawnableTransform.position; + Rotation = spawnableTransform.rotation; + + // Offset spawn height so game can account for it later + Position.y -= spawnable.spawnHeight; + } + + PropId = propData.ObjectId; + TimeDeleted = Time.time; + } + } + + // Visualizer +// Add this enum at the top of your file or in a separate file +public enum PropVisualizerMode +{ + SourceRenderers, + HologramSource, + HologramBounds +} + +// Modified code: + +private static string _lastVisualizerInstanceId; +private static object _currentFetchCoroutine; +private static bool _cancelPendingFetch; +private static CVRSyncHelper.PropData _visualizerPropData; +private static GameObject _visualizerGameObject; +private static List _visualizerAnimators = new List(); +private static object _animatorPulseCoroutine; + +public static bool IsVisualizerActive => _visualizerGameObject != null && !string.IsNullOrEmpty(_lastVisualizerInstanceId); + +public static void OnSelectPropToSpawn(string guid, string propImage, string propName) +{ + // Cancel any existing fetch + OnClearPropToSpawn(); + + if (!ModSettings.EntryPropSpawnVisualizer.Value) + return; + + _cancelPendingFetch = false; + _currentFetchCoroutine = MelonCoroutines.Start(FetchAndSpawnProp(guid)); +} + +private static IEnumerator FetchAndSpawnProp(string guid) +{ + PropsButBetterMod.Logger.Msg($"Fetching prop meta for {guid}..."); + + // Start the async task + var task = PropApiHelper.GetPropMeta(guid); + + // Wait for completion + while (!task.IsCompleted) + { + if (_cancelPendingFetch) + { + PropsButBetterMod.Logger.Msg("Fetch cancelled by user"); + _currentFetchCoroutine = null; + yield break; + } + yield return null; + } + + // Check for cancellation after task completes + if (_cancelPendingFetch) + { + PropsButBetterMod.Logger.Msg("Fetch cancelled by user"); + _currentFetchCoroutine = null; + yield break; + } + + // Check for errors + if (task.IsFaulted) + { + PropsButBetterMod.Logger.Error($"Failed to fetch prop meta: {task.Exception?.Message}"); + _currentFetchCoroutine = null; + yield break; + } + + var response = task.Result; + + // Validate response + if (response == null || !response.IsSuccessStatusCode) + { + PropsButBetterMod.Logger.Error($"Failed to fetch prop meta: {response?.Message ?? "Unknown error"}"); + _currentFetchCoroutine = null; + yield break; + } + + UgcWithFile propMeta = response.Data; + + if (propMeta == null) + { + PropsButBetterMod.Logger.Error("Prop meta data was null"); + _currentFetchCoroutine = null; + yield break; + } + + // Create metadata + AssetManagement.UgcMetadata metadata = new() + { + AssetName = propMeta.Name, + AssetId = propMeta.Id, + FileSize = propMeta.FileSize, + FileKey = propMeta.FileKey, + FileHash = propMeta.FileHash, + TagsData = new UgcContentTags(propMeta.Tags), + CompatibilityVersion = propMeta.CompatibilityVersion, + EncryptionAlgorithm = propMeta.EncryptionAlgorithm + }; + + // Generate instance ID for visualizer + _lastVisualizerInstanceId = Guid.NewGuid().ToString(); + + // Register prop data + CVRSyncHelper.PropData newPropData = CVRSyncHelper.PropData.PropDataPool.GetObject(); + newPropData.InstanceId = _lastVisualizerInstanceId; + newPropData.ContentMetadata = metadata; + newPropData.ObjectId = guid; + newPropData.SpawnedBy = "SYSTEM"; + + CVRSyncHelper.Props.Add(newPropData); + _visualizerPropData = newPropData; // Cache it + + // Queue download + CVRDownloadManager.Instance.QueueTask(metadata, DownloadTask.ObjectType.Prop, + propMeta.FileLocation, propMeta.FileId, _lastVisualizerInstanceId, spawnerId: "SYSTEM"); + + PropsButBetterMod.Logger.Msg($"Queued prop '{propMeta.Name}' for download"); + + _currentFetchCoroutine = null; +} + +public static void OnVisualizerPropSpawned() +{ + if (_visualizerPropData == null || _visualizerPropData.Wrapper == null) + return; + + Transform rootTransform = _visualizerPropData.Wrapper.transform; + _visualizerGameObject = rootTransform.gameObject; + + PropVisualizerMode mode = ModSettings.EntryPropSpawnVisualizerMode.Value; + + if (mode == PropVisualizerMode.HologramBounds) + { + ProcessHologramBoundsMode(); + } + else + { + ProcessSourceRenderersMode(); + } + + // Start the animator pulse coroutine + if (_visualizerAnimators.Count > 0) + _animatorPulseCoroutine = MelonCoroutines.Start(PulseAnimators()); + + PropsButBetterMod.Logger.Msg($"Visualizer prop spawned in {mode} mode"); +} + +private static void ProcessSourceRenderersMode() +{ + var allComponents = _visualizerGameObject.GetComponentsInChildren(true); + _visualizerAnimators.Clear(); + + List _sharedMaterials = new(); + + foreach (var component in allComponents) + { + if (component == null) continue; + + // Keep these components + if (component is Transform) continue; + if (component is Renderer renderer) + { + if (ModSettings.EntryPropSpawnVisualizerMode.Value == PropVisualizerMode.HologramSource) + { + int materialCount = renderer.GetMaterialCount(); + // Resize sharedMaterials list efficiently + if (_sharedMaterials.Count < materialCount) + { + for (int i = _sharedMaterials.Count; i < materialCount; i++) + _sharedMaterials.Add(MetaPort.Instance.hologrammMaterial); + } + else if (_sharedMaterials.Count > materialCount) + { + _sharedMaterials.RemoveRange(materialCount, _sharedMaterials.Count - materialCount); + } + renderer.SetSharedMaterials(_sharedMaterials); + } + continue; + } + if (component is MeshFilter) continue; + if (component is CVRSpawnable) continue; + if (component is CVRAssetInfo) continue; + if (component is ParticleSystem) continue; + if (component is Animator animator) + { + animator.enabled = false; + _visualizerAnimators.Add(animator); + continue; + } + + // Remove everything else + component.DestroyComponentWithRequirements(); + } +} + +private static void ProcessHologramBoundsMode() +{ + var allComponents = _visualizerGameObject.GetComponentsInChildren(true); + _visualizerAnimators.Clear(); + + Mesh cubeMesh = PrimitiveHelper.GetPrimitiveMesh(PrimitiveType.Cube); + + foreach (var component in allComponents) + { + if (component == null) continue; + + // Handle animators + if (component is Animator animator) + { + animator.enabled = false; + _visualizerAnimators.Add(animator); + continue; + } + + // Handle renderers - create hologram cubes for visible ones + if (component is Renderer renderer) + { + // Check if renderer is visible + bool isVisible = renderer.enabled && + renderer.gameObject.activeInHierarchy && + renderer.shadowCastingMode != UnityEngine.Rendering.ShadowCastingMode.ShadowsOnly; + + if (isVisible) + { + Mesh mesh = null; + if (renderer is SkinnedMeshRenderer smr) + mesh = smr.sharedMesh; + else if (renderer.TryGetComponent(out MeshFilter filter)) + mesh = filter.sharedMesh; + + if (mesh != null) + { + // Get bounds of mesh + Bounds localBounds = MeshBoundsUtility.CalculateTightBounds(mesh); + + PropsButBetterMod.Logger.Msg(localBounds); + + // Create child GameObject for the cube + GameObject cubeObj = new GameObject("HologramCube"); + cubeObj.transform.SetParent(renderer.transform, false); + + // Add mesh filter and renderer to child + MeshFilter cubeMeshFilter = cubeObj.AddComponent(); + cubeMeshFilter.sharedMesh = cubeMesh; + + MeshRenderer cubeRenderer = cubeObj.AddComponent(); + cubeRenderer.sharedMaterial = MetaPort.Instance.hologrammMaterial; + + // Account for lossy scale when setting the cube's scale + /*Vector3 sourceScale = renderer.transform.lossyScale; + Bounds scaledBounds = new( + Vector3.Scale(localBounds.center, sourceScale), + Vector3.Scale(localBounds.size, sourceScale) + );*/ + + cubeObj.transform.localPosition = localBounds.center; + cubeObj.transform.localRotation = Quaternion.identity; + cubeObj.transform.localScale = localBounds.size; + } + else + { + PropsButBetterMod.Logger.Msg("No mesh on " + renderer.gameObject.name); + } + } + } + + // Keep these components + if (component is Transform) continue; + if (component is CVRSpawnable) continue; + if (component is CVRAssetInfo) continue; + if (component is MeshFilter) continue; + + // Remove everything else + try { component.DestroyComponentWithRequirements(); } + catch (Exception) + { + // ignored + } + } +} + +private static IEnumerator PulseAnimators() +{ + const float skipDuration = 10f; + const float skipRealTime = 5f; + + const float pulseAmplitude = 2f; // seconds forward/back + const float pulseFrequency = 0.2f; // Hz (1 cycle every 2s) + + float t = 0f; + float lastPos = 0f; + + while (true) + { + if (_visualizerAnimators == null || _visualizerAnimators.Count == 0) + yield break; + + t += Time.deltaTime; + + // 0 → 1 blend from "skip" to "pulse" + float blend = Mathf.SmoothStep(0f, 1f, t / skipRealTime); + + // Linear fast-forward (position-based, not speed-based) + float skipPos = Mathf.Lerp( + 0f, + skipDuration, + Mathf.Clamp01(t / skipRealTime) + ); + + // Continuous oscillation around skipDuration + float pulsePos = + skipDuration + + Mathf.Sin(t * Mathf.PI * 2f * pulseFrequency) * pulseAmplitude; + + // Final blended position + float currentPos = Mathf.Lerp(skipPos, pulsePos, blend); + + float delta = currentPos - lastPos; + lastPos = currentPos; + + foreach (var animator in _visualizerAnimators) + { + if (animator != null) + animator.Update(delta); + } + + yield return null; + } +} + +public static void OnHandlePropSpawn(ref ControllerRay __instance) +{ + if (!__instance.uiActive) return; // Skip offhand + if (!IsVisualizerActive) return; // No visualizer active + + Vector3 spawnPos = __instance.Hit.point; + Quaternion spawnRot = GetPropSpawnRotation(spawnPos); + + // Position active visualizer at this position + _visualizerGameObject.transform.position = spawnPos; + _visualizerGameObject.transform.rotation = spawnRot; +} + +private static Quaternion GetPropSpawnRotation(Vector3 spawnPos) +{ + Vector3 playerPos = PlayerSetup.Instance.GetPlayerPosition(); + Vector3 directionToPlayer = (playerPos - spawnPos).normalized; + + // Get gravity direction for objects + GravitySystem.GravityResult result = GravitySystem.TryGetResultingGravity(spawnPos, false); + Vector3 gravityDirection = result.AppliedGravity.normalized; + + // If there is no gravity, use transform.up + if (gravityDirection == Vector3.zero) + gravityDirection = -PlayerSetup.Instance.transform.up; + + Vector3 projectedDirectionToPlayer = Vector3.ProjectOnPlane(directionToPlayer, gravityDirection).normalized; + + if (projectedDirectionToPlayer == Vector3.zero) + { + projectedDirectionToPlayer = Vector3.Cross(gravityDirection, Vector3.right).normalized; + if (projectedDirectionToPlayer == Vector3.zero) + projectedDirectionToPlayer = Vector3.Cross(gravityDirection, Vector3.forward).normalized; + } + + Vector3 right = Vector3.Cross(gravityDirection, projectedDirectionToPlayer).normalized; + Vector3 finalForward = Vector3.Cross(right, gravityDirection).normalized; + + if (Vector3.Dot(finalForward, directionToPlayer) < 0) + finalForward *= -1; + + Quaternion rotation = Quaternion.LookRotation(finalForward, -gravityDirection); + return rotation; +} + +public static void OnClearPropToSpawn() +{ + // Stop animator pulse coroutine + if (_animatorPulseCoroutine != null) + { + MelonCoroutines.Stop(_animatorPulseCoroutine); + _animatorPulseCoroutine = null; + } + + // Clear animator list + _visualizerAnimators?.Clear(); + + // Stop any pending fetch coroutine + if (_currentFetchCoroutine != null) + { + _cancelPendingFetch = true; + MelonCoroutines.Stop(_currentFetchCoroutine); + _currentFetchCoroutine = null; + PropsButBetterMod.Logger.Msg("Stopped pending fetch operation"); + } + + if (string.IsNullOrEmpty(_lastVisualizerInstanceId)) + return; + + // Cancel pending attachment in download queue + CVRDownloadManager.Instance.CancelAttachment(_lastVisualizerInstanceId); + + // Find and remove prop data + if (_visualizerPropData != null) + { + CVRSyncHelper.Props.Remove(_visualizerPropData); + _visualizerPropData.Recycle(); // this removes the gameobject if spawned + _visualizerPropData = null; + } + + _visualizerGameObject = null; + _lastVisualizerInstanceId = null; + + PropsButBetterMod.Logger.Msg("Cleared prop visualizer"); +} +} \ No newline at end of file diff --git a/PropsButBetter/PropsButBetter/Helpers/RendererHelper.cs b/PropsButBetter/PropsButBetter/Helpers/RendererHelper.cs new file mode 100644 index 0000000..6c5bee4 --- /dev/null +++ b/PropsButBetter/PropsButBetter/Helpers/RendererHelper.cs @@ -0,0 +1,33 @@ +using System; +using System.Reflection; +using System.Runtime.CompilerServices; +using UnityEngine; + +public static class RendererHelper +{ + private static readonly Func _getMaterialCount; + + static RendererHelper() + { + // Find the private method + MethodInfo mi = typeof(Renderer).GetMethod( + "GetMaterialCount", + BindingFlags.Instance | BindingFlags.NonPublic + ); + + if (mi != null) + { + // Create a fast delegate + _getMaterialCount = (Func)Delegate.CreateDelegate( + typeof(Func), + null, + mi + ); + } + } + + public static int GetMaterialCount(this Renderer renderer) + { + return _getMaterialCount?.Invoke(renderer) ?? 0; + } +} \ No newline at end of file diff --git a/PropsButBetter/PropsButBetter/Helpers/UILibHelper.cs b/PropsButBetter/PropsButBetter/Helpers/UILibHelper.cs new file mode 100644 index 0000000..f5fb890 --- /dev/null +++ b/PropsButBetter/PropsButBetter/Helpers/UILibHelper.cs @@ -0,0 +1,35 @@ +using System.Reflection; +using ABI_RC.Systems.UI.UILib; + +namespace NAK.PropsButBetter; + +public static class UILibHelper +{ + public static string PlaceholderImageCoui => GetIconCoui(ModSettings.ModName, $"{ModSettings.ModName}-placeholder"); + + public static string GetIconCoui(string modName, string iconName) + { + modName = UIUtils.GetCleanString(modName); + return $"coui://uiresources/GameUI/UILib/Images/{modName}/{iconName}.png"; + } + + internal static void LoadIcons() + { + // Load all icons + Assembly assembly = Assembly.GetExecutingAssembly(); + string assemblyName = assembly.GetName().Name; + + QuickMenuAPI.PrepareIcon(ModSettings.ModName, $"{ModSettings.ModName}-remove", GetIconStream("remove.png")); + QuickMenuAPI.PrepareIcon(ModSettings.ModName, $"{ModSettings.ModName}-reload", GetIconStream("reload.png")); + QuickMenuAPI.PrepareIcon(ModSettings.ModName, $"{ModSettings.ModName}-select", GetIconStream("select.png")); + QuickMenuAPI.PrepareIcon(ModSettings.ModName, $"{ModSettings.ModName}-undo", GetIconStream("undo.png")); + QuickMenuAPI.PrepareIcon(ModSettings.ModName, $"{ModSettings.ModName}-redo", GetIconStream("redo.png")); + QuickMenuAPI.PrepareIcon(ModSettings.ModName, $"{ModSettings.ModName}-wand", GetIconStream("wand.png")); + QuickMenuAPI.PrepareIcon(ModSettings.ModName, $"{ModSettings.ModName}-rubiks-cube", GetIconStream("rubiks-cube.png")); + QuickMenuAPI.PrepareIcon(ModSettings.ModName, $"{ModSettings.ModName}-rubiks-cube-eye", GetIconStream("rubiks-cube-eye.png")); + QuickMenuAPI.PrepareIcon(ModSettings.ModName, $"{ModSettings.ModName}-rubiks-cube-star", GetIconStream("rubiks-cube-star.png")); + QuickMenuAPI.PrepareIcon(ModSettings.ModName, $"{ModSettings.ModName}-rubiks-cube-clock", GetIconStream("rubiks-cube-clock.png")); + QuickMenuAPI.PrepareIcon(ModSettings.ModName, $"{ModSettings.ModName}-placeholder", GetIconStream("placeholder.png")); + Stream GetIconStream(string iconName) => assembly.GetManifestResourceStream($"{assemblyName}.Resources.{iconName}"); + } +} \ No newline at end of file diff --git a/PropsButBetter/PropsButBetter/PropDistanceHider.cs b/PropsButBetter/PropsButBetter/PropDistanceHider.cs new file mode 100644 index 0000000..907a5b9 --- /dev/null +++ b/PropsButBetter/PropsButBetter/PropDistanceHider.cs @@ -0,0 +1,858 @@ +/*using ABI_RC.Core.Player; +using ABI_RC.Core.Util; +using ABI_RC.Systems.RuntimeDebug; +using ABI.CCK.Components; +using UnityEngine; + +namespace NAK.PropsButBetter; + +public static class PropDistanceHider +{ + public enum HiderMode + { + Disabled, + DisableRendering, + } + + private class PropPart + { + public Transform Transform; + public Transform BoundsCenter; // Child transform at local bounds center + public float BoundsRadius; // Local extents magnitude + } + + private class PropCache + { + public CVRSyncHelper.PropData PropData; + + public PropPart[] Parts; + public int PartCount; + + // Renderers (not Behaviours, have enabled) + public Renderer[] Renderers; + public int RendererCount; + public bool[] RendererEnabled; + + // Colliders (not Behaviours, have enabled) + public Collider[] Colliders; + public int ColliderCount; + public bool[] ColliderEnabled; + + // Rigidbodies (no enabled, use isKinematic) + public Rigidbody[] Rigidbodies; + public int RigidbodyCount; + public bool[] RigidbodyWasKinematic; + + // ParticleSystems (not Behaviours, no enabled, use Play/Stop) + public ParticleSystem[] ParticleSystems; + public int ParticleSystemCount; + public bool[] PsWasPlaying; + public bool[] PsPlayOnAwake; + public float[] PsTime; + public double[] PsStartTime; + public uint[] PsRandomSeed; + public bool[] PsUseAutoSeed; + + // CVRPickupObject - must drop before disabling + public CVRPickupObject[] Pickups; + public int PickupCount; + + // CVRAttachment - must deattach before disabling + public CVRAttachment[] Attachments; + public int AttachmentCount; + + // CVRInteractable - must disable before other behaviours + public CVRInteractable[] Interactables; + public int InteractableCount; + public bool[] InteractableEnabled; + + // Behaviour state tracking + public Behaviour[] Behaviours; + public int BehaviourCount; + public bool[] BehaviourEnabled; + + // Animator state + public bool[] AnimWasEnabled; + public double[] AnimStartTime; + + // AudioSource state + public bool[] AudioWasPlaying; + public bool[] AudioLoop; + public bool[] AudioPlayOnAwake; + public double[] AudioStartDsp; + public float[] AudioStartTime; + + public bool IsHidden; + } + + public static float Hysteresis = 2f; + + private static readonly Dictionary _propCaches = new(); + private static readonly List _propCacheList = new(); + private static readonly List _toRemove = new(); + + // Reusable collections for spawn processing (avoid allocations) + private static readonly Dictionary _tempPartLookup = new(); + private static readonly List _tempBoundsList = new(); + private static readonly List _tempRenderers = new(); + private static readonly List _tempColliders = new(); + private static readonly List _tempRigidbodies = new(); + private static readonly List _tempParticleSystems = new(); + private static readonly List _tempPickups = new(); + private static readonly List _tempAttachments = new(); + private static readonly List _tempInteractables = new(); + private static readonly List _tempBehaviours = new(); + private static readonly List _tempRendererPartIndices = new(); + + public static void OnPropSpawned(CVRSyncHelper.PropData propData) + { + GameObject propObject = propData.Wrapper; + if (!propObject) + return; + + CVRSpawnable spawnable = propData.Spawnable; + if (!spawnable) + return; + + Transform spawnableTransform = spawnable.transform; + var subSyncs = spawnable.subSyncs; + int subSyncCount = subSyncs?.Count ?? 0; + + // Build parts array (root + subsyncs) + int partCount = 1 + subSyncCount; + PropPart[] parts = new PropPart[partCount]; + + // Clear temp collections + _tempPartLookup.Clear(); + _tempRenderers.Clear(); + _tempColliders.Clear(); + _tempRigidbodies.Clear(); + _tempParticleSystems.Clear(); + _tempPickups.Clear(); + _tempAttachments.Clear(); + _tempInteractables.Clear(); + _tempBehaviours.Clear(); + _tempRendererPartIndices.Clear(); + + // Root spawnable part + parts[0] = new PropPart { Transform = spawnableTransform, BoundsCenter = null, BoundsRadius = 0f }; + _tempPartLookup[spawnableTransform] = 0; + + // Subsync parts + for (int i = 0; i < subSyncCount; i++) + { + CVRSpawnableSubSync subSync = subSyncs?[i]; + if (subSync == null) continue; + + Transform subSyncTransform = subSync.transform; + parts[i + 1] = new PropPart { Transform = subSyncTransform, BoundsCenter = null, BoundsRadius = 0f }; + _tempPartLookup[subSyncTransform] = i + 1; + } + + // Get all components once and categorize + Component[] allComponents = propObject.GetComponentsInChildren(true); + int componentCount = allComponents.Length; + + for (int i = 0; i < componentCount; i++) + { + Component comp = allComponents[i]; + if (!comp) continue; + + if (comp is Renderer renderer) + { + _tempRenderers.Add(renderer); + _tempRendererPartIndices.Add(FindOwningPartIndex(renderer.transform)); + } + else if (comp is Collider collider) + { + _tempColliders.Add(collider); + } + else if (comp is Rigidbody rigidbody) + { + _tempRigidbodies.Add(rigidbody); + } + else if (comp is ParticleSystem particleSystem) + { + _tempParticleSystems.Add(particleSystem); + } + else if (comp is CVRPickupObject pickup) + { + _tempPickups.Add(pickup); + } + else if (comp is CVRAttachment attachment) + { + _tempAttachments.Add(attachment); + } + else if (comp is CVRInteractable interactable) + { + _tempInteractables.Add(interactable); + } + else if (comp is Behaviour behaviour) + { + // Skip the spawnable as it needs to be enabled to sync moving + if (behaviour is CVRSpawnable) + continue; + + _tempBehaviours.Add(behaviour); + } + } + + // Copy to final arrays + int rendererCount = _tempRenderers.Count; + int colliderCount = _tempColliders.Count; + int rigidbodyCount = _tempRigidbodies.Count; + int particleSystemCount = _tempParticleSystems.Count; + int pickupCount = _tempPickups.Count; + int attachmentCount = _tempAttachments.Count; + int interactableCount = _tempInteractables.Count; + int behaviourCount = _tempBehaviours.Count; + + Renderer[] renderers = new Renderer[rendererCount]; + int[] rendererPartIndices = new int[rendererCount]; + Collider[] colliders = new Collider[colliderCount]; + Rigidbody[] rigidbodies = new Rigidbody[rigidbodyCount]; + ParticleSystem[] particleSystems = new ParticleSystem[particleSystemCount]; + CVRPickupObject[] pickups = new CVRPickupObject[pickupCount]; + CVRAttachment[] attachments = new CVRAttachment[attachmentCount]; + CVRInteractable[] interactables = new CVRInteractable[interactableCount]; + Behaviour[] behaviours = new Behaviour[behaviourCount]; + + for (int i = 0; i < rendererCount; i++) + { + renderers[i] = _tempRenderers[i]; + rendererPartIndices[i] = _tempRendererPartIndices[i]; + } + + for (int i = 0; i < colliderCount; i++) + colliders[i] = _tempColliders[i]; + + for (int i = 0; i < rigidbodyCount; i++) + rigidbodies[i] = _tempRigidbodies[i]; + + for (int i = 0; i < particleSystemCount; i++) + particleSystems[i] = _tempParticleSystems[i]; + + for (int i = 0; i < pickupCount; i++) + pickups[i] = _tempPickups[i]; + + for (int i = 0; i < attachmentCount; i++) + attachments[i] = _tempAttachments[i]; + + for (int i = 0; i < interactableCount; i++) + interactables[i] = _tempInteractables[i]; + + for (int i = 0; i < behaviourCount; i++) + behaviours[i] = _tempBehaviours[i]; + + // Calculate bounds per part in local space + for (int p = 0; p < partCount; p++) + { + PropPart part = parts[p]; + Transform partTransform = part.Transform; + if (!partTransform) + continue; + + _tempBoundsList.Clear(); + + for (int i = 0; i < rendererCount; i++) + { + if (rendererPartIndices[i] != p) + continue; + + // We are ignoring particle systems because their bounds are cooked. + // Their initial bounds seem leftover from whatever was last in-editor. + Renderer renderer = renderers[i]; + if (!renderer || renderer is ParticleSystemRenderer) + continue; + + Bounds worldBounds = renderer.bounds; + + // Convert bounds to part's local space + Vector3 localCenter = partTransform.InverseTransformPoint(worldBounds.center); + Vector3 localExtents = partTransform.InverseTransformVector(worldBounds.extents); + localExtents = new Vector3( + Mathf.Abs(localExtents.x), + Mathf.Abs(localExtents.y), + Mathf.Abs(localExtents.z) + ); + + Bounds localBounds = new Bounds(localCenter, localExtents * 2f); + _tempBoundsList.Add(localBounds); + } + + int boundsCount = _tempBoundsList.Count; + if (boundsCount > 0) + { + // Combine all renderer local bounds into one + Bounds combined = _tempBoundsList[0]; + for (int i = 1; i < boundsCount; i++) + combined.Encapsulate(_tempBoundsList[i]); + + // Include the prop root as an enforced bounds point. + // This makes some props which have their contents really far away at least visible on spawn + // even with an aggressive distance hider configuration. Ex: the big fish ship + if (p == 0 && ModSettings.EntryIncludePropRootInBounds.Value) + combined.Encapsulate(-partTransform.localPosition); + + // Create the BoundsCenter object + GameObject boundsCenterObj = new GameObject("_BoundsCenter"); + Transform boundsCenterObjTransform = boundsCenterObj.transform; + boundsCenterObjTransform.SetParent(partTransform, false); + boundsCenterObjTransform.localPosition = combined.center; + boundsCenterObjTransform.localScale = Vector3.one; + + float radius = 0f; + Vector3 c = combined.center; + Vector3 e = combined.extents; + radius = Mathf.Max(radius, (c + new Vector3( e.x, e.y, e.z) - c).magnitude); + radius = Mathf.Max(radius, (c + new Vector3( e.x, e.y, -e.z) - c).magnitude); + radius = Mathf.Max(radius, (c + new Vector3( e.x, -e.y, e.z) - c).magnitude); + radius = Mathf.Max(radius, (c + new Vector3( e.x, -e.y, -e.z) - c).magnitude); + radius = Mathf.Max(radius, (c + new Vector3(-e.x, e.y, e.z) - c).magnitude); + radius = Mathf.Max(radius, (c + new Vector3(-e.x, e.y, -e.z) - c).magnitude); + radius = Mathf.Max(radius, (c + new Vector3(-e.x, -e.y, e.z) - c).magnitude); + radius = Mathf.Max(radius, (c + new Vector3(-e.x, -e.y, -e.z) - c).magnitude); + + part.BoundsRadius = radius; + part.BoundsCenter = boundsCenterObjTransform; + } + } + + // Clear temp collections + _tempPartLookup.Clear(); + _tempBoundsList.Clear(); + _tempRenderers.Clear(); + _tempColliders.Clear(); + _tempRigidbodies.Clear(); + _tempParticleSystems.Clear(); + _tempPickups.Clear(); + _tempAttachments.Clear(); + _tempInteractables.Clear(); + _tempBehaviours.Clear(); + _tempRendererPartIndices.Clear(); + + var cache = new PropCache + { + PropData = propData, + Parts = parts, + PartCount = partCount, + Renderers = renderers, + RendererCount = rendererCount, + RendererEnabled = new bool[rendererCount], + Colliders = colliders, + ColliderCount = colliderCount, + ColliderEnabled = new bool[colliderCount], + Rigidbodies = rigidbodies, + RigidbodyCount = rigidbodyCount, + RigidbodyWasKinematic = new bool[rigidbodyCount], + ParticleSystems = particleSystems, + ParticleSystemCount = particleSystemCount, + PsWasPlaying = new bool[particleSystemCount], + PsPlayOnAwake = new bool[particleSystemCount], + PsTime = new float[particleSystemCount], + PsStartTime = new double[particleSystemCount], + PsRandomSeed = new uint[particleSystemCount], + PsUseAutoSeed = new bool[particleSystemCount], + Pickups = pickups, + PickupCount = pickupCount, + Attachments = attachments, + AttachmentCount = attachmentCount, + Interactables = interactables, + InteractableCount = interactableCount, + InteractableEnabled = new bool[interactableCount], + Behaviours = behaviours, + BehaviourCount = behaviourCount, + BehaviourEnabled = new bool[behaviourCount], + AnimWasEnabled = new bool[behaviourCount], + AnimStartTime = new double[behaviourCount], + AudioWasPlaying = new bool[behaviourCount], + AudioLoop = new bool[behaviourCount], + AudioPlayOnAwake = new bool[behaviourCount], + AudioStartDsp = new double[behaviourCount], + AudioStartTime = new float[behaviourCount], + IsHidden = false + }; + + _propCaches[propData] = cache; + _propCacheList.Add(cache); + } + + private static int FindOwningPartIndex(Transform transform) + { + Transform current = transform; + while (current) + { + if (_tempPartLookup.TryGetValue(current, out int partIndex)) + return partIndex; + current = current.parent; + } + return 0; // Default to root + } + + public static void OnPropDestroyed(CVRSyncHelper.PropData propData) + { + if (!_propCaches.TryGetValue(propData, out PropCache cache)) + return; + + if (cache.IsHidden) + ShowProp(cache); + + _propCaches.Remove(propData); + _propCacheList.Remove(cache); + } + + public static void Tick() + { + HiderMode mode = ModSettings.EntryPropDistanceHiderMode.Value; + if (mode == HiderMode.Disabled) + return; + + PlayerSetup playerSetup = PlayerSetup.Instance; + if (!playerSetup) + return; + + Camera activeCam = playerSetup.activeCam; + if (!activeCam) + return; + + Vector3 playerPos = activeCam.transform.position; + float hideDistance = ModSettings.EntryPropDistanceHiderDistance.Value; + float hysteresis = Hysteresis; + float hideDistSqr = hideDistance * hideDistance; + float showDist = hideDistance - hysteresis; + float showDistSqr = showDist * showDist; + + int cacheCount = _propCacheList.Count; + for (int i = 0; i < cacheCount; i++) + { + PropCache cache = _propCacheList[i]; + PropPart[] parts = cache.Parts; + int partCount = cache.PartCount; + + bool isHidden = cache.IsHidden; + float threshold = isHidden ? showDistSqr : hideDistSqr; + + bool anyPartValid = false; + bool anyPartWithinThreshold = false; + + // Debug gizmos for all parts + if (ModSettings.DebugPropMeasuredBounds.Value) + { + Quaternion playerRot = activeCam.transform.rotation; + Vector3 viewOffset = new Vector3(0f, -0.15f, 0f); + Vector3 debugLineStartPos = playerPos + playerRot * viewOffset; + for (int p = 0; p < partCount; p++) + { + PropPart part = parts[p]; + Transform boundsCenter = part.BoundsCenter; + + if (!boundsCenter) + continue; + + Vector3 boundsCenterPos = boundsCenter.position; + + // Compute world-space radius based on runtime scale (largest axis) + Vector3 lossyScale = boundsCenter.lossyScale; + float radius = part.BoundsRadius * Mathf.Max(lossyScale.x, Mathf.Max(lossyScale.y, lossyScale.z)); + + float distToCenter = Vector3.Distance(playerPos, boundsCenterPos); + float distToEdge = distToCenter - radius; + + // RuntimeGizmos DrawSphere is off by 2x + Color boundsColor = isHidden ? Color.red : Color.green; + RuntimeGizmos.DrawSphere(boundsCenterPos, radius * 2f, boundsColor, opacity: 0.2f); + RuntimeGizmos.DrawLineFromTo(debugLineStartPos, boundsCenterPos, 0.01f, boundsColor, opacity: 0.1f); + RuntimeGizmos.DrawText(boundsCenterPos, $"{distToEdge:F1}m {(isHidden ? "[Hidden]" : "[Visible]")}", 0.1f, boundsColor, opacity: 1f); + } + } + + for (int p = 0; p < partCount; p++) + { + PropPart part = parts[p]; + Transform boundsCenter = part.BoundsCenter; + + if (!boundsCenter) + continue; + + anyPartValid = true; + + // World-space radius with runtime scale + Vector3 lossyScale = boundsCenter.lossyScale; + float radius = part.BoundsRadius * Mathf.Max(lossyScale.x, Mathf.Max(lossyScale.y, lossyScale.z)); + + float distToCenter = Vector3.Distance(playerPos, boundsCenter.position); + float distToEdge = distToCenter - radius; + float distToEdgeSqr = distToEdge * distToEdge; + + if (distToEdge < 0f) + distToEdgeSqr = -distToEdgeSqr; + + if (distToEdgeSqr < threshold) + { + anyPartWithinThreshold = true; + break; + } + } + + if (!anyPartValid) + { + _toRemove.Add(cache.PropData); + continue; + } + + if (!isHidden && !anyPartWithinThreshold) + { + HideProp(cache); + } + else if (isHidden && anyPartWithinThreshold) + { + ShowProp(cache); + } + } + + int removeCount = _toRemove.Count; + if (removeCount > 0) + { + for (int i = 0; i < removeCount; i++) + { + CVRSyncHelper.PropData propData = _toRemove[i]; + if (_propCaches.TryGetValue(propData, out PropCache cache)) + { + _propCaches.Remove(propData); + _propCacheList.Remove(cache); + } + } + _toRemove.Clear(); + } + } + + private static void HideProp(PropCache cache) + { + cache.IsHidden = true; + + double dsp = AudioSettings.dspTime; + double time = Time.timeAsDouble; + + // Drop all pickups first to avoid race conditions + CVRPickupObject[] pickups = cache.Pickups; + int pickupCount = cache.PickupCount; + for (int i = 0; i < pickupCount; i++) + { + CVRPickupObject pickup = pickups[i]; + if (!pickup) continue; + pickup.ControllerRay = null; + } + + // Deattach all attachments before disabling + CVRAttachment[] attachments = cache.Attachments; + int attachmentCount = cache.AttachmentCount; + for (int i = 0; i < attachmentCount; i++) + { + CVRAttachment attachment = attachments[i]; + if (!attachment) continue; + attachment.DeAttach(); + } + + // Disable interactables before other behaviours + CVRInteractable[] interactables = cache.Interactables; + bool[] interactableEnabled = cache.InteractableEnabled; + int interactableCount = cache.InteractableCount; + for (int i = 0; i < interactableCount; i++) + { + CVRInteractable interactable = interactables[i]; + if (!interactable) continue; + interactableEnabled[i] = interactable.enabled; + interactable.enabled = false; + } + + // Snapshot and disable renderers + Renderer[] renderers = cache.Renderers; + bool[] rendererEnabled = cache.RendererEnabled; + int rendererCount = cache.RendererCount; + for (int i = 0; i < rendererCount; i++) + { + Renderer renderer = renderers[i]; + if (!renderer) continue; + rendererEnabled[i] = renderer.enabled; + renderer.enabled = false; + } + + // Snapshot and disable colliders + Collider[] colliders = cache.Colliders; + bool[] colliderEnabled = cache.ColliderEnabled; + int colliderCount = cache.ColliderCount; + for (int i = 0; i < colliderCount; i++) + { + Collider collider = colliders[i]; + if (!collider) continue; + colliderEnabled[i] = collider.enabled; + collider.enabled = false; + } + + // Snapshot and set rigidbodies to kinematic + Rigidbody[] rigidbodies = cache.Rigidbodies; + bool[] rigidbodyWasKinematic = cache.RigidbodyWasKinematic; + int rigidbodyCount = cache.RigidbodyCount; + for (int i = 0; i < rigidbodyCount; i++) + { + Rigidbody rb = rigidbodies[i]; + if (!rb) continue; + rigidbodyWasKinematic[i] = rb.isKinematic; + rb.isKinematic = true; + } + + // Snapshot and stop particle systems + ParticleSystem[] particleSystems = cache.ParticleSystems; + bool[] psWasPlaying = cache.PsWasPlaying; + bool[] psPlayOnAwake = cache.PsPlayOnAwake; + float[] psTime = cache.PsTime; + double[] psStartTime = cache.PsStartTime; + uint[] psRandomSeed = cache.PsRandomSeed; + bool[] psUseAutoSeed = cache.PsUseAutoSeed; + int particleSystemCount = cache.ParticleSystemCount; + for (int i = 0; i < particleSystemCount; i++) + { + ParticleSystem ps = particleSystems[i]; + if (!ps) continue; + + var main = ps.main; + psPlayOnAwake[i] = main.playOnAwake; + + if (ps.isPlaying) + { + psWasPlaying[i] = true; + psTime[i] = ps.time; + psStartTime[i] = time; + } + else + { + psWasPlaying[i] = false; + } + + psUseAutoSeed[i] = ps.useAutoRandomSeed; + psRandomSeed[i] = ps.randomSeed; + + main.playOnAwake = false; + ps.Stop(true, ParticleSystemStopBehavior.StopEmittingAndClear); + } + + // Snapshot and disable behaviours + Behaviour[] behaviours = cache.Behaviours; + bool[] behaviourEnabled = cache.BehaviourEnabled; + bool[] animWasEnabled = cache.AnimWasEnabled; + double[] animStartTime = cache.AnimStartTime; + bool[] audioWasPlaying = cache.AudioWasPlaying; + bool[] audioLoop = cache.AudioLoop; + bool[] audioPlayOnAwake = cache.AudioPlayOnAwake; + double[] audioStartDsp = cache.AudioStartDsp; + float[] audioStartTime = cache.AudioStartTime; + int behaviourCount = cache.BehaviourCount; + + for (int i = 0; i < behaviourCount; i++) + { + Behaviour b = behaviours[i]; + if (!b) continue; + + behaviourEnabled[i] = b.enabled; + + if (!b.enabled) continue; + + if (b is Animator animator) + { + animWasEnabled[i] = true; + animStartTime[i] = time; + animator.enabled = false; + continue; + } + + if (b is AudioSource audio) + { + audioLoop[i] = audio.loop; + audioPlayOnAwake[i] = audio.playOnAwake; + + if (audio.isPlaying) + { + audioWasPlaying[i] = true; + audioStartTime[i] = audio.time; + audioStartDsp[i] = dsp - audio.time; + } + else + { + audioWasPlaying[i] = false; + } + + audio.Stop(); + audio.playOnAwake = false; + audio.enabled = false; + continue; + } + + b.enabled = false; + } + } + + private static void ShowProp(PropCache cache) + { + double dsp = AudioSettings.dspTime; + double time = Time.timeAsDouble; + + cache.IsHidden = false; + + // Restore renderers + Renderer[] renderers = cache.Renderers; + bool[] rendererEnabled = cache.RendererEnabled; + int rendererCount = cache.RendererCount; + for (int i = 0; i < rendererCount; i++) + { + Renderer renderer = renderers[i]; + if (!renderer) continue; + renderer.enabled = rendererEnabled[i]; + } + + // Restore colliders + Collider[] colliders = cache.Colliders; + bool[] colliderEnabled = cache.ColliderEnabled; + int colliderCount = cache.ColliderCount; + for (int i = 0; i < colliderCount; i++) + { + Collider collider = colliders[i]; + if (!collider) continue; + collider.enabled = colliderEnabled[i]; + } + + // Restore rigidbodies + Rigidbody[] rigidbodies = cache.Rigidbodies; + bool[] rigidbodyWasKinematic = cache.RigidbodyWasKinematic; + int rigidbodyCount = cache.RigidbodyCount; + for (int i = 0; i < rigidbodyCount; i++) + { + Rigidbody rb = rigidbodies[i]; + if (!rb) continue; + rb.isKinematic = rigidbodyWasKinematic[i]; + } + + // Restore particle systems + ParticleSystem[] particleSystems = cache.ParticleSystems; + bool[] psWasPlaying = cache.PsWasPlaying; + bool[] psPlayOnAwake = cache.PsPlayOnAwake; + float[] psTime = cache.PsTime; + double[] psStartTime = cache.PsStartTime; + uint[] psRandomSeed = cache.PsRandomSeed; + bool[] psUseAutoSeed = cache.PsUseAutoSeed; + int particleSystemCount = cache.ParticleSystemCount; + for (int i = 0; i < particleSystemCount; i++) + { + ParticleSystem ps = particleSystems[i]; + if (!ps) continue; + + if (psWasPlaying[i]) + { + ps.useAutoRandomSeed = false; + ps.randomSeed = psRandomSeed[i]; + + float originalTime = psTime[i]; + float elapsed = (float)(time - psStartTime[i]); + float simulateTime = originalTime + elapsed; + + ps.Simulate( + simulateTime, + withChildren: true, + restart: true, + fixedTimeStep: false + ); + + ps.Play(true); + + ps.useAutoRandomSeed = psUseAutoSeed[i]; + } + + var main = ps.main; + main.playOnAwake = psPlayOnAwake[i]; + } + + // Restore behaviours + Behaviour[] behaviours = cache.Behaviours; + bool[] behaviourEnabled = cache.BehaviourEnabled; + bool[] animWasEnabled = cache.AnimWasEnabled; + double[] animStartTime = cache.AnimStartTime; + bool[] audioWasPlaying = cache.AudioWasPlaying; + bool[] audioLoop = cache.AudioLoop; + bool[] audioPlayOnAwake = cache.AudioPlayOnAwake; + double[] audioStartDsp = cache.AudioStartDsp; + int behaviourCount = cache.BehaviourCount; + + for (int i = 0; i < behaviourCount; i++) + { + Behaviour b = behaviours[i]; + if (!b) continue; + + bool wasEnabled = behaviourEnabled[i]; + + if (b is Animator animator) + { + animator.enabled = wasEnabled; + + if (wasEnabled && animWasEnabled[i]) + { + float delta = (float)(time - animStartTime[i]); + if (delta > 0f) + animator.Update(delta); + } + + continue; + } + + if (b is AudioSource audio) + { + audio.enabled = wasEnabled; + + if (wasEnabled && audioWasPlaying[i] && audio.clip) + { + double elapsed = dsp - audioStartDsp[i]; + float clipLen = audio.clip.length; + + float t = audioLoop[i] ? (float)(elapsed % clipLen) : (float)elapsed; + if (t < clipLen) + { + audio.time = t; + audio.Play(); + } + } + + audio.playOnAwake = audioPlayOnAwake[i]; + continue; + } + + b.enabled = wasEnabled; + } + + // Restore interactables after other behaviours + CVRInteractable[] interactables = cache.Interactables; + bool[] interactableEnabled = cache.InteractableEnabled; + int interactableCount = cache.InteractableCount; + for (int i = 0; i < interactableCount; i++) + { + CVRInteractable interactable = interactables[i]; + if (!interactable) continue; + interactable.enabled = interactableEnabled[i]; + } + } + + public static void RefreshAll() + { + int count = _propCacheList.Count; + for (int i = 0; i < count; i++) + { + PropCache cache = _propCacheList[i]; + if (cache.IsHidden) + ShowProp(cache); + } + } + + public static void Clear() + { + RefreshAll(); + _propCaches.Clear(); + _propCacheList.Clear(); + } +}*/ \ No newline at end of file diff --git a/PropsButBetter/PropsButBetter/QuickMenuPropList.cs b/PropsButBetter/PropsButBetter/QuickMenuPropList.cs new file mode 100644 index 0000000..e23ae5a --- /dev/null +++ b/PropsButBetter/PropsButBetter/QuickMenuPropList.cs @@ -0,0 +1,440 @@ +using ABI_RC.Core.InteractionSystem; +using ABI_RC.Core.IO; +using ABI_RC.Core.Player; +using ABI_RC.Core.Util; +using ABI_RC.Systems.UI.UILib; +using ABI_RC.Systems.UI.UILib.UIObjects; +using ABI_RC.Systems.UI.UILib.UIObjects.Components; +using UnityEngine; + +namespace NAK.PropsButBetter; + +public static class QuickMenuPropList +{ + public const int TotalPropListModes = 3; + public enum PropListMode + { + AllProps, + MyProps, + History, + } + + private static PropListMode _currentPropListMode = PropListMode.AllProps; + + private static string _propListCategoryName; + private static string _propsListPopulatedText; + private static string _propListEmptyText; + + private static Page _page; + private static Category _actionsCategory; + private static Category _propListCategory; + + private static Button _enterDeleteModeButton; + private static Button _deleteMyPropsButton; + private static Button _deleteOthersPropsButton; + private static Button _cyclePropListModeButton; + private static TextBlock _propListTextBlock; + + private static UndoRedoButtons _undoRedoButtons; + private static ScheduledJob _updateJob; + + private static DateTime _lastTabChangedTime = DateTime.Now; + private static string _rootPageElementID; + private static bool _isOurTabOpened; + + public static void BuildUI() + { + QuickMenuAPI.OnTabChange += OnTabChange; + + _page = Page.GetOrCreatePage(nameof(PropsButBetter), nameof(QuickMenuPropList), isRootPage: true, "PropsButBetter-rubiks-cube"); + _page.MenuTitle = "Prop List"; + _page.MenuSubtitle = "You can see all Props currently spawned in here!"; + _page.OnPageOpen += OnPageOpened; + _page.OnPageClosed += OnPageClosed; + + _rootPageElementID = _page.ElementID; + + _actionsCategory = _page.AddCategory("Quick Actions", false, false); + + _undoRedoButtons = new UndoRedoButtons(); + _undoRedoButtons.OnUndo += OnUndo; + _undoRedoButtons.OnRedo += OnRedo; + + _enterDeleteModeButton = _actionsCategory.AddButton("Delete Mode", "PropsButBetter-wand", "Enters Prop delete mode."); + _enterDeleteModeButton.OnPress += OnDeleteMode; + + _deleteMyPropsButton = _actionsCategory.AddButton("Delete My Props", "PropsButBetter-remove", "Deletes all Props spawned by you. This will remove them for everyone."); + _deleteMyPropsButton.OnPress += OnDeleteMyProps; + + _deleteOthersPropsButton = _actionsCategory.AddButton("Remove Others Props", "PropsButBetter-remove", "Removes all Props spawned by other players only for you. This does not delete them for everyone."); + _deleteOthersPropsButton.OnPress += OnRemoveOthersProps; + + _cyclePropListModeButton = _actionsCategory.AddButton("Cycle Prop List Mode", "PropsButBetter-rubiks-cube", "Cycles the Prop List display mode."); + _cyclePropListModeButton.OnPress += OnCyclePropListMode; + + _propListCategory = _page.AddCategory("All Props", true, true); + _propListTextBlock = _propListCategory.AddTextBlock(string.Empty); + + SetPropListMode(ModSettings.HiddenPropListMode.Value); + } + + private static void OnPageOpened() + { + _undoRedoButtons.SetUndoHidden(false); + _undoRedoButtons.SetRedoHidden(false); + } + + private static void OnPageClosed() + { + _undoRedoButtons.SetUndoHidden(true); + _undoRedoButtons.SetRedoHidden(true); + } + + private static void OnPageUpdate() + { + // Don't run while the menu is closed, it's needless + if (!CVR_MenuManager.Instance.IsViewShown) + return; + + ForceUndoRedoButtonUpdate(); + ForcePropListUpdate(); + } + + private static void ForceUndoRedoButtonUpdate() + { + _undoRedoButtons.SetUndoDisabled(!PropHelper.CanUndo()); + _undoRedoButtons.SetRedoDisabled(!PropHelper.CanRedo()); + } + + private static void ForcePropListUpdate() + { + if (_currentPropListMode == PropListMode.History) + UpdateHistoryPropList(); + else + UpdateLivePropList(); + } + + private static readonly Dictionary _entries = new(); + private static readonly Stack _removalBuffer = new(); + + private static int[] _entrySiblingIndices; + private static int _currentLiveUpdateCycle; + private static int _lastPropCount; + + private static void UpdateLivePropList() + { + List props; + switch (_currentPropListMode) + { + case PropListMode.AllProps: props = CVRSyncHelper.Props; break; + case PropListMode.MyProps: props = PropHelper.MyProps; break; + case PropListMode.History: + default: return; + } + + int propCount = props.Count; + + bool hasPropCountChanged = propCount != _lastPropCount; + bool needsRunRemovalPass = _lastPropCount > propCount; + bool noProps = propCount == 0; + + if (hasPropCountChanged) + { + _lastPropCount = propCount; + _propListCategory.CategoryName = $"{_propListCategoryName} ({propCount})"; + + if (noProps) + { + ClearPropList(); + _propListTextBlock.Text = _propListEmptyText; + } + else + { + // Resize our arrays + Array.Resize(ref _entrySiblingIndices, propCount); + for (int i = 0; i < propCount; i++) _entrySiblingIndices[i] = i; // Reset order for sort + _propListTextBlock.Text = _propsListPopulatedText; + } + } + + if (noProps) + { + // No need to continue update + return; + } + + // Sort props by distance + if (propCount > 1) + { + Vector3 playerPos = PlayerSetup.Instance.activeCam.transform.position; + DistanceComparerStruct comparer = new(playerPos, props); + Array.Sort(_entrySiblingIndices, 0, propCount, comparer); + } + + // Increment the live update cycle count + _currentLiveUpdateCycle += 1; + + // Sort or create the menu entries we need + int index = 1; // Leave the no props text area as the first child + for (int i = 0; i < propCount; i++) + { + var prop = props[_entrySiblingIndices[i]]; + string id = prop.InstanceId; + + if (!_entries.TryGetValue(id, out var entry)) + { + string username = CVRPlayerManager.Instance.TryGetPlayerName(prop.SpawnedBy); + entry = new PropListEntry( + id, + prop.ObjectId, + prop.ContentMetadata.AssetName, + username, + _propListCategory + ); + _entries[id] = entry; + } + + // Set last updated cycle and sort the menu entry + entry.LastUpdatedCycle = _currentLiveUpdateCycle; + entry.SetChildIndexIfNeeded(index++); + } + + if (needsRunRemovalPass) + { + // Iterate all entries now and remove all which did not get fishy flipped + foreach ((string instanceId, PropListEntry entry) in _entries) + { + if (entry.LastUpdatedCycle != _currentLiveUpdateCycle) + { + _removalBuffer.Push(instanceId); + entry.Destroy(); + } + } + + // Remove all which have been scheduled for death + int toRemoveCount = _removalBuffer.Count; + for (int i = 0; i < toRemoveCount; i++) + { + string toRemove = _removalBuffer.Pop(); + _entries.Remove(toRemove); + } + } + } + + private static void UpdateHistoryPropList() + { + int historyCount = PropHelper.SpawnedThisSession.Count; + + bool hasPropCountChanged = historyCount != _lastPropCount; + bool noProps = historyCount == 0; + + if (hasPropCountChanged) + { + _lastPropCount = historyCount; + _propListCategory.CategoryName = $"{_propListCategoryName} ({historyCount})"; + + if (noProps) + { + ClearPropList(); + _propListTextBlock.Text = _propListEmptyText; + } + else + { + _propListTextBlock.Text = _propsListPopulatedText; + + } + } + + if (noProps) + { + // No need to continue update + return; + } + + // Increment the live update cycle count + _currentLiveUpdateCycle += 1; + + // Process history entries in order (newest first since list is already ordered that way) + int index = 1; // Leave the no props text area as the first child + for (int i = 0; i < historyCount; i++) + { + var historyData = PropHelper.SpawnedThisSession[i]; + string id = historyData.InstanceId; + + if (!_entries.TryGetValue(id, out var entry)) + { + entry = new PropListEntry( + historyData.InstanceId, + historyData.PropId, + historyData.PropName, + historyData.SpawnerName, + _propListCategory + ); + _entries[id] = entry; + } + + // Update destroyed state + entry.SetIsDestroyed(historyData.IsDestroyed); + + // Set last updated cycle and sort the menu entry + entry.LastUpdatedCycle = _currentLiveUpdateCycle; + entry.SetChildIndexIfNeeded(index++); + } + + // Remove entries that are no longer in history + foreach ((string instanceId, PropListEntry entry) in _entries) + { + if (entry.LastUpdatedCycle != _currentLiveUpdateCycle) + { + _removalBuffer.Push(instanceId); + entry.Destroy(); + } + } + + // Remove all which have been scheduled for death + int toRemoveCount = _removalBuffer.Count; + for (int i = 0; i < toRemoveCount; i++) + { + string toRemove = _removalBuffer.Pop(); + _entries.Remove(toRemove); + } + } + + private static void ClearPropList() + { + _lastPropCount = -1; // Forces rebuild of prop list + foreach (PropListEntry entry in _entries.Values) entry.Destroy(); + _entries.Clear(); + } + + private static void RebuildPropList() + { + ClearPropList(); + ForcePropListUpdate(); + } + + private readonly struct DistanceComparerStruct(Vector3 playerPos, IReadOnlyList props) : IComparer + { + public int Compare(int a, int b) + { + var pa = props[a]; + var pb = props[b]; + + float dx = pa.PositionX - playerPos.x; + float dy = pa.PositionY - playerPos.y; + float dz = pa.PositionZ - playerPos.z; + float da = dx * dx + dy * dy + dz * dz; + + dx = pb.PositionX - playerPos.x; + dy = pb.PositionY - playerPos.y; + dz = pb.PositionZ - playerPos.z; + float db = dx * dx + dy * dy + dz * dz; + + return da.CompareTo(db); + } + } + + private static void OnTabChange(string newTab, string previousTab) + { + bool isOurTabOpened = newTab == _rootPageElementID; + + // Check for change + if (isOurTabOpened != _isOurTabOpened) + { + _isOurTabOpened = isOurTabOpened; + if (_isOurTabOpened) + { + if (_updateJob == null) _updateJob = BetterScheduleSystem.AddJob(OnPageUpdate, 0f, 1f); + OnPageUpdate(); + } + else + { + if (_updateJob != null) BetterScheduleSystem.RemoveJob(_updateJob); + _updateJob = null; + } + } + + if (!_isOurTabOpened) return; + + TimeSpan timeDifference = DateTime.Now - _lastTabChangedTime; + if (timeDifference.TotalSeconds <= 0.5) + { + OnDeleteMode(); + return; + } + _lastTabChangedTime = DateTime.Now; + } + + private static void OnUndo() + { + PropHelper.UndoProp(); + ForceUndoRedoButtonUpdate(); + } + + private static void OnRedo() + { + PropHelper.RedoProp(); + ForceUndoRedoButtonUpdate(); + } + + private static void OnDeleteMode() + { + PlayerSetup.Instance.ToggleDeleteMode(); + } + + private static void OnDeleteMyProps() + { + PropHelper.RemoveMyProps(); + + // Force a page update + ForcePropListUpdate(); + } + + private static void OnRemoveOthersProps() + { + PropHelper.RemoveOthersProps(); + + // Force a page update + ForcePropListUpdate(); + } + + private static void OnCyclePropListMode() + => CyclePropListMode(); + + public static void CyclePropListMode() + { + int nextMode = (int)_currentPropListMode + 1; + SetPropListMode((PropListMode)(nextMode < 0 ? TotalPropListModes - 1 : nextMode % TotalPropListModes)); + } + + public static void SetPropListMode(PropListMode mode) + { + _currentPropListMode = mode; + ModSettings.HiddenPropListMode.Value = mode; + + switch (_currentPropListMode) + { + case PropListMode.AllProps: + _propListCategoryName = "All Props"; + _propsListPopulatedText = "These Props are sorted by distance to you."; + _propListEmptyText = "No Props are spawned in the World."; + _cyclePropListModeButton.ButtonIcon = "PropsButBetter-rubiks-cube-eye"; + break; + case PropListMode.MyProps: + _propListCategoryName = "My Props"; + _propsListPopulatedText = "These Props are sorted by distance to you."; + _propListEmptyText = "You have not spawned any Props."; + _cyclePropListModeButton.ButtonIcon = "PropsButBetter-rubiks-cube-star"; + break; + case PropListMode.History: + _propListCategoryName = "Spawned This Session"; + _propsListPopulatedText = "Showing last 30 Props which have been spawned this session."; + _propListEmptyText = "No Props have been spawned this session."; + _cyclePropListModeButton.ButtonIcon = "PropsButBetter-rubiks-cube-clock"; + break; + } + + // Force rebuild of the props list + RebuildPropList(); + } +} \ No newline at end of file diff --git a/PropsButBetter/PropsButBetter/QuickMenuPropSelect.cs b/PropsButBetter/PropsButBetter/QuickMenuPropSelect.cs new file mode 100644 index 0000000..4916536 --- /dev/null +++ b/PropsButBetter/PropsButBetter/QuickMenuPropSelect.cs @@ -0,0 +1,259 @@ +using ABI_RC.Core; +using ABI_RC.Core.EventSystem; +using ABI_RC.Core.InteractionSystem; +using ABI_RC.Core.IO; +using ABI_RC.Core.IO.AssetManagement; +using ABI_RC.Core.Networking.API.Responses; +using ABI_RC.Core.Player; +using ABI_RC.Core.Savior; +using ABI_RC.Core.Util; +using ABI_RC.Core.Util.Encryption; +using ABI_RC.Systems.UI.UILib; +using ABI_RC.Systems.UI.UILib.Components; +using ABI_RC.Systems.UI.UILib.UIObjects; +using ABI_RC.Systems.UI.UILib.UIObjects.Components; +using ABI.CCK.Components; +using UnityEngine; + +namespace NAK.PropsButBetter; + +public static class QuickMenuPropSelect +{ + private static Page _page; + private static Category _contentInfoCategory; + private static ContentDisplay _contentDisplay; + + private static Category _contentActionsCategory; + private static Button _deletePropButton; + private static Button _selectPropButton; + private static Button _reloadPropButton; + private static Button _selectPlayerButton; + + // Page State + private static string _currentSelectedPropId; + private static CVRSyncHelper.PropData _currentSelectedPropData; + private static PedestalInfoResponse _currentSpawnableResponse; + + private static CancellationTokenSource _fetchPropDetailsCts; + + public static void BuildUI() + { + _page = Page.GetOrCreatePage(nameof(PropsButBetter), "Prop Info", isRootPage: false, noTab: true); + _page.OnPageClosed += () => _fetchPropDetailsCts?.Cancel(); + // _page.InPlayerlist = true; // TODO: Investigate removal of page forehead + + _contentInfoCategory = _page.AddCategory("Content Info", false, false); + _contentDisplay = new ContentDisplay(_contentInfoCategory); + + _contentActionsCategory = _page.AddCategory("Quick Actions", true, true); + + _selectPropButton = _contentActionsCategory.AddButton("Spawn Prop", "PropsButBetter-select", "Select the Prop for spawning."); + _selectPropButton.OnPress += OnSelectProp; + + _reloadPropButton = _contentActionsCategory.AddButton("Reload Prop", "PropsButBetter-reload", "Respawns the selected Prop."); + _reloadPropButton.OnPress += OnReloadProp; + + _deletePropButton = _contentActionsCategory.AddButton("Delete Prop", "PropsButBetter-remove", "Delete the selected Prop.", ButtonStyle.TextWithIcon); + _deletePropButton.OnPress += OnDeleteProp; + + _selectPlayerButton = _contentActionsCategory.AddButton("Select Spawner", "PropsButBetter-remove", "Select the spawner of the Prop.", ButtonStyle.FullSizeImage); + _selectPlayerButton.OnPress += OnSelectPlayer; + } + + public static void ListenForQM() + { + CVR_MenuManager.Instance.cohtmlView.View.RegisterForEvent("QuickMenuPropSelect-OpenDetails", (Action)OnOpenDetails); + } + + public static void ShowInfo(CVRSyncHelper.PropData propData) + { + if (propData == null) return; + + _currentSelectedPropData = propData; + + CVR_MenuManager.Instance.ToggleQuickMenu(true); + _page.OpenPage(false, false); + + _currentSelectedPropId = propData.ObjectId; + + AssetManagement.UgcMetadata metadata = propData.ContentMetadata; + + _page.MenuTitle = $"{metadata.AssetName}"; + _page.MenuSubtitle = $"Spawned by {CVRPlayerManager.Instance.TryGetPlayerName(propData.SpawnedBy)}"; + + // Reset stuff + _fetchPropDetailsCts?.Cancel(); + _fetchPropDetailsCts = new CancellationTokenSource(); + _currentSpawnableResponse = null; + _reloadPropButton.Disabled = false; + _deletePropButton.Disabled = false; + + // Display metadata immediately with placeholder image + _contentDisplay.SetContent(metadata); + + // Set player pfp on button + string spawnedBy = _currentSelectedPropData.SpawnedBy; + if (CVRPlayerManager.Instance.UserIdToPlayerEntity.TryGetValue(spawnedBy, out var playerEntity)) + { + _selectPlayerButton.ButtonIcon = playerEntity.ApiProfileImageUrl; + _selectPlayerButton.ButtonText = playerEntity.Username; + } + // Check if this is our own pro + else if (spawnedBy == MetaPort.Instance.ownerId) + { + _selectPlayerButton.ButtonIcon = PlayerSetup.Instance.AuthInfo.Image.ToString(); + _selectPlayerButton.ButtonText = PlayerSetup.Instance.AuthInfo.Username; + } + // Prop is spawned by a user we cannot see... likely blocked + else + { + _selectPlayerButton.ButtonIcon = string.Empty; + _selectPlayerButton.ButtonText = "Unknown Player"; + } + + // Keep disabled until fetch + _selectPropButton.ButtonTooltip = "Select the Prop for spawning."; + _selectPropButton.Disabled = true; + + // Fetch image and update display + CVRTools.Run(async () => + { + try + { + var response = await PedestalInfoBatchProcessor.QueuePedestalInfoRequest( + PedestalType.Prop, + _currentSelectedPropId, + skipDelayIfNotCached: true // Not expecting need for batched response here + ); + + _currentSpawnableResponse = response; + string spawnableImageUrl = ImageCache.QueueProcessImage(response.ImageUrl, fallback: response.ImageUrl); + bool isPermittedToSpawn = response.IsPublished || response.Permitted; + + RootLogic.Instance.MainThreadQueue.Enqueue(() => + { + if (_fetchPropDetailsCts.IsCancellationRequested) return; + // Update with image URL for crossfade and enable button + _contentDisplay.SetContent(metadata, spawnableImageUrl); + if (isPermittedToSpawn) + _selectPropButton.Disabled = false; + else + _selectPropButton.ButtonTooltip = "Lacking permission to spawn Prop."; + }); + } + catch (Exception ex) when (ex is OperationCanceledException) { } + }, _fetchPropDetailsCts.Token); + } + + private static void OnOpenDetails() + { + ViewManager.Instance.GetPropDetails(_currentSelectedPropId); + } + + private static void OnSelectProp() + { + if (_currentSpawnableResponse != null) + { + string imageUrl = ImageCache.QueueProcessImage(_currentSpawnableResponse.ImageUrl, fallback: _currentSpawnableResponse.ImageUrl); + PlayerSetup.Instance.SelectPropToSpawn(_currentSpawnableResponse.Id, imageUrl, _currentSpawnableResponse.Name); + } + } + + private static void OnSelectPlayer() + { + string spawnedBy = _currentSelectedPropData.SpawnedBy; + // Check if this is a remote player and they exist + if (CVRPlayerManager.Instance.TryGetConnected(spawnedBy)) + { + QuickMenuAPI.OpenPlayerListByUserID(spawnedBy); + } + // Check if this is ourselves + else if (spawnedBy == MetaPort.Instance.ownerId) + { + PlayerList.Instance.OpenPlayerActionPage(PlayerList.Instance._localUserObject); + } + // User is not real + else + { + ViewManager.Instance.RequestUserDetailsPage(spawnedBy); + ViewManager.Instance.TriggerPushNotification("Opened profile page as user was not found in Instance.", 2f); + } + } + + private static void OnDeleteProp() + { + CVRSpawnable spawnable = _currentSelectedPropData.Spawnable; + if (spawnable && !spawnable.IsSpawnedByAdmin()) + { + spawnable.Delete(); + + // Disable now unusable buttons + _reloadPropButton.Disabled = true; + _deletePropButton.Disabled = true; + } + } + + private static void OnReloadProp() + { + CVRSpawnable spawnable = _currentSelectedPropData.Spawnable; + if (spawnable.IsSpawnedByAdmin()) + return; // Can't call delete + + CVRSyncHelper.PropData oldData = _currentSelectedPropData; + + // If this prop has not yet fully reloaded do not attempt another reload + if (!oldData.Spawnable) return; + + // Find our cached task in the download manager + // TODO: Noticed issue, download manager doesn't keep track of cached items properly. + // We are comparing the asset id instead of instance id because the download manager doesn't cache + // multiple for the same asset id. + DownloadTask ourTask = null; + foreach ((string assetId, DownloadTask downloadTask) in CVRDownloadManager.Instance._cachedTasks) + { + if (downloadTask.Type != DownloadTask.ObjectType.Prop + || assetId != oldData.ObjectId) continue; + ourTask = downloadTask; + break; + } + if (ourTask == null) return; + + // Create new prop data from the old one + CVRSyncHelper.PropData newData = CVRSyncHelper.PropData.PropDataPool.GetObject(); + newData.CopyFrom(oldData); + + // Prep spawnable for partial delete + spawnable.SpawnedByMe = false; // Prevent telling GS about delete + spawnable.instanceId = null; // Prevent OnDestroy from recycling our new prop data later in frame + + // Destroy the prop + oldData.Recycle(); + + // Add our new prop data to sync helper + CVRSyncHelper.Props.Add(newData); + newData.CanFireDecommissionEvents = true; + + // Do mega jank + CVREncryptionRouter router = null; + string filePath = CacheManager.Instance.GetCachePath(newData.ContentMetadata.AssetId, ourTask.FileId); + if (!string.IsNullOrEmpty(filePath)) router = new CVREncryptionRouter(filePath, newData.ContentMetadata); + + PropQueueSystem.Instance.AddCoroutine( + CoroutineUtil.RunThrowingIterator( + CVRObjectLoader.Instance.InstantiateSpawnableFromBundle( + newData.ContentMetadata.AssetId, + newData.ContentMetadata.FileHash, + newData.InstanceId, + router, + newData.ContentMetadata.TagsData, + newData.ContentMetadata.CompatibilityVersion, + string.Empty, + newData.SpawnedBy), + Debug.LogError + ) + ); + + // Update backing selected prop data + _currentSelectedPropData = newData; + } +} \ No newline at end of file diff --git a/PropsButBetter/PropsButBetter/UIElements/ContentDisplay.cs b/PropsButBetter/PropsButBetter/UIElements/ContentDisplay.cs new file mode 100644 index 0000000..9bc8205 --- /dev/null +++ b/PropsButBetter/PropsButBetter/UIElements/ContentDisplay.cs @@ -0,0 +1,119 @@ +using System.Text; +using ABI_RC.Core; +using ABI_RC.Core.EventSystem; +using ABI_RC.Systems.UI.UILib.UIObjects; +using ABI_RC.Systems.UI.UILib.UIObjects.Components; +using ABI_RC.Systems.UI.UILib.UIObjects.Objects; + +namespace NAK.PropsButBetter; + +public class ContentDisplay +{ + private readonly CustomElement _element; + private readonly CustomEngineOnFunction _updateFunction; + + public ContentDisplay(Category parentCategory) + { + _element = new CustomElement( + """{"t": "div", "c": "col-12", "a":{"id":"CVRUI-QMUI-Custom-[UUID]"}}""", + ElementType.InCategoryElement, + parentCategory: parentCategory + ); + parentCategory.AddCustomElement(_element); + + _updateFunction = new CustomEngineOnFunction( + "updateContentDisplay", + """ + var elem = document.getElementById(elementId); + if(elem) { + elem.innerHTML = htmlContent; + } + """, + new Parameter("elementId", typeof(string), true, false), + new Parameter("htmlContent", typeof(string), true, false) + ); + + _element.AddEngineOnFunction(_updateFunction); + } + + public void SetContent(AssetManagement.UgcMetadata metadata, string imageUrl = "") + { + StringBuilder tagsBuilder = new StringBuilder(); + + void AddTag(bool condition, string tagName) + { + if (condition) + { + tagsBuilder.Append( + $"" + + $"{tagName}" + ); + } + } + + AddTag(metadata.TagsData.Gore, "Gore"); + AddTag(metadata.TagsData.Horror, "Horror"); + AddTag(metadata.TagsData.Jumpscare, "Jumpscare"); + AddTag(metadata.TagsData.Explicit, "Explicit"); + AddTag(metadata.TagsData.Suggestive, "Suggestive"); + AddTag(metadata.TagsData.Violence, "Violence"); + AddTag(metadata.TagsData.FlashingEffects, "Flashing Effects"); + AddTag(metadata.TagsData.LoudAudio, "Loud Audio"); + AddTag(metadata.TagsData.ScreenEffects, "Screen Effects"); + AddTag(metadata.TagsData.LongRangeAudio, "Long Range Audio"); + + if (tagsBuilder.Length == 0) + { + tagsBuilder.Append( + "No Tags" + ); + } + + string htmlContent = $@" +
+
+ + +
+ +
+
+ Tags: +
+ {tagsBuilder} +
+
+ +
+ File Size: + + {CVRTools.HumanReadableFilesize(metadata.FileSize)} + +
+
+
"; + + if (!RootLogic.Instance.IsOnMainThread()) + RootLogic.Instance.MainThreadQueue.Enqueue(() => _updateFunction.TriggerEvent(_element.ElementID, htmlContent)); + else + _updateFunction.TriggerEvent(_element.ElementID, htmlContent); + } +} \ No newline at end of file diff --git a/PropsButBetter/PropsButBetter/UIElements/GlobalButton.cs b/PropsButBetter/PropsButBetter/UIElements/GlobalButton.cs new file mode 100644 index 0000000..3880239 --- /dev/null +++ b/PropsButBetter/PropsButBetter/UIElements/GlobalButton.cs @@ -0,0 +1,51 @@ +using ABI_RC.Core.InteractionSystem; +using ABI_RC.Systems.UI.UILib.UIObjects.Components; + +namespace NAK.PropsButBetter; + +public class GlobalButton +{ + private static readonly Dictionary _buttonsByElementId = new(); + + private readonly CustomElement _element; + + public event Action OnPress; + + public bool Disabled + { + get => _element.Disabled; + set => _element.Disabled = value; + } + + public static void ListenForQM() + { + CVR_MenuManager.Instance.cohtmlView.View.BindCall("GlobalButton-Click", (Action)HandleButtonClick); + } + + public GlobalButton(string iconName, string tooltip, int x, int y, int width = 80, int height = 80) + { + _element = new CustomElement( + $$$"""{"c": "whatever-i-want", "s": [{"c": "icon", "a": {"style": "background-image: url('UILib/Images/{{{iconName}}}.png'); background-size: contain; background-repeat: no-repeat; width: 100%; height: 100%;"}}], "x": "GlobalButton-Click", "a": {"id": "CVRUI-QMUI-Custom-[UUID]", "style": "position: absolute; left: {{{x}}}px; top: {{{y}}}px; width: {{{width}}}px; height: {{{height}}}px; margin: 0;", "data-tooltip": "{{{tooltip}}}"}}""", + ElementType.GlobalElement + ); + _element.AddAction("GlobalButton-Click", "engine.call(\"GlobalButton-Click\", e.currentTarget.id);"); + _element.OnElementGenerated += OnElementGenerated; + } + + private void OnElementGenerated() + { + _buttonsByElementId[_element.ElementID] = this; + } + + private static void HandleButtonClick(string elementId) + { + if (_buttonsByElementId.TryGetValue(elementId, out GlobalButton button)) + button.OnPress?.Invoke(); + } + + public void Delete() + { + _buttonsByElementId.Remove(_element.ElementID); + _element.Delete(); + } +} \ No newline at end of file diff --git a/PropsButBetter/PropsButBetter/UIElements/PropListEntry.cs b/PropsButBetter/PropsButBetter/UIElements/PropListEntry.cs new file mode 100644 index 0000000..1fcb509 --- /dev/null +++ b/PropsButBetter/PropsButBetter/UIElements/PropListEntry.cs @@ -0,0 +1,256 @@ +using ABI_RC.Core; +using ABI_RC.Core.InteractionSystem; +using ABI_RC.Core.IO; +using ABI_RC.Core.Util; +using ABI_RC.Systems.UI.UILib.UIObjects; +using ABI_RC.Systems.UI.UILib.UIObjects.Components; +using ABI_RC.Systems.UI.UILib.UIObjects.Objects; + +namespace NAK.PropsButBetter; + +public class PropListEntry +{ + private readonly CustomElement _element; + private readonly CustomEngineOnFunction _updateFunction; + private readonly CustomEngineOnFunction _setChildIndexFunction; + private CancellationTokenSource _cts; + + private readonly string _instanceId; + private readonly string _propId; + private readonly string _propName; + private readonly string _spawnerUsername; + private string _currentImageUrl; + private int _childIndex; + private bool _isDestroyed; + + // Used to track if this entry is still needed or not by QuickMenuPropList + internal int LastUpdatedCycle; + + public PropListEntry(string instanceId, string contentId, string propName, string spawnerUsername, Category parentCategory) + { + _instanceId = instanceId; + _propId = contentId; + _propName = propName; + _spawnerUsername = spawnerUsername; + _currentImageUrl = string.Empty; + _isDestroyed = false; + _cts = new CancellationTokenSource(); + + _element = new CustomElement( + """{"t": "div", "c": "col-6", "a":{"id":"CVRUI-QMUI-Custom-[UUID]"}}""", + ElementType.InCategoryElement, + parentCategory: parentCategory + ); + + _updateFunction = new CustomEngineOnFunction( + "updatePropListEntry", + """ + var elem = document.getElementById(elementId); + if(elem) { + elem.innerHTML = htmlContent; + } + """, + new Parameter("elementId", typeof(string), true, false), + new Parameter("htmlContent", typeof(string), true, false) + ); + + _setChildIndexFunction = new CustomEngineOnFunction( + "setPropListEntryIndex", + """ + var elem = document.getElementById(elementId2); + if(elem && elem.parentNode) { + var parent = elem.parentNode; + var children = Array.from(parent.children); + if(index < children.length && children[index] !== elem) { + parent.insertBefore(elem, children[index]); + } else if(index >= children.length) { + parent.appendChild(elem); + } + } + """, + new Parameter("elementId2", typeof(string), true, false), + new Parameter("index", typeof(int), true, false) + ); + + _element.AddEngineOnFunction(_updateFunction); + _element.AddEngineOnFunction(_setChildIndexFunction); + _element.OnElementGenerated += UpdateDisplay; + parentCategory.AddCustomElement(_element); + + FetchImageAsync(contentId); + } + + private async void FetchImageAsync(string contentId) + { + try + { + var response = await PedestalInfoBatchProcessor.QueuePedestalInfoRequest(PedestalType.Prop, contentId); + + if (_cts.IsCancellationRequested) return; + + string imageUrl = ImageCache.QueueProcessImage(response.ImageUrl, fallback: response.ImageUrl); + SetImage(imageUrl); + } + catch (OperationCanceledException) { } + catch (Exception) { } + } + + public void SetImage(string imageUrl) + { + _currentImageUrl = imageUrl; + UpdateDisplay(); + } + + public void SetIsDestroyed(bool isDestroyed) + { + if (_isDestroyed != isDestroyed) + { + _isDestroyed = isDestroyed; + UpdateDisplay(); + } + } + + public void SetChildIndexIfNeeded(int index) + { + if (_childIndex == index) return; + _childIndex = index; + + if (!RootLogic.Instance.IsOnMainThread()) + RootLogic.Instance.MainThreadQueue.Enqueue(() => _setChildIndexFunction.TriggerEvent(_element.ElementID, index)); + else + _setChildIndexFunction.TriggerEvent(_element.ElementID, index); + } + + public void Destroy() + { + _cts?.Cancel(); + _cts?.Dispose(); + _cts = null; + _element.Delete(); + } + + private void UpdateDisplay() + { + const int rowHeight = 160; + const int imageSize = rowHeight - 32; + + string dimStyle = _isDestroyed ? "opacity: 0.4; filter: grayscale(0.6);" : ""; + string tooltipSuffix = _isDestroyed ? " (Despawned)" : ""; + + string imageHtml = $@" + + "; + + string htmlContent = $@" +
+ +
+
+ {imageHtml} +
+
+ +
+ +
+ {_propName} +
+ +
+ Spawned By {_spawnerUsername} +
+ +
+
"; + + if (!RootLogic.Instance.IsOnMainThread()) + RootLogic.Instance.MainThreadQueue.Enqueue(() => _updateFunction.TriggerEvent(_element.ElementID, htmlContent)); + else + _updateFunction.TriggerEvent(_element.ElementID, htmlContent); + } + + public static void ListenForQM() + { + CVR_MenuManager.Instance.cohtmlView.View.BindCall("PropListEntry-Selected", OnSelect); + } + + private static void OnSelect(string instanceId, string propId, bool isDestroyed) + { + // If the prop is destroyed, open the details page + if (isDestroyed) + { + ViewManager.Instance.GetPropDetails(propId); + return; + } + + // Otherwise show the live prop info + var propData = CVRSyncHelper.Props.Find(prop => prop.InstanceId == instanceId); + QuickMenuPropSelect.ShowInfo(propData); + } +} \ No newline at end of file diff --git a/PropsButBetter/PropsButBetter/UIElements/UndoRedoButtons.cs b/PropsButBetter/PropsButBetter/UIElements/UndoRedoButtons.cs new file mode 100644 index 0000000..d194cef --- /dev/null +++ b/PropsButBetter/PropsButBetter/UIElements/UndoRedoButtons.cs @@ -0,0 +1,132 @@ +using ABI_RC.Core.InteractionSystem; +using ABI_RC.Systems.UI.UILib; + +namespace NAK.PropsButBetter; + +public class UndoRedoButtons +{ + private const string UndoButtonId = "PropsButBetter-UndoButton"; + private const string RedoButtonId = "PropsButBetter-RedoButton"; + + public event Action OnUndo; + public event Action OnRedo; + + private static UndoRedoButtons _instance; + + public static void ListenForButtons() + { + CVR_MenuManager.Instance.cohtmlView.View.BindCall("UndoRedoButtons-Undo", (Action)HandleUndoStatic); + CVR_MenuManager.Instance.cohtmlView.View.BindCall("UndoRedoButtons-Redo", (Action)HandleRedoStatic); + } + + public UndoRedoButtons() + { + _instance = this; + QuickMenuAPI.OnMenuGenerated += OnMenuGenerate; + if (CVR_MenuManager.IsReadyStatic) GenerateCohtml(); + } + + private void OnMenuGenerate(CVR_MenuManager _) + => GenerateCohtml(); + + private void GenerateCohtml() + { + string script = $@" +(function() {{ + var root = document.getElementById('CVRUI-QMUI-Root'); + if (!root) return; + + // Remove existing buttons if they exist + var existingUndo = document.getElementById('{UndoButtonId}'); + if (existingUndo) existingUndo.remove(); + var existingRedo = document.getElementById('{RedoButtonId}'); + if (existingRedo) existingRedo.remove(); + + // Create undo button + var undoButton = document.createElement('div'); + undoButton.id = '{UndoButtonId}'; + undoButton.className = 'button'; + undoButton.setAttribute('data-tooltip', 'Undo last Prop spawn.'); + undoButton.setAttribute('onclick', ""engine.call('UndoRedoButtons-Undo');""); + undoButton.style.cssText = 'position: absolute; left: 900px; top: 25px; width: 140px; height: 140px; margin: 0; z-index: 9999; cursor: pointer;'; + + var undoIcon = document.createElement('div'); + undoIcon.style.cssText = 'background-image: url(""UILib/Images/PropsButBetter/PropsButBetter-undo.png""); background-size: contain; background-repeat: no-repeat; width: 100%; height: 100%; pointer-events: none;'; + undoButton.appendChild(undoIcon); + + // Create redo button + var redoButton = document.createElement('div'); + redoButton.id = '{RedoButtonId}'; + redoButton.className = 'button'; + redoButton.setAttribute('data-tooltip', 'Redo last Prop spawn.'); + redoButton.setAttribute('onclick', ""engine.call('UndoRedoButtons-Redo');""); + redoButton.style.cssText = 'position: absolute; left: 1060px; top: 25px; width: 140px; height: 140px; margin: 0; z-index: 9999; cursor: pointer;'; + + var redoIcon = document.createElement('div'); + redoIcon.style.cssText = 'background-image: url(""UILib/Images/PropsButBetter/PropsButBetter-redo.png""); background-size: contain; background-repeat: no-repeat; width: 100%; height: 100%; pointer-events: none;'; + redoButton.appendChild(redoIcon); + + // Append to root + root.appendChild(undoButton); + root.appendChild(redoButton); +}})(); +"; + CVR_MenuManager.Instance.cohtmlView.View._view.ExecuteScript(script); + SetUndoHidden(true); + SetRedoHidden(true); + } + + private static void HandleUndoStatic() + { + _instance?.OnUndo?.Invoke(); + } + + private static void HandleRedoStatic() + { + _instance?.OnRedo?.Invoke(); + } + + private bool _isUndoDisabled; + public void SetUndoDisabled(bool disabled) + { + if (_isUndoDisabled == disabled) return; + _isUndoDisabled = disabled; + if (!CVR_MenuManager.IsReadyStatic) return; + CVR_MenuManager.Instance.cohtmlView.View.InternalView.TriggerEvent("CVRUI-QMUI-SetDisabled", UndoButtonId, disabled); + } + + private bool _isRedoDisabled; + public void SetRedoDisabled(bool disabled) + { + if (_isRedoDisabled == disabled) return; + _isRedoDisabled = disabled; + if (!CVR_MenuManager.IsReadyStatic) return; + CVR_MenuManager.Instance.cohtmlView.View.InternalView.TriggerEvent("CVRUI-QMUI-SetDisabled", RedoButtonId, disabled); + } + + private bool _isUndoHidden; + public void SetUndoHidden(bool hidden) + { + if (_isUndoHidden == hidden) return; + _isUndoHidden = hidden; + if (!CVR_MenuManager.IsReadyStatic) return; + CVR_MenuManager.Instance.cohtmlView.View.InternalView.TriggerEvent("CVRUI-QMUI-SetHidden", UndoButtonId, hidden); + } + + private bool _isRedoHidden; + public void SetRedoHidden(bool hidden) + { + if (_isRedoHidden == hidden) return; + _isRedoHidden = hidden; + if (!CVR_MenuManager.IsReadyStatic) return; + CVR_MenuManager.Instance.cohtmlView.View.InternalView.TriggerEvent("CVRUI-QMUI-SetHidden", RedoButtonId, hidden); + } + + public void Cleanup() + { + QuickMenuAPI.OnMenuGenerated -= OnMenuGenerate; + if (!CVR_MenuManager.IsReadyStatic) return; + CVR_MenuManager.Instance.cohtmlView.View.InternalView.TriggerEvent("CVRUI-QMUI-DeleteElement", UndoButtonId); + CVR_MenuManager.Instance.cohtmlView.View.InternalView.TriggerEvent("CVRUI-QMUI-DeleteElement", RedoButtonId); + } +} \ No newline at end of file diff --git a/PropsButBetter/README.md b/PropsButBetter/README.md new file mode 100644 index 0000000..83db097 --- /dev/null +++ b/PropsButBetter/README.md @@ -0,0 +1,31 @@ +# PropsButBetter + +Prop quality-of-life suite. Adds a few new ways to interact with and manage Props. + +### Whats included: + +- **A unified Prop List** + - Browse All Props, Your Props, or Session history in a clean, cyclable list. +- **Smarter Prop Selection** + - Clicking a Prop opens the Quick Menu with quick actions and useful info. +- **Undo / Redo for Props** + - Fix mistakes instantly without having to clear all. + - Desktop: CTRL+Z / CTRL+SHIFT+Z + - VR: Dedicated Undo / Redo buttons in the Props Quick Menu tab. +- **Subtle Prop SFX** + - Clean audio feedback when Props are spawned, removed, or respawned by you. +- **Placement Visualizer** + - Preview props before you've placed them while in Prop Select mode. + +-# Desktop undo/redo keybinds, Prop SFX, and placement visualizer are configurable in Melon Preferences. + +--- + +Here is the block of text where I tell you this mod is not affiliated or endorsed by ABI. +https://documentation.abinteractive.net/official/legal/tos/#7-modding-our-games + +> This mod is an independent creation and is not affiliated with, supported by or approved by Alpha Blend Interactive. + +> Use of this mod is done so at the user's own risk and the creator cannot be held responsible for any issues arising from its use. + +> To the best of my knowledge, I have adhered to the Modding Guidelines established by Alpha Blend Interactive. \ No newline at end of file diff --git a/PropsButBetter/Resources/SFX/sfx_deny.wav b/PropsButBetter/Resources/SFX/sfx_deny.wav new file mode 100644 index 0000000000000000000000000000000000000000..0a8b4ba9ff7fe4d682e9d1e0e8eb77df657b446c GIT binary patch literal 12496 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 KC1da!ZTueu5~L3R literal 0 HcmV?d00001 diff --git a/PropsButBetter/Resources/SFX/sfx_spawn.wav b/PropsButBetter/Resources/SFX/sfx_spawn.wav new file mode 100644 index 0000000000000000000000000000000000000000..ab2aef3a61ba7d8f3c7eafbd8bbf1b03acc15c23 GIT binary patch literal 15476 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 literal 0 HcmV?d00001 diff --git a/PropsButBetter/Resources/SFX/sfx_warn.wav b/PropsButBetter/Resources/SFX/sfx_warn.wav new file mode 100644 index 0000000000000000000000000000000000000000..8e96b57b77ff156ad0cf83d22689dbae31fc6c88 GIT binary patch literal 12684 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

cNnw)kn%~ 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

fwIN=Ej@<_X1Q$^2KnC9PTWVcFM0z$)T%W;aIHV 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

tV}`RO>%h+ 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%0A~k1%tkMm^#&Qe%}JJCMt8XC zbTGQ;r2oICn>KyW&M<eUP=v8BC`+|5{=kke`Ln_qAWWA zz0L7hpRU05?KV8VF^C5@uHeDVVcfkrg6qcv*xu;D#ML_KIG7P1CgB*1qXBvy=Tm6y zuvtRsYH)_mMFWRFKJ}2RW`q^Ln20!`sm-zat@9@RvKgAcHe~T}^_zquw^;3NQ z#kctQlP?4yUcCGe&tJUJ^z4m%)~8Qi;mP9{c=Yf&9^8L|dv_n>-t9-Yd+VX-`i(od zcKtR^uiwVe=}jD8JH`I-5q6LEuzk3Tjoo#u?XF>Edj-o|%UIf2!Q%Qd7S@(9v$}x! zjb+SkEMZ2$#QFlJsI?{0+%B))mF2&N$(;>MY_H48q8G?@P0%ZdRYt;jt1xh&$YSSk$NL7Fp7--A$YFlO5 zGpnArc_nUdsVhrfU7@ST^LYsl%9*e^8fGoqp6!`s%(TBhSpJwE9**qjXynJoqa-a2 zrD@qHNzX%hPLUNF2o5Cz3Un3}FqCEGp&%s#*)bgYlPGPW=`bV*1<92$lk`+bLalTg z!c88CFzXRXNFX41nGow^L7cCrDAv~mD$dU=iue8hxO?xgDzbIm7u%e3&Jj@%3!L@J&%bDML{wpqJZ_gcMnI(wgR?|Yy3t2rhGYVWo0 z*}e8X_mB4(RimnAD0t@gt1k_0`De2hH1K?)XPe|kARL&tXo7w%n~E%3HA6od>}Hy0 zfQDTecLISj`f6Km@Ri}`Xx_FZ`n7KjtB!3&+_q@fO6Dv(w1Hkc_K7;QgJs9|m1Nb4 zl_{DAcIpVFL7h8caHmeN>D*al-K8_EyL7~$t{pM3YiA7T(n-2H@_P1MP^FYicI?%@ zEqZrs59TfOY~L0gS~QhTd@PBp&J`66#zW-R z80Rnu&Rja#qCHHzHbsY4bNs5Vz2ZEh^5q<4Y9P`^PVG;Z1i?b@|N z|NfSew-6scQ{3~}+1bd;D-e%C*}9EbU$z;WHf|FGOb@~KZ3Kk9*u85%_U%0+Px=G_ zKJ_0ucnn96oWSv8r*Y!@vz2u6#5o-Q{tS*CKaG>8e!vgsui)aP>!M4SZsE$6JGgM+ zhEeCwUx(6#3%5XBJbwolez=YE=WgNLnHxBL@~XhYv7_hk-I22b5cEzQ+dxO;4F8nz3L$sOhN;6(nM2T9S;@ z7RJZMVdnH1h>MHEthjj0 zo-q}3rcXt}v?)j+JWQXA_-Qekrbl7cj7U-Z%m`4%90sFjp+S9gu3xW`#E3Uw?*Qg0 z)RTC)3QcsXTgwOx1O-)wC+9U`!lTx6KmmgS1#M);z2>>#`-_Ld;9<~~zHTZN3udib zqgN}cmGn(u$3P}54mCH&5R3k>>t_vz0k#4R!)@$95f+Bo48@3{4sfD(p}#e3`dY%O zM=uQ+O#8s1b7%Bz-yUY|TBBF%7BFquT%>oeo3?BUrQWTYfii2|TvMB-=*{LktsBFv zO;e-#v~G&NZJLS9S~WqRmQB#NRa2O^ZU)QN&0*E1g{VI}AhvBK2HvurX3VYHw-LkN zzk>k)+8T_1yVjcVH=M`o2nz&){+-%kV3!UU(7C-_%Q*rB=dHVSl4IQFyn+j!JAl`8 z>0}g*J~gOY7g%@IWZS(Ps3ASNi-z{>0m`mdPmyhp?ik#oo5;F*SGm@zYbRKC>4<(^ zI$}VNu3#v_v_m`eGKh=mv}{-p^#}@lLT4C4J*jhBe#9A$sQ59b;r+zB@P9x^f}dGF z`zOFaV?)Eul_*=_s~SyVQiCfknxI+@6R>+>jT&E}x=C%+tkxK{t2dLzOZ93rlEzQ< zYMY=zotk0*YnU{Z^&uoB?SkESNg(9onF8kp3Q zH7M$^-$gae+d`O=rK4TU_co7?&wJ)5D)@Ro%{i(Pti+oUI2mPxwDsW{)a1-bm9C} zQ0FgP#g)sqar4%F+`aPzw{Jhjo!gIb_wG~NqwYP!gZs~M|Ne6sIe+KYQ{2A!1b1#d z$L*WXaO=iX+_?4_S1&)nr3<$W5OG616UsYr=JX|;Jb4MnkDtTQqi1pC$SE8+_#O5g zIErugAJO#fci6l4h=fPzmC$k}c4N!No!C^q9UIENM)|s}*syjB)|YNUN#RBm7nN(d z7zL%8HzGF=t5&VT@|DZ5V#P8nS+*F9b271bNrosZCtW}yjR}}($yl&3$p{jJiTMlW zVg7T8Hn3s`?`I!sF8!#(91+z0WPXWUR1O*8pq$MFf zJ@t#wKscD4nJAi*kqAx6n3ItV!h)t0@crg4)TE#xA!$BlC(gl~6eYsXY|J$PL&BVy zNSLhwgFr+43?#%&mjqb>h4@*R9X|^RGiG4!jAi2geqE9NnDRR4Lk}vJuSS9Z;Xozl>AeTai@-URg-=jm-h|dL zs;RN8QmQ0aX34$`&0C^ZtG1HIV9~LQz{22OW)fbovm6LJtHH4EZv)4HLom#m;fbLF z4Fm_mg2RBpP>UK3;i5);Eilm3OyI$)TQ~IU(iwd_b`TE+6CepDjKfpPRj**7SL

&Z6F(+sFbq%vosPya}2&s*lF?YNJuTx?;>!DVzFn<`1{(yPzLA zug>|>sK2&qZN2^)b)J6ikJ#q>RF$#9qgqWd+|{bp*T%2dZLlJ1U$&)lAQvgBhZ@!D zpeEOVs9sA8H`J(!uVj@(t_i`{VyL5<24FhylJ^&nOhp^$ie$w9{k(<$$bGAPFDkqA zRq`N>FuyxtlF(Fxt+A_X;3FZHYBi;;HCtP=#dV$Pby25!ZRu@ctV%Jd4mPH$@fE`m zn%GoHfJuLkRI+N7zmxh-l|Qfcx8(n%`rl&mDA$1CQq~RXH<5k{ga?8F%OM7i-?UDO$H~iB6q5VbGvK2n-BFa&odHFRoi#hHYDSVkg53JN97T zo&z{^;3$qB`W`2bpT+4D7jW+MWt=~I6_?K6z~u`!apmGI(dA1waOLt%T)TQ3*RS2d zjq7(s+@@~bd?;{m|BeO&j~~3kP;`W1AmBvT+U*h5Ym*Du|-jBF<=Q-}) zekK4xh!Bvt^$0hvJ;b%Eck#my*F@*eUB%gRmvH9HWt={90jEw~#HrKgapL4Te1GDs z01v^3IT7@VXrU5@G!98##IA3?#g6TJBE0TZvVxmtn=q94udvjit*nk+UQd1c&s@RHUXYz{2!YWM*Yx(c(;`Wh@k> zFV4WiMQKRON(Z-O2~H1pvyx5AEFpN;LS6<}~)bU}x4-<~b_yJcqufBA!F3 zeYwt}Hyka^;b36_Cxe_V`hgl@VTqCbtT1N4AdDGgjd6o*FwWK%u0w`k><}(bZ7Ui+ zU;su89Ejlqt+dy&>H`O>KCrbg#Q@W;=-<05%(}Ei*LE$?zEv}{Y|;>o>ed2#5O6Uj zCIx;D82Cf2hXr*G=hct7e$@Z4>#tKyd8%Hg&ey-jAF-|8=gVVt2gTVU0ZhK`~k zRm&$UgY)Irtqdwvzni+Q>ii$QuijT1)pw^MuaMRN$?$!vvrj@zU0G^nW38EYpRD@wV1b4M;20J@@1n&4bXy1RWsygV}sDpPzgt{+M%>$9lqYO1G{$a z6<9cO=on5MKaEr0pTn7x=LHrnoVzBVaP`t{T)TV+*RR|aDNwk1;~s9^ypP+r9*DS2 z5fmQY`%%E)>7zGz{^VUHJ$w8X6p!geprD>VdyA(}UgOE*S9tXBM?8G+0{8Dd!)-#t z_4~MT^_J-Jm75akxNz~Bcr+OPIQPS4oH>0#L@x+EBi|oCgJa*Fk}wM4L7z;?kP8zk z8GcdPwq-ZAZ`y@zn|5I9hHcoeelymu+h{ENEX*%JeqJteb5~(??sBZoT_#$!dMQ?} zT7o6ZaXgCj-`wS%*bEt~`z z`op%L1qPb+hGowluIjRD9kqp$I(Ia}0#{q)(?3O6ubK6jAN|_!PRCk#t*fHo81tMcNi*iwI2d^M@LL>a)O(q9mWo|fs3s* zM%fI4)1ZDB(yuoL^<}wSNA&2}8XeoTKE)Wia^Ce$~&W&Z|2ANAIim z)kdu>kp{k^0TP$oX4_~sLDB#~c^uUDSEJkqfvAe}EF3&8pm6T=Mf`B)5-yy(f=lPG;mXAuxPIj} zZeF{KTi5U5_Ko|RZau)A+YfQ??ql4)_rxgfQ-lBl!HcKw@$&gcyn69dCB1yk`SYe{;n~wSc>L(4Km)@Xw{AVc&6^K#{O)XEWpC-BrMEMLF(dUEL@a|w5)~V)u3l1ZBeEuV-dX}X(G)7 zvH%RJEJ#h1z7`A9l9864VifnO)CGy61u64Er6kW2B`3|r0s|M~W#aQG-lAD?W+W<88<_n{W1u(vdY zUB8~N*U8SJ2kgvyiX1I^!Kt4qXzVK+d!q}nKGL9PDAJk~uff#2uSmtv>U=fUWoJl()SP}Kcqs40 z=M2RkJy+EbRo&N@8~)z59wd~(V4HH-^CCrP@Wa#O{oeD zmF|JT>%wc4M}pTW@mvKA+I_9;QBdDgeU2}UJdei|EGRHl|D${#0z=Ijbp-^N_^3(q zGALl+oB{@hFcdKGf0eJr|6!I@_U&r{S64U8o;?SvR^gA>qOOr+D=6IUYZHVHEf24WLIs!NThwf5w}a ze-gcY^$VysFMs-75f*-Y@m_#|(4fG99tXa@=-R=hC`-+Z%U z7q)-B4O_Ns!RF1Iv1!vLY}~jJ<>h5qzkVIoZz$JPz7gdcH(R=&}=Usk>z z>&nVeTDA@)YuBN8Z3zmC2^0AO7`b_Cq%@Rep*hP}AbZ(zWGz{WtR*>El#?wUiHw{@ z$XJqLP&%@579uNWfniL?;_M7fix(j~J4^ahuvbO);zd}Tm1$JgqBMvWrz6WCHpyah ztc=W50S5xZqRfTJ%t$pVBb|-CQYw_1h|JU^QO1Hqq^Hakr6teNz#%CfsXCdku}%*| zlN~1hQL5<CtyIYUKrfR91JTE7U(e`2oMOyIt|14;UnNa zaunP~jFfFx=izW0F&wVW!!T}`6UI0?V6=lhM%fV@tl>Cl02~JPhh2Y547Id?twmo9 z>DxzS*S9YyhrVVaJ99HojMdxs>nm<|$Nqic*xyX#VAUH+gb0Uzn)sxzp7!}vPXM6N z=TkhTp7d$_m9clR82}}{p;y~RgFn<-pupA97UP|Ufa6&E!6NQ^47ZngZtLYXY$zyq zXFIqK8;bGHc5olz0IyL_nnpOn)7c&#!|dQQ!U+>c4TF!1GbWDKG{I#UJV!afW8^T5 zx3`CfgM*BtZEVC_;XKd^wiafvGVLZMl$}~PMT^Gu(YQfvNz`NcpVmC+EBUchKfY>I zKg#-19pk9rfun*0HK#w1+x(&buLK5Vn7%w#53XZtFu5d@UvMP}Hg;D^>Qh7ywU?iI_VlNqQ`7 z-mp!coM{XXA2^2ZzdKzC7_MHvfooT8;^y@`xP9{;?%sZYdv_ihfq}5_@WC?)7tn|+ z(F?#_1qnes{(v8!{)Cs$euf?z2oLXGEB%CbuRoRYFc2J+2oO)7zQLnMFY$mOiu=zi zz=5HP8xL^h`aN8|dROusu3x(+;R}W^xJ`HQQ_+2~;@C*8AWA9nBFEBfY}-PpNv7q)HRiS0YS z!H%7KWZb@Ew{hgLZQHeTzTWl?wtl@Go42r%V=Fdn+=}uI?0mT%W$V^r?b>1#6%`;q zKVOnmnRK~wRY=ZVES)u%EnT>rWn+_H>}Of z#3L}&sy`grXWe#)zyd)*1A~$9bQz5aqsPE&%vhs*$Gc+UIPQ;zr^_g~j~pTJ;9@@% z!)*s+#1I>S2PeYA04q3H_7gew>jx)GOE_8d6*1N?va*0v|9)^9V2)t}E#NX_AY6v@ z$0%DXqej|TV$@(weA3q&deG* z54Yj=@EqYFMqiC${6{;(+hE+ePb1Hf2A}g@qn+X5;)DrfoZ&NWB>de*BhYO$0>-<* zZ_EhzjvfyGu_NKfW3Hp%>pDu#^BOxGo})Erpod|Cvok!LoG{jIs39C-g~1lR(XVG0 z2}QJR(F9Ez)!?R|Z}g75%6`M|ltQbNX}j+kcb+{NI1w z{}?bR1FOK{-+O;`52~K`rTMDo{b%p1_f?}ZtXVms`Z83&g7&@S zJF(Md4SLb)$aiJZBv+~&IKT!Iz5S7tm@0h;)|YOQ`&b@}2I zT)lh^*RS5fts8d*8t&Y>4|*D?yLTQ*7=l#}%rOv9c=S>d8JX1h!OG<;uyTb~t+8U|60BUc6wIGcxfH8cEQY2W zVZnoprOM{NZ0uY1<<+;#% zBeE7PL{3&JvNKXZSjfp-AlnKUIO;tP1P2qw?Im{KnXdl|sri1LI!W&Xt1ex{uxmzL zGxjw81ABDFfSx+_=!$_oyJ1kT?nYUg_Q2rYrm!*V{fTV*n8_SRick1_(jVHdAM7kG zHTAcG{eb>(96SilLu@e0!46}GIm4A6g;6f>a2X9xg2LEwm^gkMeBH;x-_sod6FfxR z_H}o~#PMU{%~jmSjKcVl&KT?LC>rf#4+6wUzP8O^k;~x0;1jc}ot-9oEq3qfFcj1{ zCp(Pele@EBCGn~KbK(>Ggy9b2)~9QqE__P4`MpOvgPJ&McqRFc9tq0FWke;(+~|>* zICcbRz`e%|myw3w*Ud$YzZ(7AN5gNti_CN6et`QJ_eQ}|nl-diO6jvuqjId6KjO;xs~_~L220JWvFh>v^Y(uq7?c64 zI#w9M|9^NGl<}ky7S-kxISp(*X}Mhet2&0zLtT7TO^IcxYPCoW7?ejsjYbcIAqkTA zQNe(Wy3mI5O6cK3c@CJ=NTXh#of+%0jX6UP%uCQdrv?l4j7g3B>^!Da0Tis1s7TV( zK3^^IM6_w$5muJg@Nl1qgxQH$xgrlGg=NyFnXY!a-H#kRF2?ZeDGeAdp1*`k7cSz; zrK`Ah;Ju?buX<3h4+VQtP^xm{yJM$t^t+Ry!$-cy!9&Ne|G-h~qsL+&t2Yi{ z*UoRSYx_3r*t!J*4(rRXer*X#m@iROP-(4=+|^pbW$v2gpw{FqL*D8oqWs+Dpz>BN z$C{PPkh@~JC~w6oXj*~16)TXpa+yI(k+*Uw)~r~ngA9U(Ca&qB*7YDrEL+a%kj0`U zOS6!(Gz&|XF2a(<3z40fBwCV{BG90KVbMY@L{Z7ZVA-_`th#j-_3z#dl-lPpt>-~E zX_jQ&vnK{KEMSneX)g@!-4lb&x*KI<)(f^Quj|{pl7^c1g`I^t?E6_5#eMZe&(YD! zQl9epwC`+fE%^q_IiQ9QwZ%yLp&0Gt0M`+GG9HZy^dyWOC-NTW3ZL`Qf_=ct!vT%Ko0`k_8T(_{$pJbFmAMn+f=aII0TI!D++WS z10~J{QXZ}X06ybK$ww3E)z-t@=JjY_9%P5iOaA&yK4G~zd?rSEn(7AO>sfuV=m+Kaopc+g4RI6q7 z2arAtnsEJ3e=0tGc1A>fm$3I1ewCDgNDM} z%OCURrbu@~uJyom9S98j_Z}8E`*(*=;Nb+4fp1(0BJ2K&sp$O$&pf`az z4AiZ=PYim7TX&z~=AEaaJ9nPp_U)%eXdo;Q6gYqPt_BneAP5hHhO1Za8^J+&A(;EX zFvcgk$i`APjom8GpS=$12X?MJbw$D)>_b6G+2`4d(!h!p94z~!2oo&*BwP?66g(Va z4~aeOiSZ3~?_itlE!eto1IpL4C3lG=R~8oJBEMiY^7B?=P2LJoZa&9l8ZZzVs5L7L zV!Llb!wON}s@2F_wbG#F$X~S_d8?Npf0d@9HLFmV%i|ho5Exc1%Mot_y$oCgOhOe) z79l$)Q$%k=mgGvLV`+BU?*fA!7R19a$jlVKCrJV{?IlnCMx$=oPmDjk0S=btu(L9U zeSZs)!+?Hp9B2urK~@G0z%c89a2`Ae!)>f(kgpfK-RX_cJP%%DT;M)(INXL06HOQ~9Nwcw!fWIR zF^E2+T|jZpbJPe-a2W}&u_NI#&gFL{M%`fCgJ}E>3U+q|734M^!R~Gd@o@h{oDZAe ziBL}uIi}9zez?~JM0k55Y@#PZeLNB7I|1Q-UPf`BiVE~GDl%XqswzBS0>Xp65gpfq^Js0t3uLm))x;ep!tVp22Kv4R>`U=EU{Kf6K=XQng8~BO zjZiSaa}^+{V;p&$$7s;`8hS5*f&+d&1qfBW3$kx0n{3da5k&Qypi#qSvLa=xmhB|` z(4l=7v}oQIty^_M>sB3L*1I1Z?1y8bcK{OSr(*fCT;%5#Lxm-{_!ATQ2oCf#e0St~ zoc#V2PMtW3(*?+E}p-FOBb%9q7MW6FR+yIp_DwTo(UY;M}ZJQ&jWib zFj-MaB}+be{3D(|d5Nb_IR1zyk6&nd`Vx;GYk3OvC@3-PzzT`G4}KKUn?OjoaqAgw z-hPfd_g>=u!#4sC1PC72dmj`~+_=r~1%X35N4?Iqn~!ky#zTP(0*8VQ!iGS{jmNlk z<1wyWx-YtV@jmprcIg2qf`&@ERNE?lLhrd?0;b+u!30c(H1_X5h<*F^Vejre*tv5j zwr|^tEn7BW)8_Rk-?&byGKx!CnURmek~PRHT!Gx86(}fPg`%~&C@9WFLE&oT<*$-{ z5mNrSnu~|660sySZ_R2ER|U;qy#i|t-Uxam3RbVEB!Yup%G0o7xdsv9T`<5yPId;C z<)mY2)UL`Y+=J>4^o&uu#^mc^MHy#jptcj|A2 zVFUWZdEfvUxjoEUlk?yKP^y4{LC}K$pFk-B0p0&R=3-}q(e}0&!!U!Ry-@@OilGB~ z049tbE#U@2g1@&X0)4y?y4)VHFzywhx*(#+T7m)1)32Q7q&8Nh9_eEdvlxbuNU7#?d#7~b86Hd z``qh%>Ab4f{b%og?(?h9@*lZ>3Jeq|s8Ioiz=Gk4pGKa>SToLASb~5c&8rOHKu-gE zHz*k3s0RUM%$27>ou|SL3JBD3wa@pYH-Vmnh7Fn;JqT4nfv>Nw;dUkI5*m%)PdY-@ z6YoT`rd*-5y+A|94&BhDvnjfC?umf|Y%z9>J0ikku_$v13i8)tUC9RVFtB8hrGo?p zCO|Sgap2p-`0mIt96S0Qj(^AA4BzAQ$ul^6`W()kxqu(eUc}im7Y$t=uYm@T#!w98 z<$Jh#`5vxa(Gm^WXo*0f7ZVU!dZ{WcR08G02U;SfR9`%Pfd>zt89{;J2YsR=4ZM;- z!0qR_b>{`{-hYJ$kKW?p<9B%Y z(2Ed6-Ms!pbnDs^RMu13XSYiBj9>{UM~YCzyb6^|p^`8aKrq~)g*ndQ@ZqC4bm$Nc z9@M~L*REaIx@`+KY$`)p`C14ptSgW)zhn*86t5Iu$SYZef>I3_@{3j@uV6LS>ZJdJOV>ruD}EvP!Sdw&JeFe-ZB*At`rZ00tW(x62W2B%B3QL1EE2M zCI}AnJ}h6d2+OlSg$BZcCgwP#VsZKckqN5=oU8{*0^mqK-P;YRNCdPVXf*6J?n*TH zH2k9(BCxkL82lj^}rp82K zQe+sW#YQ4JEC><7zD95e_VNT3>OBEr6TJ}Z&L@8l1bcdlf;>DB;NgxyPY(o5@I;8W z7ec%zAatUaQDHvb2scO!x}P^9e7!_bK3>p^#-Ab>5CSFz_*c@@;2=y13dH2V0He4s z^P$0*6zq@K5PwVx4KRxPR7|j+QEINzd0_#V6ds64k-?Z66{0C37*oQ7Ff}X))53#A z(<4G;j;|3N;s=68h`$&7z1=WjtP5O648w3+8`xM{pkL2k=-R$LS~hNq26gJ9P7Q4t zXBrvJ5E@!OGep7G#X1jz-Vo6kDbe5)7+49RJPw+%;$ll|?87J9iq}%x>OIxI8hI_R zV}*r+0OJ#`p;3@BV9L;`Q5iZls@GJb`VMO3d#P>xsQ+#XXn0(`4oCg@YFmH&@3GC# zraqtg%pBFcx-Xv_d5@~jtNUgg4atf$+%&)pJ5Xw=XeJIaETQHVI8>80F$^IEcE{9J zMkpxI0782`t@M)K23B2EyuN;4B`H>vMm92bW>mQp{9F~ErE>oVfsac6Kh@Eo0T-6i zk|XJjsrotDvw`7=W=&h8kC`P#jU0!t&}gKmEtd5W))tpZGa~jD*#7l5P@NvX-Fpyw zcJ0N%{p|X95JwIj6?pjm*a`7EoIZIDXHKz2^ba_5x}r5STR~sEa7`)@ScRY^72eW~ z1d5yDnYeWEI<8*1^+}gV=0#|UiuZ8!+HGTVCT=r{kyQ}N17P$J+<76OKv)p(0zu*F zdpv&n0Z*QN#M9?L;n|Cy@%+a>iMY)%eErQfly6y&(hX}-vc3q#WrZkOSAhJ|Jgh0n73Hm6Bm4O!dB`hXgEd9D$Squr z)djgC_Il9zL##nw!5V=H0tLew3~A)$FBcUuB(Y|dfCJ${NkIeiA*j`>mKni8!2zJdmxqs~*nK;te3J|Y-X4N`NH!vdj~ z{=8|CA)p8fT+(z}R5+$ZhhlnUxXe$F2m?WZBjI6EaG-=XBK&+1;_E4Y6EC;17&pop z!ySgeW`HHkO?#kQhYo1nycrtSt%usxYiOMuO)3nbX81H%ATTIH_b?RBW#FnF|Gm%srDOWf#?Pg`1LyVMgP*bL zYgByhPXXzVIL6QPds6r1OXH{at4bN85g0ThPJ^sqfks*@MPxWan^&O;dKj3$AO@KE z35Hw-6wQwaN_$jIClvf>NG}XU{%@diwaih*coe(}(XW^oWU` zpNhF0dU#;ChM^mVI0z2(%y6Yn-iI@1FXHqWwzxivqu(9J{sV`wWA`p>+O`?%H2(6|Bn#fk6)qYl`wf|_*^3f)GH zfV;~`DMR#N+}>prCX9BG@wf4iy?} zaQBZv02BJgk41p{I7#HAtDj*4KD~>4yu_%-gal%0WEkQm#fZ0HZd?N9&6}ATbH4Ny%84oPw13iI_J#0dwMKiQ=YB$CQ|8Oo|LebXWi)0w*HO z-wWY1_I^HM@Wtr+`XW*<{{Te#2Oz?rFdtup`}&9?{Cq)0`uic$-xr?SG+_V$AOJ~3 zK~zxzewZAh8CyL#5FXS%4e{jQU`z=K!PL-DObZLc^zd+_I7jigUNRpRVuS<*0BTh5 zz){Ujj|v4fBRWhpGbS9I{_?3t~{k821BPUf7x`ltf zWbD+FEJqqv8hv^O>esI?Pj6fjn4R(}p5$2Hu6Z43Y?X25wMu*~^?qM6bZTA!!_3KjN+d7M{|R@ak8*diNV% zzyB-Ve*8zg|M{Qs;ZOf!6!+i#^iOh(=e&IT7rc1=E1tjl1w%R*2!Rahu}n*;-X)?zszaawP!cB@7#v3w{Mov1aleItuH}wSrLlX6{4`Tz^I~< zd{ArvRaxvzsr7bXe+PD@EGX3S9SRCpf+{Lng`&b-6cw%!F~L&7g8~ONR`onEgdqu( z^gswS z@feTb32q4SayNzqXm~||euxeZ5Lk$x9E16BGsJr^FMbY^<|HF!UNRQUPeFQ08nV(B ziMUOG$Vgp?w3G!%oHG~m6Xqak?mWz$H5)UgOqQ?&UGg!Z{^Dwn2?~HH&>vC$zKHhs zN0gtRh}+SDL5K+oMs!dxq5^|tUz-a=OpvD7;2^{X2a0HHHE8hHL4rRfhXjZe1bhw_ z2o5yhV#FgNFyk|t8Xl^71ggNm=iq>VK*hyIXo`u#%;+dgk0vZ=ii?WU-cx`f4DpeX zm=+Quz`*+u>@`9D9|)Nvo$O&V$P(s#d!ciuc4*POF&fryfI78mqsCV>1R5}KBs5TZ zL#JPjQa`WXR>qVDOU-ke#-GR7Qdchmgn|cpBM24*4D~vCV@-ptjF$ogj#ZzEtM2n0 zUZ*AdRel1mYFPCUpg+cWN)It#I#++4x(9#nQU4jZUGe^UWBuv2y07X!t5GF5(s(Na z&V`yP+9|8fhz*U9pnyR^1E1DE`P&#h7Fviyc@~u6S5+1&w4uBQ`qw5baGuww>%TOr zDh=h?&^}KE7=L=7Du9NcpWX$ABigs?g2C2yaCh@USZEaH%}qvHS_X1gtwB*iv8*S- zHpd&wH%RUO*3Db6dE+K*|9XdnDj2R{`)GzNc7MYpy!~LtDi+LUjGR{zWx(lzWD{OU;lzPZ+^uacB_<*m0AZ&)nDSxbFBq7J6URF zquR*QP}RMX{Uj*0UIxK|y)4vP84SxXtRp!MCoV`5B)f6$-TN(e@7|4XcJIWNtsAg$ z^Lnf=UyIVRV$s@lMJOpPMDf~!3KbWksH9M9U(J%t;$njgb46@rO*qIEP$({5iQ?kb zC@IcENpU`ki}C~-N($DXIKKiMJ^=`ZEp&;JEY)1Id^vKLEtCEZ3L2KPIn?3|2~%jH z3av+jiJzATd?&C^!FYiL1q$q4!16@SvsBUF-A!WmjNdB-dQ=#E8hb6duOg$LfDq#0 zE?NGep3L@Vg5Ly$dwCf&0pXsW2sb1HhI@HP=09WnjQvOXYft-pQl}B05*C7)u~C>i zV=7V-;;~@<91s|i=cZs`Qkqd23o=2aB`*|D1HBF0COi-xZd4h=(WNGM{0LuBN((&W$(=*7>> z*CZe?-+<$k(7=iufv_;6SK)I&Km%S?3L-c%WFQ`as0hSGMWi8c8x6hUW1|rt z8-uu*XaNVpLwt0!CVCpe!Vnh`fvLfohk?MrybU(L8aZ?boNTPow@*)W?bZP;S~fxb z23n2*jUWw!7z<{db8UcX3{UXK(!{8*xTN)Gav1c+Nf}mk-seW1&-Wx4(A&_wd2_UG z-5TxMwL`~_9nq#u8#HUy41@^+1VKWDCm2`OV&|WB6s#};+K;@roDBwvPp_Ks``dv* z|Jl`dRNqez3u=x)qs~*K{x$v{+k9XB=g}Zb`_4S38A$E^&;Y7LKvg*)_vtg`jyzAh z@AXi4UVyBuY^+?q3S2;G-P%%=m9CSu5jK>UNu!`m8#dzWE!$-61m-wUY$Hv0 zP%B&R+O-GN?%jLAPKPvR6t}5eyZ6cy@$S8QAX0O?zr{DZ*r;e9cI@~T+qdsG=peRl z*R*5D0qoj!P1W`){u&wEZKBQiOr`}PYJ>Ufr0I=)dE|}+rYjSOpd&A@eVHja1-ZG zU6%eB-yJ+AAtF{y?Ao;x+rHj}&0ET`p}Z7j>r0F(EiIAmkn9jCGOTq`QdA7R)|M23 zDlH-utif8*YLphQLTPa>)|TXBZAn2TXrRY|&`?PXTNp|(2@HiRmx~lI5E|GRYSoe@ zMo$C14GcwS;RvmI!h~S(soV^6ZeZ>}pcfk;@jN#P6L6nl0+#Isc`1(ooB9~a{JcF7 z!sNjTYyvdFC?*k7ObAq2|11qu3ip|yB?kIWlz2b0`{jN7CK|j8;fS9ci#c)A!DTs< z=MWZ>1PT_XXJOI8ECGe|g^OgH96B8>U%0s zP^13ZzsI)vEXot2M(uuAG)jzteo=%7y)+}P!2&^mA&8pQ8;R=FY6`*vrB-{? zKj{+&xUaziJpdIeS_-@w*OJf@8+k5YUr7sfFx=4yb!uv3)%RmqM9Yu(JTNE^g*NIv z5Qba^$ziDY`|IzQ@~UX}Lj#7!jhch7VAk6LBZiNLpKlPNqb3V5ELyY}nduo=v23|O z1DgSrt}T{2|1Fz0;_I!OWu1g=TL}u=jN<-|ZCnmp>qN+P6u#cF6<>e7MS2D3N0tC8 zZQi_5)?3)HX`{3~USGZ$G>)ITg3~|T#O3Rcar6EwJYrq}LlJNP5pUlAv%tX5fBx_I z(_j7ve*NqJGU}J#{wFAPOutWXAT-cB!7znhuipI`uXXzH;jf@RzW*yey!#Cw-u^23 z`1%*TrzhgoPtu{1prD5Z)qg_oU0|uH3Qe$@f*u9}1D6xOboQF`#W->Fl&tx|JQIeF zSZ29(%O-5xuwMRd<239ppkB!BwX)`1TLFFwlH$ie0QWhXBH60mg zS(0I#nU*bM#=^x|l%6BXOkE_NhP0#aD&m=gk~F;oy9jQAKn`G;d>6g>fiVa6xbSPL-8RhRKVCdsM2A*R_V5E~BYzFj`yoGLEJIk`X zwQKV!tMZc-jZM`#W%$&{<7%5DulYUc&*gSSj93d%s7ea;-ZUiiBB;Lo9NFHtapR_F z(V~^1F223EgxNT!OXnWw+NCFYbnlH`J^P@ysX6+X^@D|lCHnUth=BvGMFR#5l6@O% zTMQm#1M7jdupT%Vwu9|pH^d&p9Gx+I*a$c|43lw$^GMmYAL;;Vn4=RoH)xI$hdR(NdCTdEVs&;Ry-jAyLpS%CO zHws92f0SEa^O$_PPeZ5fp<0$%jS2?XuRxUxwrJkQ2w5tTkYNOhu6;g{)7?*ZeEoXO z1Q2Mb`9#mB{)P=&$Q+F_!GZJK=Jnj>^(xQdtLog>z@@r0PO2~Emkc?`IW-!iZmp(h zSg$3TH))SHEjx)?HED+?4O>a>fXZFq$j_@n5h{;?b5-XFBbsMH0|i11y(;v8@P4U# z%KtaLkaAy|;_=m`9l}Sk{$Vf|<_QEtC zG#o{Rn)`WOX%T3AHmxti=JNH}T)qxlHk66DE!t3ujq6LWp?od2Y+Q%Un@h2EQz9@uV&oRC#md4GtSl(SviuS( zSyP0Z+(InRFG6m~Iuw;}!rDz+v2ODYtl#<#Ht*bzZF>%5-;pyo@xu*Vy#5&1@4v+T zr$6E0kH6sA>)-J1PydDwKmQv({`_zF=}-S1KmYPS@TXt@XC?jmm;VdYpMU$mMZf&{ zf62M;KmIqoeXoTx-h809;;)hqp>iTP$GnI)9~k!d4R1gEhWGD(6KGH#hj*`kHNrww z4}fN+!73G?+p zxSywp+XM)DDhLa5EI`-&h=c{rgFrygq)HSukO1Vf_$g6x9|RUAhaoN|7&D>*F(u3wkdX;p{XFLu`i1 zQ>BBwv%Cjif6SP17%^f51`i&DzJ1MLW@d`+-MgY~+tz5K#u~wG4#Z!z6FE=h7|}3G{7pvz>!8+g$QWe z8HP~a1q}!qiSZ{S5GZ&|g%LRN_3E+nVuL1V(6AZmH)x6m^_vTX)UDkNwQ4j*?dnZM zgoXxnTcCNv)*vjjZrUC#o3)qEKoH?)(SSsS7-~u~qJn~|BR@X@gWtbuA|vN`FPb-N zEgmV31W|es2%p`$_7Z5|IZd0ilIBg!VIZK|4RwOAPaxvs<{%?uk^H7DU%E^@3~V(_ zV4x8oFqEw;#`?8IqVm#Wl&>o?YJF)T)|cj^d|d%Hloev*`T}e!FT|z|`Pf*Vhw`#q ztY5bpg?UR+#s)%bmSN4R9IQ61b+Bg5YGh?El9d*@T=T;0B}iGEjro~bn46x7S!tPw zUzma9tZbw&TY;Q4`B+g@g50&`C|JK4rCYv1`S!iovimR&aE*rxw{hv#Q`~<19`~RB zj7Kkj#p{p%Vgv>~ED#DP!h;?b2o0R)xgUP|SG@c1PvU9Nz@P#eUViv1UVZ!rgMP!S zkCmZ;!0_(PpYitfuf|Zs-wF&|7lX~IWEIZ4k8u6kZCt&29TzWL#ksR=L46JyFdW6+ zJqNLK#~y6owhLRgZj+TV2@SGJX8GDmc@4~O_#8NJDQ=3(a?8@(#oFJWV4y@;;Qs@~ zZT^1{7?=dfZ3PW#EsSUf&zvBUk?QOc_Jjx8)3mdGO|uTl&ysWyrpKp^6P0G2?+`W z26iaqd$5Bby$fs(6dB?t{SoM0VCmyzCg)9_WCVu!vlAuRQB^@KT#$y0v`l2AFGglY z4l*;AiYfy`1~O7ok)E84)Wo?G)}V(We%d6=oD_lSF=0|#DCLDwtS+c1S)|uM!Uv%d zm=PKwun-p>Bi;r=gRzn!l)VcyNYHy02oM@H5GE?}4#ZPXH5t*6l*kZ*F+njl!Wd4N zH8~0tjr`0hF_MQdb6PAY=44O=1p{#6@KDpnEzpn#vSvNW z)u?8|@JnsfsZ|&C>o!2m>ddUyl0R$Ltb;}k8l!3BW>QH~uMVGv>DI0(MwhQipi%dS z_qIk2CPr3>_m=lU8F$_jbq}io7SB_2>N@q>Y9t5{3iw2ZzYbU2kmp^vZDN6|E7pM(sVzo!@;N|HnDwUe? z>%3m){`lJ9B^hAP zn%Rpv`Wy;hixqSB;|8PTw!KOmJa-biNOl}lu{82=I}^XY19pA}lg&KCEWdr!=q?PK zd*g5DR0b^7niya}vB|p&q05%5j5%8eZy%ibyj>|@xi!8DE^#SJxlc#)J<>rW{wx{M zy9c+fC@AloMkwA(jrny>k$tWhd1_H^w8^`=hvgfPg*Qyj# z%ZG%)a5io7?pBbXr)i@+?UvyTCc>^1u4%I=nwwt*H=vslw?^Ua8otrlUoomi6sG=H z&70W)30NQN+71h#QwWiKJ6al7*c_^DRF+ixeu_>dh%NT5k&f53mr+>(;c#Qs|2Eu( zD`v8;ccjk$Q{ZUfuaqpmjctrvTHYTVQVcmE_ECLK;N_@O!rCtP$I6J}VoC3cj^Uo% zP#(YtwoF*t?fKaG{!}OaUw<_2*BKjZe2QlgEsEVgU43$}yZWSeXn%L%i9n|YMx&q; z?rvJ1WK|P|8!F)LZN;3y-Z3dw?3}dsH~asiskZy`?WL_*j+n=dDFrmxYe@oIn?_~f zz3?;!Ei>qX2|-R1cJZ_M*N+#`(X`OxT1*U*r(A`SQuKHnJ{A{Cmj0ZM&pP=1^SkeK zs=m8BdMWmB0q=QWF!7{NHcVv#VTVevQG_L_YltrlGJ}I!9?gg1OqCoCBlgM+n z=CZsO{PmL9%slx?{d~$lQPW9c-s_<>oT1 zI7!vz7yH2raYI}Y6O)uGN{fVzzc&{qfgH!j$CHXnNKDi`Q7+KJ&he@k_Q*Ad#0turDiw9Ic7oW zf!_+y;FHwt2_k8ph0HMHANJqfN@V-)35wNN_^HxF+-&0RK2fFgv%w>!(R;JPLlCYx z%X>~pvagM!|7h@CRe)z-?G9qO10WYfv-br+;j?wib=gTgcJUagq0zIKCRz#aiaq`P zNwv;16ElC##6`ju9ZQ6a;UXg?9aeV#URyz=_2uob@Fou*T+U;jt=Q?Y3tKRo8=I}X z+FxH6D)Or==v|y0rmI^5vdEyhyvL5j#JHo#dii7=Dc|<=IrJSXB_o)wKi3+d>A)UDorFu>{8G!KM4iIo;xwH+{rQrY05+oZOfhu!e;w2- zC?a;JTA;60aBT#9iL=k_x!JlfS?eM!>Eyf zz_8|ay+LAXnufj?BY=+|&%m5c(N)fuk!c!=Mt4c^QFhhk(A|w>78-k*uo;jeEv7_$ zG!;;bIH0T&{~2?*v*frm5ug~kDe0pYkwz{Rh0B?Vrlak?D!Z|0BNY`Wha(Y~HYyY; zDfnAA7Dk3d+LPe`Cu<8&x=c|hk*G_(wu_6h{maVEWDxijZKnn?2?Kx2sQMFqSLATjBvlfo!sI#0p7yUVK&7I~Q5 zDh$#0ry!=crI(ZJF#uT>Z4UGA1$6X>eTv+vdNclF?_yDXbk#n5r{RpI)nj+*p48B{ z{t@==+(9K~j_ydEOS@vD`(4Xg!nLBd|>~+4xA8DKCWUY{X*jm(>IQh8Uer-bz zBu+r&a{+Q-zy={nR56aR0RQ-{nPQINC4?CNH+*N@>F6li6Tb_JrWGELP!?MHKQ91! zZyCgGB7FW_DJ69K&n}Tk6Py12L12sxC2a(CO=X)Z$MTM`a6ei47a;;{@L)wG?cZ|{ znr1get^Mn(Az|)vmz1;p(O=Yp6In$see?-`dJ8KZV1s}e6gr!Ev`fSZU|No`0E=fi zXY&zjEC4K3+D?8v=F=qUT^H#nty$F_nmLS|{hqXLV?UT?x4JWIXPOYhuCAcINbEWM zG6XmOJG5z7efPQEKz{@+8U|t;j&>i%2hlA6r^^Zhh4;EX5O-T3!tN}W--uCa{%(SBlVR*Qcg!TB6;u8@Q<-w0a&yR`aH9^&-Rw-lV9QF_ zGna{=u!F}CShiMJNA+=M1|Uu|<}2A+|MTlAi`!oemQOnuH#!FPa+jnXVlF^H0GiVN z+Ec6TaPslFc{_^$@j>r8JN`nwlkfR*%jM@orR0n!VRhvje^~6vYbxxckQPiv_Hvq( zDr;^qj)O=4LMGmriOEH+YY{pcvXP=7_(#h!jMJ6R#$qH987&*qj9(Z8skNa;#;~8_ zHM(6M2|SiN+mSUby?uJ_4(2{>2y}QuGT#2!7fJS&J@6HQs-;{@$8ZEa4oN^@mpGGe z+Zox;kDgw6kVF(}O>uBHdS#fX?V^eQC4gYH^)hmyjn{UvY>J;Uqrj;6AkQC8BOj(` zn_WrdtL@yfh-ubQg+|}JpEq^L2?a~*RTBJt$#H1AEu-fN1Fk1&zaRrm5aVB)F_Bs9T@qj9iFz2`_ zIiPctU0W`2bHY&jt^mBcG9^`hP5)1CirGjWR^f+JemkRf^MjqjVc_1gD2*^d&e$iP z#<4JzCW%!Lw3(jgTxB_ymja*_HkTnHb*sUqatG#4csu;hsR=vMg)@G8NdkKL0dh?S zE-tjDkG^rykipz(;^tg<U&PbWl)6YfdIwS3lmW+-2sr@|m){E(7z&7!<(TdlCG3rwxcP5#<8=K;pD z8ncS1$GEcp6-;sRd|xWh{t%9TsvH(;K}ao>Mo_ur-2_miHO5qWbFdVV`?D` z|EL{b6%2ga*Zxm{6YV~n28(gH@#>I=ENeu8PLDKWnp&H|^=F%Mi5%YI83pR`;d2H>LGfjYex}A*84|+ zXsPlpAQdI`T^>Bq6RG~C#C^E?{!#FIQnuj$KmTHy(SkxX7daslDAMdTnFHdsbmM1( z>Z8b6a2i`D(rT+Sv9rUp)$H2gStdm2 zX~ov|Y*8<2=jiU0yBz)4*f-M)ym^x%pc(9STc@%+`TnDTwhZgDp8Xn_2Tt3lNS>My zg;Cqo)W5&1HSvC`Kf7tX-05-P-+5vJ1V^{Yr)*`)L|un~ZruOrNiBgP04ficy7mgj z-(Yn7Rzf~3$#(77EO9G@#Up>RM?FZ4T_0JdXfOS^R=IKJ8&PRAActcdw!^eyi~$Nq z1WdmR%p35;ZB?&46Dww|#B^Fs}3ZK#-V>6t#YH{MojD-M;3QhOKh}?At!4 zE${i28tfqVyjAI?+|#7SPpz-?nvjL}=IG4dDmt!cE2px`l4vEQ>vTqSkGF@b2ktyY z@y|MB?P)b7sY@L(%!XwxgV5mAFk0^W8!=k1K$P4e+fOOnBGHm1tx5MnF2S72f%)1t z)Sl9nT5b^-+uoJaRyCa?KR-~In^29{!rw zm%POo;qdP#^=C@LWKbLr?|1n3*Wy*s$BsDnlV_fxvBq&sZ23~yR~t&!jfjq6YJ@(Y zV=(Ocx*fl{gS0UYE_~`4M0Rf{Ud;;=QHy0>OeR#UQ`IQ5|3LuG^B62+x` zA?Hvb!LM^&`oGmNMvh@g ztzcu`-TAfcByi4_Ym)p+&4e7|?MrLK)caZ^X>iv4Z zBC;>tO-CbJnbeAHp{)WCrkOOrUdyp%WLF`#n$>+Feu+HD#1RXnKu@1I`U5j;_(j^q zm$dhf1G;CKvRz)NJ(O79S_XUtx8(@K#`Dkoig}fQll%Ht9PVX+a6Mu&-)frNcAelu zHvU|!u7Rw!eY!l%S?)phJSi2d&>^OulERimrG#3s79NL-Ek1iDjnS|LbZhW%oQEkV zT}Kvw>VKXtR#W$tTFrR>G#FJ-K%%0$v;6lS)#>RJc7GB@!7u&vI|R%&PrlF^q+8S| zkxKt<#=h@J>Y6qBG9~LVhCO8DtwYZ=1<_Zex@Y&~%uTcn1vQFT7QWA+-o5>FzmUBx zEJwjNLgfdwrZVMW#yth)>Nc(K%3W4Zym^Z5c9VlW+WrOe(}{_ydCf6%H(Wspk2;^D zBl}0r#pqj-wljO#wj*PwFzRkzm8H5>;frAUV0?Xz^TPYH>nhqF-oO ztHb1Pf2fLc3=_{wIS;;c3I%6evh%Oblk{fJK&y?f?-;Z~bi<7y*g$iI=qHzvMV+*= zuzeNv6gX~dwJtU;!Z)9Jpf8*q4~Ns8b>~jOLy#2lflv{g=0B^&E-|Tg{zw+JAPyvVY_>dS_gb*m?3`8?TdP zJ@5{j7~X7R_UiM>*O9bK`6%hklgJy!)jS$pL$nJNivMs zQtF@Xw>3p89(h+aoEtg6fH>6tX3_67Frhs`%*(b|x_6Oy)!SS8N1rZ^{)tIRdXg+B zY+;e})F;aCfClY`^#Y>w9D=_;)RugdRPnJ9v6HVl+i?Y=r>(>vUlcV*sM5~JCTH1& za_dy6zj~9pj9Su+W9107T@{Bg-=IGymzi2##t{*EfXscApj>%*;^)6*@CkoHh4BBw zfJA=|@1z9>vLz>rR=i-ik}ez)R~pReZt+?8JudkbtWeP)Z-@S!^In&~QcL)a19Q0j z_S_ei*5DnPw>Cb%_{M9)#3~=rb0}6ljr-5kYqpk#(NI!Q0uo_SBf zGZyVDk4=$M&*)US)w|x5(%nF^(9?4=Yx8} zqMfIrrh-hn@*0`Q*uOu57u_Sudi?KqRO<@E5(cvGFG|b2uYOPz{CQ5n^M~yr&un+O zLC)J}A%@B?9j{-q6Yp`I95oNhq)xPj83u0sAc-TR?rQdDz^|^x2^!8W235F^ytF{L zK8Isy(KPHR+LsEwVl^E+F1cQ>N21wp9{`!7xp%{^a0%bVuy>qF zE{3+>S$w`q(l)oR+GgJ=y#a-7WAl7S>=G`eI+L1~+(pGoP`bYD8BJ^*V&mf--fqX| zRZ?g$2QsRi+_9&2qEK#vZ0haLuC7rAUX7!=(1S-+HeX1nSgJMM&jE_}uAH_*AA_NC z^meT$T3e?j6W86R?h9{8enx+%AhZHm9HeMLC_O?ymQNePRfr#;E~Ut@rJz#jA9+F? zV~`3qBtUjd+d_zH8keO;Z%I(?5!G>Lex`&2D~t4eTY{;@zPkWsvx zV&~>u4$&MbM#VAEOK(WCJ!v@+$O_FLA4d^WhXdIfy?;5vv4l>qqJWZGMP4h8m08}~ zR!TDNE48cpcz{U&*HcWFJ6VG(HSu8+A%_%UzqNU+S)%z)i44r^=M#4i%t87|lB9%~ zlq`q_L=>bmqfr)pdC%gKOhnudM6U%Ie#~S0t`)z!3wT0n720yIYi7ZYO}=gtNs($6 z@QTg}8Ba4Z zau5Wt28HWIxMGZqI`{7#utiLUY?O&cRJAE7Jzs>~@8{}IZaJG7;IaTk?_lwQF8wl0iyO5{n@g@u8ra|Ou)v5&F}&zb7prX@)xQ~buG^x_lR{l4FKRwrr**vvQP;cdT;Ipw^6 zYG=B_OR5{qpwH_$!;oNKkCtJ(?;%jM#XCq15r-nV@dk z%Tzr6Vz#5Cgb+Lyamhx1R)+gn6EIYWiK|5U1fH?`Z~x?7lHapqZOjwJ4!h56VjXq~c|$W!|6YEYZ46^s z2^K&M^>NBvKJWh#YSS>q&#qACa=hCd>cLhY(9dkTeGkgr#OdGK=y=tbHu>6t{7RwL zx4SP5Pu5c%_wh$n-)E*Jhl7wM-qT+$i8hxKukt0kuX_!p_lg7yzwEPXYe&b;nWey# zpGvRkN@zK6ha}q6Q>Nrs=j?@DeE4Kt=c?RD0E60vr}G`)JvfxZDBMODuoa$j&Hj}j zR;51!QW1%79w zEZ0~dQ?fb%qR^Ac2_knC4p|DjF_UD*KM%~1yy}&}u(=RH0fGzR@HH`5_v6NQMoS~x zo(X-PP|P3E&cUBzgDqXUwO^;JPA#idyV6 zkq-Y-7no7SWX5C4HMq<+o|@gtap7{W)^(@Jy5afz;SYE}v69DKc^O;&z|W~_t~#+g z*@5l`ruA!F)|!yJ7`Ot~kG7PI5=Ht##KWKYyTiNoQKD9HdZ>sjOflg3tBSE0K%7Dm z*d_+q&Ikf;??P1-EJccG2qkRxPFi%alao^&k35_7L>2&ignI$olrqTZx={liIvu{Q zoF<4U?moz6%I`#RWnW$sQ`693e&JVtyJt<dMVeP`8gZRX3?gbK)~2EO`z*0xVESagrueuix!K`jltGT3(`;hb##E=U z+RhJFZ}q3~LJ!ziPZaFChiWcQxUw~-6QV8?RP&SUhAe|@))bq5!Nx8SW_Z)DgS@xtH#gz$BaU54%~hy zD}Zstd-QkZ%84)`zvkg#RVyU|S}el>2raIA^ld4{^4?^&b_>hhgYS`DAQ~E`x<7l@ z7iQMYe!R?5_TtePtLkfGj036g?nzqr0NtvzKMp)Q8i=keQg`HIp_22mZl!K*+|!v)kJL}RD>?EP^Z_R|TWT>{z-gze6xHFqhz==AJ zynSHZ5XF#R^DE}hmb~NKS88hlem1|_KA}SFhr?iqXPxuKa|oD`#`4pzq`T}ZwNXc0 zguO!Aq9$QJ$z|y2u1R0H(|Ts$rRb=An}i*=uPY7$j;ApFCZ_f~|cKohd$?oI+|Lqy{1+3rG0b90Fx>LXC)_#t{G+B?03@ zN^0lXjT7?v^-X@6y^MnTFRYL^c3rN?;UC(<+N3|J{KLtT!_L<~mULXhSnTTaQ}g~V z|4X3aNHNgu*C3x>QBrp507@?&gr<~Rg0D#q7rUYuyxw*V@~yv^DtA;8C;_-B7d?9R zxd~}gyoz^L=S&Zta(+vq%rxoZSJ%|ACJCVjsLbQ{c9Y>IA*ib>M|=Iu|5UVfVcj$O zp{YrZ@u>2Fi#i^dxOFXvidh_jNK8x8+`d*yOa7pZ6Ljxj9Fq2z=lQz7=;};_eNfIi*-7|{Yt3NRUrIkg(7W?CO9ET)&3JRWrSU#Z z5xd}Cb(n+#Y@x?}SvD103-FHoc_lvdI#gjm@h&m8c+)r((_YOks9@-mJI@%V@IWCp ztz>p`W?_WAl&hn*WHUzEsSinAil*UAKUfvUO-$HedGFn09xAB8ez5phOMqflJ+@-_ z_~t=Nz>MW!=^EyRpdky7$gBxRLRTEQ<7};zGy+Ss2^fryGn2e5A09@$*d*tU;F%VD zssEuGK#W`mSzP;^bW)EUEor^5BRx{$I=Y&Ik=`x6vu$_j4D-FUowq5qhoA6;bj{<}bfn@_TDjjE zH{|$F&TrdLOS>LxBgridkGGWdv)L&?K$2uQJR!!1*p37(SO_y{=7B=^&hJ^;n^x81 zoizWaH4M1bdOe#RH+z_+q3EEGTDhV(f>QE|1IdPULkA+nlm9UeizKg})lGZnHD+EwN0uAD7BA1EiFGh*W2Dbj~`a&W5!66w)!_he}$_#b2G zIOd|E2{at?^7TFcX4`$$gLmf=KDC~)C7bm8IM?<{`jz1Ae^nbfb2i&3Yo;wS+x9Qq zYp(9eJj%P3#!>IuVS7GOyEy(|g1O)Mc^EQ2_ejD2;3@N@4>La4^3LbOT^poEH~n88 z2;+AH{I?Gve&4QvAiTf-9X$tjUJ#lWL?KFTUdyH_n3Qf5+;*n@3|iO^w}z3B*pVd< zW-uZ(1jkKHk*ybhL^T} zgdE38LkC@ES(`|{r`!Fi^X|9Y_a$QBV}ksx4njIyH9o-HFe!cy;${>86I>C{M@^-K zrvE%-pz1k*O1AHo49ekJJM7O<>|L2$_{8+FQD7A@kd&0=7b_;U7UyfF*UAbTn)Y~0 zL{g6I-!%@-KkXw}#x2JQ+_!y*DUUcXJe+TSiTp?tK*z+DyrC3G4Si-!1kf@%=G)JZ z5p1C{GfPZ&l`+Y6clfT-Gn@kd&XL|l)4QFCKmpJBvHk2(_Pdh>$adB@&J&Xb*qM=0 z0C76VkDo`8KZXYRQ8rd(o^E4TX#J1US8_{hKX_*4Hwul?+!TxKI0TZE6lgcX-j1d( zZ4?#ov(U%0{azQRr0`1+on3msLDta(NKPoCE-nUJ7s`1E^rdmf*XV*Z#>QI9?XG^D zV{~NOPDYCWRMAnpQe@)Rj(=U@<0A%R{^l!oRX#$uPyei)$Q`Ku7g4%j4%f&u9l)%b zp6$+^v!=G%`#fXZIqXYY%FAO{mk0=cE+Ds`o_QotSg31?3Bb^h?A20$j2>+hLVeM+ z+{lU7{kXY7&fqV_Kqy(%K}BGqfcEkBMN42@eNzaksi_7<&@Y)0gV`?D4Ns}%y=G$w z7H@~GAD<@W<<-=MXQvko4+EeF8pz7{jX~PH)Kk z3EMbwkht_B@!$5#=35{=1I^IEO=Ln{$XOH;y?4fi>)Ols#zB(aq}J#EL(gQTr|!+8 z`}d;gg-rzbl{N{yE|oNMVe`!5K(cL4Y*LP%NpWBK>frf}H9dVsvD{|vaDt-WIU^0X zngoMb28TiK^6T{;RZJY5jwW5mE_c8C;P()Kvhv|n*7Id%N!vljkmbvrR{HdT(Hh_a z>6$d`APa)=gTpa}U=K9;gY@4GC{p9L@4@41QQ*JwBH|k##xVvN6?y1ZctV%BM1ymR zyElV`kJhp(qYb7URs%MQ7#&R_*y4+#i=;_zMS_`BdP1oYzONHx2`y}c(Z7X=CalQc>xsN zHynp7EuYlV6E2GKX^uFFU*>jhyj@j93c;nOwV=c63j zqorwy;}C)!g>QU@{AQ7hP&!=ljf9*tNN}-b$_oHtf`~Db=#$VY7OSf2{5=>`SycZ* z$o>0o&RPC}Uv=qnw^$~P#cF!VcT^OVRJJ3$s7g-uOoCO#Eb|F93`O=lhEEOx1#tqv z;)BP5F$KSj6qSvUBlUGq^(aN%NL6rL!m(a~iMmD#ZP9D9oW6Irk4Ucnv~;e}KD2l1 z=}-zfG>Hxke(~Dp{_Rr>Z0L^L5~dE6uPVvu~>xw6HpGze0?M{h=t3v*;;?uAHMT3)1EVUEV1$Ruat$>5T~UM zAcsnB;@+7s;wt^Yq55WsSUzZ3wzI2yigdLvt&8xyjJF&K6MlBX?`?{k@QXdSPRe@} z&-=&vfutjz<6EH;8Jip;Jbr(i0KgL9TKIS`03p%0H*ET=NyTn977D-CGgxH?{!o4o}q45(ao<7get1dSS9Zou9AIYPz>O$qAx60Ylg60;qGG~p}sq!1bbuB=*MInt?$mRm(A({IIE z#<)~b0s@EX-;27RK304$<-6>_wQngCC_bgi=R^nKa^at z{wBzw9BCG~^4@JZi$bF0i}mu#b@#@%zdTlx=L(q-Q(_zRufdpNoX|Jzce7=FV% zYDWk}W!W3}ws-Tbf#Z$cSpP{;d~=Ce?Djn6Z>ISIQhl9Q_vQ-J@Gb1vkXLT$@S{^5@ z;KD^l#aJqNrJ6u3N+Dfc|FMP~c9s9P>A{L{k9}RUDF>&s(!GHuBPTbj2 zv@a{Nosh^X#1l2YaWCTMLp5G~SP*4EXPFtd?C2EJ3mg zQs@0z@um2j^Tk{FG#Q1INuM0st(Lh5v0GJ1exEsM`(LbT14-R}CHcL$OCgi!kxxuD zdTQ>eL4?Fk=S$>L>zi65JYD#?9mwW6UZlXx=Sl8?f^-lFYg}(u0PXhj=3gK!i{72r z0wV8X+f)cONTL>|jAh9xCr&J3NRQ8&u!g!|0Z0uTEm*_4$6C6<-9emLGLa6E_(GZG zsJpvDCs5lRs)$W?pb&zSg@)@tA=~lC6sbFOZPNh5nl*mA0LTmwa@kOlb`JPIF@&jN z=*w_894~b1B`u8f+m~ad>7L^4CM9OJJ_u}xPl+Ri_JMo%9pVI*t5=0NpT_gu41_ig zGr@S4Gfr+|)Nd#BOIL-w7n_5Q*5CT5-PSuT;Qx0k`4XDW&aDuoT7$vNd=%?i4>MMO zte%2_8``l;`u}kq$RpCQM)WD~fo%jeLSp`1lhZnWW;gt`on{(Wso*+Xc!vNt=SAqp zus{7mtEOE!TIR5yxeQf$DvpjmxvQJX5%;1o7z6_A{ue0DEPhRvQXt-)ocGa%5?_jn z)SvfFWm-e9o*)O1JM|eMKYgMqE^foG z^*#LFl4w`YapY7m5ZLqBhEzoSy{^Nc*1SX{Y94n5psMeXs{Dh0^t{x|-oG`2N5zq@ z1FCXgt-yyYS~r$Dhl7IZi&qJLhl%Ia5WGL8ll|I`SKDuDJq#^1OP!6!ngYhA{CNcS zmyBQtEB(^S9PA8CuFI2x1$f8!gFr6*!xto4<16wtfdnWZZR2*7Rr{trU)Uxbljv)?JDWJxD_h-K36VBTWlB4EbZytOB7=TM@! zX=6L@v3~ngkw23XrW|IG%Qy)F44BI*5P z`t6@@XQffEi4=TUmVcBu&JT*~1WRhso%uJNJABgCi$%8NKD?6jn|6w)sQzQoiOKzX z`z0tC_)Ak(+<$M;gs;SMuyI^eqT#nF4dF7ABBxT$OA!S93(zv?Kno>nxDO0UW*g*l z==a{q2S0$YN!qnZ!uwo}2Zhc3R{(WBkr7!MTo$PNFPmW@@ z2M{_w5KV5*f0qsE1Wf7 z2n)7!+f8r;W{BYa+Qk(Ushj<0&BHvJLI^=Ts^bx5tDBIX3@90mh`%{mvDj@9D`f&I4K4_Sln%vC{MV`PT2ZMhQ1c8gCG!Xj**}8h3(|{asT)XWjJ{ZhM z(?5|(j0@_D`1~qXvo?d_=@4m`T5gfPM)_{v4PnD%9AMS0#ABq$uZT6XlvQ*O)zo6R zyg{n@kcrm{ObwaY@?X7Jl@6K|Nxl3_1>U$-Qu|lM@Tl=AvS~4ly{7Fa(U|IO>|ON8 zXuM4I*G29s8WIKm1{P57LOh<1rTfOy$K`#G*U48Ut+$Jw}TH6 zO?`7DfR6c|-dZ*at*vhl2%uN|lx;!lr9kK-p3ME%$)(EmBn_J8(5*)yLQq>MWWBcW z%LGVq?OY)@Ynq^8CzG2)|EQwCc14_@>8@zwp7Yyd%bxzdxwIsei`z5N_3Spy zQDWpX)ov@6qjtZUm$ZERnPd)!GA*o=aEJZPk1wrt?@YPqcUp*qw6+~RP>WLryT=(G1$CLsr3P)7q)Ev*FErRF(aDr}VCgR6A zKo6n>GWR1XxPZbqpdCfN?O{kVrY}s`=%ow)I|nVjZvL}zGPWWEfkI!ttGZ^ju;?6c->TGz!)e(}JAKaxRB0R4SB)XWZvh-o+tIIl#=EVua=*wKK=tw`9IFUPerm0)w75{x~l6hoHX?P z8p?7z*G_2e-+#FXH{#fi;Le&- zu-IjT;y8k|>w@xHBrH%`iNS`c!Pt3tw01n1)5LWP09==4mY9^xOvfPyEDxgs>-fbC z@rjD+;-F@90dz{?G_K_SD=wKRL2K#dy+4vk87Q*Fcm|@>4?wFep)pfH7jo=>#DFS- zUBs`Ngd(UMnUO}Xw=mG6MomAw{uJIt;-FCqqH>IiP0`18E%`AqGB>}}qSxryJ@j=9 z(NC{m+Xfkvy6E*EIH4VDD>TfNEp_BPP*&{U`%|RaW7TbBRt2R;0pRGWGvRTU(4Thg ztbpdETe0aNs?s%)?~$~mB>%*ZjxLMqeh8dOb4f9XZgmQUf$Jw;Ept>0^Vr+s({m%B036)YR?bi@C zdGb0cW{2s&4YQx~BsF5K(;qkalIUDzg)oJm2|cQ}(qsrfqvtwZ9>~&C%nAfnjtMy2 zB7y#_r-FT}alGBuNJ=b zNcKIwYafodrR(Y6>F%TcRr{>>-bB-o<)9Y}nkXV74*z?bSZayq{2~F{H9<|7uORxs zdZ+|Fhn+`jA=^5dD|E%3ft(?qDRq?MU4AIzs&F!l`Btyr{H@Cxu)G1r3uc&_UPI!0 zO-xOXp-dK?_n&co^3&|@>b~ zW?QUE%C*7a9wvD71Oy4>?@KEIkG{coW{IsoguTzcfDZpb(2#x9ofS9wrTYb##~`se zTsuLSLwCA4@X}c~{#GWibeM}2y!uDITkAZpxH#1OI4Vs_dpFJ9NSPJy9ITMyG}s8- zRR<=+f0I)_hF&EHK}giGQQfFV`BH}+&)2X@A_ZAWf3YJ;AGbWbYcPe+pWKyTA6AfE z;M3*{H`iP~;g1|)HhBYM)tWxWOrM{LX64u=4R43@h?`P^0~rcUaQj+O4tFV2xIp3q zZ==eTsG_wjPHNsootvmcT$hDjll;=~G~Bq&XQfyF2e>{D7}>w$&0u%3&;2gq*d$l| zl3;w6srbA?PE1Dg=0o*O>s=b_D)6;ifFD#dXR%qqqwt~#ij ziIPgiceDWUxuQigE(XI>-p=!vj;H5(|g|RG<`8Z5g1>~$~oRBbN#2WQ`txr7C*rGmXj=UI&)wthhr?z*z z;LMp8ihg~UG;cequwwv&UzwW4Ck9ik4eQBO zK1Pq|YQqf0NifvK*7gQ;mWpn;%%YP*f{f;%!2x=7mG4wd(3XU8bi9kkpaXwx5e1)U zH`EJ-Ga@|-K@_lg<&1ILga=klK^;g^k#S+`hw=25w(82=P*fgg|F5u9IJR9Cvf}g` z2{W4-8sz%o^;SRUZ5BWI>nFGN8{b=0AJs>2`*zHk_T8EB>d*~GjO5oOMb3bACr7TL zTmQbTDKjX5YtgIpub;G^JQCX7REj0bxpr^yd>2a-=Xxr8C*vOrG+;gSFJXLwAh4~* zTYXLHJ!aS*EJf3fJg(O*s9va$%ihOtZvd>^6o8lH$kmCt4>J>^oQ>usc-WAZ%p3^` z4!_DNe&FjP;-xdHypzTbK8q=m&S4Lk)ck#mKWG&=hKtOeMe>~r?iN6L&&W?#vE^}! z5yy~pF7;R^VH(0Pbk84e%16WfE8~s1o{nC6bOuSn+4A_ro`2#PH)0Igo*g!F>2pIj z`#C<%LEdTSk!Fvp*RMWx0W^E9_mh$HL_7ahQdg+Z@>tz1mY0JMMmUl9^)|f( z_&0ywDK=6|Gp{uF6Z#|m@ZlKm$#z(=Y6$V2_bh%lI1Aga#px*plYXc3E^kWPQ32~U z1FPnhW4wYVe4}q{vHn8eIn|JH3F%I^$k(&2dptCpYUvB%^j&31>fCyOFW{Z)7O{tK z`;4E5UG$2GwoA=z_x>T&mQ$jOifIv%){K?pE0K@S6T@kvw5PRK2a`Ga|E*_kLk!+yO}X9QQ= zsVjjwzUFGH*I}(aZl2|SxAz0p-i@Nj3SU*y;K1I$(Tfo0TqQ7Jlme*zc3p1 zSgA|SxD%iF6H#Y4dgPnpU+S55u7HdV4~CUL>vyFqxj&Ka-JopZv*^AfKe%5Bh>O)$ z#cA3h{G>HVN=V(V1}zahJOmp&VRFr=LJehvFtQy>Baw0GicuF$SiC!c%x8c=wsiQ+ zkK_eq@s=mjQ0WDpdufjqJ)wev2s(j>)h=b9bLzC{#xpCgq-kLJ7tERS4;I-x3atRkIVe^gJ?Iv z+e>AM-3cuYT)h)c!p`PuL2GixmBku|o92rCG6tCC&`D_y)hJMZPCEX-ZxjM$O6g7p za+F*uHbNqbibf4CUh$ zff+r+;~j`eZ&dozg_E*PO6aV4*KV5X<3`F!D6-y0;t)I&N$(BL|A@j9_!`W?(SD}^2r8h71zkmGShIU`qSABDT zV}1e3qmAln*NfJg(|R6Ey3u0e*!y7bLT4h3I+~W9U$EHdhqIHAr8>+683q#XE{6HD z&Cj*R!JNnjNk!ICGGFySs4t%4&>wW9}bS;Lbcd=g(lREBUhWE#b)V)_zFD zj|$p*LEFg2PipzD|M_-K03}{F=-zga^!6T}9%rF^Ml%u0?q8{ZXnt}NzKb3kWc*a+ zXwuGu0Y_K0oE_+MOc5qMHWs&2bkQ8}k%+a4ij=W=P}(D-@vHS#i=a%Fv{Vhp#RU@p z?CL&n=N+nC)Sm`KK^kTuGTfQ*3P&#T^$OCflVSSs8d`jWoz#dRF9DEz6e3_ae!In!dGEi;7{O!4u?>>?8v$bgGBFYBnDXjw zc>lxYnCe(oXs9g-m7cXOq>1JZYdNi?k>Z%=x}!%?oxEvkm26qW5947K3s^k?5&6Ohrm0y>BE-`|6cd-QmgvK4;E>%ukJ2h~Fl{Y{ z&-y0LVB-?AYri>5)hRWn{0KG;PnZL0t4_HWtAf|>vGAO4gpj9;+6p1C)>K6Zg3vz% zCI3NVf=gqY{u#@W1|l8_B?A6%sV8XtSuDhfPROB+!0)!`IiOEb!-8&a$TdU z4cu9NZf|e1w96=3Z-sRaF60H^w%7d^^V@>B$$Qh^{l6}nzusH+o`Xy*e zd9oSJOwsP)e3_X4NlvJTzCQ8Pk0A4^hoR9m?#8|QzX$sTBrj_;De$;IUcLP9XLBmv z_@F<);Hh@u3G5*Tm_r^=(*2w($>ZGm#o@hO(M-qKS#q$$!Z1 zXiS-gCm`$cN9;37*6SJ!%EY@{)vW56{^B3sWxX2Di#WKRut!*BU-WN(MxqH_E_(jl zH4o`H2Jcvi@KdND(~9hvF-vq)ibaA&2QN_0PlU z%LGIH)JdOrP04lvF9R67=?-O@j6^mu&@eY+XS=RO#^}1r!v1S;UM_v{-E9HKQzVq2 z-Xc5^|F?{CM?>#?<*MAj#|K=O0BMIgXd=A`KA%p5pxB2C)G}z3)rfe%LOTwhKHDSG zU2$qyLIN)_SEwZQ3{@LSQll%_5H#F?KNED`#w%7oe|{&Uh||%rw&oOrRTmf2ewUW&<(vVAtQC*FgzkKHicocAQ0~o(7}U)VThP#!hoGP zh9}LB7%0h5PBPknoGoGpg|D2^4p9=&KVtrog;B9}%TfP9vmM}>Hk;E$pX9+Nz=7c4 zMPty{wiM&#FKH91edSk_>1WsEh{XQj>vG8FoEhDP3nB475kVk=*eZ1jQlC#zVAb{C zXYME2ay}4A(KNGC6)E%78BE4F5W0doaL8zv9Ca(@2jn$hQYGsyPuoLf+tE;7msHe{ zN(7<6NZ0ytg-w8wsV)>17fd;IaG9f?f(~{%eD;LfdUzFgLQrV{MGCW7$L!MrAhFhUe4 zv;FIs#}=j6buQ*sh_u9ejnu!YVmu3}P3_ornbzEHdliLIXaLiV`yVol45H!_U3A=D z`$}YEH@6*r_`MAGTe}B&DRke2Kv!oR_c`T~&J-w!)t=GB~J$jE3B^IJJJ|N=N&a!c$;pW(Hf6J|lKFN&(zLOsMGyq~fDJ|mi+-`4mT+6mHJg$A z)*Vw``lIyiMs3yT&@c8<4bfT72BphK_Q10n4zSR{xfG@7wDVydy~d?%Q!DSAn54p-+hQn|8&_D%Zh~y(X3kZ+B=^%S5Nk( zW}%g@-0`RP*cu-wNVIft+IzwMAC~sdpQIL+vHA`zt8i>;EL=34y0@JcNol33Xeh?? zFOMA%k$j{bhk}vex#=BShJdBl)>kViZ7j7jG>$b;ixGAxuSnuIMC^xX?muyFoYl)4#ULmvtdfCv z2(J9kk66Ph&HBvxD>3tWrag?t!@J6QZ6h@}Sw_v6Lp@DUU~D{La@YP(4I8R}>D1L& zDZ-Njrd~n_W7Sbb6<#_Pgn9BKxD0I&qeP~ml+bfmYk5`#@svCVj?>p*pX|C8SyNq zq@qGypKnr!{FUj(GuK4(U&o2ckG>c2TLq{oJp{$BlEtTWIC=hbct-T?u9C&S$X5`9 zJv|rX_1$jQW~hA9C96cFm46ZD&|xzegPZMjw15hZ4kkO8nGX`fwBHpKjbKy2!TP8^ zc#Hem>rbfQOrhkvr51HHb!mhU=h(=*VwwTBdWnKW6o6r_6eysi8pT{(^^ca0D1k33 z;RD`RwJd!B4Dh$c#LWdOT?zzTZnB%PA6+>Bh4mOB(td<+aMus^CSZ2jJW^&F5$FY- z0&BP!e(Xds{Joim!M0!2%%yRUjavm{2)Zxu&QS(1mn~KUyULBEmMcF0E z@_KuiZ=3{HeoVJXnEJ@PG4YiG);aMf%0*l(;)zXPe<9^#C{=d=!@&6-O_Tp`|Iqv2 z!J!w^Ts&sY;H|I@B5o6ptOFDZ8`adL#(C{v@e2X!ClsehKx*G}ZC#pz^~M+0rMvU6aqt-Wygy>#nS6W!hAE!ysAqN=VOw9l-Q(#^P@ zOn_$qVbJY=GFo^O7T7+7JR24nUw9oKxm|3F(}mYVQsMF4Zsc7_e!$z5R6WKZh%bE( zO7{%~ltQR0I5;}vx-l|Ke{}nj(-&8z=qQTd97&LVSCyB~tg1Q$a;wG+=mWzO$p?l<_Cl#A{#ttJ2Lkcy)?e6zXhzdgU^X%1N9G1JTX{@f zvP>C3ITKbxXlTbLjZf-HUBtwsq?Eyo967d#TO2Jf77plmDifU_1!Zz^nM$@c0`U^` z@SHcpVSi4~NpB z`K5A02%<8H=?qo?_cQ3U-T={iNIPGBcTYTejwUMJb(?DA4IFt9VRuuwLlq0>~8 zfl3#m)FFwFY9|S7Oj&5s=PW^<*Tx&z|}55JNg2 zgL?p5xxIMp{qzvTopP4*1l%LL*7JKNsyUSSOT2_uEOeeNYsZtehIQseR zhUm(sJ@JGob%s80a0Rghj0DA8rAqS^>T z&RBj^mGKSCE9=AMUViXDI-X;8x~?C~*X zVv;W*#^1g9bz_CS)_oAda-x%wsb2aqHt?rcTB5-Ui`u@(+@+o=4DAz(Y=xs*5lVsS zkq2jbbYk<^m>DgQyk+EBGV=Gwe%qqSYF$)hfuHdAKC(wc&o-Rw4>@H62w0Ni1tYda zX^hQBbgeF5N_9R55Do0?L`AHmp`mN?v`Ivcp<{u_pE%#8Yxz53Daa#W3Y)yu^zBNSHq=Vbqthb@D|Cf(g3?)o#bm z0r(BFm9pgDszd>CzFojUA00AUM{J=V(O*X2f3a`xkE@fyzq}yijE+VRR!?Krd@&Sx zi2m?IO|NC@71t0P=G;W15M>3clM;21vPq{Ipv84raF7MHRJlQuqDTjZCsQz4`J)PWrSZ20=ACibTE?lnLARqLg;r4qezM403)aYec90 z&waik!jh9C%e|wD6HY-!{koUgvPLw&-8^HX~P-Lo=QDe=a^OqWP}{u19BP zfV8HgTjDc}W*r_;hCNLLV9mGU7^%E*W-AkCgp)kEmL?>5sO1foc6PUQ7piwVI?6?> zkB(`jq1v7xR90~+jOK7C-%ZhD3|LsFiupR;^M0d_SsmFn!W1+N<&wS7+TmpFqr5pi*QhX>+!n@J57~DFhcb=tX zDDNjilqFq!LVQY7G!><(ITiKx3;Zag0z6v`(E4OH_?1m98XSXBc=6gg%8{7G3hYhs zfM*(yb=Il?A|b%WgLq>Jn<57AYzO$j!cz8l1m0w(Ids2b*QZ`JN$npGDsJ+e%LO_o zImHD=F31qLFAQ%G&46+Rf_O#~DI?`U!DVjQALiTNxRsp_*7ks2zqLJlYuDq(Z=$F!{2=m>y!IH|2W@r0Qh$#se4Z4?(V+x z>sR77VZ>CvEY19U>VkMiM2}gPTAVHBB-!p24i6!2E-P@i2Ydp>(v` z@IqRe&c!7f&drR5Fk5XX-~F{LY}psO%vGrQsyl|}<&Dfsuj5hejlLk<0FOt@%z|y9T1wf7TZop12p5NI9LJ$VQ{2C^@Ee8k_in8H{64&0j0+j6S_c z1X2P;E<-Sb`~H0Cnmap16*cNt3O6E(i&Jz1jN)}o=h_M-aGXr!H!&LSddSE>RtzRB zllqgC(|l5h8I0^A2%TCbB<6^WG7Bzjfh2~4ExgGO|K~n8hE!5~BdQcIK&k$lJsE&N z9prcdb0UloLVRI#dAYezaKqMcGlOEQ$QGgm(uWC*Zonu2hpPmp6lJh9^XSzQC1y@% zS}O6lIXEMv2@avo#4J7-InIsjW}Y>5MwovUE;^2a z)z8m`MUwx~`3z#?%$!RxkWfGLym3szx*Yxp<)6a49^LR_@MdE9z_hlBBix4$&d$wo z6vEzBAs9+Q^v+*jc-&N3(NM)q-GVkkgF0rCI@`Npu>e2vM59I#&xbp6k8gfO2jU*T zEH6cRVh;{kywVSTjyp}~VRN8jDRi7rfdIl%@~a40cAFui62$4)wc}c8(8WHvYH87w z{I(RjPK`ru`S;$>Lpv!68;btH8tuxjzLGw6Vso!e%DK**tv@03```*D=+lTCk8>pzP&U-lQ6 z9j6YvE5CW(H`l9stef3_9iJd0{5m;KM#)HcmgAL@p2_Q_t8bXN@Pn9iix=$!_r!#r znKuEM`BIrYt#bd@kg9`9X7w|m{M1=@pdiLGQpe(zi185@R{oiz{`JvzYM5C+1 z7KU98H;#mEA4BS&jsuTkvi}ZV@c-DOut{y-`tZHoZK0j}2!K=aTvY$%AO&fhkdKHY6P8T6WxvLQ-O+7^tZfIey6wv;)B4(5!~ z?tc+58@+C^D&&2ylErasjDMcf6D(;0$o?EELFVE@m3EPmZ^2xWe7xGi!VoztB%b0O zp;3$LFwL9YgSju4K`O0eHg0d2@d%$tDDvt*r|@R@WAp%N`JX$B*%5($GiP~z`3DT* zrEy(3MnVo!LWtp)AZ2~BG;QZ8PSREQ3?jh`<)_S!!0z@XIb_MPLRUajK8R&zX=0AF z#p=TG4LamfU^fa=3p+4WG+?1P2*z58=9LU6dGcIY;tlj+m)E|gEut-P>&9dgyPkX@O!Ci zp*X#*>*p}Hu$Gm=dtd2;zH7e*s~Xdi#KPd39AygFX+XjTXV9v|$e%U>G;l}q8-oOk zIO2dyT-~duJvcfXfRVl9$ zbwQl#x|e33?b11mP$y;RMb&cWgsX^!HN_b(ypYw7f}Uoc9`J7=^R)yBU|3Mtv6j&3}P@YPcTX{WBinD zPM^b4wJxvykwErAwFgDJfPngIzPt_u zeT!NSWHZqdrTaT)yxo1nmQ85NA%DeV(4d6+zcC@To~L|4V%(*UyCFhxs8Z*C<24<#gx;2 zj=SmyBALFZD4$DBrWmIF9*Qil?^Q6M*99ms%D0!;=K!!dS=)UyN0i$I-+gec&-k%2 z-{tq@2qy$!I^i_J3_cmfp$h}(c~0dOS~)ECi0tfqo2=QK!}6zR{ZJyQ%NswN1YZbdnVnZ=~82)=^K4Yske z>bF)Fd~3%xSY*4rymJ$Q@JQJt49ec{$^B)|7Wem$XuNE}eU?cQ#H3^l*M;l9{{9)L zHG~5|hvC6UIOesMKqaX`=RZF?)W320P z1qvi%&RpuwzayY34p8Z@d?mxs$p3s%AoKjoE$s1kz@5i};Um132e6pt z{0R4iU(qfVNB?z?BOdLh>w1iyZV8<&wExz7U)AOgQg;7*HKucP_?aXNb7#$)nM&t< z7IbWvUB@ise2J<+B1nf_r?CC%U#^dY&t0TWp~UMtKp(~pW$}aFNe(s)cSDM|0`mdS za?+n?EKx2TBb1O(|C~8F#;YC#VW0U(@%G`LILRsH!SwESr{G zAf-Na$o2R1Z(r^^+fSux_G(2fZuT~UCPn;4L$yB&n%KO`shRD6kblJNt)~|GF6^UJ zqA+6Adgv3}DQ62p9mvB0C3Z1f#$o5<>_wtmx#ZIp=KmDe1^JIs(Fp$QKJ8tl_X4af zFsSp9laN$e_ul1*+fC&NfXQW^AABZ*^$-DY*pM$#nJ^yn|q?iZ5@lA0A!v*nl z_qaDXEzSFuh(LXC8~E83XrBb(vOD)=AQ8IVDy~nA@P0VNC=gQ-til~t0N`8x8`&8; zNcxMo1kwhc-g*-hpX|}e5|d(9SsiQfLOHRf5a}6xSa7!2PEGg1Y_^(&EC5od^mgs` z1DU01D{cXpMJ!kLxl#_FoR+Tlrz;#ywguqqHA$P}#S^s^Fra;}O$@+%IeRZxpWP1v zA1rRS8F(c?;9&mg*4kHpVaEXFnwj5uxIi(bm=HEBI9eYh9t4>|m$&7rpz}gXApo=w z+XJY(I*f_c*{cFV8UM$du1;8(wY+=OPdIN22p)s}J6gX4BB7zW5f`rm-M-3!umLft zikL^gZKI^Op?1!MEQz$DYar|>Oy@&nII2_|!Pm!*asxsEfhTB8nS2zW#HjpAM|vm_ z7oo_uJ;H+2N(rYrS{0E8bq5%14F~44NndQss8eq=#;HHc0AqowqcT=#74ejKClqc! zfbS?l7(?KIhcxtK`jAQkGf;c5D3HA)Dw^0#hLBOUPQtW zt{FzPhI2lwoZ%N$oNq|kZDRrGnB+I->gl7n_P#df&-H!~036Bb|9q9~i2MnVgKIN- zqSe7G*Dk)bb?Q&y2LkvW0K=XM+fuXy2dW<##|HpjfJA^44ml5{8gO$7Ftqq88;X+? zvKtP>)gqCW=X9f;t@?O#(&G3}e_eyiq9H9WCbrt~m^>l=qvT_+$vC?3B+& zWb?cWJ^D-=oHO^*9?w50l}wcJRJL?TRVw5&Cce)4_7OqY&@CikMevGF%+cQoiPkDG zsW#=a1Q>KF5DPL!F@IhHv7iwT!&G!4a^4!K%=h-7l>!+M^em$t5ea7iRscC7;K0Gw z*L-4bJaBtZ8XXz`;qdw-oArKmVT#P!bDas4r36GMLPwyWH^E%M^MItR>N7eBL$A6f&y$SE_=plXx>dH!D~{ zFmI26Tm5U&XsJqGak<`N6(?$MO1-(&ecwlMS$7Ru8py$p?_7NMN0lLrC3~@`wbv%} z@0VP*@Eb&8M8mHmUju3=ehydo$8I@UqP7bXJ<`GtAi&`A17pNc+6Z?&-^e*@ZSNiF z`(D@Vj6v(q?rp}6mak_z+)Nr5yE5IPnw^%--+XV~6!brDU~Y2l=?9pTa%rqmw(vR> z4x?xDI63{d4~*NC#CM(5;n!~aOcWv=r}2@C=)1)O%Ng%qYQGV^w8&dwh7NdmDq3EkLJGFD$zExu7Y`eTT2o zG|Ke9W|B&V_VEwsWU$*4Z}DqKtn08>T9a68NznsDv6%oA4pAS#!l@95*=9LPleVQl zDpV_sRhryIzCBlj94$`bIOv%z3g8W(YdBc5IQkTMP%rhzv6@DbQ7$#+k3k@Z9=sP= z_}Oqkv`h5wT=u23qmH=imY^vXK-yDpS3(}`CUIAlrmw1UbcgZ9+-S`;+m5x-^!#VF zc?DyBv>44QrUa5(NthQ~e8g*t2PE8uR2*mPmO?BYBnR9FIO3N9OaY8YmL|wH++`Sn zj!7y;KlvbsPJ%v$#3mL60)A+50f+|qs>$@qRCsYqSbEa#StvjtAx7XFQshkeT4{$} z84tct&P@pm+!;CFAJXlRM}fv~>e}hPamsM&fMW3$x*2*JUyVkT^FLh_IL$ojrB}|* z5g1f_6NcF?cO{v(x|cgWirM%a@Grc=&34{dATuA$#>(9ib;q0NO8T$WcGACot4G^S z)Lqmze6hWtJ#=@4PBe+)-btU=^S?LWPrCowiz)qy=&OSfCu72qE+DkAyvm-;@(9Ay5b)CXuSyeB52Ibblsu_JKl;K1=2e*b#rcH17PT!9W}X(XtYa zs7En4iTYP=+ANn_JMBdJ%OVY#>mF9(kX{|D7*$`xqVO;g*MA|@&wB@Vzw-a0Ud6)x zE(h9XA&U@izZy?_5x4)Uu28%A!NS^kE0)4Aj7duySgduG7Q@{dIjV|Yqn+be(^IvpI8%W2gY4_o_j6$M7G8{8*Xp!Am6cq7gh5AaTu(_n1E z#{407*nIJlF>R-4m;wJ55V8%zyg|t{D;W8R@?S@q(mIfNd7-0>7P#hS=1#;Hd8K>o zNu25A&N}cpZvN{B##Xn`1MmpYVvnx)V5MhK;8`j8So06+0Ek#i)E3JQGScGO2B_%p zpA!KbT^1IP@5#kd6V`$m{RTh)z(j{_W8yrySWv9506;PXg++=XtV(S!V}S$_lTA5m z%Hc>P#bfbPuW)f=B~qP2y8zpqwAu1dqE&(jT8lvT<5q@< z83CPI@ug`@e^gvX@%Gk!!P~J!fUaCM2#XMt7=Y0P0H9L>FTO_$S#dxb0T@sPXe(h*!NWX7Opay%red<;uri*N zHZd;O$ZSE^5tHsSEGc#EeabVB>(G@76T+vB6<}%t+03c2BLI*s;J_{!d6vw;XHr!kl`I)&FBB%NL{a2Tk*Zh;?=U- zlKw4Drs011+nS5feAoZ@EH}H@UC!p@sfDh>!bG1)P`7~Bd1sreqhh*iQ$nu@xm5jS z6UenuT+nF&K|*byGm>)wF!aD`-Ua(Y{@AMI^ZMaawXD|a&(jL$Uj&Q7Z+`e{--g#X zX}vfY64uTawDNJ9UPckLT0@Tn>#elc{(yNcTeWCjz7Z;hdOq3JoA+94X4g0GmKA#g zl#UwA_HxCceuP{-2;UzWTh?v!4x7KU&HJ5NMC&$xs53&A9BWugLH~1;MHzP4Mv8w( z%))Z~B&{w=rTb0NENuV*LJ#+e1c7H-VLK_n#iSy6DEUBhe()0$n4CQ5sBpXy&iPgI zUW%VkMtsb5RQDzLvz<3QW_?lWFRSZ$6j}ukA0Cx4X}14BsV479eCDV&j{3Vv0hONU zgdb>NYS`3Iui(Jg0U#RchCnV=Jg1Z~n(V&%4`>^LNeQF=A=x2_ErZ>#@ahS zYokpQx0>Kg4Fa`gE;6INJ)Gb#Z-dfn$R=@uzJyX4@m-g4W#WC+pJs)uStKP1k z*O-^2)nqg}FOp4W7?o#pt^GT0bFEcb=Bm*ze8Y8kX;M?YbKJ=FZ@SCX`c%8kS@)II zw~n@8{Gq#REhn7d5jR->AM%3vZi|;AzP~=T+uFLC_xDjRRhI=f_B!deXpk8-TCOKs z)$6nNT9?Jvd)|!F_(l~U*NXB@5Oi}^kc9iGFGK*sHK-?az8XqN7~`sS83RjrjPI4aik9l^9ll7rDKgGLP? zx)Jb_I+p}cCXn$q*o|o94cW&e7+ns&-!t4@UWGuBg1+kU^C*460%lRTD`e=k&EuFB zkzX|idR*y;Y`mL^I z2b9mLXusdJ$M3Zeq{B60=-Zdm;`Y<^#y8#9F2@bMY!?2(pD%K_roMQeGX0kI8uoFJ zdOHXoNG)Ucn+hd5Q$0gpM3cd-1Bn69@aa^mN&El?UhC!$IHv8_bJ)K(0+hP17?ua@ zU(=h81>57#ST}vdiqk0|dwa5>oc`kV3@(!m+GKK3|0fa(K3T@fuSc&EzQaE`P)5o? z*xzM|y$&aV;<3*bwons~!+|N=d-i8<1yei`IPa{{7@DQiZUxLd(Dlhthe9mE96Q>o zu!;Cv_Z9tTtrVJ$la-zrZef>SJYg5VS(0d;lkWa8l;$WU+VTna+%jf({mdd z1~CLH@%QOkPb*r~hWCyd*GPnQY2l3L7%3@y(#f=TF{l)3lAF9A4|zqGZs?-V&EmsG z7TTIJkyTra(jL;Z%vHPz85tg>fgP@Q$01?^RC>!lGkg%uLPW}iBjr+s*1(w5XP#b( zQ4C_RnjFksXb7SrRMLnc`A!WKjBj||`9~u`Ti;I0WW+bw=)Qf&m1;$UH!qH}G_2Fk z-d@={O=fAE3MyB&^*r}6jDp9q<`y^0^l~Ayb|rUws1NDg$09qNmRT5NzfN6$H9oQD z_7j~1YoCCGtFXbG0fMdkR}xdv{DC#ah+BZnJ(w|cDVIQsB=W!pK)4+ko&w;wc{wn) z>$x8b$lo?a(UIA(axk+07XG=kq_b|1r9eoZBw@%1+h4;B!h3P2BDeRak%JGi>M6Ef74e5xyl76?vn=yp zlE#>Qv9BpXuS)@xz8<*F&gAG2ElJpp7D)~(Ats^aan_ih`wJF<=H4?aIm-g<2g-X=c5`NlI zuJm``(ro)c9RM+{!8IZ76m4(FYs`&me~qNE8uh3Nka0gmC&*ZvexL|ll2naNoG283 zfBy4pb==#Zg5yQp+0C!Vi|t-X*_EW-@C>U27%I4bvMZH{mmm@o>(kGqJWUHO^(ukA zWy=tXG7>Cl;{9>06jmDL<>}bogsTKUJQf+ zq&jycDiUzY6OVG?6WGz%zp0RX^rVA=}h5cBPdG}s`41O0&(0y;%a zkhPrmm*Z*9*_<5$v{=+1B#Mu)evs82ecoABvNQ|7!u zAo_H#!3RPB&JF8L7zvCp`J)sADFJ{5gozwNlvTFfBLzs{7?Th!!qUL=I(%9Tua65Q zyOn<1huHbDZ_g8f*jmI;oaC5dh@Zv)%T5}vnH}o{4vEtdZok7fWzB8jcl;nH66ByP z5S+Z5?81qNDjp!9>~Ya2XOIb(cR+k{LW6+VuzzXm?xW<}bl;jE;T6*#D^a4}1wqN= zV9&bJZkEHNAG4gQS3UcUax`fI`Ck4kEicq_%{yE@vGdM8s27PUF;O*}iaEMIMCq3s ztxTEml)2{lR%bG?lmWqVihXFeMz?!4t_(yC;g6W+l&5DqLn2;hfJre|_|DKg_47z& zmf;uz-F%9~dTozjR5Yapv9K?uipH$V0*K2M+IPL0Vn|ZI`5Edvc!TG-XZDw(S>V9_#A8xjW6CESCpXLO`_7gfD(>gYQd}(J=7RWW~MJ zJE%Y2NUAVD|O zhb@)&fqap^iVR421_Hl4g`>S8es#9oW*Os-$T!&t43vXg8h5y2-elQcDDwaxm8 zSGXOp8$19`Yq zLJ9?y26wGTC!M)y2U96rnJJ|hxH+Dq+cMbHEBw}vX%ZHab+1b8zI7PZPwctpZ>$S) zhwN+lKR7u45ofgXJP7VY@j3Cv53LLaB7;cDS9Is+cM{^AtFw4%YG-If46EN#Wd`>} z<48X>ad2gFk`Q5zr$TgcLu4R@MUghCl0v}Ak4=e>x)U71V{BrqGk${8qEau+$GDJU z(CKiV%DuopA5oK`fGL5R+-Li~?T_xS=&*C5Uv7miP7!{PxvR3mM2gH z%bKYCgawqo6m%cz2>)^6y{nA}8<{2#8d=pH<{aU4S-o5Bb_{(iTY9XBj>yv) z=Mbv^wnS$O0d?iSM~h?~CODWpv#<;fijxlLW&A28M>IRXi_w1T>EMOVkuoyx_|~_L z*|L;v_RBn3PF}-$i&M^2p12j8kdy05Vs4(aPZsv}w)`AC*UlKZA#7z(`RX1sm)JCG zLnl|%?Ca0!bS*aRzk}TDI(du^=bt=9T+Tbd)NI;MI_YfT`3h1tafW(t@^Ig|({a%< zYNMr+z`^iHO!B-M#p8-!YZK`+^?6jz@vg@LkZ>4M7%kpw5g&RpP4=12oZ7T_>8<;i z7YO35N0jwAPgbtM*dr*g@R5-hQ$e9M)8!8lN&S^=371KG;@iE65-lplNC2Qb$!_{t zSEkKn*<4`WYDv5&{ac&68}aw9Ugj4P+&xy&^`4tuZQoj5%22UGdC=)*<9hRI`?2Kq z#G?xB{2J7nQ*@Ss7c0Lp$}*_AR%dgSY^6CSPsGh*CnU9?l$4ID{G2~SZ&bKCgFl2k zBzXu%emCsu)yR=Vn^RmOZTDN;IOs@RI*mPFuw1kJ-;q>IBJryt&RW6Ov*pwxZrnYJ z(RrdCrN+FR;`9wO1%vg0hH4e96M4L4z-a&9LrXlZeXh$5rOkVqzrN_ds&@XYn#mu* z$IXRNA$%vaj-CVM?YMa}Z_iu48^ALi<`98(hcu)ZK6`hO=46WVvbl}Ceh?{tP zT5*r&(>XnheK;BpeG4cf7;g@A2o2*)P_$`bltmNgQ6nx!B8=SfoBY;82NwzUMr8!_MklzYCHn)h#^xT zuYUr5Y9r&A}CVt+hCHBm{wq&7DPnAb_Z6zGrkwHtpN* zNHn>f)AIs0H0DSo6M&N0Le!`-OB(}lxYT7vD2(I*Py(>oc=M|iC)s|j4U+uVXk@S4 z@qaX(RajK*+r?)XnxT6DZX38lNcySux)zWqP=PUe(r zm}@`#x!3($Yhh?OHJV9=ep~$f(Il0D!6w7H0VjW6>@(;3@EbDR{J9Xqu;Z~W_7oj& zW|=!c(h9pbi5Xt2>U+Q~v42yVc|FL{x;K(8{P29cs_650 z%&+V6cw_xt+xKvWZMoS~)A#v0$=W|1hd$&v=3DUK7uMNjPv5=r)?D$Iy7E<@XZ_jo zuj*F2Oo6$Id4KlRN)#=;o4MBpy(H3*T~4z@Dv;k999V9T#D3jJU`0uX zy>Z4-E11j)4F9(CN3h{_HuK^7hNI!O_q5^lvAn@!`$r4$YZ1Cgn(Y2Wfm+^x>2%gQ zS@H8XjRcn0rh%rJ~j4_g3Ak_X?5S*-zd(K>u8VCdHF7b(gh%U0=91?$seamj9?+UV%oK~k0 zNKK%ikxv}eC@Oedt>(TO`jgA!j~zm-pY*<>*KHd*6O+vuc`RCj_* zjOTeZIab@V*Qwmf*><+CDQ?k$&CP4t<29U8t9MCMKECnh5IBMWoUG-`C90-w^Vbr7 ztMLam;VPTU8&LQf7_kkw*<|>3_*gFoMsu*QPAHJM3^>7Cq%wyq^6GbDhLfAz>E+iSzeW$j6EQPss6w z4vFjQ0nh_V*w)_Gk;0PE(fgOPjo}U)z=M`D#mpLcl??@iu)r@wgYt%4$$AJ(y?%6syT!Ki5`Xoh(u@XX_Jb zlw1^NaA<#_mye&3=lHBrQsGjpa${P;_lc9)>y2AEC<_Pz{!&Kne!Wzgchz&~tkJkr z@=mR;@SYQUi zu3G|8;=g__c^?@a)7EH$P%o5R{Tqm%?=P3N4o-Y5ySKKDH-N6|2hmAJMj?0_LO^Q4 zA(s`Em5tK3y9M~O5!rTZa&ovKiD5e&AwP6qAVrCPYz^M|+6p(yj!=ZFCO-kQ)%{9W zB2uv)g4}a#vAUKqO}Z`*8Uji$4~Udjhga2YuqVu7{Znv74>IYT*gsR?u(^TzK~P_3 z5XjYj1SOxroGoYNIB^5M)M#22@P&=3UJ(613$Q<@^SM2Dz*I`Fu21D7!+Qn1+|ZK* zoRW-l&I6Lg_v>uGN|wS+;|1TU-Bjg9s24+@}-}^rKXiCMb-Yfd9Ja^`&%x3zM zfX009a~wfZ45XM)JqixH{g7HcEjERSzWD37m8*d9vR$t|BPgaN|O!wL(2cm@% z{^cp>xENvb?v#Q_r&zvpJ~9&95zmQ!SU39lx#qL|_E7A&0w(lr{+)^y30ILy3}dy^ zJUY83zwHW7Tb6izlsM1#ozJSVLf>m}ri-7$e(_jmX%=ftOm>GCejM+Or!zM*9f_5+ zoTTSQ%!qXnB#H$?&}YyVVRmCe^dq2-EPvQX7%Jyno%Q@Iv-gZ()>_M#C3u&}V!gZa zUr%_KAJmKb&SPDVoXSxKU@3?G#&}^ws;&u~H0gztoh?-ZJWvG`jwFGIVAw|q1y8Q&Vn0;s#HoUvN^mIaU^lZg2!X+&W3k$T)rL}e_?#|&v? zLPL`1bk8WXNyH)GU9`qIY7T1kGcFhr0}=Om!{@>Hh;XCV-*L#KFh;j5zvzAwLHnJC z$n=J9JE(I=1jqH^wKDYH9^fB80!-n4B7YGstse>f!;NVK6BT#psNPV8;u8nqsVKKg1 z-q}-L=JBt38%9=XcD)wsK@eJ56=w{-fJ}ynr*yB9{^WWbaLbvaKNfZS(s+}>8D#X_ z1JP-5NHrUQJA5r+j@$Wmgp$e3*O2;6!*>~kU|JlrE1#$uKE~(Ke3LqmS_0?F?QZ8x zzh}*rk5jc&H&`?Y$o2?$*eYGv&p$ zE-vg-I>?yPcz(PdU!;>w7Tnm3>OsHkx;x(-9%`EvHxqn7c!qCI@b6WUlTk~G5)vax z2{NN#JA(GiL?3C6WT_mUiG2faS3F01M1ebj?eoJmvf3O~u<;Y4N)VHh1VY&4{DmdO z;2PY2R?PqmlKjxs-Trw1>*HO!KLiJ0NI>na)jnBknJ$Zu!?->bYxxu^c0)f<2oiNn zRY3mXA!n5sFG~PyVhEzad9$7fA%rq1WESsF=36{WSpus;yR%ffCU3LUPaP@r`NPR& zmfZPaGsYw^)wij%B5~aWiYa`&hOxte-J1Lk|HZq*OGR& z8UL8B!^`JEPKD(4COU)=QxxsHp+SdLxJ(c)SKCfx? zt+~5vFnGbRHE~@0@d0uwFowQR6`tweW~cGv(pJs`;J)okYN)$X!z?1^Rj zQ)WcZ7E9jLW3*N~}D2rZVg zI$Ufj>>n#5tnCzJK!i5JHApxWL(DFXqi|ou!N0)>1WOVqhHXdidq1a9Xqb%wf1$li zmmf<0e2_7S7^nB0-KxUnwfq!-B6QwUR^}>xCScXct-FWCvuJ7nNt>UY5BXG`tYTLv zum3W5iAx*2n1_ko-LZTJV^r?2|IHPv;x^-$NXz^RcXSf=QWXoJbp9I~3I`%sKS<0hK9KjQZ!*k>Di(ern+ceTGI) z^bj(!$d`7{+B;GT&i``rBE%en$Z>LG#LCqRM)nrb@YzCf-;k_Q-e;uH*(^61=OY*N zu}vCRC{*vtwmaJ?_7JBvnj!@=32mWW*0K)#_=qvMyOzz4u>NZ&3cP8zo$YC#M77E574SVDzs!I^RQmCSEOOxRSZxc|)RD?Lhqx7HVe$V^j z{5cLr>a{~_D&;LbK6YTmJ^%wcc>EAPL71rEoNlJ>U;D9}j7 ztZnx*ucydxYb0@HV z?I52$6A03<+d&1%{H1;WzPj170{vl90>UP-9@W^YeFy?ev|$q`7sLsG+IfELBP9A! zQCeT$y9kyNi z@YbEsE=w+z5EOm%XDf1Fr@&-cVw0d8g6`FyssraHHN6^_{&s`%5sJLCt%|9oEUEdU-aXY}-tl;;+XV zm;G7nh;o@5s)CifxNtvLCf}7G#j2$>UrRM)=l^Z-RLaZ@2}W3hSXG?Do-heT}Cr-;E-9zt8Yo zg1y_X*>oQ84A&0JTloTQ#Y0Z1Hi`4aeZ(JNt@Pdl&-pNKx(^YsN!G^tD5f^Z_W1Xy zLZihEe!mU`0u=%bq=1dByDBF2R$9{)2u{35k9Kq)Lg6z?yT36d`6I{kt{i=Fhtssdu1;2@NhWgDMp$VM#`qMP8+*01w&59nNf*jXJm^0ZDOyM; zc%P88OC@7Vqqm*8t<&l>nWVhb?W+FJqhf{Jwug5mQBb5sD&x_%FoC$Cgi3xwAKF*5 zWuE;p{4wRy{rn{%?<4E{x+uaEp9KoO&-ZZn*tNL~HA?m!k8%adgcBAEdX7Yeo#2(wc8BS#fCi~>syYj5IhKI3oq-2191LdtpQV1! ztT-@VF;0~(s1>OAlX}ZZme%aHNFaV(FWi0Y;xMlX#%>LzAxz?egXgn3be8~uKN2l zZr~u3sNzpNI2Zwz)lIdN@Q(L$xs9|jN#D^PVkP2aZg9R1edGeYd?JrQpu_f8wU;Ms z?VIWUy2FUiY&R|qfFz7yPN?yUuW~Y-7`bo{qNC(!hUjpAj6J+%{ei_hu0&m(Qr`~b$475y$0{9dgbD(j9=V8^L&9xqCz+2sFQR)o=EgZbQ5g60&%RAi3I_RJJ@`sIE!de0n&v-C;a`OmFOgnS6}X(dNq4Fp<$! z?fZ7O_BAm+Y-(i7%wjP+WgwBgXlcIE?RQogA`gupi4<$f;FKk|)6Ei6&Kqn>5sO)$ zmn9NTiAz&i6qL7yaVA-77|Z1XV00$=Ey=Mp)nq6kln08Zl!mY?K#p(kA4V3jB$$kn zMQzpTpo0vn{V9yKyFOP1N18)&W!E`@*xJbHLVg(HFWn1JF4j5TMIF!F`=RZiblE1Z zk*tkIb4nAk2qf?+n&ru-zOQ#6R9WxM{BmB9No4rj{nF)NrMcDPia4t)w}n*XNdM>a z9ftS)u#93RuK{o+ulOOOfL|bP`Vdt^z9tdF+{+cMLyR9-Lig8aQVD{tTXTx>10@+L z4Fk>KEp!5a3;Z!sa+f{N#sFbo9c-DYoK|Ou;ARKv0HY*9`&T_AHX7zH{yrKsJe08O zH(N{ip@voxl^t|!lQnp42L(z{3b<*B59?;t1-QNO{+Fy)pqNv&-@N)`clfmZ6t!FN z_5PTjJU~^2k|l@>l)H{|*L`Q}w7#|t9xnGR%ebvi$=mBd+_$wPz= zc@B!Wv}2=!kd#1}plA$DpYiSz$~url#minlOJd)CS5Yc5F=~!pt9|B|vXwF_U%h-Z z{Ctb9knw}@%FON09~F-B8=MbG0;x#lO!`WCY&MocLTP1dmdt|sQiWSH*i_}F4T|#8 z<{h=oWbt?f0cO^4VP~>HbG;)F$}?4_KdB}4uCL`n?hWs^sWx)TMrTFXYv6BbWXq{W z+r#Ja97H=1kBV_N&>?h_XG;YGBad7&7Tl?dFnRZI@~`~9;-nkv-Mc*6d|-GEdqM0R ztF<+t5cgT?$(SrqKAfPJ*tZOax9#IfNKFwNrNfa>pvfONh2ZdiS1c0Bp&cSwTB2*w zcs#j?*vu(G@u2n99SS?ULof#H%_}Ah7~ca`kcaR<$Pi3q;@ET{(Vn;SR~;g^5qDsJ z2<8o|ofGt<92N2t@zZGdZgQ;AM?q|hGj0ra}5kV6JbaT!5MTp zUOdruV3a1BV^bleQU{fwipoF!)A28loRRNltFj~r2uy~XTqOT8 z)norSPU>;^hmfg=EUZ8m8BdnRojc?&-bMFQbakYW$vyu-Gb4kq76w#5m7{nKbw8b9DWDw;1SWO zD3l}MC?%afEL1#R)v}teF=ODhGm-0<41Wz;_^ z-jO;_@elMdGe|(LEXT8z7b<;En{R&x(v2d#U?i2VPEV)a4kaPr*lqVvHMktMfDv|- zGh0pXX+TI=s98^(oO+Gd!KS%QcGu>ETJAR!m?g@Rc<*8r(uI6AcFULkK@$|>n8K`W zo-TqZF2`cRg(_Z~ZjMDut#z?=nZFN2kEYeDyxxzRTxx$**t4N82C#7;;NA0=!`oxG zI0nVfr8=0Gf%amY^$y#djzlz#0^VPWF2X2%pV0oUTubgscMA6j4+wM!LsLJ@@ja9E zb}dwY*PU~0`*u-1w92>4LN3qAkzk$E+z@=?A`onQo?CL=Ca+k49}+c#fv`?z`$hs?pv80`sq zO@Cd+s-U-j_M6DrL88*L>J&L#(i94NLxn=DN6UOCWuB3!GGscKIPW0E_xmNi6`~Yd z@}-os;FCoALiOQr*I$S218TZ<9;kaZTKO%O#)6Yd5$7Kfsl%eFSXuUG$!Z^`* zfLoet@j{S;?z zv2Z2$tJSdROLU~m@COLeR%@ns=2=CxPP0cPA*INl5pdc`v)dEGLYzghdUxz6X%_40RH6oMHz zOCnr=8Y~Rbs&hJyEL*zMPqKX~F5y4b>G{MFIxT6v@>e-Lv3w@1I+g7dDYP_1h^Cr% zp6QdP_kE8w1cOlD;g>>;rqk2ho8x(JH6W5=tW3YR%A{XNG4lmD0e+d% zPgfWjH$OROIJV>!YFB^L&;SxZxRF2shRWor@8wtNQkl9(L0DIcC+VaNaE}$)Q_-sj zq*JzhaGGa--dL6-1Oml8vh>c!`M8}yhyJ&{faTA8Yq1B`)zh<3gT-pc z+JlXtxh3Uuo~J42d!ZycDw z_Ny&hR$D2?KV-S2%J{aap7FTzpg&Z%=OGfz z(4Im;E^t=sV-WO;3}|9{TQXj5$#~?0IDnHx2nk*5eQjmccy2fYl7p9mEClmdCvgAg z0`HYWy+iTc1jf5ZDdq%rZ7Jn9?o!y|@tV1CWLTEoo`e&_S2qPTMd?&g5HU=;4fq4z zk1mxtliGVsPFMv;ONRYI$lw8n0z|0q@~gV5&;2wp@;^lf%+UnavW4nm?e0F!cbX~y zv{39(UF@-)pb5MpcrjFI>(N6fOna**8YELJ1Hja)((duXnpme_BR0%EIY{A&sGxY- zf!Oa(vqO&5-w+r-wZ*9~h~U?(r=dcAxcc^o{kq0NtxG(9+DL4iNuOQ)7im5qxSaI? zV-ubd{OCBkm_CWAb0T0PK60FRU$D%D&4fF@jyBqXxg)T?-Wg5rsKi1j6WAwW@4pQKvbe&+J}vsUH)C@^5a~wl{ullq z9qI%L9kqVY@WI6LnyTilCzLs$JzOGGKW?g8SNR&?HYsxcn__6nkxH%oQZjQq%~q7u z<8}7;2fOhZr==UcW^~%Y?06N>23$ zoEBJI%|%U@${IMIE-OQjqg0&qvN!NN=e*x{zg_V1n$0*^_KlwYp;hy(^gdwiZG-J9 zbGn$jqAowx*e?y;YO8(^Z@v?<>r?(NJVjhw)k-t#61N9{WBjECJZR!Ha5f)4FIe4e zOpE;Mx+p{j6np0EcJ#Nm)b~GRM|WnuRuj(^?*~X&#%7Ebn)}IoY_UpNli?%P6c`n=3S_~uR>RRUm=UwAE2hK4%>3ZC?J?X?0-A! zluOn4H3Pged57N0HqmH7h%mq?6H}0{C^gp_A&(~fSrY~!^p&(PASaesg66m z@+cHEbS$;2gw3+zn3zRcm8R~m`#uO z-vWymgVgys#WWj@9GbpRiE-nXFX}&FgNeTtr?Rz;r@fCg61;y`U2Kh57G>_sIAvt1 zeTvgj{Kbpu@yb;vSkVTmH6NusgdRylxn0EKiGNJE$i*sQ8_ofuFa+ukfj&Q6X+&Dh z5A*wd@6Y5Y-z@+T?G%MNb|Ieh1S~n(Z7(Oak@ot%DkrU$9um~(KiXU*-=%iVC?K4( z2#ak*N(1iLR)!5{Adn#qM(-KD4!RiG>a57XGP8m2A;`}YtI8(j`!aWdsp#yf{`U*_ z<(DP=S*by8^Mz%OOA*%${KdvYL*2;To#lHs2CGB;;N8Y`34+n!T|^5*lDuGyEnkHw zqIdbU$|9wV=;C?37;mOKktn$fKBisGW%y<6h5@2-m0I`yq%N4nHfy-V>mEH>8#TJa zr|e9n=1={VUOy2uq)D&7;oJ0|oMMe{#a{JE*H`NF$6i)(EW6T#^?tGIhXj|vt#MxD zerxib_P_XaA{eT02XCHIoT~P}9kpxHa%Oh1{$#|$7w1F%aGqh?R_=u`Vh!)S{DFjW ziwmdFje+!Cn#(A({`mJa+LfVA=*cY>ljePYq@swXzn8Zbfgva*u9-duOM-IM-kGTyJtB^qgK&QeI%q$mIT?3Vb3TJi{9M`q<0UUCOwr~FM7w38}xETp5=aDI>8o_ zeT*@9{Jt-PPw)DYB&K@q<@tvT5Hhjkf}&nMejsB}{GL6SA)@bNX;qURjrUlIP1_!N zjCR=d)FRnkSdqzT>zvTppWepi;1>#rE}|S}Om^_{wr`mGz(xoBqEZ z2ez(W`XbZt8jqX#-K#0}$KOB z9c&(((6l63#VJeOgw5D{&1MR+o8kS_zg6i-Q6ed7q{PxivSepz?UfPUv+%<<0 z(BNAkHD9R-#t;R(NVmSf)1S+5xMl5CMpwt^F9Hq)ZwM+(#H(#R(@$LEw^SgM+WuHC z)sr$}*5+wF1$5R2M?{1cc}4?@i>V{I?KgcT2q`_;xv4JW;=09#I87xo zzv)jF!J{WNjc4T0Kn!>IbYfrPa1LcX(MT_+0K+8tZ241)>qcT_bE-?}V$h7|2drGT zR>2<0#HX3Y^Z5hs)A0iRkRs0dZs zSx6#v7hc{^1AqRCOEO0m6=cDkp@5wz-LFh1Ua8Lxu z%zE!?_yrj7Yk=f!4f}3;o#=Bz1K=BrFE`y@^&>&+nsti^Zj^#eT{$SoDH^XC`>cf&SCg?>2fB>Jt9wa!NKtI69g#Fqi1Pe@Gse zxH(rj96Q|u?fDt8&&_0eB7z{ZHTW3qhkCP_?ix9o7Wb@2^&4qSYP+$J<5eK|AGKQN zwfYK1z-EJ|U08;(z17S)s~(k!@C^#F-LW2IaOra6=_L6GBYI8iWWloDK!MAKd{f_) zDxRx%OOWnl>1b4NFGoc4R%yK4z1EGNqI1ADkR-%FdFk=zKVoVco&=r+5J?Z+ zNUz7pr@?DGeUa}cM0QLSt@^`n$N8pUs)+EHxbr(7EpbGAe)l!M zj?eg1(Vu~3z;7^GGIfNug|@-5?hJp$8VHg_LvIMe$pu8;N|C%=g_ErmIuM3ZQ?3%T zB%}ozs#;1go0qVWy@(1B$W*^imW6a1_A=1M59WCpR5k=ZK|EZElwvRsTFPWG#H_HQ zo0^)A*h$oWRgp{sINNg5edVDzU)?!xfYoxt^cX7#ec_DY+WCbD)2mf1u%wWszkM&k z==-x1`3VuM`+R-{ z^K+Gx((8GOS(g3aUe^-F6~kwtn}O+)*d%IFxnJ6OJh{)KKRGwPWJom=dZ}K|N(;Z|jL4*^z zBZdaY)(chY3JMVoPWyOP{fndCcCSZ+ngk5dQDWo;_m_zl&kbx}B+Q?74O069tW~70 z4|rjGaB%YO39@Dxz9V4ub=%ntT`l$0R7?~3BBuETDB`RAgElK0_um+f^v&ymw!)JJh0pQn7OpByH4C>~ydnF(j^H{?zKWYZa? z?{nqWj+xQ&G2sr29O_nEmPU!)YmxEW{`1sn@JcZo`em6wMaJ{3P%4nBwk4L`*^GsH zn!Bh~=)FuTTG%eMZmZe#G(nv(mtl91NF17Wc=vO*v~%9Z??WWH(J5d@x=r*sTwyL4 z1LcVbXKd3&i4+6bms+j)9MXq$0@~8oj!HdPAOu0Ohntg}d-35)r(2Aj;aN=sFH3_C zJ;ucbpAK6kAH)^L9yF#Wfb2~c{IQAvL+Na@1s?u8$1e5A zdL4l{zIcY`@$}4N`yi9FjSQR~7A9{CugJm5^xnu|E2hm zZKh{J3YQjNZ*j|{rOSCklw{~lIs-R9LCLQWp1MQ(b@^ZOvrhFlV=?u#;MJ7xnjp?t)-1qY+6qJza zw@^eJ8r+arz^1v|wO9T17|nbH)@C>j^q|`2m3Ut=`TlS1531z!?lDnJ73+s!_)U$0 zPyp=n$8mavZ!vYrn8>^V_)9yQVLL}M6NrF9mk%lzOo$oKCL&-z__WBmT%A~lv=gk(=kgmsc z$zPkea{I{dzKZP$TCg5PZP}R{%wd!z5oCC+3m~0>AiZEyd@9W48s|f^QbwTVEqb(nNog)s`JZJ-S{ey-eA0O+0ICXov;2osm)moxzMY&97`FK#}`zonX@>Lg@MF?V; zWFs^F^+lFw`i@tB2a*hOdo!AYdE5sSE*pWsuA~UTEU42%M1XT_ufGnx+a-}|DqktI zs%~|?y!GU8RNM&LzGJJwXL5g%kxdF++4qFSxWUS!<_^PSXJ3u>E!SIrl&XFICS4Kk z2iVPbtG?c-%&Ak?SAx(fkxckwgCk1j&(+c>&N+l2(dY;gETI){lK(#Z2mPT6AV5Ni zZ{o}YM^R2iPce+bO>A;cMbld0D?Z3#o@QOi+}6?6AtbNJWaaY zJ=N-ZUY>DZKdH)v{jB(wNKimKDtVeK;2dU=;{im}w98&F%kSU}BJ3j{PFZrH7OiH5 zf{|7D(*tLo{iu!JxY=7sKAi+Qa3tK)7W|FvWA1z>dDhg`1@q@yb>F2(-K8&ZtZRMr zm1|wOU!D+CP7zveIfy_)8#7G9sQRfGAuh|}(41!c@|0;+v4v!+OMp{Fj{2BlF86J@ z!I_YDz_5SK{Z)CyS=0CBeMka-w1a}HVwWbwp{blMioqFz+v|D(SDtf^>S>Lf+EuwZ%kBAZuayhiwDP(vJMRjd=WcFzu0ATI zXp;#D9zVB1z6&i(^DT$7Hxxqm;AjTSkt&$E0|!ix+4@IgY!4{w6AHcMrHoCW@m2n{BF*12b*6iDT$F-|pdA@GErSdE&?J}UeckAN3tBm=W5-XB}bw467Df4cS znO!^O)!btrf@RX&5{K1h+F{mKO8{o7&<9aN@7$Z6AD|TKoo5Ol2$?@35*o3Zr^ID+ zYhEiQ>*rnIT@1oB70k{z0uc|`rdL5Rk$u@Q$=QT+n-T0_Hd~w&?7s4?7Gw+7qzBYA zV3}_ech1KMY|;onf$|G0k~!|r!VDK52Iu2sd;TyNbXzfsC+3CNbDGc0CG&b(fiWNZCxK19VjU_m5pTn-nsyMFY+{I25mQ9q+DZ9Z;vhlk7Q ziiOn4Wx|$zYn_|TtF67`@8~QX2>2UYe=~2Mnaw^}aUnB>Sl|~CJxEdkBSt;Av8e&? zF+ms<{i2->RwKy}Lagvx>iR<_D%ktNw8Z+i=1=C4FK(Iq|1sdN0L6;k4LU8!6&b!Y z_-r`sW`;K*B_j(^e9xu=yY{ntCF*2cyc)#vtL74v%&^Z|_VL4QYrfpmNEn1&)w3_k z_Xgeq*KxIH%vx91*Ruw#?HR83dmJ+}h`%nT1G9JvCC~_4KP{#pW4%Yf15sbc2d@sp z3;hqDbC0)kuqpUVU}Lun4?sil5tBiU_lQHaX0rh+g*FDV3y8(ZcIN5zWwlX$Wg!rs z5rx6>F8}2F>;zB6p|pA7?bT*p4H$lgTSINh2wE#1b@qR`uVTU z;O;MrM>xZ5qS=3oss#qa2Eb#JZIz^(=|E#&hj~PWx`hWt9wdReSMI z?C(swyJ%$>Z8e#=fe^wwN>i@6*YhY}R!d99^{rH|Y}QYcGp}soSq7Ge_*Yikx05?ZAHLML3$3LLD`=yX5~QS@L*fAlMF4Y z8QXOI-HLn9g?I7WC~H~E+qXOm3avDlC6Q9p`^$oOT{enV5#xh8 z0kggD|D{Sova5?0X6CBBgW*bDbu-CMHuNg!nAUC3`p6o=HbXSSBz+eaPmkgM>eI&Y zPKs0|3`3^<3uDjjQp8mx^`q=?J<%VB!N@bUGqbT{-88VFr`+ED(YS~W{pLy$<|j2f z9Mk}CX_%8bwMip$>aEQAy?$zbXCbqU1u-!=#TggM?6#HKA(L_d`T6=>_B3EA(dKp$ z+sdb=Y58c@{Mv9>c8G&c!hsZ1RRsaW>@tcijHz+BNeWuTpCoI25`)D(j+S{GcI3#4uk1cAMSpva4&nzIS)rS1js_!I#)F*OA*lIrGKy@l|m?SGZu* z3S3f>nv9^^r;O`KzLo9M7(SykZ+1oN>+vX`KTj+7Q4jfNo4UZ zS>z>N6QOj2`%&^Ix|FxzQ~&@nwp0!(_rcs z(^D)e6fKJ$&=?#C*IcD~fKU@L;YcIGV+itdCAP<@HN6gLLZnO8G{=P2#`&dB@EM_` zIZ-umM{Y1)Ve@F*jL*YlW}+#**YD;lZ=nOn_4t&*m+P|A1VHPonwHhS;FO*j@mhdx z4|@%*?r3QZ(Y0hm!>ZxsrN+AEP`Fd8n|($Bx3-C;kDLz!BqangQU{a<5Gfq;uc%VKvtJSHhlsfE zik0-rh|~8vIeJPW{)~(qC0MviZQG{27=-2DcVl1+iJYxIv#=3R70;*+5Cd1 z*z443PZP3?l6j4tK$wo^Q5bwsQ|I95Wy4;RQ)H^2-**a4&@_XyeheJ~)dwT6< zsb;{$aHKM^EXh})mXUa8GdBi!d&FQnTYYIPC>t4tu&^nPnOpydL`DDtLVT?&cDB>F zJl7gG7#h+b#_}O+Mm+s8Lz&B#E9Gg(LLJthWOvbe!9#1bM1v3^i9RSdR-P8H9 zea6a%^zFYTc8A;1nO=gcmSEI32y}x9)*ZLP(v172Ed%T6_EcbIpL`k$%Ux+|OHa%1 zuU=|)Bux`=9?6gSwuu~U);Uz$zrFw2K9_r4Tv>>>hQ_VmBjz3J%$q%Edm=yuA+a_) zIe#Vy`4?ICdtbF(PASFK;+>?|2IWQnI6}B5M%@OOMO*kjfpRHHK9F!(bAPRL-#;|y zNcbY_74^?-)qS+LQAlI;=vQGC=D^`fU`DC;#+=Al9j9dG|lBS z$3rMS!=vu}r7u3FH|Ad7U}(rheB#+W%79M6-*~i%kzU0_H$pALU@)jpR)_Ljlm|EB z>o`J-CS#SEXZBN9zwE=oe*fKo)L{H}e}$KIAA?^$-MtLuL0`05edRKj4+8S~6_vp} z9}1w=86eFPRo zVa&(N4k+9^=V0r#zLEh(dmQa4P5G-DS~bCT^LvIr9hBJ zg?5&c@2*PgI+SF04ASAH9h=c5LB(b%_?@mY3PvSam9v# zgMgbXnZ=>r#_=eR;GbE>wI4?NEW|}y%9HtfdLAYtx>!%lQz)4(n$CZJ4;gaT$>B-? z%h8a2z-R>xz%qiV14{{OABGX>_NvV0Zmmf_dpFCGBUxn&g}PeLuFo#sO{_E~dv)#G z8QFg%i;?-VhjwgTJAOl)ypAX0+jL2H@X_x)z)i4rh7>ksgutAm=OF(s7^fhQw`x^qv*8EPNc$_ z+hF{@k_qo=AhB<*s9<{R535jO4oJ`%5%cqJF1QcZ-%MW+f`*GS6>lZoFpLg@dG@U; zGG5Owe-u2xPz_WtXsW9OrP&uodsrd3Dp@ty7FRd1MRzb>J1Dv9Ldntd9^=s=$zeC@ zs2!Kfa7(IA&ZM;RrtXGRD{JjA)lYiWn}ZPy_owVH`VPBIlWxX&TU8hWloHe+cez3r z8~<+DhObeyGS3*8G9!pwf=Fw!70ysLNXu{MW81enYw zPA!=6B&qZz`<=V!JQCd`&6O>ZaP!szwl8v2HdJN6!4=;FZg+F|W&7H$810nw1yy3> z>iUDW@vNHMk3`Y6)xs~XxDvEwIXwn1`uh>3$2QCmb|yQL!why@!2@iIiQFK(=6v}}x_rx$ysNFM#OZ=iJ70rn^xif11n2be9&i-HQ2tIf|mD{7PZy zyJab{rQO*)s#uadVk=~8ZJ{(RQvTznZ2bnOGbSd|onW4xyAHRYFJL#-<> zE`kql(B(0#DWu|GlBH0tPH@=quFsi{bW;m1iku$rWJxPswvk~EI?@DHwj-STVy9du z&qwQjGlJ#4H#oexB09BS)yMO6U6xFlxp)13{N1vc`7(qb_4*%<=I4RhYELLYTWl-( zeX#lLKUqG_K3$Z26VevY`pqTCPok!V?As<_q^3yQN2>_oYHsHj3$5sP6%S zBj?Hr(&UK`=a-}^82IyG5sY6Gv{K-ED52vZ!dSFtW}Wh8bo1+ZZNl+Wm1JDxaN+2m zCf|Kv+6ZI$F)(?+JjX||OE$ZT!zWqUfX0lDF-g+G=D<2%J$Cls7c&SdxTQsT`&^z? z?FQ#?n!-kf3yJx1+u8||w=Yq39Hx>Smy;zr%z(fyGb&Im_XLOnHl|uEH%tZRQk;o6 z|?1Fc?5pY z&NH|Hf}AA^hLSDl3!McNMthRQiEb_)q~hoI%Kx;YeKqy?n4HVPo}%Br0#LSlZ(I>y=|hlJyc>xH8qHKt?OmJQHE2))*rWrXMMLU-;Fsixq4mWw%2HGo!LS+4E6(xE#4i8GV`}>e|5%?7 zqg-oaeW&z>Z#ZHR*?YJsVcf^T!ICv)-l<6+h}TKpO&2WFArW6KB=C2UPenrLorf!& z!`kGDrSveZrWy)2>wj5~vhFXmxWqSa;8iE~I0#oe`(pJX+Y(QC?;2#*teU@Uwfh(m z6ms@VAW8&?7vOYoao0eo?WdZoij@&j{Dj!6ie}wk7uj&>n<-LtUB8ut=`>b_V4=d^9KhHSM=E`Y?Q=m_`Fk6`1$+)1dOU{auXFb zgCK%$iYO1D%#uka>nR6U_2ni?O)tF*!QHI*PBn6tnB1rx)^g|1#MUcGdz1=ac2;|8 zk_eHqjiU<2nVy3|vMH^FWanvEP^TIi45oswZ!krA*rc(D|7r7KFS`ax?DE&4$|O(a zfctExhX21YfcWZ?V0+w~PgL`{^{GVk%$vmv3*S{6<3)_SiD@nq80YdGF3c?J{)qc$ zx-8QzHqN#s{9YyUa|Y8WaZy^7`ZE}O8w?i>Cdxs^jYt(H21&`RzxjxHnPls+eQ@WUb!nHylZHW zY(Y>JQg`Ja;Icb}e+`QqVPpgevjs~Ho_JOa$-_r7mN1Le5M=_tBLIFCXp49kTz&o> zXHS$H66f)uOENPgw`*yXJsd={wOHDMZw|E+5QLN-Gkd~58?Ia#&$(j1nODvbFbJHG zf>-d&?H?j@IsMdUMolrSh6Jyo2+TBdp4cR35tHa*Y08|Dv(G-NercRR^R>Vs_pzkZ zO1I)H8U0SyS?gNs)0F9qDis~igBAGN0E*vk-*kyJq!jYB-k)T_)KT;h1Cf|fHd;?X z$zAEO9VIF=DCyAeJdM$tKM1(Le%ubA%rvfhC2eDl#zWMRUHyD=i+D(N+5rxwp=N7A zg^q*3D;37xl~3jFe{hS}AF9vvvhf}fzMh%OzcIX?(u+aYbqv29#V2Fym~8qN?L0CN zaJx6@)TidrkuGFwnH}zPU_kbCQj*kTu2Hb*^vt27z*?Zq2}m$4s>d}i#sd{*iKm74 za*M}4N^%E)yR4Y&D`uvbpUdJZuqtV)&&UoDirnyIntsB(qggSEy~;29fC%`!7c=d1 z@VnRD;uZ_>gc4Dnb>>r-b+MAiWEUbGa%S(7S3{^E8;VugcfD^FBV$kBG( zp+*C>eozun6}uL(QJdh*IZm(pm6{Z+0L_pp)EE56j9?Rqz_eLlp$0F^K;P0cue<3<~ez zlkp4~3O_zAchmCysZ!a?wxx|~!x-Rj=LULHlJ)Z9NOw+tqJJJL=IoaO-zFMiJSp`AS?rxWPTiQYvi>% z=s;_6*}>~SGExpl%x0tuhEnI1aNX6v&C$oRlV?00n4$X^?}R71BOe0W(p}N?h^fe< z>Xy^iYuDDXaURuJHWdGCH2>A;RA(Xs6(8d~Is3{G#AtcnTYk3!hFMf_X5!Ju>P5;u zZsSZis=?mfMdC9P`T`WoxrZ4}&qD@q?#HV4LQjJz-Lr+lv>x1`-7@iFQ(Tw8F}wZSBN+a` z1y$0EQm?}v=knBTjZ#|^m% zrBwI41S#5zNlv>jjQp@^3SC`m0e3(TZNt793uD8k2U{J85W~l2KmQnbqVnGT?Z^G9 zWo%MqcVgvM^s!vGBeibyj%8>J&r1Hbm15ms@z*y)s@wgNrrH+g_QD$2PZ*eE9M>V( zZ_~kFgCx$MN8*A3IlP$ZapXribN8uN>*Eq53NU#>hJV6G6Srkj+ z4t!B99k1)&@MMYzZ471Cw8Uc*LNIX(vEnqJBokQiO^WwmGa>F-o=+eD)#s5kY14e@ z`=vph2A$br692^4Em?dmfUf&1}z3NxDa08LLyZ2ewzo_#R2V zz5+!f;F`402B}NWEWSOL7Aj6_mR4bka})F_rxE;exLW;w@c3zp`zVElgC2VCsWd2V zwh1T?tIgsX=|lQ{z`i?2zmXo@6tL=}dW&Aq08@!psZuT6*`vC(H5M`Lj)HyhM|i5i zngBc(6ps2AvU%Dp3WDV2v`X}`WdA;OljZ#79N{pLI%$v}5bQK_J&x%Q^{^(|Ishr@oL|gtQumw|m z8RMYLeOb4kj!q-NOtVT^qLeh2J zIw|Zaw9U0z!P+-Zx|6UEzEF{Ai(uzffn${}L%YbV4L+Cg z`z5do7SOhCE@}9W#>Gh)f_04=pQqRx^?h2kq5s;;;+x##?r6v1H-q2Ef`X`!c@fE1 zzPT7piJS=B$ZJ~~VN%}@_W6L@ecezJ91d`MV7Z{6tAjLXgHlQ^W#G6Bm?yeW{iJ6<4}Bt9(yVMhRdk$^&lYLGnFL<$Zrz3eVHRAqWa zoM0kxeO9r6KT-sNWsMp>(L1F+SJ=5AKZsGYX#pE4P zE@$S&Jrp)Xht#dU%G0f;_Irymxm?7C*F`SgH({xZaUAWU^0>@Jql#-ie%9E`O({E_ z5eJaUTn*(s`j5)ymB^eETXF9#cvN%kfYF>L0K?4i=`VF4u(d*Qm!I>3fjEot*civl z-R~T@qTt8)6u-tuSdhq?bW~oG_Tv-=RA@99-SC!C2qLz`j#P@qk_jk*psx<76!cdd zVDO7%>&aX65j(>pG6h(4L=h}fnK?G5r-;5f@TBa{uh+T@DspzZ`cb7!&X2Rz$6o_k z!MB)2T5Nad^V8rn9l(3JEg=G~QgsogwwZh`b7=d27w=C+C(nPX`?{jWYMe(`wZa%K zet}@npABg6j#_I$vC3R4;Y11>f90@mzkshB)5g}rICWt%QnpJJY&YzF9A?@ zpog~q=Ai~I97T3XJ@?x(P4{mj|KwiSlZpG92d(S3cQx)*mj}SBw;CO_$d51Ryw!7Vhc$8WfX@ZHz<}f8 z{=x9!q%hll4G>tcV7I~;c{=s?)fmEIX6tJ(I<&e|(aD949D|_AO*O4=KNa1LqQXJY zdQFw&h@b+Wh=%H1r7lSC3wmQy0E=Qy0aEFpRvhH~7@%N2x!}s6#j=y@qwzApsvqNaxIcaV0qJ#4q#Jitez&Dlkai z979tbdgA*<)bcbAtbE1Y=@F*l!+P+t#Y<{5s|v$6P}|2a)5{&j2gr-DeUB8@2yMmK z$R-2(H}m{975k$?=~H|)5Hw9BI*%HZ(7B5OdFkzPF@>_zDJ`XGP~*?j?^H-(Wk7koHgz<$C_$^r1@fYf7-$-Nh) zHki@pZ&fE2=3F=YMC{MFa9AkP8E|_pWS)XOqY~F5GHfGX6>b;e0tf7TxkPYKxU0WP znfwgGR=p2cgDXJr1$4re>Z8GsMe(ka09@o2jQZ8sVKWZw?90b-@o_(3((=}x70r*I z2^zdHbtZS?(I~V#24UGbMT7wfiiRzR%Nw8l!i8z(rO`1dlC0-yz(-!DzF>a8J7WDh z^kVFyhw7m<9w(1t>N;ls_h0ASg+ycG-K+swEHpL&po)Pz5TD}^na2(h-*T+A9Vr?z~KO-vP*qmP4**`DI-Pjl7Ri(hg<$?FxS3OATq zKNf=7!kv{{ow2*n%a^$(jJjOPwlCX|%2;v)DLbB!FCG+^{}!2%?SvejzkFW7Uj`rY z%d%_6Dfm?k$_<_m{Dh_4je*hq?0wn6O$Vdh{D-&6!KH@_q4|26?#O3ww~9;?kKn%K z9atvXcY>uBQuyyMhmbJ1Mj!wkO=SP-ySGvH5Gv4w3DO31ZzpvZo1Km38rK4K8&;Ne zo$rGyZU4wuUfc;Cg~=>ZG2Hi4zF+%V`JxReTLk8yM%zcfXsei2m*_kQ@Q`3zlhJJUO zW>}T}(gy;)bx3J^KaVFq!!m1po3k5jBM>4Vk5?L%pSy z%=U=$^X$_f$icN#aqH6)C}L_s4;R+67e0-2!1U|Yfyb*t^u!lAL+b3QI6A7!lcifN zBMzM22JQP5w~EMaBC~>JjIT0Wfc!3k3)fvSWeIMs2(j7#2G3?5^fDjZu+c|{>zRCj zhg7@uF>!j)mQKqKl8jRcRC5jKC0yC`1whdE`|<7CLa_2BHnrxXvx6ENxOZp9!o}cc zK+uw0<|+F3T~&h>Y9F+YyAb9|^V6(`yt2ooXRD1rrfG4WQyRO3Md@82dHy_@Ca+11&_D-$q`*Z-4ECfK}=@6X$3uHl1USMKXkOt`u#q-pj+ zivi?F*NGw_Ggn7>SAXV=#m}xRK=>9jSINQG{1DTW4ZK{>s<3k_38#^b)%ySfR7# z%DsSXi698rJV0Upxzu5nY0Vi~R&qwix|bQ`>&)v<&?YH>5^kMf2u3U+Ns`~q+Yxb@ z-JSgh8(xKfe7ZO;2*OEw=igV+yDp-ds_td2pIN8V98RFCq<|Z9v+)bvur$Uqa|~pn zpJ14S|JePmZoF>8O&$Sa?j8w(CA0q3Yj^^zQ#lc4*b+#!+UnMmV#$exRNq&LNG-gu>xQ>_`v=T!c*%M6kp7xEVqQ zW0A;-j6>yBt3gP#a0&1c01EK!Tij(_PO~eKy!`rgk1{3-pE)LqfQyzYLE)|a3a8@p z2JDBZ=U8D_6zVb!tFW-MO~KdcA=m_iwyFHRJ+WO~HI;3qS5st>B{pyn^nNmh6BL0> zxIo6mmC0AGpPtGmJ(wvWMlqO8YdMrdZ^@ndC~{*Uyf|SBK?^r<5Ml&D+1rxHR{G*GZk;&ppFiHufUH~rMQ)h zTmnWWFn6&fxlEqum!JD29~QW22Y;y$JKPY1h04yBxeE|I=F{B(J$-lQfIRz~0nvmd z;#1HPB(`hp#tGnU;)=pqC!JmXeJ3&`TEJI2_DL4<^KuTxCFYrBPO5+BfAG4g)skB9 z@j^AvajVs(kCcY>wb~6fiMm}ib{=ufZ|`Zk6)j#xq(t=4x*EMe7#HOttK?{cu(4QT zix_OCH-GL@GQkBNqJ~NlhV3M5_sRd%rinLMFZzBA0=kSpvW85$t42Pr0q?S1=lT-` zAKNfUdpi=zPo(hromy8sC(|=tKW-L~hF4kWN`~e%xY~u&OBt;EClTZ##4}!hv%htD zcV15P4|~4BJ+{7if4Hec)pB~IzbPk6HGA1XO*MR$JpVe%l8H>|HfJRfJVpS-RmdRelNY zYE^D&(FNQ``#<6oN4XaHkcG$T_q7x9noo}wwIINn zfJ|rN%N%Q9b2X8#ouy@J{$y=gO~*qWgN?JJR`V-1k{ZcrixsaTd?l~$Ay&iNl_mb7 zG-}r@*e*h{D_Vjo>E^IGBCKo{YToxbnWZ3-xcRKi;ZY-$Ov>+gTf_g`UO0fE=j<;- zhy0pWOQDRPtMj8doIY#{D#fZGG$&yI9oYFjtSsPr^CUR*JjN~wp8^#OoEoXeY+2sV zRcXCEo$wh^p@bkvg{DUlodJ<+@0YL|9T0^u2(}s%yS*C23t~Emoq{9328Y&|e&to> z$`s23p#?0|J_>BAM+lU#Ku&k2kr#_~Frew!uWR8B?nv72DOz;QlF)e zFogrxhv2&9A<<#Ww;MiKxM!zQS)QD0_*n;>m6Yv7FG@Q97a{Gn%J{#47h6n#J51eB?ny9~N*7d(n$D;n*=wQcXeCNnzbfr1x zu^8-h5RVHOA&9#U9De3cAu`3iRZnTgWg3KqT|v+yDR;ZAQ6jiKXNm?JGR_zaiYp?f z=lpl>@@PY(xz@JU@W)nZs+f&>6t$G_yQ)o<2N%Tr8Y{!4RNwAk}xDey+flcrRSI_t)2376zm zqii(>OpIz_YYBQ#nhiya;|3fYmo*MHd)yg&?UtLY^vLHsD|QwjGLo^}0%?KiST{(^)q>E>#1b5UCeQ46^8qsVI0&g7 zo!)L8_eQ6cL4d|LG>_0}CsUgYA2TkxMlHi;622~KSp+A2Jlb=L|Iq7VL*(ExKyh{g zJBAfMMb<=A0}C3J-L+nbNzV2~=oCJcaqGFaW)fXo-)zi}w@Z7Sllf4I0rYrob0DK0 zyqXRM;rD(vyzfWJNmZ*^Ytx>Us-6B6Ug@_Tefz?wmMjNU3PF=!z5WWD=g$NN%+1tQ zqw_LbhQG{kj#OJ3_^yyKJXOK&WhIUsqi_EAr-T6MD6wv^a5Jb|=lVu0(q#RmPRZ== zV_mN19Q5*tZspF=#h7t&`)1S409@>Y>nYuoWDwWv|Fi(S4X!1ERL3?ScHV;8$|Vjc zfWW3w`N^|2`i%z1X2LoVB{kac!<1>PR4|RC=d6|8E>*M|_ek|5#mMMytjrm_{bCt? zm4&?hlhW^sf9(H$sKhmv$ZxR)DlzDO=g3>LW|jj<9aNw%f`miyxA8c)9XyfK>*IIz zIT=8;=6`l&APBQwOtdR3qy3WYVUqf*z_2$$^&hX-+mz^(~2QDGZ2K zH@!Qu7!)FiR&7LM6J5&0nQ$`iQwi6yd;;YXkscdm-uP+ze_$JRNELjq`}*%!Ecla( z3VH;KBL{MMJRgW0+8R>gh1ve9s`Ns8oG24*OWq1&4q+GoqI1EzN-2OI9WnewH|8+= zK1aysJy*I=r4@Wbje+5Tg?iLwbs@Qk`DY{23@FT~QK+MbS>bN%zbp>1CE#vun`OAV#X5T=y2;fw~SEFsv1ybsVnpQgZv57)a7HjOOE zdXHB5%OwmwLL#=vE_xFLG3Rg&F1PXBtTUZKaio&I5@Q-Qx|C8z2)2{?E6MAYTZOc^ zrCWHT(f3ITOO@*JPN@kX1zg^aLBDlBJJX$TMH&8XGUHWTu<*Z1{-ruyLOAcW+HFf6 zc;I*7^P;bKKM*HHi|WRjoK&*H1$h91vnVOav^=9ju;3{LXoHr%-(~|{S2QO(apZ~u z?IUdsDr#*FF=vQ~-I`Wq9u38q0#W2Pb8Ixg+Wj*9OaymUd~V+Tg9+I!pK&Y+MFEKV zm%&FM(TKXdZA6>=D@c{FGaTmc&k+0hqnPXoCQcakH=cv%jr|Z%1eAp$6Y}DZE@?jx zI85+A{9Ym3@xy7gHw(LGc;aTDm#`s(nLBvbobTCZ>jNyK0eW}NYm)Mcom)q72e-9v^?w5L;^Jpg^YoaM~vXVP8Bb)82mpNCu-5G7bo-l zekm9CZ2uBiorqU$adyQrJ3w*5x1Z#pY~`|iT2}YX23`{xmV*jRf0OyKyuZp?@CgRV ztuxyjmT!a*HaZ(PQ23th*SD;E;M?W%e*I%DfQJ55n)Q6EVv%dqw1(5iUh7Cwh}gipZ3?a&^7*E{-W>mUonnld^Z5TSIv_m@Dl7$3-`QWbg9NfL_^w@q477| z6uTuFuRx76zs?>oInt92_$v>F?kNztTIPMbWnVH*i=zSl>9!9BVJiYU1I@>3j{g1Wr zfWq)e#jkPVe4TF9BWX{^bkIc*5-QSAG_jA;gSSjgN}0^gWRoj!SO18w!3-QmJCkMMZ+vl)%KHb(7iHR8uuAPEwy6 zZa*7a*j3keW2aSYW4tA&=Cs8lnV1~aw5JaC^;rGv*t@2jry{Gz)>DNSyFAT7LR)M^ zG6YuZ<*_>(`Uj@9Qm>+2`Lc8g#0#_OTA=koe}<32bidJkX6)ll>t>_&)@P@rAV(b8 zU4ajWpSwe0S77AUe4{1bU3}P~;X78lA}m7r`f~11sFtdbvZN9nnYZe`hPB5Lx=qJD zx|L5>k_}SY*=4S4vEXxWw}1I}CiPCQ^@pGfr`$FvI~@W}8i@emLJ+zo^cAI%t1=kh z%RktNg!Vf0P03`k-wE;e5{sCv&@4jzR+?i?_D-K^iOvY2E4QuY9ThBE? z%D?FAxuBM@w?i}{d?z)83vQ1LW>%< zi|FZSTxwu@RE5#v;%u?>4fKMpSTKC3@Tpx%sk<@|8D*dGNQ~FN!XmUjwX*))b~wTl zF`e-KuI8xa&}n(E*a@)C@R{FiiLS)ybh#T4N6~XfuNU?b^5%SqO321-WU(bHwRxEP z4$_bYjx^guq-tf9X(wC`sM55M!D@)yi7U(*MH9sOhw-7;U3@qjDlHtbW~rxq7V{>y zF(e(L07(G~>SNU#eRWqFd}`PgrKP?9m6j`!(D8N94kPcGiBe(^*GZhPU9iDZ7tR-+ zM~M2_C%ce5&yXz{W@I-Q7y@J#7TEwyr?>&kLm-R!TK45szYJ8%9*2jrneKi*11W-q zn_PayT_4L(FRD*bk_d@V_q)Hoe`sJY#*v;evr^{ZWjWVu`$jLhf~95aQwv~5V+e0N zFu%BPy!lrsvD&NQ&#F!*#CJtF*RWdm5`@7JBlfDs9;}EoH!-b5u=lA)u+x{we)Jvj znNTqxnVKvcQ21G^~wp(jl~pr z=8Z4Pu|5Gq=#*g#CdMyREHyp$WI)4Sn&;ehl;V&OwcACpXl#4B+2^klhj1~VN-W%PxE3|bL#Fovni+cO zUZl>Y?xFH)V)^IxedgcJ9!hb`6HQ>Cs88;YRvY;y_q9!*Kjn`cNzei`^W;cJHlIRP z!r(@^Ev_+%U{=(CR3v_*Fe8+j$w- ziS*8p9Sp&uW~<)D=;!z8EM@Y)gV7KlF<3I~cRnu?mo(eGo2 z%U`5A&G2;y2l}JX)~K^fv65wDWXgg_(9~qm$_#f!Y%J+TQnW<#-ml!K{!O;+&1bO9lN zV3Hb47h$$gPa_FqxB(LV$i&S!D}K=CT7t;j+v2u|Kf8?f%mbX|QwRr5DzZxai6GA$ zBj1;gZ7#Jbnr&uzynFZz9eutsvejbRCa9h$DyP{k=hv#)iU=@yp{g zGoymYsreeV-#zAW`S!!rPX9gwn8eNiikM z%adWwqtLMNFW-q;S#*`yY7Ptx`sAnWEI&_>@yw1k%E{h?VWTQ7JPdvx2>EbpxhQ33 zUuBl&{HTFXE6%jH)w`~i6PN&;MyIU>b1R1qkS-(i(1;yIhSs#W3Sz0T!CxSj*%#Gn zmn+{=>JH6*U+&mRlnN$E;PP)uay%7Zs=68V=nN4g{HN#OXTcy=rk>2|_pFO3P<*LB zjY9lt30FpU^gN6^5Epsz=es}M^}dI!8144Bwnl8M?^^GV)A*+=t&u#D4)4x>JJYw# zdwl=sLm@+Q&gIYX_vb;&#Z5{xjdtNsq}(j5m?vi^=pR>(pn~aSGCs1OEHP%@_ z?`|-y&hgt8*Uql+oeU!(YK)hj^0zYC{BdYk?A1K8VO^zr(W74eU6lhX%8G|P)-Mcy zr8_J9*z1bo)kqKVeI?D31FsnWQof#0%lY0lW$F)&RLd4saKTahCVfeHt2qP0+u+mZRW)RHwY0k&9P6;fOH4k{1!?}g_LpqK3l86ropc)u8i8U^u1(20MEVRtP^ zfygWl;yt5d#@AqEe62z`;i%0>p>BN-K_J6vecR=hw%J=$fR^MSm>Ta-!a5r{9=B}J zhe=cdDn#SO=0l>@4-8J$%CG#s-3YRcdt9=#UFCpg0P*6>v?|(=@M;d**vDL7A}Xs5 zQ?>Nsy*f_r48dq}eoh4b*Jd09hd|K~9^-C#GQ;q5>6w?(L^&fHtriUVxVx3~eoIV- z)|?@eF(E%{v{UmT)mq>F6j;gzj+kagBP<7h0d8cxjd#E6zQ&l^+s4elJ6yTA*=(jC zGy`aYh!ua26QiSPUVjOT{&(=%{U0iVLLLsyl~q+HR@NUP%b@mj%@+sv_$s7xw<;xa zie7~37EV_JeP4YUZl{vyR7g?5iV~tjfRoUBP1e+iy3Er#?h!=*pZ}PBkID+woK@X% zPu*B-wdD}c`Y`XxA+glyFmM+y3-1$3kkvfxz|(*U90w{TZZO*bNaez4@uLm0CPO*r zo5nE#gH;(X72f?h6h`zuo+rh;ip50pZAzlU3~e-I?JA?MZZLSJ%6JqPn{F;-XrxJW zMlIV~Hk$qDCQlpYFDr@|^htz0tLpb~)QkDm2 zZxIXr^%rT&x8@WUKkP>cvXA!2AdORAPve^rPIQ%e8iCf89w zn3)=+Z7B>HeMR9}tFylOsRk4(zPwPBxpb1eTO%{q!ydMW~$Q7rAS_s{H42Td)U0Z{F^XUy+WR?)#WdK&l zDH%yY4vO(!L#DaNSS0Rr0pnPiIoBP2RFmHpsH&}jOC1wiTtvqppqN80@I$Ms%e6~9 zXG1z7-}IPMzVFjW$5N$H8^UdGk- zEEKBM&$Xs`L9i1`)sJ3d?442grmJ6rjp=4<0qP6QHrw3rx~N@B2gMYNW~&gzmPasw zo`>U;AsC0RMuuD8`znons=j3W=Svdf`mg}7^giSSv(J-Xh&2`{JdYdyp4!3HE4z12 z+n*#q-9OqD%V0dJ6VuO*J8IU?Wl6x2f))vK4DY$>@@0=tqmtj4a^v?hDpI}}h3 zk|%I9e?>2FRWydcOF3JBBN-3z^`UQCd*uDZf)eFj##hIG0t4@W%aXqs-4xEdkU$Ud z6swi629Svc6h7yLod?u9hFWw*HyFsDs;O^p9xZ|BC4p5FI{MFyEGjTbxqq~Rg{@BS z;K-hL0%+_d8n)Gx@91__vFrWIsHesC#PnCRBs+!5ufM#lu;ofp{b{uz~3=^^vA z^XTKQCr2R_Z17(;>W!V_ec!K|*FD%|ObE{Yb(akowUF^53AoyApZ$BYf5l6paY5SD zRG1dqxwqOX0T)u>;2&a)-}3KsY%p=Mk8%eB^&~d)>7hzwID@YUyfG)eyUJ-RMl@@} z%D&}Ivhjg4sO^WbDj?7l#8{ER&vgVAMI}(kMR+mKqIfmK+4tgZ*JZoVP_Fr^EkQEJ zcble+M;u!TlDIxd(pG5o`pZpjQg!^NK4Eke*p5|b|fdX2%FbYcg z&F<6RaL4<$MC~xjfQ{4-g~Wo1K8y-L2gn+WpDptP=gL=i5iVgUpkN54TAkv2%_Br8 zh*$ik`-GBI6ogj{kTr5`aS|+~qCoNepm3ItkFPM6VGIoS7W9Z5M76Z=GOK(4vx5U- z6vjlB_aT?6V0j{PJd`G5JE3Fv=-Z#PwD=+rp3b8J490Lm!$q_E0QxlKpwdiMDl6)V zooZ6BHNjhdISM*NYbf71_@z!MD=ob?^Jj^xe?LKpdXt@vCf?QrofP=lYACl7d z49|3|8eF-ZeZHw0Sl=|FJ!2E(p8l#aahdZF!BWxJv;y%*#e09qAh+7S-Z;+;wNCM^ z$+-iGbK$enz4lwqB%Vp_twYY#P?=k{@BFceEX?!6Z-yXt#tMXl>2T?9cD5$Qg@|O{ z>)zaT%5*Z=|7JH-a+{@7S?!crpf|qh6*1ka?0Rt^ZSY(>@(YE{{=mq@3@P_ObmfV< zMEf6^8#&3-r5R7NtQPruX=H2n8jgz-0KomDL#k9Ehds!wj6Wi9LGESIpN~2R1h5 zZHs1f4IATH4EQ;2n1hwiZhnkvUhwfF2|I{E?i%jVtER8@zfQ$+_IkS2>@~$(LiBjs8`J8?_zPls#&mF#g8(bd)m?sI3e)9TCOW$|!wu_WsS@@n` zFGlkEt@m~K?Fi&7ETwK@LvFAMGW4su7Xe<~_3pRH)sG#14tHEsa3jNUT@MzmLY8KE zemT+mZ#=O(720qYRaH6(0CGxI&C7@vMoZNh^1R8~>bA(!M}x>MVl3yjf{L}pli5b! zF{L1!y&lU!P{Y%IJk-hepZO`j?_2``R%2!&$y_V=9WNOAtghSy6M{DojNoH$eF
K0^dX>wFIytEq<*L&3u$e5g?61R(nwJ8@x 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 Byn_G$ literal 0 HcmV?d00001 diff --git a/PropsButBetter/Resources/redo.png b/PropsButBetter/Resources/redo.png new file mode 100644 index 0000000000000000000000000000000000000000..61ab3bdac66ab962e2d81c628a273e3260afa549 GIT binary patch literal 1222 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85p>QL70(Y)*K0-pk#?_L`iUdT1k0gQ7S_~VrE{6o}X)of~lUN zo}pnEhuArwq8+Ibo@t(*S_~XO4l9EcBP#Pr*VSF!8e-8a zMKvF_v4_V56j;7E_*SiAW5-`^mpgv*j&_SJG4EIEdeF3JUW`UacS!cuZ2?D|55`{k zwP&*ClwWBx^L=O8eE4v#MZfXSteGj3!uWW3Lzm1f+_r3*4nuUXw^+m4m8#qau3eeL znvk94SSkxZkA6!KyMa9aL$jFns}Vf=7Q}GME)#dqWLj|~ z_C{0m#*oAB4A*_1^-sjQLAHV~d{$iM&*tEdt6%;MSi_L@QR$u8-cKKxQ|*4{R@sR> zE}C+Buk7i{Plrr-Y$_K{U_23F-+DbT&-3XL>C|(aO9Px8n)WoDUH1H#bWLM^;Jg=g z3*BVpzRqg=@<8p4>0Ses2Ain@(S};}9~tEiR<4jO-om|s{qThQC-S!@uUI85Yug(* zL3n?c?+V%D=cC>nGq{&*n|1s{=-n3&7<-)5^BmqvI9^K-Z@bvd9cb;g;MK8?YY!FL zF1B4=A*+1mvxJ+x*@A8LD_$MrIJIMXq0BMQE8qHG74s~TmkzvbK56GYHvXg=hn}#^ z`#8(;^VzUo#wkmSZfF@w=uQ<-U(~ZxL2u!<^{aJP7&dqZ+&=DEn%r?#!o@laB>4CP zSKkt5?xIhNUN=wJv%J2QciDIQPcJmN=U+%&p?p~0&2GUSA^qF!f{}Ocewn59$)w^= zwi@$w&j2-h`+bii*UyxRVVV#gQN3rGmvr5iStk#wHe9thn!Revtyvl|OdPx3pXPeA z^16?h9^;ygp^we1&MqrFsLD`T`u4bUw6OaX2DOB}*Fz?XOLeMbF?_O&a{AzW@0H4= z6^uUHLY?3J|D>oiQADZX$hHnPx`|FhC8`=ta6V3>h@=0t?VZ1RbY7;|_uWlp* fQp(p{y6BO7a;|;Rjne)yP)_u8^>bP0l+XkKFbUy? literal 0 HcmV?d00001 diff --git a/PropsButBetter/Resources/reload.png b/PropsButBetter/Resources/reload.png new file mode 100644 index 0000000000000000000000000000000000000000..61f20fefb2bace68d71690dad9a835b24e03c3a3 GIT binary patch literal 2653 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 literal 0 HcmV?d00001 diff --git a/PropsButBetter/Resources/remove.png b/PropsButBetter/Resources/remove.png new file mode 100644 index 0000000000000000000000000000000000000000..0f24d17044d29d05d103238be387f340e943152f GIT binary patch literal 1386 zcmeAS@N?(olHy`uVBq!ia0vp^DImQL70(Y)*K0-pk#?_L`iUdT1k0gQ7S_~VrE{6o}X)of~lUN zo}pnEhuArwq8+Ibo@t(*S_~XO4l9EcBP#Eakt5%+fP>2d*eMc3E8i@h7WF|o9?RPjRM;~eP@fyNHO#*T$DC(A=JcD#58e_g(plE%DE=MLRUoUr#p$?nz7 zNeai)Z}+(uu-^%I;rByg*_;`+Y!RkPrkT)kc|ye1-ET=Y2a_yX=VF&ht}FByWp)qDj}0FWR9@z9 zKCwnHkn4%klM^pi2zu%9e5+h|SF~Zdj=Jp*Zu5g%?z&dUPAg)6b}Oz;ZpqtOXTzkv zE^^b@dRQUzcG~8tZnhtJQacPhZtc67votW@#z|6(XVSMsv*^q%Y^n=+B-uQF8_r&9 z62HGGtGjkMF%!7j3WF%!L$0b*A+-rHccYR-F z%fn+c#Y$!?lqddYy7y6dUdx`ko<2jiL)}&OJo9#4x-9N&$!eQ_m;cZW zriUk9{6F-n?%TKZntyoKD?gUfyxVf*;H^LBmz;mxwq)uS|IIhO7Mn(%=BbHWxa99l zpy$`NJ}o<8wW?clq|nM|bb>Ojq2$Qbu!6dgy0Q`P*sovGvmzuq4+etvIn{zQnp{ zB>_W{kPUO>%-rQCp5NRiao!>B{I=jDZ|}d8JkfiztZRoZ*Qc73jojboAH3_EX|<=} z_k-=rLOPyv{N$Sc;Pf&RUWsFlFND}W$|%atR{Xy`W!?MRtlJNLWvSn@r^&`QwlObp nf>a|5>k%859u5%dYHf}0x@7xIG??u-sI>5O^>bP0l+XkKiVP@6 literal 0 HcmV?d00001 diff --git a/PropsButBetter/Resources/rubiks-cube-calender.png b/PropsButBetter/Resources/rubiks-cube-calender.png new file mode 100644 index 0000000000000000000000000000000000000000..9b36a1ec19344af4e4b0a54d45a77e7bdfa4c5f0 GIT binary patch literal 2963 zcmV;E3vBd>P)nNpYp>sPty`;As8FFog$flaRH#s)LIp2?y?_qjT3|Ks zXJ9MvFW@oY+rS%vA%02~q5vEN%m@BK7)(Gn0ApI+_kIIl4`3Sb0L9S-+zm_z_G|T+ z`ZR#Ufkj&FvG^_Ux>k>=UjWz}mg_R$>tI<-Ac?RVz0 zR_14br-;YXz%9VY0KP{7-_qp9;BPXwGkNwI0EYor01rn_&Klqifjox-?*)Dt$@8DU z9N>Uje}ok14f3v=;^5J(yz@AfhWoX}_ATE9crNf3Sw7#;-fPd-flGiFq_jH-cpva1 z;NO~rPK7^yD5ZarM@bI@&IB%#uVO-547}fzeM*~sf%DYA#sy(k+bZBvv*bMEHA7;G zerLMrL+Zz{T8kC*yS0Tpo3YZK0luq2436YGRNK&xMc0QlKJQ$*ZJ3^YGx#10T(8CA z({DEe6M;dsW&k)2xGBeW(}=%n_+y*=Z zY|>-l_8WmyTzs{HC(Ei@D}mdyLW!%lrdd4-R9Xn-)7lR2Roi=Hsh#Pu?960e2>e`& z!k%BqS-l(><(bDLZE@6Mk&ygDn&7=7=~-~_8c%RAO+g+O$#*>PRp3do@wf!`vPhnT zfj8+(wVk3XhF+bh%Tl^LPmD)jg9QNZ${9Xy+=6cNtzZY={k2uDrx?2ACz+DpC&zfr z-}$&}(S_3R5%<~oL7mhd9I`S)u+z4=Ks~oCVgWS5R{8#cK3b~237vNz10Uw*pku3b z2Jo|j6Y@B4wdt&!{Xa^<U20r}7@%tM!0i!Ys78WXS z=fhLLcYw39wkd^ThItfn-F#jVU_L*rP|!%v7Cg!HgX7(%RtlsCgT$*Y>5OyI^o=Z@ zvn9Z#dal>LKPk<1=HV6Oxv?^nBDZd9k z9GW|quhXHxXsYuYJ72kxwHotwC?S{&1NpyMDcmw(I_uKFFT!fMGLduq+j2~OYUl1O zu|rANs+*XjA14A|DVPerR~FuL0<)V|o*IOl<6jv%-mH-O&XPLRh`Sx_Cn{8vmd7|i zxflyy`0xnu1>lt)tE-1aCZPu-$M|ih8CNRoU zPfB;TLKR1QLK$btq1LFc~wvz5)%>UQgaK{F}m0uzdq z*d)RqJyNlB`x?P;w9kW0j`nwHtS1JH!%W&w*q5KtkIbUL-0%eTOnLo4wMgS)>so1^ z*=$%G(a$l-;t5YbcJxX~X+UvvvPy7n(K3Fz&;AAH-5u>iu`#rg(ZS=?EGsJUYEcm$ zA)Uxu#lGvR0(g2#%UH<9HSnmM$n#eqfmgmk1xUF|#voe!wmZ?Ph?!#uI5 zY0C7KC6KMEO)fl1s-zF;hY9_NqI^O+Qsk_jE4*+UDCc}Qsg zJv64e@;-e@Ajq@7)>V)oQ`5?IZnvUt$NQB!5_fS(%GMM5u_Exzj(4u~@DfivYgfXp zNI$YVS)?ShE0WGO?fKDLO^$KCKKT_o-q&H(@~`pG86;ilq|;XgQpeXyACS8m(W)+Y zgX4E7n(h7ig{lEK&#{$EQLg)N$DThw`8fDaFG8PHE7n?PL;GP}SNLhrJs zeK}HU<8Oq+U~YG1q<_Dm(l58ISCyItqFKdLK?au-7@SU6cXKdes~ z#7<9sCPp9|b#8EY0h7Kcz0w2{VjXSK?Ke~F-g7|I*_a^S}2eQ9duR=bhCGB z3k9;nLC1=i2ed$f&kZ&?g*$qn3Z$ceLaqeT6Xj(TRWbNv3sSiBf$;h)F1JN+7+ge^xmDlg<`TNS_9VInwja_ip!=-2 z6<$$$ANwt9l;5ynDU9M|G z`ZehG_>2B0(%wez+@00#p!)*j3)`TMxBl2QfTy*3UMke`<9}Kng@6S8lN$g4002ov JPDHLkV1mnrtWE#` literal 0 HcmV?d00001 diff --git a/PropsButBetter/Resources/rubiks-cube-clock.png b/PropsButBetter/Resources/rubiks-cube-clock.png new file mode 100644 index 0000000000000000000000000000000000000000..6494f6e2f55d4c67dbda769930d64efd97e97bb1 GIT binary patch literal 3296 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 LS5Wo(*Q5UjufW!k literal 0 HcmV?d00001 diff --git a/PropsButBetter/Resources/select.png b/PropsButBetter/Resources/select.png new file mode 100644 index 0000000000000000000000000000000000000000..89716a605c44e044ca478f541fa08a73c6d4b052 GIT binary patch literal 937 zcmeAS@N?(olHy`uVBq!ia0vp^HXzKw1|+Ti+$;i8jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85p>QL70(Y)*K0-pk#?_L`iUdT1k0gQ7S_~VrE{6o}X)of~lUN zo}pnEhuArwq8+Ibo@t(*S_~XO4l9EcBP#>W)kCw-7O?!ySuJVSefmIU z{fgOf(yHq&Efi*M_XC<`Sn%S=0U#&b=kfEWR{Z?CH-7wFG*@(+rGEH5#?r7K)@gI6 ze@}iY8<5_r-YOb>VHxwc2U2y%fnEYdyTnOH*Ba%7b}l~+h#E5K>Loqss;bu-p0m1inZyL-Z+&f&*sa6ef{1ib!M+$ zk$lH!-$mYxqsNjBHZ<88IA?!3?f*f|?s_kqrc8ux^$nhA&xZ$o?Ma&(S-bp0+%Jh& z#(%VDvYy&;`I4Va`}4v((j4)ccP<^yIkdTgaqq9|i#dH{cl6(?W7K~nc=v-ydLw(_ z3+c2MvaRB}(qH!MO=)|(1Q@zk7oKJj+t+$c?oijJ##X0z)5FJpPKYa>skUK9lU>NK z%&N0XUufBOp040s8|HQV&r#+dW;34}_1WqlHO?*MQ~UL6GmrfT+pNYY s*VkrpOI{tg_i)$Jz3Oayv;CgSzj0W^{C96)Gbpiny85}Sb4q9e0G?N782|tP literal 0 HcmV?d00001 diff --git a/PropsButBetter/Resources/undo.png b/PropsButBetter/Resources/undo.png new file mode 100644 index 0000000000000000000000000000000000000000..37905d31ef4b4a716628fd224b979b1919068f0e GIT binary patch literal 1228 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85p>QL70(Y)*K0-pk#?_L`iUdT1k0gQ7S_~VrE{6o}X)of~lUN zo}pnEhuArwq8+Ibo@t(*S_~XO4l9EcBP#ZIP&yaAU{`-#@>!NmzY42?~|`JaYyK0joR3?=uz8( zwdbv8I&aONbaMI@Umv-O8I^~pJJkK%chYCs)4hB5rdFoS$Sw93Y``SmF?&>L#WZFY zSlv6$J|k-qPlDdOLsh|*CJ)R0ivF9^p(7JayLJY^wdInOA~dDeREYf9w+c^D~d?3jJkXic4#l zpS0;MJbm`Gvf);9eHY#Y%~K8LCqw>id6@OaD735dlW;_z_=Za%2k#u&9=BcoQ}2&9 z`GBUXuKthed{*liPZa;t>oX7iRCCZ4lJhfBWJxDXDW0{c2KIu@qKv{W)YDSAOC~!`dD9 zLO37&lE^tww%$7B#NzKd?+zDPPGAX?Yc>uDtGT+2>zTy954-+Kv>J7;I#?Oe9cbCL zJCN;6g$IM+oK9JZwi-9P)v=G`mp?Sy(`fs`OL>-kg3Q%s#jwZTJd0&l2kdT}|FuFW zw)sZ?t~0L>t(xguJctPkJGUwhAZa2UR|}pMYW~<#&k8Awp-5^M>VdMIKp@3+*i|6 zE+<%TN<_AXS_nuhZ_=60I%$o+$-KuoCHLArtQrnJ;5emop}+LSo~j;e4n9`)kL}k( zJ540g3>(UCyeSPeTl7a{?ujG@r^UIZY76#kD_2_0c;_(R`qfIGnbbE)HT2y1#B{Y^ zbsMkhYDSLjIjaNHZwG9WIiP$y>xB30iE-vLbl4Rp%h^A9_IKOs|4OGBYmP4X*>G9S zZyK|J3X6S_V8i|H@P~VInNL{uf973pnU(vST~4jN`zzol7wZ%cX1H@N3OQL70(Y)*K0-pk#?_L`iUdT1k0gQ7S_~VrE{6o}X)of~lUN zo}pnEhuArwq8+Ibo@t(*S_~XO4l9EcBP#3&|DWtxQurxu+RQyqmfHU?oatHnq1Je&kJ`p%5jtX@eC#8iP20zE!sskdt8T%j z6_RS)oDr2%5Pr&fbDs}X>SYRI>D_HOG;U$ycV5jeyKRq z_kdc2a;Wk{laSor586Gx@18g4s63dy+{8<49xL17xgTU|PO(kC;dMY`hhUM}|08W% zl3oklVB88CWv?J8`Ms>u%n$ z(?Q)QSvHhk^~#l(PFZM4bRE^RV0%?}`TWievSzz)Rn7cT=P)CC-Ul-)j(ttt4~#RW zs0bghWm@+ttvjk<4Xgj8SA8(pkMUoby){mEq z#OCBhY<$q!$&zALA!N>2*!*5(E0>Tu<4pc}F1`+-EdGmB7GyQ4CkhLg{xC04_W6 z?S;(q4I9|jwbe)#&EtJw_QYFw@f2@|po7A7UdER!uN?ZEwfu&}QXzr#8=s~4fEs4U z^f4Xc6}hFSD*ItZafX1JL$d82_QRKWXD@hXet3tt(6n8jk6rO?QcjpN@A+G8;}=2& z5^kLLo+v%vsk1h(L+HKC0des;2Yz)&8RV?};O6{qTj(C;hS`#dP4(>49i&f3zdk6O z&s2BXh=XUI?fjM5_qx9eJutU;uXz9XRHv^t`}dqMxhMF6SFV(=cIB)Goq38!?mZV5 z)plKL{->hz{_7Ce4@dG Date: Sat, 28 Mar 2026 06:37:05 +0000 Subject: [PATCH 2/3] [NAK_CVR_Mods] Update mod list in README --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 73175b8..79bc57d 100644 --- a/README.md +++ b/README.md @@ -15,6 +15,7 @@ | [FuckToes](FuckToes/README.md) | Prevents VRIK from autodetecting toes in Halfbody or Fullbody. | [Download](https://github.com/NotAKidoS/NAK_CVR_Mods/releases/download/r48/FuckToes.dll) | | [PlapPlapForAll](PlapPlapForAll/README.md) | Penetrator SFX mod which adds Noach's PlapPlap prefab to any detected DPS setup on avatars that do not already have it. | [Download](https://github.com/NotAKidoS/NAK_CVR_Mods/releases/download/r48/PlapPlapForAll.dll) | | [PropLoadingHexagon](PropLoadingHexagon/README.md) | https://github.com/NotAKidoS/NAK_CVR_Mods/assets/37721153/a892c765-71c1-47f3-a781-bdb9b60ba117 | [Download](https://github.com/NotAKidoS/NAK_CVR_Mods/releases/download/r48/PropLoadingHexagon.dll) | +| [PropsButBetter](PropsButBetter/README.md) | Prop quality-of-life suite. Adds a few new ways to interact with and manage Props. | No Download | | [RCCVirtualSteeringWheel](RCCVirtualSteeringWheel/README.md) | Allows you to physically grab rigged RCC steering wheels in VR to provide steering input. No explicit setup required other than defining the Steering Wheel transform within the RCC component. | [Download](https://github.com/NotAKidoS/NAK_CVR_Mods/releases/download/r48/RCCVirtualSteeringWheel.dll) | | [RelativeSyncJitterFix](RelativeSyncJitterFix/README.md) | Relative sync jitter fix is the single harmony patch that could not make it into the native release of RelativeSync. | [Download](https://github.com/NotAKidoS/NAK_CVR_Mods/releases/download/r48/RelativeSyncJitterFix.dll) | | [ShareBubbles](ShareBubbles/README.md) | Share Bubbles! Allows you to drop down bubbles containing Avatars & Props. Requires both users to have the mod installed. Synced over Mod Network. | [Download](https://github.com/NotAKidoS/NAK_CVR_Mods/releases/download/r48/ShareBubbles.dll) | From e0062abef538164ea1a70e27bd580bc63736764c Mon Sep 17 00:00:00 2001 From: NotAKid <37721153+NotAKidoS@users.noreply.github.com> Date: Sat, 28 Mar 2026 01:38:04 -0500 Subject: [PATCH 3/3] bump --- PropsButBetter/format.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/PropsButBetter/format.json b/PropsButBetter/format.json index bb8b96f..6c4012e 100644 --- a/PropsButBetter/format.json +++ b/PropsButBetter/format.json @@ -19,7 +19,7 @@ "requirements": [ "None" ], - "downloadlink": "https://github.com/NotAKidoS/NAK_CVR_Mods/releases/download/r48/PropsButBetter.dll", + "downloadlink": "https://github.com/NotAKidoS/NAK_CVR_Mods/releases/download/r49/PropsButBetter.dll", "sourcelink": "https://github.com/NotAKidoS/NAK_CVR_Mods/tree/main/PropsButBetter/", "changelog": "- Initial release", "embedcolor": "#f61963"