From 1df0c661037ce02fae0e8a3ad8610e31bc7e4d38 Mon Sep 17 00:00:00 2001 From: FelisDiligens <47528453+FelisDiligens@users.noreply.github.com> Date: Tue, 15 Dec 2020 01:17:55 +0100 Subject: [PATCH] So, because I'm a git (literally) and have no idea how to merge the development and master branch (conflicts are too complex, says GitHub), I decided to just copy and paste everything into one commit (here be dragons, lol). --- Additional files/7z/7z.dll | Bin 0 -> 1679360 bytes Additional files/7z/7z.exe | Bin 0 -> 468992 bytes Additional files/7z/License.txt | 90 + Additional files/7z/readme.txt | 51 + Additional files/Attribution.txt | 67 + Additional files/DefaultINI/Fallout76.ini | 100 + Additional files/DefaultINI/High.ini | 57 + Additional files/DefaultINI/Low.ini | 57 + Additional files/DefaultINI/Medium.ini | 57 + Additional files/DefaultINI/Ultra.ini | 57 + Additional files/error.wav | Bin 0 -> 365956 bytes Additional files/notify.wav | Bin 0 -> 572480 bytes Fo76ini/7z/7za.dll | Bin 381952 -> 0 bytes Fo76ini/7z/7za.exe | Bin 1152000 -> 0 bytes Fo76ini/7z/7zxa.dll | Bin 209408 -> 0 bytes Fo76ini/7z/License.txt | 31 - Fo76ini/App.config | 4 + Fo76ini/Configuration.cs | 85 + Fo76ini/Fo76ini.csproj | 258 +- Fo76ini/Fo76ini.sln | 8 +- .../FormExceptionDialog.Designer.cs | 7 +- .../ExceptionDialog/FormExceptionDialog.cs | 17 +- Fo76ini/Forms/Form1/ColorPreview.cs | 25 + Fo76ini/Forms/Form1/Form1.Camera.cs | 114 +- Fo76ini/Forms/Form1/Form1.Colors.cs | 217 - Fo76ini/Forms/Form1/Form1.Designer.cs | 4435 +++++++++-------- Fo76ini/Forms/Form1/Form1.Gallery.cs | 107 +- Fo76ini/Forms/Form1/Form1.Language.cs | 122 +- Fo76ini/Forms/Form1/Form1.LinkControls.cs | 808 +++ Fo76ini/Forms/Form1/Form1.cs | 2582 +++------- Fo76ini/Forms/Form1/Form1.resx | 98 +- .../FormIniError/FormIniError.Designer.cs | 358 ++ Fo76ini/Forms/FormIniError/FormIniError.cs | 156 + Fo76ini/Forms/FormIniError/FormIniError.resx | 700 +++ Fo76ini/Forms/FormMods/FormMods.Designer.cs | 1153 +++-- Fo76ini/Forms/FormMods/FormMods.Details.cs | 1071 +++- Fo76ini/Forms/FormMods/FormMods.cs | 1518 +++--- Fo76ini/Forms/FormMods/FormMods.resx | 46 +- .../FormSettings/FormSettings.Designer.cs | 1511 ++++++ Fo76ini/Forms/FormSettings/FormSettings.cs | 843 ++++ Fo76ini/Forms/FormSettings/FormSettings.resx | 306 ++ .../Forms/FormSplash/FormSplash.Designer.cs | 117 + Fo76ini/Forms/FormSplash/FormSplash.cs | 58 + Fo76ini/Forms/FormSplash/FormSplash.resx | 825 +++ .../FormTextPrompt/TextPrompt.Designer.cs | 103 + Fo76ini/Forms/FormTextPrompt/TextPrompt.cs | 68 + Fo76ini/Forms/FormTextPrompt/TextPrompt.resx | 120 + .../Forms/FormWelcome/FormWelcome.Designer.cs | 371 ++ Fo76ini/Forms/FormWelcome/FormWelcome.cs | 149 + Fo76ini/Forms/FormWelcome/FormWelcome.resx | 835 ++++ .../FormWhatsNew/FormWhatsNew.Designer.cs | 2 +- Fo76ini/Forms/FormWhatsNew/FormWhatsNew.cs | 22 +- Fo76ini/Ini/IniFile.cs | 314 ++ Fo76ini/Ini/IniFiles.cs | 338 ++ Fo76ini/Ini/IniParsingException.cs | 70 + Fo76ini/Interface/DropDown.cs | 58 +- Fo76ini/Interface/InvalidXmlException.cs | 2 +- Fo76ini/Interface/MsgBox.cs | 117 +- Fo76ini/Interface/Translation.Shared.cs | 311 +- Fo76ini/Interface/Translation.cs | 328 +- Fo76ini/Interface/UILoader.cs | 234 - Fo76ini/Interface/Versioning.cs | 37 + Fo76ini/{IniFiles.cs => LegacyIniFiles.cs} | 401 +- Fo76ini/Mods/LegacyManagedMods.cs | 355 ++ Fo76ini/Mods/ManagedMod.cs | 585 +++ Fo76ini/Mods/ManagedMods.cs | 298 ++ Fo76ini/Mods/ModActions.cs | 284 ++ Fo76ini/Mods/ModDeployment.cs | 607 +++ Fo76ini/Mods/ModHelpers.cs | 182 + Fo76ini/Mods/ModInstallations.cs | 342 ++ Fo76ini/Mods/Mods.cs | 2320 --------- Fo76ini/Mods/ResourceList.cs | 268 + Fo76ini/NexusAPI/APIRequest.cs | 134 + Fo76ini/NexusAPI/NMMod.cs | 350 ++ Fo76ini/NexusAPI/NMUserProfile.cs | 329 ++ Fo76ini/NexusAPI/NexusMods.cs | 174 + Fo76ini/NexusAPI/SingleSignOn.cs | 153 + Fo76ini/Profiles/GameInstance.cs | 176 + Fo76ini/Profiles/ProfileManager.cs | 253 + Fo76ini/Program.cs | 3 - Fo76ini/Progress.cs | 162 + Fo76ini/Properties/AssemblyInfo.cs | 5 +- Fo76ini/Properties/Resources.Designer.cs | 210 + Fo76ini/Properties/Resources.resx | 219 +- Fo76ini/Resources/Fo76ini_LDu4jzf2p3.png | Bin 0 -> 7168 bytes .../Resources/Xbox-One-Controller-icon.png | Bin 0 -> 10702 bytes Fo76ini/Resources/add-archive-3-24.png | Bin 0 -> 10028 bytes Fo76ini/Resources/add-folder-24.png | Bin 3825 -> 9368 bytes Fo76ini/Resources/available-updates-48.png | Bin 0 -> 4073 bytes Fo76ini/Resources/bg.jpg | Bin 63362 -> 21335 bytes Fo76ini/Resources/checkbox-24.png | Bin 0 -> 8532 bytes Fo76ini/Resources/cog-24.png | Bin 0 -> 838 bytes Fo76ini/Resources/delete-48.png | Bin 0 -> 2101 bytes Fo76ini/Resources/dislike.png | Bin 0 -> 1615 bytes Fo76ini/Resources/download-2-24.png | Bin 0 -> 628 bytes Fo76ini/Resources/download-2-48.png | Bin 0 -> 2445 bytes Fo76ini/Resources/exit-48.png | Bin 0 -> 2533 bytes Fo76ini/Resources/external-link-16.png | Bin 0 -> 5523 bytes Fo76ini/Resources/heart-24.png | Bin 0 -> 728 bytes Fo76ini/Resources/heart-48.png | Bin 0 -> 2072 bytes Fo76ini/Resources/heart-broken-24.png | Bin 0 -> 2381 bytes Fo76ini/Resources/like.png | Bin 0 -> 1614 bytes Fo76ini/Resources/login-48.png | Bin 0 -> 6134 bytes Fo76ini/Resources/mouse-icon.png | Bin 0 -> 7862 bytes Fo76ini/Resources/pipboy_preview_bg.png | Bin 0 -> 123235 bytes Fo76ini/Resources/pipboy_preview_fg.png | Bin 0 -> 25409 bytes .../Resources/pipboy_preview_fg_masked.png | Bin 0 -> 28047 bytes Fo76ini/Resources/text-24.png | Bin 0 -> 330 bytes Fo76ini/Resources/thumb-down-24.png | Bin 0 -> 461 bytes Fo76ini/Resources/thumb-up-24.png | Bin 0 -> 474 bytes Fo76ini/Shared.cs | 138 +- Fo76ini/Tweaks/Audio/EnableAudioTweak.cs | 36 + .../Tweaks/Audio/PlayMainMenuMusicTweak.cs | 36 + Fo76ini/Tweaks/Audio/VoiceChatModeTweak.cs | 57 + .../Audio/VoicePushToTalkEnabledTweak.cs | 36 + .../Camera/ApplyCameraNodeAnimationsTweak.cs | 42 + .../CameraOverShoulderCombatAddYTweak.cs | 37 + .../CameraOverShoulderCombatPosXTweak.cs | 37 + .../CameraOverShoulderCombatPosZTweak.cs | 37 + .../CameraOverShoulderMeleeCombatAddYTweak.cs | 37 + .../CameraOverShoulderMeleeCombatPosXTweak.cs | 37 + .../CameraOverShoulderMeleeCombatPosZTweak.cs | 37 + .../Camera/CameraOverShoulderPosXTweak.cs | 37 + .../Camera/CameraOverShoulderPosZTweak.cs | 37 + Fo76ini/Tweaks/Camera/DefaultFOVTweak.cs | 37 + .../Camera/DisableAutoVanityModeTweak.cs | 38 + Fo76ini/Tweaks/Camera/FOV1stPersonTweak.cs | 37 + Fo76ini/Tweaks/Camera/FOV3rdADSTweak.cs | 37 + Fo76ini/Tweaks/Camera/FOV3rdPersonTweak.cs | 37 + .../FirstThirdPerspectiveSwitchDelayTweak.cs | 37 + .../Tweaks/Camera/ForceAutoVanityModeTweak.cs | 36 + .../Tweaks/Camera/PitchZoomOutMaxDistTweak.cs | 37 + .../Camera/SelfieCameraRotationSpeedTweak.cs | 37 + .../SelfieCameraTranslationSpeedTweak.cs | 37 + Fo76ini/Tweaks/Camera/SelfieModeRangeTweak.cs | 37 + .../Tweaks/Camera/VanityModeMaxDistTweak.cs | 37 + .../Tweaks/Camera/VanityModeMinDistTweak.cs | 37 + Fo76ini/Tweaks/Colors/PipboyColorTweak.cs | 52 + .../Colors/PowerArmorPipboyColorTweak.cs | 54 + Fo76ini/Tweaks/Colors/QuickboyColorTweak.cs | 54 + Fo76ini/Tweaks/Config/AutoApplyTweak.cs | 36 + Fo76ini/Tweaks/Config/IgnoreUpdatesTweak.cs | 36 + .../Config/PlayNotificationSoundsTweak.cs | 36 + .../Tweaks/Config/ToolQuitOnLaunchTweak.cs | 30 + .../Controls/EnableGamepadRumbleTweak.cs | 36 + .../Tweaks/Controls/FixAimSensitivityTweak.cs | 51 + .../Controls/FixMouseSensitivityTweak.cs | 97 + Fo76ini/Tweaks/Controls/GamepadEnableTweak.cs | 36 + .../Tweaks/Controls/MouseAccelerationTweak.cs | 36 + Fo76ini/Tweaks/Controls/MouseInvertXTweak.cs | 36 + Fo76ini/Tweaks/Controls/MouseInvertYTweak.cs | 36 + .../Tweaks/Controls/MouseSensitivityTweak.cs | 38 + Fo76ini/Tweaks/General/AutoSigninTweak.cs | 36 + Fo76ini/Tweaks/General/EnableSteamTweak.cs | 30 + Fo76ini/Tweaks/General/IntroVideoTweak.cs | 46 + .../Tweaks/General/ScreenshotIndexTweak.cs | 39 + Fo76ini/Tweaks/General/SkipStartupSplash.cs | 36 + .../Tweaks/Graphics/AmbientOcclusionTweak.cs | 36 + .../Graphics/AnisotropicFilteringTweak.cs | 36 + Fo76ini/Tweaks/Graphics/AntiAliasingTweak.cs | 74 + .../Graphics/BlendSplitDirShadowTweak.cs | 38 + .../Tweaks/Graphics/DirShadowSplitsTweak.cs | 38 + .../Tweaks/Graphics/DisableAllGoreTweak.cs | 45 + .../Graphics/EnableDepthOfFieldTweak.cs | 74 + Fo76ini/Tweaks/Graphics/EnableGrassTweak.cs | 36 + Fo76ini/Tweaks/Graphics/FogTweak.cs | 36 + .../Tweaks/Graphics/GrassFadeDistanceTweak.cs | 43 + .../Graphics/LODFadeOutMultActorsTweak.cs | 36 + .../Graphics/LODFadeOutMultItemsTweak.cs | 36 + .../Graphics/LODFadeOutMultObjectsTweak.cs | 36 + Fo76ini/Tweaks/Graphics/LensFlareTweak.cs | 36 + Fo76ini/Tweaks/Graphics/MotionBlurTweak.cs | 36 + Fo76ini/Tweaks/Graphics/RadialBlurTweak.cs | 38 + Fo76ini/Tweaks/Graphics/RainOcclusionTweak.cs | 36 + .../Graphics/ScreenSpaceReflectionsTweak.cs | 36 + .../Tweaks/Graphics/ShadowBlurrinessTweak.cs | 36 + .../Tweaks/Graphics/ShadowDistanceTweak.cs | 43 + .../Graphics/ShadowMapResolutionTweak.cs | 36 + .../Tweaks/Graphics/TAAPostOverlayTweak.cs | 39 + .../Tweaks/Graphics/TAAPostSharpenTweak.cs | 40 + .../Graphics/VolumetricLightingTweak.cs | 36 + .../Graphics/WaterDisplacementsTweak.cs | 36 + .../Tweaks/Graphics/WetnessOcclusionTweak.cs | 36 + Fo76ini/Tweaks/ITweak.cs | 48 + Fo76ini/Tweaks/IniFiles/INIReadOnlyTweak.cs | 37 + .../Interface/ActiveEffectsOnHUDTweak.cs | 58 + .../AutoTrackQuestWhenStartedTweak.cs | 60 + .../Interface/ConversationHistorySizeTweak.cs | 36 + .../Interface/DialogueSubtitlesTweak.cs | 36 + .../Interface/EnableItemRarityColorsTweak.cs | 36 + .../Interface/EnablePowerArmorHUDTweak.cs | 36 + .../Tweaks/Interface/FixHUD4to3RatioTweak.cs | 63 + .../FloatingQuestMarkersDistanceTweak.cs | 36 + .../Tweaks/Interface/GeneralSubtitlesTweak.cs | 36 + Fo76ini/Tweaks/Interface/HUDOpacityTweak.cs | 36 + Fo76ini/Tweaks/Interface/ShowCompassTweak.cs | 36 + .../Tweaks/Interface/ShowCrosshairTweak.cs | 36 + .../ShowDamageNumbersAdventureTweak.cs | 36 + .../ShowDamageNumbersNuclearWinterTweak.cs | 36 + .../Interface/ShowDialogueHistoryTweak.cs | 36 + .../ShowFloatingQuestMarkersTweak.cs | 36 + .../Interface/ShowFloatingQuestTextTweak.cs | 36 + .../Interface/ShowOtherPlayersNamesTweak.cs | 36 + .../ShowPublicTeamNotificationsTweak.cs | 36 + Fo76ini/Tweaks/LinkedTweaks.cs | 329 ++ .../DeployModsOnNWModeTweak.cs | 36 + .../RemoveModsOnNWModeTweak.cs | 36 + .../NuclearWinterMode/RenameDLLsTweak.cs | 36 + .../Tweaks/Pipboy/PipboyTargetResolution.cs | 40 + .../Tweaks/Pipboy/QuickboyModeEnabledTweak.cs | 36 + .../Tweaks/ResourceLists/ResourceListTweak.cs | 52 + Fo76ini/Tweaks/Video/DisplayModeTweak.cs | 103 + Fo76ini/Tweaks/Video/DisplaySizeTweak.cs | 41 + Fo76ini/Tweaks/Video/PresentIntervalTweak.cs | 59 + Fo76ini/Tweaks/Video/TopMostWindowTweak.cs | 38 + .../Tweaks/Video/WindowAlwaysActiveTweak.cs | 36 + Fo76ini/Tweaks/Volume/AudioMenuValTweak.cs | 45 + Fo76ini/Tweaks/Volume/MasterVolumeTweak.cs | 36 + .../Tweaks/Volume/VivoxVoiceVolumeTweak.cs | 36 + Fo76ini/{Mods => Utilities}/Archive2.cs | 60 +- Fo76ini/{ => Utilities}/ClipboardUtils.cs | 14 +- Fo76ini/{ => Utilities}/Log.cs | 24 +- Fo76ini/Utilities/RichTextBoxExtensions.cs | 34 + Fo76ini/{ => Utilities}/Utils.cs | 241 +- Fo76ini/{ => Utilities}/Volume.cs | 9 +- Fo76ini/Utilities/XMLExtensions.cs | 97 + Fo76ini/cog.ico | Bin 0 -> 2462 bytes Fo76ini/languages/ja-JP.xml | 2462 ++++----- Fo76ini/make_archives.bat | 48 - Fo76ini/packages.config | 13 +- Fo76ini_Updater/App.config | 14 +- Fo76ini_Updater/Config.cs | 84 +- Fo76ini_Updater/Fo76ini_Updater.csproj | 8 +- Fo76ini_Updater/Form1.Designer.cs | 4 +- Fo76ini_Updater/Form1.cs | 177 +- Fo76ini_Updater/Log.cs | 62 - Fo76ini_Updater/Program.cs | 3 - Fo76ini_Updater/Utils.cs | 170 - {Fo76ini => Images}/banner.png | Bin {Fo76ini => Images}/banner_transparent.png | Bin VERSION | 2 +- What's new.rtf | Bin 1103 -> 3594 bytes pack_tool.py | 169 + setup.iss | 2 +- 244 files changed, 27008 insertions(+), 10916 deletions(-) create mode 100644 Additional files/7z/7z.dll create mode 100644 Additional files/7z/7z.exe create mode 100644 Additional files/7z/License.txt create mode 100644 Additional files/7z/readme.txt create mode 100644 Additional files/Attribution.txt create mode 100644 Additional files/DefaultINI/Fallout76.ini create mode 100644 Additional files/DefaultINI/High.ini create mode 100644 Additional files/DefaultINI/Low.ini create mode 100644 Additional files/DefaultINI/Medium.ini create mode 100644 Additional files/DefaultINI/Ultra.ini create mode 100644 Additional files/error.wav create mode 100644 Additional files/notify.wav delete mode 100644 Fo76ini/7z/7za.dll delete mode 100644 Fo76ini/7z/7za.exe delete mode 100644 Fo76ini/7z/7zxa.dll delete mode 100644 Fo76ini/7z/License.txt create mode 100644 Fo76ini/Configuration.cs create mode 100644 Fo76ini/Forms/Form1/ColorPreview.cs delete mode 100644 Fo76ini/Forms/Form1/Form1.Colors.cs create mode 100644 Fo76ini/Forms/Form1/Form1.LinkControls.cs create mode 100644 Fo76ini/Forms/FormIniError/FormIniError.Designer.cs create mode 100644 Fo76ini/Forms/FormIniError/FormIniError.cs create mode 100644 Fo76ini/Forms/FormIniError/FormIniError.resx create mode 100644 Fo76ini/Forms/FormSettings/FormSettings.Designer.cs create mode 100644 Fo76ini/Forms/FormSettings/FormSettings.cs create mode 100644 Fo76ini/Forms/FormSettings/FormSettings.resx create mode 100644 Fo76ini/Forms/FormSplash/FormSplash.Designer.cs create mode 100644 Fo76ini/Forms/FormSplash/FormSplash.cs create mode 100644 Fo76ini/Forms/FormSplash/FormSplash.resx create mode 100644 Fo76ini/Forms/FormTextPrompt/TextPrompt.Designer.cs create mode 100644 Fo76ini/Forms/FormTextPrompt/TextPrompt.cs create mode 100644 Fo76ini/Forms/FormTextPrompt/TextPrompt.resx create mode 100644 Fo76ini/Forms/FormWelcome/FormWelcome.Designer.cs create mode 100644 Fo76ini/Forms/FormWelcome/FormWelcome.cs create mode 100644 Fo76ini/Forms/FormWelcome/FormWelcome.resx create mode 100644 Fo76ini/Ini/IniFile.cs create mode 100644 Fo76ini/Ini/IniFiles.cs create mode 100644 Fo76ini/Ini/IniParsingException.cs delete mode 100644 Fo76ini/Interface/UILoader.cs create mode 100644 Fo76ini/Interface/Versioning.cs rename Fo76ini/{IniFiles.cs => LegacyIniFiles.cs} (64%) create mode 100644 Fo76ini/Mods/LegacyManagedMods.cs create mode 100644 Fo76ini/Mods/ManagedMod.cs create mode 100644 Fo76ini/Mods/ManagedMods.cs create mode 100644 Fo76ini/Mods/ModActions.cs create mode 100644 Fo76ini/Mods/ModDeployment.cs create mode 100644 Fo76ini/Mods/ModHelpers.cs create mode 100644 Fo76ini/Mods/ModInstallations.cs delete mode 100644 Fo76ini/Mods/Mods.cs create mode 100644 Fo76ini/Mods/ResourceList.cs create mode 100644 Fo76ini/NexusAPI/APIRequest.cs create mode 100644 Fo76ini/NexusAPI/NMMod.cs create mode 100644 Fo76ini/NexusAPI/NMUserProfile.cs create mode 100644 Fo76ini/NexusAPI/NexusMods.cs create mode 100644 Fo76ini/NexusAPI/SingleSignOn.cs create mode 100644 Fo76ini/Profiles/GameInstance.cs create mode 100644 Fo76ini/Profiles/ProfileManager.cs create mode 100644 Fo76ini/Progress.cs create mode 100644 Fo76ini/Resources/Fo76ini_LDu4jzf2p3.png create mode 100644 Fo76ini/Resources/Xbox-One-Controller-icon.png create mode 100644 Fo76ini/Resources/add-archive-3-24.png create mode 100644 Fo76ini/Resources/available-updates-48.png create mode 100644 Fo76ini/Resources/checkbox-24.png create mode 100644 Fo76ini/Resources/cog-24.png create mode 100644 Fo76ini/Resources/delete-48.png create mode 100644 Fo76ini/Resources/dislike.png create mode 100644 Fo76ini/Resources/download-2-24.png create mode 100644 Fo76ini/Resources/download-2-48.png create mode 100644 Fo76ini/Resources/exit-48.png create mode 100644 Fo76ini/Resources/external-link-16.png create mode 100644 Fo76ini/Resources/heart-24.png create mode 100644 Fo76ini/Resources/heart-48.png create mode 100644 Fo76ini/Resources/heart-broken-24.png create mode 100644 Fo76ini/Resources/like.png create mode 100644 Fo76ini/Resources/login-48.png create mode 100644 Fo76ini/Resources/mouse-icon.png create mode 100644 Fo76ini/Resources/pipboy_preview_bg.png create mode 100644 Fo76ini/Resources/pipboy_preview_fg.png create mode 100644 Fo76ini/Resources/pipboy_preview_fg_masked.png create mode 100644 Fo76ini/Resources/text-24.png create mode 100644 Fo76ini/Resources/thumb-down-24.png create mode 100644 Fo76ini/Resources/thumb-up-24.png create mode 100644 Fo76ini/Tweaks/Audio/EnableAudioTweak.cs create mode 100644 Fo76ini/Tweaks/Audio/PlayMainMenuMusicTweak.cs create mode 100644 Fo76ini/Tweaks/Audio/VoiceChatModeTweak.cs create mode 100644 Fo76ini/Tweaks/Audio/VoicePushToTalkEnabledTweak.cs create mode 100644 Fo76ini/Tweaks/Camera/ApplyCameraNodeAnimationsTweak.cs create mode 100644 Fo76ini/Tweaks/Camera/CameraOverShoulderCombatAddYTweak.cs create mode 100644 Fo76ini/Tweaks/Camera/CameraOverShoulderCombatPosXTweak.cs create mode 100644 Fo76ini/Tweaks/Camera/CameraOverShoulderCombatPosZTweak.cs create mode 100644 Fo76ini/Tweaks/Camera/CameraOverShoulderMeleeCombatAddYTweak.cs create mode 100644 Fo76ini/Tweaks/Camera/CameraOverShoulderMeleeCombatPosXTweak.cs create mode 100644 Fo76ini/Tweaks/Camera/CameraOverShoulderMeleeCombatPosZTweak.cs create mode 100644 Fo76ini/Tweaks/Camera/CameraOverShoulderPosXTweak.cs create mode 100644 Fo76ini/Tweaks/Camera/CameraOverShoulderPosZTweak.cs create mode 100644 Fo76ini/Tweaks/Camera/DefaultFOVTweak.cs create mode 100644 Fo76ini/Tweaks/Camera/DisableAutoVanityModeTweak.cs create mode 100644 Fo76ini/Tweaks/Camera/FOV1stPersonTweak.cs create mode 100644 Fo76ini/Tweaks/Camera/FOV3rdADSTweak.cs create mode 100644 Fo76ini/Tweaks/Camera/FOV3rdPersonTweak.cs create mode 100644 Fo76ini/Tweaks/Camera/FirstThirdPerspectiveSwitchDelayTweak.cs create mode 100644 Fo76ini/Tweaks/Camera/ForceAutoVanityModeTweak.cs create mode 100644 Fo76ini/Tweaks/Camera/PitchZoomOutMaxDistTweak.cs create mode 100644 Fo76ini/Tweaks/Camera/SelfieCameraRotationSpeedTweak.cs create mode 100644 Fo76ini/Tweaks/Camera/SelfieCameraTranslationSpeedTweak.cs create mode 100644 Fo76ini/Tweaks/Camera/SelfieModeRangeTweak.cs create mode 100644 Fo76ini/Tweaks/Camera/VanityModeMaxDistTweak.cs create mode 100644 Fo76ini/Tweaks/Camera/VanityModeMinDistTweak.cs create mode 100644 Fo76ini/Tweaks/Colors/PipboyColorTweak.cs create mode 100644 Fo76ini/Tweaks/Colors/PowerArmorPipboyColorTweak.cs create mode 100644 Fo76ini/Tweaks/Colors/QuickboyColorTweak.cs create mode 100644 Fo76ini/Tweaks/Config/AutoApplyTweak.cs create mode 100644 Fo76ini/Tweaks/Config/IgnoreUpdatesTweak.cs create mode 100644 Fo76ini/Tweaks/Config/PlayNotificationSoundsTweak.cs create mode 100644 Fo76ini/Tweaks/Config/ToolQuitOnLaunchTweak.cs create mode 100644 Fo76ini/Tweaks/Controls/EnableGamepadRumbleTweak.cs create mode 100644 Fo76ini/Tweaks/Controls/FixAimSensitivityTweak.cs create mode 100644 Fo76ini/Tweaks/Controls/FixMouseSensitivityTweak.cs create mode 100644 Fo76ini/Tweaks/Controls/GamepadEnableTweak.cs create mode 100644 Fo76ini/Tweaks/Controls/MouseAccelerationTweak.cs create mode 100644 Fo76ini/Tweaks/Controls/MouseInvertXTweak.cs create mode 100644 Fo76ini/Tweaks/Controls/MouseInvertYTweak.cs create mode 100644 Fo76ini/Tweaks/Controls/MouseSensitivityTweak.cs create mode 100644 Fo76ini/Tweaks/General/AutoSigninTweak.cs create mode 100644 Fo76ini/Tweaks/General/EnableSteamTweak.cs create mode 100644 Fo76ini/Tweaks/General/IntroVideoTweak.cs create mode 100644 Fo76ini/Tweaks/General/ScreenshotIndexTweak.cs create mode 100644 Fo76ini/Tweaks/General/SkipStartupSplash.cs create mode 100644 Fo76ini/Tweaks/Graphics/AmbientOcclusionTweak.cs create mode 100644 Fo76ini/Tweaks/Graphics/AnisotropicFilteringTweak.cs create mode 100644 Fo76ini/Tweaks/Graphics/AntiAliasingTweak.cs create mode 100644 Fo76ini/Tweaks/Graphics/BlendSplitDirShadowTweak.cs create mode 100644 Fo76ini/Tweaks/Graphics/DirShadowSplitsTweak.cs create mode 100644 Fo76ini/Tweaks/Graphics/DisableAllGoreTweak.cs create mode 100644 Fo76ini/Tweaks/Graphics/EnableDepthOfFieldTweak.cs create mode 100644 Fo76ini/Tweaks/Graphics/EnableGrassTweak.cs create mode 100644 Fo76ini/Tweaks/Graphics/FogTweak.cs create mode 100644 Fo76ini/Tweaks/Graphics/GrassFadeDistanceTweak.cs create mode 100644 Fo76ini/Tweaks/Graphics/LODFadeOutMultActorsTweak.cs create mode 100644 Fo76ini/Tweaks/Graphics/LODFadeOutMultItemsTweak.cs create mode 100644 Fo76ini/Tweaks/Graphics/LODFadeOutMultObjectsTweak.cs create mode 100644 Fo76ini/Tweaks/Graphics/LensFlareTweak.cs create mode 100644 Fo76ini/Tweaks/Graphics/MotionBlurTweak.cs create mode 100644 Fo76ini/Tweaks/Graphics/RadialBlurTweak.cs create mode 100644 Fo76ini/Tweaks/Graphics/RainOcclusionTweak.cs create mode 100644 Fo76ini/Tweaks/Graphics/ScreenSpaceReflectionsTweak.cs create mode 100644 Fo76ini/Tweaks/Graphics/ShadowBlurrinessTweak.cs create mode 100644 Fo76ini/Tweaks/Graphics/ShadowDistanceTweak.cs create mode 100644 Fo76ini/Tweaks/Graphics/ShadowMapResolutionTweak.cs create mode 100644 Fo76ini/Tweaks/Graphics/TAAPostOverlayTweak.cs create mode 100644 Fo76ini/Tweaks/Graphics/TAAPostSharpenTweak.cs create mode 100644 Fo76ini/Tweaks/Graphics/VolumetricLightingTweak.cs create mode 100644 Fo76ini/Tweaks/Graphics/WaterDisplacementsTweak.cs create mode 100644 Fo76ini/Tweaks/Graphics/WetnessOcclusionTweak.cs create mode 100644 Fo76ini/Tweaks/ITweak.cs create mode 100644 Fo76ini/Tweaks/IniFiles/INIReadOnlyTweak.cs create mode 100644 Fo76ini/Tweaks/Interface/ActiveEffectsOnHUDTweak.cs create mode 100644 Fo76ini/Tweaks/Interface/AutoTrackQuestWhenStartedTweak.cs create mode 100644 Fo76ini/Tweaks/Interface/ConversationHistorySizeTweak.cs create mode 100644 Fo76ini/Tweaks/Interface/DialogueSubtitlesTweak.cs create mode 100644 Fo76ini/Tweaks/Interface/EnableItemRarityColorsTweak.cs create mode 100644 Fo76ini/Tweaks/Interface/EnablePowerArmorHUDTweak.cs create mode 100644 Fo76ini/Tweaks/Interface/FixHUD4to3RatioTweak.cs create mode 100644 Fo76ini/Tweaks/Interface/FloatingQuestMarkersDistanceTweak.cs create mode 100644 Fo76ini/Tweaks/Interface/GeneralSubtitlesTweak.cs create mode 100644 Fo76ini/Tweaks/Interface/HUDOpacityTweak.cs create mode 100644 Fo76ini/Tweaks/Interface/ShowCompassTweak.cs create mode 100644 Fo76ini/Tweaks/Interface/ShowCrosshairTweak.cs create mode 100644 Fo76ini/Tweaks/Interface/ShowDamageNumbersAdventureTweak.cs create mode 100644 Fo76ini/Tweaks/Interface/ShowDamageNumbersNuclearWinterTweak.cs create mode 100644 Fo76ini/Tweaks/Interface/ShowDialogueHistoryTweak.cs create mode 100644 Fo76ini/Tweaks/Interface/ShowFloatingQuestMarkersTweak.cs create mode 100644 Fo76ini/Tweaks/Interface/ShowFloatingQuestTextTweak.cs create mode 100644 Fo76ini/Tweaks/Interface/ShowOtherPlayersNamesTweak.cs create mode 100644 Fo76ini/Tweaks/Interface/ShowPublicTeamNotificationsTweak.cs create mode 100644 Fo76ini/Tweaks/LinkedTweaks.cs create mode 100644 Fo76ini/Tweaks/NuclearWinterMode/DeployModsOnNWModeTweak.cs create mode 100644 Fo76ini/Tweaks/NuclearWinterMode/RemoveModsOnNWModeTweak.cs create mode 100644 Fo76ini/Tweaks/NuclearWinterMode/RenameDLLsTweak.cs create mode 100644 Fo76ini/Tweaks/Pipboy/PipboyTargetResolution.cs create mode 100644 Fo76ini/Tweaks/Pipboy/QuickboyModeEnabledTweak.cs create mode 100644 Fo76ini/Tweaks/ResourceLists/ResourceListTweak.cs create mode 100644 Fo76ini/Tweaks/Video/DisplayModeTweak.cs create mode 100644 Fo76ini/Tweaks/Video/DisplaySizeTweak.cs create mode 100644 Fo76ini/Tweaks/Video/PresentIntervalTweak.cs create mode 100644 Fo76ini/Tweaks/Video/TopMostWindowTweak.cs create mode 100644 Fo76ini/Tweaks/Video/WindowAlwaysActiveTweak.cs create mode 100644 Fo76ini/Tweaks/Volume/AudioMenuValTweak.cs create mode 100644 Fo76ini/Tweaks/Volume/MasterVolumeTweak.cs create mode 100644 Fo76ini/Tweaks/Volume/VivoxVoiceVolumeTweak.cs rename Fo76ini/{Mods => Utilities}/Archive2.cs (70%) rename Fo76ini/{ => Utilities}/ClipboardUtils.cs (87%) rename Fo76ini/{ => Utilities}/Log.cs (68%) create mode 100644 Fo76ini/Utilities/RichTextBoxExtensions.cs rename Fo76ini/{ => Utilities}/Utils.cs (74%) rename Fo76ini/{ => Utilities}/Volume.cs (85%) create mode 100644 Fo76ini/Utilities/XMLExtensions.cs create mode 100644 Fo76ini/cog.ico delete mode 100644 Fo76ini/make_archives.bat delete mode 100644 Fo76ini_Updater/Log.cs delete mode 100644 Fo76ini_Updater/Utils.cs rename {Fo76ini => Images}/banner.png (100%) rename {Fo76ini => Images}/banner_transparent.png (100%) create mode 100644 pack_tool.py diff --git a/Additional files/7z/7z.dll b/Additional files/7z/7z.dll new file mode 100644 index 0000000000000000000000000000000000000000..b32d7bf7b0d177d53233af18b7274dee3636332c GIT binary patch literal 1679360 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

DM^7x(}qC-S~aKz@d52xO#g4hGmtNe|> zV2r>Kr<%-T=jvXJ=IQ5hCI3zA^!Y4GIPzy7Oc%+vJrS=#_gg@q=_kOzzef<-8Cg9X zS^Wl-@0x>ZR2|@l?*TdRtuiPaP?!jG2LLAD2WS}pLag>9JdtP}L4j(Lu(nNeErIZ- z^Fj-$^L9cZi)J`UC9Z}Z;CHMSREp_i=j1onIYR!{^sRaNV+m@6+yt>j<5 z8zdBs0TPP`B6AmLaa@%OVGZ|PHGOeG)ppss$YUw!5BKJ&QAnYKV#iprkCVSXht92t zu7*(ylH0Aq4tLhP+ojn$9|tH@20-e7y1 zKlw4qcn*5P^+oiYiAF?wDxZX;_Pj6roYnPy^G{L@vcMQKLbPLS@24 zogtIt8<|K@s_{~d#in$%7?T-5Q5&2@Gx?k@y|=sV_Ojb9ZH5dQm#ov)Q@2ci31oI$dbvzvtNR|@ zgR%3}-}K;}o-`ZSyZK*aTW^;`d@p?#o}0j4t_8r}NFMBMRU<#uM;d@MDob$qnOWG| zs#d^?(6Dz+P60Q!&&1E~<)?k{K3e#J`Ib74-sf#%HhW?F`%XP{`*u>srl!hR%{j=> zGdYhZnh*Kruw#S54P}TGykA^8a`=D!&kS!2#-Pl3wVEy~(l@^5p9EII&YwkmKLE6b ztEFokz*;JqB9DX5TMZR{3LbYl*7in$ZS|p8O4e>kG zjn1A1CX>}Sev=3_yvZf(!WGuP_*Wt$T~2 zp`M=AYou2i7j03Whi*3evsw)#on7MG5)0RmSauWp>4i5505Q5n5zJ=_^o!s}=CgLM zt~6X=!=sfrbgVVkQ6#!v!&C6VR)-DF6)C30T9dU%EM0|&%mY_MTOBZ$aEkfxxVZ6* zRC%o$5fqtNz?#nzffp_{T5P#VhR3g|7W!50o6g;9-uQIxHinl=7o?IMoH1`(B3OaI zOl)xy+JJ|2?g}0;kFtYaVK=xo;?{4~Bs)9ZjFP*1|_I<1Q7hcWw z(9C52R<|~isXHrLR(I13QSv%WJ^KFiB3P7(d5N_%)Yo~@HZraP6PdiViEpsb&GD$u zr@5XsvY7Xi$8uwWO`hgkvMpE?;htOS z)09Wcfku{CinvGPL(TeYnmgn0w^(z|R&a&hG~%|BdM&&3%mETi2b3Z~PhWvf?}rrMp+--R4Svb89yd53nk+M+gkSa>?Zx`Geh74$7F)JinB zS^f*k-F-c5Z+wmwTf@y>9*Z!QOy9uQY6WQU9kcK&F$hzvlb4j z2m|*#OH9M@neS@d*y#1h?9Rar9>zEr?O%lzylew#arNg@%CIbIr4`GH-!d`=d$RA< zl(@4oeDgZ4nj-pE&%#XL1f5C?D~wE)!P~`*oC%cCx`9lc#naQ1?dE`^n3;7TStt+k z+55(4-bl~H%MeHd>!Q*z87=RX+2;(TJn4K&3T_p+qt~)PUI$w%q!$#95;G#wHw0lb zkDwBQw^yT>)nRHX7|I@5TvM@gaiVmmRZNfpy3AI)l%+uuH*!Hu#S0fCN?#zW7E~iZ zj2koZM49?aaV=J9k1;Ba5RLx?11wvlRryl3eEim~<8;ee{@6n;_6VFsZOIz;q|RXh zvtyZHTLoG%)>Y0(I`zjaKDOS0gwC$$d-b+sky+uBNF8@_S&@FMR7dh?jXxfHkpbZ4`9ve zN(D|CQU{?pf`zM){CcqkaeAYQ}!+_q*6@nAW6K;^MBTNk83XWglLv$(%`mVfnZck}Am>|(#bVWVD$YF*D1O<17$0&(H!)1A6{b`18_ zlJcSES;guu8WCREGJeh4mjhIwrsPn&D=+9bBRs&N|W&TAwCd+Acn4pfuCVhTFM^<*eG3nvMt zD^Abop@u=mvB=mub{`}+$MNXlfF|Pj_RiWZ9dy0c!rhqWjI}(}E~z=U{qq z-h*k*u={eFGkNEbeh|6mOY`~2aD$o8eCj@jE4^^vDeOi0-m-7SZ{VABIqZKg>~4OK zDfhq2adWjm^$n}DbeC^sY;V)$^T>-$3HkpLEz`!Y`YN4u@0Wogvcc5%-h#@t(Xw&$ zVALa$P(YC8?ID2avx|}y#3CJo3t{i-zFK>+wnkslZD>^B@AgKIQMc)Kx2Q|xS9CEN zDx+s(f6kZ;_$%|Tof|zxolL&{gpSH#jWWy;Rhq5g(Kg!UiM4YR*Ht^BX|cp+E`h@H zB($@D;(_qo5Z)rfqt8eDn^xfqHNY7w-Kxng6wB}p_lnSyhg!Q@y>`Aly+ojjw3|~! z%-Y=!2hDnkx6}+>^a1E=hZI$YRpUlU4->0lv;+P%h$~jpkT9Gd}Z0bfD$zqw#~7 zG~v&x2sn7fwUj~P$zZ9sYZ`#oqrhcy(H8~-v>To;Tp7;+at1PVpur^~jyD3qEcBLT zIvoyyLVh4&6f&wc$Lhn0YQ%^NmCAgv+4JWsiyX4|A;3TwZ3+k)&^?G)=s>~8qHC$a zxm?1{Mabz_)^5z`3KHmt-T^3cT9@?B-8%|oqwQL&Zn4iDe?;DDa3SE|>u%mF+~;4C zVw|L*a#*3K?1{Tk?wC-iN=JoK2uSD#3!lN%mT-}wCx+)d@2$!|m zu>Eig7tzt3Z0Z(n$~9XJP-KHg+|8Rb;a<($Tqq4k5>;woaW!qjR~dal^iGnC#;p_a zHbOoBQ|?8(5DnL2dlRx>RFjF`U@kakM2eUDT3oNx5C!;RCR@X~Lj9ZEdgTZlz>qlR z(W11Bo}G}Y>IvZ_8bpz&XE!sz_dpcGTzvVbk%gx8S-dHwn4y7t932G>SMzW*s(#^0^`cY-;yD%W6%L&Qz$+%l8hkS{LZP5E$fu)tW9n zaaJq0uesHOSoMzRgB6{b%4mJ?K_;_DE}xC|!(sm)jXJLAa6KMEtxbT5=;{_9ZMoip zi@;%=isEA#^BCJ?*4cqbX02h2ih(MgvG}79K_Om3kRC#iUM8j^s4gNib~sIf;+#EF zST969zT~!QC~WQd1HR_VP_C6>IdvSlJ(s5}D>k}76qy;yBtU@W|C2Kk;lbvQ#D!Cu z%rFEM#kLrLpnZ`ThQb?p^9K1yyl+U8gU0(VQ5#_59z5Q6iHh$Ra@VaMrHsTCTutOx zcR{@GAB2+?>u@4pqCQ4hl=~VJRX-|>_dRd0E?B+_W8=d`Lqax3d?Rcb4miw`H{^_I zT$8b5v@ffi_bMwbdWvr$KZ*v!_?=G9uX*w{)ZTx_OVI`PjGeO8x=Zapr;l4bOZIZB z_~a6@aEls#Uv4$g^VU3{Tv_Z-$9@;IW98vwiw8|?dr0ks{J&3lo@!_n!-D2PSLmpW zZmDw;)2J~&oNj}9Gg6OZk18wTtm)mY9d=i!UrFsl?C$F&Pn4qyb~iSbs+P`a)sq7K z_w3yd@KP?}pfzO;t-IKx-n&T_f!ko52T@Ru?#zQvhF@wK?a60jg4&7Ye6zmSHKT;< zAq=r@<|&glPhTvzOPkX86Xu~(E4rie6cus+iSkS&ALztAq>hsU&S`w?F%-plL*MF? zBxmrEQ`{2s^n9iSX=Bf4T!abB zs%#nBA$V_536|@GGniyt{q@u}#+LTnRD4lvvG#FiC4=QX$R^K4@pybNzR%P3ru*(- zNymnr znQgG7+;{hS-Y6jseS(N>cX_^5ENmBUvK@(X2QL`AocO-tg1WPvx^I7oy4g5C1^CCH zQLcKOOlpxD{wNVsctPY@H1E~Gz-*CE$8tM5W)po0qr4fNMf8Q(ZmN|?Bd z%f}zF#)snXd%Lh67ln(7H@-Z)ZZ~$Cpf%ItpXl6=Fs)s+PUi@*_#)A!d(~V{e+~~! zZrjPSQ?|*IfCs}lf{&)zSrC2#W5?lE2R*cxW|xHcZPwOy=r#m8Ga4Fr^Y?6#g^ z>lW_K0H`hKlfgST=FDfZT(bs^Z41togi6A+TB~-f5V^JvINc(0?bN(K5HEKp|6i~Y zZ3K8=CQ_Z#%W*(s)sB`z~_G-H`4g{QN-NpP@cTj$nF3pt61V87Kd9M~x`{J;y$ z>Tp0YlfaPKyM=5)VB(5iz~4#kJBm3DJe98^9^hD&yYEfP4TNj$89PMfR#xq3#+iDK zWP90;QnGZqEYW@xEm9kFyUTVs!q6^+rt5WFiCBf1n`(6o2ahG%;VjV-DZ+C62WIwW zis$Una2vl=Gw+Z@y^@t2M)8?k6s?DnsU^5^R&VG1C7e@nyUhw$+Z@yKGn~UJiLlP} z9;#N?ER$sw$*kT|FX%PWyW;g5v(kwJ&>d--l7j@!`sU^P)X4|tPgwuX1J>W6r$9weJ6w9|7MI5w2>7B(lF@P? zOvP?=pIvHnC6kGL1=>~7qeM^ECU8nA9P|;07?=9|JA${Ss_hix4xQ+(04!SeQ^9*J zy}T8Jf|`@)Ag`b#d8mgcXhrU)S>JO8aA0?_?v)WRj`7D3{GDJQQM?)w+n39AlAdFKZd3e}nP*z2;Rz3kX3*OTytcGg|0RSs}J zC+pyDzI1*kj~&sw>p7HDuL`WIqef?(=_&6$!UICw-Oe_G5$GP zDKa+=xod*o0uCG=K)_o59Qyb0z!3<_W(p^;Sb9jk{w8>A2O0;-(Cj%qK5uMF{GoBe zkNJ1R-t_OV9}4u}QtH*#HS^{f5b9OKQfHV;u_~$zcX~Xlp!ACyDO z9tBj7G<3MVwAR1%mMNy~pHSJ+_6w-NJ00{IP$%)2f85&*mnx5zCdO1iO@T6;KojNR z%v$wU$pJWZ0?q^}PoSByIJ3|d-EZV_%uN2r9TLq41%xds`kE$8II?q6Uog49-Uo~@ zxtHi%?TK#3-fU{X)Dhou<>`xP@5pzvc~!YQPa1v4nJ?$+mFMy*)5uL{rgM3(ysG;_ zDmLWYK{9R;t%Q5L0Sy_5&60rTvpD!z?gK|MaDgl07jSa+xia;xBL|G9ys6g7zRTo-c+o1B@OPd9KXpr+~Jp=BpHMwIR|0yd*8kwp-5Oh+>O%q;&TV*e4M zqld~t)EJT3mp@R?iS@FZIM{7Z?z;F0^#JvgW<##0rjO<3}TOf)2zC$ zYeK}`SI--Eb~m@X`_3|tYp1yTPUaEk4#FM_CA%LHDx&uY(t@rnVb>7h&bwX-7hj2? z<+#}Bok$psLAvl8=6yWYNK){u*m?XcIy1H);Jc-&AqukU)n$^G!l{T)P5pJ_;t{ngIBz_C?gM6j%8UwL5H7`YX_!yRE33{7_V~TA$t^X1cKs>#HXB4p z1U9fn3TjKUAUV`usMdOa1>I7|I-lCc%L9}6Lq0*oB2`z~qiX+N(+_c$OS)ImKTi5f zPP*L69w_IJd}c+aGs8_)Bo(P9r%$I8^r`O;_CrIVQn)xFw)XnD85C7TX_!`LX6O;! znyR`E>~NQ!9X*tqP5#ZXQ!W1^iKZ&>P1+S47=oxm!A}IEpfepHK;5Tltr!f;q4Zjq zV>jA6EdN!W)t_qQ_U7^5R$(Q~BCncaR6OT52yi+|l%+GPp?Y>n+VpwbhDxUv`3{dx z4ZF4kT~GI5821kTy)G$_F|%gn(8~h$o_ZBN4X&yU7ZY2tv0uC0S@&=cQ<1s%X_270 zqf6}V%$dA1`&^k?n|=1CZg8G+{6THYoRg1h3hPZQdOzh|RV}PKme#I-KA+hp^NOP2 zmXw~=scc0I?Rm^h8_u(`07r^f7*wGKX6QBh#k6n*ki5`I#|JGj;W3QW#u zmLlQcM7#T*A{%Luhfgw(J-mtEKCECLQ{5kzNz;1OI-MIScYb*9|DIwcu_}$0rNrGY zRso^9mEKjiiMCTyWyG$Z9JVL-_|A-75&?nAE?7@7VP~%Sq%>(f0LtWlgdi!=S}rX9 z$GT6ox0;7Dd+O2Zn8M#F(bDn3bgE{fa|LD)jRwx3j#vc~Zut?tHH_bM?;gnFHEe2_RDzBa*xofe?Z+yJ~^#sh+ws zMOGMHForT(5QmKt$lX3lovAc9KccRw{#I9_sorj?A0G^Ya_dcR{nvTB?jZ!>TJNg1 zdED3~%EH`9c1wNVqiax@=4_8|P-?!mf)Dvn4PldxKeVXlmf5)RcxTa2Xto!xnP70J zQTuUuKfXv+E&~*ySTzi9-BVRJCW@ zEuff20CVy9nHXK;F90;bO;&txvGYHEs_gvD>I5oiHJZ(flQU+kBYDl|@I7=s@0!C0 z$vMq14eBngfXQcELjOm8J|yY9L5Bxup|lXsn4p@-Ch6DmdHDK_wh56K5F(K?3fdu1 zJJ_i5LVNz8gouJIG4n7wD&Zk(UeZVObdq*eo1{vUB)I=~PEwgkl7o8!Y;`CTa=K+KE9=Iuhf z26jI(+1)2%XDL>0hh~+!N7AM8tC{CSKe|&q^$5X9m<{pdemk!lUUk7f;9s=EO3o)5 z!dp^(vR&$@wu>KT7ekJ3QNpyl%wOtekJ|joZC^5kH21dHTk!rVaB7LUiB<&VBnVh| zzw1Y`IcpvshMU$PJctymuVbv53h*F=Rp#2D9B(4BLTQg7*6xUM|snVEt>DoUzhwr;~%^+jHlb%q_TbvYt#?x$560TL^quw7z8M z^dfu2a_!BHWSo(-Gm>Gn{oVJJq6!J;(f`QmMj7?UL560}m?fk8?z?()XfqARhp`=b zU#>L1u6wdWoQl$HwSniy>tV9bkyY)F&It?*!-Th7!|bH!;kt-`hIg+JSf8F9v=IUX z6HNq3E#xJrXZZ!~FPb*K$tP3iG{zu)tztUO42U{LzdO(n!rewdA6niy$5pKOU+;SwAZuYVbZ6^0T za?@)Gd8=tiOPwL_*EvOD0#5rJ&K>}JxAQ}7%N=^sRQwv+2I)mXO*Bc0PyO^teaQxX zMPMo4db&3LbejDoBLDT8Rjt-s<~;h;r+E}Ws|Wl2HIl9$r}0>DFPTKiu`qkKX(h*%Md=aA)f8DS2^@4kWLuUn}{JC?Id#% z6GXT|5Fv_;=sJo)hO&ZSfmOx_^(T4W!{hobyg_RSuK1QFB?HPW@Rh& zlb9BiHJC?MxvbJWa>FWnb&eEmLPvR3E&tITUlovub{IuRtJ=c;-E!=?(Tch}yJEBQ z$>->-PdiVx+k?GgcZ}rwCQfIrg zF@sJ^|EB6rxgrGBk*5AE1`M5HB68A{bHQHUVt=B##s5-tia417>}nnU#U3HGom;mk zKIvr$`G2LS(H%b-^lkw}E#VFGzgD`^LRSd20(hTapsV9qFI-S-e3&b9Es}Nig2Y+6OLOoS*)x7_qh!`7g!YJ} z?xZ5Xw9$S-tKDO*qm84ZjdJXKqLstk39RMod3r>Dw{MT6ZUCzYD)$xLa+Dwr;^7R+ z7YF&G9of*9E|b{yTmXStano(lJkT{_WvQ2haAN(Om-{6{?tz;{7{0q?W zMuw7E0eA08K>_$HLSsd}{Rd~axO>kdIa5fMNnAZ2VwubV$ZjEXiu4v5(TzB_a@(p7 z3;#3h(ngs%7l!{^vwb;VGm*hXtISb18$y9lPBsU&T6VLS9l~yYG@^HnkklM`ZdS73 zf&2k~n0+apK+JJ@BqfYx^YywWB=Q|WAS%+92->{((T1b6@G*ll~Z#a}4N-w%tj zRsMVD;^Fk=*%ll)5gZ@VU?O7wxN49drXG72h;-1?cJO7)Aw7qCa&?A(QiuWb@mHJr z@>lrEA@HA#9rmP)4xKOh`Ime^{bWn0I_CrPed?$K^E3Dpu(%5_T%Ez6wNC7sd{YN) z!1bgiuF#V&#radf$0>pZ3Kfk<*JYbpTkH*hm`(T*dswRN;FDwJ9X3$7Gpq<0&H?|E1B(SC=R)G;fiS4*|=bm8!K#sx74m@JlM@87q3zE zq=WoKnI=%Uy7_z;yQP)uVWqm`f_$G4x%D^s)#~$K%3tG&`K|Qhv0bG_L9P9yd!q)o zBRq9>jpkp7f(_hZBieD)k}~puFRaYU1Fn5qGj7U|2c*x3G91~NW$lM`R`f+uH|A33 znF`0qSS2z|0ps3tAmg5O)4DwHz8pSbd1?=^QqrNj%7xcLU-Nl^=#PijsN+zHKpZTC z-H|FS%1!!HdeUt%O3cH8%dhqlV4Kr*mN6a!TBW#d%+Vt)q_Coq)H9%?@gd z(Xf^(kErfiVf9?i{pku1JqHxq&9f5?v+ZW$l6vjts)YCxZmwphvbInu+={SlC2XGE zTu(?(ty`?&GD9-)&tEMS?Y_c2Nc?jVsOjAz{nUi6C^={@3ZnjR(Mh3nQRUaR0?3wu z!d^K|(tlueDcog5ar3ru41mK>S(=}^8QMZJ4WCsob|&ZNn9-T<+N#_IH%i7II0-2GVAR}p4?UBqCsc=v~ zfVe;yCdu+kuKP zdJu4W;5$VtrOb%0tu4B>EU~sWeb{gV#|b>L+!_sRH2BPk3!7G2(^~_*m~ZpxZ_G4v{OpeLaSPeKcpNy(S!_-_?dF$Z&!B<#i37zT|58}AbjF8xQ(vrl*3os zXb;Pw6#Ewm1Sbl`?!Iey(nlav)t1};5`bQgj^6z4-g*j|Zrm51&<%6;GPrl$!vYdu zAAL-?D}vW@Fj0I5?fPs6j%1)_etx?;`L74u)ibn&*U%CO!wc@>1*qV@^?Y5WEa~lt zK+6EE9yt1w)T}Y-H*k9bX^_`HYmrer}UfO9S<0M<=`s(f{%#?{Jd9nRMKZ_-WuP6CUMvFfbUba(ewOEXLQ%OZk%BU zD}ptH{^3=%I1i~A;^CBFveaj9;g)W>rdqBeAvkp0+1JvWse*Hwqs zbg6&i>a%)ono<(0>AA^UzWSu(1*PF+;60XPHD2PDz^Hgmo$|1!s4nC$#fpqOg;*aA z%BQtoSo#HK2-QtlH4_gQ!GRJ2rVuv?xu-kipVDRYu60L43GUaZ42`J2oT_QWl;E(; z{P!$8PR~4QMX9dq+;=Yw`o~r;A6Vq-FYdW{Qc0|hJ6R%FYA>pQ*u&W(ep}r4EIOtG z|1-k8(Q#`l7S;^QA!}n>wJFgDg7aMEx}~Zul5B+XBd2B$7GbWIfP-D>X2M9`)=+7`D%S`*#_*`|f9hMEtz-YdjAuD(-KbKd`8zzwsl|%f@pC7M1ol zF4*0;pnPCaS%0H%V9})h#yaVCqgT4!SS8(VthN`;NHors&JQ=%(o#`JqH$q#YR}#i zx^R?xT%xg7%xaSrNLZx95244Q$MZSRw;s=xdOQ%jlKr-gg5VQ+Je?Fc=yG;AOn$( z5)wIfrD&y3hwahc9_!-gnq9H$-1mg$woAb7_Gm|Z?6|JW&#jidc5%`wby~joS|JZx z(OUDU-)$DUhz~}JU5x4+`{H)C9$~?v0QqvkHfb+F^IG-84d`+%Zm$c?x;8dBI8<6y zoSsYx*@zRE#F=w|+S7RYbb4ipBj@xT+=uVA+L*wN9I@v+&_%i?2mqoMd%v%Bvv5}Z3zR4?z>B;d;CGsGnsZ~c`%YptBDs8|nd7mfmmvQy#kx8mmFVn?zI0P66 zz)|4-seB2Ez$d5Sx%{7*zVuvO&v?+&BCR{f6M zy54-UipLz!BmQvfgo|+gJl3j`Pn#vnQ20o97QSe5AkmBLfZR z^f#X~(6FGtdBH$~ufN$h&`{UkT<5;0VPQw2c_9REz)CbjLL)}RSjHJwZam!E)xtmI z_Jy{GqF>Bexhn4A3NhKsbPqSf7iQMQ$Bw_*(>0ymmaFfQ9~#)6o)Q|U#9WCFmD@{7 zjmv_s@1(6zE);zmc@wd^cZu$%pDyCqyzm)aatp0d@jAWdh{G=4DSuvQNnET9+s3jhL?-5T-+2rWL_hV4rg$)}kdyr|`!pa=Y|C!> zbEW(_mclM~-^ZzjO4?3g<%rL@)KU^8nv6H(TY64(QqN82Ou<_MWX3|B+H+H#D|T2g zz6riOg@Sa0E!wIYK+CC_)U}sZnUu36#idj9K5tcXBt=X-q!ITQvC)#6$Fmi+tgYb8 z2h_7c=gjLfvib-u)!J(6)LresfLisP^PI3lGenaCX;@)8G8Fo1xu?g7w&LX~9Uw>xs4e zrb=)cX5jW7;)fVvu}Anfj<8tRH!z%9JnFD>W!x=Asz^UPuEy#ibRd8;meTfOZbXmf zoG3MTSvrIKGwzT+guHJjbu6y^KjRl*XGDG*#S<{LtfL}!YSYfMauUFWn??H9R0-=r z{NJNSCmJrdK-Acy6!)1pO$h!LP%k+wM6W8$y$&U{yi?pSs ze2<8fMN~Ajl+TDl5Lb!=uS{<`MTbrBO2qz)JPP|lGFQmUw{&`19t8*e&XP=oTzC0p zLf=5|FWQ`F<4l#^A-*28WN?{&(vrbb%_AGPY`?fONHmFLaMV0{t;AJaZLdOdb`_FA z*l z7ZGj%FBlQw6APuC`*p2=IOM+LL>}s0#!R)o)ZKR^ z?=AkA6I>ge$lwhrUPNhCHecAKFgt7(cdqSMM@Y^FBHZap|#QadK8;G z=nM^;;10h*ujb3${>KbBX>mEGda%Z_&;xV@?e)F1W7Rwvu4!#Yp4Z8L0E^xmRX8qn z_kN9PGIugvsc-NXO$~QnpY&$uG+2H6=gZ*VkimDNau)VK9QB71?d9N_&y>jcC$%Ix z7=8!C?_l^H4FAGbbwv~uJ$%P@nkXtNE^6%m-XD3CnfO~IaV_jp(2*d<7VHFbu)f89 zNiqaY>h(*P$%g0*_J3AtXWCmKGgHbI5h3`&W=4XRBa;7@Rfni=8#{xG&pJeY()e}%k3-c@CI_Yc_#yM*@plwv z3ZFQ4moeXOC@hlIAK+MsKEsoc`1-Dr(PwaYZWG1l$b2qaBECMh1n(83rB1m=*izA1 zWUSwSMx{;_k=k^f5u1WkeY~MOUnuUluKFO^ccMqyo`diT;dG}u$~@?64K$>nyY<#` z@s%#pZhc+KNxMCwTbsKsJ$I%w!gc9M{qVSYlwWZ)M9W;TjNgycuOu@&XL$IKE29SqrvBifLjuLMU^ z!40V?!FA7%pU;=w_dh?aYo&aXR7^y~l}T}9e??Kq^+?DcMEZiG*)sJu-;Os}howIP zcc|6!H?#>mXK|}~dgTOmPD3jn%kpxlGnQB!iLbTFyC1P?-cMb_T-{6GFfR!9!O?a- z{-lcUo!s@-yg`2Kr|?iU`a&pKYTY-TiNViYux5lVhfW*`6*pLo$?FdCz#Pm!vZIka4j&gePeS(Sc zwUrE6d+eu1U%2mZ-s!jWKHK$R^2dkE?fQV;e-X}L0YmHqW>6xruvFOA_=gG7`+B4O zh+6hn%|SkrJhKsNAU?-a-S6Y3TQ+7&#MC`nfL;`h*%w=|&oOd}1ovz=dty^CzH{>E zYm1VlCEAthI)wY<(*Hz*HToKw;a%7c7cBbo*B`9Qvewy!&n`NC6OJ~!9NzHiicn2A zv5Q?`T)bdCl946kK(=FR=jdq^aJDf`GTss`+YmU&_A?P$-eHXQ7xi!q$YcGH`Kipt>DKgv;;V;Sy zR(aQg36t@AiXFIqa57~s;AXP>nV9rLIevxFwb0SQHmf9TF>PRXgy2MC)Y6TQev`D} z^ojb#;$?mMXfB9C)TO6q92$79LY*t7hqv6SRAeVhef%#R-N}EgtSzCpL4>h z!qsW04%KyE8=daHXYmTV;abZDzd$tOM8?oO)nPmaRJ}Zg65YOx)u|R0=tk>k)P6%Z zE4*Bq^SS$`$&>F_RfBZh-7D$la}fT<^~BrNtPl6d?G%uE5E>VVBSe|}otK$j)W3&h zGl*AyYoxRY%6*yTf_#_W#!B&fOPqEyOYS>&(nfA7#0^7kn*KtbXvQQ2uXNYSW$DC_ zubX(3!i^gBGIj~#B18z#e)e!Y;*+|Cp9 zM=h5soimcn`7KXa6{ChLHGY;&|DI0AFG>&1WfWEo5Xu}T+5cI3A=$#d+4#Zy;(^CA zv_z(fTzxw!ORUb64j3BrK>sTu<3VdwJ&iB{Ip9eKFxapQwbyDwMdUF9ETldRd2&XH zMaY~C8(e?B@a!hbo;u(x7Rs3J8wBI2kDn|PJ|?6_D`xWupBIYjlVn-r-%!0wOok)q zNi3;MESb#{Lba&BH^*TV7zrr)doo*?!x)zMGH_sxwii|=cWo)F)6 zLGF8NMz2N~YNeO(d|vcoo?FumJo|$7R!s#UTjkXsbsLa5!3)Y%T^0Bo~*e zKkS)WL=sL>he5V^nme5L_y#NW&G)r7sX3qdk+=3`v6G2=EU>y-xZ*edP#@S&Yi|ZJ ztZIego19@sJ?P@024Asgd490#;fV!m3(ou6+M$Lz2^pPL8MpFJ{KWJA%t6mP{S|pF z_ZgrKw=6))A0&*D^ehKx^40nPGhWO z|MOws2Lr%7fHl773ZzxFCfWF2&iOQ~mSp`YQ3`Qr1xP`ye4rKF!#L8_f%?KW9!t=i zdepf938zk&By!Q0e}-l-@7kCiK8XZIm7RWHmhvMih0_Y^RYxwvne7h+7sDE(RtW8QQoi zBli(7iIiOHnQyaBd=fYyH*C+Hfp4^7W-k# z{-T+MoT@QY2l~m5sh4gYGxN>bsOMm<69Ep&!I|5DAl`qZHruH+XUb~uRSwr0eogl$ znD-ot$cOJf_0pVz%mVx&as19HtXz;UI+Ne~!1@8T8^sdy@vQFnCE8U$yHKo_5tpJj z{yYr*M*pyugPu|fDS@ywI+MS}v9eIz!l)BTvVyFT@1}YQJ!Hs1gmD57wLq>iU7ksf zusP6n+k;9m01Df8oGWjU+dpv$blGZqdl27XOg02r*#AUUmHeU9e+j3-KOUPNsiP6y zr7x018}`$>ZfzqTZ0e%Wd4MSD66PhZ71=e~A9Ly|Y6&}FoSVj$qycCk%EtbwB6qJ}>3fPydN8+GFxPOel3Ecnilw5G#?yXS4|= z9pcD^{S%H{R3>nbKt4xwEBqp7N@X%E1pwqn-Ix z>CGE5+C7fx=$?G(FyKO*k8-$od|AS~tt=jj_cC!XUv8;dD1ZEs#BH_w_sJB&2CkOx z2}4}_i`Lfz=s~#gid`1<%T%3{8G`Vuvm)3-P9H3T)XhM=NZkYdd>T;;pY;Vb8zJ>s z4K?hq3Pi23*T|2{?vWn}i-E;j$oD{;TG2_e?EYe2d!!L|Wc;f<7~l!vsPh*Vhh;NB z)wjabvgF00pnO)ITX|mZJhw@E^~Lh{T>bYv{r7wzy)z`4h=A;2R1EJ&m|B#+MBe<- z$@e3lD@t1--`Y>d4x>lwXp>a-W>NZVDYK9_1dc`NDx5+T$0h}nA1zK-Qu20FQf?LL z@<#vbv2&0tW+df4Vf>lRAv1gE?U+6zznt0GMs|=nqq3ox_Z;$W&oMs=>Gm8PYKH&Qq9s`G3_|6p>IwZq) zW)GE%p3H=}ZH^7jFgp##i&4uR4hpBO$iBH8^oIk(C$v-4-_GKj30Gom1*snuM?0?@ zNbp_BFqfAVf_aY@XFiraW4b*hQ9f`%X}^Wvl8xMEtaA13I;dZQw`r%UoU{57c-Z1) zN5ZB3%-Fb1hytO}RNkFXyhNY&tIQq4vp z9%a0mX9zn%ausDOoOzd zm9rf?tZLz}|A>;PBuHLSbd3a9_KAY0G^NEp)I$Pv|&zYEi7b1H1D;kvIvJf*UDl0#MJRtV#QSq*169HqtA6OTOK1 zem-uxup+Mu?YavFXy$dHU9B)(_#?%HT%!30|BL)Nd;{(`W1yRcFXhboE$7eR+m3{25k|oyCHTnspkSrVf zizGHk`Nz#8tW>VA2`Ja(;&#=)PdHy$ke8WC{hOOl1K+CEzqaL%d18L8x;dMlhcgat z^8koSJ?-mp3n$=h040&&lN- zZSpY2xwulsTwoh5Jjn@8O_>F48;$%`!)viUyLx1bj>jQBPLIx}ds5BW^hzCY*3_*` zota6`GoilkXY6tH^TV0U33hXPk%4^(ySeX3RfC)JO|wnAmmQ?tZ|ioGmPe0y&^mDg z)x|ikU=7s;xpu`yqW}-bgI;{KdSeR&;RHay?dmUkWCZLabFhU_WG@-!2xvs#L;zZU z^EezaL8{Kbg74B;wL0&T+?bf>wRv-UL-x5cwcL4jbO5kZgCT?_Wji6hh{E@%gmN6+ z8MOC?>lU?lmxdFI+AVG)L>hqx8-2mt4CQjBea6njGb~j46UZFG5^Qg?y80`o8;)~e zhu00g&?#-&+kx9&1=bKA+3CdT1F9E|?gXx4T80WqvUPmJu9ESMd@}w}X+lD^lv?AP zVy|oNkYRKS-e-0(;@Td(H$Z)3d#-N#vZtu`521mp7lrz-T46Vb5>0JHGEOvIX*Wj_ zP3?B`wTY&H-Mk{vL};Mv6HOQ@bS9bz2^>u{U5is|D{*0Kbh_Pq3j#~8HI++GQ>$!~ z%vdyhIgoxuj{?dLtfDco`t{g;iCVHkMuyAJmH65EPkCgiCt(v%HMt`gf6v=}Rlb+Q zTX*kwyc~86moB}cXndpmVk&bnLdAQu_4B^>_KVR+d8qCRC-{j~Q0Zg&mC`5Yw>~FV zFqEiTn%B7YURmO&kGEgNntTB9E9WtDKd~EEWMihRFfmhR{~$-XIs7~HDP);64=*R^ z(^F+k@R=0j{#VmJx9x!%o%bqRG2p)EybfrD1w@bt#n3ts(&&nJm?5#45;DQw*pa9Y zX2(Ht{1JTN4VA>-4|JhVA$-^~q`e%fha=rFEX%OF4sA>K9VIN!yjLU1b64%~po|7d zAVjUteNRPo$GW{mKKJb+!s9Vux$l(19qTp}jkxdGYvZc!{0*;9ijN0Y-`X_5tr)BJ z`9#ptU;WkJWR-Mlu!s=|KZXHgN1|d;BLNsX77dqP06}4I5SLuFv=F^*(LnwAp}I(} zg|31YFw%a)X#wk4X<(74tnq>Lyn+w=bJZBVR2eP}9*_Nst`u}CjSpGOlwW4xcDbGf zhZ>6@gEcpMvwDVo0sxZP>mgS^`c#ZZHb(knDd&?j{py$OH*y?8^B_-QDGM2xV=Db^VP?V+~#`E zhmqS9#y+~zsT=(eb&c#pNJ+i50c^&-JVBB|Ri_DcT06c8g-~`}d{=37b$r(;(W~RT z$}xl6H7R;(eBUwdz9gBpcHe$K`>Tj31h)|;IC_)WN$1Uly7{ynj_OPkcc)r;PABzJ z{D%~z?vt`X%l=#s?U?FEO2ISi&*{5SvaIco&@ql5`f4>$LndC|Z^?LluU7Zagky12 ztu|qlyxz2Prm;`XN*)}$!NN5=>KrO-e452i8CuP2cmcm*v*p{%*ufPE1Tffo8CWh? zxkfkiwR9z(xu4im_goUeNxx2TAGH65jy3ZD|bPzJbt{>_7%!;Du z@r-PRoWSeFza^KY#R2u@yC-3n>#JLA*=m&|`Dp;hvPGI8a+kaxMuVp%K4hI7Cn)%zL&UyLxHe1K2%;KBg{sYtUYFZS?G*KUmqlD{Nop3E5l2kUkP|q%No_o?v^}KT1%N zFRYpxt{Ih*UC*U|8z0+`?a3gJRj9E1eQSpUs&z8kbNO1I;pDIj#UrTfLUGblah9qj zUpyJ0=d!p~ogk$#gSD_E78qnZ5RNgiV14LqZH1)PEOB z82SLS)NU`^&f*4J`5^XnAoMr+VUbrBa4lX!@xOZmHIU_{S3 z^GeJU%eB?ov(-9rt7&c(&80t~+lpRQUlzSw+AvvHNY(`=OU}h4V_6m)&{oYpb;>E^ zpN20|FELg$=2ANiI&#{+2>k*FIXzG&)BKEScz2Zp)1W1I%$KIN8EI<%9`vb2XHmHj zrsd(WYIWMT^7pUa^Alj+HzvS5gUvYGCYv%0dBYB@>#Hg#LZsoxp+v+;_ea zvG)on!_(Zuq5f;N`_9INFX8R^#ubUq)}Vj4mJs~_&bjzmM$pjOXb)*$a3TLtwX3aRgS{`R1Al&NqQR zVFROQ---?(BM5~2yWR0~5b_E62s05KCLYkW5>Ggrl>}zB-_THNFnV&B;H)^sbT~!Q zntx2BP)JZj{0iG^1}!x%+!-xvv|q~k&up@*ejcBt7hZwxDMu>@Dos&G5pcV!K)Va*luB zubtJ^f)iF3H7t~ogP66THLSn!Sk{jx5pP8rmXV~OFkRUGF|;rJ7HKC<`9yo{zthgP z64Orx_?WwQt$ve1ih=1M{Y`a}6wzSPaS9sjjQ9t;%IshiALT&+m!_>GXx{jy3(%3Z z_8^$wXce=*5&pD>>h98Nd$Ac22zOs>TDIw#G%aH&m=81#hqLqXMBaR8S!ixPw2nw_ zCrqI&ZJ@#~3yJ*8%6uj)`T}CM1rwgt)e^y-B6qHkqAWma592(y7*2QW@ZSpJ%cSq% z89W@8#jy~d;4~J7qQiG!CeQ^g7Fr)XJ7Abf>j$@F`7?>bt~XdQ@M zl95~rpH?{Hh%M!sANucnJ99wfvv29Ih-W!F&}!8+2XtIzRJlVE@liJ~OCQaOY_Dan zvnC=5&+V%Q-3=*MFah}qe`mv{q5qi0{2G#=zwI%TD#CrU=`y}HQ32RW|3d>n<jq(ou&qmd6R(1tpqQ z6EZr=h9=H>vL55qWJN&|tId9MICv!=9Ul&A_KXRx8%YFVczv;|M{lMP^@Coa(A|9- zCqpLPE0+woqO+d>_ayJqh19XV+7`x%yYjD;>p(8_uaqp!1Y_xw#B~p9XL|e5IMDP@ z>IPC_`}}8>&`P1ie^#{u=->cVxWCX_72w%@&s|mDA`c|m9!hj9OI+9% zAI_1W3XszE7~ezV?dMw%)lURRpARMOs%oPb_Cvbbe0%HYF8?UOUk1QLn8AnG!6SSD zkT&|lZ$8bF>nZ9EFJeP9w~p4l#VFh+Fiunmy!gv>($hl7zgl z=&$Hed@~Ia7N`oKh`rI@?T#yKijzqz0hMnWY1pbj4kMYt?Rz@ z3}RX|(2dl2(tT$c;_vRKcXLSz+BledT&4EXm&`6W4vqQ4<~Ol+xT-v)c?=M=g7{w#y*ub-1$28deR(&z7%!%~o9N=~_iC=uA*MEMINs>Z=;tIAS8p-Mtltz3PXTG}@KwsMZB9NRW&C(%^S6oF))5kiROAU8_J!=tLj z|M04k^bIiAv7CU-)m@VQxc$*<@zxl;e?K1x`nN^TZn2*T`3doQ6;nf(%7cj+#X-PE z{34yeX4#0ZhLCGG41b>*u_q}WEkQ5GZfw7wRv5?@wfr?{Za8|R5rDR;T`(!|5IS2X z+};tiUk}yYX1VW>&=xKB%X}z6NP*H)GYKF-Qf__=<+kFh( zzhl+p;UkKArzi!4{QSH8`xU6VoeEi%1 z;B57YiQ85L?>&MdbmjLWbmih(Js^=`ckh=-O!e@GivpSdwTZxV_6GOeB^_w?#*XS} ztn)>04Y{5O#|KL+*E7NRUT+uSk)-VMgO$Dfz_Mtz&OC*((r8^VZHDUVFnD)i7_h;# zIp*zp!LO_bX^W~S&MZ|0LHUs9-0@J>FaQ#7do8f zE!)D}<+E6`?6`vR6#Vgof^vhb)VefT6Id;|bOy86@vg0%XSIdwYqxU1g4Tuh+@1He z@@Z9#=s^HD!#is@AjFe&=g-4(a~C%?wK^rsehtX$a6?FbGOE>`6I81$8;2L-xdxdT z8{Y)E&~no36k*ckuyPx5DTCB*MYyi9wY#kG?A_^U`qmQ~*ljPlK8?4rPIC)djPX5i zQEa}52{rn%ytO2+oeWshzM*>}{+(T1cwpTj-}KyDEV@EpV0!WSE4>Z*mxor(WwCs! z{cXma9g-f4Kv@Bwvm}e_Khb+ajdtU;Em*Y(hXhwV;2W_&Y{bJZK17>qyJk9;KF%!* z20#^`3np8O?ZrTp247-Ee{nZYOGKm-B9KbDjf#P8#Ff|AEa@Z>oZnp8jiSw^py{m? zxjo_n}bwW$c6S}V{ zG!eATJ}cl%2c5f<7T_%HM(ipNT*Ke82CF zg8Po>Pdvc7$QU(mn49%JtRV!4dCj#&-LzUREjZcIiSz!@j|qT!8YH9N6O%zzZ8aMt z`qLN1v_mB72Wty@zDS*ZU|T1veFzCBv^D92+nOqEJ-_OJe$}YgGHt=)%XDmNt}#7M zxgT1{%eWl6Z~rDu4HO4|RvTOh9hc(m=L>v`i`{+8+1w#t1HA0Zc=9dA%TlXJ!Uate zPXi5Q3pd0N=kJSjU3s4j4=t8Sxad7?uzs@p&J!szzCqj+?~Qb&0NOa@L)xi!LelW& zm$!i0##;y~&If4}NNu5!`m>_t^=G^L{vr*=_pR)na<3q-lyKhjzp`-fmeTsV+m5IY z^4oOVl)2ZyKf6=NFz2f)yNKYh*vMGbaptR6nXh_yOZV3g$7W*jbYslTZSpc4{w~F4 zH9RAIe*KNH6=V#@K8~loijECC%PFv(=V_s-@-tnM-1ltd(LGiE&M*lh?zx=#rw=z`u`LYn z)ET4=aHslt?ZOT2-sz+=0Y~A;_V^p!ebdQ2dz%CP)5p}4^e%*fB(gU8?ip{Tm8 zUJ8YzMF$IIA$EYYqUe$CyCYR6xbF^Co!Ei>cE{9_bXf;$dqVFv_dOd>gf%6qq{K-D zC90ef9#i6EDRD|ciIbfYGfatUDRF8+iE5`rr73Zml&C2vahg+Nwka`JN}OI$Vy;tS zt|@VblsL1X#2HSBdQ+lSN}N?tqPBNi^eEgkhN{k%Kl3_*Y?zMFR0IGWqRVi$`<_S9 zLK)ofyvH@tyAAa>)6{$^{gHyE=F7+Sn(T8VdqF|=IedvZ=U_=*UB`wOnDebN=aO^} z;RYX#4<94n*%0i7Z{OgJR@e=p@sXfwf8TIyZ(?mEKKxQjSkb>&;9FL8yt~iER`tmu z_U$E=v=iNZugg=Us>B2Vn1lNN4t_ua}CXUoWL5bf}ML+*uQK{iOn+5A_vU9v|F zb2vR>WwB<&w7*Ub5gG`smxZS>OyscliH|LbMtqJ`lyprLyj})^s`o~T_xLF z&36h+F%9ZX)uE1aQvb$8Q{E@#SE_O+_0J|%FZn9<78eWIb|X49_wn1*b|>fmneqV( zZpIxlo4<21zC?zzekN?WJAS()$y%;F)LMStDSBsurX)DS5~^gXH}LFVTVbMgZ&r5< zLo3+Cn>K5^l^WvyQhwDYe7IP)@jU08vKUI&u6d6Rl};}5l}i}!A!4-?w>|a_OkYCG zNxj74a(sUqG?A|0LH-e59A3}5hXoH|(tqXE`ob6AH>p53=$0QC-Js}^e_uCfSX92i zL!xjQ-&b7F&U~kx&JWR!ruVc8oW4yR%7^yc=vBDKj?RgXEscHL7N@vnM?DC^6}RwHdlC-}LXGssW7)Y4aau41#D7_q+~jr-jscdxL>^wS-)I0!tIulf{! zE28uHdlE#VjuHF5v~jV9u5Btd2_8&Zr)X%|rj|>JIOAb7a`zR2S@4S-Q}xf&1h$zM z*@129E-C&)DPv!(F-@ClktDHZX1APF^afJRq5u*T;|9A;9mAd_9xS!de@1(ct?Z~W z_Pn|us2H0YGz=lwXB6_O`(Bbl617^YJhMf=NyhrW$gM^ylVhoK?j&|veCj(Nm~W}u56qu%W-p#_X8%sSSP4Fy(>ZD9ax&g%D?-My<=Ga*j2-NUFKoOo zl!xq3c^ebgwT3XT6qnIQBD=zzRqS$G?PtWS6TWcw8RDrS=Qf&fvHHZ|Hag-8qS3*j zG?8H;=4#WA3-f#@yF$B3+^XXwatTL7{#)z+Q}-s|QI+@Nf09XHfWV0e8ZFvUqmBma zD72k8Xy+soa>h&~-~z6s#inSj#$*CPC?-q-nH;CZ)>eDF>22?AfA@B=wiUG-0ZjrZ zAhe3LDlTnL7#CcsxRm@q-}gO}nF)&R@AmgR_s{c?dC$A=?|1(aE0ogPo;`?S(q61) z#pfkESk;m*{Z|=^r^VoPC6}vUq{2)1OgCIc*yDx)3`!pVKaxFC;fqplK>h^f4-zFY z`>)#SX6UbC**N2cm0hvjIgVz9-32Gz)e0WDT&`QRg2hiXY??(DipR)7xMZ#MN~8qc zr0vd@%QAMK9|!9cZAR{%9J|ji(IXLs8FVemLN1XpqwhFIyZLf|9(4xlVxBQs%sP~5 z%e6PCb`;?*r=4HkEA5Q2FMS0@=s*tXxTXe)!Rj}a08DM@Zw91snRd92@C}0e56FOC zM1x0r&y3`ig~^@UW%*P-c8{WvSRFXTROUm&Pf7jUT0xcx6B(dW}La}xE;Z9_nZ~HDDaE$P?1?zBqTjyiw1p{?{;b{AR}gnkdg`NnQQnLb~Js%Xk{+LLF59$88My+l8rm* z?(his&Odaw>Fa*o#&s8sX%J zeM)owVi<&3Lkg~Uys`YPr!w{D`O7`j534BS^Hk>C_)AvO%v(H8+R5r56DjiB;#g9f zoz+15k|*SSe#E()Ujf<`kb-g$w zw*-`^yV+U-RyEke$~MB=>IU;kQUQ0W{FB2gO6&4H)=Oy}agq*(19Xw=rSuF^#32J7 ziN*GxuFe&>ROVz$$zU(`A@ebl*Y6aqv<=6Lo5P+Bpzvng5!afZ*&`FM-MNh4^keRw zB0y2VwUiV|tyJ3ejgAMQfb|&<9ad`joEVrofOew*%K_&XFg{>Mw@;Px*62*2Lh%9G z%}j9jxUsK4u4At!HgR4-oJE2LAE`ReG9urqxRdG7rMHn!$pZFnm5Ew$3d+9y@dmd_a+C)cI!&hHxc7{V=xW#PO)r1xf= z8{|6u;6!QX#_rV`OMVVJW5esIKyPcfS%{OUM@YM~<*AT)PyYe&kAd{HR)~HgW2Pb> zBT`v)NH37BUDYXTKMS+!YBe$&{Z1;EZ5LKTpn0`^P1owK?K-}OO~|s!lq@tQIg}ZF zwmdeYI^fx}EjCw1lZZ3?o%sZSQmFLo8GG)X* zBo6V;2kn}E8{Ky;j{ov9bswU(1;RKQ zrTOLS6^6g2X@`NMKAd)#c*mPZFD!P;2LFMwtP>oy#EVS=u4YJv&4Xb_h&SPVY~sPN z9K?deJ7*Z{?sEg(-&TR6;wuyH_~MsfNHTs_;+@mu$6`Fv=n=~q_WTx%-#E@rWHpA% zi0ISWK9=(s;tEQ@Of7Hs{6?c&8gNZPTF!T*goxK=(|4-$D>SKOwWR-6#l&5_*>cI2 zmUDtsewRvAAC)vMDOk&@e@s`BCN%4zEw#H9Qyi?k~$~MDX9=^^Mk%IQ|iJ?OI z&@>p!Ihu0m%TQ8ka?Q}I=fhr9R)E#0usYiT-Ju_&`-VZ-JQYdHd7Pf4j}x31Z! z%tmo^ERbqv+gq|p6^Y1lw!?E@uWOp6*zZ|*qv`PH-*ToPpM3c9{j;&>8^I9oA+`dT z$4^0v;4~4Mu0kRm9St}gHB;CEu1Jk-|B#8ygJ5i1p1d(py@y0;8v{rmxw8L=A0@Ea zGo0Kx26)NdZ`@yqDwI2Ce?Iq)8=LNT?iK4STqfG@VSaj7zjVdc%{7fnHw{T(#LaSZI#&+k& zKj9^M#_}9L;3-J1=DB?s5lMs>uO2G4r=jh3ai-{Im#hWZ<2E-HD-tXCwE)&9Ri~!)hAs>) zpGv`MJ9g}Q_9iakEupP#a;1-}+?q7*E)@ExexK;ZfEmFCm|E3AGb|k*#JZ^Z@ySmH zX3t`eejQyOa4rvL569?>CU2j-Q%mJW^$A!F@n7jt3N_r)L~*q8CAm>oWtQ91_E?_z z%u&>;<$WnL?mfRyq!@)Uj*x(-*`CW^m;^TQ=oJ?G~%RaoAYt{FU&r1*l25C5c;Y*@G{ri zYAD_}NfQ(81;xhJ{(au`1VUYyf*;|A6#Df}$#+TLPW|;qsN~qr(~6X6$!v3OVX4<= zh~_Gn-|60=Xx?s_*Ipc@fM1S>;PnE91)WBME-~D4Y)pQ;SLptI0$gOT(4}LE;R0vm z;HQ?eRW9Sv`$K@N+;r>?HD`CVq~@plov$34J_g2umpq0?mC-@ZH?;$365S_up)&qZ zj$WX2K*S%)-m7x`p&XpAz?Q@KL-`PzIt2CgEUE0l7TKaW+s1u4w5|kThoYySHS5W9 zHnXrd`Y?{am%O3Z6+JzUD2yECNH6vwWA-+I;TI{NjN#B@Z5@=!lGQs!lT)s#;-Lml zZ6I>a?)X$pRCq;3gWqtW?Cs)a)AnXJcl-p&hVREPpqHHZ2@;g+p&;fN5?R4Tqm=ox zV&F4-=v%rwW`Dn8KOq6=qhhaD2ukQqNcWb;#0w(b)PU{q7TG!na$Gb%{}p-rMCtQq zDx{P?*Xm#yv6t(hkm&&)o)<%+S8f(pL9)*Gv8dZyA?*QLSkfYN#3AQ$ zQJWGCgl|=J(&s#aju5&xx~9!eMZF3C?)I~c8pY4Q7>OOwc*VOwEV&XgAL@--Xc zzTe63&FS=}#*Y6P_Kc=(MLq2S;kTT#DL&1(7csJDy~e$BWs@i_442@P>^?DiHqiUr zWyeRAT6U!rswU*)s#juXH3NBk*bIFgdW38tmx!U1LJy-%=??DDnZAH}GL0MEZ-COd z)3RlFm=8ucIbt^#o5sWFfq2uC)JN9~vdd)w3Ptr3ytqj#b~-;n5@XhubNb^G;CVDj z@=|m{W%=4mEu|BR*Fx1ux4TSK^O#ur)n@{MX4H2awN&gIp|AeqOC>g3S5rB%PJy_A zaz)N-J&Dhp2RmX^KWF}iyeJP{C;DH|9AxY4BnAjb_J#}##sqt(+}?k#NSe3TOOO6X z>Y=V17Jw$yQjKn{vPqpB3|8Oh7QszXut44;t9<%C`@)q0&a7uvId(Nw%SqxE$uW{E zd^fRYCEBK!tXt^#FUSJkhTK2)tP?E`zWru_$HquJfuXMb2b?lm$x8R__F z3Fu`qpP2(ZYfE}cPPjdePB}Ppbts z0_zL!Wg}r zd&4+%{GN$l12k3!=x| zXPjwkTV|Iiii|Q1Wd1fRIUptalz!oM=L?pmk3J_CzQiNPZ8=B2B#=4;(bU}j;X#s= za_(SFM=8aT8f^)8uWU@NjK|Nn>l^LS$AhI}Fe6#t zVXP7K;eP%f5$ZSA$<%kPyh6?4y3KqfYg*EakSdt9OSl4e5)%=lHljM?6A|lL=^W6R zq^Md%yD`*n8Fl@dO<>`RND`AZ$WUo+l`2?DLHxTp&zucz)w2w`vJ zeGqc~baZzD_NMAi@b30;p2tIvw!RvAl#N;6qVA<8^D5zVjp~hL@akN>H^BwD%YLI~ zu>E5LHIWbZf|7k(gqQX{w6@Hh%^4Ry;?B&SouM`5*#ZFLpY>;zm)#ejDaT z+~`@u!dX?{=;fzXftv;@uQQAL@a3i?Q+SF!{a-GMOP_W`s;Xmw~`w= zDV3*}_GPIDo{0Ekkk^+y5@X+fH-9lM8Az4>R}{&?P`Z7Fz3vx8Mp6}P(lZh(;zjW% zw368(Hg9k-nE0pPi+g}V3EQW!f{&P?7mYQaBsFvc7wyLgn3XRkZYHVcKdCA4_X)5gAqMfi$1wz(GAE?k5j~2)n&L>RPC*J-Br)iyA>1TqxRFKl z3;A30*?pq_u5M%zSaN>9drASyyghew3n`G*hg2;!r2r8M@PWV9Qzb ztNfO|PU__ji6vXu28$3}TMDYCHb~4~rz^Z&bs6L10=vo|AJA%Ob33>9x=xDU@8eGl zhBw}oJMcLz8zyRZcJd=$sFnNa_0p-RXZ@WL3B9ez3JnX3MztTSTIypH+0S6JkspzR zU7FRDlXEM2WGj&Y7dYt<+H;2E^D)^8;S9MggRm)9H=d6*mB)Z_3lETrDYP2Zt3sqKp8*rGBAJLYRcW5td6+s1*}jY6aJ; zORboY#X>U%-iO(IQUJQejm5_H{+GS!i4t@@UGna?{E95f>O~}VU4UEkCEY;wS{{Xs zR%Br#Kp!K~M?qu+#$(dGi%RsSKIwjjsg+=JWa+L!+gi)g`6=Y8yS^`#frqI~vheG3 zf6LXcD+!#La93R;nmnGvB|_?W@%*V70!?2g9okPB40}Mc5UFQhZRnvkQwD|%^G4p7 zsAscXI^NilF3tTmLt9#>nIZV`%Rz&;L_C{S;dDP0ipHI$o0#{Fj_{<6n(tuP?Q~do z7P(19knt$R-dq7X=qSk_DU&588US(>qF|l}cyz<2@Wajfrc2i=H_5Z{^d}YY#3AFz zDpg!TOw&hclRSADO1& zhQ(6HeU9`^jM|#boey6M#cQ+fM zqj5Goz2?F6X0n@c2*_`T+b{7Qg&zIRG>4Sgyy8zRsYWDLgd>_^}A&o|ADfCzI3h-qmyU@GX65>s?!x-h+eEx zIv(?WE6ayLO|eJ5_&M+%E48A`{0*-TSMnc(zZ|EAtaI1#9=Q*%LYaufZB8Ym)s-8=T zC&PnlWpC^8B5-jhHA;8F(j7_d({bq|`pSCUWH?1h&)tQ>1F)&9!9F!s`7BCzNkOE- zeXk|{a`VVQ#D2K}xMAH*N zFXZtZAL%W|Fn4mHH?&Y0px)u^5UlwjOugKxx*PR8qULP)1vL;oGM`3?7}hm3mpiOT zACN}6EYjzVfW`W98-0cf-rN+9FH|G?6h?D017M<1`;%EZHdCFdCjv?G1gVTc5X!CW zE-K^Qc(ngHA#!i@>`b4~`P`@62{rEBWxv+{a#3QylX%Xfv-Ep*qOOfT+zR{UXz0b| ztr0;9b~t~!RuFVqHFu!VkYTJzBP)`=DqW(rUdfikLM2ivtEI>n2`dc*5h&c@TtE8B zzT4p}9{q$Bx5H^1{j8QxbM$l8m@UTcyHBRLs!)VmcQ{9n<^)>W;duF6&#S*E@73p0 z%lVgk|An2;@F-INIGQu6j$J^GUCc(tMzfz}TeDlcD>|iNd0Nbo1wL#DL;p-qQh!I? z6E6~_Dfi##Jqm^d0A3r!k8nd1u<7Ou@a_r$en9?kCjU47k^HHWjxpIpf9E)1!cCJu z<5&w%=Vr@u>zxcET?~&;B!^dwyD!1}vYF#-CFhsLJ<;S5Tz9S=bEbsO;{%W@D0!K; zx4i07j>EA1y0KRDWrWut=H*JqcfHM|-E4HHh)ui=A*GuDAmWXQw+rJ-5^op9FYbD~ z7&Ya1r0Z>9?auhDuD4;|bjDBYdKgOF z^49y=I9a}QcFsT|I=r|AjoMB$w1OFX4ahFeZ8$-s6H1-q?`DvLT-Zz@R&xhyyb{zK z`mvvqmR#xOu8RU3K-C=wR1I4l;Cf?*sDWj8`$$nGfuJLXV`Kx5^2gnNn8I50TZx;z zygB>erx|P1$+0Keg~rgi8%v*l$LLY|MJtMp9n=+qG}a@gaqLUIsk%3yfjOSg9%J1a zqGr7rdV1LxVyRC9OchtyJB*>qp~TzX)@#rgi+LIV157vwLuP2G^%7XV-quD_wNgYY z?UlsLY&{SD`ZUS1v29kQa-+QWY>2igVuQHBih3S(PLjzTQ1*acZ@pd1CTVxyK<@C& zUvXh}-=L``jH9$F#bbqD8`2_!rh>-?O%09>ntqv7qJ!!;(T|J@9AIlO(J2x9BiO4$ z5?r4R-jN9^=O&64Y0vj60?8)xQ73+4%s!?*RoWR1U9`=M*%f3P!MLu6zObYeR1sYv5Xrh|R%~NNB&&b3N75&3L&o(Q=_bmMTu3Z^t${=X+wC z_FBnF(f&VAh*edJn@S~?vPeVUnkJtm)a!1`NxKPSt>7RcRQ_zphv>T@%HMoq!U+ ztjMcQ~9;A^l1YVXsRLR7?Z}A9B9V zM%1X~U(l!qd5&W6*NP;Y*bF7lv}(*bRq|sMQr?)>=%B~|EYv}f0hpogz3a8R(pG7cuE`}K4YN~*oaA>V(Z2&}PlNrQSQsp$bOV-( zCuVd_C>@}HBRb$QdD$L}A48A5bmPi|XbjdCG$cP;&VMLb4fcyMkY2H^0z59tg0;NK z7@?(>PO0VPAIiA*OD(6lwX9nw;~ocUf|hhM)87n(vpI-0LCd+&;TdLNZ&=8H_|(AO z$kiph|4ym&8&oPa!VDa8c4ELG#$C%ow4}Wa_8VGtk@EY=+Yq9B#^oiQvZVZ_(y5$@ zQ6dt-lcb)#vib+4AOhXFx{vBv7PTSAb7Dq|@d!1z127G8wHQymQN}k$i}BYLLSoO; z3iPfQMscF1$5Aq5CDpNt;SK4l@m76xo zz7J;9ET~hRMA^#nPr*d^aHaz3`0BhqY4x4#xaAwo#moebDl*bT_%4$AQqH2wH=3H6 zog}%(I9rB+<&6IUKo^Y)XW0(V146((Dz(!$4W2KLz2m`*Y zqJup4v^5eL<5Ny^)GmUkBlu`zRJ7y#jBOFfXtzk=%JtZoCoY<=nwh`Q|1So76wEk! zzi4;>J5dmoWt0UFGZW(Tu)SpXwTaTpTilDOkRi`OdV(>``QI~!1^=POFlV@kF=#6E zkwm!%Z_$_|5a+&%CdWkw;g|6b=d-ikbgkk4qN1GP=j|#v2(m_po`5JuSF;DAEQ6gz zF<4989Gr{J7st|1jC0fXb;t6LWs|zRvVHQXKK;U_a^!4s=?<%9*|aw_ zvH%EwOeaW`9*k}*FjU1A$%t1foxa%&$&wE110MFp5Sxu9Z>#8}i&6N~askOR!{(Ks z98d92R#hErpJFC%n&WF953wd#m@Y={EeLMF^z@R+qK=LHsw<$w3{?k=#D(Bi($<}l z?%5P&?*!y~z54E#Z)6`IcIF(X&b``KBFvPx3>;TAZl-NwX7CdC&mAABqeZquZXH_t z`G0b0>;gEV<~hS_yd3{XMF${Tr)bTqOQ2K6VxP}DqUi=TU32;cf;7611^cW?%;^VL zEg@K+x~ShLGkAy03^TM*em!ahRFEi{ezc+q_vUCRXl6Gbfzg{9Q`?u7BM#Y?^ z`1QVUcD?7K{_?12L0QyuVNj5VSsUR_x|z!4I9Rxr{VuCPnDA||#q(-gu~To4cxuxqOVMMn2t0-CU3bYG;xtVO5M zy_r^A0t18xMPQhksxGv5%7TgGzTurkvd(PDm`%T~hTJLqC{!?&XagMFA*eivP7KLb z;y+G6DA@;5bND}Lh^I`I5+V+1-N??*TD8Ol(JD`Tn%WRK(=H|oA!v>r6j1XA)Rqp_p1n&+ z_(}r}RbEq7X&SX+186qt^|$r+S``@F&a4lD-AiHyQ6PQ{6rId{E<8I}&d-DpKw(IbQ-Zs29P*W1@r6#Om^b_DN) zf7KJ=vd+{Swbc3Px7>?Myif~h*vSyn6`4?Gw$fk?da}|$*gC|{=opb(zC+IIM#>F; z4*^&)4LBP>G*}R?fXv$dQPW-!Hnyrcur1$PkD95lN9L|p@gir-TumE=m2=<=X-5E6 zo(x%C6#8lF|A((|?3?Zs3%Ti^0Ukg-wb*7HB&|f`FzO5}WVo`L$e+V|NbRA= z&NH*~R626g1$}pxJOf6m*b}OPY`UEqlJdL1@d4?nRGE}N>4VCrQU#Lk`QUV)q(A@k z2iCt|+TZ*^>2CjKeQ^H{NcqGEl~1JvFLsuEU^+U-bMq60W|h^aNtLVd=V!@HSM%o? zlg^uxYp=l%u$X7B!S&gwDQ9T%CU3o)VPuHU{QCGTNSftIb4JQK%Nc(M^M~x9y(gCv zaNMUgg~t_qa3uz;*2 z?vyzzZy)W;k%M8cbQIc6zoJTHq!v&j>By_=%bk)fuLBaJ34X5aH_?BD0;}6 z-LK|$lC+0h2v?fI15ZE=x7>LNwmB>hKb2%n)6SMJH4S3zAATTi#k7ybL#5%eYiMIb zY}ePRP8|@%_ZZU?p}OAhqi#GTk9J03A#?5VNoE=Snk4kKtOQEA^aLC1Jce(I!+Z1~ zr6hjP#d?FiuuMox#&NQKZRMjqeuOS)8yH{zc(FM7&fAMNwzyBv>E{@_>TJtS%Az{s zR3Gh53BLp1NlDXw@ee9c=FApJZm5fUNy*S#Gh_BMP7y1B)ucHU*aYH%J7%tCNz~cX z5|OG)g7IV8@NTy=T`VqnBcZMB&qVCGL8le$Z`PAlR|S?u#Z~iMKh%7%m7ZM@SbOo0 zLfl8xrnKnM;o4AXU;Nm%V*Al_aU^9@#isT@UGovvGcgxIrvRS0UQuH%DmhZu3q4bsx?Z9Rh^o32wezh{fMpn!lH-~ z5IRDH-{I5gtQwVQ-;a)Jnv4oZo3T{McZ6!4(r>x*jku}~!nRCH`seD)P5awdsP0L6 zY5tmi!-KlI!WXgMWq7fO8f94hwHT|B_%`|M?U@zfG(b9KP!T&#{)^1S-zT+Qi2{+8 zDh>->MV=RS#=l=rU+jxEF~SKW)8o*kL^tka0i|`0$(`f~&ghTB_8%0XQJVe>Gw4G> zZR8=*ZMjG=-KO-nr3p-w>(q?BBsJUCFb3{M;K7|IOg(fCey>M+E>kIhrL4P-sYmI0 zy$;?DmpB)$kVEr+a7Fe$6d%%SMV>bcFy!4s;uGMHpY({3zbiMKe@~_GlXk((Jb)y> zeCkg6;8f;k8I^NjpNVX8jG?MGb5u52%R6f0iE@O50xkPhj(!6&kKEF);$*5BV~Km^ z&vOmQ&pRkhE?= zzDdm{B$*WCVy78MO@(BFTbz^BT(fpz=a%(sv{yKdG1fCIiwZ&Fx{8>5HcDub{K0*V zvXl^Zy2XG9mH3?FTU8TK0pvUEY2EXWkzY6)5pIFrnaawN&*|a*&?RRPQd4hqi{!9rKP8KHb>iJgZKmjX&k0+pkKc1G zoYt!A4tnK`Uv!XTFAbePU0ee_)Q-^4MF-Vf`kV;kN_$5(b9-E!en6TCJHKDF60Nb?9~5EpQM#3d?mQZu>);*9=d1tXjASUht+;3fAzdr@ayvC`cOVQ1o( zXsuqia(zxKOzKa8qhwr`ddlwlf?S@`(9M+2scdGpvfre1N7OlOT*pFLv$2itwWk!_ z_W>;Y=usf4?GW}SZY84Bz(358$guvJ5fsMge0-p+T%H!`@9U^NOb2yj1+}Wzo>Mw(G^KpI|+cof~O2 z;~|k>g&#!i?Oq(F|rfVEPL{)B>t{?5u_Hz4tCaiP3!mkLI}|qGxnp&2w=s;~^-{ zWzH2rJ?%B^TsB}Q?mg9z*GXH6n_CLnEzN#ER)z$JN68b+|D)`xJqkriF2+=EK8`vM zEG)y&W)2p&h}E|+%SZrWE^d11qHGDs>sUQr*U6`4-!8Y2A{FmpEd#?}lb0=VbGV?r zLCZFLy;r8y#W+<*?*8H=3T8SIJftJx{EpBE-4O!WjwtMwrj?4z2Xsc}UtAY62zG4O z9Za27+0`LGo~}-QqM_OXqx(5RT3{u@(-IioB^eSo!}0yJ7O>d8jv;7$ij%T<`rD&4 z1C64(D6~7j)*-`c%pX=`W>^IN`C-kHKH7Eg)KJdBt(z$5{G&{UXsCfvzsTI>j`~l0 zGwP;-_7z$n=n&%x-JS zpN*!>Y!JxK#)s{;^yv-uxQ41)#1Hfd=uy*hNtsKhalVFO_lT`_ruY-WIMU|fPm`xQ zG3VXFIBM&49hkuNMMG0EHPnzQ)Z|zsIWCg?9D;M-R}w?K3AUI`lv@g`O3J1mtl<${ z1i05eUIPS&8YG*$dfCho6c=h(3sUjNuS2E7q1u{ZzfrNgE-IoBUHy~VlUFzH?WGMi3iHcNi{UH!5E&ZL}lckTSv5|M6y8;yPYb-dR1 z{{{Nsc;&icGt;Ce4zWv+>?_yE#5I&V7pcG_PK@84C);;ew!y?G!q;$+xZ%20Y8G?o zbWiXUhv@=m2;nX^0`PYq5em28ihn|P0o|H>_ZhkmPjtC`*r@`KI79rh zird|XVW1{ZFi>+A&D3yBHcE>FF5OlW=Cu9Y%%=5gsC2JF#T z@tL9dfwnr}-mf6#iNa*@kO%@VD>u6i0L*kQJDPw1EX&3bj}-?6gZk1#?(5)MFHyYV zbc!mMr$`4ejnGsDZMZ#_nia^2&~0qXLgOH}T7khMqRh=X^m$@*d@YZ0_U=$BXm@}W?QM-Dw@=jyxrM_e-x?vlcb0Ho(cD& zvrWg$Un5(HsKkSi{(g74VA8j!BF-mDFsCrs4zPKBFxvHZMTuS4O(rHthMK5n7uMC%9RnL&X{(H;Ki$IXurI`;d7p`j9S(u7V2LPiKIVTxe=NC<>Ts8 zGm6q~KetbiaY_SZIwq58@A4`2Dcn+r_ACb#-IK|D7nwn7RX(c{IRj@o)RW@V$L3oh zm4>z~KMoKk7J6d&bSj%fCd-(+X8>UbRnB7Q|I^h|u=`?S~Ow)d57+%bFDBCLf_p|(T$0n&_l={Be{NZ)qn zP4eJbro99?$g?9lIo*h=`k@%_6N=G#RLr&{dtJ1L&e=lyIU>Bcd49SsFdIH0zO7_G^S)2QPG~dzG z%z$fNS2Sq1J0}crG-8AFghH`BQuJ#xd@S78F&&bsH2bElVtXRp!1*v1)Tll&oG2vzn!AJ0TXgv^xaqC^BgLBFopNdF?CzZz@5 zNK`CUdy=r!nlMKAE*e7}pTF)iMvoYzLB%sX;?_UJM?qu~LTvpaSr?WxjItLp@;gMYZoaBEjirtDyPHV)H?$RA>2D> zB5n8;wa85#8K@0Cxa=2dA4{zlMN=2}oMJ{UXgW-7b?Thum+O<<5>4GUtC-#iVz)?u zg1>Fi2iEAhi^1u`cno~-2zRYaxjBN_0Ufk#J=yTDN;4B52|JDhvkvi<)69_g3Ji+!wnRP<+lDSp1vhu;j zY)Y?r_zLn$)KY06HNAhK-0W_dsed=rQ>}BJEjd%uZjfki-?KWfKIq_62qWHj5IK{zc8-sr9*kDA-;yxN; zq+4_87K(L2MrqlOn3;LS3cX@qI~Wk;|qx7=jeV&$mNINw_+r}QEAiFEvo z0nRa7sU0o#ZO%f50Z%xZc*rX&DqArUVxHH0lY^R`Gi!_UadPNggsL(nPR@RVW^8k& z%lGJ3`3TyFm`3f9osro-}{%!V}q1FCYtShbdw@;(n^1K^EZ#~L8`n8Q_ z?_7KwKvZED6yO0uj(L`-qFjsS&;wEp@IR*b37lPWkF2PS9i!Q?K z%t4TnE6ekcy|HG!#`4W~AA-+~krOhUTd}Ms`{pTFlNk}9v388KPnIu}!#!eQR767k z@w1aw8Ql337jP0FsHRE|V7XZdKPBmRvfh`h_b2OdUx@|3=!NV{IYkT~ZFkJ$Zx#$x z|I5yw`1M#I4UN)*Bu8Glh+#P2xi>e@*mR$B)61C!d>`A8C%d*Ghg)*TEOwkSzB*vD z#q56Ulo#U;cFM>Wqo#hDh8qfo@TmD!X7DWyez%cjXb~uRLNe z7)L5)8;@60fo0@sWtl27R<9&875J$!?!9Ru$&;G<|H@Pxz{0kD(?p%zaiSz&R!Z{Z zX6YI|Bl)sYoxG?*wSWE;(hb^YrU7SF-_M^SJ*ETJDbcF1x2-gq=?Nt+MZqQ<4KGkoj!|Es{wD40hcHGeJJbCXohT7Lf&*)_|2z{4TEl) zpHm~Y`irpB51EF3W#)EcvJe&h_#&d*$xfQsX{q*Rmd{Fx(~4^BY3SwTyNvJA<>i~_ z#a&)%;hQ_AIuO5{{OL=w^|G{7B{gT(U8<6rbH2;nO(i{){635ZWc%fA8kK^%p@$_` zW{>D`sH!$Hgm{Pa<-^BOo--~PNA9?2TzQ|Nrlje&tCjm1^)Zv2ft-@i%c_I%l``UG z(y9DGdhP1c+(G_RgQnfgNlBVB-D4tc$n*s4>I$h@eFOy%>$IxOVB0ZP*NR{PNG+J7 z&3X{m>J{pz=j@G}?=F-p(7m7DnSeLz*75f(#B@sfOgP=Cl6{wQoAy78T@{1@y<$sh z!+Z>Hpn2MyWa%e3TNJ<7GkR?wVvB0e8QK=rQ00f)q7vFIhV$=~R~k~AJcGa-h;!_R z_$SUC0@}I5*^(a7zC*As;22L%oI3HntINrz_k)<&u`RGAp};27ZN27fVxjq zfisQn_qeVS@6;LHkEp-`qi2??OmLXa7!O%<*UeXLDQG+1*id&B?Y7LL4SU)q@tZkO zYW6voHUMQo*(qrMIN1BVt6X)O)bv{v+=!y1b1aRo2O`u3ZlM5Qk}x00*tG zK&Rhv#ley0#LZXv+dmt@qN+xcO)+{;hUprf)_9)tH)bYV@#Pn&uT0uCJe;ZNyPEZ^ z_?-Q;+n+AiVrbB1$vrGqhovp7x7WI?8XW3#U|}69}#h=e|jL97ic=9GamM_)_j5zMh$#CTA8SNPk4| z;}+nSKc6e(A*|~=k$i$9`s6d0<4%NPvJ0Co<9cv~Gp(q73O6eL7E;saFX1Sk(qPwzVLYHvysIGu=XO)uM>^+V z^KK&0Q#91y`dWIDB^=!$r=(X+kRLl!w9u%8EA;*K1TDmGD=NYu}Wl8qIN@Y+8BD#78M{Ar8LHB+v;ujmp= zTrlW-TT0xVEm8CU)Lnpw|7}J-_z8PD~z5Oq&K6D zzrwyAew3)}_>PkdsmXUqce|x;V&W@tQ?WNLppDPH`-09dr0Ca41CACdIPN!gIlG}a z4R__#=Y3#`uJ42>^!G_t(y^+*_~s_X?bon9ec zVFV@<<9C)x%&G6wmDA`-8nVs;ch!#J+m+D`It6g@)hP}-pM{s5J;jL!8#DM!?zss% z=ZidU{<$4z%QHnfHYk}UJCm=b z;fySc%R(Im6wod3n7$;QH05mK6S0>noS!UVNO(5c6c20L{7*FTNF>>elYgp0V{P+e znm^fy38%&&|HJ&Zde_T>37WTwQ444&ygb)7tts%u-K5LmY?8wn6DxLaoA-q!QZ8|k z&G`I2*o4SE`FPq;h-|sp=qb~|8*7c85*=)ffkknA$j~;|=y`>p`wGlkl$m%ezW#$c}74T++`Y&YEF) z`}P72mI(%aIr$JY9QMmt?0HRM7qMzyV_UJ6oQH13^R?h~=NcPs=oqZ?NpC|pR4fxA z#d7BaX#uHAi5;w~kROiw7ZmX5?D;f_=+h@}s6ZaR>V}SGpO5s-yEM{Qx5yRM^*M1- zas>47%hQRU)JLtVg{t9&jne9A05ZOD@e@U4C{-HPFe$8CRt%F^z=Z`)qhk~xNi_11 zJclvQUVb{@mwZhIwnlm|I>(41H6ts!%IN-#%#yuusZ6t2_AeY3RC??zD*>TtBrx=w zsCJc1bJTu1hOny4XEgM(p66HCQtvy@$2w}BmBi5SA7pauc}owO-E$7c&!UM{k>v6~ z=!V(LD#+z`2BN9jcA@TAns2P z&}J4Zyip^90u5K3zzNw|ruF0Pc>$^4@@R2YrZy~7`?tTy)CSbl-lV5?6;u0_^l=00 zI>}II{+elEP}`hxdL~=w&+fOE@7i+?8r|!OVD45U*lHvaDs>P39B6B?Ke3YgxD~Ve z2$8)UzeW}cDO9IzajdGXeAT5^=!S6o6ea^s=l1vn=NF6Bj9?dPd04i02j9#FSHKP7 z?AoC}P_9o2)84*FZTf{gRYCl^_Deub+BjbHp&X?pm9yzr} zs|w%BBrbEQWD|1fiE^Qg(i6oVcaFZM6moXFohL4SNcvB+>Hh$|?hIH;sAnHas8g5o zs8GjBEBA58XdI4(nf^59?iaqAPncRz&%{$>#;UgoHR?|}Ud@)uHb*bF`1)+7b9 z-p#tqP_3_RsygqUEi4hTGO?lZ^l@fot+R1iBs84#a=y&pviHhbKSIP;-fY*Q+E^7g1DLLg7 zd4k3fdgEjX&E+*J*`kBI&?Vo|LGGfGHXZaKc?}C-85?w&GF*mTLWIDh$OBG9oB|rZ zSPYZqehWq=z@Q}!D!JY}AD0ebuqQb^r`gg192^J~Z%A~5NGdgwA(9=>IuOnmku5YkEYl++;Myy;9_7HgL5fdV%E|7YoJWYJf=^vx0;m=zWmLB(j$9vQ{2RKo2tJoeE)H>bJVH)Y%ss?e$i)Hj)yuA`a;0ST~_Q@9?Q`eB`ZuPux$2iL7wi| z?{M<-Vf)c^c7W3-Oz00tS9+7*K1{mC$v5O@$!$OA{9ArvE>6zXfGS-H=G^n;ir>dS zh4NwEK1UQ=*&Z6l7+oLG31>6>O72Uvcec1G%Gj%jw(GWrmNZ}O9S9){TO~DJ{JquIK=sB6=4wYKy&og=y>DgNa8E}e3 z7YY`;PSE+3H8DBKE=tyT6Dz$%AmO5i4_%laXx?SX8vOY@$q}on0qYk%idh>IZ%;IC z+gMdS&FJYT0>m|0Qvt!Zs-_}Y<2QPKL}X%R1&G7Ht7Jc%m}JdNW6f9j#2&q|PD!s+ z&&1mkR18Aq} zrK0ogx+}C?67H$&x~61Jqg{7(vgRVE?@tDp!@>?SF4Z}lG-8elCV<Az2=uynjnf5xlg5|WV z6Y?_$Mp^Fmxwb)EndF8ZMvOzMoyvRp6Y(Y#r0ynr40GTYxk`>UFq{_XitgSUt=tq% zT@)O#cJBk_T+SUiF1q`<%qzVe8lyt$+htf4Exy**Dr6dJY2uVvi_i-a1L z@#8V2b(~_|Y!>indebz>LI+J>n{Y_Jsj`nksG*ylR3Pfj6T33 z1q5i)=dcOg!G0&)hpP{v4=xS4^egW2Sp>ybwI<{HodcghTnA(yC2yrs3^l;%g*uPR zkEsIpW{HS>3uszp0-ZanRlN?9``_lf!JzYHf*i6%%Ci|4w%pmHZ)2(<=$!Ln?z=EH z-R~Sbnr;rV6f)7S=M+s-QulwNimN~_|MqdlT0>)Z9k z{li5udk;PpxBgqG&A9KQJ?Z&xJ=?#p1oX-Cgs9Agqy1@U8=^&R?~sUy6GLe{b5Drh zgJZ?z!4Y|W59a$n%;|xQyX(aR^xr}X)r)cZ@ye`P8rLDW7C_39b@4efu`4VdaIr@V zAEE0(DWJ!h@umHQ9WAY@_qMMP=Y~b8xVO;We$5s+IL=%1T(TXQOZ<$~+>y|xRi|00 zd0u=LV&B3%!2kCm$-?CP;v^O}ta(8eV({V}U{rO1x8Qbf2OEM;qPm(t_eF{z(O(OaDv-&N6yL ztrVSGY0OGpwlnc|nUOe+IJBA$DhJ&0SO+fBhm3nS@ia^{s)wq3W2KAC#B-!BAhmill^*NVOFi!b zdPmZCMS8CmU1MBm%A)$6Hcsg9*TAua9u88|^&-7`0MUCEee#qBNZ3`#Y7MsuLTBG9 zH=Zu{1Ef-hugobYqkjObUCR9=M!8`GWQIfJu#+OYWriL$x@Sr?soRu_gmcAmIidPP zSGrm%^{OIGOs^{PHfxc|<(zg%k$NejIJ3z+X(eiZRo;1CWnE)|B;PB`x$hjK`{yJH zqjyNwZeNMfeJc@at5@!fFHgKvV)XQpSJuJTr*zn`Sdv-H;53KXZduZ9Nul2XRGmFsHwSA^_a_o{p{>kmrJ|H)_9J`W9O9uoZjX8zak-zNiJ zE7|Q^WuVc}@8dV=7Jo_6^!1rz@&oy#IvX(^ z;65$Sb~a49+u0W|u86Cz4YxX~jCA!SM(A>8{mx97?TV-4cW#BVoQnv`j?2@hI`o~o zRwQ`yalA47ou6iKuw0$0Q3oDAyyO7I#Kar!+wt-4V`tfymVt}m67h+)8?DN1Vum2p z9})MmJsTtJz?S%BiJN^$l088eBlbLq)pbE74{X|7cK-z@S=R1!B-K0;Iq7p{_O^&U zv$wYArS_R-nn4$fqQHO7P6k_eCohx>8*B35ERqds?C)v(ZJA6OYqIOF?5Q^l; zL#z%hERUZ69T?q=g<>MW5(43QXj&mYJm*#1$GVB&`R=_Vo1%&S;=($gnRqAMx(hoDK50;vzJ<}( z`S4DmhELlNHRv$Jl@>aEF#}jw&i}I07NU*zpfBUW&Xq6K`eY*fsOI}s({_{#wCt3} zY!Ro5`cXAfb}^2XEm}E*D@dbmn2C8YVlVbF(_zsy-WJ`BM#z>&hvUAOy)Y=e|Bbbw z;!SNO*oIFR*%<3AJ>t<}tf9SN{}DPn%;m+wNXUbRmojtk8=0+2kFnvxV(gu@?K3NP zng~JMuO?#mv-U$YVUDnd&qYp}R~D^&6sDX}x36>MxPtbRkR6sjJZwMZ{QIMsm3!0Z zu4AJmKQ?-oPCn-`F$oPMeE z-pB;g4h$mEyoN%SnO>oq6eW*RQ;epe(A(cv*LCLm>$;*{)KKQ!SSRQ25$76y5vK!0 z&8oOwOx!3=6PjPD;Jall_Es0#nLxT?QbH&O+NpD)oeTaUXy>(jXlHu{+WE>O8rs=2 zmyRW8C0C9@JAz-0>Ocw*X1^w2*m)WZyACi+ctS-^Dbnb0;iG16ku%$^ z{U%j=DEawPyB=`Mlbqd4M$G0V`4o&)rW3ge(fwwth6T6^2p})aVEoVW^n;5DfjNMt zJHfJ9TSU+{Rk9aoLQCL&U4>{qRq}Zq#1h7+Aa1fgfG6l=J=C6hd_wa##{b4-{i0<3 z6@;3S^-GiW*AZ&LOLnq;m6f#RWLqh_m%T})YxV-S%bOcZOY?2nS>maObRqgz|CL&x|GIdG=uJyFHA?3$L0cDbCm z0%xQ~pSZX9b=C4)oPB((x0bA2nxojCt)VHuhTpg~{4!fZlk-EjhDGmN1D8nFGypR5 zZVheO8XBEuRRdB!&J}Jb;4Dy~C7<_O_TRaA8QEVM*^5@<6&V>X!tC*K4KcC{%AAwQ zEP5Nq@yiQ`mGydg09+qx!{dmSU8w)%?xiNR7te#8_x^iD(gV&{p8BA@Ch1|P^|0y4 zUCsHRy(s0Ioc}s(dW+L{m~?k9esx`TFXrh@C$uYIpQZ&IP%h(Uy<}D`^|pIcwIjpV z$rEQ6bOz6CKl-;o#|2e42A6wNbN@cPfRx|x--QTMC$UjNH+YTiG9pD_1>f&cUi(1A zp55DU&6{#ZGi(AU>3uAx3*_w17F@c z!q^mdzwOiENy4`&bG|ZY6oBqeR?Uj2CrswaR7Jv4%y!9!4T3+E-?twv= zNBo22tbc;?!81Il+39&*QKi4&mj3K$ z>7{PzMfs(9GY&0%rd#?{x3n^zJXo_xsz@q(5XnS0VL967l^RY-yy%~`aiB{u7~F+x zBT7kSM2WBU#P)XGq5cZq+1n*(UvHP7qz>qb=5mNYQ-{< zDDK(Sacmb2f{QI%i@w@*bIXvfkS3q=gE#g z>JHw+@sHVaQM`R}o?X00S8@WCr0?fiW!Sh{Yn|wl=a6fUitxc!%Pt)v6tIu5r>)N% z3eWtoT^;Fnros-GVA@@G(h!8z3H%^(7wj8?(7XG&XtHec!?xMsG5uOb%|(mMLDWLU z98wgN|IwKJXxoK&w<(vlrVSy>SMbG?Onc3rsI01}4FI^hqi5p^`CY|C`Atv1nJh^A z?DIL3)qW<7pP<__J62TOvxOFuUP!tSf8banH7Q#3fvBcHnuBsj($9W#5JC#Xi1Rz| z7y5KT9IGL|wizfvj`pRzATGKIWl`ZRl&7b``(BF3B^}*~#R?Vc9oc9mi>OPWZcRtl zv^5SsNLS*;rcwBz!5&r!V)J0wfeSJi-bX(M!~3Q2(2f4qtLU)DSo3|lC0$>37JtV< zv4p*0^n8g}LH{ks30}!g6fJj64zQe4CE^Q2RNlzuHCtG;{T6;|xt%TN9wZxv8%b1> z9d-p+Q)vbG4l*5!!=^o>&${NxUV0GqJP9TPWq(ui$uI@ZEeOMAq3vUgbq9GbRH*w| z6><=-y-Y%4ZS`%+BDsmlKP7l7QF2Oz#M&V7@!1lbA$fbYF!%7Ed_rHdocD$yKnU%L zD8G&xmMF2$OccZb$@Q2-iQNhOJNJlsZY-ts8pMS04yOh%R6IXlFNJK^{J$Fb$ucXV z6(9xYspJa*vt>>uO41ynOr*KI1*=Xqx#zu6yR=_C^pvi#G@4RvY=|6FmNOlFJ9YVc zp{NgwdVzibAD5T4^LKJ56~vDe711*3yWg1-(Uf-{%Zf5ZewX*M4EnuF*OmQJblin6 z?stwqhkC#7)*EzgmU?v)J3m5DL@WGy*mHn*Mq8B1f;!)~YE+9y=F|GWL%nVjzj8&1 zRes9}W*QGVcabuDDvh%ZkQkDAQsWf+%q--wC{*aB#<1@5It0B}kYG|Vy#0L%vD8(3 zo*X|>E%+YdWcqjVYd@+h{j^Np?{Xp^=5OjW)Kf+5cb;llbei!7nvy2VOsI}$nVeIKDAxl``dXWcQIp<^$ za@5sVk#-z5b#8G1K(-xA_)_>S~tmhJCJ<$#SMEPI^WNA@N{Su6@));n!4y z<-ELP6!1F)z7-zJW4ki&#QT-U=GKR#fBmrOL1)>a>0@YLXL4IByJjx!D=XjTBGoL# z6Mc%jY}yAD{mSx;AiA*oFIMOm@2+S6#Oo~kmUk8QDe#Z;@lP`7!EP19awBH@rhH0P z`G>z{kbxKAW#QFP#iFsUGRHF2*k6@POGzYd6VWiA^M9UKGJRjP?AugUTUlUAwG<|X zi?CkLpqivd;2a=2KdR`YIESvIs=*t_4E_UF=&N@V)i#%_paszJc(j1dfe?gKC{PpH zxQ;do1wz}{eoWdcl#d_0B3QlDivo4%VC&s5*b>@G+Ga%#OYhe(;6(}w4AzEBz}Y95 zB*<1G@;7MmvLg}c#{;x;f(+N*k@5cwJz}t?RFa)1KaOd7s2MN{-;CNXhTe)dA#529 z^{5Unv7wuB7LK7e%71Nf;$Ug(AIX}!t|Cyi(i=aU9MRC%RPK*6tg|Ap$FQOY)dMD( zƽVpNker9G`%^hidXEbGy{h>jpL)1>heA#N}fdD4dQJ9mm=Bl)Gn=C2DnncQd0 z(0j5nP$~Z;CpN&Gi5dS2v9aS*Hg*C|U6HrI^LpjG?K_#eaMo8fa9&~s%A1quFOo-_ zX6;JPL_$p@llu1-&$VL(`+*+XgaiE%xu*->05S;ejF(pKBsU8B3z!Yx%^wUpF=^7}p>W`m1ofx|MOHX0}TJk##ntt!>T&S4>8Qc*7>q zggqdmG&XERMj;HFa&J)-(%!n~h=m(I&Pd3;*NpCrqU=gW*RVO!pe07Ph_hI!FHW@` zw8{?J3*TV^FDYz>x7kUeAE?QL>!N9?*HVa&%SZHz&`Srl)L z+5aDHZvr1xbvFJdnFJyPZ;-{PC?ljAiPco7oiM0#lL@&a0|d1iH>9;ie6>nphDFf^ zCc#Xuqtw@`UEY?qc2leVtW|JL*b+fDsTFHg#O)5_f~_K=nE&@V=gt;{+P?3f&xg#p zXJ4Q5oM*j7)^#$rm1Y``c7;5hXw=NVn4o8sf7P6Gpg}qhu)aLFCd#}waS*kCF;*m? z76IGjFg4Nm*C*;{Dp~ZJyUYA*-T5$*Y<5a5iH33u6I=mlxXF0bDz=+GvxWQawFdSGNhe^mnvB8ns|hn=Qh?!kS}Kp-315 z9uPTKUAkFKa4$L)on`*5tTRMgNmw$4M%96v!5c^Hre!6D(-cH*E-{G@dp3zA=H$2! zit3fUs%M^sJlLlO@wNdEbVx(ug2IMTtD>XBwLkDhnM(-jv3(QfA`mb&jKr{W^rONa zQ5cma3Qer%<6ww9(wn@8)aKTgfQ^p3KAk@TZ7P3n0=uf zdxjH}d|D_*#MSqME{Xa1Zc)+@J1z*%+TBT;VVL#{!P@HsihUlK?CIpy?E|2k*ZEbXSPIy0B4Iu_NNo*0?Yc_U>i?Man(IjpBRxOeVsF;{Avh2qC$nRRjlT$X0~ zWXR81dY|Y}{uk_adG~Tq+<$Vl=lW)PkfWmTl^UHVP5aMU@IX*UU0Wd=HST93WzKI- zp;G-GL?XA8d1v|7Sz3(3@-zf2djYb#C_G7$;Ndd_58voCA)#vT=2GNsh`y_9=3}sI zuXUJ?(Q!Fwh> zRg3gnJgq}UqJ(H0@UD}02gUElnX;Nu3som|!&sufLrOa-YER;>8|T{T!Xhl4WBi&8 zn%q>3kh%Y@=%F)mTl|KMvi*JZ2(k1%!PCqCqsHV=&RK{H4+$vNtJJ03<}z zq*tjfeO)$fAANvB_i>Es;}uoLlHbd8u#BiQs2Xej!x}}EQ0h_krjcv^53Bhh)ucyb zv|gsZgshu9k04S_Uv@JaZU0vT>*X5$KNy$@$Yck$RDG#|U9W;#{bL4x!l26o31_Jl z-t4SQDJ&E41!8J>NRZv#`~|ujVus=WVj&IcQ7jK$89~{emTb>ZVk(!s(m=N8npT?- zvpR}?Ap;X7FD)_y;66hWhOr>jY4z5T@IqNu~i{86-sL&%3a7ww`%Jl zmoskLY>qdUCE)fwCd?Om z2X57 z`CdQBcxK|7BDrI+Fxsj;fr~;-?9)Ro>eu0j893Mo`Z&!9Hjhmh( zInh`ubb!?aP5-4nBPOPDgS1nl+DBw;5 z_Q)8245`O#SCJ%}GRk|{3!K)PU~TbT#?6x`XivDyo$Zk421q<^{}d}Z(7HBqGTn=u z7-;#t)QFu-{($kwCS(t5D=~`pXro5bYKzY{+Kwf$@LEeX-BNps(Iz~(4zti4-x)nI z=+m|?jkaQ`qhoD)#ZCXKM%yR!D(U49OyZeApIH>0(cs^0Bz6&%X+(GwZHgt~e>Hko z>{A@1{hf3?09t5}EvK99kthq@7|2KLv) zJ^URPuP^4uhvE`ywG-Ow%Xm|QNJ5Hnt}KSejGGd+EJ*M+=eu1Hesem`f~DXbXGfxW z`{?67NTcjnajPMF#AurY@qtk+8qQ2ZZS9722@;ngO_g^ZA;Mmp{F`+49v$8!;hz)M zC=a+ZICkWmVS;87vNnMxI+9W9;0Q`#T{W67T;Q>f7tWHKSiG}v#4w!IOu5nILT>#E2A zjHVWh1VE?G5Bpyild%*L%d1ZxCueQ1++vn`&V}vOv8R^P`~cIqqciMTE3w|Ny&0)f z;VLY_{y8`qzC3Z4vDvwo^2<#79qM0BkO^4~(H#&H^nYqB6)9#qhCqzD4S%+83B6Ey zNZ-Pqw;PmfrNH9Z&U|d&+P6r45h@(OJV&qXN)`uNH%6|o5_jw+0c}2NTTxEXDR@OL z22tL3ZGXWjA>2zd1*n=^O2~bFHxGMpmm#_yN_iW#LIe35+|Ol z^k(OWMA=UXKndEnbn;{RKbbo~=P4ym&|dniB>KA%>g_fjy~W|H!QK)U%hM|8gpCK1 z;rM;(fiADDwJ7sJDUZ0dtn#qi{QBOSH^f{llTj8M0J?Q|bH`?xC>F-^-BZyP<%(qA)fdrFP7K{CZ>*2Hg|p#0?i zOzBq0Zrws_VSfr=&hCd03TNv&Aw8>n(s`9nT(Hv`F!xw^Ho7NRS*J1{T`F4w`%odQtc5&(u|J*ZUp)_mf4%RhXbnUydRqG+8I>{(UM@pM3+NF+~U&?8k z5^zou{{>Slmpo;8rUWFXlyGzQBd2}7m8dI>Pqb76*U>~Gbpv;<{`UP`*jto9{A59a*&m1pKGzf~rv#7`RUkebYPS7 zT>^m4iT&OEoZiMk|I$u6k?BqBMqknVo{K5QA8b*;fQpG!_pZF2q5_v za((dJB1gohp_Pi@1 zj6wf3K4XcWJ)7eFN0X^)d%q5hf^K*m|GCrxH0q_2_3}ldIp&0G6 zx;y14lKRhk?G0+Vma9qLpq8t4MB$&Y_bC&zLK!0B7eqPC^-~g6Wy?4J{qOZ%=OYgr=)mVgI7M5p8cIyeK zl7XkWcsH{3+{e=y1YD^T&uqkMTuBM+e^?^nd9n>tM(c0+0wc+6 zMb#x|-+u8q+!XRZAN8#)CySF9Mt{>gjrBAHU*M6}-u)bQyz++= z@a(s{tM#cnLo|8koRWVI-QngO$DkgCxR~I4>VsLz!Gu8lZ8@07$|$~x>Nr>>J6!ff zqbQPhC##C|q4P5mE0=!qLPA~tx|g# zk9;u-!A_eE;WHwKhu;PA+kQ#qBDug?m@ntfkJyutL4{Q?+l+nIKYD~9u`2C>AqZYQ zLoTcKvWlGeJ0)I}bc6oizQNDjF%%p)cO=!o==kwq7>^=_Sr7r)q_+yO56kcM4b5?0A3vM&ga~I$ppU@j71A-pK11S}vfl zMao(XB?YVaQ?{oUjd!R1A&)4lxTAUP2=E7(-Q@&CkQQes%m2s+J) znC(3E;eP3XJ`0N}lY16m!+A%|}xVvf1J_@~k}I{hCWdtZ^Q@?@+Q~ zmh+QCr6+o1Qs?Jq$*q63b5VX`9~x$jGyah2mUHwW(`%f4_a40ec0$gVGjK2~lzp1# z_pe|1A>Qq}{D$&Fl)vs@w{IV+{P=%eep0r)2%(gUeQsB&s7igIrjLE% z4Bwo?vK@pN6G8SC^QyLHaMhOsZ1iL0QWZm`!rO;>smrr>Q^7WBMq#y%an=&c|U zXo>odMX36w8>pzE{lepMEHJ2H>~k2^wbx>MXSHO19zE5Oi%<=H0fzua`#EIA1=f&; z_GzOgRG97NXyc|ci9=rO@R@C$I504a(bOlVqpmzKel0or8B0V{eL}Huli0WvA-SPr zJ6p!5Fvb?^EDHKNmA?QFR8Hg3iw2AL0kJoH(G8^t$7-SKb*9&gJfPgr1t~E}e1c9C z>%;iv`qW-)lBFOq_0w%Tj7K+AuWdt~`gbIHx+Kn_S7IJ!NE_nlg;9*uc==5YG+P#W zy|`s3V@KVvm6g;^f5pe*t#1xb_@nel05rajod)r^OR8cSkit=?*OtT$JD+}mqx+tq+IpvC(>f)+Cu zg(RjYayg#{O{_ionU>c+Yw0RyC$)#X)oabs%%(Xa)nDa{`eUn#P!bqH3l;NEX~3X8 zvW<^yKqa*T$#pO_1nx2i-!Oo#Ukte4T0Kj}N4OYCO<8oNIq55BOl^7@0x5X7}Ll zH2P1u=2aIr>n=VHU=~MFF{EjjDcwISwr~b*y%;TK!mnt3F4BZ~&I;p^5HRIjZ`ZD( z6>NSs{a*S4J; zq#5BvtdnYlUnAE+&RQv3Ir3nzUvy4mcwiIZ#Kq++)%dEn)pZmfZMJ(ty{kpH=!1^N zW7_MF!SQ#zegr}_NYnAUsKjhoWk=%)?e!;gG@jUAeE-uoq1=sxJLWFBTJsqqQvm5-Zt3k@UE2PN4G{{2oI5=kv$o4mg=?INC z?H_hh$+n%QXWGeTN2u1d(_%Tzl1og0V0U8&S#;Sti4~zigoLXm^5-OzKV!~gS3(Uw zud>={e~Fz!s7e?34LFBlfcX{+#%Z)Z#b4Q;c-FP!zvsjG3FA%vju6e~m{hTxKb%C_ zTS$oQs*TKLR2TC9_}H!^BO?~?x*u>FjdV;qu4P|QiM_H+2X9fV z=NvVRj4Yu-WCTCS@cKmuQ8KMJkhSN!cw(ee{#GL>v%QsM$V~*_%bjK#4IsP1?G`9Of_79rvP#12YYgjQpMKH z5_p!jg^=sl{1CPtkQFGAiQeekz;9n$4_6ZB>de!Ve06!(qj|S!v2q37W>|jGCh_@g zR^PF%+0K8z#}swP9+U|F5fnnH{L>&Q&(m1$`e_@L0p|p{Ah_CGna|An>GWpjw6oJ| zoE?An;vU^b!8-Hmg6_p~0OX(5y|_~a2wuJr+Q^IA@w!saXCVW99IwNcMLmB83|yI{ zW`4C=t{OF9y~znmT6ev=M(Jhxs!rc6!1S5wf}7MVf;l`DMc|48?gXhDo7t^Ww-8Rv z)Gc%zq&cje%#bq$y@`9Ca-qeY(szA%xVHP%nG@v?qF~~KPh=7Ii)y&5(VJS8{kNso6vXK!5qzGK0$e%#0pnG-7t+mJB&Wt6c6VX9qiRQCl15_e6bds{Hx7AmB!uI6PCM#DtEs zk&~2#S-qm0rbjue2*4;D3Kx)?Xtp}%ighKSt$?P6D!X1QcN3lQk|5h$P}gHrECoh5 zqa^+=H~s_-$4;-LW&zaZ9`l6q=ncR{g=K8pk+484P*ujr|HoUc(XMLUY2;5`pffkA zbOm4EA5CNi}J!>nNdA z?w}tK!fH~F3qPfR&8XNPTNDSR0>k=7+i=z5dt!lomi%dYTwsnI%HQ_NowGaF4Ery7 zzj1@6lvynu%CdPcBGjPFvI?^qV64FiG71JPFiFH2sFEv z*oR*y+eQgAV~PEV$`<-|pfPsErrhkj%yh5xlEX=TE?v(v#@@O~`jc;reVM8)<Nh zv)ze_i$`3{*2*W?j<)=Jtl@~1Kb5~PL*4%okN9;tL^@hjxry1;iuaBP1ZVyDDO@M7aG`5q&%S zF|RWV`u~hQbtjbL2u)_p?r(}sFdD@02MxZ9YjM|PdI&%1NVQ3W%R>H_bM4TF{QKq8 zZH&~9`pnJEG)3LQ=BH|A2x`p#MZM$H5Y%jJG+O@xlA}AARLbP;ymnY=z}VYk_t@tE z7*{F4*d=1hv#df`AYvh3RxDZ;u4T%jCCQtp?EkOn5Q39h#IXIEOe-6UX@yXyn6KxS z!;q0{9)X4Ra??vRngc|qv!Y;hwZvUjVLnM+NQ+!uIUCcQBF@6Cub~6bn<}-eGt1nZ zBkbG{aN+Kz=~6xZ5ps8vYB4|RKiOa+1t%Mf+Oe1TBl?-PVlS}Ft1Q^B=IyUL=Jw}; z|3!at_F$eHgh8q!oGLp|Wz|j$G#EigO&8B zWsib8SJ{Yv^K7K%9=uAIT${FoAGGgQ0tdp@o0U8bwKbMJPkBU6W{ygTe10fLk&2k* zJQMiKS&l3RL0!!`cWR=YWak*M!IHg}v*{uOeaj~R;%s96ot$Wq@-Llvkn)Lyz-Q<2 zgQla~{`36A{Q7y9-FRSn`pyTii*5YD={rBI>!oPy`hAlXcvf$)4;5~6tDs)apM_J4 zxxCrVy>3Y1-D%ioU49uy?4PL1D2yK>kv7QH7|1t%kfCuTK@%ALG?D0b zZ+l&s+$}dkK0UncxrGDPwJHRqAT=P+u5p#rS39O0pU%iD0(__3KEI5|d)j7DF_fQkVtdbhXzN?}GzWaaAmvBZm zsdclrOK+>d0s_AK)Od~7HgX_?Th6rjr;jjh8bPXvA}{d}@K3KWV&dVfW6G$+xu0*_ z={bLB*gn5`vVAm@lbMPTTDHCCs;StjuDdA^7mI%^%IH$BX*{-Lq_IRC4H}P~{Ns^@ zN-D2o%4oYAYGUEiPP&j9289m;^X`iv82o{fR(I`rJ%;FrqZ6$>}*-Y`;>89 zLpp^}2-S0z7*Q4Is1CHgYqVZKQlMr3o6$jN%G~-WU&(U*bkq+-blqEd)&v7z+VqS( zKQL~B3x?kN^+&@2SS|%S*2Z?6Wwf?Rxbxk9fl=?bJ+p9-syITN-IE$DA8pt2fp__~ zEBLLJepj|!Uq&Urk-IYihnR6eYA!Taus>in3=m(oQXX_N$;zcI53^>cU21(&=(^g=ob2LR&coM=mKkQp)am z>`jjSgc2jTzMZ-|Af>jSS9xPceHqL91EEH>R<@{FoOCo2eXRsJ>E-i;cr_HC1p|BB zSiAmkPE(|#eh>xcl8SQ$IQMq_aDEoB_evQZmC04pvad9Hq~dz>)@*jhz#I&;-*|OW zUf(j%#IUD77wWtWwrimx;9}iC;_uAF|3SxJv?o}3V|jFxdjzVx!TEHLEl*b(?_1hQ z#VdXMaee~LLf{*Uhn-s91uVSBx!@g$cDPTZQvmiY&OcG}&{^#dT!>%kCy^vVSJo3noj11a0S60ZW@9l!aK)y}R>8LlsAs7mxb+YFL zAo}8YnrK6_jhMDc%}(!paYol|v|)0T4Wyzs zIBl><##?@)~Vzj16-?zOa3+0@jlb z0M>auxFOwx=~UA4M5XYHzZo4z=qy6_M8_;f;`E$zzGX&FUHn94C2@1+nBR(yV%LgP zP`rMYzrF%_^|dKi*nc?nG>m^gT8vixtdRY&=*sgL$2%0(ro9=+)6d_7F_z8txuwPfTRE-8o-H!KkX_V~ zKR`Vvk#c)4!T{~Gg!od7j_S!diruOD@^nFqOzLK*Ryu>@5>5gKfL@yR``7@eKIhw;dymCCL4^l z|6wu0g@5Yg2kAjP(O8M0?aWSObc6rxdDA!{R`q%m%zn|Ai8m#GcxGuj1SNS)<<^+3+rcLru5^r)Kd^0LMz7Y^l5{$ z2lGPoCR*XYszMFOSaK4LB?}o~@>2fTdzE<<8JWuwG#)s&qIcESUG6{=i;8-;y^qXz z;o~xtkiR!_w3k3(vo^+~Me#zp6hS7Lg7wk&QWF}GY#`G(Y}|xICav4rirtx^H892D*mk~Fv~Abo zoea0Yj1R$rH^Q5qP;7N^gMZ7M=VTKe&+d^5hGSjR{c7?8${YUguXgrQuc|TPlh>q2z8R+YYY+RM{uT zYZTGADQs76F%wgooU7lFrBLK2Q0Lh~B>PHdn*4+fleyS1nH%80vSET>KxFXxI0dxq z`Ll#VmU)-)N}p7d;}g(|&#md0`Zc?;Qbvhas7D&d!kiU5bcg}hS9MGsYpRJt7Y25q zicUm|@Otx}H13}poHv>(eNHO1AN>Z^r6A`(^djyfiaLCBuz`XnH*i(q`jm%2gMU+W zI2ITpH)bq%n4IjFSr-~)o0znPP0Bg_Fxp-$~MCc9w{ zMx&nX9L{yq=e|q7H@*73`A4eE}1!v*j)0 zKKZfjF&pi_3a0>kHY4Q4TSE`Yiy+MHg+HWw|Y>%rucK0=c93#FGAK6=9$|flaV8MwR z5LRIx7r)cOP+)^WeS3-1Tw*`R+vpMoA%91O`BN1}eiuu0MyrT*kq77SA|gfze|Z%; zG(tIuhYR){`NkHl9?Gv6adMhOwTv%?hgAplvE=K2*xwt)I1{2;la44zl}f0EPzSsw z&@mndfz$vc#z6k=7O#;d6}Y7Un>y5eSyym} zn*?JH2*zxRwVqt2RcqyPYCulLV}HM@ZI9wsiK#DWqe7^y8T%Z7#q0m;+*8O?Y_Ccc zqiu1U;#0Ae%X-2dZ0|`%#hvnY==xHd#Jr9?iN)T7vb`n4ft{Rwi1Ac;LHfd;*-Rjlf;|-J zi0jL?N_^RBwu~6Ic|p}Ld>MxIW$G6dkW4oqn8`fb0WQ`+g=IIDJ55-b(6vG4`QqMY zZud2*D`lu@vpD~vSay)9(=t`NS6gqlELw6RTQT3}P%f{y>5FdU-21`j9R7Oxevr4P z{L7}x`*b?@ZJ+x(BlnS*T;-g3V0zyDnJBsTfcsEv?{Sv0#AAT5GP>`AW9={6+NrNd zmg$)8K&dP!NBfrF%GKyWZbR+6^bY6N&)eZ*Ri5P$BhBA0M@yBksDFxl5Vn!K>nl`s zE=6C^2DQmDXv17E#F4o(>C3t|%AKFt&Y1{S^_ibO;}>#A9zLVx)7ktVtn|vD?0wE9 zuQArPPL6D(G1$>R*j^CqXeSo6l{}s8#g)<0;Lh?z=n1ABg{2h>e*pUi$-P zBL81@P3_6EoqbRl^_mJi#-@rOpmaEgcp@4@Lf`MCTbh2d58G{G5dgZ0l64Kple1^0 zrUO3$!Bm;@!ID>CB3Cls1kEr8J9Mz_d<>8i4EQ3I^+sEaAQZUZKBH{`L3VS4(G%Ny zn9=rK{TVWPgur|OU!r2%F8xW|tf+v_uZ}}{Ul zdNVczLjE;I+wEL_!H%n8j1 zQyESg*yD!A41{`p3CW2@1H&@xhU28i&C+AB_%I5JtHnc;g=!Mu4=Ks*5A2H9zas?Q zx0N-QZw}1#@Db)m^>7gNh7;d8b)Ys8Aljwr3A>Fv$k8KHx{ra2L3iVsMB_lArGF}O zot_cTI#F(t$uV2@A7Qk9RfkFuR%qGJa_!)IG4i7=Xqpc$<`H=5KoUx$Wxw?hS8ZS22a~xXSY7Fh2gQj@n7&O`>cgu`KKU;^Hs>#2z}sM%-kT}T*4FETusBEDknXB2dFtdW~->JN^{gTT6 zBIatbj&qgV*GfYs*2S_S)$3T$S?l7uTVnAJ5~!}PJjJEgBeS7ZYUEBI+7lfA?ZQa$ zx;hUur8%XAbHHnn4iJ2+#wiqsMUtzG19q^#_%uzj~OqcFMcjmYTMm!cy>c5$T` zqnG)WOY>PCV(QXFHBa_1Ydrbyyjv7ADZMAZd*GfFI|j1ityd#{1--3;LaAl~h6JV( z=qG`RQsHOF^QJo`7P2-vyK-YjNzC@#819#i&bpi!VB$#2mcc$q?6S+ZzL*at-pew1GjwAQz){A^YkQMt4KG+46%xLFD3=8$1O@>+`Ie-B65- zb#d7KZfUrBN7#QwMPw{I(Q*OJgPZ{ES>28L)!5xA(6m4%6F&U2&c}Zv5%Jh?{E7;z zyFuNksqafoq1c*1eXIINav!X!`*Nx>pAe|$9=m|_#kuNR>_z(m>>sw=P*7^J?jIY$ zuJ*d(aQwTaLC+o(2umCMjCqM6m*Z6H@(qGl)mVuMqAs8v7@aC^_O#gNmC_uO{4IW& z+`sF|J(sWSyW$E3OhRU#+xu>3vlwF=5RYO~edUH}bE#?!U{jhNW=w zPByko(V1>lYWz}_l~}a4AX8Vio5NI9o18(qD!RGRDU`yd{b4dhZPBoGG|?J$U*o=L8{DXj+E4lK+LC zUz)tT!TCA@w`uZE^!UDdeNg*z@S6DCiWJ}y+c!1{HXDLP)%d$t5t&nm<>G~|f=wO` zsJp?-j0v*(=RT-kdf0tvOo@^MXkHolakLg)(e5-oBP+SAjyFz-szh}9ec(WjMH@ekDqZQ#K?N<+(&Xr9Jz*+ZKKl9Z099hp58swMhTCS)6)MEV z6UVz`yvZAHs){$AOsIzcKDm6Laf?+v-V^!sFQ_gtO@oSlO)x7UMySTQiKZZPd7Xma0MxJmHNXmcO{=1xNTA ziB@bEJdUmbWG_Y+17WQtBczP+XrWcT1zi}?Sqwn`DK?e}M+2MTgv7TCSwcl-tP`Jf zyI=|Q7&pB}Y}mivxJm4X;nuRDy6fyj_^{$=C$*Pqr=gKR&>nQmf}xTzY&5Qi&VbL( zh+(!&C@qMTPWG(AV*Q*C!kEiz6;qOY8LjOS@T>~KTfmj(p4H`I`G3%h^S?wbk!jQr zIXhE2*ebG}FfeKv8zT()pPO?^7+2aIgSYOA?est^jErb|E_%$K!oATUA;vw&K%dYv z^W!ZuYt6#Q(U1cDTcSfIV?%!rChKB5Mw*^gvAxIr;4RE{iw*^EM6YZl&VZ1H6nRc= zE$92VGl4u;&Ycn99mG#CUSFoRhfptN&nX=yXk$v7tCB4XifW3fmjWndqiwSoEgtVk zu*OQ7CVae2d{u`DA$c>QlZYBs>O^!y$L;ZyMvfGokY%3>JlKo@WT#oD33FQ>Ke}Dc zjx8<})=Pt80d3hgc_BqFi7>=zGj!~w5?jB=tSaTLnV9Bdq>@nM6g;nP?O~;F z0{B$S(x(Mbi86@l<;9380InqOnys>WN`OD$^rDW$buRA{*nS z_se;-t`(f+z6%uHy9DY->MW9WU!F<&p-PIpN$fq@*z0uxOycn9J-5{Qc)NAXGuG(! zR@~^tQ(I>)>0Ehj6*vq`zQTpc`dKXpee6rh(eMXB|7yjRn|CC>how(HD;ro~w(}0~ zylqv#AAQGODik@u$^60UHPp4kQ$1yYzh_R7{b^wQr^b&~YX#i2qZ3yLmj<*_PMpqe zawbx%eT%B;lj8Yf9`jOX*K3~Y^B4HH&N;^3U_8=^{KvK(hxLzrTE1wbhApB=qmh6Q z1jZmEZT8Kx=QrZ`YUB z)|bI{;KDN>fECM(+5P2K259``=twJfI+cZt0wRRX1eQxWiL<;*H%wl;P0|G%q_AvkKbUg zM)4o%t3`Vn3KVQEDgXXZcJns@&zl^`-(n!@G7`%LaF={MTP1Q_HaYb=v5v$doC@T0 zjuR}!sQj2mqaH~=C_HZ)ZpJKr*Z&`>FuS^?pr)d?}g z(kfZo=p`ZGv{zevH;X@z6DI6efQuF`<*eT3YWQs5X^TEOMf9jApa!`zx8 z-^)VZSE(j-Dc6Ib+Hy4r)Lbu-Ryy}t_Ox+2{vnC4QJ{KE9;p82W(A42=xnPIFmU1W z$rH217Upjy80#==|JYpn`Qc2 z8g1+I9>Y|#T^h$kaH3>mpMj_MN1yxmzCPK~xa*7S%w`l{FXaD4{J)t0m+=2m{!fRl zXU?E^^1DF&+VK|oWThZ`h!O=Vx)LM*m^&GmuYLrekHq-_^k?K_Q$)rQoWrOa=Q%`o!s(Fz=PjC-#y~MCrvuQiBY2~SNNV`0nwkDfakvg5U6SHZ*&!%~?^_LiSeYO`j z>oj7|<+QENM|WxtM0Z$~s+d`W<@OqEb=ieVkiLlCk zCFp+(OpiQ4dxK&dyIOHo*p6Elfe|E}SpO!G1X8Yox|6rk0;QsdTeZ}n`m~5Bsu26) z0M(k6RrKB2vR3Yk?c#ZBh!#y7|KDFYWI?upm`pu4}kZ zp5b2NeBB!)c?E!RIS@*}Ja5Ifl!v+!nFDUrg+ zIG*dNh9xEk{(It6ecYYSMwEYauhCA;A3dUYOvV>YLAvXcN_5RQHHcK!%AfHxI)VQI z{s#s3u$-HI+p70dIDZ1^lz+#93I*9gJDlSRg zX9e}R)1f!oB^b{A-%k@-@vRA}&e^Bko$2{`lF)xJKOac{GxJjxWM`^pSLfXFzLVgN zKhxqQLaECz?eg&!w2lMOQ^E0ORqOpiL@;`sE-^Y&;wU#XE4dTYQ>cHrldN-pB!nJy z@=}EKA&yo}jz?z*-aRW6ZemioBL8aZb* za)CjQ%IJju+b|-v;L8_rw{xn&vTs&*)7U+7zh!VkVih>Zi_5=Cn7svQ41DpL2N_KE z39X2zX&gI;28N9i?3{pgeld+q!+<~KXUV}!HE(M4Q>eyPA8j^7x1b?=E-l zZ_a(^<&;Oy=CoaD-jv(@zHf@Q-!oEqRxAL?ehLgJS0+fx^nG*vtxujD{T z38FRGeho?cu>FC=)X)f^`M%0d_1i#L#05oEyu?EnWnu zJcI5iT*6 zC3971VrlopaT%5u-{tE71xC&^s-YtNJ?zQsPWl-8p+OC7VY}NM((Cg1>((k14I&3x#A6Y`c^Bk^euI((SSc= zuwdB%i*o1&MD{}jGu4I<2>tdy=_yq77#``TXS{l+fq|UwEIdneG8)IzdoXx3IpDk{ z23oSfDzChaT;};J51yVN{kMlK-{cHGWcem%W~O}lorl!BbUXKr7qUN4M0;^sT9|&x zy~mY?7|Ue;M)U&Jv*GW=gdhVYw4SRFEWF~uMwH(L)U;5o%skt*3X3L2+r1PJ*(98I zU0oTHKWB@fiLm@>l0WAOI@9bN`xC)62+nejkYKP@tBgla?`W)mi)VE-9?j3$Vx%!x z8OC{Wl`d%gl-WyMfCWD(JD#tkXgsNwU~eHhqW+$y41{o$gb0TKH}p5G!O+bb9L8XJ zMcI(5ahAZFRxhSm&eM-lvBGNqOvqlH+yVY=h$HKnX9NnOg9Z4~4?+6xdJVM2n5hPQ zE4kDNC8@^w8WkS88*JtSy78%ER?+w@$Cv5GDY_eCN#E^;n3`>sg#>G00`xWRJhWU* zrTaCDcMBa`RGw&3%O(#^r}ww}g@7#tbM^3~sN8AJwLme3zeP{&yFXT6ZrTHnV2`X8 z@xMq(3$GYXuG_*LB&1H2(ML|wgPxG>{z4MF%A*gd*;Q8LOt zY+-7&!OBDT71Zf~mHb+^v1>AoeTNWzy_J?`;`F#?Sh{PTZ0EU-Zr%_Zt-9KvXX8kXP!YA z_wN3y5T#1-@hss2B5UjU)vc9jKzx!D<-N~TkgD!xponlhc5s5+I3AbqTyq+oZ&^ZEcZX1`oT z{WBHqe~8g_r>gaC`5i1V7qq=Wf>hS*{Ed)W>ns}I$zb)Rmy5!y+b`$dn`|jOdgkPV z;n9|}>y-oW=~4mp_={Z8r3dh+KIt~StTTYFJR zjcHa|pEF=jZdPaD+h^x)!t5RpebZQ1m9z7u+;fnhzPPJJCSdi4nSIhXUAp1?`rzqm z0;`!ocPrN^Pp_H?Vwx50_4Xt6w=H*2{#b9!FZ|LtGS%f0_hcORb0J6SCwt$F*wAEgUD zvR6<*)joL#!J1ztt&8kf?!Vl52{=2Ys5<*!Q16ewpx!?#8_Wr-Trr9|tBl-1q z+_0P6%9E~+F5!yg(>lJd%-CnwXt}TE^S_MD zSYe*bSf^Wd`j;rHd7g6eL}XPFBEXjsX6u3@c)G!PuVPDZI<#zOA2C)nL?yhZ>Y1I{ zZU~-f8?;p-+b~Aftp=;uwXt2*V)VNtYDx=&R|lL6m#{z*lFO^gIeH^FCi41PUZKjF zw~6l~VhgJZqh<6{FgtUvW!Fyh-)?&$y(iN9CIgSX z8Xk)Syj)sO<~?Pv;Yp?73XkSyIa-tLr2UVX-GK)|@wx*T0zl(wg`Tumuwv8S@?7ZU zsfE#9k;8dR2!lbyJC~M#nh}p;@n)h3RYYd-w=yz`zo$m3`TI4a?N!PMn6(m3TbxrC z>#3R{!wop^GxDTpC@B#Tj0V&o12U=$8IT*EBjs)>YM<-1x^^C>3yfiIlL?}O_CTfC zIu0G>X%vX<8$1^m3T5Xs)RtilP${#HOC^;Xz_#ZWl-tN6mIXrgc|A~eo{N$d+nIvL z{j4RgN0&;EPS)*KS=F?S*^Er{_afAhJX})gzSmjt-z=QcWA*W>sfzVh&c(mTSqRpC zr@}Y00S$<8wV3pQ_ouSA{SX|7e1gt+?NuP?l^Eri*_1^p|>R*EX~ z!JWEHZaru8si(WxJf$GFB4vSNh?<`o=I3kJxX78Gq3QXl$Sn3TJC-h zIII40z<$obzr4;p^||+!?D@X?{q_U)dq)27MLWd%c~|YE(&(Au!?h?8DJ_I?*Y#R| z=R%aaW7mtXiM^2_h}v?$f`IqnakRg4%&FYa_CV)bnmKPRpKN9*i$9 zmy-5W3*-J$iF0hFQ6QpvKbH8|jTMFH4XP{?*%Idi2&ekA5d(QuiCDYy@>jus?3q?5 z_8B(wzD4GsJ?}g`5@G@G#%41yvE_^wgU9Mk6G<``@5lcPAGK1c0zRV+qg(vCu=*|kWlc&63HquiAw3SA0L>wbQGx-yM6gMMk#afZb0je{muR$i zy>VFDSm8!qE-qENliG8px&_PDLahFSik^xc9%tBSnYnJGZ5eTACyGal=_>#GtWk}z zbS>>ow%;`Ej~f!#mcy}^BRtt&Yk9=#(%ImDdCqPGXJK(ze4?m@yjx?< z++yjKmC$DE)alhb*Qrzem`by^S1zY^XEPXsiGoz`vqoD32PvajcR+25S}9aC(T(Gx zMQ~k6`f5s+NJs4pcn}~!AXDbwGIy3$z3OpUO3S}`{>4J<%uKs37M-eSagv?h$j%Ad zsAX*oVr)`)nBuHZ5}9pB>)-TxKcJ!NqZ3@Nmyl(w}p$}K!Xx`e-_ETTNM=~ zS6*0xzoBQ-EQ>y!6!4L>o{gx~BnGVoRA^nBYAUxx$un2a#^S3f#Zx4sXCvw*M~j5# zVENMzDLGHeYRfaNCRNN|FPH7Yek)?44#0(C#iw~Ao=|+SjFP@6IW1sgDRO~uIJ)T; z3y7-&I|%}&mgs}jSJW|TsV#_3W|n%puzon_0~26a=&@?6=bx#04zeeksK?#s1q5L) zNsRncR*HY7KF4-qXEAzjs&rldLaG1*MAwXL86Qje?+(?EPtskBbwSy{E(*etLcyBR z+cb;uyRw1DvU9^6LIAr$E>KCl4SIH(TyelNL!oYc@3Ach++(a5J5;uUPas_ugZ0VC z}N@|KUG-)ryZ>6JFC4f$82Bvu_ zAZ=_bWrEtPJi>D}zNc^(>BcN`h1_N`-2vxT#4$;&!vKdikmn<$4dk5?Okg%3G3*UI z_XsQs0L`7pPn3^Ae^+tCwkoGS*mPOXt5@s^C^8iCl9|TbUCp_JyM69ndbYRsoSLj1 zB`k;0m#nb_*;{$|!{Kjnfb!`lY5E0oyUVf@vt=-Pc_FkbvrCWCOL?Cu?r-095>dBY z{5r_|V^l0Ciu+JT^blI zXm)okW&zP?#!u2Bwkqs1t5>|22fnD8)SpBEZU_5J$;DyC1c|kZ$@WL8!Hi3SA-@p# zv|A{tRxmz`E3Bk!mH-lADE{pV3Bd|Xlsuq=T!1C5Ita`uxljka;rKNeVY`N#@S1=S zVLuYS;tVlJpT}3+;N1Olxy^aKWJtG5(QH*BYRrWU2^($7sy$=?I_#RBc|j;nO%*sJ zs9`|Pbg4zG!L7y1e0-MlZ@%gY&IqnTw zmJ7Mp-KS!LT&+aVuf5D0u^Nyykq6^HyL+?qdNb z=UmpHFh9kLq=@SH8tl)5wGS&N@nQidhzM0pq@=X?QwsQu&g4x%Qbl8 z!>d8Y;07l}$ZkFnl+=b8{SJN za)tuKvAXZ2=dwb&Rk8DzrY!xtOLn3)%o&mXPC&cQ{G`R%_mqLrdArqf_{|!@m6ZkNeK5oM{M7^QgUo#at<<>&zHS=wt7|&%KAGh_b%^o_=;c2@WV+9} z@xb)-eFTUX-MUlL_lrwU7s^q|@BVBQ;G$BKz{l`mX%hIy533-z&NLtY1MSnS_GzK^ zX=ht@m*9N=N*;ddii~VKPDL>R5*;S8?R{j;Qn4MUr|EI#`H%-(!75A80#l?LK7dNl;9sMz_|t*) zf+$3W@wYHq609AS7J4{Fu7SkDDlyj9$*$MN+KyDV#&9D9kw7@a;#dT5|C#CkFu)xl znS!>mdggOYf>nuN!5S^U?h|SRqjv?ZMDd)0(Zj>F)S^1{8=|C=v{AEz7rvgHn&JAv z9gLnUy9s+Jn%lZf{6A|KLZ8W%O-hdUi>$S{&CdUnf8P5zHHlC3nuhk70sfo(uakiV zLWwD9G&P{mRC_n=j8h!n*yn{ta5u1Z978bLj!+;N!Xra8T18DhF=?W6K3xmrJ4l(e znHslbi%hu;>l^XnN`l9zU{I8~OWvO@(LvC=M9FG5EEvq4ZrB?F3#^epKKTO{1Cl4b zY!3Thiww*n49g^_M3R_+Tn!y56y zz_I8-NGoKoQJYB>VM-(CGsDrt64MJ+SFFXK7jm4VIi2~s?54Dyfv)f~X~>1*nKpQD zyKP_qq*3iIq^z|RV5WoFD<@~Ca1#jflDBKKPp%mUTm%}N=fQJ)lwpG8VDKIukTd=E zgQq7*zyA>B6UbHFa>#Vt(qr+NOE|Qm1^sttdHxQ_foWa|^MP;+1AL?w? z5mF_8b9ATiNW6&9Ofj_e=vL#AcJZb$aDA-nv)Ctv^R=F{&<0}rO7nO^_noKtNwY5c zGW?{Hyt1?1va`QLS)q^EU110uD_eH#5^^L&(=PSQWpb@6J6rC!s{jxXKm$<3FM`gh zht=M|>WJbYHRU|Kx6kCU$1`1i##0eL0V;$VUu)bXKD8y#D#kcqDH*NnRbW75UTj}k z0SEkcSSIY{L~5X%nDat5%ol&@La{7(L$GlNARMh$k6%meTdA(7r; zx7Ew_Z?twwf70Ig+#$FDvoMCsJ` zWBbNOnq&LUir~P#E>a!a*BHH&x$~00pk-x?{6xZ!DFEm4Bz(^63@r5x#l6(?v5O{B zCv^O9F}Zcjc8M8khaxK1HnjR=-tM8G%Zu|lPon?6OvjHRm`mwv%JAY`5Yh*Rd@f?O zhoCVeN*+p|VOO5qr79sA)Xjom6h?5GjGabdTL{nMiX5H=E|s0%-by=dox-sgotOyS zWdZWIQ%e=AD?aVB_~3PBv5+##dwUkX4@E`sH*%O8n_+GgJ7*3TOlF|dDzz!*M*7r0 z`|Q}~YNzq|SP#u|US$|v{!pwFv#|vYi4lbj{uk#|z_uc)w87pG^iQjp^G47gD#fnY z>eD(`2SwmXMicZG9n;w`_PN-O&rMGkU#1bnbIGb`g&it36Xxgsvx|d9xQCwx+?AkH z3!as0?obY*iDA7@FdtD{#~uFk1cOWoM&wL|A&?7-Ugy5LmX9LShP+Z!bDunYN{ zOEG3;m&%i=)cMsd!dLkQ?=>FZrFaQ}AMkDB;0Hk5>>sS1S7F-kHQ4VNONB`lvR|<$ zmg31J_9MQ+_B<465I?G`EgNgxw1lYYwRN?@vBmQj)>W5{t*Z?ayvD>j!FhNE94lm! zv>&99=RBwfLV)msQP)Z}=S{RJ3cGCE&d|0Uq*#$Fkf8sX z3S-G!HjGAmv)34wu(T?&1O9tm=>i;B0-a^XG30fGY1dU4J@G=Z-|Ss^7_kEK;Ygy& z|47~O!GWFT;=RJr!QAyH<*HcZq~5M=JaRju@0xLz#;&V0dV)B8?QD?O1#@j}+ZDpF z&}~Ar&3Q}6m1C~M1vkdm05+olHkxqjT=8G~aougSE~ot#rS@GAZLnh3V-)wy*!499 zQD5wOU3sN3!H6Cc>*@t``#a}D>TE1s7h6p8xJ>9AoMISIA!D88 z@ktAKf6rbQYmu~d4F!b{7N+jw+_Be@Q19AV428bJ^wnVx!>p|zyM@%6w zv2@3b7bpTYOA{|-j^ZZ779LtI-QGW~Oi8PBn~M58?_A41%o%YrjNHvuHyFE^{3!0O zR{}`Rc3Yk1$O(xHdSO%_kBOR6Q~9(C#?8-y@xsh$Ucc~NPBTq<;@6j{Sx|J}^xMwf zr!1H7co^|XV#HYx0fnQ~G~X}ez#%x+fE{&qsdI^9a@<%1=SW3C6Lc&Uw-EJjj9l2C zda&MHyvhIaydJwd93QbRGvjI4)NNMCD3tyC4=kg{N?cU_w2YPMuk6S-lwD_rj$F=d?moB)umSN=ICG2kSAR~=&)%+qh8fuH?wjtn)X(}PUI^g zyQU#Abcnfi7p9udw#)wNuZ;|!3pL|!ShY@^Q)v3PMPD%$AZ+k&U36x!b`o~=ASA7~ z?4dpLpkCFN3!emN7WBw=p!sK_9|i$Ik>b-jQ}|SxgyhJoQfI(*#RU(tbzD3sJ;!5T zvi||s7N};g3JRC_HMWakwk#|w;K`I|oRz9HV+)H57I6+k#q2q+Wn*iaeU}<&+TgfY z&LzSQlqN3mu$9bGpm!P2)CAK451MliCi6fu;1$lemwjP7NCz|n@BTW|e0)4C=bbQB zj%>Lu)7%L$I=X1EeRh6hh7HBEv7AEU+PRq194HOjrDpYZ*frd4mloKoBPWKdQI^<( z8{^``W}a~gBba%{sRhyEnJX?Un91`t)>R~KMqY&yIGApMEnY&oIi<;KfJ!-gf>$Yq zA$f`@ao>=>%1ph{!}eAkh)x2d;@+`5W<|>a)qgboQzLDwxb2w*hr{Z58b(N?yM}5iBS&CAFJc^D`dV3~{*IAT0O@eO zUaXK;twViHm}vpK7+~CV1+Y_vS|_W}E(Bc!jWWfolz3$^W4nrs)~ymk1ZbYbxBWsg zV9yI?)FRfjhpiQm4%^d;Qw=lC*n**jM(cHCYVh6FLdi%4af^zh1MNu>({5_owlj4c zzY9_op+vw6C7P-ld>59%1KC0bK(0nks+?L}9VAaXL}RC<8xx!^-B`bn-83sTL|1L4 ztEQ7^0*IK=>j-Tm|4z5u!Z^ZF@sA?ukX%E&bS83GIH4?Kq=q-tURb<{drz~)4!YQkqXOUD$ifX1(iRTb`oo4_ksT&kpXxi2Y=QrpYr@qHb4vbtVvlt|JQshLL z_vrc3TC|^Pq@SrCvSx>}XjSEWg&w88E=f0>%1&(>t~M~R8BX(LRIP06G$+Ma zQyhq}-uWr!Qq1vdA_hC#?3fJtyThvOKhJd$bq*`JGQe~?kGBaB*e;K7cuO;c1o4+& zfwzgj*+!Fyd)LM~3j$U+L(4u|oafvg;rt>|q3^4V?P(LQsHMLe@p$gW6;7Rxt-iYf+ zsPYxV!}B8J9wCB~^QvUl{dUt;#d$-$;rNykTJarR`dvnwnk+0_>O)|>15U5TTb6}= zuSO?JA4lda6y}0%>6mT&?{OFa!ciswi%bq&_FKz(YccLmoUX8_ zreRoA8jIJzIqRR425ixBa<+ibgg_O52=GkcNJFAL;tH3kZTU$6ijwGa#Vm^7IVm5D zeDA-tQALb+DK#PP6LkQ?$;%JQ`Bt&mVNkHh+<}sbZ{)8j(b}A7 zz0KeGe`Kiqtl=lcLjPHbFLvAaOmlJf2)|Q#E6vWY@Yg3uo9cXN{mr;p0>`%m=p93I z63?8kiB6@3b0M~9niUJ){v@x}QYx8uL}aeRXofYf%8=yfwK$rMpvZZOYdI6lOES1l zb)s1k4OYJZttPt-8+B`c1ZNse@U)8tgmEf6yGdY3mHjUO6p{2>`v+c-9E25BD%!@g z1G{-vhA#APtm^il%;geMKnFYD4Ch|BGUJTAKggQG-@V=L7tx0o@?J$5mwfHTcJ2s8NtEX|`@FHif2w2aX`~E67oxhgrv5c$8SSMDV zwQZ~CmJAsk&yWU{3J}t9KMjMm1gO&u3ShMVm^{;Z7LydTgtWsj;;4jOkJZp(bwRpC z_2i;O4sa&Fuv)T>hxVx4{Be7N(((_bMo}dDH%V0Pi66nuypAxlKkRxg?0Ug?aGYZM zJXo8*XdGwd@K~dxk-}ZI1?}Cj!db7SO6Jn-7wIcLWedZu*8)~+p=s<2SYIF@4X*Sz zm&WhH%ji_Afvpl`6(aqEf$EE5lmrA=Z1Th@TU6Wr?~; zvO@vKnDFehpFhI|yX%vI#Fq*Q*B-!lMyAQBn>fw=gMSdD*1=>$^u^c(FFAtX>CA9a zxr z<>7vLQ1>dzG(4|&GLd%fw&TtNOxoS{GI^NwEQG231(F=!HCyCF9UE|F&$PsZ9CHc> ze)yf4k*Ot#Z}7L1)A`3bw;N>D(b)MZzjAc(7MMA@TRFPwpqf?o{x{?x8XdpkUBvn# zx5Z+yF}sFqNHCiLoHa|fgveE%ad0g@r z&*5;-2<`h@omF^&34zTKcFO^}Kpk)AG+i)moOl`a2dsTWYzttlRl=rD22SF1Z!*@^ zNL6jCFObtMiZn1g*d6VsNz&S6Ca=|p845yzBDr=+{nOKjxnDhTnEP|{3#aEC=II<} zA~oXomuPQB{A}tqeR~OgtP+nKYbQz~J~+WxyMum-A2hi&!pTV&gEZjW(}FbioM(s)XzcE`AYk_GP4_yK|(Y zr*T2xXp=RLSih?{s1_A*nV7wT4fyk&NT-7Cz99JOL_vhFDkI+FUyEe}ObJ+HO=BDM zyFt)QI7>#qVxYtaXBr*9qzLu|C3w*8_&(`)&&-goAw-B19s<@6#E{)I9y94HbSTUF zIo{*2rNmhK8CBxvqTM3d?~AuW-`3W0ryIHW_`s(ri>M8Kb_m&EOUT!=?3m>)qFe}_ z5g2}WZ#rg?3DN=Uou0qBtfQ!zzrRAxmhE6et1DIn#5cnpnVPc!@;a>T>2ehxr6gKU zBj)Ij2%nO5T+X}2MkEhCYvU_IW#^mi8f^h0!2X+WGHcw$ z!pZ?NSh_cLy)^QjoJO1(z@YYeCE?m>uR3P#TqpN4$ILyQToIhBG0Zt;k@uJ}t#9`F zas_F^^cj7#6++BiGFOPX;z;5ij}UO++e&pU#}P)!dZ5K@#+(=Ic+F_PTCTO^H44o8 zv$|6LmT+aC(Y}va+UP8hQ6umd#>dPso;XC~Dg=@uJ2c|^a*46-If3NJYgtZXouIJF zZw4$t?Bb4MOD;Y-jE-MXWBNO|m|gjb(Q2Z-PYF<9RDz6-hg6| zV7}rL!l_QElz|=Os*j~tO)7GXf~N_%Wqmq$2pr{Mn15frhmTZGZ1tNjKvcg|I68NO zTM5yfUMSa}PNS{P81$EBS)_W2+vxZmZxL;{B}|B0e0++_H^&EPsPge}<@)us6n3q@ zUw*8%Hhw@c3JO9#t~F40zSmR0^tvF)+A9X7q^nQ1d!tO6oKIAogo;3))9rLe_%wp& zyLPcYvo%MQeJaq&Z-U0IJsVh*h9(2INF7@FE~EIwR^AokybLF<*~(v&-7&iG_eU2N z&9Iw~UAlF2X{w%m?80@U3rp2wq;y)wzh2JXX~!=3JR9#AJ$@rPYIsuZuch>`YI{c) zq_gXeUF&y_S@?QYsn$A-_*S$;&p$?oZan6vXYi@HVW!$3K>Z!|74JD)J$ivtNk(Im zIXHQAB{C`@*|-V7fy&cl7wMBBy7)Q8c_k>-si1EBOw|aRBu|qtRrP!irZd&(xKyPM zb9D&+(z^U~gBZ;<({gG(OV?VFQ|sB(y5_LRU5+{O+ge901v7j$^(&0xeg1D` z)7m-N-kqzu>&a<;I?Y=(=NbJH%{vcQkaNs6a5lh-E8R$x=KqVfjC zffm)O8(duZV~?I5_U#wdb_Xd0PVTbbxdS}8Z(tms1-uL*TEx_9U2Yi*BIe%&tXIOY zM;cs26|mM>==elqxdIRwWbolAv7|sz!wIo7D_^ zZsd&q@Jnh&H!3VQ8w6F5&yQKd&ANu=g8#~>Xb|l|^&}%3IFY0?FR@7>QPhi#Pj`Ia z9}0oY%oKxABbc>U?5>N|0K z6|`O!&FP5K!<|O^8LH(y5$it3v2hJYt#A*4jvJ8&BFXWWKuFug?@&FHvDIkb53ZX2 zUZzx3K*7qNmmWEgPHoag-J?Y`V0ynPo5*PYC3m58!~3f>JV!r2x<6l|_H1XaY7D!s zUDCkTvpfEg>A|%hvj@9iPIF9NqB#AFHE9g{UfxE8mWOvEW*y}LZPxKXov3XVHze*T z=g*TWY0wrk9NpimquYSB2u%E9MTP@}UXTnq$eftfE~7*E6}pM(!WFj$bB#upRyjyK zHG{+}`;(>-_9r99ZCZ6JLW%3jU>&$4bW0H4VFo035R7ep3)3$AEl)@o-HwtdiwKJW zaS9qbHVVN;`+am2wgs%dEQ%ZQM z1=NL;cY93lH3I6u;CI_D+@H{4Y^U&{#fC;{B;vGhc8Qjni0O=V56E73&KssS!Z~hd z=mFpIawEQ2GJP-W@S!44XpU50X0!{MXPXDBG*+Im5WK+b>%OHwQ?T| z%?%N@wkx8+R-oddj|D0o`n+D)$5dm`+9)msti?UZ=k+W~L*acdi=(Iwv@TW`(m~%V zM!T@>LzWS)+#NexifIAWz5@|dq1N6-W)9pL_#)2_D@qfwzHd89h&>#Muu;EN4quZJ zsla6qTL~GYz2l7!hPXZ3NUPDXRn_gF0G~h^u|rjWFBi-Vw6JpetAQh`cfxTK4YHiB zq(?R&G0QU5Hb$&&G1oqiP$B_BmUaiYlhSjj?j+S}`cBGiwUt&)HcV%_MLk8XL17Fv zM=I^~k<^xlg5RqGirA4+P=YPEucGUjwYjrIh{R;Hur+c7=<+?_k{Io*?^ z)NSG~8012>85?u}4-h~)`s1viY`s_!8!dX$u(?@Xu|$_xqFNLXlQHmFtR)g@tSEiG zdNbGS4Ck8J#sag@r=d4StRXNUZMg^T5cnV2)1~tfC zhF2HmO6u2a*&~xM(x}J5k>w``kJkRImgf&cm2>k2vfJ;8f{o@8j`$vZ?LQCC99}=N zjz>r5bEs8pEFhNH?*zc8Q^Ke8>-bt(y*U;0`Y;{}thaH!3a?DyWBm0Jk>^@7#z_3p zvqB;y9e@K(!fPMUi9Gu$mDp+T<`*Mo4!DHCR_bsAkMK_VnbuVjVKTZ(AETW$x_Ym@ zLMQO8s1iHv&+#km^wpOzWipzqold45<#=a>%I{m#Ccpd_>RZ#PQv@Ap=I`b_M;%U7 zeC%tPopcDvccDAgEY!NyG)M?ZJq?fu4Q2L=x5+f@w4dP@Y0gu98IL|ya>b3ed!#^L zZIy1f)~kNgUCqviGNEp<|5a5tugdO{#I37562|hQ`f#KAXs3NGztRU~j31Vl;y}!; zPV~6+^bAxp_RBg7W)2hoo6tu|%lD_Vd7Teb8Y>{C#jubpC?g**G@S=Q% z5(w|Z#wSwI9JC6jJCeOdv~2^^(~>>)pe1`PI*O(e?k%X8ossPMK*h|q)zd|?cQtA0 zk=OJ+X?#VjB~0s?hxuW!_h~5=voF$m*gIMI9_*sP^jujzxf$u6!58E3%UJt8iXPg8 zGnj9Zz#E7t0$5Vd<|FYe*E4y9$8|&Jn zpr{(eK5fR2PL5q|#^+Y##Uf^Wbwy!bED&bLmY5HOBFXXh-EF}3Vx=X7e2pkJu-e^= zeEm2gjc-DOvM1P;PvF+rGpI;kL1CBx_DvCPcBRUI5qS{X2(LSaCeP$^o&3wl7Z$MY za2*=8jAJTzc9}}KNulMqOMZZDj3-m=)!Ub-$EN}sGoGZY#&HL8Je6m zx4o;hh;{lYlXw?g0n|zUUG05*$^Xt;a5X&8rHmbKUEkV;?XCZ zycXdv{>Wb3Cz8g`EeO)EwBqM$l`)-TPt@Ae)WeTA^SUq*5+q-$!k<-B2A1#Y%(Ku|`o2j5SBEk|xsCGrMKdocdxDUkK0XboDfscH~JK zYRohg(hc?2-<+QwYpNuj5;CJvI*rLd;9cfSM78xyo^XA>EpsM@;oXAQ$rE^;2nAsu z-OWc4_EfXzdCX2%mpV23E@kATp@$9y@F3tdhqefrEj*n-B!`UnMdA^ z8l^~Z83k^BXl@CSBf#h@W=JI-(P$W0M-Kqck9N1t-GSkv!PR^G3l`d19 zE^~CD>ikao9ZBducj+>J)mgjjXVPUJ&z4!F%lt82=D~ECUrJ)2UT5E*&i+<9`>T@B z&77sntWK9{O_#YnTV{y8&aj)(Wv)noR3T53TRBF~aOx~;yXc(@_ydD(e_Be?CqU!RL|0HhV_@?+j=oPz^2172XD`g7&WR*9f{i0ec&YjEKX z3j#_>F?AwEd6<)PkOing)03J_N{*hq(M$BlV)VGE(698Mw#zZQiE!4S>BVmwcYr6n zU1Qu+xPPd=grggdZ)F6ZD_{COp>tqfNN+EGQoxq<2A7CGVV-C0jaUZyI%7+LmmR#Q zu}T5>Fl9bRR{5 z8+a*L)m@)vd$I9i@+(keu}F)YmAOF*o|`o zMn^T}@t`!9A4JV!gTT|JJXIPUFZ0C4{S!49+ldM8dn$Tr{O}n75!X)I+IIj3$s4-a zcPNvXx4?L?y<#s(2Ngqb*j}-ZX9RzN#Jr}k7$3M-_qz2Y(+$ASK} zSNNR_u_u#flV@{W_t2)Uc?(2)JaP33l{ye|5jMEL71oHdAi&LuW@<5wT%BqLo9Mxa z2`>9HXc1ib@dFASX5wa1$eAu@{@M;RBPa8EZe_G&Zj;e5p0x4cy%n4I)mT`2#b!x^ z3nk{&pk|7C*k1wiq>50GB?VJyk9^gis1>J2YAQ)9eG2EjuxnnD^tQyjMiw(K&uy&x zHs4-K(r>Iwk`z7m3$1M+vEZ-yg1>r{P#_3^RhWW))RHFlj9gZ%oGsOEmvuWWK6D01 zit7WG(OEfX!}utgShax8z3OzRiS$7yy%4Ii1$1%6Qaq(jtPvP_Tg4IqUMnJrA62x` z#Q?v8J<6{rC@Rf*g>Xp9FDX1V0VCzHQBqBkYL--s{IghgejDp6ux*K*4?vVRdz?2_ z_8Z&u8@C)J$~4-~^CptK`0KwOLvs+4V8_q&bC$$~1h%7MYw_ews z+$!kWmgtG>9l+ZP#b$+aTs9`q`Gw}xP2$>3P^5?)M1jL}rtcQ6|1)fv*sD%;+o zAIs>W*V^s$v1*z3m~9?aqf>33m2I~HCsX=x7kK}P-cu~r|CKUveWED znr+g}QfniEHD`9N6!BLiV(oNhr%`6-yFzR;J6obNkJ-JOvfXRHIx{6JC7D_fLgL_7 z)Vre+$(&b7tv923t7|onS?dYeS}(}fdX`S!ThYc??a4gBF1*pIZE_$*A}$%ntZ>7# znU#C~s!TWc>ZDWQ7M`%^A++6A1@ux9vm2?q!1rTbQ2Lr0c26y_zlmkZ@$acBd)bHP zH`>=8Kc7?3_KPv-iO4B1QTn8y#hzp_n|+z`;{YBR3}AED9XIefC9% zm7hwuUpdA#@cOD<+${bfpU-~alA z$hyRJ&hN144<(cXe)D9NEW;D>N{lOe+#;@O3?-@)D@zh9QNCYUMn+=gR8sB)sst-% zkgDR(OX(K-%X4IHlSR{)NIfo6FNog&?J@s%I*HKa5j8wzQ8L0``*6HN{B_)!IzHZ^ zeY%&~x4!}a%itziyg}!??M+}z$Iq{_r)1j5;V~XN-tZe=%D6!4esTiBx>yk|kWx1Q z!z=zGE?~C`e(__K6@8hvM-OD)eocQM{*+2oVBmu67p*!^0t1(cto1T`)!ZsRXs*@K({WRKcdC?a0=AuDkAkrZdz7sJQ#2r}1JHSCzGLxIrE$!hbqezF zHGXhecV^)B_}oQR<6D&(YuUgZIvqda8s;CQu}u3GDZBBbeT%5^`0=>H9glMkY)nDO z)xXn(b?b@F6mJ#&fY&TFlYVS`_ZWdaJdKaK;@k1sYfgw38V|ps{F%G$3s5aVqs6+i z3|8Z&J1F`ll9Izd16jL%{dGjoicRd7nJ^waQRDx~nmzHs6P6dnH| ze6UC!wx!CFHQ#d{ekM?H59Z}n#)IMfq^ZB)H+5>#)L$gcZK(-KQ@%)=KU+rm?vC!2 zcmwF(jMeeDO@iR(;Lyq`Y5WMWRG+~nu63+}ZUgVLZQ82m=txgtJf{!s5WFw>>4Km& z5Q@JC!SN4@AlkI&vJ|GT#~NIH1D0`P>>1AU!PWEV!aa3?Wc0GJrZqqW_Mq?0W#t##a=LdZ%4<*j}}IY;zNbZlJC9P4pTHb_k=3Elsz8=gZQaFX) zoI0T9P}wcJH~1L@7wg}vp|CDBb*4C(KBZJDl%akshDkLDM1k3RZA?SEsYm|9F zzbRrtvTtL=Lo8fhuze_67_e@}WbP%U^%mm}=iJLd$3-kRD5T7vT0N>9+HRbd!mo=~ z8`15d!6Pn|jisp4Npq+6iBeFv>|J=i7*A^@GFPX^-I40DN?^^vy2Ub&gsJ0w`Qcsh%VF&-=Kq0Hc9B#xUruO0(dO&>Le)ci~t zM;<=ZD~lsOcl~O;2Ntm9a+m18iKmS2lE&$r)yaA|miUgxm40W>hlT9=xAmjWNA_&M z6Ddf3SU$Y`dq?Guz!g6~;(Q72nmJKxUcH}FBGae594n@ZgTt71(9}V5hKH0P1+yKMJ)gEIM7rLHAdJ`-&HM$5j3q%ESi?MD0#jif2T2Pu_qq zSQNLk^Coy^4);MUaW(&e>P2)VK*((mbO3}N&Z7_d`7i5WL(J);QkDHW*&8O{!F*t` ze8Mtf86@AmLxwoMa7TQ2n^=mqce=BZ`?;@tFa*y+dY_tPc8%-Q>4@uD@krtB+N_%B zylK3ytdq(JcXt9!v>l!koz!`g6E)-xopBJ3K+t+O0IX=zv_xj!RA-uKF2q#Gmrj)z z>n|VV%TUspzpa>tV~D^M-j!{lR2LMUhB78Xu`HCF4O*($Uutbs8~>o3*oSAE*xRmp zEoLb}>rcWrXhwHSG-X9>?u5eY=egfh9rT z-(%TNOZ2A+KCMg6m>HQ;XW>xc{S)LiMHENZ(y6cm05P;1oVs zb`{o=!6|T&5kFiIo%Sfl0Xu={>BJq6-kLcRH|S#G!9J%q&HvlRR*cj~@HrOwp3Gv~Ui#5vX>*JimB zomq>Wm^p+G5b+4qZ?-vScl0N1hsQ>L&~|uy^glS`M*D1}dzmq<(*?(|atqV`E7xqf zpZz!r@MqyYwyE~C!ygW>t>6j?01nfz=>8FaTVYS5@uz!66wA`LeWpwr>O7_Vjpq*> z^VXFdlBb7j(ZB{kp=r1#Po7neHNVkRpGqr@7>+WCV8Cc~XHmyAa0|^OKVbB6u9~?Tt=D`VacP z%bu8rDnMXnPtSme>bs4HCe_T^-r(CF`?GS<3@v`7JmY0^Wx@HebK6$B7RSzPTUpo= zJGE`)nDb+kyUe1wx54$US~_;_CCeSBZ+Idb=_|7>U(>UV%^#PZRkSQbtziFd`3K;` z8Hi35V)ksWIh$x^F$h@3B6r*Jo5Az(L2{+S>D~6f@~m=%V!iW5=fOUJcsEV4D)igY z8OsL86BmBgVWzQJrcqqubh|$ol4l@59;(CDca$xw1_qb-yJma*?T4Z>tlE<5TD-Ff zbKqYgEiCaiPXc3%FfT*{K_`1*MYF|aQ5s}B zSWnmoVVHo_CF)9}u0Y~cOUJrYA)=sLgc`~C4PsMe86{50jy{=(wCY?R$BzH3J4@Kq zw7Oe~L%(?`^R1l1@pd&HT&y>=4~)AcL#xBD5Q-ucwn}m5IAa1Xhw?g0i1H@vXHYf2 zI@AqT3>xxK^ejw8Y*STQkEVQY*t&)p?zc;~h+@_9GBJu*fv{Ym#N7U&TFA;?rhI2C zp{KhlhXNipGLK+73-PwkqcCtRm)CRThJ&*ui{#G3-kNxi#3N?eS2a#){a}{NQ zuGqMth0zNG)e9?TYfRN+x1Z{i(?zV!y@e$U(JeqzZ5+4<6$l;f6{f*>X+o5wr9tWX zo~aIl-D`i@=OjJ$B9eMln^g25?ur~*!egKG$ zL2Hk=$Zh7H=I0jKlYxpBnGg$<9V!~T6&!})m`%=uPAQdianW|Oyplvv=M_fprbKb{ zHYpeND0gk2;2I4Y5Bfi$&MCeEafCMhJ2xOcyB8QWFvyp^?G@jU7V*VaW^O>trI6VWi5qHFW8I#$94@?dfK1&#mm>E7Wo+k7u2? zh>OkWx#sIk1j+Ck2ba1@#5C{(=t+r0o81ut~DE&E_)p{IJ~H4d((AN zvl`>MB(uDzHCx)~uA}0RyZ@W*vA3mRR2tId<~Q1J?M?6hW99qpy&szIv41-{e*`W5 z=@Gb^y04DO>(U{J_Q=e$1@7lpGrb0JO*d;O09o`6(3uFgienWOL0n5x_Kk4F#3r;| zS^xRx^hME}TUj1VtiolH_OP=AU50?w2k95UEko-SQV8S4ZuC^FZmV#u@Wp}#L;X8h|359UAm=^bzem}M=JFTQHK;|ov?*-L+m%95I$1{Y*`t!L;xs>?lWxUT)7&*&{D+9h2TMcPRUr(3xo>y{Ye^jM?Xm|ira?xu zLYm~B=(nGFK)P^HK72QX!tqblhwsXV@QN6h!`H({)h_${zy81pSM+PCNEk%j(Nohm zcd}@!>QXU|6UwM2PdTh%%nwMNxt;(@);CyRbT?pIpfpYu^Nd>^$GuqxYZ#)TlBATd z0vO&h$3Zb+#j&4)$Ia4!;_IkHVm=bQIxdr4_Q7AtLA2>vU|6Gwa=<4t{H zvND!9>2ODi11Vj+MgWCZh7AW&%bRj1>VMGZWg=>BySwasqeD@&ZFirzSbHPm?Ihlg zp=%^hYB4(AV+bTC-ez0T@f@UfH7+~;ce=ToJB`yLyi7J3yv+ZdW?E<_J;g@* z^TIMy(>x$5NNucUZpbI0-g6d`b(9!nDxw0NF2d7X#bz|UXE?5ZpK&G~bBVyCjZ zxQ{0h1Y}Zdg4%VlV%c$3(KE=tS!Z9bvKL79ov{YVo*k~p9SU#WK9&l^9G*e-#K_IlDk|rgcBo4(ifvcISACJ;M?-Dt8U_q z+2#iLf4B?4>sOqY5#NhO$5(i>@xXWxuScq6Rcu+OM$HPiRIvhzJ_XndCy=5ft|>DU z*Oc??;m?cuccXps68N`$9s8+4OcZDBH9NoY91kgsIbV^%HHrye8<`kBMv0yw(ilV( zCA0Pty;bt$%J|LsVmY@M)$864`8uCblrgVrddI8zlX*R<1xE+lQ`d+h{>1peMbWyU zZBZY8Rs5aJ-zoeV{7I<`Hwu(ac{ZY5o|igvqx3L!%0}4~sfqfjRR0vImkKAsH+w=2 zMxwUp1rj7hG3hd^gl??12-d3<3nxQv6^jx>-jL(krk!S#Yn#UAu&Z$ie~oG#kvyN0 zUc%HAN0kvJpwPg2zCgs8Po&vDfI&k;@HTZ9u85*HrFTC7^ZzwK74IS-)^!yq@S4^2 z2-1VDfDyD+^O<(#Dq2COh69i%{ue=8QZ?q>9*$f`^nU}6ont__hfTtaWpyOQ#I%H5 z=+DVwwFJ^ek3R;T{a6>JMkLD87o`(!a9FUjJ@jc5gD{P3@|%N?YP(2RD|mz=t5vDo zd_iICzb-vazR={?oIXVt_F3;%*&LuV2zkY@wRr}RN5CS>)R9A7Q3tPexMgp!=E60`nwH!1F z#)#lL9{B>*B&CaW9Vk@4{q}DKLu?hs2x`*s7VuQMMKPTQ?!<~*O>^d-?0gFkWQ^3N zc^rxtG(7gK<_*}>CqS4W;D@i@RXeG(eo|NM>!)%YMO|2h{h&SsuXASu~=LC|UD-gX=bUgzIACirY_6r1A5ybq{0QOMz>I%1# zoX_J)LzYPOV%|;k6UF(bR4ft6u(qxwKm96pqNF6~w)(V8Dx!J!6xPCNM^TQu>{h3( z*8onTIBiXdj;t603f((R&hr)SlFRIx-%Q98d@WY0fcY4~(xT!e^v4wD%wCh2U(U~` z6Z5C?^O?kacUPq1=Fa((`MITYK0e47R@`dNd2E?d?p`7-%z4a+i-&mQ!C$Ch#Xp$R zs&cO)H;@cs61<>d5tx@<>GWAb3;DZthvbrdBIJ8xS!qF}5T_WhE;lXxhxcAJ0Z~=Q z1d19D(q<@GJB4iB?jRGCxSJg~#@~tH`|l7R%K~*>iz{vm%y}a^8!=OLo#K=3vcGTw ze9~(vIw80*4OX7dy3KCLV(aBuHt&nGvd2=Ba|Nm2~Ntf=u_0bO!lLYPu70v#IGr{Xw6m_;}1O_LSE~QLb{0P z46>|DPVp*_fP%hkJwnXEV8s8ASfm0xt3>v(;99l!3Zq`tQS9KBQB?r_s+>_bFJ5ivPhp`${GotM(VP^}J|A4ctx5A_vpjLBkmF zT1U%0j9|QVRXM~vG{8C1kjS|ZcZC4au=#RZ`a2MliTks}2L`-~_U*t#)s(sqvTLPv zPRr~I=vo>M57ViTYhKtk{rn0TCM=R5v!Xu+1>s(AttyA?zn@&?DwD3c>6Y`#=^50` zw&=@GO1_|1pBT`ORb~^E~H)^g2JmZ219U?1-%m_3Er@>2ulL57UZdHrfxpR0j%Ch$5>b)HnIyVPooz0scCwOcJr$jcB^_LGxP{4S=ftM zPGKoXb3#wc9!6im_=@%|NN$4BeMV18@2yQsr@hQ%{&y4>73U2x&2(7?dR%I{VZ|% znV0G3A*8?hx_gxr{Y-sUFo*QXjIu}<>61y!61ZpTWU3O;m-N>D9pA|^{X%MzPg6TW zR*C%|nTr3F)W9{|&~gpuWi>4X!e;MNhufb)+jHrthAR74LcuA#JzXLPmM3LK>`G}d zTSWK{W!GHG)#8Cr>FaoaGSUG!%&l_y3;ON3QTvLKI(2z@&0;aj!WW z5N>*?3Ndk&{Gj!~_2g(|s2fUM0BMbkVK-EefyfP&z6_j=ifmsqrfS_%qY~olNFp+T zjb7f_r=OA5&p1u%XM_m|sr56;l!^w7wnn$GxwASNGM*d-4Z}{zL~^x%faFxS!p!3? zq1PnNLs3^jr->V}ZM=X7+!Jwa=gKj$hOO-?EUD=X=j#PUaeUtG^r?*xArS*$Q8jD8H)t=S`0_^c(am2_fri{;vU8>5CIb=>~ zi(O=0nU57fbVg=2VJ4m7OeV=mLp?H=e~ljz@exz$LIkW1p0X#9!@%dQ#cC;1CwDP6 z^jq?yg-GAVg@(3=hI;I)G)^S(RTX~59?Ggo2nG~iS(YcP)G*3DJ)ACu5Gj-^m&tF9 z%Ynd51NJ02XBNHLS8g75VC4*EWZmf1Qg@l%n<Fw->TiEd)Re9u`^n5GRH?YCMKUgd1)5Vq zY%%4rn(q$9ec*%G0z4Tpf}8DW?~Ki(I!po1RTaj2pmd~7dFnVsK)g}qrDo4*0$0O zP;1%%yM%vx{Tpf`$s!_N@Y25_QrXR>HMuFcdWhb4n>^1Y{C;1=xB34nT9W8(T{h^dkvcZvHdH2|3 z{SSS?ITqKGd7NX>IrmhvH*l(U^}7B06U5t0-I?fMx;9jQ^{-y@-2>K<$KOa64h1T^ zH|%6ry!&_SnVwWZvhcf=gTM$mipj|*V*6+>K#&b7$t86Xua027h(Of-lzxjh8&xu; zUT?O~mDeCrZlSRLh6x-q+@gsZb>1<#GUGN9hNnj=Wlb}O`tkEd7>?LQss>wv#iUTv z3Ph>x%EnY#2<@2YB+?uS7Su5;dKIC%Am|j@XYUi)w>;R@q|^e7VUZKVQtS@nJ%egP z%Xva_*IVz+&xY(`KVDIld!iCIRjEomT2aKQM?6hD?eARa=P$rtkiRZxOdq#)@RP8_nSIUjIUjwr(nS3=NnG z5mmF8usAaaDxq=9P_{GLUzPsFFT;Jsi=;LR#$un7TfYHJqJ@(%{K?pV_mTNlMUnrQJEXEHybTDq3=s2O4SC*#cF%y6w%LqAft0_^$^j`E-q4y?%TN;GaBHIwz{;#= zg&WZ5y$Q~lqhDq1GQP1{mY#zBmNMStzSlE)aW-}x~|c1B?3y; zbC=-nRm#cnY_PUaz@r$_6mZK(1^j@-JK`++%F6KqB}(IiW1_{6@J(JSsD9{u=S_YF zq)+T{@VgxJA#*sc@H)F(OsqnQ<=)PlOoS8kyv2SHmz&^%YqrQ@q_1?=Xc)h#TlFaG z9tHbNJi{aYMz=?C<+n2e!H}aTD~40R*BdJeRL_YT8?F;mng1qRXLwfzqMr~w2R9>u ztd`vaM-+TSeCQF3kw9`QlKcd-c(gbg0m zw+nbh9chJ%jcx{G-*J*a9&9?Z;a5stRH{Fb#42T~@q(!Fv{6?4_yai8kW0l83;TwK z2b{!!Lv_Qssj&1DrXX5n@*Xofd9TK`F(l0&Jdx&E@D<8PL}2D#v9q!Uoxm^J-?X$s z%V?$$HN0efpbK^h1pIFMI~Imf=)#yryXGE2%hOP7*03)`7OQ)$rLyU%lD=#x;zAji z2-}OkrI~jeLG(Z{%!z(-R7Ghmoy?$EI@wO5rt=s$mI>>?lo8@NMC^SyOkT6gQL}5Z z=K&e0n;{b=rVq7MHeZunO*p0X|5Q^q)0D%MRE9-qx%TePD1$C>Nap|*ul*Co(A`P3aoI_)2O^ksTVJCr!;fvox0PuMCcv(XM z0XR|b7NFJ1>dF)?v8TU+_PPEH&rSqvOE(|*pErLi%?p&mB4tGs+s;i!yGSwuT}Ne3 z&Xk4$2q^Uq{Djv*;vOits5+I@3|#w{c+NKGY>G`9{Z%R&B3>!82p)>&A5Ju7NZ*zr zspXnN&z(gSV7Uav6j+a{&8vZbv}>;UAfJsDJ5jbneZYDh4U#H`pQ;Y{UN<_fV;#h6 zRl1v^3%WPprMc*YAg%hHFH+$kx)?=#6T2)p=SZ|zs;dE!l~&^`nq09Wc~cvv@y0L> zH%U$?%xW}CMnL`v%0G2MYWK&AA4QWaFLjAL)kcdS1tjF9rpr@(Y?}Pk@Djx>jPstAJg{!FQ6$Hmb6}JG@9P zKD5G~F#f~7|EYX`!|}eCSd(wzie^On>q)tw3Gm8k)c64^KhBZf!y=~4%&5mywsLr3&RB5Tv0S1m%4QS=!iYE2%^%7yAIsQtK z(Y}x~5Pzk@XuphvXw;wO{BCDK*NSmB7dVH}ST zIOAps$&a#({Vx}wzYwtIHJTev)_GSrc_I6-%0nffQK%v*eZ>dwv!jt2=*PKl@F)OI z@A5xXI_lpcd;3@?>9zkzazLV=SywL5<(@#XVxWgNX?(cJeqCOvfM%+l>t1~yt%_9v z>s{mFL*;A!PS5hWQP4$wg5xFg;|2k1{iM~8l?|~Si>|*2Wk45>`|?3{q7wqX+Ca2q zs2d36PCX${rV;o+YM{xIu;qP{Z%oKU)wfC{S2^kN+c?OZfqKo5)0gLgY#nD?-l!*AzlVaz` z58oEUa`?2l@)cy5Cv`#maB1sgUR6t=3TrCnoxGN?85lUzLHknGJ#nur8G72cy(iP| zcxhNnyE$u6jjVO6 z1y<|naG%tX_XnY#na$R7GQNibRGaoabQxJc{dUI7&~%lhd=H(JeLGQq0Dld<0K2+j z{)My}T7hO$(Usb2cGQG-X??e3Ota-JKPt<`D z1S4o+O|%_O0Vl*U7}_IMK060@$XE<{12|X`O}i(cLxtMl#%Z$l@h{HqpK85Gie3F;F;7PqHn)+SE0aB3r%A=0(6(Uwj>J9xdM266W(E{0K z2k{++(N7Zxq3BCHg!0GJLeX56sw*LRqE42P{2Lck2o*DukLaX3l(-Qh^F}X!%IN29 zQN?Z!iT|h!=_q|*)pM&F&`M+J2HuvcU zvlq=&h}ax+pC?skL_<}eyYNPpU!WBuc&!aM2QPQ5YaFFvIHss(WFclGaVy3?FNwlERwY3{%vxS$vkRsT-K zghh1Qi>`_+m@?n_la6QC&m-~dzHe<8HH~hbFyEnR?PjQv2j*J*S_t+^F4?$HQNIM7 zQ^6&wGFCl7!ABIrozFLA;oZt2~-l^Z%qVp~{7R_J_o z?v1~Q^4Tskqt<_E=F^Y4(m741Zq9s6D~bem-0+K~M<_x_MZciZp#iZ;J@&TOyg4}q zIr4~MD*0`UZx|(=i%T}!Yil{#$H7I>1GL`~0_ZsTNxT!(e8~4nbmXUfXnvJlFgibd zC$Y>DyJ%MWPD<<0i;S$9QQ7CwH*JV>v6hido&m;!PmbjHRHdYpj110DqdU>)Ni@zN zRfW(k(KxrWQGv~@E=b1j0ea?ZUi~)Ji-Kb(zjBk%lZbWLd~_<$%1ty(9g&p28rSlG z-@(xNBimTGWByBzzIJ3+be8<=j#gZ{>&R^*4CZ_F7%dFpcP#Q_N_)gb?|E@>I3PQA?Ia?m!b5_ zi1RYS%SifVlk>8PmyN{f+2Cd(+V^53bHGd%mhyH1cW2^?CVf4$05rziUs5F9eu1ei zL92d2uoCx9S0nV_X^U?g1;>g8-r*WBtye>?lxbbJz^wd}aQT`62OgTxLC7Ug1Y%{J zIrdUm`ZOV6eHM$I$K*Ddkvc)1R8r+x1orHQFFMHgsj)mcX~C}7ew`Yiu;J=03Hcs( z!oB$Z9vzEIpOcM_AlXXWD3CO<>3;uYXzYGm%pIgI(FK=?*YY}cqiPC&pyeTByL7oK zg|Lt(NjiBA?vSxfn(|5>Pm+|p6Czg36E=3Gh?5snUPgHH#j3EeGj**bQjJoom|!E! zyNe$YIq|UgAiF!HHMc-)@_br)R zR%%7g8^m{cq@p6lo;`0+QtVLD~<7PMaG8 zypVNb8B5g?a#@SzR0T@Cgfe+C;(8ezKz2ywCRx`iJ`&de4@2~b0bp+DUeld>!aj}8 z#os$Qc8QD_YfO41M~I-oq_7TjXWn}<@39gLR&A7F-pAteDEE zP#IOqF_F|-QezdKNoJw^syw}IYOKJSW91{2AV7~_eAR{ff?isLy^KCAQy28=HD-oI z|M~yijWHvHQyJEaxSlAZr2ReK1+AO#Ua=#X_)I{s3uk%pAEDRTjQ2u0${HFS8v&Ui z=CZ|ipPI$k7X@yyGdR0)#MzFMa*k#xOIS4!Ha(`SS__C{g&@37C)FQ8g>*r$_*pew+> zV$Bu-_1XK;v0TW#BU|i;|0PW~jrK#0^_HXcuB}t;-yms%t#N(ZDt}(=JfvqzJfrp2 z!DPXk$i;0+ZIcA&ZCvIkHJvATEPy~?=z<>)<0v4`%aWk+Eoqn2GKIN(=I7FPWiFo? z9Y@7mrl&E(9(Y|AXNP_AA(;fZ+J%1{$M-UEinQ&7*nNc*(xvY{HAWzS$9~``Xl&!b ztMlV8cK5tkU_4k`Fiz3b9{c8J-UmZp$VpO8U{FJn5AJ!wc`NIVP<1m-V9p=r1jcv} z&Z87{AG3l_ePjh)(i<2^Qpa;or}+@j3}>L`uwJ!m&v-{+F(Dz_bJx~m|M_d_we7-7 zR!?VsS51DW$-gLj7If9PI!#wsO<|{5*i}>1X%=`JKTz6#-?IeKKN&-C-Eo-f}F>eEaS?5%myUa1as%N!X^PFF65z$Xe~_kgcX7 zS$SZ~KKpATQ>XxQRMdZnS@unIX3#y3}05Ws#p3olhcP64OZ(kT5#_FU8w@dB`P5;7c6V zH{wG3Tfn)2@1*nA>paDxZ?acOo;Vaz-$hBV#bsbk_KzmQFS~^|76Q+n7nR@cCi@4I zcq=L?>VsMmu=*4`-D|(Tl{*UyK`3e1>Dn0(K>(gT(?D(Klvb<Pco|uiC*dW z27cLb2ejf7XiFzc{oG;OAlJJiMsUBXMEk5n&7<;)N3VU? zK9OuFuA0}L`{esWs*~;Ha~=4r7gPj9LLeotejFID5Nn<++^3aX;5bp^C0q&B`3gFJ z`iFGBB9-a z1UA|KVdQcG;q(vZ@@sB=E_`XSm*L6k`1F(4zR^m5N1|c~(VT3FC!5xYn%pilkjm`jN?1$r-m=Qn z%2yuElTy{o{m~21Jo5^BW<0V@rlPN2VGMjk(ofZS_OIl9V!0nJJ}bFd43W^Kd0v|u4Uq2zrRh-y#B1-m!0rP;pti0ED!?O*4mASw*bwIhDiFU6Pc zcDhRRunv)xRT=Gq5pw!x%cx|EZtEH&pL=;dw}`-IeCM_17ba(%7%iM@#4e|X0~F=i zx0vtOo+s^S8X&-iBU^@=H1mBs0@lueQL~j>U+`1AmfI92T#1Yunk-L${|YH}A0)n1 zSh>|#2O07duUH}ug{X;@+4k}YLRfl1w!ieguigW?4H+0a6$X*4v*aygs7=OwfeN#8 zVTC_cNyjCq8rvIRv2`WZlS+J$B};D$^&B{1 zqnrAKN)eJGWcQ1#O+2~VQ3bgCs0x{izO$_;QnLb_A}X98{5Pp^e%T20XSQrA*XH06 zeN@8ox%tWLF9PE3usPgHRqwZC#8=_7+wsNx1D>sU%ucPIoq%=w)PU>uazdwvd;WGp z#MfHYx=^(O>ovk0+`bIWX=sZ^KB)>rrZOTwGw8*H+)ZVIG~bU9)lnopi78To2P}W> zMXhR*4k=(l9Em|W?H?1zYe{=96r3fE=T&K*$o@1;Nb^LHm5BJLl!&NY3q95^&635w6R@iBLrpHoSr4nHT$%Yh?1oQ*TeCZ_P0TEF3e){oY2NaHY#vi&@= z{lH_mcEDo%g39yNJBk>-Tvib7_Q}kOk^$$-S4V>^}?U#Cjdy#_M00cXR%->50Q={FdZiC{GufAj{8Wx15ryAk! z_aTJDkFh+aPVB;gCp?YfPW|Em>~M_snS5$I_@?pj>m>s(0&`8@3r1YL|Hye7Rp0WD ztWWCjAL`9F+B*dzY#!PiK5L8F@my!5(60ljO6+s|N`riGL#ciegB))@0>1@gdv~+g zeh`pWb>iNN2c%5LHly9-g;hUWsf^0^RiVoIvXBdK>>>sow~mOK*kg+6tITTTi-EDK z9z7VMY$$>IZu^%=a-Eq$ozb0|&{gKl4o`Y&KEa1bcV9Ff?0Hz`IcU9V#$Phb_{#^) z_!gJh^KxNeoNdOpmIcmw1;$62u};7=%(t&JL@#hA0EAzZFo#coM^6C249Ly|!~*nlNcG+5 zSjxV`-|XYB6Dq}6H<^PdOTBih=$5e}p9qNfU!jRR8_wEdKk+5$2v%|8hCp`ZFk;^9 z9h0x_o77*lE_;To#gs({8S#ik%Xw;DFmZ83{rp>qcH>ZgEW~NV-FUTG9);1b&!oqm z#X(D*?={bNvZg7rM##_CkTRzxR-27TN0V2EFZzP#}UWHc4 z{V(^tdh82?xcR5fE4Z%FK9N&%^>yNGG5%`S&1-|z@9z?-KI{;9VJoj8S?d8yu30WY zp|=f{$zry#xa?>IPg~hyLNb8|%Fi6$^W!I<^M}7-avp{eODJNspI1n6gjU`Xqhqn! z*0Nw~*bTdtn4V1`*qI!cX}a*`M{hDZrjU;J3<g;^Jo!+nGJ0!@a7 zcp!3jb>Zbv!yLk5b90F)igEi>OU^s^ICm({Ca7U7xdtX=`uxkmEczXMbrONr9O; zTP!CZoupqu`s8G?QFHS>_BZcN(=l4tkNuWqAz_agva+1A-rDK;CYqk<)dl|l@OBMO ze$7jB!wD*D^3igA=Xvb%+m)%3gTi%@&C<_I)KG}Z0XIaznBQA_e*TA{W4U?mTtp|a%AI?3L%I518C=b+akZyL-J`-^^C(+1 zY|ZG~N-qKEFgf$^H=V!p_^ae^27l*+uepcYoKY{#!C{tZ2xx0DP=o)IHAp)SuQD!n zbb?U#*1GfmM@&ZtNR1rl6Qjn-FtfI?8=F`)dpT1tiUfdM|Ez5xUr%&KA_Ssc)Fo@J z9G^C;6pl|5j52|%0y$34Zs$0P$^y(*F&iFbFMGLEJRClbu$L{jzlmB>woG>aYI|C@ zy)2Wj?uu;RX*R8&dx^+t{47eyehPzYmO^a|*tT-|IB~=IwrsWsD5jWEqNtmmyHR~R za(23Jp<$*kLQIMzas$7DlbY6>5o-Wf;!1I4DKHlRIHY1><)eN%Cy$sj%I4)dvIIs0 zv4t{vDcG?M)rT#jFQDZaV~De@0C&c!We~vzdKADsXRnKa1tP^#s=_wc5H$phw?$*- zFrqHBTuhM}h~mLUH?7#;!HnD?gWOqrx(j~|mWX;wpEjWrO_iopF?Mv4(0VIKuhEV` z3Qk=mOd{=!+?w-YKxH-T5_gwTU%8Ae(_ureL1xgJuqcu~vE3R)Y$L>({dZh0i|<-_ zNk7PS-1I&mwQ0=^)>GNMWR+ol+=L5=w!5Z-#jd4X*lG~cCpK%?2eJY5C?u7gNZA|O zdqJe&s#tDnDys|1YSKc%1kLvlwoe%wK*&_nNWOCvmTi$jh!+SfI;Qd1hN zgV|@^&%>JnMr{*}j(2$nh43DD#Fy3IVu z3c1B=i<^eU(na&;TI?2O5ps~zFxF8Y@~1ct`P#sz#qL&qmP;^YN^R7x_#r|G+{vx6Fr_PqhXS_jF@4T6~VGLmK&;Y>cK9l4Jj2Q-iw=({qhx10kor*=_YuQv zB-;O7^B?k;eKh}Jn-~}q}B1G=OKGJIwR&5Zs4Lm*JRF8 zZ3!fH{S2PQkXy$}7`4L# zCu+#%R&M8v{!1skd1Pa>?9xXcKDyoLc#9eWUE5K&n2CRzZ9-X91Ul!haE!M68gf-SMF_md^|No?lug zTSIG*w9b(^zZ79xUh9RZ=7Ao%`Xj!-M2woh1YB>0;Ch7Pnc%%xzslogY?30T18?a1&il56y%Wca0;9pPBI z#WSM(ERUD1@Je4$E+THoqMakq>NFS~UY>&gJ))q(VW|s@`Is8p4(Xp(xYPiE@dvEE zOqi>|wHLLK$6+C(7aMrIG|fszmaOO(TAcD-5IgH>C_5E|d);h7;R(X+vZQP{ zg7rqnrKBJ_TpalYhWN#h-EM#51~{3so;3;i+i|LV|IpRrOlwClS<98%Z7PZBz5|%q zjx$~TIEPsc*xdgA(e@_rQI+T7f0CKN0D%*1&?r%-8f!GPra;?-L7kJ#Bxhj4rXp4= zv{{gaYtE!w|D#h9?pXMa#1yLvTssX#`+4+ApqQ z0@ar$Y+wnUF1uXmhXG@yd&mNIlE|pOE(q{hRtWT7SpDh1GA0S5VFqLR=2vG!O|wf-T6Y5OIyRWqcSb zhsv(Hm{;t(M&HS?qTM+ydn7^MYH{lJjIsRNQda5f#$&sUx-)z`jJ6N~Q{s7JwI}!I z?bqk9OkMx5T(4*!hgLkQEA(OIegY}?56w2(go`OG_Wh=IVJO!V0qicF^`}6@I_De|2_4aR8aE=zH?n;jSQMUuR{zdn~4tNKW3wT|~+1TK2T0!K7|Q zbbSu;968a|pW)w{9C1Ha+D+SSQ22f3<6r?<=Jq3jGhe}Fj;kg<&L!fj43Du~2!3%Z z-z?p<{aw>%*WV=A>mtoLEnSC$N4!y4^X*7JK-l3vr#+hkKLiQ)BMt;{i@GStapl^j z$J*Qq75p&7<@1<&I@FfWQ?0jL2eGxF6N{92ld>< zru^r@wTO0mzzTlvoM9P&%20+?@q$;a_!N)Xx1+7|mYhC-)`)r|tyOJSM_j1exHtJ;X+-pbz$ToTy731etXQ1ikXKQkA2~}esNRXZHzctdfD_RkthM!xd8=hq7N%98 zOdww1n_41}`5CM_Uh!L+9sxOnH9QC`u%)^k3p>WLa&{S&1HCGi4Le?r)x_BZk)+UA zCWor}wwqBgmW$Kv{cDCg&T2X;J;>j&hYvGWP8-hNeNx;#lVf@~cxc)oAr;<;)~X_x6+TQ^%J z@b~DAOh|FZN80}dGXTjM2b*bomsc;PW<|~xr2i_3j9u@gPAE$63XN)dA-8zhySFBa4_{kY-U7-7P+2o+ZLNT&N0WL6%n>$f&C^+8Zp%`JIhGBL^qmdjT*c;)vNp+Q^!3eR3%H7F-Mo7$pjCxPv`mt+3Q3l^;D&#ASRJZk5#v1((~FLHUsY)3b6BnK_qu?o!#`?l7d z5GsAzI`G2S&a-m;SfIHR(x$$vtQ3M~>C+%)5Tye~O&7DUkPHDxTn|x3-DyH5-DqEN zvDnf3l@1Hzd^i|8J#o`fd84;_q2D+;jkfD(g*HFbF@2n+E~PE2t?jnI!`5VQ>&*99 z-|sU{NSjy{Fr<4KeKkFz?rWyvfO^&3{zk|2MG&~G?R#tE*Yv54p#wVt*Z{d-$FB*W zxp!+qJjJZyJ90)?O>g27?CPxbjq9q<4Y0sn0rh%SJkPr|VfvnF*fTvov6PEm^wtQH z91*O~j|YlP^-O5~+WNB*AK?J2X$n`A)t_QTn>>AyeAgy$uYBJf%~VkLHpO*p3agqX zlYI&8H}o?$gyz2-swn7Ld=g#(vZV-(qju&8T<=*G`HdfQky~F=0`XLvX7K%|lthj7 z#jv#McYEI9Rj$%OABRH-=RSlj5!UuTJGCu`?9VjqgZXCx`<;1 zj%TR!l__y|DVi9K=#Re2Cj|pA{;>KewEgX5u_4zMRFLc&raRaD%>b9271Gdf_F~-E z^@{9$S*>e*7@dalfa~p4KLXCM8_P-s-??;=s)+zAejI$$!+8Pqwz>Vyj;Adso-zn@ z2Y3}VSFcsNI;39a01EqdTSm<;Yx`T4>-rg@GRp?$f_NjmOiM5_KYFHCYQbl)5j&J&!Us@*?rcTtdY_WE#E#W+b5Ml z-jr!|Dg{y7VdqU7m1V}hWo0i$+btpJr2;_MGLz72$&R9=6V~?K;?>+mnO`(JQHqhp zeZSPD;ky=qWAiEK3Hf$5<_U2D0k8vGtTVUB)aVJHM0Y+EIRo%b&Qm!`lXrRh%JuBR z;`CNyj5Fj5vh|j{V$kv8e$9HO46xOUufc~xmD>fpeqLSBC;jH|JvZILt zGd8UEg=e1OavY4E?3-BKi@@6Pl+D>>o}6DUQ_x zvfy7(+<0=pK|N65Uohi&f>FVkS2cojSUhL&oRQ@2rsS&oc?phB3XeTR)K`G^?||E; zaLh89^^hRhd!k3O8|PT+>*~nX_i=%O9|!1JYarH%1s(gl*n1Pp9dB9jrLP{8(NRML zFk*;hA+eK6t|_Ee^nG?^$yF-3j$|+1Oub19oO+H@SAFIw)1MQ9a2QJvQ2%^S+1IX? zQFFy^$^)tb6ZSg{^4U66*h^e5nc3Pbb{}pVJ+`0yGK>!vG~!;8#jjl9SW&;n>&*>M zI)j&TFrGPf^X&bYQ*y>FML^7qUuX}Pdi%$90PF#Ikx9p1OU(bYLi^b+GN%{SQ~GO@ zy^<$T_;h!TM+Sq^`|Yx%#!iHO2aKQgBXa22rp^ z8&+>T>ZKn0OS=Ajf?PGpD3-#jWfY6fVHIlaV9`{tJoea!MMUTF!a(fG!j7t<_Ua5Elr5R=c$v0P+#T>g1u-DKa}*+13}eN5J0 zD6e9wr{Ox))n(_zBcAMd-XmSF=h#6>EF#zkBVUPELv3#QG9uS`n%>xLehN_Z#YV?w zx@C9n>sj&+eZczz_Ucc>H@)_5itS2wbEs=~j{SVKTvbQdr%IVIU#vb)raZaWb**b(>0v6Z^?kJXa>1xejFJFolkh&E zR4g!VMNrLNqlRb%^?s@Ih_U>DP?u8G>DC=9S6p)W-o;>jlCWwGL=94R?IgKTt6`N3 zX;C9g-F}atqou)8&TC~R0m&mZH zDi8Z`thr3scJZK`X<_vq^al{X8FZ~P_X;`;~Y zVCv5kdrM+P6|E$kSf-HQJaF9S?At(>p!rNQU2H$=J-&a`?Ew1@q8jOG{Hl244T4m% z4p-x{=tcxx@&Q5UK~`xch~e(At5c$COE)*{ZoVluD{>0WwIItunt`=4V5EpCZ+IKh z-CNI~8jhOS;Jc&Dg*HrQirttGu^TgCzuX9V=vXM$kcCGrd*$C)ImjDxg^ zEbE(MJRzQY&3@?}+u?MM>**ZT(>bQ6bH$(D6w|lC*d3Zc64S`8bpDVCYj6uVB%MdF zK#S3cO%>^3HT`4vYJ#J5&>f8DQ8ps7X^Sgz*AU%fkmSGVJBSHs0+9*F96+%U-qM94 z$ico3w~ab68lJD#B?L$z>d?}fc|2)p&B9uclwsN)kBAl}k#fP7lH93qY^B`Q0ncNzKM1vvY+oau@gpJ_$M_m?m&~b5zCad%qEi-3&b>vpK-o>B*2UNdsr) zJA6M(JJ;uj;BIPa#vn95eX8`ICn7`fY9AA$&*oHu%y_^3WI8^DuWC_W4a=|{VBd$; z)(J16Q7NKZavOki0DnYn52zwc2!?yyRq=5rhvsh#_+F|1GEo}b0%~2bl!cyMJ|_d( zdK%u91k;pz7aJ#*5e{WHh=YtPOzsPpnB{YFp}RCU<+>Yy7M213e*Oc(r3cd4U9~h1 zx=~Q-L-ARKAdnR}z(F%Ar*|kfSHDKp5k9dSA4MTBMf#ePR251MfqrI=L%Dsz#i?^Q zi5tqE2zKEOtCKmv^5MP2i<|KlIX#~DA101Eun>igX~;cAjoXQE+`3@vyOs(9k9j?6 zNq*#7RuVuEEGLbJJ0Pzhw?$hT;Fjfc_Vul{YfxHV(49326{CEJ82&d^jqr z4ig8VytWNZm<-N~^{s9>Ecc??c%DkP*u4{*L{3vpT|nbgkjtYVp}h~XcqWR_iH+m| zC*%Tks1MuhhdyILS5i9s)r;g|1iB_{SWw}CHvwl29veKlhL7V*jchSi-DCe7h2UB$ zIDQ)gGbKLp*Qjyu2ND{YtsOYlg2xA0tnRH-R6%F-Mm(RCmEOn}Jqy-a-c73epBMwv z^{M%A_5!opebb~Y6z!Y|C;%*{!xd>I#)^sExa)T55{NSm_Ml;Bhr$Fwr{o zz`h)8-4+?9x~0^rNm*v;q2B9Mbso6Wb&O}T2rjxlwc-=oLy(BMJSlgNu35%YYObW_ zPGJnp@|dLu|M{-O-Q~K&LWN6aWK9mz;!z(nk}OlUfDGP728=swMoT?=47 z-~m7$i|_|f){_(YmBt$don>i94;Iv2H>Ki=Gd&G8mC>bV<`>jmSgo!-lNnr3e8{)1 z?!3y1YtM8yUS3JCI~4!X0~9UF)?b5;7m8nTD);3#_6f@pM<)%Z_6`rZUb9->$jSn8 zc#HqHG{W*7u#Bn$xUj6d%^~6rIGCM{(N67M!pH>*BAAI#*J7bOd6g0|I6(VQcTip+ z(?DE$!Dy4yCjil*Zgik@Cezoln*gA3OK(*e+5?2=vZ?WcyUgg)75Q))^Hzje+>sNZ zUaa8CXqF3UM|9>S$4Civ^Qpl=F2KAoL6?><~^X^gw?a~H7Y>TC=MRM|76B|WN)+UMk3q!GN@?OwzNx*ke zN&R$=Z1NS{#kQ*oRybJ;wy0TG!S@)ijs1t&NEg{Ba4vC#pAK#?57}BCi_(QELB5fK zv0_G&W-i_-H4Vw1MslDJaVjKPjJ}!PI@!dh$QJ2tM%SgVQspgUqh~1cdSvhBG-dB5 zgu_38M|L$OP^|*X7{poS_JdgQccckpBT_{H{jO0n9Eaf1xl)qK7Xumj9iBm6z5H^0Ifh z(b}P35ILKwU-BYLqk9V?-^IvqBoy82ij+q84ng%DOTzhV$BAcUPYzwIi2xAzAaVQc z0>n!af6);$21Fcrj)-3p!H_j&q;1zhcM59ZgnlLog~rS#UAa!S0tmkLJwJxF;wa_E zzn$&-nM|A!by!Zz<)DT(x5bQ>FKSpAqLXH{$(vWV(BIMI@pmlJ+W%$tgTMK-4-FHo zVP9sy_*1P!Uyfq^WJj^S%szal6DBiM<|x*?wy$?%A0GRdWYvo9W%hk!?H%FTPN+Ar zh}jXMF0xxP0Nb|-5lHgeyZ_CC=n*3R#Md7K~>i7v6|a!Q9MNhPZZaI6kw%+7xiXem8Atc@+v zig^vSdQ}lFs>tQ?1RT6jR#`VJ{ZOI((aX?~M0#E>FzHcU2eaQ9RoNFVwc8$I24?6P zDDJ%@`e+_~%UXINAakVG0U5s?!b(E#xKuOmmao$~?tES9)D3Tuki1lUJzre2oT%%x z>XlBl9dXf^p-p0R&M*`>)h1WSLLfHP#R(~TcnmL zvMDO`as^H8V=TpDrv4bt#|r25`e$W~6Boi_oEk5RS!zj1Ko#F7JJvK+uzNx$=5p@y zAh*&4GFe%U^+~V-P;b5D51wT#pU8GWW6v^L#pkvtCmOBV5J_K;v#Sxrw)Ssy0}&KQ zkxst|_glaG!g+}-6cLqgN>G~^DWjS%Sg_^x68fC@o|Aaa=daUpJ1mL6;UxZoMO|*6 zE{Q!PMhJACoF!)T$Y%{hqdocZVXV~Z(#{b63W!a-LgzIduer&ch0dkIk7GVJ4A5%c zEyQiqjB+RaJ(B*v^k5zN%xJ|9cG8dnc1R>j3}Q%8r%O>fyI*JbI@vFiG}ooGUzL&l z0*SgP74>778#46;%y!~@LZeIX%kPVv=*(kYavr%cfJ5}=tMGkb6>^k1AsVZI3-MFg zvz&q+hdH14n2EF$-rA(--%E%nDa$6p4P+}AVu^hw3J-~AWWv>~eD3*1s}O3O9M?-@ z9+J4I{S~xSoVPrq^;3a@s6EnX)tbHnDqSfEx!;K!9;qTlexy{x$TegIE{*o@@e=BK z(+jp58liWQa(kjwBO+$VC^!}G2hbDWB1DgZ(Kb#;&JyMJVv!dsl5Z?0ZLuH7ZWt?L zq(B=4((`)6T_SV8x-XSjHfX2V`=r?2(!P#aL-ucL-lMnXa{E3RnI6I&8yV&Hk0f9v z0Z#otNlwmU3BEra+$Mekz*b-`-G^yC_iApbMcEBsnIMMgus$|L*xkzgG@&^S9(aeL ziY(BAE{W~k{V2Or9~ZKV;H;~H)pFNq;9{RKg$GelL#UiPgVTIlzM)wFZ5TFMh^xiDZO?`lr?xn$9;1=z&Ewe(>CIz2ubCV4oD}AtRwB#XU(4-LSk@UtBN(*5K0IiD z9b`wwqMyPVN>hK?bX(pL97NR59^fgY=Ad9?FR&?LPr0idbYMcCf70fNC!pq+1!D7N z1blzj`eEx4hz|?fMZDr*{{)gy5Lw0O-IOC4uw&QNi~3lXaxe2$mDS%cIM6{uFDel< z6f78uW>F7Rqh%gn_finPo)BRgcgJKbr?9_#iCfmQsn@gV4ZF68l$F&%6NRBIE3G## z^ULh(k`eGHuA*C_6(^^GCKMs(0j;PI&G@!HZXMExd64RKU)0o#^>tODE=6I_7apk|90PM7*~B+>Pz$rV{RhbvJOZgTTjg{rat1sBUAN zSEvEGdlyN3H3XU5r<_->6}zR3e~2l!Xd|Wvtk_>1G|G2ipc>sqd#F^%wu(K=Zt(-v zV<*l?YQO!h_bnf1G!}Hv0mh$y z<#_9X5(Z-K5av89CWxgSKcZ1a^oCp+2d*rT=E}mcTbaqt_J!2sIF&wMC}!!LLTDRA z@Y8C7?3`lTd4-4tUPRl(f%I%CIE8%S7%Winw_@QOK-KAP7URhgSjJbOVI_J@eoNi1 zA%f$$g((jz?cR$`*3o9Q>~Jj`VewP z%Db2|j{ky|AO5W~u>YVPdK@5!%TNGA3pIagXYXTW^^uP1mrmoI_8o!|hvGVGii zt%7!mk{<0Zk@kC~{fGj=#1dp&Z!ZpvT_(zk3t*_=>E#&>V*gx|P}AKkYrsm`lh&&t zs9Uo>VbK~{1TuapC~^GT$tE|@6gzXK!4J?=fff%mvM}3(OwS^&oX#HW*L!ToOn2)x z!M{wwzm_=om#OhD?%>(1YN&1*d$0sq$f;;x07hg9rM8OwxcuyvA>+O4y8Go&wKb>yOBf3Az*pwL1f}e;%g*L#g-zcmX=0_Y=`$rn zChAZ*LxI^bA(e*+r6VD78bpSFMnWV*h$VFyA21#Yz1+k1r3O1qmrcu7Szja%@`Pkg z%Y*z`e{Hh=lc&goSQ$cAcM~Rcr+Bf)kOfiS)}!}P=IE8_BJJp{$T={2HObLqSM0Gr zJWEE;u*)S)?7Z0G!SW#=-7Brz=b%N5;ql}{j@C}FbZBMMe$supX$m*vd^3@rQPL}#u+c=fZFuf-;q4Axr>r=G$~$Q z{~845bSHi!W}fue2xtzD$H&dC&x_|CRG!*|G`+ijDY6curUxH;o`wqr$M9P!Cfm|L zd|+ymoki<8SEtUf_oIO=Z+`n7-lS)5^3){t!S+XJyWhU+TdBGSx7|-Xy6m4D-(=59 z$EVkW!@mR?x=p_xXY`RbaSfA3Fy#jsjR`MJ*k3W%+c-t_BCa;C_f$)vNT3S#flb*$ zfFPyE-W%7tHN#Ps>09rc>#ci%$%#)dFI@+obd}H~=h;(2?ktIVL?$40-xQTt)@SNs z$enPNj2d^s`*}Kd!mUBB2O=@?fdK9K)uC`OQWQOy(>UV%N)so|?g=mT=047$l-02& zaW5DpniG|7ex?jD_jjUx)=pSeya2A}#^m)1$`(Q;%daN_t8!>YwqC`n88@*8wi>Ag z`M~d0-ASr?oX>G{8W{l(dFc4g#AJ!Y{!^JI@dkWPH;%832g-6p$aXb1x1I$ROUpiM zIFU54V*_9ROpHKv=D@(Nd%0H%I0F7;tgOyoV8*JYnF|W|I#IrG1$Pf0(783TefKG)T7)3B2f!2!GsY^^@6m&{zhHX9ZllIrQ-gh(x*=5{7zXw1)MI z7s?l79kpjfu8P|JNZ6|QRdFFvMr$>{j-cVYKbIx%Sc(3j;vXYVp3eB3>u;ZwIFSDW4>Y zr%P)a7~ja}L)pEHGFvvpo<}H+mD(>En7*1%)LR)ri7X!&d5#l#rV}}KU}T;XIfUGz zz1y-@)_7_MU<2sihvT(g`?{@}d+@-$F6nRe?Ct?c`tz%}U`_TfF@W8_&1aOKjKAp% z;xF%y@5fKHs{2CwLWxsT%k6K<%lw~xOFXe9c~}d}k1Z*TEh*y7%YTyvbwe2g^ufv z-Y-x7toe`26GzF zs)O{8_@BroBmO&{%=H$ElZ5t9b#Y2PARn>hhX&E5`XjE|CFZ6NbrV2Mzwe|OWO8o) zO~Bj%8Z%Dz9^IJtXbf!nKA_6n5=wT^u_7j2!=wd4J2Fy3|iOo?8nBX z7mO@w{xa9iJiV^plj5C4cZ_(ieaiF4Ti24m$(}u+j)CPT*L6Lv$&*zKj@N_srT!uY z$LkUPs5IS;!SQ-JmV;#-r+hv8|DBQFf!n0aHU7eKWqq_3H-jJvN^Gfwy&IuM^9d38 z#S*w+BrAv%PfzwECt>+@KmL~5P8dZ{Dk@%EVqb^}1plPYwRUWy6ZOfjwODhhEE3Z%&xkdb_e}MyueRi7 zt_LqCHj^$^J1=_3Xw=_N@m*S55>%g>C|HZK0RND(HwQ%YlyQ`1*c~i-0R)}pcCxfM z%qD%e(t(Sm{#5dftPLDoc9PY}a+!_=MW*YTXs%&Ih~@!RJ5JB>CEj%QcR12?w~&*C zOCfm}9M~RWDsDw0PYMH#b|PMNYB&IkPw;MiN+}Q0c6cj9F4P3Knv?Bxk?^d_a5s z?G7x29q`b3vF>i+9Lv4{n*#!F2W7kvDl)<}xXk)J5|M~R>PEFXX=oQtLcP*1 zqiver4n#+()QNsnh5@M-6wr~@+!ykFVl10PBCS>@@VC)kivJfF2NO2nmaOfU!$_X( zR4)>qz+%X?6Mu9<EA2dJdBU z4igZW`qGF43mYPc{8qu|e!XCV@K<`$Vlp+3lFgLaR) zb{+Om5@id_iduI=9>yM#3e7b;*2-n6WBL&DjAyVr)B61(k>O&g{&sTp=Cy8U7^1^S zgP`V2+^NCDy|mDNE`etO_If@_Y*#Py6Q5pa-_|3i1}`mKS?NE zG$4TlaWQYGy$o#;)Ag~osM1haXXAyC*r0kp0GHclOrMnV%^Axe0A8zJ3&UpelRu;; zyIL-k4GP9N$6mPNR?L5Y!kZcWM}GatK=~7^WXf9i5EN*=dPsu=$ut_Rnvo|*%7mKZNoQUbOtJJ^*4?St4j+pK>*JdMoZr6Kn3#pqfFOx z5OO@eOZ|0!$JfY<_@8?Kau*QtRe4U!}X;WN(&x}K4O z1HS40y5})mL^+e5k1T!EOQH6Ev;)wJ_1Ya79*#A60@0j! zwxtTiO$HJ=ftL-JWBLfkKWByW$E;jH9G1Iqa27xQbO5xdO3U z=rS}SJq1CTz+20V+vM1lDOiN108CA}PZGJ7oQCrzY^a!C)<^?#0_F3H(h@BU5~%oU z58ip|-sl}>bz|ZQxJkXJrx9`)7OlzeOAMu8cpz8sKQF);b+Pt>0=#cYs5M9jS*rnj zBeN_5!vVVE3Ha#{HYY^Gr_W=E&=sJ&YvA?cOm}rXv zsy8TM-5x#60pH>>S|}~k6JacivLy7x=%q5DFS%x1?+8{SJrNW0;y245@cpnbnF(Vl zK#g;zMsF@0X5980##=ALCQH^E!0AkGEs&%kJ&z?SeV*9k0LPf%8oC>3g69b2oDg)q z<7@`k`|CC(L<=*_nw551@#J>PfHQ6&i@Z390H`S#nuuZ8>_F-u4k1Lv-N7|OSh!3f z0sXs(dM%ANG>dlBn#5F%89H^LabUD=WZVPgw`h@^MlF)l=(SotBh+g||HQ+JS7%#T zEIYx7-Y1_e>qTY2^8NLGzECz+nx!Z8=h@e{AygB4;vQmnNP-Y>AW|T92~k$8O`^cx zBuXEaKhXj7DUACRdW5ZG0AM48bLrk!0@S`fRQu_(ShG*W-njCUUF^pi0jW2Mg`>rBA*P;SEr zD{dY(V}a3my_f1kr>92UU#Ugw+xeim$@US z1X~vj0rTwm*jy!BbMLTV$2;aK*eHELDLCkQj^&Pm>m_)Wx|Glq(5ag}$sIZJgV+4jE`8Dl*Ot0pdz-VaB(9hy((>ke+RACJmlJCG!sou(L<$*H}SgtFs7u8wz-T4=l@ z&(t(k%8^+dY5$(wNPOwi%t;3#-;F)-X1dO`Po(O+K=PuXU{x4WD#P_2r_{-^!9Fx0H4+jV%NIv&?#WIB$B~eQA@KFn!_|i&_%jOcGE!jH6S9G@0vF$l z<1jgIHrdt?G5Fq)YsF6QT};%2`RS;y>Zk}NI>y}AA9|9L0XfNwJiTC2V>F)mSO<1lV>jU82-T>*Dz6r>&GBb7(}RB76ygh4EJMmz zM-%ypGt=*diIY1I1oA6Ufzx`D~1LHX~#BiLr8O&J^rsf4NdDRe#NXkkmS# zAPE~C(FJj&+cIfJkh5B>r8;5?BCQ}&3ONWVAhVz<^J1n)ODg0MQ$S2U&l7o`fRZDE z-}8*SG2R0kcV19!39AiUVL)2Y88ugp;68A^$nBvnt9tOJiy?=$QGDZ=7mKdqnU{x4 zRk}@G6<%d@s#>q=DFJF_Fukgao`?8nMawb^z)cVih!gj=cQU+CN+#lad%N&1lf#2bJexLdWfF# zW%2a$oWYYRsGP%-#a%hC_bgReWUjg*nKYSFRfZ*@lYWM(yqK>!*rQW<`B=JUmo{Ue zd5cGy(N4D+clW>sZp9<0+ zoAPPUH*;RyD;TUz+7NWi8#`u_ZSQxr$O~7Px%pUh2bqVA%vDrX6~t{rplU`T`PkS=(Nz321nkbWXu%z<`D z9amR=Ep;jA5QPHj3xcsKTYmP|#;W$=jM!Mdg9gY;>w~}lrQN7h`8E0h-1pi zSt#gKiG4PLC5cZ!l_{%Jmt_my9KUlFA5M~dDQp{|Y9{7Ew-~pt*C{0Tors4ryvy9e{Sz4fure(A) zBnFIJ(yznbh}mUW@BgNgNnaM)VM)7<2z93@%{U$W znY8x_K39!Q&dS>4to)8=%if`c8m(=-)81?OzbLvF(3OTSCl~P2A}$IYka5o9kyBR! zGH(mWT$M~BL+2zpfs&w5v&bz1oWVi^hXM5yl6 zBtxC@WeLoYH0sVd>7*Y@s9eok_Ku?M1IPL~sa@SEq)DgXwUYWtCv;Id^iLA{fD@`o zle)fpBvgz}Q^LG-+GT|H-pZ)`R{Cnpgy{7&k1N0BcSRE*D5#I^8 z0F00M@9q>7bxFo^CF2xl*u*L`!Doleg^y3M_96A^2Uk6V};Sz&!K{@s_alugZU`gG1(Mcr@=W(-#$a6u`*nIu8F`5BxE<{_YZj@qoRij zBg3MHyhfXtWHMW^vj1ydeqOqI>p``JWdf^*$^+m5+CB@L(jCnt2&kp{H|rv6Ylpv)A*1K zGh+?@0~Um&rbmx0h)JQA+AKn96C}mKQ9w~p4Fo??mE*ukKr_HYv^{ypPM=pD?%E4g zVIN4Gz36*ra#wjOs`7-Mx6$sroNuwtJOZ2eGrxvSczHtex`@erUQ%2@4vd_M`Tt~| z+mD||?W8Knwbjc&tc z+asl2O1q5(v57O&t-jQ=Kur+K7YlGVwmDg%j4e3gkg(cTw-DqomK{)7f(8$a9vZ?3 z*Ig9!^(>xdteoZ6{u#DMhW9<)aKU=hlZ_$E_RBm74IU1}F2j1~cC;-Ti%m{94)5q{ zoC{Q(5;;lY!K$!HpF>~{AXfJ_YrynvUwSY$Gf(D%YC%M$Qq~Ljt=mC5nc3(P4|B;( z3yzyltl+pO@H|2L5olSGM_t+VAG1&7WAjBU!OY95dkge82OffiyucoU^%t&G-~4YV zkUn-OvFy}|dgp0%`^5hNw!hX$E95@%j%7Z^3B&!SE9Bc&cTRIfZ9`@AlI(9cOvXB` zzYc3G;309d^ZZUWq{U~Oah!jE90KyId&go~f}0$R+P(l*%7hJ*x{RN6p^4}C)Uei| zt@)GA_LhANkYiVq`Y5)be&{Nxv=^e=RwuuBN=oNvrmQs>kEBtPyIHiywe2>8agPoGCa7S6yJlADBPu=v zUfalr7)g6O0y4elrd`@jMC_w?tQ=;3=P*lRmcMz3vp1a}nK9W7t5NNOYgM|_^zAT>njNAL&2^50OPhzFJDVBY zu(mY%^-qw^=~TFM*-eVDVxd~|*IQ}_28;tr4C7g@?E#94yGwlg7UyBoJ16AZQ14ow zgT8;K)wi0B(p|UP+}~wjG$}G-y}K}rtNjB;!zZx^ol_lXww+@aCNC3V`Zo5THBS#ck$Y#wsLTA z%Bnra%GGAqJDC06UF%DThO{HL;0#dWBX$jZ+k6H7qZqB(Xy5%q4uYd?^`&V^co|{Y zh!2T`(WV#_r1oWOurF7Ct5wPwaVV#*(Nb-@Brw{A+uw=h)>bU=Z>pP%S7Wo=kL&^` zypW`8t)r9n? zx@h;82uW-hKnh9h3U-%2384+#sssQi!@gQ0L1nDb#X%EWMTm4rfl@Pv>2%QE#@t{B6A;{n`TPKwNYE zkd&~Lvwt-|YSVm%|HX!J_GsFgiH1}#nEhzT6`5#=9O9R+QRcj)PpySx@FX~8> z?urq9O3?_#Q%L)#GAf#UI7~-r8sW13(2qXQ85|lR6u&V$kEC-v@5Bim5Cmrs9kB5D zbik?fRL)&ZN7IIhybe|2khAexa)X;9M86s8MeCZEiY(Vm*RMCi49`3i7K$6F0rwco{vOvJ zfs5}5N~8YAsdOY_QrY-Xx*!NP;G435+d{?Sim6BIR07S<*IEdf(MDUHe4Q zqb4?o10eTM8OVn=JkYJ*szD5Mf91RaIk`7DuVQ$h+IjU_u`AJ3xw4#pZFt}#kzSi) z`92zGbzrl7r_@F}%cZ`N!Xd2RBlREbg(XJIFsNYpjz})J%Y*#vp8xu%eUHj)*i&_z zA>ZxCBSNGg;MiOJu5Jvruj{ptg|@Z2C^XR4YAtHtWwpMyBg500)!a3v=7$i_O7dxN z0fKQRu$@*MTgf-oL^0Jqu!%J^(G&+cqNI(X z0cm0uG8B%X0S|+o*unXh(Fl+j96kT5>X&P`qvfCKGv@Iac%13YE^wq!k(B#a)pnWG zrriNyE+lEfem#r**h=~WxN<;>6%eNd{{QKCr_}NV8eV2(b>$V+eqha1gt4T0yUQ>W(p^FcBb8hhuaGbdr+>|3k-2nR53yoKgCs^a_MP#?Qg zXORlrYbc@=Q5EmsD-!bniL$QssM{@=@0ucrKw6;b_lY3B`qrF8(9G8JoeTJMxfRWMgc~BfIsRm}4IK zE9aGi2m$IDC9xUfcq?n4Fd!f{b{<)Zz zKT&%W_!1nX5ZkrB1^vNxZbAD<=G=ln`M8Uit7Lbk6u)zK9bq?!)t^GU%` z>ljF3;oTDrcf~f87GQO&+$x@ShKqFj{v-t&&6wVTFn6DqkoAxB7 zajyTf4D@h6=a&_~d!L>gLGxRufRv#d4=~ByfXmi+Xg;9DDj9@wf+(L`GzTUd$xeQDK5-72@VO59gk@yQ{p>+jrQZ(4{6GZ$v=qP9CS zRvR*Vol{O-n#7`SY9Y4>nyO0+T&chX5-7kmVC<}9E9pwImHUy$k6w6k{b`^q@iCwN znjyptm{`BjrI*+@gxLi00}`Fg(u+(!*RnE9aZYqhahBLdH8&-(|0w-YLajA3u1iEP zVMz8SOZYt{h-78tYtajHxJ<{#yzx+K?y{x66QdWp8ZbjRW=%Rg0gCSwpl9JpLOk_GcmHZ6 z6Awad6B3d*mV`IBo7uC_%a1}K&9X{&Kn~6~mVGE6szp#?NTEw}^Z30g7so)A`+}~& zL;1qP@yFanjAcC}nXtb)p7&P1B=&7mI~y;E2gW4%UKpp2?j9O;?daer-Rm;9y%ADz zVP91u=dF2L0zT&OHF6qm#bxg3y4BHj`9a@21Xvb%L@3{5H$j}?HfQ1F4E;sSnAnpD z3B;~OcX4RI_jY5Y+7WX7MBgoZ2h?!mu1+M^mUbmhZ+<;{QcuI#5cV7%3pX*&5`OyD zTQT=m{Mtmj&{ju>Fr10^u=7?nK2hE2QCnMhU!6f-CM@bmz(Tge$4?; zubeBd9%KgxXA&8(q;DxKK|IY-Nj@($LL6$?-~Vbl$0qwhay*O@)+YNz$t%f>l^bm{ zGfjIs&4&lrNH?bnv&Uwp`d&KKGo(tEwAnr|E~B;!qz>BWEPynAG~p#JaQ8vQWuC?} zQLz>ch#d&mg6b;lo}>=*@AA*U}ymf2&%DYRuDA4RPft4a8QXnYf-27y5=^ zHJS7cO*DBDT#EI&$v)#!CL4*ve&R-vmz^}mQJlN?ba}&*6ZR9GSN8hcA3Lu?-1vd> z3UOmD#ErQSH|A>Mh9*-q4I)!WZGVAyE5r>5A4%fIPcgC#aYb-&O%g#7Yye4wBTXAs z++@$g^sPhOxK2ueK+I)6!>D4bZp=|e6`Q4_nWhmvD{9r%-rBY|2U9pQBvCbmW5T1dK!{ zML{ZjX8>-}wf{dFfVzyX8LfAL=Q99o z6b!)oFQy0JyM$|sMw0xcRaB1+xW^xWp;Q&9sB{~*|6UMDSl4lM*t*_y*SfA=h%?OM zJku2@#@*#H!Jt7m;iysgCn4JZ2xM&OkoK-*|M~?P&7+$8 z|6?TAC7wuC7*anITtuqLLl4!StSez@7_EQOSl9m&W-pe$B(-agu{2-TbsRM(|C*(_ zi^4-{x>wUDFDc5PPyTDlZ=(FLy0+K~$F3Pfpd6}I#I-ytqswlK710!d64E(@C~1N} zHRs1C2oD6i%w7Dj09D2H{v^9X;3!?(QAS+*cfb7@t{S`T0F;}Yz8O#|r5%;&j449p zu~%kt`%Z05{YQ#eJ4ylyj03GvL3gd*TtQ%AeQ}tXee3k0CJAR~Hzzz3MWT%TKiCE{ z$(MpX^<%$D@@3{dsmcEKk2$Z8b5By(k9=CLaL0*{W8dy5W6AJPi~kYr>f}5%W!OxDk%Uc&4vb^cwFABUVy{wpLuoSyj*$LAMH87~Xs zR}%8QECo0?foFxn44ZH5(rfi0Rt@}MWna~y-hGDUt1lF7#;M>5(6%>Y?%@pT3CC`t z#G49HBQ#oP=>2Px{R;FHLB7S2pZHiMJ+b47MWs+%?ZsZoPq&ZEN}NU*-lU|?>vf&C zHPeG+wVq>F`$tM2Q0)tPyV_(gIA*mXJ(*GM=~C@~5~iv-sK#+ny~ROw-8@s(<|F@D zdMO9hkBg-hwebb0a8B2Ug@Z?<$i5iSx7s|Mcw<=r|L%hqNhWfjNfZf1Rcy8JVMJll zXcNtNGd{h{UM0jON7b2GZjxEf&X-vl5{})XXBlJU@VG=llNoZ(Ul00xw{4Lkq!r3( zsO4I1#b7_hrg_O)SnK=yKvZ@bv%I;VS+{_@Lef`EjM880pMPOXWcC1$8zN&GpO~#@ zztrLT$<&`s<1^*}%@>g0x1o}zraefPL-9)rC5!#Xts}F76*uQa&LueA?2zlH$(|Hg zE>g9TN_<4h4k8wooi_@g5P_u{{-@K!Tlr4HD_Z`UedE4SB6_-dWr!QW6t0Wi^nRv- z|ETRLlc%1ve~W0=arTcA`xgTvW&h~6uZxb|jYr21qO;tP+F#OoW&;T=P5O)y9=P`5 z`+>Qtgh7!Txh0m`ySVzK;At!Hg;jQIw$aw*yoSDw*+gD-aO>?jW1duh_Y@Y<-R<2dta%G<6LM=WQp0z8fUU+HU zSZ?_SWtrUL1F;3=#v`{>qF7(zyJcJ>wiBj#?JSA_B)x==qe$Vu+nts`Nwt?C^zKC# zU(}l`joTjK&BQl=>qttfLW@L{*w=0ziHO%+G-)^`RZSk7@kD65`65hEuBI12s+p{6 ziuv*zD`#V)vhMqOyh>NQdL+*DJyUndDoXc@a4RyYi$e-yg*3);P4mhym6)rFh_`d7 zDf_w-4#UY{i{-AZzS-rCuGsAIfa?=8+FhbY&9|?9MB*ZuL0@l0@3)u;+CRBr5_cVh zN}Q{jV_As7g7GQ?L^?K$n}lXi+wapFMs<&UcZp#1mjhl`=Bud%v1ur7 z72-BRRTagmQQYzZysD}=R$bgtRnlHv(ouCzd-XXTRp+)>pNkyivAtfm9@p!2|K1_C zyMM7eJ(0-~%ZzWb{}iP08aGPQ2O(AI;c*1y92DYmNhWJIY1^6`HRQ4$d*#{Ex4HD~ z@_bcO5UVNx6^T_9s+yu$RguC%ES>QL$7t?#=IcfIe9_T@Jw_c6H&scx9aPx699Vpk*=&%iaGO?Vd~%FMFH$pQ8A z2Z;)+nHclHWUW=Gaee(7IZ$ZiRQ(jD0 zx9JOpjoUO*v!f-#e#Dc|1)FBou;7!^S3l;@pHv>^O zW7cy`QNZ;!j%$o%6ZPQ*{xabuF+s4ulC4g(n+Lnx&fLp5JAd)Y=fQu8{U^$C;6Kbh z;T?#R&)DCpjhZ3kvl}TO>^~W8cQFAf)=We7iMg2*rjaYs>?SehQsFN|!vUGu)gIrW zx_5nt8miF`C5I9HHop!!ZBQjP8dy$|k>MCZO-&deam>=Z#_>u)+wE((GKaa&$$(%I z5e%ie$&Am2)GkCIh-apH4IIGB?%*`BbdB%;mwin7O3W*dLQw;s-8nM14-rOD@`$@H zEZvAAEU^kVMasXu)IG0kO~8`4k~dvideR z?0k5n1pSrhhoJyIYyXkARDU@sy=Gsx$;vdAo!W=-v|s7QM^21a<#66fM;b;gsEke? zk)_r&xG}>khH;~7XY?O&+!Hk~K|Cf6*z<8)>1_M{@$X{U<_1sW<+2NLBhGU{7-s=^ z8Y+aW1*4&F%!-e-*eVEaG64b+fnra?3F7^nt5$yBm>=pSk*ocG&F;E-j=b2LK`JoT6ICYvF|e%OUzN+Y>=goNL*(VkK&Q-gS% zdd|K;-lMoq|4!00W_qubm&|>Ak-hW66kMkg4UAv*VrpHacrJ6&dni)f&fd=&{>qPK z4R5x8`l?vysdmdXbhG`?TTC1@fX()YugDb2o6Q>;-n!e#@O>vko_0pO*}f&6qcff3 z5uHQ8?jDXvr%&b-sNO0a$Ov9C6#iyWlQ;+4q zAMfzDo}eKlLZaRgU3>JXTu$xA$}0=G&z4d8qGXLTNJ9xa<134j8GVv*xYO!0)2;qF z9upkEx`Q{$a3{;iBRN*yqlZ0C{r4w}`IuzAy1B3JNp=0=bRkomLjJtM>3TPx(OZgK z4Q0_=yjhWH{En=*sO6Sqg5Qxq&Gt$McPA^jo1otF$mMQ04HNU6gD0WUp&PNzLfJ@0 z>Uv2tLTB7;&rY}FnHQ6tVfkuj>50b(aaLykx)eRqy*pFu^5}Id{^pu;w?jesug35Xr$k}A?*ahVF zZEW}ez?yl7KpwV}s8GEha=j})&my%VY0O4XIFc%|rEaqCBbPw_Ci^G6WfXT?syL@R zizS`T@xyeE`MjZNsmJ}fAE9C~fAfOq%~@RL?+5?D)|rg`DaonGdxX!r<*fk&t(*BEqn@{7(_WLe2+AgNJWb?-!qxnYL z1QPVV5?^{=fAcB2I3743On$A=b`tUa{p(yt+i2dp-p#S*cSq(uY$x znVwC!({?6wEpLOM?K5N9y)3oFA;9M0i|F>dw~xw_IlIVcy9N?2lXOmU&5RkaW{kEl z(YYyoWvM*lifbS{fV#=BXW&z`+fbj@|22R;n8k(B2pV1)c+1-R;6t9(e z6--4h41#~m2*sD4p5yd&5B?;azV6~J0|++osY`T#_c2MQf%lt8SoSh&Ef74P`Gm#G~r!(sbOTpj8{qWbVk6~QV z*|}apDKzeJ_;mdWyHC)LzhRVd0GKg|;Vk1exkANj@KmzaSl%IZL!sJaZ+otkt+nWD8O3=n_tu#LnH?!G!7DOjyMNVYPG*NRC z9Wtm*Msz+2dfyZ&OA($|-BaR4=LN(zod#K#?n4qu8bxb0Ltij`+JAeo437QU$7w9* z!EYpSr#beod37dbEKPH!aWrob^bWih{X5&^r?Mq1`yl|EF}3e)PfhL3(&g9qbV}JF zZ+a)&$lHLa4JdX?UD!qc7_iCxdSGF9r3-6M7k10w!eq~0CiXcV)(yBao#*0oo+-R> zQK-U;#)bU*`2QCF6Zk)m|5E>Xx4eB~dVE@V<)+cHR?f-(%Z5Ww z%RI;D*k>Tj>D()ieU9g(ASF`R%Ygm5#$YjA-|rojag^6LH4 z47C``qi>rI&7xv)e*Ltdx|;jK#{yOBF@C*VEU83BnyyXQzi#Y(lmhXVd&}8KNNnF@ zqOq!`=Lh2M(FYLi4xiZ>hKvE>f>M3!Lq_#JF(T1y`92T}+3OSE9R`Mg>DNV+S&NPf zE`u@b+^WCDrQQbEo?=0{f^D(n`Y3Y>Zu*y;9O?6A|rxP9(T8q*4J)Jk15)5#-<=SQW zUah;WcO;yzdObuJNE+X(^}vtr8qA__=^D$mal$tH(Z>gsh_zWY2fGZ&Ih zXarbS4f&pp(ci{p-5-5@p47cHxJ;%YH09)Wz7BP)9iS zAVxWacJN?vXY#q0r}Rm}CG}?ehq9yZGJWfyFD)5L>h_faa)I{b{HjlcnL95~;S^%r z)(yTBMr~M%5CClFX{wWq$M&3VM0atnO1(W&1kWwWr>Iyu>a?voPHO&0wqL2)X!|4C zq?)UQkf8HYo#Zucn@vGgXtsNlmf-nyw~W zP|bBabpN0ma@Ittd7jY!lB5RXwm)zrVnbj0vx}IPTNkkkAmfO~cyxxnryI*= z@Cvl-CK`KQ7;?aKtPWajm3CQToodfS)GgjNhToy z0&hUjs1&D)8jaN`v`rXnXOaoLLnaamt*Ny&);3M+24sdsToNV`CU2)=ZLjv$R$F_k zUb<-Mk40=v0FxlHDEC^IR&lAGFfLdtqKNbVKIgnMnS`bN+|Qp6nfL7LbIy6rbDky0 zn)lCiZX8KdZk#fsy6WX{jeVSz2kU4>q7SfQTSU zfM0m^4lmzmqTdH3D4C`Iywl6Z$r4`Cs z`%8A>wpFANQlWoGZchAaZr#6`(k4N^tBWEKtVYWlZIRkZ0pYlhx7DJM@0|!ls~zeG zQfS;`$FJ65kcvUSnIqAw(C|mupyo8HbN;L+&9yVw4Q+VGBP7+n}?1@yT8!;~-n~Yv(}`#$KK-=UYN7v01#5 ziu}9zpyz;p){6hfg;40{YfT2xa?PuT(IIV$BSW`N>LuyGqd2w7qyfP;WzESvs|eXw z4^$H*g*A)Mq{2jzPW6DKxJR}(8M1r%2CIJG#>eV-m|ql|2dl1Muox8! zfWoCMu^A;Jq6NWK*OZ)}Vk_&e@XcAU==Ff}mYZwwE%nadMF+UREAX)tJ@5J9s_&LW zX0k9@ni(J$xMmsz)d+lGQyKj4*mJQUknm-<4SzrF*lJX+}EI9PdJE*hFp$>Hl=^bdZ*R`7uA zDi!M5V!(M7e5msCRr$G0&W8qyn*_Cd1p87L_k=)V!U(o-wqW>f%074w+ae4 z9K$?N7 zC`DIlX|zn9VEvHG^)oP(bR!jwMJjaxv~R&{&gQE{`w>)d5$3^qoO(YuV6WP_CEZc2 zU)2H7q&=bs_7>MoMMY^jhx9up5{fit>Vfz|;VJ*w&CE|+)b6%wS3nqLY~zF>WTBV8 zviQP^_`+$p8siI_;tRipt0lg0L408Z*V6dIZOm2t;SPT7_`|ETM<6@?ux#z<9Tad^ zTgEZDcEXsDTIYK7j6JA5@wGBN@wKuy#n%d!WXIP&Yd(ABlW_L)QOik9jKTTV3OZ;f zVmIiSaFmwZO~&n`C1B(rS&~zkGaH` zsi!~v$#LQv)%4BjIgu)c=WkJ`95;TcT6CQ9UE5M~29pde-yP@m@Ts_67#^?T`_5y> z>)BXx?0A_VwRR^XZiZ-h`7>^I7=?7T2QGNX8<|ewtW6jLQV7FYp$MjWIp37a6xM z8H9WXJBSZNF+YBO+R$4u0~yEe=)2Xsk^dYe~R+Zn4~*WaD$MZTC2 zdy+bI<9F(CM|X6yaqB@@XWVy52mV{!SFKr%yYnsEIgEk4o;To#G9sn1cc}GEYAuvI z7d@Bn5(pW>gQWvzTO$wq_A4EQ5EG{B08++Td-B^l)L!~}PU8IZI zq0W_JQc)NRu%q@V9az_*CKyMf8Z8djRODchXw*4MkuOb=;ozN_uUll9dO`;p%WSZ{ zX~tFNGi_h)X!FDyXvp^@cd;LkHypoD=8lgnKAvM2FjLaWfREXDM|$~phD&;xF(w%D z{nLz9y{>$xs^v@i=wE{I`y?+#$bh>=RJilJN@9*uN}*dy>I_rL|4@o#XXFKZOj}D3B6bNT`e z0`(jcUf~rQRQ}?XL}vPVO2XU*cJvr)J^fj>2Mt8+J>5+IvwUUx`)Vq5c4vEEO_R9P zSm-JGpvlrHp2ZThv51{hU8{@f7cAdTVuW5$bf@n5P|j`MU(+X)*;KRl1i$)*WYwF+ zkY{I8?!+U@{X?#r_3xBBB2%vBf6)xa!>C3wuX6l03du-|&wV)c1(aHpxN;QvFgL9u)Nj#Q&nrjg8cN#$xaSOrI?ccazm!haCds6=YH642#eC))8esr4U#b72(Wgi62lX<%Hg`h{X^!1u=R{8D3OkE;!P`nHmnV6( z@0X@#gL=0L(ZpK+9ZZ%rS1p-t-TJg{`*jDykT)w0^Ng1&UAD*l5}W3q$;s3FGq8NY z?^ToGh7t_%T2OizW{}hn+~^%Ti$auKcHhr{ESH6yd@R)2lbm^z;7x2j88r^2V5hlg zk{lCTUYfJGFi`$f08JIKpbhpwnBmq+;<|BF}7u1M{4~By??5%?h`A7+z6v2iHr`H>+aN z-~14eq_2#LZFOAD&8sY?OPa`aX29N=><$<@7(ma3 z?ANcJ&Jo6;)-wLi;qP3?XU>a)PRkYeVu+uh-v5XSZGXG^b?(QhcX3UTWai8E z36{&)>dI;7$}I)H@TcUKvb_~UpdWs#wIFv+I5`P!)i6S-B^a`kfh&-BbmHct4<5r? zLBybM6~Pe}p{$3hIeu%!KK!E1Gk4J_1H0=XHzlTZdk$a*l5YB)UfZ)f(^ug<;}GOE zL(ftdi31z>VVuq7U6xFo4y04G5Q!Z`nPmQzq-&W=u*ZzEncZ=p%FM1U5(Rp8|M|%w zE?!ra@ple?%&y22xU+l3qk4ApBW8B{;X>dHhSAW^+@fjqc<(TbkbnUGpl$yEr$zk*eVVI;}0;*LBNo|NzP2z0DF;OfHktW=G@#r zd`;l=cjOgWNSu!W-pJ0tm6y>Uy!X%{S8-o&{;02~HuEdGgM-fENz!8H5=s?t20l&- z_?`(`HUB_)kgVvS?^SEXXIaW9xV$Qf`YrG|Ea7h9V0x=4)4dEfx8_vo*G_dGUre9A zDEOR=&>i??1xK!}S}&U7Bi9RsRyGCE++`p|Nd8Yk)_2#%RctiCKe9k(Cl18A{aP;` z%SebIjaZ9ulVa8#>X(#@{H86cZC8pW@8tM&C34v})%h#e>m3Y^==>?d5iLNS=7`R! z{qF>`FoY*sQY>}>eJAeTl_mVV5cx@QPWTpAcI$YXR2va5z^q30s?> zkM+)0UR-4N8}+(yOIw{=NuZg061T~+QHw@!0S9i3KG zNoOf1(NQedVAXdPShseQZYqfUtd_PL%g)bAs2DX|%4qaq{t^)H_61j~v;zQ-4h z4LR?#M~Ue9tcGMEyRB{2>}TOY|NHM@1e)L!uMq!)I%D9hBIx_hf<<>F=ksV8{a*Zv zCh6Pncvx(^>D-*irw|AH7gh8=c)Tilg(4>g-O^xSt!M(XNuD6wY4R}lUa8PZ27W2? zAoj~jau%U;B>!_^pK2Y`H%sG_vJWIj>0hLCZYkrfB*3di)%8t_YeGVInbjDqy2eu^ z@>JJ&@^6|98(>H?`}H%o%dVHX9jRvBGX`wUZml|MbG{Hg^!&^_Nf4a0F4p#~5`Pqu)*${Y z{7w5F&RpgVdYw&ENa$s9=tOGQD7H>9m>>I0>cydvau3hqBe&I`j}xE3{_`s(+4K&n zU}*lEGx?9;mk)_du&AIivJpJ{=?D2;YBp;EZK>yqbQjX|U@pkZvk}kHSDo~YG=7Cw zkJi|n!Zx}$lyD>MkcZ+-UlIj8Xb;s_W^A<>nj814sHK)+=SohOZSeQ%OOLVjj%}h{ zWR^08UI8nGxCcIurdSEf+=sbt?So&Ivh>v;u%Uz*lyhI~oyZ3E2>x~+S8n_LZ#t~b z`|-(xPZ?DBDRB?K=f!K#QxV&1L1ITHU~|vDVr&k_=XtGl{iz-}2;+5=7PZDc8olH? zbh=DA*Xip~W8q^)TwuxNF!(JR(f&s2i`0>l{eMZww|v54w29Rf@wO89=OOwg=OGCE z4)w`T1tjaZr}gGrIhEsra95AAQ$4B8ZB;qZ1BqEB@p&jR&z}-NIY>r5aD{s>jeV3q zM2C3GGlx>vx{i_sKmOM`#A6@j4#|6-n>X@rUuU{=|Jq$x@$$>+u z)&8#KmHxKAfS7ft2y$Xhi^4rB(Hq|b9gjOxFS<66+Cp`s^~-8( zd1cX}Gpd%)i11i9aZIM{IlAl_rtF<~ zDwl_UUPz5P$z{0oGSRj^r~~G_*qcoB8NYN=^oiInv2?M|!+#w^KK%=c>{oYu)Camy1UC_gv*IV)IJgCl!hgZDjp7 zW5ncx{otiex0nw>li~;aAr%oP)=#Y8cjwOao--E%Bc%gP^jE{Mx97X1V@axWf3Oho zg6`IF_{H)_0CkJMhiyDL8K=Ip=|TeDa{`k#FGbrg%L3a`^UC?9*oNj3~t24(zK(u-`>(DcOo8xC8)7?#kCrR1ntOKgy+^g)=B4+(rFaOsA-TEKo5{*(vm^1X8Jbv_gse0cdf9P+T1Q;~`M=JG09 zb$Vo!wl^{GOK$D*BAN4Db^{jk(lCfNZ=r?U|Fobce5W^)hLC{sPe{FfbnplTz)OOl zvlA;EWbmSBhg&oUmgYF~3NaU?Ks0`U-hP4nLN^{8t|F=C%P2QRiWC^t=&hW$%kal3 zC>JIA)Tm%zTUE!EaylJ23j`Tsx6I~t*&iF#xoxAN7{hq{tXQh)ACTM0Mj190;mJ}i zsNb%+6Yp!?<^+y_oqBihv%kE#U%O)N6=?aDYJ5VUYURf zWJy*CLM4Zu`%?PjyNYv?V=~zmKT0;H>&M;nIeJ+-88j8;BV{_B_)jJ2kp2Mt+tp`p z8EuA6T_9rT9H!}skoN+(Q3~4z{s2=@Aa-+QVc<^;S&l%&&6U_uKa=pm-QN}q zS-1s}!@bcjc6KlIt;#RAQ;*y2hxIjWr<`JL??1ISEA0uSwT7mBCQPdq05<-xjE!!i zSl^(HGDYRxsPYT+&J5@c^VbzD?GkKFYjJ>KJD=FCSP*!KBjF@C}%aPHR z!gM9N$;QZ4ZRcy&D!J%~%6BsuvlIEFq(nPDi-EYbQk~tQEr`gnRaVE_8lP|h9SGa@ z6hb6yZNOA$ryKYPa=MQJOz)2qmgeV>O6T1Pt zgRiBhvP0Wa zDZe6B5<^zMnlb^PLs<>0u-2-5bD&vHIvMbR%hN8|-!h7|+0*pyh_ov^3rA6ASRAF= ze>8L)uiTJnIa{SDc$dLhzC1lR(V0iCTo_s~+05=f{OYOCjEXGG8-9fn_!UY9`4#l> z!JaqBuW(C|)UaJG;j0glWAiJNs^5Wf8XRd@T}G{Rp)N~{1^R`actM|EE?CT6L1Pox zKO9<#g7dXYZ2ZD4v10(FxvxeaVKg4WQ@5Ns6z$a* zzKdIA#!l`S-xT)ZSehR~QVhpE;Ex=Fq-5D2ac>FWKw6))Uv3J)Db-9VA30#L0%>)8 zUG~p?6RnON1jP1@wmL+Ii*~Hkj2oL7TB=Ro&5$E*0xR05|9%S1<3#S zhPlgDsA7c#;ikPh220U$gVFcVJ0wWIHu`pJUCQe-SxyG#1+$d2KfxWlaY|*5JgsYX zD!JY4VQyE;9#f(ALVZdW!`!SJ`;qWem`4D=8Z#wx2U^4fb@m;|*g-MSz7IXe5BiUz!b_R$n+x(KoJot(gELYP)netP{dONXgpB_#mU@vm)!&4a z2M4EY39&)F=h?D*=(Q03aY0)@s`u@n*odb#evW3ks;cu^v2RnVU0&yfLV&6vBgGE&Euu?v&pz}Tp~{j#9_pJM7)bMXhpSqOtd7k(3~Y3dz2}t>oXBTD5TCZ& zwswYm?^_-BNpxpxqt$U9u3*(qUz6f*oroupsHwGO>B+w@2Ff?vXT0n5L(dO!?b)+8 zwCAl*`IdT5(mrE9EDnNcqKFBM^=-TT?;=BC^UlIi?o*4VhaJNf=-b_Tz9#(226|T~}HHfI-p)x7V<*o@iZ`tJoJX7aN8S+ZnCXsQ&%c~v*1s6iwf9s5HWG>7P z!ZN}5;4StF=m`|I*57%qPs?s1eqT?@J3EjwOcg0qyTiZbDvbg7O6m4&PB z)0OtsEReyqR{WO~>^R-}16K>^ogM}ZD2C(T^@ihDQjD{kXoj+1KJj0f6v%?W@K`2W zrq_1v*gza(f=Gzw^q1MBrIInW;n`w#L)f{USU3J~Rg*Ug(at~=24oftG;@0}3<$r` z`D(aW?Sf-HSN&!sD!1AR+)&`pX&Xr3a(d5{J_k_ydL>lBMqtZ6lb}#Gi}@N}mL_WA zC>aF4zM3)x*vFha#$Qg=M&WNM~hmdVk!;7CH54)}V7xp4G-ndS>+mFl!-t^dU?YpEM== zh^{a?FN9b*cs`3>ptnD!-9z!Utn;}^eWCh@^P9~n`yJ&ctekA3Q-+qL{_suSf)WLr zz9Lg4D0snYoX|N!CImA(;rOXUH8F7Unrm<|6fr$Ial2igQfg9sh5Kuje61aJ>~KY^?At4;%kzY&9ow__l0+~k722a@9K14k zZDHh+ZxzY|DZfriJ|exxXO4WrQzF*3cwIy6!;#jC&l3{+aI&@Xd>o0u;dsq_p*k(K zt$vnJ1#M}gpmbX@O@pqk>&tFj`iQokAlY3y7vp!*p1n@LO=GL{`Ou1Y3_Qt!Snq5F?GOn0 zEVfJtE_C(}tR=#chS8*uXDdKdmJ;lmyIR#94^WYGOgn_f#0$(w&n^TLkM(#$d;TuC zn62e=xqS`_=jyUAl~dTwWy=i8Kff(Pe)6xaYSU|cY-=Whu{Di$qJ`4|%x>zo`1hxj zQIqfmdTTr1vN}%I&3{7%%q#Vu>(tE0&b#weSHHBB-4=c~WQ5^+bK9U1W0>Z1HkMF_ zO7Xxc`t#`ZI9sls)Z6DTlCQ9G*@-$fr)N~-f8;VuQ>KKhC&Op_-RhV_0j8_)VB35C zZu_n)5)R?9<|_5SQfl7_Q`$^jnn(qsGkJ$fNE|0}{JJ767no^5!4kvoV(rpHn;yb@ zf;<#&j62oOFzg~LSD2Jwy*tmY(u~wH1==B4zYND(Y7}ZBr`?Fz4)iN)8x68L;)J6= zC3MEqVP}WkS=ShuYsPrV$s2j%&MD78V0oW?hA`qK&)zuGL?FBv+A|RL>BW zzGg}p@E|?+?8;2?w;<2OwiXEldjq~5X^62_jF%_PPh(hN9Dif@8<}2E9|&@M>HDmW z-sD$en-ncWA&eW_=3f3Sx9{n2Z9u}Hbl?bs#|JloN-3|9^1ug1fE%FS1BzZhr4Gfh zvk#cT{abiS{^Pdv*)ZgI-MF7JRJ-OQVB^W~dXG>aejuFQ3Cy~E@T`4mw|xdOaGLFV zuw0?DEt0JI+;VM@Y3>ho!NFAOz?R$y$LcP1i7sBOD2ur=gInke;&bd46*4x;r=P+z zk9TQ%W|)4~<*mxaU^{2rs8xXvuoqrEg1^G%K+oPH_-;lu2S<0q*B?M9&bsPP_)F=i zbnr)k4b@V|vKz*rqO~q;t*fbT<^{8PbboVv4n@^nLeQMSAPRK}45l4NXa(b(DpTsO zf>m&+0p+{YxuAiF41-;2hRaGd5vW@28mTQ)D__(o2vm0Ehj#!1PDKt3{wDW!wSgCZ z5=*h4CYt&ikFZON98w}Zhv|79oC}%bKV;%#9}T5d-u*{I=j`~;e@*A?%i~1ig-~#^ z;XEPp-E!LgjdFmqve?GeGQDAEvk<{bP(QItju#}%3;#=|$J(Uy$jt0~ zpF3v0rIPPH@+BwQi96+%Xy8$T8|Y7VDf@S4)qZ}a_U71QGE%wPl$v*r49j+vFGcc( zfWDJm>NZW@k@ZuV(IK0@130w}vAwyREMsEdZosZ5+Td5AL7TLiv%%%R@y0ejB;B$# z%BH950qsQxH6xW2MQvyHa$)2gh!cQT^QxJ}@_4#aRY|kIf^#eky6I+rr6{(kTS{c| zXWGstIbbQ{$B#)FSU_5=)e6EYc=2VIj5V|j?y_#GC3)D5{vVU%dnB1klH`?LHQ^bj zMMtzPuXiH*W*m;5jqCH#Pq!_<}ZOi90Mklr{Z@4UKwJo2U6CFvu4}hWMIWwxG zlSz76w3MVR(eYh1b7ow)X!MLKQv8h+iwkk&Oq6luMORd@YO6-S1a`PY73Ob_F-E)MPFn4Mi{R87}EY7-8y7+I>U3JGowhm&XPS`Rs4k>bcXMr2LEh-;z6{!f$SY^xl9#68 z|7d$;qq_Cv%mv3ykiCbNsq0n^t_+hPJKk2895=pFoquHfu)FrWBktO=hc$LWP=jky zKbmkR%A?6e%mJTDh8a@J4u0Xj@I;#U#oFedjK65HAO9$A01*Wm_Y>N-tPZ-<&u}qW zf_ME8r_6^}S;D$0E*ZQEHO*qGmH>ej#(!`u{_mKicQYx%`GyR@M!plLgmY~|MZlHQsf@&J6xkU*=j4oghW{6%q7YNqoG#<3JI}IOmWh=6_VXHSk zVD+O?-CFqrQU;xE^`4#eo*kkQtH7vn%CCf{0d zIW7Pp*XsO|xSU+>j`RI{r9YHQ%*NI5^J^ z)^Cf;FKvP%67*$)1QRepS4vPdL9!>Api3m^0yyxO8vhr>e;R%YlY-9|Kj+aLv)`%7 z`1PJqre2kovT}w7Osr=B_0%G{xTvxH(A$h#bi8yvI@cYXAcIqfl3lUfAd`X!c}aSL zg1*DnimwQMf3AKCN`B9Lt}>s?&F9PJbBX!PLbEUS%9nU;xSG>*7P+A9mf1OxbCA?Q zvY@rlB%NfJW9o2LnebBB@M^?oRrb!Zb9-lna*b-|Q|SkfIghxahP-vy1ws z$TmDC!{xD7$dsjV6Ql6WTEB9)Wa*pbZIVc^j^<{7G>TM$A;SbV$djzxK^o`p=Ju`9XNYg23wb!MC=ZXC=FdoQ?qe^238&tx?ZmurV1wM7rM&yElfj98 zxox?f6Ft**3gw989v>8w&cd<5T|WAGp-?nnNzp6hn8~(=r zx1*jDWg?yPoE=|AJ zcRkWzwaN8JYt`>uk2F>NLVNT&8st%tQ+;q9$sP70_Utq^Jp9ZzdN&%?SAe6zG(+;! zrOm!~OQwpU<-0l__8dE2cYSSEyc6(-;y`bpA{5UxcexBrA9}hT zo%OGA2AkI-wZ^#hc-~{&0vzaRku*@wyNshnwHrsHT8e{rfQKIhpHCE=Tf?h>ehA6*_EG^0#PttmQAz{K$nscu$FXiK}d~s5!N{xh6g#5Jqgo z#kNH#gYuOE3#k~(U5f}d`07LN&~o_3uG5KkD(|(H(YpO z65%5jPvN&{39sX6@rBETvjw7wVRZ7U6$E%Dg*I zO^HC@b5+Z*VgX6jsVRf^*eM>tKAszjf0tg0(eYvq0=V*3gr6JsBp5xrorb2q`? zl02;{P@x4jXvp~F>)Z^X{%TGhuc{CR80nz&wniStb#EU;6gbn{OkdMH;OqdEeF49; zv02Ei9G9^KLpdHx12gjx+_MX%K<_`W2m3^!!(AgzdkV<)sCTW@I zTkJJF=9MAePI;kodCc3$Pd?!>rx4wyYYCzZO%s5}{MdPeB-~`{W^Gr~UXrckAle5b zb}+u6jLq>g53omSbH9h~7ne5oyW2QRi2pC+EX8?)aeBjXgg)a-csE&sx!;iUiOt(W zLkM|$&Rd>Ag$13JxLrLCWl=W9MyXKqtl$4tV8eMY7EO?H#tA&kl z@H($+t=+Z0@4z7?Y7%*-rrN73Bt;D=f{wh=eC{ZA*)mNjp()(#-CbWsRP>~NhQb2Q zli00gAr-@@gi(n?^U|Q%N5Gu^&t*TQN1KNSZkn1jgJ1Y;8Pzv-VpX&@0VvIKO(-uZO#M8qf_ps_pk5z4f1?_8Wd1ZA1Hjk^q>7#l%`;G;&9TEHD)0BhaXu2x`IW$Ypon)fWNZ=z z_skGfPoB=B+67kuN-5%X-gw;vl1<8gi7$hkZefg5tR7#yuso%Pv* zW7O5&z}t6AlIU9=2kTR3!*EVQ%Lj-^Kk77vGSx9EfTh#O(RXZ9N=31rIqW7 zAIj$a*9eVkN2l;)WPSq)6Fx8Zy_%;p87;5X+u$Ds>v4{%-4O4e1`tqtbS^rt>@3}!Z(=@(T6Oz0~vt@9Mrkk z{Lre1CN@p{%sCMdhcRe)ZvB+%D+VHw64o;O0)v>61pE{KG4KgzTo$hfG0I>3^l2*vv{h zThwi7r(bm#=MmGwn)^A7Dz@_@-B&yJQk#J&QxC|FgQoBj*&)&#d#g9H#&T3KWpPZ) zlmA#d&Zc^zH1tbFMyLVyeN^AJkROl%O96SoxSUt$Q>L(5PCMrMN3K`YN9m1Xa9sZ) zk7XM2cHnX$Z*$sNq1LCJE$TOEr(gZTIFHsvQFkw()S%vcObP_h8VqO!-_r`SI)pAM zJE=5L{>dEc`7sL8P0Pup8w(H_bt1x2@C7|W-#5Jxnzdo~WhXS?BjlDE>^SRATAfWA zHFJ{-yYV199lNE~X{>$^n~hVVxj6{Vs~_@m=8n8qTBw^9FUmLpCNLYYm?3lV*GMj! zRrCzptGkw&0pm^2K)UiwU$VH?WbFJ>yB@_~|9R*re)6tSJNAf+W;Cb?q#gKgcOZ2$ zX&cy|U>$lw8`QhJ#SN@HZjzlOA+@`jyYU&YSZBfo^4FxD73$u!vqk+l?ewcI<2)Kz z{7TP-bnV+DirwPPjW*YI9LU-O>j^hi)}%}Hs>-ypLVYIfY*DADoqlzaaUM~n*#m`z zHq)m!d8soMyn@RG^}nQ@73#^fvqkl!oqn~>IFG0Rwcopkg5$6;zbTzj(@3tzXDa`8 zx@@nyEbXjNbJETh6-+z*s>(QzsGO~2-f=6>NoUlR|KsU&v2;dVc@&@N`PJ#Ny{akgtWaN0J6qK3w9~J?Xq-o>Jb8I$Mo%G; zDY_(`)2j;7&If@E~RZko@eyRHJe-VFRF-zxI z?MvLt7^&|JEh4-B+%1Mi4((q;wkfq8Z7W$-49!34U*~rQ^B+mK|FGWaQB^!d=mQUC zFms*rYON-&>X-~0#1XP<&!_J#X*=wWs^<({C0>o9|2XeVeq zOVdbBV$kd36&ow1`G43c&3{%10+f<}v)8%Xm%!n-*XC}|C6~EyX%j-Os36vR zi8F1l&bQGkZ99>+g`K^E^_*$Pp%`e}=wM6B|yS02vSv8rK4w=ng0x=)XdBW zyK_$O2>w}F{tEnavi!V#RbQIrxA9+*hGo6EDAUNzX`kM@u(gHhdyLhV6Pb*^rFCKCi|x}1ZjFp;pN_XRGBUZC z2e@4Ss;XeuNT)i#wqu*=*S2^dKXMY|KZ)V{l*@0J93_d9|I_TuoVdXlOqH^)BoFab4_mq6;{9bRk?)CoOZk@aJ%ulq*=q1wo-Ungo)m=&Ud^*2&zMd%GJQ3EzJ9(kdNyAfwFbU2 zTJT1?QdEe5KtXS?t7`1l3v6Faf_aHM~oTSN3clp0)5p*EO+=!ecjP8RR_B2JY7AJahYoJx_Z$0m9)~uQ&XrxZF)aqtTZ^_%o|O>6VB!!?9=qZ znN{31=fqThV9!A3=7=Yd>ZwTtM_RruL2G9Bz|Sd$l5?Y%#}18Mbh$3E&ckqT!?0S9 z8Ut_jY4BK&a(d28r3!O;22PM9@!7>vG?kAUQhB71RH>X~K3R*THO8FHOfh~cmT@ko zDo^wxiin(mDx*3NKQ;O3IW1@oICUOtJz6Ygm&AGseA{Va56^dO>s+;S41cVgkpN2= zA(JjlGQS&eP&@pzwPGc=gQ-tXe@ZG!2pY}3ky$hGQYXj$(#N}t+k%3HzjIV zY2TZ&Fjn5xEf5jVQx*3xN4~t~+IWpFLPop>PMvktM8s=GM5D1(skP!%>YDyUfMqA$ zpZ!n%Y;eVl0aAJ#9ButC3Ywk9plU_W`;N+ zWqwfIoG7Kgh_=k!J@7LD5gNsV)w~k^N(0D83nWIr9ZLZSaCy@f%FmZEmGWiY0(4F$ zt{A_bIr?`3$!LnM-l-NS$uxb~#MP8;Kqqj{zznx;l)VU_NMOTw`Sl&NR-CMBrN?Y< zjQ8w98KWX=d-my3>&!0HV-Cv^M8h6c5OBe1w6jG3r7+Ml;E_hvr5mNsy7YJsY1DLp zxu#Tu&Fm7XY+N?j%r1eMaT|J}7oQ$T_=|jfOP2F3thUzWm((J)Gcrg}OKNifwXrWU zB*||ZW{>9DDoB>_*rZk=fUM_GH7G)fi~;+ST0iDopy%vR<9b zq-bmX3z4x%J^(xIuev)?p9UQ)$q^rjU#52=r+T7*vlOUz!N@q~?qte5B|UYNIQwLP zEq9%T zR)-g7?33{tT&4pqR4i3ib4<+!FxhoLvZP85;-^CKFO|eLj~8XdGdB;sLX|ROD0Y@l zK}2kh?Iut!t^pxe2Q=c$FfDqGf;n=FHG+a$_EdM6@iDnYF1lxY9R8DJ902f|fEEIl zLhdnzlngCIV~LqUbT+pTD)gGPu^WoOtgB0+qA$j=g zK|U+wfq+@O8a3YTu5Ex{%TYfvfnKp!Bhkaa)Q*|i|FyNJ( zr?ZD}j4!?*K?%Ms*2@1RwbN7W%r7cRgvX5u__kXs1v6{^D2K(rA0iQ!} zAM99*CnwK~9UOh**|CGgHy6eZj=kkm9A24hEOk1ws3Z{EoKLP+fhu7F#$Mh)mwY#P z`DJXxpp`o=PGACfJ6@FOF(`paGDyjD0vjsbq?hbnCu)Sy^ZHWPB~Z3eQ?zGafcF)#DVcwJy>Cmvnt9OaGjP$D2g#l*n~^ygF+|VK z-gZ|H>AnA&_ogqeD61TFr)nK_Tb#|j72V~Qv-IC6NAppLz`rmq)H~zC&goNA^_@@K zeQeXhjWB>@D@X_T@K7JqDfeS|fq5pJm8&hJaat5cUm5aK-6ijS#> z!?lQFBpRy{t;_f=v0{Iw{?3%uDKlH!xh;BjFfqrXwN^*J2DNn*EP3E#85wBr5#fa7 z-k_&HfQTf^Rk!2kq}1&|Kv>%Gn4DO{8bkV2^zDIbIjp6BWTo65n2|i_w=GOe0^Qiw zGf?1pV&HxT)(NpUihAA{ z?Rm-4`oY?_h+bXiUC;9vs?&N9 z@3TE0$w0gph`r44eQ0%D4!z!tF=!Dn$fJV*AEh9Ws16&z)JOfUwM^Qx*?v;sUUc_zS%oZ-~39E&^CGsddc2ueh|HeCoYz@xsq6WhR zUJmohz^@5puW#Q=u&~xvJ|c_QPK-HmGB1lSzf2MsnR8Iaox{Ir$u2-lSJqI)PxBEyUf9AK~Y*LiiG5T zJ(GL86ijw^kczcTq2y90Z=#I?f^8csXep{iXzU+pY%%QekdUqS?l9}B@Gv< zg4Pot;t=uONi^P>uo>+>(ea>-W>RkX!H`M0`vsnD&vD{{aqzNqn!G2j!mZwTRnnzZ z8p`~QWd2+}z)H1MKTqocJ_lzut<9C($mYWoewDGWll@pUXLth-%s+zWJ&eBgQ?{LC z7Twy=)Bt(Ns$R8kqcpFsM7^vX7z)|y{o26)h)2pv>nX4iU(crZYCeyFKEF+;bEd)! zrGj0*5I_l|hZvxY%R~ngR}{!iDpBmOb%I?8hRp9OvOPbRk!p_pNs{EZib!f+@>8`P zuW591grJ%P6{c~&5ll z)Mj7LqJJcAEX;+c(~2);1hk5rovQCY5otZW<523LH__tjc%hulhf=KbY|6TI&a_mk(S<*KCAnVp}VRzs_Xn zuuf+i6&q2;lGuNV=M$tEm#RmQcrmb*mSwb^jdw9F!sYo~U%PBs1MF4UDKtCCoDvXI zdE+&V>q|;tgRUfzghE#{p=%{1-s**19&h!>TN~nQyQvZ&Ym{^&)spoBT&<1#HKD92 zzE)a9NdgvQ-8;&NWGO03{I)K{&n^X)^Mx*1tcJ z#DI0?9%*!?K&^Yu2^B+xuBt1F*2vv3FA*t%slIrz-Scvux^Eq?vdfET+QG<)sE0?% z3@BKL2aZtB-aPfqi^mW(T0KBAJMN3O79){L04zLyr#2^^f4d`QqHoW4YK!<35epp0 zDJPcU{Tv*3X^OPtx=cH0hP2{SQhaB(G~%qpOav;Hei{~sqDPqcRDABi_}q^TA_ZX_ z>c_G-VS~`ErpeMA^y0wDneW$4{{0No$8fPdA9?>r7+E~zxFZ9M2!m5^KBeOET&>vqIB#i$J z@rCpG02m9K_-i??)l7g=0E5q60v`|GtABrGf*#PGhxG3sP0$AI>DIqnO^^oN_`{6? zB@Z|0-){-5#2;?ao(1|hVuB2WJuDDLf_u&9A@k`rpT?0ouE~5B$fvzWP)UxJ@9pAD z-m$9~!)<~Mg zIDU_`MBlyCduubLTBg*Cf1pcEm-xWZO4MB#Qlf;I5`QsR;;E*@HLm&|+DTiv&9r*c zrMF0bhqqS`!jRH+h$BSnEZyFjy^4LQ0Z1-Ylev)!aJoE_X_;&{zD#{mf4ulg_2O~k zvE^~x_(t`Nh+H0{epl{f?O>9j?Qic9U{hZktYUb)K%RQ(1Ln(AF+5&CQk{D2`~siq z5GnzWkzasSy>RS!0UCA1vFjHQP+vTDya2p9?bz|M64cj@UB3WGdV1$p8OxW@v;-CPCT?#HY&BuxaDk9*P29#30p-XZ0r=p8R?}?VOzf7I|0AT2B&Rrha$a_)7JI zHeAm}oIUFZrSq{j1hgP-1gmOuCSl^O(>?e20UpbVWu?8x4yx zn9;8p?T|11<`6~+X!gNKY0zkIELtgtVqrLbeJOuhN8(}BbE1cEgETjb6$3S6Jm>pUp2clL1nIEptn>K5J(PulH50r>qZ-cpi>K2h zfe~qIu{x1XhvREZz+1Q^8Tu=n9ctGaV9*4hdrDHEYSn!7EX(Y_bCEmyQ>m-o_daYS z(KF%D-78IT969IJeV-9y50Ar<016ho5`{+bBAg%CkB}Jf&@u%raGNl3bCKoR|MBtI{k|!R5&AA1!&qNYQ1AQOl56Z(-ZzG#)u*e z-5?PJ^4kd`$`A%S!CxtUDHmFhZV;`;3DXg6Bi^gVZXS)sz34X(TMz)vjVzIwmNR*% z^m*7!PNsYjQjiiV#4rO5aQex{vXatu0lM^xr;A0O-$?ZSEc`pW+cKNS@; zLyl?U;YOa~tpmHKX`+sF{5Md4$vbY>Q9TP{lVzJ4Sy>qVw> zA0jW-ie4HPf^sTU`TB(X2pJs+a1F|`Lkxb;K?%Nh!#^B$lG-SUG>xhoiCuk z&Pzy6WUig4FF||V%~u|V_v;?rH0;d5oZwa8Bh2^SlKFH1THyi)puCsCTA3Q9-) zZePMx3%sr8dm>X7_}+{DKHWh|aT>hpObT(w$ael$oprve5=L4thxHJa&#eAyp~SLK zpR^J+MYUZY%B2^XNu+I6(3!AW#3v2mu-ciix?V=;Ioq?W5%nMitHjog=euP*34I&U z#g9?@vxf?CL2BKGE968=5U0d^gbu!m=aGp{yX*lX#M_DKU%kw@=yrF-g#c^sdE2wU zwj&ieyDzpt+RneeSd;4tIowDceZtS3nVZu^_11dlHPS$f$z5_2`-3I5eVO!FbnSRr z*klT=b#q{oF;9@N$ygL`t$&wG^)nRKNYb8t)`6$nUddGrR}|)8LbA<(_5llOOfD?$ zG>3KfW$u2a?*FYdbyHnlDD`CY&H=XxLJlgWH9Q%`KF$L|z2ZTX_v4XPr@&5tUE%`X z-=~~LgCTg$M4Po;LXGOz0Y|$>@xoTjb09P2$f=ZL>P%jYzgM zZ?XlWUF>S!XlMF)g`n5I;y-+iCkSkPHHO}f~AP)L)a z+07M^^Q#xZd(0~eXSrnf`+d?IH@-o2Az8)NBr)&((slZk!pY%lDnDbhgzJv4LI^CI zK)+P%J-V``gZBrK8U3E{4V#O+dkM>q#}35BnTy9!;w#ieN5&7M;R^+OC=Gv54ilmI zpmTczW8$>So+mQ4J+BnhJ1+~vvu7@fn0CW5zz*CB$+KPduCUWC`=NvCtn+sJyQbyA zy^$MmW^|Vy4tc&;nw%C8o&~GpCK3sMR;{zB*zVbzZ+qG|Fpmzb(N3B3NzdD*{sYfg zk9<(-Z+kr#RnOz=MOZBao;ju*HT$Ak$@V?CichrIw{bOJt3x=h?Y?#ilz)Bg5^P*Q za$W9WnLgS@KaG1*7L&r?0d+cd7cR_qhU0#)0>4)Z==GOTegYTqONj@yeSnYS2-pfY z0t^A9uJ+>1F<2$2shjd4QVO;qSejf%MS!Y}FSJisvOzxtx@~>UIpCa6Z?@H%S_BaT$sDCK&}MCP5f_ zo}DN@9sNs--GlCAQ4u`e_ULjLVj1Aq&Ke_>Zjh7gLplf@#Vh*(lsR5+(q!87i@c~Z zk}iR0wtyz^__`m+;4vPqhZKgF&>DvR;sb%{y^&E4#M(bdhkt8?vpL}8x66x(h^_~n;#IOy*L&u;8#S6oV^u}bf)LtWS^rps z@N~=je?v<4LVp*vhZ#`Wo|3-~yB7%#5io+?^qE@~R}rb6iv?}SXb$-3=d8b>ngibZ zj=to9==W%s)*SF3##ut>)y7$h({G&K@X<5}EEpn!ZZrotQXS21%4iO_R+QsqX%1LA zOe{cSd)ij}=dnAj2QKJ4V8v$S184E8I8pVD0Bed6+Ka?AwTRzO87_Wrc>ax`KnZ#R z&LF$YWhDc~vd4n=uk^(*VEuS2_Q){j!|R3_&za7&hfyssI5#txn>PxCM9@v1KxBp_UX4m~9jB5{2i_{PhRmn_c z#s9J73n*F2(c270zy6QKs61KOrdK@LYo9z{4a9KPJGYdCa}fjAM;#NbZLgb4rg|Uw z8Keu)1ub_s53vFZja<&;PM#ATV{0oz(SiZ7Qvd%)muFDUpZUuH=z}ufwp1iD+bv&X z8davvrkz@O!`@(GF$A1mtK)!98Ajcn$cDa!Pi{u$sZJk-|NgY1RBr$S+f;lE?Gdn} ziFydp9LHRfuI)yVcuzN0)LonLOh3ZN9J}kq zfa67J$Qq<4oAq+^I@k?4B;4+~4?96Dr=mxrSML?*Zjl>(7{!Z?qEn+A&j4%=T!x0~ z=NPgK2XUA7t!?BOM8F3XWMtzh3)Cf|f#n!@jM&Tg^G}W)pWr=t>~Zo7FT>mLlpL%4 zM7^zc9vPp;gV-WPR_MGm9+cLdkK4Uur?T;Fu zzpVxE79{h7iBK+SqI;d~aw?RvgyKb=+tL+^DOu9-jLglewoFU%a8Ih#{I``wn*a6` z-Kd6AwoT{9_c9(B$b$Iyv%3WP62;@58mRS6a3T}sw>95+%2W!ASM+6PJ5`CLh-Vn4 zfYZRirH>5y#<;-nw?YfiJBihl#jyIGvQ|Dw(sG8Na}{BB0xZ^PEOGftJd3Q@A&<5_ z(Lu7$R#?`!!ksTz9k+7K1iLzAQbm_4%tu-Y zX!FH+IZLWyhtM0kmmS$!Hx_xS$OvbI)eocD2=R>8!W(iVBny$>5C*PTI{E zdvc-^VuwarD}=I5cH8qoY)dLRK6a?sTJc-LFhO8aOIf3&U|kedxFr?Ewj4ysK6X3O zC%@J41u{yjZx{(8rPD`GknZpvZ4@(=Y;8POld)`{{RkF0-+u0GCxxtydH$$e6=-EA+FoI6A;)hBj{z4B@OK7m$)oQGt(?c zm%xIw4OUps{_^Mb$WIe4=lKj$`=6%qtM8$o(+oNghg{J5-7>ZblxMl#EAG~6?u+9( z2b=x0WWM~u^i8qPvEU9eoU|eW&979wh7wB|d`(rWFO|c6LBJ87k^nkyg{g!uuyuP; z?oFf`ymfQe&$Z)uNK3-io*m&=`BEmxqNk5)Dt%l5^i)|ZHX{rN^mG>U6|BZj!|Z_$ z+9RiuU-jL=Dj66nK%xEXwf~b${QcVhcE*3F_G`kNPQOz71rIR!muSC`Nsa$I;&(u| zT#XG<=RBQ8^M-%jTQ2qvG?FVwjL?h4^jZlG3Z%NllAt(6yB-~D;o!7Eb0HVig54Ld zk~3#hZ&Yt+1Zi!sGmEXl6VOlA^D!QFhJ+5uK#n(s_N@3vd%2!)fON1t5#&sUvH{H%5 zHgTthtW^x_#!+Mnl=nM-+4G7Mlll|Eywn~A_*4WEb{<-Xis7({x zup-D9-1>noZHGLwHBx|nZmXhFl19cee_}>tylp*^AtPgt5TbV8QEZUMmY6)i>xw=Z?hRTLXANPrhtNjd}(ls|bywjot}Tzm)EFnQ2a3k0DKAdQYB=ahwtS zVrJi8mymp%=S5lbSy64^KKK0qVhad>%n6g&0^Ee*1tEuh; zZYQOkxI;jcgaVl)l=PBltefc9BnmtCDH4Tx-YhZZo=C%j-MdH-s!kH1_}!^#0_P*N=ySg%dHFrH(e0gf74yvh)w+7Q0DtxWebcQlD-()C@ zU(Gm5h5|LwWGF)egLCx)&pW^j+87#qSI^gZY~>{ZdK%Cj**YI9Nm9wn5R66sI)3&1 zAjB+LLcuECJnL4u83#~&?U~1Pn3mU;KkmK^L9n02-}(Ga44XaCPJnBu)+abbRr2B? zf#2-Yfn`Gif3j5v!ZK=1?&<7}n{WYI)`Je2|W4 zeZ#5q)fyXu6FOM9Y_2hJSQTT0$4Hevg!H(p-7$cu3$}|F9Lk-cBB@dF@jSW z<&y^@0R_TKgdqF1!1GsjyqBqIBEOVGA4NNnya;|8iIS)Icm$INXD2o9l%y;!}rO7@P&B!G`(5BXjaj+yQ1XGGcY zl@evgb>59OwWv-B7iBSh!dbKwGiOVg{G~!sUiX#|pFN@|<|QeI#{rjvcQp*N{=kM4 zDZpBP=QDg@fmp=dyE->mzFDgKToKGS^bbfedHz4z-UK|#>TLL*WD*Dvn4q9hQAbT{ zY^aT5b;6*|kO_H428l%l>q6WRzgo*O!y>2&lSn3yQ|Vi)c9mA!T3h>S^;MA8CTs~H zi&87@Xswdy&NEv8_51$c$90i8&)L`e+~-~$64X274cnKLNuJ-3C!9FJ z(Rek2PP-Rpx`P|sdEoxV=SOrmB8dfB$mtE?q(aZm>yMdsXQ2khrg)yZOL%>nGu~gz z)1*f5Av|huHFT6Tt2)`RUs%ze(8{nqq0Dk)+PM~H!+2=u3(A4`c!}PerjF_6PvkGN zv*2(U^k}knXR5P@I7_RN4V-h1C(Ka4dX_QgZSLIkN_E@8>DbjYZZRX^8KORS#NYos~`Mwol;Fh3ykWB?;m*xgWgBR_g@^VkW1D3mjdS1h=OR7AtN&b40qR}Vv*tRQ1oVzwubS{8V@Nqp$Lw?KbjcA&0 zA>`*wA1E%2U!8gdbL-6Ei>g+0#ARy#0NY#7;dCs5WOTyTHs8l^g{feve<60jR;uGb zPhpD6aaf>^zFOOig)s?07cnZGG~qRp4m4^K$Kd#aMtnAE1>)3zwZ@gWZV2;SefQIt zIRTD12g5!#a49=Ghn9Zm%q;2Pg*9i72=3q*OG%xr)5m~W1tyCBSnf98d{lb@~{LuQupcKWSUu z=@}-x+9wa*?I~<(ASCdhrhp;G79A9}iz<-am8OMsEv}NERe#?5DdG?HzA$xETlTne z319&KS=C00aaq8<<&=ai=$ILnkkcu~2r!p3jlbN<6+w+6soLVfuC>r3$8pXV z%1I1!BxEeLY?Yur*=J}%?D_xA#u{nNaqD1dVF=tkRmvHHvd|E0y1k+{cD2C?-?~+1 zM9B;trs#s)NsPN|-eSAmFpA-@DPGwWpo| z;kPD)-SGxbJ;0a^fMd&vfPsQK$;thynb{(X5llliS${_YW69yShXX~@4jmq$?_vOa zp;S6uo-uoHN@AQWjCYv0=4nXvfFusfA=@w~$k~E9kV>3Jpd2D6RJ<+gi@!nkgO^RF zee9WYTh7$U13ak32{dmR(0Uy`yUFs8EBCbiMiTWFstbx^HC`NEXn7}8jh%<}Ah+HA z1R1QVZmX(&iGenviXsoN6c@fb4B-$Jp`dxEu{1jkflPA^bztFLx7mrvC#lLB8th$>^(?;5CzQ zkzj(?20ZZ?$;Y=0sXc4 zk_J(HbkGn!H}#f9YRGZu-U=4pb3GLr1GXQ|Wfd860M#4=8~v9FY}_TV@sqIs6T#4& zYuFMeH&LDt0_rX_-pZf1PI*pddYddI_|$8!aTV^BnSflPZ@rBo(jtd(iPV<4)a9_| zt%RPbuAcRv4P1ha-xbx6Ywhl*<)JxxrDyDVFy?F1T;l2Mny6rF$qSBC-;^}{Gn*(jOU(`Tc0mK7o zi^n;zB|V({nKzu@vnWPEIP30xxKEWwW{z>n3Iy z&OT@vGSy`}p0k}H>ekb5S%TX160ovn+r7sC5TDz;HHm`0H zNiuyq|DQF9`rdMB2+mLd&d>*X|0A6}hl?@q(lNi zl#%kV_}^VbLuI%@ZV2aQ2*}O<|7VTXVvy-zSf(2SE09Yrixp%z3_164Qm!fGUdE`i zC_zp-a&YfFm6zD(zOGhlzaU-wZk|2si^>Po9bZy@_slOUKShnplu!G`)4rp9=3@WQ zD7-;JL*d5kJyEThfB`j!&VLu5VL&hE=PZqdiY)z7rX}6;BRMN+uITMT zv>oH)u?yP~&#m0qx08A7@jgQe-f@aR!FOhm`w7j>;>4PS$)wQQ5+P@&)#Y?&!H}n0|9^=5NWIllVI# zc1_53%ffoCDOT;%)=Limmhr)Gg_gMN!0zS@m zm%7B-&c#JF5JY{at5P=eF=^1X1RdIcp;Ry z27M#Qrq_BB_`F<4zqOu3i{7%(``oBWv>NpYTP~AP9iq?xjRk1yMLFVh@`!E(@>)gz zh2bD3#Ij4fBW{!*B%{`R@V1-!Qkw)zew0}-STafv;JW4JRvmsbBcKQZ+nSZwt@bEl z&^joDP|3rby^$jgtZ5zkQr)0dzAO6y1{WKAR4;$M{?9$})to(8G9aJ}xa~HmCFC*} z>rqk@n4pUKQ)j`4*+WFMl7C>g8``Ao+d;)^MWly_=ZSN5>w_Ii;aU7~k4 z3OaUCx9&P>1`L~C$k70dk@SgGIIXIha z(;7Oh&#yQ(%pDIX6?TK#v4mp!EPJdx?~UrHn^wz_))eQS;4>wxNhmRMjHV4~+Nt{B zLpd&Q2eB^NS`PNybn9un^akkAH+bmva?qP@t>T?0vNlb(R`SeC5enJg9~o>$DbeLk z3wpmqw1HMT{(w{<0v2V?_gffZ2##JI8@NJSPY}E7+Eb~??RuCECzPB}+jSKq<$dFm z1LS?$ylez6ZiGW`Z$pYpL&?9(msY0qs>gG}zt0H^Pv2C3OeW-!(6uoyufd@IKhbYm zo&R#j*Y<|1Uf1%I_852Ae;_)Pd!$7D{YHT|o7GeNk~#KbC~>`ag8d(Dx7JkL@eZu6 zr}l>IcY~ep^^3oIe!Tbm*i|?XhKnMA*$?JB3wVEbMF-Pl$~?%-=+t(j(2_c`ePElT z+k!P@c9gGul{gX<%h8&>vUU5Qy|7r~pL-WRBI+3AsB3-O(<0(z_8wj|H(6CshJ`PU zeh$2=NEuRCOd9VQ&*JmQr6r!5T%Ndy9xgAZFY14$OE>lkbUgx%LfIEQ2?AyED>l`* zMYL${;F1D1%&C@tZW&G@nHSlggVk@OcvrnstX>xr2^IjzCUu!4iuc;Y+%ip$o6H+g z?ywRWyLjP!Kw1NSZjoP+a{UvVG@QIcZ$RQ(5~u4i-RC_6zDcvo+Plc9Td6`WVJ7mqVv4SWGv z2B+TQzIi?Ms%8&!%;p^e7Z$ui{$y-6Y!qZz@ zrh#uE$Qt8FyLUz=0GWat=oo{-0aMQb)`mH#G}roh)0o-kE&s}BMS^Q0IXD3(WZ_gV zIe4lLS?rpI@&tnR4HYSX{7R`ikB64yDrvmUABtLH(0o4Px`hAi@%i!C*>^AS(^T9Cro1%&sg< zx9&FBfAKv!gvqXC@wFz%0E>Mlh$3#VK^N%?PSL;d&PHWN4)m^#KdQeq+w>s!wK@CB z_^)kH_W&)Kl|$HylRE+WXC^(p_q?n@@A73dqyBcC%!I~I5LQ6zHrh`eL#l{P9lRHF z}czZJ38=;c^W9@E<$yVgSHmdkQhg*|Bu;>Mim*~cW? zB?`NUbBF9+**`X*dCaj5b-XCg&e_Gy3rZ#jFRhCXXkJh{?fX%0>=^dqS+8P%`Bl5N z5FkAFc^t9G?|Qq7)AwuHrf55Xyq2Vv%f2_f@8F;_LFM-Qj0cNLmQvtB$?&j)XgM+;J)okUK*QlMX&j+1r2dEXY z-&zZLZhshEn7ooZWOYhdu3iYGlPUe=2%bt`+E27X22Z4TAIHmMAeY*vsD$7l8^?$Jb)G ze08CJ&#aZn`p=Ouzq@1fs#sxaq&#>T9otbZ)~5hrOHc_BN$7JzIxNv5qq5|2h{Dpr z5BO*o(Tpj5P3Pvom?Soq|LapWR|dYw(aD}0x!Y!C(w#kG87n3o5j5hPe7&)Oy&Z@R z#rKxa+Qpxk7)cq!X)7{&MwP!?in7_|Wsf4uabo-Up=}cj+Q%Q!HgQ<{_#@jU7TV*7 zAwG*opv1)T_VGuzO?1o2(t;HFZq)nI%B+HEoHc1QP;|X|K8Vp{zUAg@x_#I#F`6;F z`6XHF4eFCx-q)kpUK57}mz9!(v{rVsSww%_%%kKyIz5k->WQf$g)*@aXC_?~F?L8O z_@_+4IV}QK_r~XyxWp#a26g;*B!Y`(gW5!sERL+f_oztj()emi29%jsyROj~EFK)c zzEP|dPgkY;`>sO%I#jA1SgShxI#sImne?pP-TfjC@e%@<)#@_EGT2jb{_rX8|Bkck zhvBsdLk5Z363?PvGR$Z62~Q5+v{@e$FgZ2(-x`59Kkjdc-D=m5NZ>lGz8YyryZ$U3 zhaq4958JLElc*hG*9Q`{Ub{Y&sI9Q;;cZvi^^rvFNZ>&oQ%Og{D%xo=Amw zAFDrsT2d&N4WFIO_3GQY>HfBxJgMaxzVx+mJU!UH%aH5V21gYL#44Uo4f)V&qd==4 z>e`~E0<8wmdT|B&4W+PoM^oa|EmA_DnmufbY7MYo&Vmz?Ms^KI*$B8&|1;{--oWnH zHIzBFgAylm;!&ThRClojS(-ErO3#1R7=?x&5Luk9Ys|1Q;UcG3;Q3(>Av;_NTHL0! z%4pH2c2?s^{Xz}Vrl{?F$cCMwZe|=XybKh$nvW_Su2dV(W7D?@nM)G52|E0lHYIoV<)ex9av2!b^M zf0ZJU8Q^`w-welON`^LER#;zu_}JzX3^4lW>t`5`VIQ#8xLSv~`w> zTZuKPh=1yxeWB-psZ(YL*yTgnvYaTYqGE2&alx8vXvi#g z-g-Bv{jK!mu=i25dh0*w{ooYOD<4oR4^C%>bLFCEvU&&6ZM*PkS(_ei z&UmpWt)BllJs-`t8076#&(qh895kB|i33MGS3NbhI=_w%Ettm^gIw#G_+f!QH{aK=dTM4UJk?wJHkz^+l`< z9w_7EYam&C=X3JipU^crBqWrH<%x;j#6)!UCsrmVRwpLHW18qg z>?koY#2&NMVnA%$R7`3ddUIr9XWG{I5XPQ8PkqxX)%*IzeyH~)3VxkFwW9$uiuyd} zymjQLSjxVX0bjcy(8}EG5%QXTlluQ`0{#aTarf4s2Ab_@z%$6D6G0{4h56BlI~>_fCP%)HSYKMqeo4v!7G6@)Z1Vv9YV<5$nQ8P<*LKB_-WBugmz zJ>>MG7ZLPCPi1%FLPwOv;|t0G?pgrNVGjA!usHztUrXXG6)w-6_Y$(dgD_EX?RpK( zw+Ms9!$DRY&0z%<$;Tuo~ z?0V^Q_g}7%%$4fF(ITd>3fxhD9wRT7+KLoo%e+A5)24H`-@!x7xjB5QbG8Hced_B3 za{+&YzUH(0Pu>?0C;fJv|VH2yAFdY#X*0T&-z?lVTc!fUVkT(N}e zSu7X1{|!%E-U=ufem%ab5Y<||Ew;WLJH`LT>`QUem>VgUPo>pkILT5C1kj9+px-j} z5{Fq7-8H=WRs^SY6jYmWa_(6`LHP>mG0#slDYuI$x_R? z#Syd7;RJ1gU_XPFgZ`eczx8sG^Hjc^)m$d!5#y1%{v?kY-Y&Th$lUd-RG02duTK^> zbQvWJCIcE+BR{S*2@L8T7tL2Wp=avn6leW39oVQ&;#W>+SFKlS1n7Jvn6cv`*_+h! zrVeaWFY#;Y(U)BsczqBZX?6Zv2#Nr&ora)z7EC%#;U1zM(4{x2pPSO#x@rTu7j`Xv zjvFL6>iKE1{HVHO>Sk>9+S)7emh>{jqK-5?fmUP(t2JNw3;43l?=6vPfG6_=$E?$i zYx7vM+ewF4sm;=b?D^Go{?D}x`!5kjbL`hmhe0UfuMkUKoPA!t0lP(-P0MjF?S>nb z=GfZ7fMcx=2dHc_Uwcc1G?eqK$ zAX5}iJSKg)9j`-NZpq@0$|bU1F261l1pO@jg$a7UvW>cTC(;}oBP6XHDd~0Vr32eU z1`ENzUsNz^_#_syW9PQQR)!=)gMrAHwNsNDaesmt`9+1vZ46 zL(FnRP|On=GxlLSU>4;f7DY3ax0n$^M|9Z8=sSq@Nv+%fCD916<&i}Vi#**|kraZ@ zo$c!_yf%bPHN_4DEI26vth0!$Mj+jHEE9v{bB~m;!+OfeZY;bRb9orGla0rer{(81 zWkk5XY?^ujuA!PI^b~noFXc;jB;=b>?P;y&Gi?H{Q6|%pncBhxf`F935*8-9Ts{r# zJ^4i~;-Asmc%_SE0Frbtg%BBu2;k&dt|cNxtbMG2F$4#4CCx6Wc%XDZGuL%TzhZl-OEW_gSsY>S%U(%w!N?CJV}63Yt7TvN zdj1NBEAOC*>}-zqgW($Kw_o#Wfo)lyn%0$)M@{aXGDH3DM;ztD-~{%BDe9=m;nS1J zCYn&!=2wwhf3+HypV+5;OMU&|^fb=F?h<+NZ>DjMw7j_1BhPyt8sdOP2fadA!a5JX z!LkeNv$~sZLlDccbS7KMh}j+qK^X`p9NOd34BBMzWgY>TZmyY1atfy#3V26 zluJ7TH`p#5C5|5^88|VHXa;IymEpvQid@XDujYR4d^f6pilkEhdZy=-DUtbnB0ZmJ z9#@{-yQTC;eG-=0$>n2}pjdks25S$&$;!4b{HAxLsCmB}T<YT4q?+>%} znm0l&$8bMP4dZ3XuUptAz?@am<}SoPVS+EHvrrB$hlpAM5mhg> z5GFU#d2uGyGn4y8(*SbE*Qoks`k@o^_OsYE{L8-tj>`Ma(C@SFQY|I&QuBN-o(f&F zjs@vx0OW(j41fA%;i(JtY4>Ir>V}y+lXrj&qrq@=4K1%*z5YJ$OOe#jZzsqVJ>Bn` zj^_5WL0u)qbwA>_cp*gxy$cbagF=DS*oAg!M;(5H#hhO-5gZvxjIHdMz_!Tcukr2* zH!h=tUaP88`VKYXSUNj6-B}p`Fx#bq(rNqVfR!v7y1Yz=lo;2j9;>GV;%jajY+}LI zh<8q!p6uj>9HOmiAicNz3rd8|JVDipRPQRL~yG54j6b*PoNTT6C` zvq&UG-h*iq?{LSrAE4cfgRou~Zzl?2$*OKo%d3*Q4||26+QjX(+!(UkYxhrEDU1Z# zf8Y+Z-GnJ;3i4{EBjoNRU@^f>3|alxsrn$^Ss}NRYT=8~$mB2>9nF?_Sp2)nb>7c7_O+nt)%rJlJ#KiW8W&Op9dsUw`^58!8EtT2G}`qs;M z8`zPGNPHi*8J`@)N4+%K&|Y5x|00kK?%_)W+jDv~Kzd~*e=q>oG%`9@pdB&bKofp! z7T--3^bMka@iOTW7hI+nwM<~3r8mYSmq(1=kXCoT zx3k*n3Al2+P~fA6v14#J}M92q9q4qMu+_jhCnN)qe>j$lZL$JNB{< zTT=va1ivUQQJuWY>wq3D+D4*e%n48?BpndB*uCWvdMvAXPa7Ph;!O43w)N_)T3dB?!r*dq7>=DWt>w)E?rl~ zMl|7_Aa+#Kt%a^wS<|iVrr5ytx}x0-K6FZ_cpY{tsNA^K&_mm#lKadE{y;VMg#iOk zBi(!T)Ism}EV@ThE)8&OyL#8lgX%I7Aw^2p3`W3uHUINR6Xqe-GWTru6jh?{ba7vDI(oRNe%D`K;Wt$VVP2mYiIafePWbdV8UbO&!Lci5TX6 z&9nG4vcZg|z=_heHNmP?0xiVQS_jiW&o2%pN4njA(r}VpE$|U5A&N|)ptf8CNVJ|{ z%d+ADR$RSto!rG{FKOo1DUzh&`oc5i06A{H(vhcBI1p2p{u}hNwkt3Y${waRnvs2} zK{^}Wk$_1Kf9El2abl6GS*uyp+2Sk2;O~V~uXa$GbdK6gxw}HFuD+bs7|A|GrR!8aOMlP@c`ow9JjxM4tu)|@`uSQ) zS0FxvLvrVjE0?>!?XokuNFOBu;N8KG{L6Hk_RbX#ipfaDd^y=Z+SP}U$FvQiN>n8i z%n96#q0997yTDn8CySZj?{d1v9PMenlX}ya+W%o!{(_nOYzL$-dYjM}`cSD)!kPnU zKhm9zeebomSRa81r%Ru3$L*3m7vFiLr{y80sCT2MWi9h5zoPUO-wE$vkdBBBiSI1* zv@9Z5&ux@*nu&iF@+`WUZ_R={>t!+EkGd^`OxFEJ_8j(IAhP^Q&*tz)mzm{m;#1vw zqP#i`>W5rKM7xK4fFM zLGO3*=|Z_&7}nFAVv=1)45dhBEV`24!;#RZT=)B@eD%PBAa|r z%;+-~D|vfabhy01?jI?m*TyF{s|(Z1ks1#em?4nrsSiOE9YkEeRa+>Ypj(kwLoo7)N4Ke3(Trdbv>67*K-kn>}@?4NLbJ>!ski2#)Qw5u+Z6v|GI=vGT~#* zk68R{yXs20pXH(1Rt~z+yjq^3xoUt}`h!Ck{QdKcA)aP+=h7Vw-SA@o$6?YNsaxG} z`111FP^pDX`=RR>lw55%e0qbV|MBqY0ZD)Nxx@Bf-|3?c+kYesAI>kFM<+@q_32)m zpCxzxG%UE`@aX~#Red&H@JUT3kjuKnp%us^$PF-{;f*4tlvggoMce4%Yr098 zK~PqZ1i>z_#w#EI(eE-;8nlcow%6TV@lVTUeaN5aV0~Rl->QL>!1}8-QYjI&#~4`F zAcsz`dfj^(&ywyR`)xVblC6vo&|w#ss3jNYofX?@QSEz0{ME(8-t7xI$;A5&QNXiU zECtcmM*3=@>L{yfbPD1ll2Z%IFQ^LBqWn!5f!*OE}(97^&JE`_S{$O8+Ws zOn3DxApbKyiuyOrIe|frvBw?=*@f}7(2`e{_*cb>L*yLf|8Ukj+_qozENJfGyx&+IjTdCJSq!(>p=M#CPCFq&xc~8R=Kfj$TS} zIIJuAIi<_p;amV!TjD$9$cTMoy^D+&3ilKGdVr_+5AyGdoojFKZ-wwlmAXgqj&j*y z1Kh~vclp=P`UsCB$H*pWR4M)Fk?ry(p`O12Dnsor+FL0q6CbiWusps@bfY>CXJ6CT2 z2B2Y2?-^3jFZ3h@n?Bv;X?a72IQk6}0MnSU@K|OAgy2v5Tp1O>((XXp{4-M}=~y}R zO%!Brnj@@fO&e8*;x00iWO`-?H7Gxj zX)iGt!3=m>jw0lMAg}{*_8^T$lEvXiaDb=fZyHpPSE{s_g$SeQOb-I5dU!^Bh-aS9 zvq-3s0yoUYKw%bW^xA_V68U*kl)hKaM}@b~^G2({Gqt0UMf$q}PM?q6uQ zEiVN*a#bm=lALvS`nw9nPp3!seJkCgAL@{4U-pl)q303}>HNE905@i`PbIV@1v6f@ z?sqcLmPFg1Ws3Xw#@ohm&iFI=ye41jpLQ3Rj$EXZbErmwt56n?h<*y5vo?7^9V|vS@lNms?L9v zg4@gxm{BboOM0z(wU;nm<{$E0(q+~Y>Rl6GTNIA3;Xhi(pY`|L@gBIDMyO>0vi$l( z*@Kx-t-jOsMSHDU{fcYS>;=se3to($PJP7S{UUO$L8+uCqeO)KCkzP;h zkveW3@2mlYWS=Z$N?>n8?gyMB@1wgAu`50d+oct%@h_qVB2H zmqElzl^XLa#mkrz7m!6dC5HHAvHPyqM_Pc=Fkgbpq!a4bkD2wlUrKAx`nc)uNiwMo z5*1L_acv`)4Y3a!HfiRkW2E**EAhAcq%i))9IG$9*p0gP1W^{*sP>^Ah7cd4>I&K0 z(Fc5!9JqW@6}s`**O>{Qo*JeiJu4vCIOC+aSdvgT^Rmt#oHI7Z97=P>!QC?YV%V7b zFe(!A&A%e*QMIt5g5u$)rwm+9y-fx_J*|a;*vQ%Sk%V!D7xsS;1ei5 z4*i$pJCA(m<(DJsF|e*?o_8VEKrlLGmv+X-#0z3a)%oU)ik8yvQPF<<>aUw|hNzi2s5K7#NsbZC34_HxD2MJhgnhJ@N!` z&KL;!Zau@(x)rQhy$vk#|3NC$AG2#2uQp{KZ7VytsamP zRC5+a2-3N9RkH?(O6DHVor2=Z;>s+H?A9%|bPy+nJS}pLOoL{3(ZUjGAp{e<(m2c3 zTh6OaqQcar!ADPbwxM%557|s^VSX@UTdbt9=%UI82n?498P+?}Ny~Q99@5-lz8<1& z^)vG&D8yX^Lp8USN0DHZu^k8bDm&73v~MQGlN7g(riXn-y^xlqaHATcdq8l8auei< zEZ{}Z>ktS@6JZ&L*JQ5K#T*@+8R~34W%38xYw=Uj!sEe!riqnOrcqr5QGoGC-LHJz z0RBex93dTv&X5V-sTWNxODA~MBLsuJYvfu8`G0_ohBr9|n6goKn>-toO~6oI=wbdv zk%KQJ%h)ois*^!vQG%RwWORn)C-%W7yz2dqyu$hEN!e{`Lw=Ur`thxvpO{}BeC3B< zly2~$@8xI7sXr<3ON~ElIx;w?=O^}Qzfs+?A$vz&I+-gnS5gUUqhWDn{g&2HLLko@ zu{Wbk>DWKwW!Ec)_l)0JPpC7iYt>gUOWGA=E2HP1ECw_mLKiB>=z>QT^M(*m^-JC% ztTt;XcZ1k{;53QN1bC=ID_V;?8Y$aHpkPuZ z|GgrOd{W}*)bVof!5ROfU{_aEG(-w6*J(fPgWqu0jwAM0s- zmL#h3O5yh4O{1Pq&ME-W4E>Xp@ixu>zAIYdd3r~G`Lg2k5sV(*`h4sdK}G+Ik{Rty zRLfeLiIDA3t$vB9Nsl0~w$ak8R<^`wnwxAr$vr8P`{$Atay~6p- zdrjo~MG`suU%w(!=Xy;?a6Je-Z`!-xxrf#tkdPP@*14V{m-}{ZPkoa8lRmo>wGi7D(qWXd)!!RjdD?wvs9}WRhz2bxxsHcae_OobQ}Y z-XG`Xo=(T~^_6{{P34}|YBgv4L1#4!Gf|ki>gj{-qdsT(hXL^;Gs3|3lQ=w+Qr}IeS+b87QfBk5EQT|zZ}n-LjDgDlV*4p$w{ceEul_s(FA!^ z`5Qc~j}uepUn7K-B|7nmilzGZuN4pSyS6qeE-0!!i`w~$?=PBDw6-=@fLrMM_!g*R z>|i$UYvOy>^;QzQc7&|t>^XlcB7-CHAXx1t_1=RlaJ&mOgtcW>@5UJFq*gM1580aV z5mN!>4MP+AAfoH|-#PK6+4z)hJuH{wKe2Bz%<@au-X#zZdyK}wZS3D>Sj>H@gm|SQb4UhYJ zqs5^b-|Uf$E#3i%V$-aYsfh|oG#t(fWk(X%`nZ6~^dnBD9~3}lpC^y(vwX~qd&kHt zbA5;!r?#XsSp6MVE`yL)IMCJ^S8~D4&&VRBN5^laWLR5!6aT+2BuaZT3QuKfKl@Uz z9IuQXtxF>={pcdBMy*4DYE2G!Pxm1!Gc7`OP!jmpH2-=r5-I~oU1cRNLq~;sqL0Ko zJ@HEBbdU6mr3Y!M>X>LLpnf2?M913hdIr7LQEci`%fW1C9ptN`~o31ipV2AY=TI>ISb(I zDkGmf9*bPBWGpM?+m6ciUu51tlE;X~H8M6^WT~gv`_+s3ol;zVHq9rG|0zFC+q=JQ zIwa1{&Q>?5pGjd`bi>6$3nQ+Czhz%kfn|o-!>#0C-G6)7b283bKHuLf zbkS~gfRGdstcd>9jd~vRM5J}?mvBHSn-E^plkRZust|}q@4DEB$YJ=`Ti15ZJ|>bZ zDz{fwb=uuz5%*N-EOzOM!98rhF3-9U9^}0^S`Sm;NXxDLNtFdPP#|{Ju15>#ELLgu znf6V$U)DO=!_|FE0Cu;RA!_MT)0P_O8ke1AGZ7v{CHrG$4F9S1C3fuy`7O0;z4BXz zQmp)$M+Uu0$^4RGRJez!l0Tca9283aSCY(t2h@2mtR6# zb;)4rX(J4buxN0t9|@+KxSB;9X@M8APW|E9ZO#1n^c0hOsssJ;32vs@g> z*;vqWu2x4JKrps78=wYJ*u}89oB(ixQGxT z3Y+&y$yxuL7VIjzKw1`uJ@KvvD`{ImDm%DWrf;tuJRrXZ#GNk+^7wHx^IKvEi==;^ z)*$Dv7i)1{C~S9@D!N+nv@F7Ux z3}%8t;Mwcd$pxCBC`=6j?w%HlQ2g&ge?XMiFCPmq{eyv&;q_(%sZ)zN8el&@^>0_^ zW$>~Do1S@Asz$9XdGB@tCYN0(`S0E0L{zFQS?;UBJ-{Sf_uPDivWdcBkwB~*#plA795JdW~x4hPf5&YwL|EWxAEiOF}i5JEaQpN}ZNh%KrOyCPz9^slI=dgB<$QH3VfITbHq~ z4FECf;GD?pzYGks>tnR^*`_%e_a%Ae$c4QvTr1!N2bN7qp zy;}Xum%mqyy^Q#NJPK`_<@ka776J*$;@9uyK;n5DEQ0+SOcZ#Yx(E?*9!Ap=K-2;1 zGhXUe!ku|S0}BB~UY=LWoBna@`)q$E?q$oZ*^3&%4p=vKG~IKbka`24C0>3*y~D5U zGFY%B%hQG?zs!ri!}Oa8B3uS zfT!gt9Vms3O%@(bXT^66j*j5Kd0PLhPuWFN%v<33vw6t;+(dDn1q=VXM2YA=FM?>W zdGGhmym4|2rpNHHKVhzPmTKe}dajpJf&t5mc!suE%9ExcIlrfM-Mo|Qfc;y0g2~|a zF;nLb3$+cj+$hVC5fX%COTCPqi7BqDeC;f%6fe>eS8a!Icj? zSeeKrTEXP}0$539x84}OR;W-4>q?Y$8-tKJZVlAgtAg?Eo?vIHNT&vq z7H-l5=Xjpng7wy5eD6TdSV#+{XNRv{i7TPDyGws96}d4dOC71Fk*m-RrhbG7Y6nU5 z^6rYI`d6mRE1kcDp2c^J^0X|FW!X{WX_=@4ylRDGjF>?5hUOiAMvExwWwBbnMt+|* z8RYp1d~~U&TIv}r^(=3pa-f#JUgCJtqP-pZ!AY7~iO;S-JP}7+j(2jorv{*8bQmr&qP^mdD$849%{K9uZ%z0cH$nl@PFy z>JbQqb*hmuZHLvXj`|1yR zzw}fK$u&!d#6{=;ZSzH_j&|Zt#A*M3Ti-H8dl_fXe;a#9my13Jb!4={*@Sd-4=GEH?!)HvRhP)~%I>QuQLeZRwdJd@w zXQEz*%jg(rs#eFqPG>=7;ctVpoJEM6R}1jy`#Lr-Iv1Y8_Zwp%kMXN4Idap{HTxqI zmIt8ti|=js=m$m<-UdXS;j}zA7g`UL@u< z;^3sD1Tq-GVd;ohYdYe1vEMSBlU^A6U$Q|e1;U)cSxQ}QXSQH5TQD}%{*gSZ+w~^2 zw!W1rg3hS-L#29P1{bjMN_D?@jjdb+c6m1;G--|Wi8S09@0 z`0(h1)~U}t9**u9)P!f5&t%cjc<5}H0lu0`m-XfZxii_;->tPlhdYc5g@hT#PPI;&N&2ARaQZ*H^}txEXsSHBO9fCy{JFjQ|d}V z#`qM<#DJPVZlMR!s*r7W6NuRH4(X8)O*W_r+-`K_iF7LoojGW~Fu`6;y5;_{lmR}e zQ%uhGbk0$|TF3HwRs+-ilvpm8#Mi`FL(uN2>aO|#lj380I(H0Mjzp#l8LiG8?u!23 z=w?!-1EKb!!r=2NxVxhuc0D>B;@nOM(Ed^f8(r=+@FQqJA?jxo<(8m>iGku^h)+T zMhFh*S?j+s?@PSQ%a5Z zsWJ(Hx+NCNZb~ecHWQ2g%3q@NVk8#pX-+KGno_{h3}J z4n|_@0APjvLpF0ZPhNSexl{V9xIEI;^i7xEs{hVb(KlVXuI@T~x(r4g*^mJtW`2Q} zSz3n%xCuSnTZA>4JudwX?S~7<*6mzQvV7=HUFdvlmk|U_!7UR0woXVEfA%$5DmRN3 z*C9xJ6)99ZCe1b7U)is>*75F z2zrTjb;Y+(n(Vz>-)-&^Su3ma19$Vgyj)JS{43;8i6s}kg9HYbsbSKCE)9XC0!@95 zOFsD*MKEf!TGO8_30>GqIKUE`7Bp9ZNom%VGevo_AQAgjUQia~AVCNmZyG{8qjbT9 ztk#ajM(y;k@w6Vn{Uj9f`=l5&-{9W_kWR4I2(le0l0;xg6gNGR`|V;P z(g`Bpbi>Zx-az{<%l>f_Rl{Jb4vbzCwc;xTe|AUDH-RF|+HsNSHvH>nmtaw-=ciIt zVp4;ZT%_^)L@lgM?Da#X#sn_{;`1bfkn_Zf4#+(n)K1?DxxJ(>Q*=5n0usXh7fh|S z*+N$HN_j$>yWJ^ML9!m3NWsd$ex5V~8$?22^e3^K1TP9$GPFApUS}|Pho`s3&vIsv z>G2J4#%D6EmFdz$GIq}sygG#WAX8hlGF-JrCYTY*=zd1tNaA}r88T~7X%$Py$=ncX z|18s8=0Mg%ExZ$T$u+Sf>)H=wYnOU!8zCP_wMlt&+moit6}toXRWe)OkiMC**&6a* zpF6x#NwsUI)3StWY8z)4Nre%6rm$hs@Us61AOf{1eBla~DOFZ!uU+B@exr@Y1 z!K;$-_Pw!LXX2P;GasRrQ*pp4ML^hjW4+H+WS{fg`~GOf$T_7jI&}0~DWS$)Cpw27 zQ7H@PJ&7+4`u`33Z}gCVCv9Iic#=I?q!@1=B+Kc^nGK&LuZ4 z1h$SsSPySc3noTh%+*>c1P$-BxbO7XQPbk{3a^NHG#Au#;a+Y#D`{`nUFET+e)oag zpSJXRDs&`sbZWj8EpvvOnW72q_k@-gj(=9-x$~c_TWY8&R!K3u4n4+kvR6RCacSEb zO|$fV`Z=-bL*suTR*K(6#GzLA#EEa$K*#D`Z*AQXcK^fjzZlhJZXhl3M*+(I6>^g2 zoSD9m{>C+GCH^Q7Kk-L>vttw*9=V#Q6Eqr`&}9rj1BM0d18Ja@fmyb#E4QVyo_Gg; zpV3Ftj%(Z^Ijk*Y+(HFpWtJd>Cp$}EAW&Uraj(tp9TZ6QP7K;*p7rtlz0r}TafZ2d zJE$xu+4ccKa)LqJZPkp|TMnLn!2??VQ1^v;^`L0E-~s7eZWm_{4q~f4438qGzA*oEoVo^}byV2(%XCSx-WYHqG+ZiH?w-BezqDgVJ;srlnB<^b~# zNn0a57jYh)Fz>f_@{6q!DhobiAuqZBD%wlw?{F^;3 z!WI{68*RD}x0<1I3eh9L++dX-@5fgJT6QDw!8+M-!I}JV>0XSLHhr^g=}hnNb&qR? zPsx>}xC1KZ-#WoG~EcyEEHWwcXDcLmfWi|?l2d)c_2Qt3DPw~`sE z)93s(xY#kUQ3MfV5gp%m=ZLr}KHtSLQ(}e28T+hw=0%z@%car9WL*Ij@$@oti4j-J zPD^9jQjfY1j)=XNh8n@3Bu4(F(NBf|*cGRAByMvOpD7BsnlLi?Em?)HGE)2V9&i4{ zARVJy(TJ_HmZ|w74jhPUlr`rxx!D>VBUdxXzjMHzl_(~FeSpasbLhOpakG529*yel z(K^*m(=Z^?7{^VP-6XRhQ$HxaOz^FuXexDyWv`G8a!~KC-=TXqwkg}Y)1BS{v@*S0 zB-zpf<6I?^&!3SDHW z#D}f1L&z}#$o4r*{`mZb*bP}ruZ?r>VY=pRvJN@s?+X74t3#W=Dy~~GJ2vkNyT+DC|0DK#Hezbf7;m&_%z)SctGBbg z00p8C+6x#!YB2GG#|+@c?OoOGmU#3XE&I7pRc9EVtrxtWJ9slsOwu8$YpT&qV3<m}}-R{yumnj*jhaMQ+6?-33Tji{2y1ZXw{Si51~DW(ZPK zN<0NpgXbq5%t&R{5_Ni>ylA%BFQ^VDMUYp~m5MOu%^*@&%pmU|sW{2C$$f0$2gHsIm}-Mb}7FR&Y}} zfU8@DZqsyg$dW~)FhE-^ugQ8xiYiY>N1wJ_Uk2wL+Lys8u+l5l3&M4>CzPvaO~9pA z>A*&{f?u2(thI8S8vLF(xl0_pw9@*@?R?)wMRB4SP zX@|iuWiNs4R;v?an0NajywS;mesNn>na#6Ne6r{yLeQ2CqyMf=UW4qxUR1u1eQ%Nuxsn~xRRdb{E#jMRk-MeIvsm=1LiQ~s;beU&wg=~2W);g2tgmVElz(v(**uF6NR;l& zQi;cVO1f8(#DlsMYTf+&9tnAMJ;lQQXFaWkUQs_UV*g$y8@f&D1Yo~6%q6WcoG=fA zvM^Upt^qzttt2~F;DdURaPm5ZGuIobxnV|EeWL_Di$;qSm3`MTsn@R89C_}oAdiHg zmpCYJS95vX)h$7Lafgn%j;qZs5E81cUyi8PvhRJAMAm}c=2RG|xf+7iw%GYj1y6g) z!DZ&HYM5uYX$BrVC!uLpwdtjBw=LB0r!G0QAO+^u zD_^H!Renk+@q@;m3-mDPKdUN-)qY(L4SQe3=D};TFgcXEm5Fzb5sPt%ofErUUQ|-N z=f9zsr|W{IYOl3lS0CTPg;y}u9G72$3@2i)9@w8~5-tEgTw5P5NDbpuM+Ze}7I>q@ z9GcWBIcFMy;fk~RPzwwmo$=ZZ0voEB&IUmdVlPkbuA<0pxhCI(}E@Y2uwCqcvDoND%7kC&!fEOF)N1rPuIOl@7h^&aNb1%{i zO9X?eRK-X}^n5~}Ou?1UQJ2^t9~P>aTPYrYCwomw>DK+db?xtm+M*RF$sh02vcK7x zS7?QcDgG7GXHUFcdY+z@v-UQf=ZfCkbXyTbr>5JAU9oFCPu=kkvP|Qxa_%&Av10@4 z+TRPcT~~2Z>YJXYI{aIrUpEc*e+y*ese2@|iTH>fI1$pUeTSUYPBk>xvKraR-F2S2 z|LBed-3K_lQ?&V{x)yP3n;d@fm0;0&YKo|~u4T85-8(BC`~I6?J7T@xc<6HGX$x`> z&OE&aovLRei)f^v0_s1^VUGbEKW?KVSk=chGa00rfGQYD@-Jo4_kYvVa*GZiA@(LY zDVcJ+IADI1-HH}y1cqm0ZA&6_I$G=vB9C5$1C~pw0uH7CTZP_^mP0Sp*|Et zb+XLVk2Os~&!6uVK|V8E>7pT-DS8^2sGf(ZO7>4V`=G5`}38Uh)ZGqxj;8!4>Z?(zTMw%c6v8q7~Jw zTDD8i49;}vRJxQpmXjl<&hFVxt8&ko9!+I&MITsqZ(OOA(ZN3==b0-QG9wFAG(%8` z1J1wPcVj@^R{llr#!5A9G0h*21_5e0?n~0Y{w3-C4o+u#quEmA-i6(fvab6HmV(5L#b zzK#@-&*)y8I-WscICrrd@|HMveQ8hRaP!x%&-^}l(ER4oaVq8J(T^E!p0_6?ydmG! z!RWvsyt0Cx5ENW21X|uOW^R& z{Id{xFvNUArPxO&+$vU0?GbH=pO!nz81!lmk5}zGj{|ed9vqy`|Q)95g#zzTP>?gC%VOb&a>8et(Ft* zmEES*UiU2z&}H?(yRxv`gjfy%ts`2aHBGzKcc(}-_{%^U{pTVXihK=(3xUc`68!_r{>dCBx$(l1?fcz8%UZ`g8m zW+so3oq?W{Cy*f|f#y!x?dn^*G@>ncvHF%C>%@8L>n1Q=9d80t)G!l(4U}asSl3Pk zrT!R6|8L6MKaK;#`1|reD@!{vgt9-urM9784T(W*;g=`4*pfio4lk3uzk5~?nY&iG zV`VI5>hCKP~0gprSkT)h zsvFhnHyd+1=>H2;7vOe?%fz{KQG+77K8B7v$04& zFj~#u!O?Hz%FC`;lP515Xd6?~yRvP>Kn;Ga}C^ra@Ax)jB6%wVJC#!#i#S z>7i2rb?M6en4A;q8e$%TWj=Fg(Il-&ekuP<%^rJytw$@pr>FUCCaGt8wLDtJ_a`{tYfeb%Lbg6;1kUiFNM)Y@{ zy5McujS(!#2AoiXI-8K(#d>Ml%4LxQviv;<^!rVU9hoUMAXBXOU(y@uLN7QS45%In zrr389|7te=ISCq9>0Y&(4_u`;ua-@mMU^u4j^s#W;et%VRkt1f+$Yh$JMRnAp=*6n zx{-bU^wzv4a@%iEujeQB>0g6}J5T53$uBRq=$vz`GfNUPq1ewXOUx`!%!F1yllSsWNYgXHb!I}PpBdo4#s3EWBUv-E z5$*>!kqB49?l^X}-agRu%AAl_^&=!s*zm=cm_5dDnj8g92QFpDVf>qxsS93B!=(Im zGU;A*DTZ3IFuZU1DeAu#=1z2O`V=)MFRgF=BA;2NzLUwLEnJIL{c?TFEc>x;HlFs00_Ga_f9z@5MMR|Lrycy@<%GXh^XFQ0NPC;qBxL{0#whxJ zVGxB4_^9dK&ZBVDE0M%haD}Oj)FSV|O=<=4kd2xDxgZdWr6svPy%BpNLfea_1#MDj zvkLbh7x27)rKh#FKbdOom$caN_FaN4b@mKx*&sDeoMP1s#lYyQp5w_CvFoXIGH>>Y z)0IN7psgM|POk*9LF#Us+CNlte-nj8^=)2mVPLQEgKTLdlB;gc6fsJ#}gUC7i0@`C+jp zn_wK)^W%=T`a-j_?9NVA*0M^3&it$99xIsqMcst(t7wKcAsH>`g&sY@{+GP(8syKE339;Rrq7X@ z`(?w$hKyRLI$%gqbC{aL$(wJtI(H(>@rmKptQC_0m;;zC8Sgb2y^@hLcC4;a4%&A} zh}hfZZ~^e5cv;LjI1@Q)(pIDjCl@?0WovKYz2qFdO>8VVdeP#ZvmlDe@{(8xaSlgK zk}o!(1}otN$e~r+#Kz_X`&p-2r<%o7Bd3qq>W|^<9`d(O1o=u?TmLOalAELlYzc9x z6ShkP9}P?ZrGoFo7`G2X_b{Ar*-upX$RJ~wC;kNG=AP&OIP3|*y%YDJIZfO_6U@T5 zs5GF~la5WU8#3W4;UE5LOYVjo)Q6J$Z8>6jkzT#+6avxICDdWZiXb8j9Wb#?Fm zCnSNeIYEhyOLbJVQLv_hI&o|}LniPUNg(dH=hhan+Lpo$g17`H(F`BwN^fmzTU)XA zUTw9lR;wayO+*Na0&2CORZ*)waa^!g1gz%!e4Wo{wy?C{-yh%K^&y$_Is5WH@AE$I z?XbNxL7EVavmGgLeu#mti)ky@2LS^}*CJ3sb>gh%%v8{E4gy#Yp|N^R9o_H4A)z-@ zfi9V}X&;j%(6yiH1S&T0g=lDmhC`wtD$w;$)w1}i>N2)`0xg|Z08=NzJ4ofJttEXv z9QyOCmn+@eEm6H@uCLh^Xm$JSRg2*R8m;{Mz3q+u`8KimiEdgv$)&$8p!UQ4*{V* znj#~f@&pdfVrXymSb>lyalvoLdzJ?DAUS&g?(D0xL$j6q(z7Sc$D8aX?xY`To$Vu8 zYsH675Z*^i>)5n?BxyW#C$rzJy>t2VNA!NzZ;6Ol%~WdYl3Q1-aCE8_E3x8 zUZ4iK54Zb#e|xdoq!>Ffg29jlOypzc_6vF3b|Mxs=vaPsxT?HzT&ObVB6TD&Enotn z5>Fq4llf2QdQ8(fX4ZwHJUx9C@6=9pGNTVa4^jU=NO5?nIy4U_P&_$9Qat=rjt^s{ z7yZ9xx%8R>{%Z0yj-?!x$#v9jN-dyN+~pMvcAcl1&M??ddVqHo?^KkQlX4nwvo;Ab zc!;z?bWvGN+5FwtU#G0$`!=(7a=_tg5!Llk=1Ew@E$O=~UQXYo4Ds-XvL9Gyx=3=; zDZAilTb3?*AkCWXAo0r>p*n&vN zYZJf##jG)3vWk*h#Mb*zyr7JGv&J|zN$I{R5yI5cT;nWPsH`jqAoK=O|D(zqTSI}= zEec72Iz7clX( z<)9Z6K~ZCjTDbOCl5C~V46zZLvE(=~()}fS1qJQ`o#mFRC0)q=t?X#p{a~iw?zVHi z-Es_(&*vgv_ans@UY?6w=SNmyxCgH3>z-0&AByw_!$n){fOG$7uUOU=1Md7SXew#x zJqg4azJ%zf%xbLhvT;tbo`pVL{fwA<|D=)x8*G=StDn{`slUkvy}eA7kWYi;a#r`& z!gsY)i=P)X<;xFe9feZ51d_4PH>(n7+9?4B;^B8>3B`#dLV=@TdawwwIO%T&VeD~> zoI)$=*=I_7cE3Fk>}39eU<+DLJL5(3pXd0Sk2m$yF+68k)XBxfR{AJ%xuW4-Sg7=L zf_X%F*O{ynGdst8@f>fV{PNe9mOr>qeyk0u;}?*pzZ)oIXErbm@>l9gcqP;wF^gEM z!u)@sw8C{()NDt&Qo&sR16@@N$J-sxAVV$P9YM=Z^mm81HDr!^G`O?eaXWq7ieDf&`;wO$7`xk>Ec4A^9lB!Z1V!@ zCHz#^2XT0;zK%6-S;(B*gP5g~GUw_nQT!fsG-AB+{d}o&{x3?k|NGrK&Su@|e5Jz& zWLE3}y_;?ELh*UL!8WgH$i-8FfPdHR}dj+;Z7 zO%1W`OV5m@@6vuiX{wq3!>i__Tj8k@gV0KmVApSyD z0!C-XcCb$rWR z@vmqWwTTPS7xlD}(zgjv&@-x!rElvXhzv+&Y1eM*Gi?TX;X5_z6MZ7hAev9(hqr42!ZsHRxABJAOnzP(y|D&y9u zjqad%?RkzJ9Pl|fyi@fYW&$pv8k~!)6f+wBr)I0cpRJ`-DB+AhTk-JQ-uk@6?Op40 z9KEAR@=r7_a>lAI2YrQ44+eJT*P4STdIs))JC!ra8n}PMhOB}6WG`4VaVxhJSg@DR z;okx${a}asl73Llq#s;n|Nh*Iy2tzJ@qRQ_>#Fu&bH zx-WOTU1zFSMQM5LzZs+12ThpWr1vQO1C&yBldg#~&+a~5Gim~bE*7^x(`@}(@z@5> zkH>$0rX){s`8MQ=S|f8u;W>^x4zYW!Sj-9^I&IhIcUG!&qiApQlV=5!HwxsE75wvC;$9V=5Ns%2+@Y<7u{Y(FGjvSr4VX;mI@K zA!aD=Ggw=X8r`*j$%S3NLueLhCcAtuv-NQcUND;9_CvGHYc_;`#W%Rc+Rf2mLw0j~ z@>fMlP&%W;jt=n5X<6qmck!KFIP%?wJ;7(Yh0kNZTD*qE>!b7qX74?u`|w!-?|K*T z)h_=8T8(*VChaC&({4`Nb^2`c{flyaD-lUA4{5y@BRk}hC7LqtBj73srlrom^bs&u zMeT+vu_d|&VmNP0G~HHjJ)p>!q?JR_i(-)6WIp^w4y$Bs$oCn5*-kwJGZSCrrKoxs2T*oFMb9=@JSjvDIRSe&R2R5urA;#~vR(wIA|gEha|K%! zWJ|Wni1|8I!h>?g2CnrUu|yfGV^QVNh+lxRjzz-=onk{HPDiEMhDM(l==!1!)exF! zL;IW)=sJ>+q$JB&E6EU#Ukk(U2KzaFt-B?)9p>mmN=vP*D$ci8Nj{U>j*_<4n|$~e zDb)8ScqCt6%vHwZrGqo|mS) zohh=hkn5_|Ha{EW4_=_g+;0QEjl~^&0OTI5IF?r|Hl%f%xjnTIFPOMCl_ul6zp`5u zNxfL94Ul~H%@^Q@h_xpBSBsXF^K{jZsv#M?oI{gHuF@#zIx8;=+2;KiuaJ=aDU zPLOpGqd#x8q$6AKOZW}^#L!>{113^Z@>a$KVt_I6Kc<1xG|M|g2} zNrxl%Fu)&Qv-6oMx{lYI3M;*j0=8oy9EDWY}$Oif4GKXoMi{VOoYJ^`{E>rnw zOHYNFbeaUbGtKKi_iCKY*KG3~U%0ScfWz7aOPUsTPhGgA>5A^DS1f5-)ID_(Wv`@) zE1{b^wbRnq>&H#W#5R4s{(2hL>Fe!AbafDTXryR%iswgnp*PRV!9^}pVg5XNuf{xD zl4o%GO!KpRdeOZ`DoWeCUPOZ`G1Vi}hglLGH7fr?GXcinZ1Y33ehADoOT9pix!wzu znX7H!DKnp6Xpuh@8&Q3QIPD=%_p8)~YLD$5>D4~d1ie6w`HUART3tG;xw+j;cu+__yz(kp{~ZlV<&bv;3@5E=$yCjEv{$T;+4bgk57-s2 z{q{m=B#=|coG}%fKOQmc*P?oxd%gKQHA?rqUN;#*{RU5TdGx-j zM}Xgf=#n@B<_#wezq~r|z|*O>8nTCGqK}{u;D4Wx-8&P#weWow9L_&Smy}OvpvZ6> z440=&L$+QqQRVWZPRQ0O>OYF2RI)Gp?3G7^S6+E&&uf()|jMXR>DiawR z%y({Om0gq}g#Qj)BY7Fh5WhXoOZ~y^fHuyaleO%PCC#~KIUCF`@8KW_V5gaLD*HYW z?vI7dx?WuP8|{sVS49u*QkM#Z8qC=cL;XmsGd}DKxs&hw_@((Hmh$Q{ivsG3oPdYmP}r-b>jh#FMhSG zXJBA)Z&?SKM)rDnu<5oF_7Y-(?Dkq`&E4( z&441($sPBv2J<}CTUm`3=R1h>mwL@^MKWD{Shjobz!aU25%cojD4W0Q>kKH~gS=&R zCNo=_KIr`XsrGqM9;>sZ@z+_MtsHwL?~QWt+v4*`Z%gwp$_E>G48~z8rM3+OZtCr3 zS+T;BnbinRPew1sEmlj`5#<4UNx1oZ3ok<7O!;Pawd`ctc!6i$3>86q(~}*>pQu~8 zINTILWvAjaj%3foEW5ujGewCS4?v>}#OgW0=f!Y4N-vj65zjGl&C z?WR@z3M^$Ewm=^pe&jO$_fCEvDT@dy*PA5|GsjFwyTe$NL(W!|18<)4gRsWz6&qEy z+#!Z{P_&k4@~=+tn%o?=W7S!y+!gz98?smI9oPC->`c{qF9`ir^>Z&6#6quue<*xh z9+4>TQ?R0trPXqrgtgu^Lqc-=W&1x#z=cZ9*ag-Wb)5$viVM5UA zzH7zYRMHxLHvwXAW@02@TDtrmjL_|M=@+3~`&veyX?p?y+U*01{3s z*`#RMXo_B1l+2S<28HcZvUHhqf5|EGs+ z2JlqXFT9{Net<`JzkTRdMn4Q6#yaw5TDMc4eW{aKCL(zrO&>Q zWGS>VhQHDb_#tkMy(zqdI;5(^cKvK$q?$tN`5$o15KjXAc38kT$3WMsg?C&F@{%}87B!wl#_{Sjiu*KpK%v0{f1s(V;IQ+W z8#3`lJq^Br)&{x9Sl&&X*#ec}GbDsNi>q4vWlbgarctk|Vc7dZ8AHT^Wz;8TilY}Q zPm%dP@;$A%%U*K2B+kCz+NO4S+}hi0fz+zuKxcY-LmVNm&fNv{&ti!V1^7=Bejq-5 z0g{OcVu_4!T_L@PJRGE-xloXRI-Y&Y*gxj}c$ z?7x|=s*4eIYvSXLH`qt(1K;aqYG!s=gTWEVZ`(kWbF%wTgt6W%tndXH4 zcXjnjR7>m%9B#Yn0Ysql{GsZ&fTI6Yf~c|0X5Pz^qotY@DN9!Mhi#7h(EeAh!>#xE zgL7)0Uq2 z47+X;1=x9=7J{Q;ClcuThqhU|t*(1%he8=AXm;E*(!zwm9FrOdho-vKO+h%Chj5nh zt#=J!zRbc0`0iju8dd))Y4%4EA6{Qp0w>a=_P!T-~a zLrN8Hv_4KJ>vZ@AS>CcJZ-m$LC?Sj#9a(+RI>mM`?%*#DrWmnBacj)h{}K#PM~izl zq|~`}6MMRwg56DrD97x^XdNy=GPRpe;DB`FHRgLKNVO>mSa{6_QAn@H!4I}@@D^uh zzd{G}WV)?$cJ?&N-g%J9+U!(tx>o@t##2(_nw@PR%X4@F67Vt*r^b9CpJlyX8=jpV zT~aBK?^!soQld%gbvy-WQm!GmP(iOiz0&*8#K+O5>U>JQX`EJ2G z1l`2h-~W~a=&IlNt9k^zYit=e$uknqy%ISoI|{@$Y2xGPtMbd6RhQU7oy(w-XZm;} zQs+%{I2ue&?pU~}EWx8uH;vn(8DItGn7Z4v+H3^W9IlK$G*$_j8*B!1=W*7v*4~;R z0IMupotrAZcE=(eu#!bO78~_NEWuQCu&8tY>yDN~kR;RJQ2!JDOjueYrQi|)Uf%}T$RCslTnzESB@cbD$AI_BZKOA43XuQT_k{IETh zzhaN&jmr1EU(!UO|7!olJ(kz)#$3O<@|jGJ(l6e9`Ua&>-EBH{dqq>f#okWcszWc2V0P8dOTR)3u5?`5Nd$-kd6nyTsDne%Xf zo*nEjaA$Rko$Rp(zXxquBbINy_-$zfh!Y|`7>^UOMT2%Xbu6sm-Hm(7`zx!+k*U3C zr20AB9BI25==z<`cz8=~rWS$yQZA~SSqitgnzLS{3!JsTOr%IgR-=$BC)_5kkjIZ| zGiPM%myB-r|0NgKOw}EJ=7=(nu$eQp*C`Sl88N?Y7*!@avE&HeSXx6%<=I2%)l(yK z8NNdX8F_66OGdiyw|U6$_7WXpYt5)-J7fcP!};LxNXSbLbj{$4`W{z(mMy~(Du%g^ z;Y{s6?b56_cQQbkh|x85 zW$lmsif5EoTtiN#$gg;at--JO!#mZAD$e?$HuEYWD*mdixN}?w9iZ+L{JKBjVd$bx z-%sX3-Tz}N@$3GfUt_zu(GRtmE<)5@?brRJS9jkRG~4UV<>-KQcaB@@#op$}{^F|;fC`#XOKe{);E2H* z=|qk8#MOywIL2T{DeCb5WIi&rd)YGnQTbfj7Au^r4Q8lcGQ@GQ%{HUL2H>OcC(8vI zia6u*f}JEL*0oD(y0U4V$`f~}j4ZHezukP#OH^;qA%&S$Ju_^k+BprHrnRPL zGiMRoq1zkaDSq@X{AhcAWonQ0qyNi~zM0%i)jo>OZJr%J@s>Z>(b$ljAnGB)7BllW zcXA9p$Zf?%LJfhNI>+UX)Sy}MKX!Zl-kLL; zm#W~yZl-ekq1pZjIj3g0&AdY>`(=gUQG3!)zv#0zPi{PZfp+tIKh$P^O9=m@p^01F zPx0t8AMSQjygw>KhPj)v@@hKdo^mXIge-GT4Rw(F z{}s-=4D!smTF1g+PM+fQpxOFmrf0Y55%c^W(;LhKdrS|S@9!x+vqdX4uQW?(|IRE; z+^PS^?;+jISh$>u6xkmlV*dK&Gu7x&BH^lH5II3N<;>{sOaQ{uuu?}~Y(qR!lEx2u zx{WI!Y>>7{x-BNCd6cROZ+Zn&(V78VPH;rwU^CSlGQ+{5oS^k)17aNl!2&OkTx-p8 zqCI^}C^3h(-1_f><*#uKvgQ_O>ns%X=`3u~LD(OC=s?8-%NPqjWl~4U7Hg|sobI}j zGcfQ#Y+Pbi@8;^jgKHE{j$8v#J14N_i-*kpj|G9QS>#D=KQPdBzP%J*$pH|+dF9W? zbx>{CZNBV;w*^wik)b8LIgpy5oEf>wZAOC84C|q_-hA*g_Az|$IQXaBEa!`) z`j+(98dfx@e+=~Jiu9P+Xsxcs*_FpiUvs5+vO`g(M|?1!=em4va@@;35yl{)NROET~s?`1P@z`AaTUb=d9BtC4i|WihEO83CVHI4vH2xxgi?UMgNa7t0*4UbId; zye_AJ&r2UQII^K*^MbMNdG#J|`325@Uj~7)}r4m^J7AJttRMd1Y z=hA#J*Dl7)RaAe_K;|0SCyfqq-s?~Vk{3E?tOARbOVnC1PO{Kn7YEV1_N5f!Z{&EM z(LXR7%(lnCufbBMKMfI~rl)jI0=u$Qx75RQ#}U%!c2z;X=tHWgzeR;v(vW%iS}m{y zN&LaPVPf2Q`fOKdw*KJP+_Ucqna@Mb$nV&(UeWB2ED|kTN^-p&)YvOD$r-opbKV&j zGB143))VNo5504%FAsEGqfCHsdy5++^QA}0cI-*>8!v0F$p!yrlb6{h&j>{yVnbQI z&Z|F^O-jD+$NZZW$#onI_-6OrX7|llV=@xB?lysdyHz$)t?o$(N2bCcnp*FKw>W{x zTj={8N2>1ulRUy+qB%HgZ}6kO;zfy#a)}=`!$u`XuWmlQJd5$c*V>{3tD*ys#W@LL z;jcyJeqZ~=-tAJKz>d1bgL+vk&L7j)Y^C}-yp$tboeMb?t!&~}$6KlB5C7FlagPjp zd29b=UJF8n8v*TN2KAWGSmE|r#^`ZA@j-)%a& z6C)1H`S9>{5-mqac-4RULL3V=3|6|ld(63uNX37P@Ti?0!zjV&=|#c9Z9BEIhLM%} z7G%s-=sTClhjk`#mC-R#Wmc?#`QjZgem~){wz^NZx*OAzdFxj?5j&jpWR4QcoZHm5 zcr#|b_qK3<3 z=^t3z1X`FC_it4j1uZ}Q8Y{%@4cpMy+{1L^tD5u#slW3nmk zZkYHu{O<5DNFw}~KU$O8K78)G*#IseDthAX={?o(#37t9I}xpFu9^eHtMgVgRwUOPR}e;$_a)RzxQew`xa$*=NY@6=I|V-d}7NWE5$ z_u{8{nYC?H_5j>VVuKWU@Y1LI2YR1<4IPOw^N04nH6rrhHv~x+(P*TT=e-Xe)aKRs zHt`!Z!oFccdlkw3Y&%=o9}U~@mtk_ z>!iHVlDT*kT1=D1F;4g0-gheVFLGB=I_6HRZgDFz&3aTg^~nf)Ch@c|&kCpB3^a9* zE$3zXrqz|@*bz<}6-!U6_TKVddqtt-6kGDs5t-?JNsv=~;IWdz6vPp8b>P~0Kz#9h zUrR;#`9442d*I$F(IMTH-qAMT0FSikIh*V>to`!uBL=P&7C(@w8q})!5 zJd;Mev>K(!ODXv(lhuKT-x{WmaIXyy_Yx}Xhn$NA<;t`|U9o*wx`IAPa>GD=rY7xk z!?qJnquZmH>z?B;mT#6WvW2c!p+|_N(BG7$^S8=ET7!9=hrVlcA4WAaI7SuF|QH|Z~t+%NU23rP8}r|^b_r{+^~ z?}?bLD@zWOLHCLV^YXFuu5cJBovAPO6Z(_EcwBzvBl%-xH*fq7OGKqibqI)JujGuz z#dcg%i^f%Nu0fR{J1Ml-&Xi^&H&fgx7;<*M(Bfse+3`jDFIyoT^Co>Haa%Lx|G zMqWd>=zN7reDl$r=3~%!R}3Dn((}Ib-8i_HrxPV`fv*&@ejV|Z2z~wV2zqO7d)jNj z@}Hq|et7Tbvi@5>m8>Bi>aQ3+Lf#RJ^cuB^fREa5laGs4wb^j5^5&laDaxzVV}Gku zU!(kuYHCA;iig$XPxmJd^?U?XwS;5Ub@T9u{j^kYo}Qi=wKvJF;U|(W$K6NmJC=4# zdEXc;XuI5J(Lk&FKA!%~$M=jZLx-gC;N*c={Fj%Rb7;y5V_Y&UIpU$c%7%6HTakZe zM)j=p<#px&x+NKFj|Su3hUBuv9S-4k3w}+i1#Ni^ds3od(T6ad5aKZf0Jf8E5bw2r`hCil?|b zQz~daW>LZ`lP5YAm*HrKKW)x zNjgRtp=Not^n>K*aV~U}d_$<8$zb3?n9cY7Xk?i?<3Rklw^VFuskkuM8h$zOy_Fat zR9Ui^|N=>37 zo*rY>UA=p_Xpf?;%&Eh}I@(VEbCr+M>dj}MF03U>LvqB5v$XWq4I+eDJ9%C+hq}XZQD(EtW|M-Wz zEha~2gZGr@atvGIW!<{bIiSZ$TZaeP6IwDEAO!JdkELPPnf<}<^XtwAd1xT^(d*85=fln%a%_LbIGf;gvz-!qMB5(X)B>l%QwJ&inD!hrkR#ZmH zI#Sz4L<7w)XRB6dci}+m4lyQJi#9!9P)EVyigepC4^R=cBrlCM{@&(D{zt6)J{@yT z#uZ?zgmOk7vKNnyb&$eKZh=}RD)o9rbH&RT9%t?!Cu7BCd|UZmQho&g*7E_PL&%)Q z)e*j2uyy>q$-i*9ZpqjeJ3S9G(vY-}U+-9{nk3UdHuFpeSv&W8?%e|Q2J_ywk!4F;GDp967oMU?3u@M9 z3Inje3!2jnX8w+mNXbVe59NWG*$-8*XwmR1f!Ib~*YRrlooecTg|)Kdy@EhXBL-W6 zu5S@!ZFJOmS+Cd*(n#AUB8gX*b<=@2l+rkfx-Fko{Ug4|i~kuv&F!aLS>_)k zn}A4kNm*($Zr+|>vgX;>Vk2LRr+Qegb;-ZQ-H-4&?5=y(L_1d}rsbCSLD(J~I)B<< zcaE`tkMpJ{?)^O{IU^HbD2aI5Wt5 zZN0DJJ_T2GrV6HGpld#$Wj-m_5~c)-tYDy1UJ0AszE=0ob{KKDPwS-3!H5E#dgzkF z3%_(#jKN906_kUbh~r*%Y@L%@HL8{2H(q%xSAbi|sdrL(->hnNUuhvj%~bcw@zv3f zUWumuRxzW3@U+xPM#h zY*E;q=}W3x(x=qLE8d&tR*r9}*x)o;S32{CF&>ebTn6H)l{GEluhO4uuK*=T1xMBC z)r`#L<@D9lKoLkk7hck%zPkafda`{OrJHFC-RBA zkoRI(jU!}ilf}cZ82))(KF?ui7s%k8Xm&6i`xn+ATSV)6e203~m+Ix<1B+YM$l&)O z?M&tMTmcC?cN2S7r~bld%2%ge;z#x7-$e7@Y}aE&D43spI-ISxLg39$wf7@H<@HPI zwtNq-qoRbWMb{Q2>Y5AmuIm8KG_1Dt=3&&r&|z_^58OMZIp&@_Ku7Mhh`E@ixb;kH zVC)U&_OIb)1ZkW9uduFeYlJCoFmsQv^W@v)4Nk{@hdpRKTSe=aA;@}TQ%kpeDL-51 z3%{gy?mGWv)qydV$0&y4L+Dm{u{t&0vtZbk6+0xQ~vR*uB|rThm?W3 z2`bNMr(#Aufxxx55!>S4x{;}kyWiCU#r>t5$OFbw?e2ZOs>SVZaT6m$E#ng->slHw z58-vLN;pELd0D8QAC>cVvHwEV$?oantJxTI^D4Z_HsCH%tw5tj% zmpSfI!Hs$U1MvWp(@qBG!7`l+5C3vD#aT7ZcwT#PXVmjz5F$jnKJ|U~WfUVCAjIV% za!CyWiSi3;q<~!+O-~wEa{DUaf}A2wem~MN>38JyBZ~Ap{MA_e_8L1*XmAl(%@C#T zcKZqu@9ePx<(&9jEC&*`{4Gyb#TrlKaa~KAz6s`yg_dh?$>ZJqme{cjdGC5@#Sr2X zdnrV zTCaL5`!Cc15PmPYm(KqN+i5FvaEFS}Q9BKu5yGr)4q{dZ>xn+kdcx5g+4y0^eB%}Q z1R>>>V#!Vvp{VLuYxW-U@jxu}h|o!5uH)V)XrLR(BTGt1j#B8K_OS;_-g7lR?AU9p zmCp1fKEH?J8lI#t5?8FgUM-_{c;&cu=;7H!mGLXtLz#$}4vlM$2rUd-uN;RBt6W8@ zFZfy&>}k^5rP;6@f5|i+3y~|?WV^@Y#R4&-uD9E%HQih>m;M`F6Ox4_S^$SKS)Ez1 zH8b_&?5szI5(}w3;*lx>nW>*-Pm6_qKQ6@w>~9vUEIauTph|hFa4edgWLZ?11)pT5 zmS;bg+E$YsZnI(5vY%is|26WXjRy?aq{Fr`R36|N;1wf0aW&h|{M>u0&79M~1E3@Z zJWvo4cFPa(zqw`pt0B65xub6JW7;L&M)Pr69{Ca|;8(ed{}FckMTc%ly7a|HT(|r5 z4C&|Wp}gKnJ;;Z(7-SMm4z)ZF=-+wYbKQG|mRzrB?46g&2gyYE|RFnfP%GpZs% z(M%!pX|IS^g?|19*X1>4VGmrsb6HuTgB&K9#&>IY9qbB=IZxu#x}9x-?&s)(%D-XU zW*QWs-=5piR=_-ltg%KolYOxB{tNDn& zxxhV93BU0{cn-X5wK{R=tS^o%OIFX)6Gai}pebhyIX%4f6Eb^oA>x#&-Sg+T=jJ(? zg-c4B|LAA7`DxTROD34Lxz=7L!E5ap(pucFTGVGBGo+Hbl1hH-RWdZ+t=ouLF51-G zmlDeA9M{1|-sbD%8=*Tqto5=?kG#YZku-+U%b8iOPy>NjZ@P&C>GnJM=4Fj^Y8e3z ztj+pKd(Wt)9?{nTO!>a1c7SKVJqu7;Yi6W}BhlGx1<8_nV>ji?kh$sD*U>!p=e+DF zdz$Ey)!1kKq zQ$Fx0AbMH$ala8?yz9;2JK&66#Xm>9uBxs6lAr#w`Slc-I{?dFn{)y)@|_wtnQbuS)>#( zZn9s^u0WEir)n0kgRPa9e6WnF6JL*o9$d}09uEKy{Ggk#-H-lO+Ew}A**rI@Jnb@e z8nuV-?wh=pBHp|=A|orE_XF%~T4I51r+05l)j)FdzSg|49cGIx0#LcK&6~gdW>}dl zPK!2ao>nLfx#+kNdfu6?%bhvJ=S|35eHUFVT=GiJ8`=0@u!nTlyC+_LO-U6+^?T`k zkL@lUuM)p3O)P2OZJlHGFRi>JJwy7}_fTHv>B)OYSN#uPUDCOo>L0Ol`9bI9b&$UH zzM4BPtqdX+tws+E`gKz>U>bSnT=<}s#_Y{b4_$lr8t!%0oYH!$XmvN^M%=$cVNK=J z%HISCJC_hf9!xi&S zZ!*BXlv2$8Fn>pgpay?N(K z67~LhdQpg%I=66Jwzs9h*Z`6~T4u0`qs#Hl_O}2Nyx_-Xt|T3m3V2^e%m&Sof7;@W?%4!S@P7f6Bc172PnN zGW#+Gp078#uk>6<4k1o=V=Eg1h=N_u=$ZOg6XPdR<^!26)d%G;=MJW}pt#%_xDZmuxr4Z+#(k>`y==isqYKa7L@?rb+VLkFdY zrKeWr?-Fos@hz90S}j6prddmdiI1PytLGdoTbD$!9WU(}V>6{^)Td`Oq-WrS=tAT^ zdMqbB5@CIM+9((qHRkp6tSFT?v9J276?UvQ^`~1ES=3Mq`Yna^@%-Y{n0J$ikzYzq^yi^I)!nH$_S@1!K|EKU~43@=nmvIQ{x%!DAP1JA8m9F zc-%Sc3G zK_!^jz(^@9!Dl|W|GQr5e-F>69$`}xuTkd0LTrs!26n}1)!9=?OBK@ofsC2@lva~H zp0tlxK)%vP4&f`Gm9Y*pY;d(_W=oMz7#(9 zMf>7kfu9DzTA`xlrZu~-wz}R6cH4`TxcU}r-Sr=EU1#n(3*O|5>`~Y+f0=iLlc_wn zH4|IKjcx49FtCi7jxxKR>6UC@V5Kr;I@IS^a1 z1#j{|&5U-_eY*9bHo_g6zJ4<`WUFl*{F=fcLp=Yrkati@pd z?zc{oCNU4NRMmb-A-l0hctLIKfiK!vZS1d3w83Cs)E;RpRfB0^&~SpQsw;&RaQavE ze1$?y!VhY?1yxO}7v%cxiH|NhiyhNvr4-CLC#Dr<_(AO{KPV=V{_9I^^8(5$ zazy_LR>gRhK7;-%-kTBIQ}(5grwyhU4bGx~EoWoG+vyGJW*<4qs*QfRBq4mK1qV-PEV4(H> zgG>clPkQz1^Lw$Te`P*g*Z*KX9PGc#3#WFJm*^}0^*CSG@u`2U>u7aWn5xu{Gve;X zSzP~u`g5o*B=t#-RCp@CEjQ(8EZZWsT<5sxh{)Pz*7g3NshpklKm`x zyIW8s9T1j>xqU&0ET6#$@wzVpua+yk*4(_E6Q(EG?r=dRRw{9EDrM*Ty0cTb(n@Sx zpOcDnhZQ59n<29UIZ{Ukd$Scnvc|)Cg7QM#rx$p7>Qu2iM-R3K?R71ADGkUB1a)rv z*6lJ-m*j?-v{b9_7$yfezHE&WrNt=n{{Si5(_elN&ZuCobymanK! zCHIw8*NHBGe}Uq0t}8`y81m270ytWasJk60h|l;F)BpG4Ym_kkkIh|VZX-#?9X-sQ zN1-CJ^&L0CyR%U&B>|i{al&9k@=X;HZvf?_X!z3z41Q&c$cTfR3+&{1K$d0iuk$_g5J!hRhC#L3W`DNj88vUcrQQ@6HKYt? z)L4e#dUJn2GJdy}8$$`3g13ZLCv3+?#s&`0;IYnl^zh! z?4sj4ceE6pTjDGH{XVA1o-Mfyg)>6$p+2*Rbouq1{LMX;Z!`b3hw>TtCUbXA&*7d1 z@BVpA4)^5v65w7B(tq>~+6G%3kiXoIKJ61NFC1LYIRY2>9*ck(oLf6<|1l^tN9Mux zjMhXuLMJ2-h;}R}zalx-t(s06A4AYAel%Sb;R_Y{3%b-ey+ zUp{&)pPKYjj_i7zb7Tne-RuQoO&q}tcl9hB_RyH}%8u+b=Vp3& zqU~j+@+ZdNF-nw|3)rt2IJG)^uyyysapM=M8`w~szO-<@Fdlhg7tu7Beta>vu6e$K zmBF{!BT*O`Nxb_4Y$OCOAq;WD$Ndk>G1n)arSU>Hzq_v{bJY7%U6<5^KPPG%M^YaT z4P0;Cj1cJD1U5jivGb4o4y;Yg=iiz9JDz_B4y+AyNvVCwn2y&VQY9w&)eXpZt|HE9 z{B}d&d$_|^><<)sv0_~u`bk+_9AGc)Fr`iN(&}v5m-1=Dly(fCfKAoUJ|4v{P*T4n zI;1-`?zo4&n;J*?KKi7vbZYr~7~*mwjq>V;*j3~`F4b;iK-ga6 zt8*QpCFMP)@=mO~die-Ea0*KnuO6t~cQ@63$*Wc@;#78+osr4R$awzkGq5&!P2fRa zz|_SEvU8S<>3M5NevZ;KpFMBMm4za3xs^_H#%yfgO&t7wvAlIHH~9{?Wq4!zdg^qwV!aAsQj zR3Y|iFLnyCckIaLo$bXo5F0JTo=Pmpfqlx+`Db%hW_Vfl0M9(q{FLVavU_g5X$(}L;M=D^vk2CaGBm%7s8HM=bS(#2l!=lJ!C*J&Z3Ppoo$f#|IE zqDP7p%_%bVNz_t2w%zied|ms0tGbI8F?Ml`juua>z%c^2JdP0qZ>=_m*`7aT4)A+U zmxE?6K9*|iyQ~2uTU^7dvo!Xn%qD&{b`fRfNj{e5h7YyoX-lD|&$x4RzK#+YQ!5Mm z0v?kYa`#UAqKIGEuG7f8Tp}weDNlNh`E^f)<}-)42bB++|IDY`dsitxfF2%gI}CX_ z`mcMldy4v;{_Hb~$&6mhk2&hc;E!6q{-Cc;_GIzFqMP{OGXoTB{QBaD*1 z)cF!^?iJPHg`?*4;_7g-_-mTq^?gmFESU7ZI;2leR01&`;Fw8dNG}@20oTQEbpna# zzF0)Cbzm_MF&|{L$;2A)6}_mme}XD4vf*&d{dmQMpw7g-faR>8+aKmjI9NWdxrKo?q&6AnsTXu99%qTsaMQg&vxgxITIQB~Uc+s* z&0XV^Ppbo0RD-E1ae`Ma!_XmVoa^fLoYS9+QNE6Qw65MzUMR!SO4s9D=Oth%s+1}* z9dycP1SPhqh(Wmsu~{0VRR2&GCui3rP7<>|Vz02Cl}!XZ`irfj$~>uUL=fs>69lcg zaM+kUy-n>ou25l~MLU20&cZzBmTO2*RJlJMv}M(b0o^%22E^b!8R$^PXy|=3Q5gU+Xr~}*X1dJ zaP_>sI~F;(&5o|F9EYYC%0byG`(yj{nAa>9ntloAphE6fjQnZ`I`2@B3v@fbbPjA> z=-?0kQPRQ0#I23+~?J8!}2$(Wv_pz^{aoQhRxeM61vpc zMF$5~O9B+07nyrk7JrQNTvOrWKQ2|Hi$3i^mVXtfc%66)NYceTJ{wF+w3~JL^uB0B zL+y*U=|{59+*vq?v5`N|ugUYoAN!l-msi1m$G1tQwwnp^+2y~mNr^XzJ+=`0U9SLI zg$T4To6U(4ETi1x;S7O>x4P(dE zu%kJIPw+#U0rZjU`P@~%BKA!EI*X$AeBWY4XQt9?%*lI9uQNyG({nf$3A<`Wk=*RJ zoys$)&}OFBnVaRg1#5IZ>dgQi;IT%BFgz zU8jEd&+eAod6t85ZC&i*J8TZ@rkCGIsBiI7|9k$iyiw=+id9fBZfltqG*3-6+kC#u zofRrOcf-Vi#uX0{^2^>s&{98pE~^rAHxQWI;e=2rixBRl$@>S(yFZtmMoUoU-w zRq^-&{JTeL+|$=oiY+;vNZb(BNSZvbI!rg_Vl15!^fz&6u65fQ%o^_6^x{w)Oi!zx z&-uJh$4O(#+}=dZKyP?j_1yQ-|MkvKJS2Un{@AlDugGpiZ&vLC@W66Dmc9fqyM#0N zLkMb~@=WTn5=k6UcMCVwCG;ski@LmZ{?vRpU7yI(2ioZ9+JB-mbXc?d;grS+pPT;~ z*`#0rurJZkfz?yOlRh{1ZCaRIG3j#ytHAx0;Y+LMu5_o>aZ*&Q3BR9^6Q>EXsp7TC z%Xp=lKa+I01N&UC&AkkDi9NyVP5NB_Nf4)?Vq}qM0jKC)AM0t-?pqNaR(Gs7));SS z&YS|vxOYD1PQ1QxOd^nnjfS~fc&Q{B?!B^-#k{b&(Fxj&Kv7*jBl8jo<}zNT_o2(* zsbSl~%aed$)#Ve*&2g`RP~0^@Or0Qx-}YE&)R3eGi4#dbqBg%(!lwo2zEiYQ4p)}kPMK}{oE$&U7yfkae--TyCT>mEo4A=w+)O)h z|J=;PG54ELakS{keTFOg27CXu^l5b*v2$%%8DKn*An7eh*^muyEaO>f4w=IdcqqM`*Pw|qF1}u z;*V>}%7V$E(2_$us@ImvQIl2{x|0@o@!n}O-^ZaG@X49y;|yI5VoTDRu9&Fb{^rid z#UWU%K}>fmH%Hw$HQ6d_+NvbF72&qTM=q%<2`vMVz|vN-ehV~4Q#gGP>D8#d(u4umIeXKDfJkKSm1xOG8}D~`@RqS zf%IZ>Pkg2s)8l#Ce&qQGXvk5pXV&SucIxHSle=wz9&{*7$Hud8a+mGal zynHl(2-J_`1(D z2jY*$(u;+PwMw}cGg*#hL}|~A+5n7*!_I{uQn!*eSdmDufNy3B>LQvD@zmT+OYBMl zvcn#MSIILJ?!pjXRqnS#{<0S6hwyT>JimecwZMFQ2B6Z%%Z~ilXP+HYh(k>z>Ti{Z z26K9aN_g)*Dmi@LP5hnDoxv4InFnkoDZ3l_?n^0I|FKb2&)01|Ha%^Nf)&4jJ}mE~ z`-BVnV=U+x*X^Jb2xx(m9=m2BrLQDB@-lULknZSS~MUrwi_O_Du*Ny^p<&cLl~J68D_D&(sr)8wf7rgrc%Q*LW)aZy~m zY+ML_IckX*uS;|nw6k&Ag6P1hbzZF=r99JWIlYI;oX&_m{hG;i(6CvQH=`8JT}G4- zKN;NEf3!&!^@rgJB1gMg;Ys5U)z|s(c|Sl!*qgjjUohS4A>% zmZ#GBOw2unP23yk(y09gTiqv4cE@f=T@hku3Q!#P?DokWCygviEadErOmPqFwiI21 zrRX@M_A8?38VVHMG@qhllj`h^HP)3GDY~O<9`AteSVpravu)^0YGJ56(b1e< zYP-S+;Kbnv_ziDYhS)bDyDMkBz^;tB>3b*&Sn>Y(d{lwbciI7zH!jr(69JhGL+m$W z+Sd;cR$et2w&u(`+t`+Jp6K0UynA0k0Y&VR{Qc|LUEjYrwWgP-2|y{#I@MmlKm>*7 z#!n?Kcgrb;1It@{2Ry(?h3`E+5LnE5P2Lpijyq!03~9;4>*8sQxZ=TVO1YZ;)uk6jaLQCO|1_3BZ0jQszcvW-eb&(~n}&=3 zN^oCO{mB`QS~wW-^w_d2NW7^&-dCv#$wjOm#?h1ZeJnh!X6`)&@Xga!#cT6-El;Yq zeaWd~%q_!*LIlp3v*gSgvy`ysQ}efNnu3iJ-*LjL5=S~|_UY_u{?(^vH>77X{@J1Q z>_~ccEYdyO;a?m7IJO)YtucRJJ!{^1PdC8}aPN37>+mHf{7H$Vf20$BD#tqEs_(d0 zBZVr>!d1UG&m!hS)ris{Gl-;}`@FSo0?;3RU6^#e$3bhSpnP#O;R&UvmC_Omc3I+- z;u1NQb{+tW@DTU^BfiHxS@_FkC`})lPtV_Bpa=?Ufgvty!39G%h&iz(-w`Hn&a@6R zpZHv2WUMh7NuDKP{o(wHHC__3#D9Z`-6G-;;=eZ0l)1{|8s@ra)hSl> z*HS^_twK+iAHSTOW#-W7XljsqbW56(Xm&OKYNSB1$~ykOQK-vY4KDCX&By-fdJmnQ zw56r-TQz~MUy-Aw@t8o@&k1cy`Z&nsjdAbO(sVraIH71 zAfaoD=F&-Dh^qF%a@;`wKU7AJKol{^C@q#Eu$za1#iezz?n{G?d+^{&ceO&uAjFj{ zs^p<^kMS1Dd&bE@ocCJ{cXP~tN{!6IWea?!pcPv9j0#IYS^Xn8<@WykxXqIXzOwqv|rf-4vg+sn*!7Sdj3U~JX4ypm%sYe*>6YCZbzLOi>~ zQZ|r0queuVcrK!Y+One_28PT0FVf(JG+~j)MOzoy$gx||Qw($+N+!{>_2i`oNS@_B z(rdJyMz4P<*C>)rSoY5-8~N>lrOkw;I$I#;W@xS13&PmlGVvW?+VZsi!qhBb!eTfkhSkA%l^%W$OZP$^Z|`DfjogJCQ>jUmL|7~RpH+u8E-<@Y4y~8WJ;#;^V;GtEB`Ft+}q4@-cEHlBC?6%L*@JDlR*lm~prh@%P(dAZ`H{ZP{d}91+cJ-?(POJNOC3W~w z-TtqAZJgDOh98|Dj!R{lIgVjb?~Y>9P*1wS!j1{hhLc)}IoSH-%PsERHa0&!a9zSX zZ273mBES$SDz7HZ`oETxzki%!i^@mc9nFnij|11uWy<4HCAe(dg77DS&ezGCgJKTe zq0J$0Ac?PPNLnCx?`#WE%D#-$14a&&A%FG`6@0a6Aq5go$fKFZnzI`RuU0>x1&2+e zJj#&pFgMBBOYBxX9Kf zzsNfZctw6`i@am!km-&t=^WR=WJFJVG=Vq+k#B1z8q5y&f^IaVgrRZR1KG-W=9FOE z9j;c6g4NN&{K+wqkWRgx_Y>dip;u+mK-s{vIipU#N=D=p z>LeCfjd0;^Tjkt)a=r8Wg~!fy=ElkXG+(EHH_c7FuCTQKIt{^nMLp8qoPTy)+vRS1 z5EKCXIX2HQbL1-`ZWu*!Z{0omX!I6aYVLE{L)1)tu9<@i&HRPuYL>b$XIYnZW>_x6 zr_p>rRw#oUegQAD&9C@^kGltF=esyJXPfyH+x@xOX3pGWI&W29x2JPAV*a?N^vqIb z&U}P+Yf%@9&UKGp_UGNFYmb|AOPeSvk6y`_@`<9E5kD8*VUh1$2)He!ajc5$RU^-< zbDJZ59YVHMy1itoHfjS~-mj$6mOQWpY^^1PLa~8e&O^$JF<x+*soeMe+r%`yM@S zmCf$j78%UtuYD8BEz^=aXw8xvh1sJgu1!=&$Gr9i22ZJ2YxJ$4=&V z%Sd%Dx&ZcPHX430aZ=pV8;D!I0k-UARiMJGXpU9_l=pUl!~?(jvS^MMDVF4Zaharn z7r;Avef|ki_b(F%mRD1?Igd;ZPLNQ@2#G%Iv(MJ7GmpK@(xLvk$>DU>Vp0>`(Gb1v zysqvXAMgFE)EMHax7mkuXF}!fdUJ50H|xBPe5{VVlIzH`U)ps?!n^1QWVogrg>)|< zJjzuKH2@$Xh)2Q7@DJ=_TzfU-oDM>5e;qBEiy4 z%ZjqN8FKsUw4>)>dvU!EHvF2YZCoY3jsQQG*U9BomE`@6&Fg^Bm6_EPv`iI&s|<0x z$4;j56=h}BocJs8-2z@$Zd)8heZ~D5JDyw(xsueBW$g>qa3ij<8uI)tX)J$+zUblS z@VDv%*Iv#7xicd9@m8*hg>KdSC%))Uo8xjColg&6ED(v+f<|46*A`A@-rmM5=l$cB zQ8;^|zX}x2#l_u&{;fKq?gxNLC~%!FSaCPoI{rf-gIjH7y&z?>JGMiR5*uH+w9xAf zxn4s{_{%@8XPSH9=XYvS#`&fF76S~^VGl^AyW@IxIow^Blk(T9%6Mv3b@=j7;M&u` zWmaotusA<=wJMQW2oTIi@@`VNUKQb34~PG`kY3C$tkNVyGyhD{#Ck>2k4_9(Bm~Zm%n>y*e z{6?(IiOftt_IC^~=6+YB)Nm-is%y+u;gKN5)@qYbfCKX~|2Gk`{p;(S zTFnZGH1KWkb2>=dm-i5Fg5*Q3H{1*JCD19d(Mf}U)1cn8)0TE-rk(Q$wWpogY3H(T zXAU16Q4TCx2SeMc#8V!ZCOvII+R9qfuJ{2?+HxY(u265ja z5_OOLc*y?!J%4qIb80^;p7y5zfv1)&&0k4%GF3;cL*o)JyRkH~@^th-!WjQWp$?)b z4MiLHh18FpMA+dMrbF~}!tfoU?fm057lki@QcOAuS0cIq;duwm`ZDxxD=y$ecUFGv z@sUO=x9XdAv{CrvRyTt(0#A#FR_K83i6<-+s|n$vy5>HLtNz#$dlwqj%R4yU z`!@Yi5XkQI&ofo8KdFV&pnhmWC{j6nLQ|XDm7bTA&CW~0nt|j<#=PFm*cOS&HhMQKCXO-Eqo}Rj`!YBSCom&H4 z6X`?OJAuye|HkahTU9(eNu<3yb-`QZEVG3U64gGgxz0@>e8FSvB>FRWJG;Pg*q~}O zI)4^$geDRa<~`@!=^6?oA=nB*7ROZhlexe41~f-Mxp^1c<=>m6mDw5o-1>F?d&O2G zz%Hy_o{~+Y_{u)nEg@C1A2S}Ubl2s%cBSXv$(%Wv*6J!q!yF&!Pv ze7e7{InfI$e%2XTzgBEP4&)caP}(vdVFG8N9cGFi9rvcf_q%tO*89cApDg1yaNU3D z3q024ZShINR9!of0K3%Iwd?W%s&;nWw3RuyYFEARaM%uK26G?)V3b-bcr28#ZEo%l zvWMr>3)`*GMFEDpIy+LF%mpYW;Py)xGpE4i<3RlsufqZ}bbiSq4N7k}Zzgl;1)9Qr z-?+lAng0}~GB?8YhP=EwIDf|S21V@KK$)%{=m2DmeVP$AN2J>StZ!XZbynJ+g z6=xDazPSu5Gj_vp;Q#92+q&q<{*GRRUI{@%!dzvl%217fbeUtmP1wm~ zmeGJYpI*h>DF}`ukY!(zLio8v*26@^^gg3*qHcJvzvGnf-Y=W!xgx zCz5-Znyqf1WqYhO-}xP0T!s6q`cDCI+5`@Tb!OD>EPXL-;*0$u60ic|d7gu*NYhM3 zR(~R**l6ZkEW@gJ=1hQnjoEbnNZUAt%33ia-%BnH;*HH^f$Q&8e;!hq*my*y-dj4% z1q$C4&&pBmJ!H^k!IUY`CEanZ*@~+$M0DP$;^Ft^{@(pCI{u@9)h+JdbZPcjB1?uu zLzM?60^v{RjU4FXy##$G-^cC5{>Y*$)-o~^qH7HG9Gi|x@k(5bmp7M+^-__i9Sy5;g+`S9yuO?C?Y<(}$69lIA#n`WfmCSgQ7lXcrm~hG z{LIv2Gxw--{%{|S6)vWO_G!rcD4$-ycLkF>?nHvH?NQfYV#WfsOU2fLS-ZtQV2yU( zIBF?xs_S|uXLL8N9LrQZahOAX!Ic0@$EF~%dUB?R;f6u z5rLMsAp|7~CE#~)-yH+wI*(k(*eUoVC}`2Zr3EJ)zK9TL&S-$(OchLBfyb*6=E7Q= zI~#LEotRsg`lX=D21&qq0qDw;KRquwI@LP>$E#shU**YQoQ#wgS%ETIwr5|x`NjBL zo7Mx6u%Y)~F;1*E(^u!_+8ak|Ax8I@6pqgiz0c~(gZvtwj6P*EOuaLqvNeJ_tJ>j)i#8n0J~E(sIl#j;Ed z%AqWu?}&P*#{hISK(P^F^4WFs-m`qX8O+SL>L)%fRefBTwYY7_U|*OA&+Z9?&TgbS zo*BjCj+^F=%$!^v&5RxX^jq0y(`N;h|FTtO&iM1G?fg2ay0trsEc~C5uptDXO+h_E0yGPsgEc*X z^)1@Z`}VkNW;N~yM+XdrH0UzjXo0ba%ga5$lbqw7&Bopg+Sc&$^PRH`kA0W4E~LIOQR=>{B)M<^sHe zq@j3)B_96VjsZ+QPNbq^{EBY%DuR|meYJN~OJ+KsKWl1;){dO&eztJj;poHa?h?~B&m-F5{En-U{*AQE)*{?=BR;noR53MQ^v^I zA$w(aJUrSK*A>s|WdJj%DZ;;ySxOG{t{{VRv3bX-l0mQSYjQLw zixd0h@WvuznsjdYvP&no+2;mRI^eiE=XRCAVOUpuH@9CLsUh??5ipya8QzXN;dYE z>qR69;v&X5T)eVC*U!ihgFI2jSh^XF`+(;4L!6&1Rn7);5IM86>??89667+djon~g zgCW7JjOCsjge!}4U}76BJLWgh!}t`BYIG4fLK2(RP=e0faI zX!xIjYu{nMvio_@;ZL0bzf=$t#M|{+usR6rRcOHk*pFd8kp0mqUp29du2XWMxql(5N zT(TLttJ;=+wVt5Yh9lHT|#c)A#JUUjk$W41glV_&Z zMf*Gulr5yHYUt8B_m5MlOzkfphVf?O*HAA|)8u>pvvJ+jA%aRU?0FK*)$&%SYO!R! zvZsosP3O-Te)f6MwPZ*J<=Anpa`XXwjv|u&XG);Hj^&e^y>cQjMhTy{$8)< zVy`?~C*jXhLaj-#xXL{S1-i7qoJMA){ts_&0v}~{^#Nyv2!V+L8kOp((MCayLTkc+ z&X5Vr$V5{`#XT(+Q$dMg22orRCcr#-oC>XLZEap_``Xr`wpKu_O;{2Z1r!$$Mci*3 z7u*m;o$voY_dc_P#rF5T-4@&~&NNj_kSYqnX6=b01~05V zn{ShISUtQnOVeP!)A(g88`WER0)m!bQ?vSsk0xp2xIlObivi#RTR=V87o3R|rc%%5 zTOYPpHW>#qCOd~x0^aE z->NQHf`-a&Q-_@f_Y2iU>R5;zI=hVyP46~E*xaydB)hBiHd^hLZM3=}7YcbQvi41A zpMZ=bRr_Qrfj*o-VHpk{t@lkVNtKSyce6Y8TnkPB`0NJ-lE**z0-pCg3&+LJ!;yLy zvu|BAUmnHPFhds&p1K%TN)h%eSkgTr3+*?D8D3I@66ElwehuD9BWI~= zF7JO#K3s&u=AeBZ_Jb=6g2TSnxetqkefHRbs{F__KBI*EA4-9s$Cjoy@FE|F+~;Q= z6SB{qRBKO~R67hrXYPcmg8q@Se97fOTtn7)>gt>D1T;{N`pP5tUBkCm=RqnA=KhAg zVCVU&3J!_j9Xtt9pJz?eM~~&=N(EHz?hN_|hnGoe)DPHoc&vV!c2ufz?QpB3wWCBG zDh^{y`5<^S-A1EupmBtcB1d9eCPT17%h||TFS^3bSM24Wl#)X#Hc$ZtmAcv&K`!|x zrMxi>!e`WG;?O3hTJpdYmQ>IMiwiF-NsYiKI(0nK;wDbB1R87Xl}40JAKXf%SZ0JB zN~+!Oi#4^;s?7o0h}HjjJxm~xBe1Wx51I3~T>a)oXYb9NzZ%#NAasc5b>LF$kT$p( zjDxa1d+LK{2nYq7IM@Mxd`r-VI<`SrW^4pZ!v$~}a1NezR3wB`pw4$b@&P+MfYw=j z!RFj$?srbqjLMu7gC0!Hi4PZL&WW%8M>t{!vh_!~tZZFFJmtmIq%Hl6q zn5qkFAeMf);#5n;V_vkrbA+tyxJP?cT=BxcKgt5g=2wGs852s?-+tieB>97J6{-8g z69?Q8#;xrq0op}gvW ztTnz@dAOg8cFs~=Ph=L69!Iq0*wPt8r>j4tlk|>nXZ&q=!Ed&k-tmty{>uHuV<}K; z(~-U5mwoCl2aGROZTpW`zr13vdBDqrPhq~+x~a&zsnog&Q~Oo*05oV@v+M2aO0C(Y zo~c7;9>;;K-Y8|a;eE_(*qeAW-hnGkXXGZ(Ko?ek0U z0MTa`6#1-z5})laf}9MLky!qcZ~UHfN}IOW*A+pPnP+P8Ow7Cf>K3O42=~94hYd!Z zB^4B7q*+soBz3)K>Qw^JBz2CHd^Q9m2+&o^CF!pMK$EPg^;NeP`RzAmR)y>hA==yp zSdcaAk2M;=l#~Lhe&7WI&re!eR!b%F+iT~ea zFit|f=)3<`2E%#F4p|A1-5W(-A|)$<{w?o0n8(hPERk;_20{9$i?=j^xadjJazm5( z!02;a|BAUB(Sk)gBYm?d%zy93ItGNkKUfe6=BP_;g?m9Te!GZss#=`v;iJKuuU-or zxixUyX7qid`X^GsQLi4+jym-R?eMDKXh*qPs2!y$rX8ZaN;CI+A_(I0oOuSWsW)~^ zGUP2*J(^l+C3$9g(Dg>%;(wvAaUbh(gL-w56Cw9n`+Ao&iRVTzW&-%4vADDX-}6nb znyqC!5ax|l(xhq!oFOr~F)o1X9~xQ!*<=?0IR(pUGjJD1JyGw)e}IlU{7<5z9{&wI zD|<=i_U#~LG_KC)dNNd)gWbE)AHNN+8bv{(6gvUwwDiC=M-Yss%bEcWKHSdmp`Z{$7ice!Z17P)o1yL6`>_6Kktc1t z9+4e7bR|AayIOlU>d%WNbhGwu*PnM78rLsV^r`zg4m6CZX2huDpG+pbqq<#l?_xUp zb~*8?$zTA`!wS@e#=|3*3K~y4J)@0>Em5Z$PcuEo!m~gl@GuD{0tXmZ76K33_jldHRXU~p9r(cNva{6g(e(_%*9lE*;Tt(bhw3cne0Dw%ltMyN)J5U9S z?OCn43+1I+6EhxZ&1~aoC(PFwkF@5e#?#E0iSU@#1SOoUIm@`RS~Ks=RBJxDPq*eU zq|>%RFD=#3-3hpTm7~kTM+U(V#G7Z+7fWGhP5L6I4@FCjND2nqz<@l)38KphoDT+U z8^cXYr3tr}pmC6AckwW`TE)Lc=h8rCztpDK27v!sWv??@659(FruLfU#TP2^^n;6)i9(C%*t(>6cI` zS2{jT;vd~^J=vA>1R@n0saEx5#R&HBfxu%M}R-Y zcm()k;4#1-D&Yja*toKQKYvsT_^0pEz`p}#D&Bz)6UgtBjtqES;eCD{4i69mVtd$U zz57XE{}Xbj5PzTX2<*2TkHCJL@d)fq#v`!*93BJvB@#~9>x?UFxw{8K%x3YbJH{hGzhXQB^jhN)p#Nn&0`z0>7@+?s;RO1APX17bKs&&lWdhb6NaMGEE3zsz zR6NKGUPen38ch*(43YV8g$b!=i1ga#1dP#W6=<=MWq1%J?u>Z~<_Ok*Z46+XcdT9T zFxKEA3<7^!(i;OY0H^&4lI+OAWS1rAUR>L92|^$Z<~>8f)ev5~dozmVdq%L>%0n2IgwCasL zB5+{o0A1!r=9DzgFfd$65I`fCBxNR}iNFczUCWrgYB@fm0#bhEnKfMJ)R3`K?FD&o zuQJbAf+Z|@c9nlbiEI7_DI<5B4d2=J#1TaT{}^5uyZqnH1!e+;rX2^WWyNoL;m6hb zEig)2B?lnu$8P=@E+s&#qGv)RUVhDz(N#GJ2--3VwR3d}iTyzsu#h4Yg6shdxe_>W zs1MlrQ!E6ShsSs&0Xe~S>blQ&CvC*Who8l>#g#>zWt+Ks%S^N$(Yr(kWhjp3{9}!- z#e;pZ!PQebKPZY#tj-PQcVlyIdQ*B2JuB)iM7&qTw1x>x>(r?z8xv3$ksQ*#j8jXr zX#hx+nt?Bj*u6TYu{X-X$NSqrDAly>;%Ius4mn4E0iNnir%KWZFpM~(O(S9Q|Y%ApI zIQeSgO}Wq%)Xdw9u7Z- zPoy|xcO={b^kSUvo)n|Temj;lyHdVifNmrGk*2p$cG27@)o zP-S7l)Yc<{6okJ`uUztu+BN42T!HnxnVMqz+M2ryGj@unj7OH)zZp+E>Qn8;vw)so z8&5Mm^WZT%#cT=ZPI0|)$=2*Phr1=G%T6Io6m|43^t?R~C?iGJ(7)u7P|IDFGxzVgO`{ zjFXLKz7%3WyUBP2v}=t=K&v+%0quO_5zxlLV?gsrI6*tjxMZhw@HgwU4E()uy9TW< zQi8ZSM?l*j{@%*Z=;W7-M}S;yJObo0;}IYi8IJ(@KkyhJ@0M@^dAo6C;cpW}nL)$o zP99}|{25XLe}9$@G#h{8r4WO^QN|;nooqY;n%j5;v_Zxrp!I>rfVKx$!yH6)>Qm#& z!e3=3Xur2L{<@J8_!}soIjimIPs;7k{?PerDc!(4&v*pp8;wU`o@P7(^OeRUFrNpH zfqA@y6Xr3-m4(jMQ!~(+XwxtcLQ0_X5(p}AjVREiIlxCCYAl8CdoI14n=uyF7>@w| zwDAb=j~b5v|Df>*@OQyufNzs<0^e+0S-^Lnk^%fF2KWn+62Ski=s*+xG%3ztxXgG2 z$is|Bfb3^H0_3+jx?uw34tNZZ?@Bm<+-h7|KpvY3q-ALgKaP|Da#vrC;RkhT8`OQ; zVUEeRlxLv4)p!KT>y1aCyvle4%8QIgpgbEM1Lau~PAGq5Tv<@wd~yaV-;QZ0`y(aB z?s*COi9mNagMuqE6?(`&vDv$)9O8ps)k2X1Y7X(CLURb`3tyde^*@P$;*j z$M6l=gCHp3(Ui=+pQ*=nHXc{)0$rLedqb;+A85@;toSiQg^&tHcAm z+QY`b8HK1J0;|D#k?{!D_k71zXgPTGvGEAj-!vY<`it-wtgn%9V*TI7m4)>_!!xjc z?R<^(yO0uN<2Bh&cJ6lfvu&kBKl! z7Hdp7DDvB1f$cEwIgp|3FHJCjVJTRa#~qqWSW1}N0Fv7r9lh_tMQ} zirY)Impel(7gT$>@sF$T*`Deqsvy3tQtYI8C#ldN0d&3J=`Lj&&n zLB1HajwnOJXq1s3{{^CJASRC6GKdm%k9VU(a=ONs3r{J7p@>Vzt^kNl=Hd|XdvL?4 z$B1iA4=w|GWTrs3T5A4f%#_aiGiOR-kDd>5M&4#TGE<&6o_5rtRvM4Yl*Pu=%$UEx zV`j?lC7d(mF5|-9`drwdO z5@!lcA|vV~3eepo>}al8xHbZ>2DmF2g=@&7;IKC$?>I|dEzXgxbC4)~8sTi(&TJ^D zq1QA#v|Xf@e-g)){{vs^@sE0?moOfV={E1K;)Siha)v0TDf$j4^g3!F+uEz!%@HVs zhRMkc_kOOLgi|fS#=5tI;6Mo)$ouCg5i2SAoUsCexEMz0&GeJb4XOf=EuiH8zIu7< zeVM&nD2*`d;jZ1f%cYkS#v{GF&3L4jpEn-q<(2T5US2BU?Bz#|D{DR62{Gpsad-I~ z-OF>4(q7f`ECvh@;7Ym+kDl<LCQ zK?96O8kA!^(xA_Gr5dE*)Fk0H)tbt_?N#Y{>kr&zxzP(@f_mkl~?wIUxU9#7w#_}@csBe@+E%5g8h}R;X8kS`RzEDJ+*3T49GzH&lu1W6!YxwvlRdsE&l>RSoW3)$i>lw2~p*)d-9 z6By)A<3HMo%05dDnTSVSA^S?fCUuB;lS8TyjLNA` z9UbZj3nCBtRzwEzB$B6zxm)cWMl2A#(X8&=1aa3u?sU_g|AJ3s9i7KyVqfi*J+Lat z_NVKEeKq^ls&n@;ua>8Feuh^7xA9Hk4w_ekZC^f0rg^nIwd6)N&85CWnt*kNHN99A zMfA0X#*mQK)u1=R5nD{lm}JR{vauqw^LQ{)jmeCuq zB#pI@4238-RNN_$KK|(fnVf&hCk4`r0-45I#zO3W#PFLxV^()` zI~@G;{No+`O39nyP$O9KdVoqF|8&Vr#6R`^4uC3oP%_h4|JaV-z~l)HI24We2sHSN zko`%>e!gbJJJ5KS7wmj14;Dk}p}%Q05(c9m6jTozc?7iJ6#(5n3tI3HMHq2O?6XD} z;9+cXRWQ1;V0=}<5rN4s&pbMSB9Ml)!Hk680zFD`=49u1Pr(sQ??QXQ0~}@Pmq2E0 zi&V0g&s-`ffKkl2ApeKiWp#dLs`fWmZKX zPSxvrMM-&iy9Ey+v9u(IyatKg-is1SpNovC9YOM@MYk{_ zqrMW9QxZ9a;$2>|kY-$mQ`R_rW^6iv>7l`#R z%)t#RA3bf4Yw+7!QT7qct%QtKVgg4^>tRUm+k=B`6XCIJvxO2wKG@ z$Qpz&r{A-=X^p*zvjwW|dbKG}z4ejPCb!DdZE{=F%c~w>hMA}EeVje78E&-NO_|Zb zaOuVrEP(JRr2IPyJd(QUB_cHSHeJ@|5okl!`kX1#Xx>Ej){6yA!nH-}WVzaYPF)KC zu|{szYosjxJr^TPulbbM_g%=oOG!(He~wP0Mo7r=Q6nT3L)s$?cnTUHn0#Fk4s)l5 z>@R~b6-{N4d{(k5S&L^SwTL-5$hsfL%`?^Ie)=Km{)lxCRPVw~>9p4wwl(r#S}m8` zcSYuW-CKmtyqPpwA+|%O5k^<@jWG0jnHCqioMmI8y8ezs-fDG)=*!wHXGAE=>`fbh z6P7X5tt-&^~OJC|kSWcnEUFkQz?3UEUtiRV!3sQ;jfK6}-m z<(nY_bYXq6giGA>uY(4(603G%PLt$5ID2V~D z?=jE?8`PhNf)j}ca;~{S9QG4OIdPDB1WmX>)#AyGj{gan0X3yn{<4X#xzpg$5!AL0c`jg|wAeO3?>LV){r>E%t?e z-f{|Tr%QF|c!yE5-%@W%mwKnJ35)fywf0J`zQ3zuo5*hz7*HRyXYg_(@gp!V?3$t) zbQ)g5)B>>F=2-)}{e=G`zPC$Jy-tInA;^H|EWjjMAlF3yV; zpERYjrzjRWDHq!pcCkE&vrlT;&X!0;cmu;0YR$~-(`keXExsS6Q<+DHKt>sPj3MZC zcVwOPNX>i=p*v11U_#esMsYJp&jug2+b#&MV+77=A)BjODh+W&>^~cnW&PkkO!uV# z{XOMr$-=crs$IIJ=^jo?as9_F!z?G;-6aG`OBeUD5^Y_nAlAZtKVFzfx#_zi9B$@duRKFJItRTqG zt{?FIGCT8L@zyojnf|Ax(H|u%@RX8cZz~Nk?SAqK^F7% zKT0THN8L%6!g$aXB``T_odc`0L#=T`v7PPI=Qf(fPL2n4vJ#d8pNl+9ozmIw6{FjqGu{%*iT|_k5AX^V1>F+ zvf)KitvG}oaA}X1@-6b-&7A3sPDObQZB+cwsFuI-&%1!6d@7#L(&$#Wce2%)$#R*DhYl$9oMsFFWApb@ zYz7L)`+nLdWL;HOscVA#Tl}1()%kA|8zS?=nrVXS2izRW+3TmTL9bhrOJMZHJQ=2? zD;QQg*G*++_sl`#X zfTNK-dRYX&z9Tm$0h_3h57j`_*j<1ldJS3M?|HV(98QZCthhQpc(h5QmfR08^WXD( z-fmK%_-%MK`-G(N=YP)nnB3k(N~k|t2Z7%xG%izr^+cc)-D;1A)w`8~U$mliIg*QE z=T$RrB%VZn^u&B@j~6w}xExkHJm)sdxB!oX@yrxeh4Kshp5nF{)i9|>W6=HcTM zG_AU}l(v0qpq;d%psECgttaj4sV!w;&jR{e`qzwF6*e-hc+WFJ@@yt?sM4bOG8{tn?G`;L3@sj&+V0$iBV zX^3b6?%@2F0|ufCN}E1{I#1XuyBT!)_(nSfd*d19MV2Mb71Uf?P7`*uc;^BWc7mG% zPmS350&Z5_d=gE<9gm|VxmD2f-i+$U+C!lsY@pjWHE*sXP z#0^Sv&HF1Hq4*78DEynnVCmL#+Kg%*Li}ar)I5X#k>SxV zV5BE|&8od7JI^W{{_E8vw_?YUX`TnMUn)%9pl-ewL*_foZV!qL4g1(NcNS&>4F|Nd z@X1#~X#>m!ydEy+;ZWNO81IIqBPY#{JMkcASu_ zsoR{bNw)Ot{0|;5Khdg&rSm&{Vsd3I#mIq-wC~tVcb;~yrhDh>5-vFTK)a=|ZQ6Y= z)4ZVF&2)E(8^h*b+EK5b(2hFwSM8`!57L3fTHObN0n0$vIhMRtdH=Zg`MKpoN>uYe zvjbIuqkv5myCAG%?N$TvZVH;!yYPYnvVXy<8%iUG3e!TyL?f`nxDexbug;Sd`gsDgI%Ql<)cJt;7FBN0%@%u>JV(eVETaw*g!3NNq!- zrs{uV2%LGzQZGI#`Wl*SR?dK@i}Js#)lR6ZpqLCsFb=;Ok4S ztno-u&!C)~rpNrSo#Ca*no1*(Zq})J8xakz)KWLTY7px~(U?ldrLUl`kKn`yDV*+c zB}fEJjw|Jt)Dqjo4J+%CxM%^@Lz0W21s(pim8B|{IxqlcqLHm3ufdUaSb#Fr5Hv*R zu$cqNp@FOdsXD|OB~DH1vzz47S&RHoN+Adet;VC*+&O2UZ_&=W5j#VZ!(}6Dz_U5Z z^c&ulxxrnaQUY3qC{K3zJUg4-(h?g(Q5|rA<^abhSdEy@g|CGn?rotN@xsT&>BkdI zbR$gO!fsF^KV-ibvL2Ef`;h0oaDUN=X+JBcP^73&VFp`zJ;ooEGM7U;J~MHOaD~$* z*YM%oz~>QS66qTy{RY*J_X8tdzw)gE(8O%&HUQAzNJWpwO%K3-cNuX!o{5j`wLhMh(ng4 zBIbfzD$HPwG$WFK0wAh}6EL2YZcwXWEo5Vx)Mz;;9xesbIt(5EU{o*zc4f*yXzoq&qo>c2j{Y=+QO<^kJfE_oVIqbCXCu}y0T~v} zh(k+*VsFH0)o*f}{%5<`QcYdBo2p4+@T8SI7tIGWZyu83c!#F`O1 zgP!#nOlmx3Wq`p7#LH*Fcnp36(MMz;xIGigM!M#FNX7*%(Wa2<{>q3V2v*bV0~DCa z*TCj?Ccs%h4X^3(tOa{yf~p%h`zEh?hBPABokxc3t6)AWK6GUuO8Y7O)pxJ#24NY2 zU0NN5L7za-g5cy;6wU|dl&?gk$ zVj)<)DtbDAs}v#^IJnAe1|=E2C>Nhq+KtFj)e{Ct(W(1 z*LsBMc0mU+)~B6jGQ&h$9dxRkTViXmz4x#*`bJ?Z`UnF=OG{pjtT^igv1A?Nw=m)3 zg%3~XLJc#!kb9$KQORrl@Irrvm*<>qLC>~~7o&VK(IJBkrtoB>u2Ww^h-9f7fvUfh zy^CeTyn>W{yOiBGWZi&c^9?Y=8MMC(LK82piZv?;$}69ioshO_VkiwOpaKCo2IkzERp?pnz}WkY zjUk&x;l$`+I})lRkjro%Ydk_FH@&F0?73S*SYg;jfNY%^9$e5TkJJh9WCt)sz=8&der#D2N0~w(fU2_;iC>kd6*BM zaIOVZ5lc5yp~6h@;d+XHgbw_<=!^yn{#n%p{vE$BZ_;yNYsMU3jxfNO!E49TgCj6T z7+62lukVALaR<&=&R7VeDbhFRVb#YAXdp>#Y!dvBgxg7%>zc>z;43*SCXgo98w7V+ zj#JW9FF>n>UbrJal5j!ZdFU@w?2RZE!*pb_1Ib2`OYHN^=YVYbThAs*Y%u-J3u#On zGG+gmz6Yg#52hbMd1*{Pz|sw-al0mq>Ao?285BSe)6ZngH)2!4p)O$6z>aH*YN-^h<+qp3LY3-}>p2fV)vbaCu^Sqi?jt#8Xjg;a z`=9?W5d345_dN)nfb!A^9>dcABLwe(<^v+QKXPOs_?wLa-T@E{%CBW5k0kq$>dWMZ z$KxG9tU3}yGvkPtaej*v@oG;tOFSbUa$~=GegEgfcx^y^aG-c?590IbSw*DFw>3Yx zKN`Fr__(C1OZN+(mizMTKVI@5x&QcfmVePT`+<+91-4-pWB}KTU)`XdIZ%9jBg_AU zlC9|@cDntPD}41AS(Rs(ujMW;&8{LNf1EU>^6WPr<==Fm@)3W@_r#C-p7ipsGZI@OU0^M`9c~2OD?#n@`;ZQLSUemJ z)*@jZT8oG}Yf*>%uEZ}gt`-mb%v$uK4%#f9?ea^(9i-x%u@>!+-!Jg%jV;=RPu0|- zh}&B^^~A^#JPWZAIA5G`CHdA6fLAjnf*UQ@2e5+;^J&lx3>piP9PdEv)8BTf+aJ5q z-Bx`}Z2U2Hb(uB3tgX5{Hom;A`o!3HpyB)qLB)|vFqSL`p#8jkeJkmKml@xn?j{K7L76q~>{^_7pzHR`t25JN=C4P*TYZpKM(_A~)#m{DTRPbR zYU`9#71{Y)I@ud)+5Y3%HR}HT$FrZ*?2LGkGt<%<>H8#q+ggY+**_T>g27-Ca-HuL z1oIz@Av26Sm6Iqeu)(RYm;0Up;gI9m80j}+YvskIuDezw@_qI;pFC!%XO<S;;WWs_yZk)3o`v!@&-2zI9+uxIdwY6oP#X zhRB-OxkvhA(~qFZ8tYtYoMuxYA_W${eeOt4Og94N7C&-JX63C{2QDAi2Kv1*<%|}m6DDSF10@U@Iu*54(h=!fRb3ImdvLapOhxA|lafNlri0Jk1(O^szOT`H z4?zo8>t6^6SZ*ab&9jfdS>?}!wi^k zWW-0cIGP+0wDbHhBZoDo5hgr>Jf)Pfk8H)9;US2$CxCtMqN=WeL@Q#f>Y*g;^Ku8; zox^sA^0x<0taeABJ8zwO8q7{K2g78YQrbO`SwIeshOFQz(!z4|_GNkrLb6Vs?0sM$ zJX9lS4%8W=lozQf;RGNkvD#jh=<2EtdKCyx z^!JwR@j%$~7smwmK{Mzr5_^VBz?PA$|9uZn3$xw=g|O4Us5 zpr|3t&o#h@;gtGIk7eqlq`>3Xe|8qKeaQ}r3}OV!ww4|A_5w)`hK4IcRPXLGvWWYV z9V}627dvyukFx|`L{2O#fdI9ZMe|W7`9`cfO^0d z)~Kr=OW+$NDA7R^>|4K zX)IhClJkUR83RY4>hz(ZmW)S7`iPS(d4Wbf+8FVe50 ziWZ1^C#+-Z)nm{a=4-o$?Ds(2JRzOu^H_6_?+uEIHV z?=_OkQA4f$1@Yg3O86xi=&yW8rUVD><^)7U^z<2L4{ZtBcW~(XVDhh^1*73HB-aE( zbQc5!sSdl=zGtI+<`e%R?Cc#7a&4}*3u0iDybv5#4CRHlOGP#D^T8sPL65>?sm8_| zaw$bX=6}$>hZXvvyMr@wMpYU(Zu}|W#@fYyhEndT;yIB+X+-y6KPChCM@~73f7J|A zK6?}Gy0ctZ>7CJQPL0Hz(wA5=r7Dsl16b14)CC*#epE`s=>R32@uAZT7mI* z1pWhD>=xiM4jd=bbH4mlz?1I7FaEn>@)fS)zHgXx^-Knv)L%8Z!qqymK=)xg@rG5a z)J!P)LAt+lo|#Y!{IQ41s926)8r$J?WS^ivmlXZt~;>8zc!B7p(r4&r!lP6ZSAk5A!Hs0#rG(1dwe}re zfL?3Qmn6=-yXFz;ndmM^9ZWzg#^gd(l&jSXC)P&Rgyq^b_YC;4^oM7$*Eb?mRdw*d z246dTnN#||nUdug7fyHfnv$tm-_>&`D7U8oJBbDL&#wruEHG(c9{KnG0WkNY_;g>(cf@+6L@ygo zWa4n&sAt22m-5~Ro#1!X^f*xv2q7;1yi+=li)|Vg?a%xl;NlLH{C&9S>e+)FEL}*cvtJ)5&#ihyz|hbQF;+4p}jgV@vr{_pkMv+`+;87GY&wfI&ensdQ%jd znM%3iD#?!D!KUPn1KV7aK|Li{h@83pP^LiUqpU5## zXzL8RI=&syt524JjM-OwT*sfazx?LS>f4_?WO=Xh<8h)~C8?!k-{rHL)EoPcZ)g0! z_a84S;hqb!>nEvx0Te?UvqAO;X6=e|^H*O&*Q+&`eTZ)3%yn6F$>#;}_6W~FgSzLI z!dr+10YQg@vQOj~`!2rAF6TK@%17y3oGB^`gX2yr1~HAX9d7$@YJ}PLjW@VG8)vwJ zwyyy+GZg3st)j$n%{P|iL_o9paEF~EJJZULM&$Pf}R(} zs#C8=pn;5m3cVWGnx#9$Ft*L!B)j38VvAaSGmQz~&I<%1D(vzj7_ z!9}cYL~S%~CdZuEWLSWoT!Cz*gc)QoFYFLh%8_D@x;)e4ya|xE;QUvoKEA#X2tVJA zYtu#*pM<-f^UL9`{|dYU@Bn(QXxf7lq~NO;e{>5TL%Pv7Io&>~zsolqXE$F3gJ7Dt z%I9}Qsp5vrqk0Acut3N@$Ufgsz62Ra_4eQezT{6Tse>kb5cli3&61FYg<)F&Y!mQ@ zz)-?{r3AqoM&>nUi4KNbE0RVoOID-g2_VjLd5i4TDrWzP0&#%9b2&Gc93Tp-63ar_ zW?i(ay;aqI*PQbaDMkqQO3)e8K(dGz;IRqFpYtnl!~)l# ze^>Qzyh@^)nL_zwpPjQo7}1fy0U>O6APVUx&+g$H#dijW#7NZ&EaSw8HP)>3?Zi%QJhEj(2UcV z^?J><`eDz{&|ToKLCGIrQKyU$rcgbsr?_#I3I-bK*+|Oz?K^5Q?yt3qT5}* z=&pXgxc3ZSyspCad5V5}`G_^LfNk3DSsp$z*%{q^^vsXHg6T$Aj(73T zA|YR=8th$sZQ?u>J)@+#v!V-cb|govf8v_x?!hyPy7EtJ?mQteD7yP7dQNZd9Gd9U zl|Q1n^ALd7Rh^f!gp^xiG>QcY80m{L`*{~n1-qY?mfwrvf^WoDf8~*6Y_164gqK{= z3~BB!VLCR~7aM(KS3zkGMxIC@rjP};;F&0uI5QkVyz1@d)JtkS3eOCf9FerDz&kBc zoljr@L+__Gy8v2?U@rq>qeA^vhjKxyR1atm2$u<7wNQJ!973v9dob;>2;ZPRb?{75 z*J#fqcPZ@1&9IL4q(;N>ZFR*36f(Og96sFI(}?>59Os5@lpPN5c$jK zMo>G0PSZhjBj#cKd5oVF&YV5O4$e|}OwOHc_us`aN$t>%I`zJG1k^U|@T!-zqf$Mq z9TjSYcEJ9Jc9f{cwS!DdY(am34`a!0nFI(dtcjc_qIaR5tFk=L5c`E+16u(sP~~d$ zog}?mR&-!^2cn*w2;TG0hGFIcEVPA7Pz*?u0mE>|)!Kmrtz2ec%)P93Y!`cn6*-X~ z;xu~^5F(j6-?PcpnvW2ja|nc5dcFWe$mzB>$s3W%`9=ukm`-&V}ewfIm@y_xzrVfGfI=rP=eDEM%8qNPsu4?tc){jL~n7iCltR zIvvVu0u%-Y1PCAIcS7U$)-?EqIY ze;b?CbE2$w4438~D-s+aL%izLN0F_{-h^azy7l)Ei!(r_+`$6|41|wtxuJhPd$KO^ zmbdM5Z<|b&ay1gA(6Y7^dFp!33US`~94`kj{p6SxUD>D~f6MubbA*4HbPL`TzAEzw zc8YaucDz?z7X0X#ncjdzr zx6jJ+S^4(Yk+TC;Eu#4RtdQM8Rofv?M|cF<%)t0~kYhu!ZVq0)1RypCu(aWp5Cv2pFrM!sd@$Dv zzU8tcOZteK&!;0F7p-SOgy4Il)oH6L8iPjFl@O9`jIOLb{}O31s_iX(crcC z+ur3{EjJ2{?s2>3e2V#_6MP=PbZbKb;9@(JPynOSF`;;IKhexQ^H5MXfzJ1f&>Ojd z{=0&BhfSGF(-Z6h@6J^vG@Z_#oxq+Imk%x|xZa6aclcNxcCz%lQ%4{^vLDLMe_lG0 z4V_k2xfG)i_AGY0=FbMsTaui`uDSmMOa$U%BGA?s-BswC`%kpqzEIZPO7%I|C+PIE z-z?*CiP zupJx&P`?o$GWy#7uqhY+2HW#$T$LU|TZ8c-$1?O6IyCxio~xA$6cwSzhqxGZ4x&bU z)I))mX!4jy5Ku1uaWSC8`OJmD);^KLTu%;6EoGJJ>07aIQmDiPXRcI5{V=VipA z=>=H8u0(-5$FV>(oA*S>h3&R-I@hQwH64Y8?AN`}mRS|<7fh}gTRClLRb(fTQPq`8 z^XL=vu)+>|K9KBeD>yio>%~i=&w)GjG`K#A>Ct3<1P`Ld9HoJdT!He@#VEW|9fHCW zwJpgbbMx~f2O-hV0Z3wWOETXHc;`n57zR)=9bI$R=w3QQz|CzM)HX2s=2^O^?psh4 zUUERApuNgld1|y8W>}Jb8Lyi;Aju$|YmA|0T*Odbdpea&t zXjn&E-q@Hw50*=pGx4V=*wxwrsN?>_lU>N*mO0q-cWDSWm!oa0$%gA6s49nD)T)M} zNP+!QqL8E|2IYW~3rljmqh11Sw3_F1P|&Za7a{gds0T`U`P;huLmS%zs`vEd=x$=x~HINsDVd+PRafdDpbnn2(xiR4bBtS ztTc=7^8M~XlhkKpoju0kfq+o_G|1as=vv!lf1v7FBqmSi_JTnEygHN|O%`LS!{KV> z9Yge!d{=9!l5>I5SIxyrElf4}Ms^ zhd^? zA-^ki&}#8;rdus9>Y&Zy*)G5D=pZE?lFC-g7dmK{cyfSRtEB+HsF8TKTDW*vErWFs zyTNL4%P*-8q+%~wEfw<1Ck+Tn}v-=76g~&ElfMv%&*vn@18vUkQ2Y+g^^g&W zi4QsX9Ng!(z5wZlO{B0f#&AH^wk!b@S_sJ0=ot>EcpUOygPLfhd>&>z<~ZLC;_TP~ zT(EhmS-)69{-d%}y+W~@4eDv!&|+~amc_zZGg?-%w|x-nJHVd4Jf*WFb#6?b8KLXt z!2`zEt2ukeJ8Pm>^t{AnKv2JJF~$og3mEc^$Kg)J8~evRbS*yf^(Ur3mj1NqkF7tq z>rWgX7O<=^2NpBph5bikMnPG8yl{<&F6bGJ7e1h!gl4LC5*n{|x&xLTKXH*#QIFGJ zq_wyX1KnCYNq#TGFM{gzhg&x$1m}f%dOlESEpCU~TKus5KEh~g@nhoQs$eaCS_g50 zA!fDyY?P?Y^81<&+Aba?zaQckiVR}nxS2TVyDVW``2h1U$q9f%3@eU3V)$g~$ z^1Y*-o^S8h9vNFZjHiJyZ^MJ7ub%E#w7ZV(b#$ANdj{onGSY6#Y?4NvP zy*9fn+8qw{2>7aPeP7!zs+nC8ydO0A=O%VFL^oCV(be&PjLcl>C-@q*du z`;V7yI5#6+?zW@2kmef*drQQnPDIagmAU*knR-$=E;eM0ixnw%Y0u)6+uie5;}$vZ z0Eq!}-LQKK+~uT^{beU%+Tc?GWMHP_dKf#YJTkx*pO-k>wHPUagR z{#Jnhhv7>>oMz^E)%^eg9F`t5sdPjcp6w>$!Y@L(qIlmR|Ygg4qcP( z7wSg&F=cpVvYWdtJOa%`gQ6| zN$lupDb{&TMxK-y`-m61TB0a7H@5H&d}8u$JGOAHxVb6B7IIIBE##IETgV+DwvZb_ zY$5l9*g|dxv4yf5#K$JPT7C&X3Tu(zX8d9|YQ+Dn*upvR={rQDr%O&6kQ5O1T-O|e zO_trgVF0+b3il`W9@o4L$mNeu1*;R?XMe&M!_5c^#i^p;S#`q$!~mv>#&pQDosS5R z)R+J5l<4S&pS$J~bbo9SK}yUB4qF*`epmi34>V+kuh)fc&}joxA_HnYuh+W9z77>@ zjfwHD#kdUK^|SCP(Op-EkB#n{8a_0->)LR?=&o?&$ML`uiNlr-W}ziZ`|)$o(xdpv zv)2VTy^RW+;X^^QSe0weXbi?gp^OjROzR#q5-Kwksp>vYk5#SN+_g9leSUFtR}mrT zA2y12ZkZCjsVD~`&xvtlDm7reC{n-KwVV3mE1=#ATQG;*v(3WBm#eOI>Q+oC;)^kT z1cbzoz>F?{g~Nu{4wzmv1_L3V0vVNAT~XoLJb%A08oYcU6Wkl;g-6eV5;X9thMZbj?@K3mT5w(!}7i=M;0@ znURZ&LvGJH#z1%8=?)sVTrap`U0gVr>xztATt;$x?$WvbnacGCoeQR}@8J@|T;&XM0_k*fOuFZEx;wHPTTzf3mkj`?;_gcUni#ze<#aD`0l`W z2fn-T-K9FfmiF71R{E_gE8D6^$HtFts~!^@Kc=nv%-Hxd+p5osjX$fc+8Z11ZL9Xh z#{1f;$HvBwZL6-1jjz^ps#Yka&kem!4S4HjHM7My!=-2xd%~Q9eKV5v*o9 z(>i01(r=I4>h!ZSg&5QL(DAd>5u4Nd7~pX8dY?KRfAuS_^Ap_4(vA|T?7>7sI`pJ_Bl+DV?@KDW6l2kZ%iW$#w}p0e=JMQ zti!kwLlslOMr_=(iUvjc_-t=U;zW+vJxGGPqj)H1AXzyDo8I?D_w?Z%WS-0433s9E z94htH-OT$#o(3}NXw!9^D0M)za^sZfji};q=#gLAJ})=N)9D)9xwL)R0J_F^CLpN@ zJ@m-r=|-hVSM6@x>?}P96~g(8B(vD*3bhQ{#H@j(UlgXaqrS@Kim8ULpcO+Cyuhp2 zX#itJ)4N*T`I)$=CVFpOpwVj(>4S!dBF}75th#}Mlj<}iz#AsAN2pk}x=1Tl1!HBk z`utFwbD_kiifOD7*6dSH{;U~Z5@VXhrA$9=tek~L}C z%{hxe>^A%8{wZ-2vfl@gS5PM(#++8m2aPksp|Jgp^O6x;@w|lMOIYQ{mWJYIm(;Xw4aT8dCO+V9Pe~57n!9S&65DR| zbHF*b18+TVG$ae8d-2X}oq7UWv5*kLCFXqZB@?8Xe9cSA<%et=ZlK9KB&A-?5Qk#N zcO?DX$}3e~qfj~_D0jL425}DAGzG|!$afK`2gKWP4v5Vh3rBQ$3vdkZVou{1WL%)z z%ab(K#8K}evzDvVPX@cax*)eZpYtLR$KZ$$d3<_uAM`01;zgFP82i~i`Qc!PTfWhV^@1U8`9k=w154cULE73^Z}}Q5-!!3RLp-bH_gNjZ zQ9PUF_ca}~T|7#DKh!}x#Is9&ztKTC=ugXV#A)9e#g|ABnY>mDufY)H77rPlR?Bc5 zR3V;9`5mo;IJm8rfc%CS1Wvf#!}sQAa2scOH6C}txGQ0C%A?(^O`WRU1V$aF-8pn0 zrrm6c>aX3~=}xvuIYfl|T)R8yeqXyEqkF4%x6{3W?#X{8`UCd2RFDRFjC>fB2t+@@ zvKd_<5hMGOfm}i}5)Vk`_3CbX@roNyg>0r#^K_xjbl*fb<=8vH2V5W$iC0TB1VgWY zgF#+3(YPwq**em#eA-c>D#bxMLUT;Y;djO}zv(dx{)Uc*+E^6^!`Ic_x_ zhnNLeBeFGw2coMW#q@0C_j_vy*VxExYoq#077w#GE@!D{$a0Wcg`{(=O^ z4UlYdKAg_wOBO)0<2aCJj|<2Qkh8qswoFnd9I!3m*I})^=~$<|4$YZvP0&_i3Pm?* z5^DpHPS>6k;6u9AYV@_zr59jVMZ5m=3u)H{=+ac%utF;gcSwKTh$Cn;boCEQ<3e1IJB->;IgQ7Xq2GW(J2lPh#5GY`xk`HQsSXQD? z)Tl&7mvc_IN|b|@&O96{GVSptxzlosa);;UzXU*vp%JXKsRzdB8Z--{Tpf$e6$Kr` zf@)5G2kOOOgrxO(Omk?>lSaS*4{pjJSP5-HbyonoJImTJ>&cqG1>U7@c+^GUWEfiH zKiTG~Rq`RMN+HOC>4AMV9!64+i)${|dpyo5fuZDguuMqX@J939=6`bqhtQf_{zi8l z6TU4lhGJ~t8}NlpSNO!hn4(-5Svfo~CNHl5DgS`DfGLjdI>_&;-IBnw zp!I4SM2t{0Ua3R)21bVGbL(cZ+<>QZ1_JJ2fOK-8YBAk25hxCC>`}HTQ7o}3VWW?z z-;Ukk_at0%Zu}0kQB7bn`~iCp`$m{J*rO?@ z2*i~Qc*0p?P3gHu8m&)XXWlt-=f=!|$exRVG$`DtrGl5wuwstbYTb7)Ia<+9w>on& zXC8D=5BLCs<#SyAmEk#%EBZT(7%1kSU=Mzelc-+(&onMH0IFUca^>zMc(4r-+?&(? zD)_VV_@>8;Vkg84uBwd}bc-g#DbZ0sgOnEvo8qe~<%YIa{WX>RU?kU*re2-c1a2)T zROtQ}AvhL1q=y4xyJrP6GN2Jzc~`z!#xp{uM5{)HU20OQND4JOMZS!c9{K_}AgHaE zUl#7w4O*gl6+XxmP6@9nosE(Ktan$7)50qliMBg2+fp$ix`5*ASbSx`hFRr2SbDR- z+R-}tB z*s6)mMNI?8Rt;`$DoS?ZaOzIHtaZFc{Pqgw^Lyq?#-k}n8!vWpo;Wd9bmHKc*zLoK zF0mOc38?1^@MiR~vf-ZJOCB&Gi!U`**%#GSAi zo^{=yL8tM3+$l#o<36<~Irr^u{n(V(JP8c+l}6TF-^d|wkg*#% z2o4U$aK9zFxWeqIE+xw!n$!LGnZ%#V+7|vE<@iRu93JYgeEb0xKFDZIw_l^8l14z3 zIJm~%MvXS~=vaU3va+B1+gknyIci3Ag%3sUcIF;XqqW(*15cuVjr}t7(c_OzEW4`B z;@a&SwLT2k{_!B(kwfT1uJuf~9U;v1EUTu+9}AUDZj1gAPN?dYTo1t==|>;5Nqm>c zud%=J$8IkB8Ick3S3S7^@!@G`Qlu2VcIJd)GHUH0_yRZ}mdFkrxtsn3sVRKl_mLmM_;N*t??!~v|GfE9sX6_d_^oo=TK1gr6LR`_ z5XSwP!Ux(w*t^8=o%|yAdVE7r55eg`bq_Ioo$IzKeyiNRQ?lSu2Hq^8#2|X5^`~%n z?q*T0=mpa5udzKs#`YOz_qS;vXq)6X$TYHOqOuuZ^%LBpISEYJZQ}>TTBVun2*Ah; zp1Zv$c*fye80YaY?XMi38}3KVCP#B+B$B4+$ha`5yjIZBb8a~`}> z-05m<5x%ySiT-RfQ~BCfp>`tGb9V=RO#$qMQ~|5uaSCXMJ5_-8umJXk=kD$JH3e*j zGgW|s$0>l&qzcd;7Qk+#9<3NASkEB}TL+GsQQx{+FGM963De3N z%0o9sC9<3}U!}h!nIQL!eV=9YmjL!iP>1 z(rDE|nP`1$mTtkT^3`Zv4>!>|@nD{IU|8!BS=`f5a;&GIY!@i|r=gs>ZEq-NqsTOr z*V1R8T(UQmIw%v$(E{BDHB!DB%5t~~<)V@ll-mJB8cLZ^IK;|wF7s>&`7#EVt6tw5 z%9n(z>7&Ckr_av?h7Ia+`4X0m>L+mP>GRS+j553sYfO;`2mKVVV`4M| zD)k~>7=kUvh2|wZDLw#Z`ylzgSE%30TV!V{y&TDG&T9HhbKY^9lb%XCC=;{yAOpMq z4*6=#M&TxA4?e z#|D*zz)ir`*!>)Cjoljta8<9uQcfCyG={J38;#C+;4|$5owv)@ghP>8_(84^t-VKU z0J#Nh8Le|rVY(4v`b;AhIE_f-R0n0^v|3=_pgi)`I6W0^;`E=G%~?2=RiDIxXbQ=U>kPQ&yunWibkZl}+{^q2!v24ZzsCSn&M2Rr&t^3{m_4cr>BM**xfVhN7MY6W26 zQp%9<$)Gx%J&Iqh`}}fc<(F%hLzN}^f}Y~W;T!dBBxyuo{k73~K`ydqdGpoko?mUg{ zW-tZP*lwcFV4G(w8JOu2po20;fDajn>?--{5pXix90C8p-Z&)+<=;cX5sl<^xFt?k zUC7E(9sL!V#-{3(dsnT4GOO-F23Gxye09}-hgoJ5XdA8~?(kuvQ(q z0k@-sb0f~hG(d^>%bKnyH~Iu@h14GkvEq%)Sf|`2a!F%IjAxL!CjSfPT;{hQDQhN? zdMS8(H6vg=N-KT!<68vy`7Oqm;U&gjYQ97HjXf=DQ~5nc!XGLtlkkT`xh%s^gr9@8 z0$;W0Vjzg6)k*57%O;ucW%x3@-uN5LcN)JarO|w^m+*(m!s35OtU56MM)+AvGrlUo zS_1Le3IYg_W4}{0p|Sfv7bX)l0Cu}t|BAkqj$@8LP3QQyU8-02(Sx!Gqq@D#;7{Pc z)ubz7)b%D^4n0>n={RQ8g@|$nf; zWitp6n=xy<5IlP~AC80_h!x{J7@x4J z!c!-Ma9wb5vOhv#X3QC09Hy1X#=|bV2}>O~ep)MP(1X{XqfD8K1#s8XXK3P-L_1U~ zffg5Z$|8@fOqm?wI;KC~Or%T75XLe??b>TIFkVlOgYolYnHaAz=>+4ICY@k>n3Jv< zRjMB#%E9<{X%cYg^P~oj4$H)N0-RtDinryfG5!kN#Q5cfKy4Lf4^Jjgz1u3Y(Ko6a zmMl#pfgh?ieV%X=cWU}YxKl~| z4+Y$Me%~n|vfO5ZIvnLfxxjO@zlIj(`CMZ+fJs(wS64iRmgD7n(&b;CS^&V=+J$VW zoz023Pt1>TUg5_~=S-oySO>$4Y# zGP90O%(~C_m{}LFfBi6<(6T~Gukui#?QAHt_1WFDc>oDNe95gF8?R$9gISauF+8VaQdFF!lCpL<&-H#mP#6ux8Y$BDm#bf_i!y z=t15(dM<^{Udb!7sn(>EdG9spa+q#}ldc(csN)gk%=NfEzZfrm%oGg4Ew%#tkHT=pgAK@Q2^88TCH8WDhYb!xLzBhtQB5w43W9u}0Ca z|A(}(ndfcjPKAJC^$Y>_SHk%7SN|_CUb5?7!T1>6GZ)5Q`AEa~le;ou+zqQ) z8mM9Xs(g@6!?-J*PQ$oOSkf+a_TUjRhPmFKXUtxzt__mkJ^73Pp#G z0esZ-qt`FxYZ3F9(Pt(iUL(FHACYQeK1R>_@ZMlrM8k5 z3*1`~NnW!Cx2spzMn_Cd=7w!2w6P$ZT^X=C&=D1z#P^W#%s_#6gM~lJSU!44$x-io z;@6n5q?xTo9e#IM)^lXOESwB&;7V4j)=Eyq7n8*$gklRt@ifNOGiAZr>Va*4}m z?BEn%ohkQ+1IqnxDHjh6EnfV^wAl%+cGQ`xVfWS;J#gfhQiRsqt)!6~?cz3EM%A0* zE_I8mp_w)6N>iN2PUZoT4eEE@!|*75yDn7Qrb%D9pa|H}@?!L@wz}nf@^NN&{ZdXi z=?$Q?>9&ae7`-5hU>mrKBC;vTS6$p*oygz^}8}+VNg!>E7sMN%b}H3{}yx1#J*} z#~xEOj-ov8#t&E2ZFyS65fP^oe-^PH>(MK6yJNso0T`Y`=e#NzD(p>OksTS+9;TGx zohk9uBrs8@Avd-!=4VO$Nm%NXF#|$w8D)UBOns(gq-1a;z3t2hM3NJ|k)Y*sA^7Ki zWrf6v^9y>;{1|rUyhVm>N7U8J}A4ltB z2il+Oeu+gR{Yl$d;95b?8gxgx)zd_3Qy8sXmWX93@8`X}bhWml%9q_-HB|a$F5l_b zbGNwVihE!(y@yoG^)H9)VU7MsyqCPx0BbRZc&|^oOPV?yf!Q= z=!u@1oHV4OEEqe*(_wpFN5WHgprY)K!Lh;o4vC8T_|L&)k>DrM+;I6Nu_2H%NdlhA zY5>3OK-I-n!YeZE6Q;+{-r*WrXP>ot&k~dKc)44(cwIQyx?p(7X_eFdKj;zk@dG@< zA|k$AixSMI+}0w!6OJ8Zgapc=v6E-W`MV})7w2a?ZMLV~4)*w$w-BKLaCUTTsO+Zf z=n4Ghh}{1s4@PM5PA|#o_oV!`=WuEm-#Ox|w$nrC!WonpD&E_0=|!<%!xCV3VZ#z& zcYebXV0TW#5@0u`VF|FqgVXffr}L;vZP*3mCi}Qu$8B9I=Ym!&2aCJsGPO}3@hDJ3 zzO}l5)S|P$;_YF0R_#uqHj%<*XR0bynT}+hY*ybTo^FLbjIc4%w6pJO(3$^T9s;5G zngVm3IWqwF9V>(e#3m7DBMNP(G4_)@u78|al9Vyuf(O z5m`xAN97`|7J_<720qfJhX=Sp+wtK02Slbhwgubtb;V&j{3 zi6?E#PgsGui1-9tliJlJ1xig;A~!n*E}UE< zicCT83ekch2^Sw(crS~$2g30-Zzy=bZqQvZs-WuV(B8I=<+4F#Q=NVNwgts@+nbp7 zrEBC>YRtj)shf^c<7>R6uERsSHqz2t%({IB-&e3bRH)b9WP1?Yt8KS}GjjFyWA02A z*YQKuE#DNdcl8;ViChxjz=UGoBudY>V<0uUQ}m5cj4Vbs9{u-pp2~oP3fwy@N6V`^ zaJ6K_F;QgzAI)ydzN-HB$nfR*f2)g;`f<{IyHA$eaJJIY?dluMbhlXgrEPgi^g_cu zzk z;wk#wFNsDR>i~1w0yY=hSM6k}vrwX=HO6H}<{k&O5wlFYQ#(!4pjjmj4jfPEcAV@q z5W-}~mPdRGG55Zmj*(eOFayqw&Jttm+V7Vf2BG!EaKUj}H}`cqL0SybX(<_fw(|wI zSbjyui(j^%S1Sn8D|! z3%R+!kiv8!SISGUBlaSN6o`8hJy%bBKXa~reUCd=UB4sFZFB+{b_Z`8?Oq}-({D;Z zJvG~%GGCs4bws(-PbLnGL9TjtPL7^Z+FIrjA4A;DxShr%2HU-mOdVdkw=1@{A2PC5 zO#iH44eH=KwFbTA+C#~0&OS9hUA;#At}UkOftP1i%mv#oXw|b;Dn5gKj>$W%R>g5T z*|PP~hNd71Xu?Hty_#NF3i!l>r`lS#u}*m|VaVHepI+hb~MLfS*yE7InX8RtCq z?iR@hOs{Qs`_)G;7BO4tj#>#wOF5D44|c}Jz}Rh&)+I-Ezbo?*1{t5tCRF_ls_!|m zaOHlt8?m{;aJGo7%pBP32yK&7p_?FCEVCDgk9CiJiPyg9dY}g;r-X{-H6ZGk2?cX zliutw>@JQ!xy4ZuKBrznYo2E!RGhCi@t*Q^@=BpuWGINvlr)cN&HA25aB*=UT4Fnq zV$P>s(P66Y3K@sR#gP2^8HgS$)bjZRM+l~x5J{bx#bCNlDe3bA)No=(2_@+gq?iC) zP=QLwb4xLZzr6q-r@;=`#uDhiYbV5 zugQC2P9X99{NTR&u@MJ&e{MT-0Nry+0brh1!h5QERo*#xg?qcKMCjDdVy}dP?=SdH z|7f1v{pHcz3?=$pf07>c12KUv%<6)xauHhg)H;h+nwx_VOmHD{_r`9`hYP~aD+!jt$?oq$c z2e)hR1sBBbA&SeTQD1x8p!3}M$*X@tSFB1duPbR5rq0OZ>bZ~`{~Kj0Kq_;)bk(6D;*o+Hfrh3%ohMWJHxSy zFb4TI5GOwK$>&GJiH+|Gy&>(cWqktg{btX7T9oKi0IEW7nLnUD#zv%^TZuq}y~_DO zl+Fu7&C$a7^79>ijMx6$=c?=3Vk6GA>|m9Fu*ahXBca4R$o*-yI#eSFrrx&Tdt|f2 z_Moo|xznZoOoW}7WRt2!J#SLg$V7h7MAQ&5Tm8jE%myHOA}leHd{3)TKR1yTQrtWf zQNi^X+{!M0HT=!gA{%LYh5Up{H^5kc`*dS%>2}opIW!9PE1X?!F8lK@J8=*LZRD+V z9dut^%gUuXcu>Vm0Nay2CE-0JDi<`hiXoDFiu_H_z*mp=RQQ+wnHN!K-a~GQ5Q7j& zTK676ZRvRggQ{2HOSG)#0+{$gwu^myg&o|da+z_MZNn!%&V#M~!CI5>J^^fdWh z;B~g8ydj+QhJtHiZ^(Eir!7*KLhM_HX~HHHJyV)~-TN{h_UrD+EfEqnl`!r5`#u7y zaL640oX-E254{)NENRZx`C9ch7%q+!1|qnISpFN**zr$KkDWsP*u}O}1%&MYj(}V8 zvdd=GF8EsWtlHF>oJaM=2BUEs5o3AurE+FwXP3{4F7PB~MXR&fAe{#_urUcSFTvgZ zyIPpv5!^k@j`wEAMuLfBLrb?iySqOIBBA8M-m2gS{=3A9k6bVama)|&Hck;F$>JQ( zd+Dw!sFay{LCj(7;QjdHGsqzagixW~Fd-XNCE+u7c(d^$1*v%v$>7YyeUhqGuk(fp zI8s{r33H&s>&xzKw}P+N{hrOlDt?_kB6=Zf3mqg)PaI6SmH7LzQ;B3h>}Izh$$}r% zZHEKb8!a&9!+<+hGvI=qbsxeW5u~0P?rcpBaX*Bew1)!NS}H=$Ero@X5@T0~Jo`ki z8aiZ>MnV%4xvQPQ#cjcz{^c){*t1EN39&U3oAb(;oCVq-s36?ish3OeK8+dtcWq;1 zuz@qX3Zl{OUF2;sI%A+*K^~yohBpk#l}}avJSg`|Nv_RIa=awbINL2?_nwRbdUhPC zfYF%+yl})M2Qy1qb;KkuW+u5ul4Lexc4q9q9kGBPXC|3;#3Xf@Ns5n{WO`;2-w~6H z%}nz4_9KC0Xl9Z%k|eV;&h8ADK77Oi)@LSZlq6;q&JIM_xJtr!Z};SzX@wom*cCFF z61hD3Q6}_*L6~do;GFs5+IAYQQsAely;H#cos;G=C)kiC&DT$s0w$iD)K4WcF=;NO z;e1_}_}QgaP9cagrp;AXZX1@hLR_~$NJ?sie$X$h-nnY#JH5S63u8l=he7BJvXrSh zQ=#6lE$4GC5Z3$2`KGF}D%=f>7LOOK!hg4A$l!xvH&(vTTYn;>BU~&PYv2TKDu*@b z4PNQ3dp9g3%{UE(oq%yf>>SJaSm${=?7XgHKhUw$OMrhb?Avy4aG|&E?G!X!&#-7A zzeA%%;b2FUN(?LG?Y9M}8ood0HT5$|<6ru&fYtc``#UM$zf6=)rBNZL@X@N^JJFlX zJ+xK9x9i91ivLrWvr`vkt{hcA#0zM|^HBuEJCi%5xfQ(b`H0+g>|9wvSvCGAa!Wk9 ztGKOXeK`1H-L!D=ixKDH!j)7dd*F1k1FDoS9SCLG+Y$VM*MCHE&qjr~2Xze;);pYUk*!mrD3?6jk`m=^xw9rjAM zQFWaIspT6ptGrXH)OLYTf)-|fGR_x8oarUiPDj{zabkSJuFQb>FW#^%c&C7rD3$t6ynCw?e9c0q7q z{(^J$ybQ?p9X;K01gB*+=dpoLE?`*(9It0$!uuPmcWtCt&%mC^qX+;8t9z zzOp6nBKAU^eK5I8Tbr~OduH~x^>9oJ^p_$oo>&V;oI~@d$8nz^NmHRrofFcty!Xw%S-zTAJ^Cpfwv*Km0zQT5S>|8*FrzA}N-JruBOJm9b<4{y z_xYOy-3Tt)j)^n|qO4g)P!H$7Rhwm7<>X}}h|Z3c;-Fx`c@DO4lLMi$aoN!`ELObZ z3H8BjDh|lK*>ty&ivYQ{BXveq@WuL5(#ggF+RDJB#JC0%9frZNS9s$F9sE1^Y@m6% zMqQcbnG$u^?lfNO=UoBCmkryDTY~m5MrzL+^f=zbA$ord$_AG&TO>q_Qo;#up}I-$ z1%yAL!}r_q!$V>xiOd!v5O8z}{+4_{G4b328!Era8!e2K-{gyNlP7L4ixJ7lvD6ny z+~iXSDmB*QgJC@Ei$Q5e3KvD74?+6~uQsV4$@x#poM_5S-9#}Z&UIe(hU9fNQBH}* zpughVa^4dpDz(;M66RJanY^1jy&l1#e1L8ARIL!It=5y5&xMuFmEfYhHR|m*^*R=8 z`2%kq;>3SMjd*_LOM+EU2h!sC)f;6aXA?=Y)1Hg;Z36>#05szo-_uHfoQLMq0E*`t zI>bxh$8N4^T)mo*#OlAwL`$r0HIMZ=Y^(l#-UJCRD6x8v{$&G_#L7JOn@5j%pvfX} zKJ!2kT)y(nqku<6^XeiViPgBHlBg2>QKo+(5n^)d*kqW3(+eVr zALKV1O+zHD97Z|dW06DY%!>vdWY0p6b&%;-ZN=}H+N*v1fO<5_e%bqq>^cHEZx$OadO-2?Bt^ooNmYC3p3kMm)VXR z2ejkL0qwYub|A26Tq|q;NJMD{Zcgf!d&rSNmS)E5ezw1yM&Dn=?Mc~8mH+KDyXs5v zwM;IRsy}M^GI!OGCO~Y+;x7}jjql0&5!Vbo)Ww*wZ+0W=(B37r;6?p<7v+Q1;ypRB zlkxJZ7X*ikcC(e&s%0jDCV2-qVSsq?_?L=z8JS-VQV|omLOvF`A0X!@jVvUl#OBn^ zbk>tyBba+669ReZsK{8T_7=7b*l)1Yqqg{&nQe1yN2~tz=s9+B@oQPy&AWJ*xkwx* z1Z4jH_+pu4TU3%K31e&=n^l8+;05F=pEOU`U}rDajT8yhpI*_uj$o26qa;Q)E8XYA zJSAL42dYw{WM;|paW`tU``zk3*YX4!-WbmPn{-C$uU@%Qy1R0_xN1ZLCW$u_Y4BKh zjuGb}>3t;oAsr=c8)e!Coup^9cqd)@DfSqg@@O<%b9 zn{?%&8p_9qiF1$5OE|bWnyXF<3V-*H62L)<6bVm|8ujU%xFKIQr ze)^KY@t)aytL-GF0D13c``>FykU$ius+`xVoy~GuyNu$Is@dDRBaSX^dNMDE`$ePv zc~#|OFN<d-Jq=ygZRtSvHQ?xm|5C!myhIW&($WCdCxKPYKV|cm zlw5s>@(9tPvZAO5_8u1k%B7S0g@J75;Vp%=-Fr#PNXnAS9LaHz{@tSXC6gh~-}Eb9 zd)G&&#+4^}uFQbH62M^imv!)>0scNc5IauOFBEmUyMId@h4=8tEc_)}n))6Q`EbQ>O;%kia!!(wYxd;m$6Ys(;7QNdx|I$uovJ8-ty04~q-Om^3Cks@pBA0$! z%dTz_H})Wpzvvho<2C6$6#QrvcLdEbDJs%onZeEG!I^vQb7uFIP<6+%asV#X2hF*H z4Q>EAIuPPka7+Ch%osyuC8$Gkme!+qK+w`uEEyB3bA%GV*7*}p>Io72wcw@taTFtyP5sOiBkvR=aTLRO!mF+@MVT0# zi=w0qJobPc{mag!&T8lNYUc$xZ9YPb9G({m@%OlP@gO^wpbsH@q?mB=YY~xk-Y*}W zp<{eJ=$M(z3kF#&gK-Ecs(#ZtLdWE0H;0ZHQFTEpGCI(|_ZSL$l=S7H!W$OkR+XVW zxta!uL)=zUjzoQDuroM8slB8K$HkE({-Ha(si{($IFgaZlYQ=j!4q4&$CN^2I>^^1@WtnpQZ^lP3aAYPs&tN_ji3Yt+@AaHGaLs@9K}&JXqsO z%)Pk8^(CgyP43~!5Uf4=deQaj;1Zdg%Ni&NEHNLzw=DY!AI;0>>i7Hg`?q*Uuo)_Q zRzjmgEiO;)4nTw0&i_0}iiq>yLg9s+Cw|XEJda^^`HXFE97<*bm7uPg@_e}>SWrKe5Cr_ zQ!+zoMiFr$Yo_~u^$Ny_N_ofX&`9B7`}(#96MjN$7;pEIVsNye>_MHjFUT7mVR5{g z5^w9Zi`!Grg^J%0HQnUhxl*L|`T0M?fZ%=r5^;`6tLoiny3~7_0m*~VhRqNC6}Tae zYwu3-nI64(YXKuzDzZ$fA<_oyqZAySHb-={^e5%Vn|{ql0f%r zf-YaOpoo4x9}KzF78~6BkS+)~6xi9C6B{C4@!lP6|*4IWjqA#k3T_g6$g{l;T4&Ile5zCNIP_db59B&jvED`DU~%Dh=x6Wg0}FDa>HX(9 zBwCz~1{~-5{91RMZ;o@%@I<5aH95_#;vGUty1if%G!?AE)T!X^**LyF(}oJEQTOyG zsgWcC_S*@=wE9^35lqz&0Dg0OMu&g#gs=s5@pU?|{E^Q61HAp{b=Ip*(!q~%*$LPCzE3~9zX#@3iG>8reN1s9M5JcJvuJ4A*Bd6Ex zApK7Vq!&9Sv73{-J*_}$RKu-9v!KA@Z3XJal@LtG6Rr8QN873y_A^+JltgzK?t4&d%eJF_WHC6e&yIuqOvH)CGL2%{*Wq= zw%Nf?>b5&m^O;kEx$}R6^+aWUY67K1FG7Ye9|^@=*P=~S+onHbU{`~pl+bcnD*l+P z4$sut>a|tcnoZiA=AgU!?$XVQ7WC3zrn9|twqAD@r3d zs-cC><@qfe+urq6T+rozqRmc@xbho;EXUhex<*>bJfMN)Q|HE{X^;QS9afrFp_`^? z5bWd1*%i$bu-~iH&@^^-u5PoaRUdek4KS+(m*rbjgb`|E>7ZfzfpkMOw9|UfS|9Ad zv%bE>r;*rpQ@@{1&75(|<{q&Nwu_MMfc2+_P_lA})w15qu^oFbAgar=hHbOrtwYd! z+1hQzdoEr4dTNA&0I3sGID3a0#+JbunkA4rrlJLj$rkkoKJ2!AzTQnscP&ZvSJ_u* z!>zSh(x-z_kp6nDtF#00e3!Zh27Pi`ucv)XTl7Nb_2QlJPjeRJcwS$1BC+xI!|F1M z78rCXS#)4vKQ<$Ljh8Ap4Ik*ME#&BnA)I?30TLK<1h+=L!L6|x=ic=Mq(3d^UX}5A zfpf2>h26wsoO_EHqIBXs=U$snw5@beW+|d7Nxx*ui#RJeYNbAJ!uPgT!|uvb-+z?p z<~R+!3kQc_85)rCH{|CcuR85dOmPNL+aihGhaGYB%^e_<_E2-kTgYiN+@^eNc)rCS zXttEo-W>6cl~Zb4w+Y{eqCM#e9!IbV^)B8o2&B+hb$#@!VOh%u;jXvbJK z(69n)b-uKB#iP18`Vzwae)V4u#mU9JdR)3B|5&|TKCmGwO;f z1axqa3PG8#PM0;<50rG>d8Y0P@%r1Rf7)j|=zQp01}^DV7PF+ZxBN~tv-kOz?W8hp z&51ad=(|;>JGm36<6z6iFcx$>l*n#|$JYpMi65${Q&xPBpGg{ z$jP`CsNO>exW?~}o>b|~oRBXY{(r!?5Tr_1H>`=5)Ix}f{C5?zZqYoZkM-x$Khdcso#o_>Ru$w$m_8cZyIGaWhtB9DV}9L>@jHvM z>(3~^v#1^+$!-ps1tfFw^3_mM%84BL;+;ix?=b1UU{#la6H0eou)X{`z%6K@z7!!z z1GFkEF0jGYZZVPAqSi^1|I~27_TKj3b-ub?R>Q#t7y&PvpS2ym@c>b>dzGa`<{jgL$adW&{-+)bn;5n zk4bAd6_ix>nr?$@_ok0^dOzD$?Yt3&D#p3Cxq&Ep-KxQQAJ@XbF5PG63L?AIN(x+s z@k*EaCHs8&wZ3{p&mVCSD>I=BQSSxnPN`B1T71E4eRZhKAUEhzxzbXN&%R4O0brkq zH@zODEg{xHRSQ-g`>TRTk7dJ>>zB5td=?P3fM^JAN-ga&*D*2OtCCX(+dJNzlDy^E z9IItRKY~|vBdmDa5ZI_z{NSaF_f{rn9*0QWPr_MEBL$pKa)M+w^`)CjLSI61T^hMZ?$$)2rki>3GAY%4vmtDYU7Ksi#&3m`} zYQTEX-y}rhsv&AV263z4bakmYytxx=GH^5#BupR^E99i=p}6~0lyN$fZx~DM}!Of)&ak=y0_ig+z75PHSHE#FqUP8%DSc> zzbvTBG!!su1`+4LDxdmKNGFIJKy5e`?yQ zp^~FWS1Pw}gvzfksxOnJPjO=hmvXd-j_&Qm$1xK3695?sZCliPq(@;W_<7x12#tkp z846xsRJYM)Di$#$|9j(s()Ua0?ps3rKSI9pMZWraRP8vww(=Q~!Ipjv7Ui5#U>vb{ zGe~I&qt?4NH4dGn5-cqc*0;I)wo};j}?o2cA^gI}#a?)>~Py$6p@gS!IMjJiU{BO1Jw8G9ymeUm~Ut)_z&EyK( z6RaVn&KQ{0ZDqCEfEBdT?#RBp9D)j8(-j5n>)6STteYdDf$kP1^*m4!D-7V^TJ`ICkzD5Btx3jwYGo6Q|Z5k4|d1Fi5piZRZ zKKRU(x^|t~#~iW~*A&j=4@!M^mDB0M$iM6!1_ky6!wEOug;q{(bWo_dJT*Af{B_Io zdXES|&aIqMDEG`Vm4>FqF z^@TL|yV5uUOk!Glu5Rrff$V%*8s$%qdqp}&nVUnG7$V1~rwDL0^Q(;1A^s|=T6SCf zcV6o2qIgG(IGfQOs&<}_6te+pYPqUxu`f4f%VPw>i^^v2FfP{FrN68Eq1S_2p1B~; zfnZrKN4!wkgzPB7l@7d>wRBp|*`&r(ndPr~z1p+I^1K+1w+4b*CR6vbDo9Ab7Ei8% zM%kiT!AlllI10g7X%)C)i~2ob%!$qFI{LwEc}~qTFPl|0FICQN)_`j;4@Y&`Kj;WT zAK6(Vvcu*edlUAar^@p>S9|8z9&FOr_^OLLVsBP4Ld)7o8D;>Tj;F;}tI*ONcue79 zt-9fiDpW@N(4~u&l|%r$TF#}?s#8(ETgCB!_QC7X#Mc(}V>I?;AK9YrCop4?UC*Kf zKBi3*ionyzXRPEM7_beo{7;S^Y>v9$BG)`lujcD=zOa12jxeVx_yb@44%D`)JW#Uh z*gOBKMLp@o_g~-|q?jvdob~9j(ttaeXN0us5O5EA8YX0q4#|^{t4&B2qh>vtFCn%L zxu<{-)%rAJ0o<+;@&vY1mi4DmLb4?9muN{nOGeAt%@mS@V|^)|bT}(7mv}u5Xvy*t zKAgNFNq-U@Vx`alZ}1_>Qn%GW>pNI*nYZi2cI?Os=9zeTzB=`Zui|gn>bq@eynQ6R zZmZY-{8jnqt7pD4zD)hRFFr%ZGdROng+X$Q(qw9#Mp>KG^c~(T+4&AsG@*Clsc0TM zBzh9JKXIiQw0ql*L(ug33-+^7211F#)j~I=DdB--LzI89?2op8RoRVC9qunXk|^vs zLfMwM7U{pQOluqM)Y?V|oj(a4vm4u1@~Czo!z&7%7u8L&*Cp?1B{1UPI;5rYOhRXv z&^;zJK!*tQCl2+qM*0+A|h{~a%6nL^+NK#pl*X&hMTJ0YrySSb*m5eeq{N7 zFt+d`|B_o^S-P$cgj1nTc_#-hJIcM+y1?(BZ;tUFw>w`G4r0#Wp79`I&HZ%`NR+cv z>fVVmiN1}`7B3Tc$W2rhz~U42MGgQvggAZoN#-8xTx={9wYGj)hP$H}hAKm5zvUWK`k@W6*CqVwjyRuKGbq5C;Ax^zGIb2>tqS$Gn@?Xiai(x+b9y--HirJtFe+1a~ zcNdbuYI#*tywoN-(_=#A^L(-4EtAgqc&B~x27Al_2^|qCn|BV!C_WLGWxdVU`8p;K%|@$RZ@Crv4SN%;bP+HjfvJr1mkBt&K z3ChFu70h_|=#iMtoSHlv<=eR|fW+ka&69o2lZVO{o-VIdNLlB)`H}ML0?}cA83g;k zdjoJn5iMbq=6I~8Fdm`?B%!V5bG>0%p*@x<^kBx^Prrp4x=BFEm1G?jp(y* z4^Q>e!#%w#fKGFh8_roU9XBP5u|z2QC<(2y^YGlMwaH}1Qoo%fR0s1){%ZJ}DKE46 zo6Fw~@=?p*BL29X_xFVjl)*zrj>p|RBvdwh9uJs@2(u-0rTKisJVdB1#B!}nWf~`H z#=IeI>nEU%uT=3MDvi@*XqRf|c<<~KPwGi2f~B&Orz*>nC3m;3TNS$>4H9#z{y+gp z9X?Kn-fdhJKX;*yaN+nSaZ+ll6!e0807U_uT7Mqtge-fOP{gsq z;g&hYl?ey|Sg(S@>EWnf|0*rx+51z308gJF!JxzI#7qpZ_(;biU>VNX#1jA+TM|n+w~|@9Kl?FHNWm z+uCuNuwCXB)G7ttDj#Xs-g2%B+v^EUq3%v+Su?VTf4q#l>et0CcNXS%V0FF6=e2>19Ja|%CpswsM<4gI6(D|d}*Gsgx^l0(b%;nz=XdErb zC?7oj?ZyF_zYt%mrrr4!@ku?WhQR!D+vhZ{24D$v!`hz<-Yf6bqFvCo0J^u~Q9hlG z!X3j!Q*uPns^M8Ei3D4t$7nOd{P>{}bsy*}3EB}lTDT=+3KsdF4CmpJEi4*?Le-?{ z1mTI|eFz0Zh=U{-b~-Ny|1G!vLdW>885ua(8^7JhSgR*S;&+OdQ|ha<<4Esdk4#}^3_)| zqbxdG9*B+*&Kj(Zt9)>#ip7~`)*pq^K~rY3FO>Xdc2#jZ4&e}u3}A?--oYU^-Opi;hGEPU@%%uCLpd8jZWsY+Q_P3>CMAlX+`& zq5FSKp_RH&5i|AEYA-v7N;f!{`-0o*$3>jsA~7j1i{_dFgB$A(q)wr@a58s8@mBod zQDB=c@FBNAz$1s0G~0gdNkGxa6)S`+DUeMc22g2hLeB<`#091EH_mx#HscuV;f`>m z6m5Hj=1|`rDdWIcL#LGRN2}U#xK~3;hD@DKy(^v`DGN6lfpLXZS?|;SzR#_E+R2~G z?6Ovi%AjCDop2U0*6KiJP^AtUni(WKt7k-N7ZRC_oAqP@L&-_-P~CuG1SIbq8DeUr zgYecNX^@JzY2GmboZ#Jn7fb+LEH_}S34n}n10EwlGwcKoXYi4n^-X#00v{x2p%Al4 zt<|sB%Ij0S8vC^KX^x1LHmNhEVY4(GPtvcjk2fhluWSK;i#b&R`?>p^5gC_3XX1b& z^~$f)IHHf97aP5NXm2L9u&pX^UP)mUcDB&Tz0sV6zkjZ3zog-O=;s)^p^!8w!&7J9 z5Cs9d@lY0HgNt1MT@8TQ($cX|*^I%lXk+=3s>r0+E&eCM-rfyS{$g`+tP~!^$51{l zx15a-ryJnYA4m9%WBIX;o7eWHZ{F~&sX_BBXU4JqC)Z#B5=BtziB7l zn+acL#u@xvb^OO`hQz9X2wUlbi}5=t&kIAz8F^KuyR76C@mRI+%*w_I!*2Li^jnoq zWSBR4a^pcEOc#Q$+N+W?has%`bl75CVSwfkS^59C!!7T9t5cMTaLrib)q<+jYqA%m z^%cxGXj$Ti;6oD2KU}^EA1bTv>UoXj)mO(Z4>{op7FDw57fiB}37L3yaO1-9*2ir_ zV&g!%!yCufRB@_cUzy@~$P zJgjZ~xmSNiCz_^)S95Q+Cw1KF>>+w0nbFeoX1u8&l@xtXYnBnWRa;4{;mY_EtdGe@g+Td?Gg*w8? z`Rurx)x)3kKpH3Q?8NlIyr<6tHEve32@AF_8SYFfNlebwmkpzIJvlcxsRWlJlwy$Q zx_3D+U|OB!OwNTfXW7?J&YjozX#+QS{z)eq2Oqq!WFF`1$;rxRC!Dy@)6iZ}KC^IK zOtZ?1R9sOxNi-UA)-;didg2Z*N<0zr(5UNL}lS%?G{yJAYOS6lZJG zhGkJu7?1 z7#~{=5Qo8`9To%U^uK{PvE!F%oak6(;@&$^QP5&lSj`mx76;ggtQO1St56iA!g%m* zu_p3~N}rX_XQ0KZypw9yqse-+h^nNyMPO#trqLj=7}S$vhby`WB9!!HauJ& zE{F~i&B?6hDY>#{g}ea=2M}TQj(Y8B!`%2}=gF;~Y&~;i){q97CtO!31}T)&Bg2(|KEfGi}2f!W-<*?c@}%)%(KI);n{0+tU$|WFZkqDG*KT z$Xk!WNW9SLaz6F!N_cK({&ItO+^WZBOguWbUyLCm;EL zklO~ADYwwSd?~$yaQ8->(S-{xv>-b?tqqIY^0_yehY!JPYKVS`j&kza%4fC(>ii3b zIWyb5yyw-6);~TDZO`_G#f79M(>5L_NG4vQ=Y)czx7GO;o*ukrn|Hy<)a=~`4zH3d ztyP{4x;0C@ZS`?N36fSpL#+*H9h`pItj!t|ARuvn6Z@naDwCrN1+c-LQyed1ECdMI zQ=HICK09Ig+M35gNj03P@t2jDAX0G{|~KtLTZyN$4*Ext{gYXCYoe2#rp;)jYpZe z!s&TAXyryP2!eP%!6_Uh)*dg{yY&&t7(c7uJBCL7kQj+blqM>3xmPJzIXXHXZul5s zHHs^}Uzx1=wsUy^GLcoi9!8hCMd!y2?Vof3u>Wp{3piS)tq8+ebpNVNkuS9=-)+;J zuWpk^9W$^^5J$RAJ6ohrwCR+8)h0lsP#mS_MffDI92>pZ0IRRpe}ttfij4HSps&~a zRlTX9K>dYyiB2ql={eS^EDKgn$b_3meb1CoMhPWCUb}4^XG$nhx9SqgfLlqTa>4+( z_0Lu6FSi|r@ZFZlm*O;YeC4IlkspI4;(Ky>*LT-|P>`{R>DcI&$(M|;yd?G}^^uEP ze&2)Y{$ywOSV>b>r1kOqO>&Q*6V3}x$&)e;dpdZ-N%T5#qqQ`fq|Ov*Vmg-0vn?wc>d&NVnOsTJV*XIs&6WP8zaT_fiqH3(D`5=^ zTdwb5R+6LAFu6!gaxq~oUcb@~&iU|Ja~kFc{<3vTPM z9NUYChoeF;?Da?1$RnK*A__&oY=7iKehK_1M}$nIr)@zpW#PtIV_Dxh2*gqC>=Ch*Z_LHhEc&nnR7yflTh>gc@ z$Q)dE=Loj*ursMBk{oNNaxG_CN&3rjCY9+u#Q*dj|AOP&RN#?t)L-F$qBq=lXF-+^ zLy^jZs6-^s&3#z(TCNaTu6h)=#Nz)}G%eQo;)e&}vgbJKajs0bogKq4?MmNAp*1<` z+}q@Krp@XOvXs7G!C-N@*6k?hnpCOWzPB8S<}T=;(`CE77zGzzp2@0^uLXhVSp9nz zixHx6b9AV3gaw(n89Z|{lVyvVuD=EEpeO+sM>vNZ*=;BLSx6_2YM3M&J!@pQ;#r^R zDI7A}x!a@-ZuU3%CBQWemgFmRA(#8q26#rIkJF7kio>rhMr)fp#%aMB^znhJitJKmP6Li7sLAl$SPWB2CD4R1f zI;?EYh}a-)VAXtGPRC^N6DWQ)xI-fo4|DEybQ{tQs1p9t8{UX%c*CtZS!jSItkE5q zU`5a45ctVftK8y(8QM}J;wCs!+2%ByoPxns5eJN+!Za%oBS}FtW}h^);LA>Ubm~I1 z&cUn&9+Xivcp!)D_=Ig);yP!O+QXhjA#4bn)HU>m_mR$2&}L;IX#48cm<~WU;-kYS zG^Q3Lxf~lg^Xp~}F%x9P7o}qHwIzDzW(@l7VQ{J|U|<%h@e|VnpDD*Hs$RMw3>_+d z8<1GO93A2!LEP#4n|{O~HQYWl%Ur?jbi&#QRtD-kP!gr@L$}sel-=x$o=h`r_)x-! zsHJ7tiwie`Xh${NJ}e7racZvcshk(oKNcY$A_iJTta5U)k9XD-ACjvp&Z!LG3Mk3i z4H+2WF@leW%*RN{gz-rwx4>LzK;KV0NxFq5-8(=sAGb{9mlx75iTJ)b7j9nK>t9*| z#8Yj~y415qGjKI?)!nPDSu%)U35}0{1}-VGU69Bji-QUPSuhl?6Kt{C6fYthhkf4w zYco2i+WBV+|9T7TP_QlJpWLRS02iuKz)I^Jv(nKfCI>(wz)@=JLb0RBl`w&dE-4of z6(gM#kPSvt&Xc%#wjIAckmbTGV0w9l?()s%L%6d7v*}E-b4`aY)bUeIJXA&>tgwLq zRufTpBC&sIukNRR>9GLJOvwxtG~kCcjQNR1miRJyRF*O#F2UZ60_5w#j*5b;4&c9UFNiqz z?BN~9A?qc`xu4AA5;l|-W6AhTJ@mNZ({ zZyW0h4tUNh)gJixFMl+VQ`T0rkWnXCk`=snB}pyK6IoC|YT30zWqBS!bd8VjVLQ1y ztrqTb8k!nhojAs7Sz|R@g;wxqtwb(3J?z9+r?ceoVSwaj3Hwq*s^NT?OlOj5Pdbwf zw5~@oDL(q@2?um0)C;Aiv&bY6*ERKIW|Dc(pDABw$~T$LCR2fAVsDBIjbVDkM-d-R z?gMnlN`wniL#h%p3QV3N@>ED3^jpz;HF;v(jJT$%**Ztg?JiCS<@(eQ;m8Pa!^j%W zDeA`BG{oQ!k}`=tG>Y_L!}2HASY}jeVfp_L|*18x*I(re zJEEC^N8I|Ew)1u8({20Ei1-X^PpnTt=E#H#)K$nA7<756W`}GInI_GpJp%ILCq!BHT`uPy>6*ks=Pv1X~#bZY};q*0|*P<+CH$IPw`j{ zDR3A@fSAv=6`%*$eNX4>d=Cn*#-r zTRznnyWVMQQ#r|~FWcE7E+^jn2ju*A?!)8Y9z7*FsW-T0@rfW#Ut&g2V#a69$B2ls zcm1vVQ#9@nt_U+EYF(UNz3NW(VUehN3#sdXew-^BZvq)X@mo%jR12jentzEHSF-DnDz6x?|$xHhA;XPLq!RL$3g>vW07 zBqX5=w3E(CiT(q=HhFKA_g|RzJ@Woz^R73Vgn1Wirn*rQaN;(v!MNsvhv4d*PN&q4 z4|R7XiWUhPb9oaF+$ykhBt*SJB9q-t{6#_%x|IH5Pt!hNFD(|-s^MtWX;}(f2&he0 z0v~q7836?0QsGw^eW~db@9IlsD0$uZ7aEWllD@J;t1Ss(BqAx4yr5gf4IXqW^VFDm zppuh;RTC)i;1-Yk1%L+ajH0ZkWCvAy4oG$TMLp|ESM!P;@I}pbWnm6_SiiB}l7ntF zuPnPk)68o=uVc(>0X~sSq-dUH?z2LkG!^?2e54AEMN?V9TcoKG=Xg0{$#4pR0I33% zAQ_PRRzv=Xv~P>mds)7C$&12mA^8>#sw+|u^^+>>;&q_ylXo@l)tk0kYyb!tSOm1# zx}qN$qzMF`88iZR(zoFUMF!8@nJLLKg|tggXh@ zg7nVEq_Hi{$_SN*eXxq_Z-B@MmCwj$3#~s7Z4@P;y z^433vhWyGAg_jbJkIqB}PzxX0P%o(PsT0dThyF~Busm%+3lj>hd_W82Dh%eYmhszi zvgl#Hx;rm>=>Lq&l_g%Z%+if{7n%QB)_QWI)6hG#2~MW&_90sUqtYoYB_wZ}9q#m;r;`Ki28< z+;_*N=YtvVxK+_hSAavzuTV&#rJK|XAFy%ALDkr?3QZHYe57MzdRdI2!tj4dBWZs# zFs+8|7w_QvVUn}S62U3W&MMpc4wqTT`L*tiv-4S`r#z)q9H zwW?URV(MIVhIy$`Cz=;cPxnC^)!a;cL9;)6-|b@h=$o-F46O3iC8YykRf5^mJpYoY z@b+I0ap12%#~FsAg%uncgP~}7%O`qcLy-dc$|m}vmtYcwS6%E!xZdnl2$c&2T4M7R z!hsv8tlF~+GJDCmoe&Np$(!n%=l_8eu7})mT2uQB41m4vx4@nyq9yWu1SMsjo$iWO z2XW`5-kbZO=ZJJwX5+xQ27x%$%%5I+4BkhvsDa)3g$c<)s~^`^eB6;OW}%zZqwmQC z5cL`N0ydeT{L7egRg`u`&A>S-bfe6yK7^E!zM8b~96G+<2Y0=`WKQ+7URz!fK~AUT z6LiWm;6C&9GdbvyADg8oB{kslb_E_?HpByaV#1=q_+jHkkGZ)}rx zsL4l2SL3Q6=gxkk&FYUo+EXAAxN4xASlURviJ;9c}Wf`SYiOo z)N9nGCa31BliweTFD@(%)G_WG7WA;Qx^ws(Fc+&U)SX;IGGOWr=s&oW88edF`qN~> zuObbXlU{sLZcRM5gqJr za(DKe07yGAE#IjeotQLQ=&ZDg|G4$NlNn|4NcUXq5hL|4>tpK;7}Hwy;$4~Wr27Nn z7pZsuPJ=W$(&s{9O~v0^)F6s$v0o5|2B)=} zyJJBK_D(f>`oUi9$N-yRcv0dNs7iuHkd~l-n4k+JXov~=)C8SI5ZetlS^E4~qec?o zeBT$p6S2A-|2(I@5{h!HwB#=$I7wFa3Q+__Q6i*Jg_KgH50*LX+6hA-5sF>IXXnGm zYZvqCjn5X4Rg{HSzhh7w{Iiu3#K@c_<$%A}tNWjmF}bF2ZY1%|0L;PpSbgxg1+g!~ zg0m4uZj1WoQUFa+-}|bfBLAzReyfYxqP8H7(S{6_uAiolmV&8YlLofE;#XTY-sFspE_MPwo85MZ5sP=>_w5| z%RHIEw^nFbmOpNfrs$}1x&_h2G;rir~^z>w3^eKF0loWa)LL}x9OxCsUgH)oWe7aLjSO!A6) zY?q2pJt(b+Y8ZSC16?wv@Y3)p>7s+J@;TlpS}>EmR&Z_1>!eaesNKZ|X$N7t+F)C3 zQ1Uy6QvqDSNcj7y!SSAeKhzxxe(GQP7b*^>{C7XbQ)&q~lQ@Wq-pC}FN;for77EVu z`Q!IV`)Mc~CuhQXyKzZC&=BW~_>#csv0I-Rq~p7s7u8&@)CsoVF)x&y#~60uJXTek zpv#l95U_QrOU!2|n2J__T9yow4vz>q>qLLe+~s2h-@jvUsQ7*E%7Vw{UZ!^&`ADTv zmn8fy-n(Ba`3T$FHSuglk*dkM>||Usi3uz*L;tazLz#`Qpdl^ zWR>yyL4M)~qqQQjc#T-EcFjkNxMfm7^W=h-NvAhYKHZsAn3!DHGO4I}a*-IuOvX*O z7{yF4QQ_yb?wg^mv{MkhG6t-T>bdI0&%R=9RnHZ!nYwdvI?cblyQlFz#cUH{#ZG3G zh&rm};ECGi9P#cBKD2xlL*Uu*JNqphj!vVeR)CzuTZ?U zQYpQa*PXmJ-&ZIWL1KYP$ZSG*%r%c2bkcVvLI~%O^R8s#jmN7zT3#Xdy}Vd0lLF0# zy<%z2+VN}rP2z1c>R66n=Bs<%Z5o#_-dFgDz_5!Po<5cpkAPlX_Z8-w&jKE@ zvLvw}$hj?I&-bwIX0@13P39($(hwPoNGWR3+!RBTBt6iU!mZ$r`ZKV(s6zR{ZY;|l za$qn{OFiouodS$6-b>*Mc@M6TTlNNbSNQMi43#~o=Lo)2#(x?cR@Kt36%$fE;{dj$ zJwzvjS1V6pdBBu6OSw)0{v%dACL*>Pn5Z&;qNQRr;}^E%xkU1>sh3l$|I^ z)cO*&xpty9kf_a1)N0bAL!6|NU$BiTz5OuT+3$@b^5AO={whYo1yTcnk^;i)wJgE@ zf-8%NQ2UwHr5h^79~9-ACOusu;tJid?TL=}PZOQUpS=1ivf{i}JKNyG)I@zsa4}gV z8%eOPgYAK5IM^BXPegWPJ}FeNrT>Z6(D*m}Rci>AZ&?m9bycx+kPn&G>QwhbW~In| zHlmM}ys9UX95EO5=#b-ix`4c@^Lk)natcFA0&%=w94|MChNS=; z-^53O_HGy2f8S}Ky<0ywsh4=V(B5aDy^auV0{d5a5qkMC^I}MYFs_;VS*>Y6cclSs zIUU`tmqPB_G)YyHQy@?V1eokBO^CR$m&*|owm?&1i9lv}wev{?1v&YUU2!WIsTzNK z!`R<(d?XSU>rnvA?d@Ci-OZ9%QM^3&yU!k;qG%yBR;X-AslVxM31PWQN;Q)@q14N$L1L~^@(V(6oF9K@YyrepWH2SRBaAsR}>@*+?=!@T^jp>#f$RpLgDWi9AZ$QoW{ z7n7%;Q={(^Vm}S=1-d@QJdWj2eq~Z7Wfu{o z2{KW69%7Z%Oz<~}x*2bm`j>W_w@ds>ck>o5uPN|1y}%p&+d~_8yv2iFC>~{oVvU}u zoykiRxqR6WIO+qO5%AB2@NcH8*((Er;IDaJ-XU#6Tyw2%np1Ux8HqY6g`-G2?8ut?tis zFYeZn>g^pe;Y@GEt63&KOE05ixSX+n?*G?|8FT+9?uVZH2|iW~z*Po6{A)aXoo>Z& zb)|laU!A^b@8aQ$3F+VU&Np9M)LH4^m2_%AFp2h?SM>*?*5)<}{?Bq6td>025&843l6)6;`Hj>~`h2e;$-jKO`%{m_H^ zdp`begL~IDgVS!)&rPb1=fF*NE+HDHT`4bu)25l1G*0`b(8M3+`X75 z6GeO`J@d3w?nXH4dq-UrAI1T%wVxgG*TNb-%evHUztg-vmty$401|gdzzvD`rU7t! zi>vDT;a0yr18(1OKQ!E~;p6{dqdd3EK<-Ta+@wz7IS_Kg3DJIy_wVe@?ERu`8NI*R{m{Li!^i(a@6V?va!NQ`KR2n< zcn<9S2C^#0S$|NnaLyHH$R?1_Nh)`Of-cn|TqRgfaj=Xq8MFV7qkLgf?L zloJ9OQH(e218sn%8Bn=HLhv@CdHh})JDcB2xU#(5Du{g}b)xWQ@?eH|P^)j!O3k6N z(E8li$(X^&YLv=V{jx)J*k$f83q6O$QEn)Bo3HNY>~qp8sa4XZkFF6;F3C}+zlx+P zT}t3Z5%xjzE*n9@YUeX&pO7rG^(24XJ;VOqaFDoMD>)bU7x-4KqD&aglp@=_I^zid z87foOY`G}-aB3T6U;4gLu z8#WI4dY)r8Qz%mOZJpBG}5PgIi;59 zmYRco8fr3CUfv{|;#<{;c}19F0@k?{UA6;NW?^?U9I8=NtA zVf8JT)?6mb`cpu<#Y4>%l<#!-UdFZ;(8xX*bo+o?5aVd zQdx0ZqoEoFb>m{)o4rf!k_`k!4VG#YOXGV;b|HvLU=z*ex-GTZ+WJOY+uGK))LI3r zHN2QaP+qO#Ytj00*R6`SLe#J1|2#AI?%oXvVt@GOquIIhdgjcTnKNh3Idl9N(&*iS z%EZHQ5D#&uR`r6doKX*mLcwxQAbggiAOtC`2vY1(p>8d3wRa#t$NWy_#Uo*Dyeh$N z_ZZ@Ft2&L&naQs5{L=m=&;fb3*(9{K??jc6x!zS_{r@VYD0;!QVi=@?r*GDXBDiQk zraT8_SG}TcQ`$}6&(ns5^z~=~Agx52Y~{yCq7|9hYD&0|?Q!EdHbUOCf+taShq6o= zs)6E9SU(RoFs9HIRz>8axHIcT%k+ZB!kBU4vMF6a!ENC1yJ{Tq7J?6jLyz!94MBpK zw#!>lhB)!z)3^vTJj<^amjF%qHali%+s6qr8vS_7 zc9%d04NFsRA-K98IgO6>VjU5uKC?n%20pF8TTjvw8VnvZUqTCDJX)?9oyV0X485XS z1%K*bg3PJwz zo{*zZkG>eqe*n8ebnGxwIm!Y($i?^R@=-}E!fMCm(rS#wsHW6NLorboJ{tJJ2AEP$ z1>QQw2$DfeEkD=-lQllX7T_Nr|CC!;#@b5q5;thbhK0O?gTnd5krnF~e@Q?DJpdnL z*>$1~4q-?HY=y7Twe1|s<-sBY*6bqyx+e6EZ6w6#NTR-$2xV!BP`lh#VCu!S@<1dg z9Sspq6a$#|iye0mnq^irDAYu44T>5P^`$Ji0;nCjWO>fu53HUCKO9Uzrlv$yIU(voVIWJ?K_>=Q z9aWx)|8<^YvnZWWk^>)?6V}EhqqSvH9)$WBt1gb!4ycAONi2qdu!Tf~Z@EjiwxUf^ zD;t&e5a+DI-AV{4cv@2@fy} zvC?vCaiz6pFYjGU(qK}TD1m!7WHElTZX~wo`@L;ge5C)akpEv%m#7{~5n`irdHaD2 zOzYJ8G@fEduf-hFmy0&TyqeT?*-< zgS@i;btv6n_Z5K$ORxk07LJgJ*gB4Nn_FE4WWi|5)xKyn7`e%WhqFr6FRfdRUpyxD zx~uKdqs*c|JO=$?Go7|NIKAb3sdVep#+7N#Juilic~e>X=5W~Lx!SM%8rnlU94S}( zcaI&gSxL1I86vQ4Y(!Yh!aR_zX?Hw;7&OyWzEMT6Q1;oo9z&MO0sQk>p=(W`c!G|!BM2rH+DxgCND_rcA_?dyTP5`u01stz00P9>5E_*-rm^C9U z+zvc>SWL3oDZ#`Ejd&u|C1{3(z+Xsxe*Y*MMC+oLg?MU9)!)GohoN}}#1sA+{~OVx z!F%FZHq3ZfNJ51~pJ~X6nJ$N5?E)NJHgn`y7wtLZI;{_biBo(n973)ss44qb>;tnz zx=^OW%OiDWxa8L05RM?10|n>uoBx1W2FvP6+d^VmZ(|~N%@91oBj`guaG&ub@H;Iz z`3GVBB^5|#P1coe2KoAW4KKzo2h7rioj!&`5aHR`aiNDqCbnb$g{7`r$jD($D38vC z6sOdfgPEn9{(0~@7N7p7mO!hrsyscczYBgpOb15<)c*!w`i2#a2`K=lwcd7P%#SHD z+NQut?qqvv$nmd8{@s!v!xKcoWWi(rN|d^mO~rZ0LX&k;#I|S6EOwHkFcdX3A0E>G zMa>|2G?I<*GJL~n&=ZG`WIk;H&lT8OUaqzf@XMB zgsLD2m;n*M3=RK-Ri9CZ|K}iFkKYFTe>K95_-(=eH&8$Tr-hG;-5}!sggg_}5QL>B z=zv3oh5Z(63&aW46u2mTV=oyNDE{GFujHDz6B#*+CC`L2jOez-Gdq9N@V?e))ZK^WPp~>D%oNG;K)+kCI-(k~I^=Rn$?te9RtImu5QH37=dzdJf)#k% zM(S*T2W$X{AfQxKsjl`HfkkaD?l%Dn1gh2^tN3SX&1Xuh-iHMQ+@heAOJzImw2tjk z!)~V5l*$flcEcrz+;A0r8>b1Y4?{YFAUOm^adjp;!chkOxo+kW%$h3v75xUb#WtHP zx`l_RE@U2{S2wX&ETJfDT(JV%-=r>I=oT&}GnQS~i}KOoEeIjDF+)X&CL%#ROjO2ifU*BbyI6wGTtRIp=hObQ-(BhI%3kXgZ z8s_R~jSCY==+L`d?^;Gj#@svEQ4r)#Bv`~1PKG^3`?a6;tNGxhMS?upMF2TRn|wAj zsZJ#&ci|g;qnf-L-ZcVMh;Otmb%W?ChA)7xceNh{tXs3xZ7$Zx$NK%fY??K@mVFmi zLj(78-T^)FFldL}(vZ#gllUUS9QeBNdHdGL5A59Dj)$D++V&Pu7cWSSj9 z(@X=6kO1oVE0v@eRQ>l03A`&_2iQ{-iYt$kRZg9GC<~aZ!14C>j8 z2E?Fdyc56x<)0VGfOXjUg3HbIskui36V^CE<0xl(QZ6Kk>N)jeD7So#anGV|)!{IIa}(+&H@(gqwXvsjw* zkPS;S%nyO3N__k;SUOq&HrhB${BATx;WrmceSb8u^Z^6J(%Uj{z*zbZM2_tI4q%DW z=6z&{cd$aPxqVqNdscEmHP&2R7J=@10fmL`li~g!zyT%>g^IKcy3gc?h3=D{Wz z4K`Q5gU4vI$o^oZ4cTv)9|GC`z{mfB>_0%N%th>1;&-EQ4}NoztyAvI#eEqAMD`*X zIACPo41q7ZUXRVtn8Lzhak5=tWHC#bkbN)&UY(*r3$M>_vg7sN58CkhPkvZ<-PVJA z)W{wTufx~c@%ocL+3?zFeh9qYh>rny{o*ySPQWzUs1?5(4Gq7!Yv37(5lHr9n1#phbNkHD=lw{_(C1J1Vd1f} zdq4E~M3)_pGyZ79W2N~a@OU~t2H^34mdry0Sfh>M;&-F*`R_8QG}VpMh!LoKg8`!Q zMH#SA`Grg7+ky=P)#2cm#i5|l++h&JxLDL~Au-IoHiN`Vkd{H>x%{w@7J*`4K%-`P;tVSWhIEyjlp zb*z31pf>KB0V8ql3s+Ja&AwkM1G4V}H%L+qiH{he4eG6 zkA7|I`CI(3dcI@LetSOhaeL42`mL?!-#0%*&zIt3u%7>Xy4mwaG%9-jJsHU9In7K3 zu(qBv4tG4M=pnM-D}a=+|7lm-@#I4+#R`ZVP11nlT}pJ`i&P;1! zje6l%1k6I)uecEs&4Lm68`3fa^GAMIX#05=@(s0NJ_kqSS#p{8fDLK0%@2XJ2tEcw z+SN5C();`2S{&Bw@1HTkon1zAWNXua0L4H^mxDO9% z4~c3{1nvU>LYEVq%~|zy=JI%fJC)Ku#DxZteEPz!2O0)?eCj za36P|3>EwpX&D?mzz+)tcm19DhFCN;{$~~bJI3&R=ebM+LwXsfdDW&AMW6$lEK99k(R;4z5K8+ z@xv#OZ|DVdEiNarxR~`T8!oEM4}pub@G%%JE}CZI;zR)*aN&`G99&RsW#BTxI4&dK zgfiHdL&V>IZb!te>+Fd51=2EzxPu=SB03)5FCtbyVn;;v{We5=%lr_CI29j*A!26O zM1)5`2Sgkx138GutZ;*@r+9SbOCsX0lp(W&Lh={qR+*uQpCT=Th+Fw#A!5nj_KS#> zf3+i`@|QM5oNj&yM3mxVFhppYiHIWwbU?%y8OTAzP!u6oh@)_2NI~aw_pyUm@`RwX zTYOpFy`B4Grn|pGTBf`A@Wblv^2d;mwl#yDpw>NX@9g=%uys~5KSXE!_!z9S->yPu z*=`+=$6uG=!v0kTWRJhV5=eh4by6Yk06)#%+;FmNHlDxN-uqthW%d5Y+~zX9e-LSz z-rvU$tM|9zY3}_@|8;-K>Hp8|{Wm{k|M4+s|EK2kUjmH&%fJDRIQuUyrR1fR?E1_1 z*t`C$__Dfw7x%YJ*Z+*POxN${ht>6;;2G}ybiG&TtRr(D7F^?^6}GO|m>;6+0elSB z_4<&#>nBNoHyOvtzyWn#68l70(X$6TNkVVjjgDuo1_T*wW)w4sNw7wIS-ALt*yoTY zxT0SnErW|Y`C;Kg$5Y_@!Nuc$wv)m1`)s&S%nyN!$@mxy7qe75E{>G|Z!*Tpz?Z;< z2Ui%mz2AD5z4zNeUiIEj@BhBi-uv2nZM_egAENhX z;A61fUl6qS-Xj6V`Y!_q)O$>VuS2lJLn0Q;B%V#y`vkvykKhJ`_-7yMrotS!@4Uwb zw{Ct2xNpM8U~u1C3Ao9}T=O%5<4wlpG9W=7$dYo)vdM4so>Y@y_{|%+=&yKLWitnO z9Qkn^P*!6xhyDpJ+G!tJ>p6g)P5hI6ME-uat!IBWKSa;&$H!njTd$Zs`_WI$o^{H= zf%Z)Hb#STM4{$S^Wton%16OPZZp0A4onQgC`%V+M_hjIJfP*-9>3TXc8t`ng&99jG zCc%i;Fa_cn51%%_Wyuv75#ya#hfMcyDLQ_V~@Z!)5Y2PoIvK?;#|LH z$z&hvFIzf9{d&?zA?pi284^DFAuvuD8h$|>ADlTv{mEn(>+g9G1Uoo>1bmM|v0;ex zU4;KPuM7d73ICBp!@r97-?(r{_;_P({PNTx)5TU1A3D8}whdDtI^=$|-$ zA3t>cU4;KPFAvfGWby&x_m-j4Tbcg7q0;qafbhR?#}M_)bX?~7f9J9dzI zpZYKBO=>0LjSFF;Asfl9w=i3;^!-hzm7mZHQf$m>sDk7flMC^pI5hFJic8$CJGuab zbV3bl*Z8MSJQLb9PKO(%6yE(+3gT<~lu7yUKIK%=LA+-CZv4}NCg`#;t|0z~BmU{I z1&828RI|FhtE|!-Qoic!2Au5 zgnRJ*9~I7$vtW}2UtLho!J|vY3_Q$DuljdmGPoX9z23wK{(K`*i0Pf5R~9U(7_l&l z2c=Y=@SoKj=ednzM48ytzMwZc5sp>y`0z3DbA~n5@U4ngUofV&w&YjGzSR??5^J8r zwe*vs*1Wuh-;Cej_2fmri6T(&cEC4J3OXxz98pU~ydEe5s<5Gk<_FZx)<#FH0_f1{ z(?{e7sWQKGJ^M27osUp^7apKi^c~`j^$(-R;k7Tkw^gQ$Q(;(KwL^2vbmMJxxEVD1 zOYlhh#pC45)Z@V8J_ia{-@--)M}!&F0DcnP=jk z7B&@{Ptnsb_VM%j`dyE-xjm`FV0V)5dgNC3iu}V+QuUUK$LY}@T1s$y29|9#%a$HM zSI#WIl2DKc~CBCI?`lL?|zm1*HKcQz5da`sIcfddB?sdZF_GV+s4>`H$ zztDV79tv(wQ8w$Pm!zGX4FxJ1rvL@dHF3A6i{uS5bV(qSwknhMM~2|vJW*BBQFU}j z)iI`DUGZ$aoUHh3pI3Fp^<_B=&46_J^7a^O@xZd2)2t-7{8^du7&Bk$lI4BEKe6SX z{|1=bU?A!_1=`^=XeNA9C?#ql?1QC8eUA5t>HzJfOzC(hjdl`?13keh96fmCZs2cs za5nz0%kKzk-NDIuJ;8F3YN0YS2EtEzEj+E*EUG4mfxcRxEUEzha09e17k*EJ-`Pw(D9`r`YC(mMct+>-yEPs5QEarF1j1RUQkLCA zF*YBG5HB5z4Cp82Ir=&}n=uQSeaEW@XFn<250|as6EyxF)m7P*Z5IwAQGoWDct@jz zk9J`J0EE>7!VQ8R>3BS6tmtp{wC6Hwv!FSyRd%oJ!k1^Nb67`yXJtMNaP-Q8gi@ea zIunXhuPjO^MS7(h20D6WaY89}Jz7~Z4};lRd31+zbZ6x;9SWXZTLhxzpvTvGD2Dh+ zqaa-2yVGqXXO~Tn;V{+)s8O39MRvvYVx!>{5)paRL);ezMOQ;3s?Wb@bi#Z9E!B zKiS2J>BV@IEiu*fmhE~p=$V(8>cQ^>{7x9sd-iSnc+ci6mH+H>wbA(g3H!rai}8zF zGxUMC-IZAio^e`ld*!VIy}~vD>tO@i>7I%LF^|3uKVUZW-b&Xa>T4q^+HPe_%_9;rpgQmvH7>|m zje=`1E%g7Ov03rGZdd%b?62#W|22IAb6+-A-iXnFS?Y46sd_h_X^8J-Td>M#VE;0aO( z-T^}{&9PaOPj6A+$F1(-Y`YTLA79(o@7M!1?OCbm7=BF$FC#Hs2c-mvmk926JArgE z4+66li%MMWzrz<6PmEr9#l=2X+t2td`c`l?`wx3<@wFE9qs~&;m`{v}2kJe>8&}9U zQMrz{>7AE2Ug#J%3hMYS3v-{J^=ua1PJ=f z%bC|_6hh-9H5@VVcTaV-{fjt#x6sx0lnA(8ZE+EBMo%KizKV~E*(I*F=Ma#+a_TeT zmX9?p2Od)N`kd+f&3|AvkX$Q%1)0ycv#u|>(m@C*3voN31pf|;R_dQg{M-Vj9D zCiMWIe{9k>Di3e@9*Zf_g+ap4divMq_N~GcJQ}*{CkB^|2ruwa6#d zN1qWw5bif*mR51^EkJw=*T42DMhfPeU^x>kcmDi+<^JZE&-nHDedbSg?j%JA;<;Ju z^*0*xauYd!2h6`2`^-NuPuZ7>z%*MYCG(x9u}*d#Iy4@%FVFwp|lc z9S7T)ZoLQ(i{TVX^S{ViSb@OE54LC_zDWOEM8B#e)vv?j1S+MF}h{y^8+|ckE=ns#x(W#W6gL+8y<%zGf}v;yw_99oyvmr~}VT!I?Jx z^Plf*dQ?EEls%U?uRJyaM;w3&)4=A*n4$R#G~mk<_HT+h^wCCFv{m;FJj5Av=OTldc4X4J56i-uR;8 zyqHSdO!=HFmY5XcB@J;-#B33#&i4LTDf_|GAF$!W>F-dWn4<=R)QajUP2ZRD2%P_b zvyVA z611b}|EE^Wo#U!pJO^jDQWz(y`1RrmlvoWOnl4Z~7DG}Yr}7jP7KL2LkODUbJS5Aj z9h_$63*qqD3%1w`14(8}k1+GI=GMiN^YGSXd@)2;N3(*lD5Y0Vgy71M!U}eDNHZ zu#soW&}RG%@l3^|c-@S$Id1py#pOVNa2fQ|gAROzvJ`-{?{>AnfN*LW_#Ht6)l>MG{MQu6f8~Hm{6JSm%MUi-&6ZWj zO@h>eJ_n==L$7wly*%az=itas2kZV|L-PnZ_geU|;Ow$s170rSMPp^J<3oFEax~W9 z-SX^c2>URO20Y&b63u^JgRA{^LFyZgFl^O8$>U9|Qo@sJG1Gp92Ws$eqhLVe>jT-F zD{F%sxHoMbY;W>#Hey=xefXJEnx_%*+wo=z7Qtu%n)X|?YxzF0NsG*p8hpAvA|;vt zh6lY80Svh%r+wBf{dYaakFSSNm`c_Z^5Te&SGr%1LwI@nnvRHfI%x^s#fuaQE@6kr zdlVP|%a?Y9lZ(x+J5+B?Sbrfx@reRe96G1FTR6L~0rg`RakB{NICSFW)ll*(2gR}R zXMuKBjdyCg(j)Lkfj14ZjjGo}{|fr7UNFCKAExO=ePmvz>EpI^2Eis3C~Z&0=9_5+ zeR^Ytp~a>-PFeb?;Aux9K(016Jfy#X7dw}JDwx{>HF*J89;`Nc(JCcbFiP>Si#o%O ztwd6Ts_#H2cK|dM!VgHWBaYq(3_e8<98VFOjZgw57CM0)x^X8Xo;nGgw(6ikZWkgg z6R#417~)|k>U~nf9}1Z6U5qu_wCtq2a!7A`jT?6(QpdB&VSNwZXsJUzVY(;JJ^(8i zLhR|A4E1AX-fYZbO<>nii3Sh3Ft8n7qvGg^Hv^Nyj}alf3!NOkE6B(o7{cLC$zTbB zKa)XEB(WG4&5PkuXmNn;!*A~0!m~k+rjZku(>?4<7rMdU5tQ3rkc0yk3M(231^v(W^nh00kyu`_bgU|5-}Fh#7wO)#XJaQg0+>_{P9Ac06* zxK*?QF8hoD@Fj2pDXR3D8=cOn+ya*o5w|4?Ms2TAI+WB^)>4;GQZwm&iKUd~Mc zcI=j!Cs!kQEe_>{^=GL{NEb%F}-?@oH%}Fo3x);FzixC-|VQ2IF&@47(9W*Agr6 zTccm%;qwE%z+MQPDQv4TtqZz14|sG^EH0HyE+bbU(zNA$n(Z`p2DkvU!QJo#Z~~K_ z_C>rkt~=Hcgp3fJUPrpnT3E;1Sx*aDIA94=FpXn2$7u;sB_!UU98+R}a@n0hfsu2=9rO3`#k;CcxBq0mHpNG=8w)s|WWYH_<1- z6*JS-R*y~Dgqu?}Rf}(n!uW8Ljk=0@u~V2Eh11+8@CaMF$l4{8u%S1)3*d(y- z*9(W7NqQX6H~3~{$quw$`@fUiy4Y8btCKBDmM=kaW&c0G^J~-6 zdQ844EJSjs?p-i!cB*>`-(+K|0(wCQ=tjj{!Af>3Rx+%Ht@xol8csJpZ9X0cCWu>F zjCs(Q6tSuUZlE6*nZW>IS>4eoL_IA=5Lx5{=OM=@Rvzv|D^QuP6;l|1H=*dXf)U_T z;1P!Vf-7E(zjC=A3EmnY*;Z>+FIY;h2CFq(eBCWp=`arSs$RSm@;|Q5TlC0QQ`o>o z88?e^5mvAYw?BZ!tbCkfQYdkN(<{j7wH(vSkLeX_H1X1x#mn@v!SKQkWbjgkEQ8<$ zP!5U|Jlu{RG^YLuHg$C)fH#i7{WSd7h)0-v0!~ChE;s!CuL%z};hriFWAGa=e{10S&mV;ZASqc#;W`&aiMr$z^i|vg_e-*rDo|ej+$i=TeXe7*pq@rx}}uN`zod zM(aegtYl73P0WS_-!(4=ssgxfaX|nYgt%z6UM%RKXP6&TC8}8Tp`@5^W z*ddY5owH5_O`vKlR+XKz))vO!aJkyfaKMHC23OmeXobJz-1;{}55Zx)?m`M^_?RYG zl~~>CMlk!vyO1|>TV_5Y>`0#Y;W?wN5L>)qrKCrPaN(GE&}0N3l#C!49w5nNc$`co zQwVqf6eg7Gky%@@8OtNN@#>PoJiQl4AZ^yAQ~}2BSi|ZTs9qX#0fzag4;f17dg%BB zs4qGE_s4MH3d4!%@H;#mK8L24;(s5)8l8cD$Qi;y){}S<|A*0$7GDOi9u~K9`+~(X z#s!b%fW_MsFmA5)6$q@(!`fi&SuTwUCP&nDcakv$xcaoDmf_yhL z4bXV%2bgq{xpuUfG>z>W@ZfR-54>74%PsPxu16FkLW9E_!_C`Q46mB{r?BOa9veAF z$<1ONU8`cymvhj0Ld36luMJa}!E?uvB_6a@4ES=;SvNc9jZT2(sT%?Gd}WCb77W& z>k=-~yjiB7Cjw6h2yl%)EP_6)Krqz)w5xq50*YQad5tj)Hxtw5bJ0C>L5`TaB|QidWojqz zsJI?gw-l&&x_7GBO@SwI;Hc0_7F5vSlYLYnl`;o6XUJ^$=M+mp|Fu7RT#>DW+Fp*0 z>8UC~HF-T%0#;{)OsPaNSltluUvx!I`QLGA(g6AK@u;ccU!8a*U3+paoT$Q=Br zi3zHv-UkG6IJhS4itF}uf&kGkawr*Ony7NMHwhV8#M=;d%xFL?d&p_BlfTk8qX=SE z))LUc!3p}>H~Y8_4NWumTzRm%IpjK2n;L;`vODbOs=QXtp56u7$@2|tmWYXt2QM`T zzIijV>JTIdaa_kN@0|2-5v0&)7wS>S=Y z#QvwF4G6cNi#X_-1+49`L%FzP<{bUPahl^ow~@cxz6nt#JPG-&ywL9Ssb$LLxJ+*0 z693LFs4Qd%O2C%-3~iaUv6&9+CS(yj5ZAF9vDMx6S9>e6+&YxA;OauSW9f6S{_XhT zKk%2E4v&kah{qNudoP$1OcLQ24^QgB7kNn*7)Us8;GAPs@l`ueNk5c8T%ipX%hI}P z3nKGk)AbEl4=GfrOIK1Tvj29t)7aY)z^6xYhKeATwzeOkUcqnD6FFZ1Wh4iF&~5P8 zhJ!_Z`n9`g#nWde#J&8{+i%6+#LfJx zK|?R2)@sLpz46iKLyy01zE?l>J9s-vOaR%pf$9yKo)F9pc=oKY6|YOLFaLJxT8s`y zMgFt59Wc&Cnpv+oW?4;iSTW!=cs;dRkie|Vh!EAX0yxrVJ(mQl(Vg%g%AkfeEZVJHY{JZu;-Y?#TY{1E+@b=G@s%O;1Cd zAJo>o<%q9C=JybTi-#$t)HtpuD}1~KW)7A%8}QD7u5C8%xfFEua%@e{R3}D^^qf^g zw$PUYSG{pqE?iJVvn#{sFX5UGrXs;fy8)fpy!9!Cgr{+T@H`5$HFtMHw0$Usg|u1j%$;}FB4tAlZ-cLB9E-%q(dAb%r%_^e#iWw1~UwAPbS@R-5X^EQt`womc#ThZDi%V&^ezOTN2lS!1~R1HKCo@8m{#eF9;zm<#S!ph6%LZi zQ>};%wY?b~uUAe{oNnQ+c2YJAS zQ5Fv;++!0}m$&bZeHULG2`wLkt8YgiT%ij~=&rYwv9tnchNcDM+b=*Vwc{x#ndgf{`Lk3AEDG&4dKaS3`k5*<)#E7#Y<01$Lv1(B>@HgKfdxW8t z18!eHDFKvgMaBUK3EzmK2wugGK?WfD`@Q|P^?qNbE&rEq%ZVZi?7W?5j6?p7{kF9X zZKYnpQ7P2{3CauZq~suJTfGY_`u;Iin(akw&X>km zC5ixJK^*?JBa4?eiLk>Izdir;`(d~HH1XXVKf#BW=z4mm8ZL$I1IQyvBdVB5p&#LOfSKC#ClLRr(H zs42AzyEflR*aDDJpJ4*Zl^3NBH|O-tD29E~3rxwSD8%AEV_ThxtNnG~ypx9`2Gnod zhay~P?&A<~A-)aXrbOTx$OqcGVh{?j>V;pvYE@R9u97vJ{^e^J#v*oI=~jTe@4+#L zZ%igV?AImm_$*l;!NX;C~1YWJ6Z-4~?K_=5CPhD@)~j59vm zPycHgj4{}dY`_h`ujt=qT#wkY48)J|r!PqV!GLrKuZHOY#3@c|FSIBCSVh5WhGZ#{Yw<7A)asPq0+}`1pgJ6cj|J zTiP}2FX`KiYw)Ou2BkOJ2q(uL|Lz#HgV}?f%4fu18JYJ?ZW-89hx9JvQTi^(lzJ~E zOHp0*R zX-x+Iy4u#D?@Ch1PXwJ-o6XD9&a(5y^{-8w=hX3Ewa34;$=m<*o~_4kII+5ja0(^R z^0KXPE{aTAve;?7`qD_~pF>+X2$dJW6fEKa^TY_Ol%P`Qz;m)NzrBcMtH)_&y?{z9 zt1b^a_!x@ns#*h$;qts#5gJzgYoU)^7R2~gmjV|wmo3MZsyPnFUW&cwD4d?kQF&2* zuqXv5NYefS)10S0F^2K$i}2oV{CenQSK@Lx-sgq2a?_bGc|A7XHv&?Fg=Nr-ZO21( zmq&;DmHLI_Ix9je_Erb6rQgNK1q%{ z2d7uXFOJpq3t=a=qxmS_ptKUAWbtcwD#fYv|D(O@reXc-tb|C?iv-+Z!>B|gE)uU$ z>YMe?94~8$f=&Kc7p$T@t{$Rhe4=Zm(sT<)Lz`^o6Fm$!f-hCfaK^r+ufhFO@@i*3 zj_G*i)%fnYef{wzw8GyN1$|ZF@B{Cgy*zaqC%iZk@h;;Ue`5Mv)EitYa zIU#c5>qw?Rh5{keE<>D+aZ(S{i1dy4XZZ{2G?-9)w)F!DQ2J{0XJCX0p#n}g9s_<} z`{OIOhJ*Bz@eI@e#BCr|0hLx{NjL1z=TQgJ=L(RdN&`A`F>Pmk%unHzE<2NVM8SLT!5`zZ#b4bto1a$qW& z1F(JYFAhYfPkN6h`O_#qIBg~;Z*xH7*mi5Ks$hV0jKk1*K3H<&g}w-kx%o)T+bIAFr05(HVOT} zY%paBqVmgfDqjou#a=1#s+>;)1N~H0pIuO+J8Sgf5B0P3i=bFs>8{ZyegZ9yY5GK1 zx`pt$E24XMbksQRXqZB%+{_tlf*1 zM}^1Q2$sR86_?sW9qqY#ja%_YyzXPV;yd>$jxOZVCQEDKQ9#irt_|tETux}Wg!jwdtNjjC zfbHKK5q%so5P`Muic-|aL^@L`f+DyAo$fwMryHy$b-FPhsngvjb-F{zN>E{?Th-6S zY%l8D7ySkLc02aZMfT~QN=Na}^@86j$)Y^}hS+Iv!Qxgbg6>!;Ld6Ib$BsqFiI6i^ z9M%sF!|U|c=SI?EaJYEgxpSS38m+ZN(i~=VDP?OfR?Nrga6x`zeo10}X<|O8{(b#@ z*UcM1F%caZ93lNF{rMW*Tc}h-y(J6283r#4Ldaj*GEQ{51OZ{5>4NDae8VXIS>BT7 z!t^VlWC;9zwFjzO#>0htClT_q5KcT!)!(f@zu=^SH63Bqbcj{cmgeE<*OdN^Ax9cz zuuwJXdl!5SQoyKrrh*uoZ}#+qpl$$6IbF-nL4tgt4pvene29B& z8>M-02?D{Yu>u8|py=yL^l+bQ8Hh}{I`;N<{YPaHeAN$T2sKpe8 z3Ftn-f=+OzN*#T(aOAtZB#!q^Ww*iF)Kj&`tp;B!E$;F49+k$?ySiL|!H5n2wBO(CyK$Fj_9@Zq9o#3fjJzqkw680I1_0S?r>bvs z-FyqW2Xf~tb`gD;s{d1|Xen9ny&An1VuE4&4yWpPIgGp^e_ctll70mQ+*i@!bhTA- zfe|4eLaLY%B{h1U(itcOAF_R~t9?APbOuK7v)|RuGacTmWXq~Q>}+b)uPD*?;30Sa z2MWC9LZ#rJuA5&G;N`3Od>9rk!t}fpqEFSUK@r=l=r?!^rt9OnsLQ8-KN7RZG7q*) zd~wRjnD|!qSLwyKC=QqhcDs_i^-st?siOTre(c+f36W9alpLh8(b8VHKuHGr zF$sq${%50@*{SrA`ZPBja5uYPzjr1qe(-D)7_Hbuy$Mr%T5-g&i9CeXzmAmRf7P|j zhd!>%&l#-Ky3!xm_jhQgyon`fo|?EcpmtnZiT{J(wP7)FX|3AfL9h2#mS){tLgzAA3Pf z%)@hrnY}BA_wZp~c^Kg4fXWiG>;z=nmENnml8 z1HUl6+oAgB7WD)AzR8AY@-F@Jj;1jf>z;KBS>)$9xU{hw=Y3{9mo<8;skLDXg1rAN2eh@PM9B@+P=+ z=n*awNhR%_RLY^?mVaPq^02prbiB&L#!MNtRf(~7Gh`k+P%b(=MG>{KiapelUpsC$ z%vk7*z!aE%b2DxkSp6Bum8k{*lo}gwKvmA_cC{UYB>67#2^z-*#xmW}Vl@HNq2%zu zp~6@O)~aqAm%JACzeZyV;2(Mf;Nax@mtoj2P-q|a?`10FwtSF~%MlG7>SXXdDN1nIrz0X2XU4Es|8vsQ#>oIqUzd6blD;tN5;tc66cR;9 z(je5S6GMS*qUA{sP=WyMFYA$Vxd;6dUHw}*LR{qk3PF_BQ&s?W5{E{<3T+NK`+DuO z=qt7^06E9oh{__Uj2FZhQM@;8+>fI)202!ag-YZ7o&%Z^VKK;WK?;CDj*aW@K{*J& zm_I7>N4MyGsgdYL1ol)|G9V=^8WF}FtVdGAQ52!!fD2!0KqCkOJ4tf*DK3*Bf`TA+ z)IiWh9Mt%Y=phui3ZosT5TtVWdr1%!Ss^BpxC${l=mp&*AZ9aZ2;xLM^H|nnk%+%{ z;Zc!95Hu15jRe7W$oryX@rbm$tQQATTVfIqh+{M*30Y$*2DETmvfwQHxOPv~@J`{y zC6S7$f!O3H^V~pV#Z3YD-O#7|2yc;54MC{@cPb|0)Bu;NB1EAUjL%I0@)DC39K4kH z&itv#f_C5#LqQ)axaNKX2B50zQ4Cjz1L}g4xCshIbqdV{O?AN&z{YszDZq6A{PZ^z z@cxwuoWMZP^(ao+n~Zs=N7;=c`FJf>NG=hX!g%rnC$LS%D;!)_y48RRqR7<1`1NL{ z7JfV`GTq>v2)*MF<`P(>8@xpePT-}aahclJUz3>VWda6evp7Q@he#^mDxetHHhvze zxY|2$LDX7f%x-@6KDtSwq&*{Vir7)_yhNL~2p{ZKN1Jzy44#0X3qdGJ&hkPYxyeYN zwBW`F2Cto1!?Z-fi%P%hbxMwEV$-dPe!I9Bg#2DBo9Ygib!!gX-8%|3IKG=@Er+mk z4};`Q6-!Kh;dJ(?oSAQ&)DU;WYl7OxPbzN0TpdhsdKH-vubH{Bg!etZtUhcY? z7Q4zSP)c@~KYI`AjHQS%KCI+C!D=OY!NVi0(|V1qUYy;A!A2B=T@uDPfu)$z%MO;{ z!;`2g#*Y{N4~e{(YhD-M6G!*rRamB+4DWCg#I5}%>z^gk8y6aHlZ>{98m-BYV!#x7@`d%18=lg>;D9b8aPfF{tUY;#6xDQChR$KMm-eh4orjV zk>S4_kX^trh|a<%L+LDF&zoGzi>e0RJ|C~?-xoVWj?Tg+aXzO zU^*{>=0ogEs4mqS9jry45ipj>K)JC%20X?!4DhC;1bi9S_Bn{aK7%^@*j=RS^rFDuM2C$P}_RX$!-LWnW53V@Eg`v*#bQB^%vIAOARXyv) zAZhxA<&h-c7tVKFI2p%9*rGz{d$bl`QlA$a;j5~JGzI06al0r?FCV4S<&Fu5z8-5v z19eY4_ITYSK@R#^&RdkB6KQ4bUQUxMnQx5$3%v3 zGxcM{`7W-F9!80*Xr%(JrMG-EyJC^ZW8 zS6t$W9;wejN2*F%Z^-XI#dUkvS?gTw?{iEl#zPq-Io2^2Q(eG%9EeUhp|L>Z&5H>M z*byI2vAsq)U|CMr6Qam%0-xCXe8y*fl)i%%>lX^*){H5HV;Q0dhbtG3b)CYS8pZ*w zrt4W=t8B zFEuv(W9W68e%JoEZ+g!DlpMZz;J#$}P3s^!LGSR4NqXNYT!ET;U&}i$DPmeV@`wTS z89NvC^>@tiwnVV-)nK;ZoP>^+8^#=r;|^%;FTzZV|DY8G^6_xR6j)AiV&nAHhh=U7(cGk%E%cu!nzE+M9`)ChM&oB(hJgf9UnCNb0yGfrc*#KIO? z{BnD7?4{z88zWF8c6`g7$kO%fwlx;q9_;uoH{OR-ZNPZg@!1pN)iN+L{MQ4}YHdaP z_|0k?kkRxR+`0&>A$$fkz@nf+ncQ3tnSDU7E_YO89R!D4)IpIeXN4AD^sN;^7^^bKBo@wfzFQh@yMAC1XOFml%5WWPi2K z6(=j@s4kD_!2pEcn!XhXrW9Nt7?Npl@^vDi2rf9R=$TIVtnoBmvET$9BC)j^?-%`R zT$R0!l+~FvWgo(~jVI#RiJuZ?kHH1=M&nqp{xlw$kI}~4I1xI$8D2SE7e1(C}g&oPgZeGt(y`x;8pepIwR*a06VE&#q?x2Sp|;{?~+y zoPy&av+-}DiyR^Js?WH8xevEqI6?75)rSsJ9tBZkBbM*s%l86H33BWgi;zN@#3UKS z)-v2FgR~5N^>b!bAQ+gB`XSg&%nzjDM`V*_$Vzk9JK0^bLbnQu3dL1&^^p!!#u5^M zu^ib5##kQg{`)6_w~O(VB(cujtdk#fOtV7NxtGCuQ4ZcsGAkgS2JMRI_j^6S1a}_n z;dlPAuV0E>emyzUaUQ?yg1ARTZ}QOzccv3U5DCa15Dg0R-B!_Hwi7k_jV(2l%30PN zSc0W`s-|l~I%n}?W^^Rc;tu&@wXU|PkVrl({QK1C-RxltYDc0H9fQj`Ahb=yq*X&;XdOVFkzOw?bGJxC zs1O{%u|jU^^(rJ54X*f~A-p3H<)XJz=7;gcgy5=`P<%%44=|OJG)UPfq&YUs)630X z4g`3G&9t^PMVY2>5Zxznrmpo!8J)&Hp(Ew4I|!gEI|UDQo9SRckoj2nn#pvpXekDQ z(d-9&h*KR93zg_jDJF-H5KZL{sbz_bKzs=hQA=vmcsT^Fwjl7JRzQ&%jYg{uux1dq zcrrLgjw@aCrJ7N-=yGhnRaKLpV9PO}ve!212)j1drTlqL?gtG16{TaMf3+103 zE3q~SerR9?=d%rAP6L7`7`%b~kLl0QfCZ_mZ5ky1nqV+e=O76Bl*2~Sl%912Z^eBC zkdWFWQi>wDgVcbLktoGc#>S`$h|3Q;#0HemHT`y>ARnnXEqWu{6N(dG5sDUy1|@O2 z+D-sTnJD7R6r%sp>j}eGHb%S0*~jSDVvcjbQ+FW5`G!nD#x3aUkO8RMS)6L03C z!kQRw9FxTfG@%8}^8P@p!ANlB;qHj@cYt9*v}NFh_P}i?I4lqfnXH2e&$)JZ%v&7= zimbqfT&XoUDG3+{<@x_tZmmf=>+LmZ+dNRMF^(9;N7-2P|Ud$jckBc22CCibgmPUnxT6 zu`yu>L=;%}>r?k2O3_1&;R?8mSuQ@PSPq8Bi~Z~w`$kVY{t2n1|^q#?q< z!67^uSiHTmz5;Lac?#s;tj$__gwPN?#`%%Fxm)=n#lDKxtxiNFBS3cGw3tp>zRn#@rS*wD9qnB{MP7unTaxQ{<`sN zayhpOpt;0>#jlrMA_T{91!eMoJINGSv=}QHtnt5}>mbknc8-I*FVk00kT139NRTJ| z;6UZ6q3L^UQp+}Z_W$1Gkn`M$2IU-v+oi2Ig{bL6x!;jfgnOk<+Ow-FTyNY7wDr@4 zU7bRS*zMjtu{Bk4X5)yBnGJ3d$+cm9q&4yR%ZUo-&tm6N_yz-3BwwgvzQ@&8f*RnZ z9m{}{vkbKDF$b@fbB_Eu#sj)p2dA zCN;HfEMdyP2IBX@Jsx{DG*C-m0b~LdW$+*a0+FVw!h#{CcN`Obg z{aKes12s2V2ZPuZs~bS$#vdn`avz)|DD){YwXc4*4Hqy83Vpz6%&$*_@r3jWYzMbE zvK`!lBqQ!*&$3SB+@c8x?U<8XNoMba6FmB~T8?&AD6vDRDmf-mzmQRXRb;h|-a13ljCpdNQczW5?Gk!CuQlyDZjgbmEXg+2k3lUPcbWIcHf^u&1~p zL*G`i2Tn3(3^9Y`HSo}-HH;1?0hN_v7~{TS(NS?9UTT7{C|w9;)c9K5&Y9-vrutXg)b0qC?C(1*n9DlNv*FFKGR!$4?*F`Lt~PzJve zD2q%e8+EO~Wb#2mu0P2UAn02J{^5;LjJyNBA`#hv{@`*%j@3@&AbHqEsZP}keuxu? z2P*T>4FhkaYdFY^YW}v4J6DZsH2j!b^Rd^s>?lbmQ!=Bgi-Qai=+mH=Y@S?(_2Xz` zzf_eFtN;X(S{Py>_D2yJmF;iPeOw0;_*=)3fS|4w-!Z!NQ(>ioO+bV2GF`-P>x*-d z#20}Cefhl*?wc&VdHnCU=8bRwHIvW``qGl!1G3JmM@nndBrRhnQuoOQ3SkhtweL zw)%)m45^kX5d!e(MvnYG`s!;QFRyXo|MhtXF#w#|vZPVbQfDi zfy`8}#NA?8Bgq0Rs*~T1d!GowDco>I+4DoPI zrcp^n1CPTJ3qu}<#j>*k&2g+nPwOl^rSfqNV|~zVUk9?K56gt0PcP#H9b-VrzH$bI z%hrYA+S|WYb5)`{k`5!JyBfUeSp%bsngm`fO~NxwIH8mR4Xr4pK#(3v%*Qn*D7sTC z2!o_>3J0=87m}U*OMuxmDHjpM?LfgP3v1@xD2v-QC_)gGiU+N04k4H~2gAPX+%Cpv z;4$~PV>0XG(+vJ^>*IhkrzPG8O{H#g0>QTnP&LQxqC*kTP9yv{mTLYjO;_^dJ3R|U z@Ss6qD&5H&!qEVuMxW-<*FuhmhloYv&E+r}gy|+fdYfQQQ&|!&>muH}fZ6n6$;y1l zU)R{;INs(C)dHTw+B(CIEm`>}dd;Ju*nVP1XV7~kg9jbGlSXi++kgUv>;&*O4uHw4 z5M|9qQ;5iD=Hy}`lJRCK`_sj^#LSH7m8&QT&GnNmYnz4tKh1x;kfkipc+&+{%gsjO zDCkw2q86(nOXNb8{Ii*E)7i|lC2N8rG9K;V-CW%Y;eC-dB39p;;kaexbHsL^h#GdScPPO{oq6wONX_%q}(_)r~HU!G9_BZ z*evX$WKeRRxGN?FU|xy~9OfshH!!YskhuCm;xsePBpuPK)di6DOxg{|d6k1@AL}&s z66E9r>SIT-D6%BuSD5j6;`?!NNh^ldjF$w8{o2e=E|&Fh=*88o8DA>m!LrlY19@yd z)hZRF*C#d?>Ed~)06cY|3D?2XBemR0E%@qfjcPJGDVLGJ{Q!jkV7$}gEUG_!6Fc4Y<9v97F4=wn=+ z_JRIeS?DMIzeAtBN3yW=68Smsiy2#?1Xf{m@?4=UU|wV%6F!@m(LMvrs%%1m zg@bnKs>3q_QqSPQ9+33JY;WY$mT^uvZoPbTY`{_=%GrgP0R{x)PfbRO@`O&kE9hvgUNX34^rOmdkt zzCC0*dT!Tsn=N_&BYxmj%W!!PFE3vxP_3tvs6@!EdVYmL8uLHfP>N!OFyD2>sF z=71n=6qE~uSp%&U?%;_~)05mljJIEeBiN9S8dc!bT#5FTOvEb-G<$$Eqv6Lx7?-B* zwNJTND4NRpP+Ph5hGZ)Cyg!X*>fLj%MxRP8y(f3HIBwF6c}GH z9j#c#l|4Zp>jmh-$*1%wA>g(Ywb6?8?&!%Hu5kjEmUxz1sLoMJhjQK@T&4m%tq8JX z58DCgz-z|dSr+o`wh#eh0g6FC5gnoFLj%7|`;JoBbO4o~w8N(UKad-V9#@r$9>aHq zX`Mbixu~VaZJZzi&l=6qips#m5&H%`;KmxqPNBpoaVZN zf&89et-#IP#q~L6t--nhn06DvLg5gJ1!^H6CNqu00Sd_XIVOAc5%#&JyW8!8#dRFMlo2&exuku!rtc+f+PuzobEM#PR$2m= z7&nVT&l)%37tZ0p&5N;@?q;t*q_lhS0KlH5t?VKG3G0%G0H#_fDqGrdJ;4^HLywZ= zLtV}sT(9mxqVY}<0hTs1Gy^N`2{>5_llaajD9Lqn!`7HC01VNFSt*^Z4z!EO!LRWc zD>iXENW0e!-L5CoE<}K6_c^Q;7^I9nX_!Un8|yAW zku7?nSycMQIyGA~gRj}nz@w05jMn_s&L;8Tw?_Q_7smN%cV|AD)HHan!dwb;_GG%U z^?vpNhx%s}6~wS?sGU3FJC|sqcPOo&wKg5!-vc)YBjWud zZ+HzWM{?{kvwDr)Fiw+Ta#mXlIvth5 zxq@*y>YWEw_(zRsIp!RulblMof51tIYW2hCRVF4@!p~TH|Gdhcf=ZsJ;1lM_^yp;q zIRx#`a$-vsK<-mSUDm==x-7=Ls^`1{n)KD9@{A3sJ@k=ChBZ$Zer+~J|9ekAOqwdH z1Q45z>wp6NLcrkaE*N!6|62UbOYpk~DD??rzRWtRhw9@y^RXx&68~=fUhL(yM)@zY zoTlKZ@p! zh4|};73w#Y#(P}SrHhXBCzTNW*P)>Jo;*jeN= z?&SqG2-ANPT*ApED=^^kdi(keZLkd98i}_Cqi;nPZ(=dG=hx_;@%c;+40LIHQ90i1 zh0hTf8!PCT(|CAy$nS(3W@;gOF?g-27&tclJa~yHU*1@x^6>V zSO-)sN!;Wi-}0=Pm;(L_UStn3QM%E1?jtVRV{7I}gpd4B2CEkg$0oJAVqy7$%1Q6R zXbG6yX#DgOPBJtkhoq>~*bZvOIH38B#zs_zFxxFbX}JE1!#&Qz@}@3{SIzS3ZDGk~ zue1+dTZ|R=eGy)7+9yYbz6IVd&ZKMSVGU9BLsk9g>A209t{3c>^s-Vh+Y>A3+@6LX zjvW1`wMs=DQ`V*3RF0&QWX2|Ndvx?!>tdrO+((0q>A_n53w?0f5!he#;*DDL))DTQmLP60Y_&_9xnh>p5!v04g7XbSh-2EgJxDP7z?}}nZ zy=J|taMUn}z897z7Q(K(3c#H2f#WLP{k_%!!y2*1nrr$#cJg68Rl{ZLBVp(?Ox{P} zG75_tE`4ZO^$SdFY4h?BtgFd1V`)An%P;qCKpSwx(-Ra27{RL2hA8LlU)tzE3@i-` z!QI;p3!Bl?t4dJb!zH8}u0Ji;2N)?=PS){S;t~(m45zU-AOu681K1$D1+%~3w*-<{ z4ZlAX@SA)q_q96P_JNK2MXpN$V?CHfK)cac2iL#otE=so082YN58%0O`3b_2B zT8~8uDA{QIgujp?V^lU8o#sb5KW;QXe9{HQwRsYU5K_0ID&q1ailD%oqc7mnU?7KX zL*#}4*u!dJMH?`F2dD&UVHJw)!T2@S4?szPt57BEFLA@nuL^vLDUY7kNh^8VS|-+> zdHwk~K4pYbIeUVhBv{6O`mvhIET%6!)2EV7^X-<1{w|#EC{IF|4=$j#9{!Q=j)n1C zxQE6o0y_{}9~}udgP*5nAqzd^FizxpHrzASSC21aF>*ta&J>usKhCWhh4AKm`&s)G zQaipIHm0FKZe7Nii257pj>|su3PAPG8WTjm?Dt{#p46Xg{>Un9I!Hm*J@oyH3kL$h zD&W6}=Rni~A3swx;{~Kg;5)?^P8J*kr#@3k!xd9~%>`jPn2Gl|!)5=C{T6Q1p*Su3 z$o79B3du@&6;mqg4#N6BkXVzr*lEP5#|U%i(h}FQ=@7qLg(ZTF%TRu)MB`py#npb& zzIncdJOkT3$<}U7#l-*3cw$Uy~+?F1vInw=xGNXeYq|dFBobx{@G7G*U`D<29Dm z3@m8ez+9&c3_4<9kY`}fc1-Ua0Mu(bNNm-}+}@}*4ovcdn`F9caE4UB8JOw^1A~?h z47zb(&}9VKQI4_B8lfwSxYpWM#FPlyH)u1Z0$il_28hOu5zh@Z{Fke0vMpU)?QL$F z5Fy-Xe~XMVxAAP!s|HD-GpeioZx}0{m)`xN#8@U)93@52ZR?wuos#c>`~95z?Q_4o z`L;J>b+mSaoDyp6&^W6$gcN+Oc~TIWU=MJa`a7irlZ*BR z>z~pBz-YO6s&5|Rrucy)6$I=jNC>(UAz_V^sCHnYAClMXRQ}GS`X4a7ZQruzp%a6Oo~}dfis`yOkxFvN#R)N8rMZ#c?(c%NE_9mBoQoD zgV*|T_YyDIELde=*I(t zRtyY^>Y#o#etTfh`2&Oe1A}UGP(Qdv4h$+GNCd#rV-dL@c0iB5r445FD`oS*pr-}~ zJ*b2FHRVSGgW>~&<_rwFTnF_7V&cG{vj=9Z9vF1!z>NDbigm!CrU?SQORqGVlOxgc zWaIACC4*$z_iNG`(z(+frAkd}q|O+a?58Air)B($(Z;gXGC!G&PZ2K9Kk_`FitDRE7?*%LawICT_o#=l^98_dfA0QQmmfS^AS zxg3Sc zeogs0i4F)Frt`IF`E(Zi`vn<_bbX`R#?E*^j+fuhK^h+4*p!7dG!W9?lk&h}`1-(P z9VBxRPdpRI_R;4MHwV;wB?%7*iVO^@&jvxJNE1%Ue&5 zI9H?zbZ$~Frm3->sAHIUJtgU8s4zFoUe9J*YRY6qg)0DPs1%n0RYi8<2 z=pIdcNs?}|FN3i)Nt>a^Pr zQxg@7K_a$n6S%UkfXL}Kvrr^ZbspBhVwvqE5=RZLM}np-7SnU0kq zKNB&q@B|_tIx)@#dnYqrSTFNn5nRkn!Fb^P>~KsAE&e@_Q=IQFIOWZPzl8m(rflm{*Zi!0(CR+9D&ej~+ZjY>qwcG$PB=DTIBdIz9(? zcCr-4&sJwiy)K{U%liA{$9)3c-#;Q5>?{TkLr+~%&>kK(;KE>vO*3JbB$@|g4D2+P@eU^Q0Q>KSMj;)DjPI0a8bgrw;l4zPxG3emV~`)z75Duj0Ej&16if)c8bx zOr};>_B+EY{onzHLLXpwx(67|fKP!M9{4$^0i;x?#%=-7h}|bX6U7eSMx|gl&{8?$ zt16%vvjgMMgRzbL&0#XjHmZ}~b}+%QJcIVTAcO7N>S)lv!&v?_y=5gGT{ZO|n`Nl~ zsCQ8wTZrTF7fC`nZ*VDzgPa4$*Ixt<`*}g5brN~nJ5D7}kZ2ZKx)bG;@t7`L0PEek z6N|ZG67&bv_Y?)RLngt@M&gqw`msA|w zB6!(?$Zt05Z=Go@$4GY3=a>qVmkK>YoYZyBz!!4zKL0_zlB+Gi|OUKHd zNBvrB>heuHp+L6NQ7~c6`j~ci(8Q9gc-c0+rhh!%+`{$|8l`-99&+LyT)cSRvpjEv z{MS^?ectL_BUr_<-SXOzmRbJSjoTkYFB^cQBu2|D4<`om0KZHq2area%K;Lp_No^* z(kG@bR%f&gVm^={;U)kX-0o-zKO$+IsSp8&?;@Q`?);TAxl9Q+VF@4rLHlT}86FBe zU>NOZ$a}Xc_4gXf&f*>Gb1X(lg)hnKQ0C{esGkGZI@d1zgN%nreWCnD+i78%< z8)hM3b5e=)Cdo zx#7d+JN>9eKARgIcT~GVcAH6MGu#I7e+3`t)v=CZvehCl9P-|i!Qe0QaB$2WNqj3h4>|OETikS!c!|Z;y#1yOfGpehib&k&w zbm508g(x{pSF;LnY{D{?ZEu764;>toU~*7=*alw<_`jrVXISW~faeY31A?C{t)l_h zmg&C|Q_mAXZw1ri;hz*tkC`$(cC0&adUz2gIMYKXXaWYA9y>T`qL%vPz+a-wcs5wUa;n@uNL&`eRaLQ|C64e;(hme2~Zn2W3uhq!B@`nI%1flL^ ztD-$p^j&0=1FL*DF&paK_)0f^F7Yx@@-3t!Y*xLDi`@7NC7u(rd>2u<(Y}G^Ho+UN z3oq>{CM4Ybks)@%hKI55XZc?OW5|@IYnW>@sw0jQoq#$T%>(JMfJDI^-k{CMzruM% zldvYh$z6qj|MmH^L^y_*33|m5i7*|uODkzm_p45WlupF1G+n;m}fZJt+c;L$x+KG_zx12TAus< zg?y(MI*~tglBd7td@k2h;9Z?a#**IdRA2;{NgXT)ww?C7)aZaLRl>AJ^x^y_0L| zs(jpUow#+mxS!THgXooQ*oGYj*_f&Tf=Jy?Fq|N24Wy=wpBgVi6P0qWKM zNeb$B;QQ{@uYgbN+;4poLMIP=KN)hieFw{b*Fp2Q3Vi;rhHs|CkNWC(y_0;gs9zTp zwy#;Y|EuHcB>u^Kyx1-B>O-=a^3AzM(??}())^%e?Rjqx9EKh&spe1{YbZcV)h zJWU*8yiR1X7xx#~ceaX*Hlb*6rh*CDCO8Fyo9a(%G8#^kn|vTMRC}OM=8lwoyT!>n zjl8HW@ui7k&Sl1<>(~;oAlU=qUmmePjttu_j!VXcYq3Nd=9+Mg z{BTa+RX+FMt;fPsCr83lBU2)xk@95;!~V4k&QHx@8`0dKl%N;c7AR1BZFnH!G@w>8 zQoPG5HgKrJ4Najr#&P@-{gX5eY+Z7CQS>^j&b`iuQ;?iE3ptW4lBedcntp9@Iq~E7 zr3AgWOhlbx5GkMtT0B{1?(HPVS8A}*kyPH24~Zc=(^n+z0f;hrsP9Y<7jHAf_0+)jeV3s z9%Nz|cw%wSgn*;9?#tsA^n2w`>)vI}NOSCfFY_naoqEP|Jz=~9&uudkw^qY`IT2-0 z-q0fyXm$xSaKN5bk8N_GsS;>j>>ckwvlTx{Q?D6SDk zFi9-=Ud}k``zr-@)bsH5ORs%(eB)n9kAl}awdHCD2B%=X)Ud%E|3GUR>Lms%N=5fV zNA7a{CJc8BnYve4urDZ{N4$B@BUV=X#cj`&X~GfI4Z3`0z6`nQ>XxA)8Sg?;;60afb@>;wPieNmIaMRFDT`Q<;W+h zWTJjgSh4ZwkVtX{X8MHEWM$VZ?Y^GFyVz;-s(C1+vd+J5JUw~Pwd>lTRjsR@lYMcf zRlDB0c3ta_?k!4}>43yAYzN>jq?DNvqR*#FS`eLb4p9IYvBXtBQ>v0vs|a`amKoz{)n+JtK4 z6`}(is(r2r6CCMN@Cap<#CLn-aC;n0h?hc%nfQP6Mr^YV6V6Dunh^0Ui?O>1)WO=- z;pDjDG#5rD3(&^0%Vgi-p7x3hd1*awO01%FNpU1LsC5aD&#^qL9)Rx_4qePc@xRfFFsHnJ+V+> z{Pf3|5?O_DwC95z)uJ$tvzArGcx4RPpUpofV!s#a#6MWuhtbmt^M1Z6o7c?r1Up7E zqcG4J^nb2Z@TZi|T_+wTJ^N}ux9qjiF`=>2ZqQC)8ULLtgG~AQ?bWHh@G!U@Q*uU^ z-aiW6=vq@uM{LDb8Q@z@k zK|-AIw#dBtY=&t1&Zo{DcvFkt#!>?LZ0PaKNI&J?vdDQT*IQa%Hi4!0+`R#>+#6_7 zU30S7fqrszyDht`o>!!MhFS3zAS}(SNw4-_A#F!Yu}OWK#UY-^lOryf)eAk0u4Dvzmb>s3;D{yGp{D^|7}sdkI}8lC1a=00OS}OQ?EAQF^(YZbXLW?0bb$ zF|8{sCNiJ^CV54L{iQQShc$Mp6osiXnD(w$&8mLt%Zt$C&N@iRUVAxU@5dR!fIZ)# ztHf`VSN(3Z%tf?<=?Fw=4)M}hCBveX;+(r(_R>B^%Cq!-e)UCSpBBHOLG*qfYK#v5v0qAtuuafz4`mv`l&PR>QuySbQ3POiNxvekXv%|%r5 zN-Wz-nVWL4=uk_U@8mN6G8YAxNTP;n?x5sq%|)#jRd1M92#R1@se7_FR_fHRwsM{5 z9w4-m-ybVP7tAzaV5#507&XVPHQH{`k*-NSoqhXfT~MQFX({od++m&mu% zn4tpAUjf+}#`_)-D#rKF^OEwEAifuUxb;nre5gI!!T-Y)AfRD+HsH4ekmIih9Y!9X06)sU!Dqmbc>{o=bA;Lnn>$ktfFzsp!Q zh51ver2T?KybZ#jO7?B}v86h!+*mP^H)GZKLEYPiu=4<8UFZ1X zamBHUCyKfbL;OZS`nYi=^4)rb`+X?(#*4mDgkNdqoK9k&Uk;yv%`4s^b^H6~8CGpK zzCs-fXzm*FsXu?rwEG3K-?1_0Q$J>aQg`a*F!D!j&fM}U>%Wb~LyKVX=*wfxvJ-uZrPY;MrXhLG zk=ZVXqGt69qFBoN;X|&Ui zck!B9NBeSZkqaPS+JHy6z99|x2?=cXmWA&8`E-7&olvj&K4U zNPZ^irxCnkf>C0$PvUJ7161k6PLn+xavEy2A34b#-YFr>%KCUrZIxZB`m!m-yo7L|bjP#VCZOiBc zJL58r(pPgN@_RINrQ6#gPUBRrZrQB6On-URy)w%BbgnKC*|EINQR8`)X&&EQGWT1M zztC{Z?O6@+aSi_1DYN2>C+tOh^SsilFc(3~CnuFz^qc$Bhex~}}LF1d%_YWHHRW}|iKB?Eu zr2a|t`J@29Zs@xL|+7Ak;2<6ut^ryAYuZkhU7hNMhzdOhbg(PxptfqpB(Th8OomP0^#lx#T|`jah3zK7|}X1)Hv z7md~Z7Je++s-4|ti|jV5Q3_?ZaSDWW5#ff306}APBQZ=NT`X?DPq)B3B1TV@(1#*x z6ojDtbZx;#8@?;VBfORKik9e;O=7zkQ<#vL&aP4x$9{s97{uEJ`b{p3m7V0gf`7`s zz`y`b%h5b4+v2=>@qAv#zmNZb=)-&}sx1!ypymIx&`X(Mjw-2;sn8--!WZpRdm7}P z;V#Meg@tO<{W{|plF>b#hZ&IHdj*!G%f*&Um}|I$oU=+KaaCo=-YI@)0tgvG z{?Cp04cr~z-YN~9P$!K!8ECXGkY4cxQc#2V;L1paUn8007i^~-w@|d&#HaWIxrnlw z?0<+dS1SOD?y3)oy-40U1^!Swz?q5UB+rZasmLUR$?|^#=%E10nei=Y_Ccy3WDLBe1v)^uhXDN{u#gk1ThPt+1ynyE4P}L}XUQSm*|o=FHXx z?Op!|Yoj;yGa+QDai$$8Md`Mx|84L=+KZRItxeNtoA%`8b2M+Y=OBS1@V{N5dBoA1 zI;IeS`tgBiB|RAGd@tC6*W%RCbckGzofGkNMZmLj8I_ojGd19*Ozet zhV4mxCIetR`gWxL#z4pj(Lv14?2;CCq%3ERcMBGVx#Mr6w(b;PXAV9QC>nB^{y&jP z8l^-~a>4ErL?tTVjsuO<6L_uci&hZ3ua)#wsuKmvFGpI=wkUgy-c;DIuvUO&fh@yr z=`&q4JujNgF#??9e4d|bC6f=3QXMPCUtl7-E~oSKu5eiI>N*I$o4jB0zk$^3OY*sXu-266DGf=CtX{FS^l69k68wxPiV#_k+@<*V@Fe> z&R!}=#=pgg-$rkW^Wo}1#C}k?DV%lRfyfKK!$Qted13}&d~xbcQa8pIzf)0cEFZ`F z;{j>Gw-J3oZHONYDA_qeYTWWSA%q|`=5bkdUR^LT&&U5bu}A;9kRA7vPc+?f8?RWF zSOSTG zX;Jhnlcm(XZJ10SFf7UzMh$PXj3sg@C^@N4A92;Yb}`s=e5vKxC5h^|6hrCh`zQGq zzf&27P5Y|A}m8ChZD!5|L||*4T2->%JeO@ zTVUNhM$dB-Wec04>1>J`LDiU@rn4zN=4^@_``k?tM-H+nNQr>9+>PT8-ul6MMo&$7{N0G;b)qxNu6VBg1V+{nu=aIDG&WVNbzgIJZTXU#?(`*}xa zqtW3BsH=4}O|?9|R(*U91<&K=kAC5}(%E*T)Foo2#`1(~it@5GBG@`5Cktand~6D0 z+@#K9qIP&J(E`{U`$(pezItULqC83Ku&^u31me(wL{3$b9HpNM5&V5XYB3&&=q5Sx zAI(l19Fuc@Hl+=@`aZVM>98DwE7Z9G#GJ1aKh@GJA}gE}w6~a@<>uHS(ZM~-AE6zH zrJutipBZ0W{`_0v%sRyD!&W1tuU!0M9#*%W0vmbPQiHuY-dm1}$4ln(e>aD{iY1Q4 zZ|gyJT9}s&>U_yXrP3XBWbFRClWo|m(kH1e%|iz|Z30FHc9YtPR&GI?w&vP28R$Fl z-BBDn)_AnbX~Of{Q0X1EMXnY6-4;`b8YJD1naPFyxFDeW(Yf2keZVn0+P4aOJayZt zqRPCCO2^gBEge@sf2iPtao*T557#9tenL%|9{V81XcF<8wdMD81J=$KHVuE~FR)b#vEshX7kC{yR= zKL#mL3DVgIs~&{G9b8t+&NzV~t0d-q+N-OTmPX{B5;Jh4`hnz-sT$5a%T!HbOo>o& ztLJw7CLJ31^W$g?Nz_&OD0gma9Wjk7vvZp&URGmCC}0g%b?)1QVs&EnwL~42ef20K z`&z0>v#(`pH}+;aCJb^HgwQKux7CY+M|s5GP_8lcs4=fbT!WmImiP)9qIR5(JO?tu2Q=jowJh;s1yYBF~8Q z`ZLybc58h(4J-Y?m9HB0C_G{8yIUu*@0T&ssg@DojvvhiW4vsK zE7%C@v54AecXz9jWV9TXbj5tFvVStk^bN|xBgxV*oS$&_HjjFDoM;0K zQ=_Gtgg-H_La-gCI$_G8&Ig5shb3;mLfkw@I2X=%sU!_n%N>KNuDvi$mcmp7q{2I^ zp9pv*{q2^q*H*CCR&+KT(qSIb*a za6T&w=Ln`V&xA)+$XinO|BZ>pQngl3`HgA_2oAoPpc(bpEsv>Th5jrc; zI70o6VB=93iu1f;PI*jL17NtC_(%FGYs?$-&Ap9Y>6a+$W3wujNa-~>QQK3hK;>Y9 zji{5T)2KdV|Ltj^1EYavm@r5E-U&`jh$^uRPYH<$E$X@K>tfa8zOHDc^HmWQTFHAlWFQ_sUh0!Q z>3<~7O0MeS5wYKq;1`h{bqor7K9?4PyjKMnJU8yi1LL~#arYe<7tp+p4QhEdB3%1n z?4zeo)HVLTi&(eou8{S4x z=QHT$d&2qD7SV`($mu5a24XR7(_ll#is>X(zo2|;Y40VxKV9Uu0=r6PN<~&1epsxCmgwQ!TE()QxtdtDh7vor7RV7$HS}y zQRRt0Q+HWvDPJxpfw`ZP`-mm`pUK=}m&n^|pS`2OK;>5ulF=p%>@hpWWa{Ty#_}%& z2)i-BS+quMK9p{US{Lbr7anpee(x;A93l-85LtxNeVl7X3l@kj^e?iaH&{u$D8fX1 zz%57@L7w~NJK0>Nu4Y)ElqLy#M+d@@mIB!k4b*^*F{_Oywhu-d>J-~7%}_XC6bGp* z)6=$f;Rq^`oKk%3zMl3!ltZCf5UyT1PX}NhSqWNZvNhpMkh{-tQ(8#FC$FS%<`CRa z-3ZW?g5IQ1V_BI{M)7B6yQW;T`n%#YfRbFF0e;74z~BR126!#oVXEx;oeWA+8m2zd z?;F*-JR#QC^-cf~K#?)NLTiU->GMu!Fm`toJJ<=Ow+w1=J?iprvHv6|AIAm&KI&0T zd^0u$-6tKV-}&aja7}`vyyk{@5F@f@p(Nsh$G${ z(2U&}1;f~lEg%=WadBe8VmsbS&cq7&RfvBwPsu-ohdNgA=rc393;}C z9&thiZxHIBj~?~!ZdzGRq}8jxN39^#MHhDnx{wTR)b&mV!4rf!=%Pnmi%Jl2{=R z;x3ZFG`j z8K`e$Q(lhxn;3=wexQ#x+SjX1*(!NaS4EEl9O(*oLDcE^6I%utXS8{K> zb?==<`!@Q7X}`Goco<@#c9g0eTN4!Eo?kYoZCGpjQeeeinE)&6V@I&s^hVDUh+x0{ zkC!0n+h0lEL4pA@8)F}FeqC^wbZ{^>j10$lqk}WO>5b-}KtQ@3k4rwa;XiYY))%J& z5R&F&I_mqUyX|%weB8u+!uAjOcXFE>?1Mt~pNge@&O9*MJ_a`hJ06lLBA6-990Pl} zdyrTG29G;dfSEZ}3G)LR)E8gP+ji*X&!Cq->ulK3AzZDU9p+Alx7FFOyTjbw*|4X> z+(W9pq}r=0Ufn|vOsN6A)TqoWeCU}hTN3s^c-igXN4cU96y(T#1woFQnK~M2 z!u5zWaMe+*)!bImN_HjNhS;W#||4P^;^QSn_A(XHd9>@ z%+lFk7C&44C)T)R4d(Z}LVlbJbJ~IV9S7zQ9hlFo5yJ>rblD*=pC3>j2j=r@)G->= z^Q+Vd{jy0_xG?82dq4J-2CYBbhvnhQYh8Rvr($F%aeCtB^2E&*_NC>n(ExpPyZ!+> zE-^T9Wd*maZ?^1@WOtt9*qvyWI1~qmtOy>LIFC!6$7RlAhV!_bN8-WR`nQH(D{<{E z^$$p6D`^Y4rf~V033OaH+q&wJ2l)1XE=Qwd9Zxg1MoaO3lyg(VvMcJ<@xbf}u(_><1$C9LDT;b+GpHG`q$}uCe*hCRYh^a$ zLQ8OoM9oo;avWYMS}JLo#+Ln8^(>eHX_ z9w_IC@k|Fm6t0v!E)bpFBgB;QSFM4h^nrTlSN)brKELh6i!IH9BJ%N4{;zY9&>&iO zAC0b+C}(I%xB$<-f!cl~aV^UoF;j6QdB<#~)tIfJWC&3!rij)W?QcTjXlK_}{XG(! zH9NRYC?JrvWSfjSLsvG#!#V=Qkys(T@nGU6NbjFkcTw~Iz!%grZ6YS)T%I92E0^S9 zVE_7(p+%i-72Txsl^$xe>scrhe|Op9ZLLpL_YhHHtPnMpPNz6%Ay>C`>}y8buZS?m zzBd1^)-OsHBt`pT3nB7+$$f5fpNeO0?uvcd)-Uigp|4bXWwx}a-;TzX&rB**dw;2pEOU(weIR-H5IEEue55|5+j}O=hGMw* zTA4$gthm(c1Uj<47^I%_cAXG?D?~8LAaIYH6x=V#U2q@NEs2eUH>^-ytC! zwbt(_Dvo`A;B73K&D1RjH;)o%ee|1v(7O6XGUP?;5!c z5v>1xD}~IDM(lf9cxg&DRD@t9)z{2#!tpkiiAUfX0a_+6`i+ea*3T}Do+O9PrQI3f zD4(#w#-bELRZpK)e@9mEqF+$A3;E0EK4QY0hV}`^yQ+fz`=rjf_k`@V)c*kQ#&S^_ zjM#VFFEH4La!z;k0!>FJaIn@1Odo+dAg@R|)5Ekj-#CwD1i2^Zr~+DkXC-hGV8v`o z%4-AWQY4o;5aSzr3kxR;tA26ZI&kl7g@$R_JiQckRJK68KYWi;pDZf!3MO2Dbq`r- zImH>76qAA-;5nwHOmUf>5qm=<>C9A7XO<|ksZ00mM*V7SY*f(aq(`9`bR{{gV!cEe z$)(Q-X3#vef{V-U=G-5zh^@^6q(ho~yq%O{)u$rQb5NT@HwwR`kOC8uRbiumrFE># zmP?sI=_5g%&FRDSTu)axk23wBEXT_ab@h|;+Myb`OWlkF^w0F7R!GQdOgO+Fn7+BE z^}iW1R$$rPUzX!b(z{HCvhV$i>9yEQWU__n|Nr<2|A|mI%TM^3e&48m#8dbQ4yCMV zkJK{4gy*Sw?Oq|2oJ&{gTFG?PlQPj9?|jEN91NGj5kkG(jVLO@7w$eh2T0o)3TI)e6_e)nSoOjtC6W1fWq{uN5IIS zap#`gAQqln^5;M}N}AWjY!r`_?))m`waEcY&BE7)Gx@D}syt=WeX>TfG92~7ou%wP zWrHu0UO}#sEc+YX5=kEOC*3>ZwxevBgd|33&U>`$;-$}|Y~(v$4Fj16^;tbLMV#jN8dwfA`8E^x&>acpXn6MN1#bFr`M*yvm2 z`ORs$&^{**H;t#1r(}GIejp$Hpc9Rn@|4Q-jl_-4$0hS|Rp|?f+y0GQu{Y=Ayy>%u z3+4ftmXE8^ZuDyMW!5`!IM)dcXH{zy`dFW%*VumViW0ElA9{jO8 z`QR!y80lEyg-@>=9Oxe$(80Y2$jEvdeL5U`E^|ykDrb4Z~?2jaR z+{;hx#1>3Hc;rG>?Xr~wSe|9~JC9Z#<|JWGYqgfauX4OiZ7 z)n8y~vk4-;nLqTgGKMp?j6zh5o)bE@nGf2n(%-f0DKpthMC?D^s-0w6{`KhRBd46? z6`Veu_~~j8=4+Vs5KfYcW|&rSqa_UHX6fx?DOCz!KM`YswX#y=Ts0fTNEAi&dZ}Mz z&AnSA0cTb@`_y(lkH+N2wlZ~c?!78CD);V98M*hGlqdIImlFL2jVH7WUdyfWJ7!oe zUc5yoK(B{7YPehLjaJyjc$bQnsdva}PijsKi_~9NWweV@XJ(zz_6$9fSr`2-|Im-p zb7?5^$3>4(opdiaiiXV*k``sSJ~d}v8E8_d*+e5sk!w-8Pqz3ZWMA07ufKL&RoK5V ztCEj^uqyQ_RXzUjTngTJ&w&MdWNUW|My<{%7$?R5Qo%o#f{TVza8wEgr)7a|Vw(Z% zAs?0s>U`p%A>hkn!HTo*5v<7RBUv`mc@=y*mv}&}*=kx;a0e4-A(GEHQNcxvD>A()4?>(_|{tUIr zj^@~km#)6^Xt%2~P93;e(*9CKPAnXQY(3i~AI!-)8fVHGmSJJ*S$Oi$qD-am30N8% z<=`a?N4gk5xuZsY%z@JtTq1GO$U-=j`y&{*vvsn3u%pX7u#(SC>Q@Q2!Kow-1}Yx2 zHCMriffb~`Q5Ytr%Zw4**t##F<(vY9+QP?N{+2h(Gn8 z#1H)^@$cXL)#WECf9%T#k3T9GulIzUEf-t-h)tIbzygJG&`gCow`(bXO6;?v>pN#l z#Qv2&d7FtdtL3K4ON@@0I6L6Gd0KR~)f?y&HLFN6(1%>oVpH-eb>uFNwfe3~S!yTI znweu2hb#=1m1fVxuM-g(yOZlp^}nsYpE9x$Yl#p|aS1aYElvek+j4tOzMZ;+!!ra-?S#vdNH8o)eXarTre$RyW(*B{*_G@Mn3S2YwWyT5J!srsX^6*LTH+j{jBX$9yNFxK}h%k_n ztV!G(2Bip*y=g}g_Ge)a3lWy8f73h=YUvQmza2UZ<)e@Bz{!I3l93EMqGt)b|9*$S zOQ>o8#k8Nb{FtsXCXgL^btF<=ia~e0TVLAiQ%y%O9I!O*CYN}m^2(l{SWun?NJ{X~ z4@|D(Ntz9o2^I2elMXpY7~-{}Pe7%C)?25sdb2FL1Ur#4v1pU{mmrBxBAu0>_Xv2; z$T0;;(;G25r_EU(kdmXa)j4yvPu)zX=^IY52Kw8qeb#7S3ARd~*0NsEI%4y zV0e6WbWmp9!jIF2%@Ja=O0s;AeWgQ>d}rrswCRdsgS+1!@yHG7;e3KjVrAX$4}Ii1 z3+{1^nn~i7!A?#(TO{w1XYO@G4>jtQ+XWiwU`vFm1NwFO$yvFX!#8uzL3wCRJ7wD2 zJB57))GY$Fy6{GQaX`*cMQyJ_m?TG@Pz8-k%?sv8b(__nZ-c+HzjWSk;{FkmxDlVE z2lMd>)(R!T`6P_*_r%5*nv&an9TxytkJ{@tj;8emfQ!p9G^Jbl2j=ohw~3dMpLc2e zPCMU3N6kf=nV&y)s3m7FszvNY%~2~)%C=f3?VlcDPmQ`UmqPQn^!7hTu!$D0=_4X$ z^=2ieZ{z3AP(4mS1-pwpi@;{}7`hR<$LiGDPKp%>*-pHA{`vmxexNaeFG&cL zLW@;<$4Wx%6*W>j_D%-JH+UtI4MZ3B;BP5IXkPnHX`&PO0||Uz2kLwtw<%KpuOv=0 ze(XD?XeY<_CG;`*wC|J&<%CuMYw8z-cHSut9Gt+(5}0&z)~RQ&qdn5f*zp_?#s;PF zBTwMrbdJ8|qI=_)*Gu=56*(zBZX{v-eY%Uqx{FTIb%P|CjF)9W)Piu;iKFrsRhreY z=ve5^3#g7nt{-pZ)wPRA{~`-t=|Fl6ulb93@n`1f3l{EFE5vKfYX2W8;w$K3k*U3V z!htijFn^uuIcR)9{d!=0KYn(y>|$_7Asai#HHlY9e1Nu4}%v z=9}onkw+O?Kjh=yfR8+wmhTd+xQX^?p6k_M z>YG>Z6a~d^QXGOB6sua#D~f$Chv^OKz4=0SjGAS}{WD_2pO8M2VDAF%SlwDy6g|?4 zKV2@Nx{hOXp&L|E>d;$|m6rzR=8fInN(KidR>uEBJ{&80w;WeE*K+AKKD?q|oJ{5Z z@#p5^U70|j09o$Rx(J8}I6->3i-`GqR6So%4}MEzzwCTvn3hh@$IOfvvet$|e0R&j zkDbh9t@cl;nfG;+M7@X(wgl_LM+c1w{J=c-W>!mr^lL#oE=r-DcYljtXHAbr3zhX~ zYpjB#wCGxQV8DOv{nuyUtJY_on&mC*6W#6u){m$d6|NtwJ=$ACiAtuuS8h6nd>0f) zF*ssYrVkJLG(O|9w(kNgIulrBCW;(K>(&&>$wvEJF7weZg?v*=xRPo&jv!q+kj-Cf z`d^8iWiR#8+6T&Gr4N*1dQ#60dzm0!bH^*A*2Ui}t?f?thJ1&|hMC+GGZPri7Soqm zU9J{Q9m{bRbKpVy71__wypW$u9rX*EFwq|Ik{MT6fx1Krjw^OKT}7tPX#0%0W6Fy@ zed$#H<^)BTkaS4&Xzr*SVzkdDt9@aG49s+O)33qf7ZKw7HyLB@!{t%`baf~i5-Fd= z9u*yA|C@|z(4KfS7HB)~%nq(kLAS|@t8_|y4Xp*f#K6`2akB3QhWySkU5%77-zISB zEtn(ZhS~BLa~~NazMc>C*J_-?Y6QGh1oX&KS?=1B}9%Z_wqDx3LK;Z zMTezLQo3rsI`t!@PTyRZ^iBAtn4r15U$WaJ*+fCMA(kwAkEMRjRSMd(MQW{4YZ~@A zt+P}Gtz*lpb2fGt;FEuu!#E!-lZF4H1MSJk|MiA6UER)|%)$++#ia$^EvesHp02+4 zyMygXmb&nm0c)Zkt$xNq<9+I|f$;~dsi_C7sRL{WA$80$W*oCY!eSQ2$9Bd*<})NK z1S@mTH5+82u4#_#i5>$A3MZ#DVcUo}WoyN6I@r+}KvP6k2nb&o4L#A3QXHI&Jh$N- z@#U7hLr4o*B%&xG>LonXY}_?|RklH7izHUbP|KC{+42L^dy_m{WT0A!v3k4c1>Md* z`E=VW&zJZPb?z6FJ~M+I(dvdKY}t^li*USJ$*X`Q<2+qH1fY=pQ4rqk)j|Jn^{g@C z(}zm+jhyPI__BQfA7F)m#jUpzD=`T}00l+Jw!Lo`gva(VT{s^&P0&?~@}t#*pq|xx9c{0Td|$#Xm1`Bg1AQpV^&SnTdptH79@NHge#t25nK)N%-=PP#K?b(CRD>>dx;??p?RpTIAXBx56LqAI(otWkBb4P~V@*Q3BQ*9+ zqkRhEA+vK+1g5+UZ^+kF7M;l4*}?3C6Y5kTSZAuFs=uR(oUv0vV?T}_M~c|dx;tbw z4p-hqJCO~n6IU+aIAlC#=Q`3v7l@3270V31oZM0c_3{=We2yIWXA4HZ25S}Bp)lG` zBffB@i~LCUeT#bRmfSG>m%Qdzy2Er9#_(MT zp72}_pF4;^;P%Nie=w=Oz6JYQGhai(IPQlM`;j z&b?00sE@xAX??gb*Oa&9HQ$sxHtj`p;m#;(Fxr0Zfe6S=bKS7iU4%JJl+JC7^XZP2 z(Ka9Gn(S1Q*hg3;!xsjy8sUgGQe{NM<~?jOzc2iEu;A>ZH~@D z$TCN)Fu^|#{{GdC%gqQMpWyGhW;%KZi9Dk-fSCHI) zaLd654xI0~6T(ZAT`_va1+12Q4ZE{WgPhHdEjsw$F z+g>Y}ZsBa)Y;~@@_7iZ(Tob8@6yhaTcU!P?arHFdk;#9Zp7%qMQ$%csjUW@gMJ9aI z1w*zqqfH#1eZ_?D;P=Xjz1!@j3`a z*Jwhsc&!s6DB{_k zrHAxl)aOnACttZ5uY`Bu_VZME&G&PDHP+LJVCP#MaNMYBCYvl1%?Pd5+fJ}rtIb$q z@6|zh!XT<-u)$uGCRV$wv>3J%$IMKY9I>PAcRAL(95L5d_41Q2b6gl7me&EjtT$-} zM9*a8-dYBZyYZRXUP%uR7Jdfts&KWLS*yuKpvI?>Be2ny*j(8SDDMF}H0*gnu$#Q< zG3Sty`Z3}nbz&Z>qa3I->FiF={6TK%GlFLFf)j_q-;X!rUJZR-I6`?gV*&3bsiP{;S>p5o#$T(MbL%zp|09{x-DFH0;ePb{oREUZi{9FbU9)oY4@yrRTHZ?9Rc z&k6DFI<;t;%!TBnfEs!E&I~rV5{o!Ei6AGd3Y{=J93zUPh1SEL6nhN7tX-e{nN+r znjYS1UcTd{Q9I)A?vM9)gZ`d*C$}!V949oCKWeTAM=tQWeRV^Nk{5r#c>`i+i+blG z*b7q&tG@ffY}K{(&XnaeNzPA)^gHvn5XP%pSn6qx@9-A$wp!2!J%fv?;*FK_ z1C4Qx(?6EC0xv{QU%+=(baYBibVRYv{dR204YUj5O0}BlTPX37KcXTzru`>lgQTZf z=16?W^peG=5_z*5`9o$&;L+0w_r%HqkDie}f!EU5F;952u6^*8%^vKpFjIZ#IQ`&>l1~ro4)+O-D z(FfX~?zxJkl^pqu8@X$$L|)-W-r_{w=SIFtWPHiYqQ%Ec&dZ(1TinQ}iL@`CDKY0! zgDb$y@Og#p7Z9-NY9Dy89nzp!aZ6c zVDT`%W2MQ4qt|%05L%iGI7R~YjGcR4>p~hgl2=JKbWMDZ-+fuVpCadu)TJA|#s)n$ zo<3ibY{-x*_}BzKq9yifq@0cn1Ac0+DWXxxvR8uj7nVlsb@OjB?Mm@*cmcujT@&rT zdCg{gA-yul^oM88YmDzUqhsT{8=~KOVh{!5`>84p3m-yEmEsjD_DOvAgxJvbtuR~@ z;hE{ft>iJwPaTRifzl)WtLK$UAhVn6AV-J%Q%dLFDHB`c<<8=9-(Flg?v~ri$C-;O z$6dOl0*5nWX@pEOQ9=c~*rsq#5+$wmm&c9?`ohJrukl+FJCxrtE&-c^T4QCQj`H;A z*81WFr`l!-X%`k>9y?YiJCa{d3@&qcP;B@Pb8suJu6l}!UH)=>PYGUT@WeBBLTi0f ztbvS|#>QFkJ%PDr*%ypUHguiSWfT=HIAzD`!LjOOLlwq({OcARWiB08*&LERYISV* zm@Z@yiz`RWH16(NgXy8{TFr}pv>x~?te=^*3-rZkHp=m!Mm-H?0l~W7zlxym5PKZs z25eA^rn`G_jjBd~$rMbFl6|p8jpS2=Ee?YE8ZxA;bc3GF%}p(*cobi`(&f%QT!%}@ zK2j5E>oU>V5`~3VAd!uP_Gw_Rjc+^8Z`RBm!6GtH^p^Sm2n#f|5CYJ?wp!bpu{@_p zGlI!k`=j4WR=}+)t3YAg@}!dIPv$!KG(wt6g8t{i_H(f#&?E74ryV;qAhp#c5l;`~ z^81fB(iv2;hDt~oYa-c^+y=th+0byjyTtOmAj#6-!n;)(i@fiqYb}o=!_PHT8`b7d z%Tb??ZX@V6H|QxH#If>SZaQ2-Aj%nR0Ov_GEDBOqxPeA^i?rvNDi^(@}=+H3PD;n8-cs zPYb7`M1)n9hY1RFo{@aLB zt>d4?wNb6(a%=j+U}txH+Y-J_9%lEp!NFl&q~8}CtVW%aBVxukn}0o-el5~Y8v5NBl4cOMAu?cuKiH+3~YI(J(Hfe89Qn1=~4 zhfuKhXm4V&*G1_0+vPH|vFeP}cDi}#{#JhHoo%vFn)RWnu_5B0S#`-8BPeW7vmg&P z&1y(gG$8DCJzInlq2`oGnv%@2$9m>rEg}I2w27B3fdA$zcitwmo8I3;sHcH z4dNw2Cw@bWMD~Mx5RjYpG$3!XW+l$NAS)|36VsZFRcC7u8P-yFSaaIHZXDc;`Nthl zk_X8z;2c8WJdquj0#?m>l!(e^G zf_p~y%DZr&(pCvVy>^1ERs-q(slNE(haDfYg4GdEvF`$Jbf~AR!B`b6+Mgbr>1%*eDH4%; zeAkRvnLfjJ3d!^=F7MdjB`X`^yeot9dkJt@o`kahcbCkvb!d6?!}KVV^q$q0XFaN4neMi&(O+~{;`?swq0#M{bb#Ke zfgTa_%p(1%U9BscD!!bS#R&-7;cEII;#t?^DL3OS)7e#56)!&G9GT6rtNAcXsQ0oH zWsa|5*~FR&3$tjV6YTEzn@gTkC(7s!>n5^v?ih+ge-BGDPHF7D#j(L;iw;SD?VNp7 z7^@VIwCIgsV^NBRI%C)&FSjj;zqJHZIBa#+4hlX!ZM+kXSh^6yw?LcQItN6y5@d9wv52SWc2X(uCGN8iSMeqjX87FZFv*K zHEV>Yr0q{+#j#|D&B=tu9HjX7X%c?uC&7-VG?xQWjIq3v>g>j9@%w{E2+QLM`WAVk zp%6yPR6#c8xOH$4VLdkLhW=9NS6X;G?H;MsaBD zduC_GXrIeBz+CRAP4G6uXupE6&PMP8Sm{HD1yCZO8q3ckCS>1M8nkafJ7eFu#Hzoh5hV5^VsIwDpo zU4}*Hc<<4s|3;kBPNz##tNAg}TSpSR$ZI!Fj}DDz%A-fbGnMJ`c%~#;5zmyyDjt)G zj<80SonI0KRuv~2r>Dy>gVf2C{bTk0#2^Bu4Px$V6@~@ki)M~CZWr1r=yT?9^n2#m zOzavW&b##*k~!&_O;UPK;}ykf3Hg{-Gj9v%M1jIYQa64Nu27d|6OGb|Q02~-By(ET zJGGy;_$(TAg%hns?;AQAuTZ11u~iZ)?ugy&y6}CDF&it-8PxWhvUeQqPfUz13rA(Q zI+gv<;i!mhTVX5&I#u*cZQLYzv87&MdkVCD7`xcACtI`P^)q6FS(GI+qT|(NNFXr` zeU80CI3?*i^6-DLPyMLT$-^3%>}w^9xK^DJ9iesu7deL6D@0I-VTtk8Ia&~UD|?sx zNXs7UC^I!y_$O41S~q4#{LTHI^}HLwP1wmV#f8)Prf&{2Zc?>9p*k84`un0aLI0-3 zXf!NtZn9e~DhS&ZkhO?-)jD)=tk!7V%|QFm&wX( z`$X%Ji^|e(EPX7NgYK??ejWL?7vg~BW~oD_fBg!+(PG%b9Fgm!oMm1V z>BqUG!;(@L3UAVMl!w%q{jL_crT!whk|UG3Vtc7bE;mx*?O#!%B8e_h^pI?6yLxk9 zuEb^JvQM)-wVjQyBtxU#hMwAQ#-BMBCU&rXK8R@#bKRZ>BpcK_D2`h8t=MveVIQ$? zsE~_r&6XV-5mz{7T}et&B8xEb<7$Y}R!3!Vh2%}6hg~P)dW$4-<>PiK^hH$xMK33t zTlr-D6fGXg@43eJZ{XW8?(--tT1E@Xn(cgvC? zP6h&*mlIc`PGyu*^U3Tq`_D7Jq}iLWeZyeWY$ky;`$hG&z0&NUK*#jipxyvq%jHUf zrY0uTBo^qc>ws2VO0UDnc3UA<0v|t`cG`F$-(NhxGJfmZC9$E-zTOqK`-1-M#`0GM z-0RjM*j~&1?6{8&v`@D{EPLWG(6XD^oV3h3z&?ruJH8u*!C#R^j_g0>SwFSZ{M`hw-i8BiAcFb95=O84ehWYq%Jei5?|2sN-P<^HQgd)GwRWq53(AmEKro zf=rSly16kIs^zVsTN{!8&FkewkF&RCiYHYCJ#Pj*DJ%XVGxQn6v0^kW=%@9|hLFJN z4W_hkSGoZdk`}(ZfMM?m+h-OB?TadKKvC*{&WKBcnvye$%fq$@S2h(P|Caf4OwZnM zd`cuBEDKp%?t$b z5|~6XIZR7iYi(;=+S=B(_N%=LUK7A1hzQ;g>kYNGJB%09HiEZ&zqQXflSzQ^zR&kO z@B9A$d7jMK_xoOZ?X}ikE4cUi{`9q0O`xJS5dSX2!|>DQ&(jhvk8SSAc-xMlRv8^p zdnlu`kT0Vnz}^;O*!6n6gZ(=xdJOKx85txx1>`dJi*>$qS3-@&9>zf5*@@te9r}EpVeZ^=F{j~ z#3xXuNeJ^k5fN`f05M0+dT=Oa6j+4Cizk6Kb0pY6V z$HD1HG4}d!AaNoA0AMRza6+8sBG&ufmBL$PdRKg#@8l=pjd)kA#CdLN(pbiI+F)g1 zW@)@-p-~Y`&MoK23(e^5sPe@o4y@0OUuLa;QYEX(Q>>J@#1aUBe6lT6|q}{unw^wpT7YiEt;Gh3H}>f za~}Jh@-GNOk3Vu!`F4I(N3?`G9*_wjA&;f~mTr17ArcXtx|1D=H?>=u(vf%zw}>#K ze*tl7>a=#~%vmZd{v;vj1TNu?*`M}E`ZGwj+euceX6cswRstv_n*6P#QDb%6bb2$H zkVv$8G!eTKr`NHgIkyEg{0;(`0GUQrb-&zt850p0bH*z+o9fo;M7DKUGj&^8D}IrV zmklqsRQ2`ep}_LC{UQ@Hkvi1dF63u>V309x#p7-NVJ1iuD4lY-`U{@sQsp|_ms+#&g2XJ%e1F;|hJ$Chi zu1GV~#vOKJ|BqXZ9o~F9k7IuzXSb`nr^oQ+^coH1$>}jJ;s0X(FC|E`fX&O-*=W-9 zqL%C(UWRqQfk2IoPjgP7jSQ3W=m{E-#}$XFpTY$cslM;?Z6Az3+nbQ=@`rXa!PAEq zqfz$#6my|d%z2q&B(Gh}vQk?^+L^Y7G>&5A_;fqaV+>b~lMrqCrMd*30(!M$iz>2< zdcv`yfw48#l9fZT@`k-c{ZmlW-h>3`dU_Kc*9l)qL)FY1KPB=OJ&Dyip&SF0Fr>_> zMF#_ggn_MPZid}x1MJ|eS6;id!l1qCC;I#nr3v3`r2wtv5=|y(Oz?5^wf~VzRMfgp zq9VPIl9tA{m9+>o;9sU++yW&1qF?3F?Q-mR+n13|ma9Zgasl5$0*$pLWCh`QWt@F! zp02*NUCv)``)<-k5}!a*dtH*)m0~Sff`ji}e`91aTFZLO$vx(mWXmqOI*K@!R3JJZ z+(Q$iqi)kbAZnimmN^al8iSZ-!ui!LJ2mA46%+3@C)4>+d0jHHDkw=q zRjt}zRqLL$$KpDvYUEg4C^?dPT&E34uVY8ixd;f7?p*U&3-P_*w=xisRLvxGrOL(! zjrS*4masm4&FO?e;I*<;`VXb7fo)~E9V<`5Poi*grNCTVWGuy%*fVK~lUS4s+e$KK zFVd3@BgP%EM~UlMDa$LjeZam-nZf&HJ&HZeZw@WmsoYh}-jzd(c4cPKvLksS_Jn%9 zP9V5WVkUJNL(_yP>QJS!!yt$ug)7AouHJmc9=J2{uM5x`b-NVCD>_7i{%pNR@QNfL$_!eh5xQ;;gmbl$G$%5eTv%f1!HOmq z`}qf%swveqC2KgWNbEkAVd~i((Ub3!IT49Ly$BOsu=6zqVXOL(ySKGl;4UqOE^Rl1 zttz6mW^b+Ds#Z@LI-R|)>~&Z4vaGv0Z}r=eQxXbEqUqq;ApS_FOmHZrztFZMW|CMdG&6 zR&@vvMYgd9pjq46RA-P%VghQic3r*0S!0A{#UMv{t&v7W%h#Y*BCV zrLRv=REgS&he8iwTC|ab{;dRzn7>AK>uZ^TcR)q<{4{Df@mT?q`-Kw{A5fLU${3m7 zRL74R-=coGihk(wZ5=b2XW8pIWSrAA(#;)$bORB)Vy6t9S9gvDB=E3B!ZVP>#Cip?F$JUD;wO zN19+rV(|a35}9kg2fJY6(Go7)%={RXBi91fIj4^S1xWF6$Xt54x-sx~%xwl=Z8-+zP&C z2Z}iJFEc3{>_AM%OiX10tL&!Cr5j+d^XT#xy6osQL__Kp^_RwvWC+e>DQr{s>hYjr zQ(YC-+fGL5QrB6o=Hk3Jw_m6vcKa#`pyjcf%*(-#t>-!Euh)Y^ZRV%QPcA&wpR*8S znM;to-Ia%tm-w#W^RaW$10d}&?K$&jH)8ToBmNEtk_Xwkz;jX)WHw6G&rfq&R<1S@ zk1m93duyDPP~)xy5l*F3>SYpJH6;}_6GXa=fKN`5B5MFa=XykJ%Qy|q2VKZbXb%_g zByoDQCZ6LNm!tkbYkJ1$-j=I*x;~cZqKtr)18uVRr05+Qc_o>}kRkF_L-V84kEt9v&aDmoLNGHRJwTMqM~XjEifqvYBXW7) z!o-Iaag3EhN3AVojpzE|a)GQ$vP6HL4z(uaO0w9CY45`OzrgZGxBn8Bc)EBY@)?q^ zGC3jCQ-ta>(VdDwzuuc&4E}0@z?!!SfVo%vvXIKvUPCvFv2_((?E}YUTz~wcJFYey zLv+aRC{4Bgwy;}`b-8#3Vh zo?KFB8B>6`U7Zns>#I9k_wI}px85){Z^_t!$|)tW{6t>~u+WBkTrH9AK}`Fa*qL=! zX{w6viv_`G$&qQ##vDlTklJ_@Oxrq1Gk(NTPuF<99Y8SJhLZod9?((?X?^kda; zdufOb_3S>u(ig(5DUZBNwVD}1Lakd{qV<@ljW9)i0C+F@KeBk!h{+?&TRjznR$aVo ztfmxeuU3RG2B_uz>nULddJ$~hR84O88=mUm4)3k6vIxx74Y}1qA%6xBVta9Kxbus$ zCms|?jUJoo;0A9(G--JMdX$ma_$eaMJx1r_Bq8!?mDrgtvRBg*dvfCi`Ol^&CHCaS zkJ6b|=uAbV?B40g-$wFTGJe(2t# zjTIQ3T})t?$}7t?I*bCm(AVitb%#;J|Cr! zfJIJ{q{mUX?&d8TmiHbfZ$aL{^JdQE=Y_!jp+MPsHUCO|BwZr>)p_2(R>8(Zvo-7% zU>&a_dDKSW82ldFSs+gHs;<`C@5r%33i*&(l7_)x>LcCCCysf86K~zE*(4=wy^HC- zu+}*jWnoc=JoougV`hcRxz2&^6J$Yb7U!KMyKq*i+6xC0hkihGQGXhr#xI7_BEw=Q zK{GFFzrRm>`@K^M{4=o$l7ugYMYE)!IaqN_V${*9EaeMUTIu8KLkKTvlv|ZklExG) zdiXJB=I^YW+F?xXten}>|Y z&!&!~zRr=|58=AEMk7(Y(E=Ib8H7fEylsDB(5Jm1!1{0=d9(&lQ7P8pyNuwD>)(x} zA^}caHScpAfZqEq@h>#G(_@W+4Y}Sni;Tfnn&&?xbmhSf!B4!E?;w{oY4IVE)VU=n z1UMVCs18cUlM_9kR(EbRy51^aIP#1xRbaIK-D?bVd19Z%I+M>< z5c4b|=(bGk(n$Ub5tsmz-#0opcByLJ0F$I7wF7OMOw86;nw^eNI$k1lV3?}D3VR4 z&6QTyES$VSOq90XbPccUI;(32b}T%>i_y*6Ytv&E_SRl215j6UZ?2hJ*CJ=_h;!gT zG^{yboa2{ZE@N=wQhq^IX4Q`%R{7Q06&i_| z&n3mkc%S;~sPTSv`>65t>X@4~$kp$sM!v88o0(d-TGkG?HI4|dp2svB%qv~XP(+Ut z$o(r6DndCtG^ePQK53|B(+h35ybD_EE1a-t*|IME&E@0#XK84r`s9lO`@xF;r5#(; zn|w#o&~`|iQ?}W&T&_&;g|6WMr33FxL!5q3G!+5VKOaU5oo4N6K1CPX34k;0si;lA zAeIa;{&cJuG1Z*Fxx7EOx$AD!N*yJ3R#5+LtSyoev#{z=1tAUF@#fMzcI8d9^_J{PDSY#%uT8h$;N}$P`iL>DX%Dz89jT0pb%&&!_j;5%nwKc2W zFwpk>qEB?4Y2BE4Wi3vl6YC+w&^DNhVsJutO$6Gd?cm4b?Y66X9~Pt%WTI7KwctKROQ$x+Zj{Un{Ck zeU(>g@aHqit>(7~!QNVc#;Kpko(Ko7LrAR#68M0ouD5#ID)59muDhlVnBMjhWQ%CU zb@lPcx;3;+9jQCTc!-q)t%7UKH|4gdRdBt8igXkXyp*l^+nQZ3%w#73n0m#N#-x#C0=Iz_Y2&?EG-NOj%Y`>!Dcz6u*m5t3a(qn8NV0ibr0*2q?7iIK~ z{5PNjh439Z{3(7p4=CZ$7+R68Y^2ZzZ<{dF;APY^;|vLkxAd6IlTff!pRR}v$9kO4 zG3r&v-7nMuJJn2`7ulKQ{6$U~T4nuwRMz{z?0Rai$wk((NiLH?=uE3kYn2}3!HM@E zJ#0KE8^)}-F3@};*;yc4Vq?|eB&6-Ik**7vkYBb>l}%C0g9H3brK~|=P0H66M&7Ev zfsnXv_fD`g({j{s1)qgnq+!WyzdWo+)`mKbypCF~@kTzrFzAUH>wnT#~g|6>iX^|v~$#Uu15d*bN-q`rT+9q?bwnaSg_hp0kzX~qf zJBE~^>A#upTE-=(|0-NVbGr?@V31Gd>A=m(faWojX$ES;dA$GgRzHr*1J$8B4@W^PFQ35s zx`N%!MOarPeeS}F>uS8W3g*9X`7Jf*#9S%wP`vjoK;CabpqUp3ZvB=0#*T{vM*(J zrJl(zxicq3J*MqU3}Z5F*csYj=Gsd+&HHx&tn!Y<9t1jinBHIuSiSRWn0Owt&dO7N zxJM3{{P3}e( znT{QLq|b9lI+7Xby$~P&Gb8sL>m3cSqVn!|DD zR7!S)N@P^HXykhcw-!Czm-e}MH!_H&ydq3Z2ukJJ%hA| znBw=eVg;i!U?8U3l7)#+4@G-Mpn+Vvu2IZrELu1~*gAe0Ek=T|8ypo0PuOG7+x zyBU{h&8ato&w1OvE*_ogJCf=vcsu8qt*;>#DOvvmxs3ig0q8wg$I+W|UPI|bff80sYGV6tx6mJY1&tblq5sl zJ4<|XuCdGdf|Mm%k@Y~_dOR+9R@0y-DH@y`YChI_3{n!uBF~=kMLvL7Jw?&mb zVV$goDE6dci)fPvKJ}AHdUA?0lk+Jvo;5jHW$!pyVz%4OK7wabG)h)l3#?{+QE)D) z*-H9{@BIsT|9wE%fgZ!kjV^4^fMeLbJVpHR2Z_(yH=cnm$-u8vVZ%OmWm^!>1qk|0 z8MJ$OHH^i+r@-DIq3YiYqc|JQ)Xa-a>+7Xf_+g;W99~@)ujke0!yY3QE*P}>Ol!h= z$YO_jSAL%brCnOnAxgZ_{4H#K+aq4m>_Y-6K5u7@UpB_To!L^ zq;-3wb%Jvlorb?`=ggh)LgSCQ>B9_R_AD7^3>d=FA;{>|Ag@9Fk=4}yjBG}l3$=BV zx(&f-mbb1gpgu+M06rQl<;QBBr5{igP&)N4Fx6=|`&Y|Ych2#5Wq=>{6 zMeOom?n@FR4zC@T=WTmkW`RkIeO+cCigR3S8uNL&w_Swa&?GNFQ(E4J$y|BhVOVpo z$)E7B-LR*nrtuQmIcJ(3v`B)4af=QGW2#o>sWl^Uh5AeX*c|1TaTM@jbVjD9jBPUu zmsIt@oA?@vVowgE+3%Evi0Jz}yJZ|>XV^nnq=ztm5(!V4(cNE|c(n+LEE&7W>h-+? zgX!_8B@u7AdIqm{+0A(u*@E=7ot6G=%I<~e)}Mp@MC-hAJB619r=zmcD^pP)=VTT4 zB zL~sUdegG7(Sdr1oG!x58bG+@}BaD|fGsD5EfHx742!_>~JKeNAR+Zm? zM`ulc(m**9;l7{=o%#r!2u%O{Yauqt40!LWxrRG`)cPEH3apw%{5ryuX8!q&4)y6} zY6?_UN0XPA#!5PCm}a0p1`7!m?rKL>xVI`qciG4_oNc_=>9s!Kh-=~*K*{1FtGR^7 z_)WqZlBL=d7CBI)H&A+A+PW-ECw9h;5N=iz@`VJetJZjOl2sw(t%c3m6yqLPhj!F{ zWAfhU$+Jr071HgY&eBsUCTdNfw;|q-bN#idLLY21f|cblo~I)w;s|C7OBD9`rg(At zK-|OY)%M?mw`okZJR=4m?_1s;niI{ZSpH^%03)QLLws#q4~4U~d^O-5RR2cwdh!!u z|I};DsX;XsJ4f3h^<~%DqRtU#G--?Z*IDmGg71im>uQJvJY?jY-TNobS!>H+Nz}ST z2Zjio@Mj%p3?5;0eqg3-@`U;nv`LEUVlLz>Xr+9&Io}=5cenH1<9tODEKItP^9{=v zl@NmENH6@nmIrT|CSEiE1iWo`7J}a_6WmeWGYwRka34~HNmCk0rkZKWYR)(0!SQOx z4Z5@k%UbygRsjNp6ak{N`0s}nfhu}!Nwe46UQ1C6MShwnkGDMsa+qoHPC|0JHN@>P zT%{AKSv<34A(#dzxzW0lA-_#GM8HD5O1>c1rCx7aTH0tiZCn7uOwtKNchbGAj|8`E zQ2(S_iD&VPmCs($F+r~%qZ}Cuzqf5EjU&R_-lSWJJ_(Ymd?}kw`qL+gDZpd0g^&pq zwYv_b5IRdVc|{q7Bi>%?Awf#V7Snbs^|pUmmrX_z*py+h3u-qB;dx?Z-AoZuE4GW< z^qUcT5!r4rRK}M(o$ZsloG(h zFUi4LSS^)7g!joC?KR}#m_VqGNxE03aGLrg_=L5G;v~Jy%4bD1VN7CHi!Xfy&;7-f zmu9N+;{`Yi&^_U8@1|3tBtnX{kLK0~%U+|{yd_?WdJz{VZ|L|QQ8&>m%ccEeiVwA6 zT7tOPQS1U=>@YENlPV4YaY}Pz9UrH0_<0I*7fDdkd^aD!4FPL#NyGipbLoxvF>Ra7 zLp(1D`#QyoT_;}cxbmaHbxqW!e*9S$4%wSX9-(I-JWl7K+`Pdn1u+59OJ>f@ZEE*J zA7hW;o!I$nk84lQ`QUPY_pZXLpSq%Au0LKyyWE0g$(PWMNd6WRE#c+TBn@KPY&TU% zeR_?!i|S|K`NL=F)(Zi3GRFPCrKK{s;}{aQz-f%E43m#CylvkglJOKzw;B^_>xtbW z!!E!i7T0?svxsGP`3WCd%D<77ms27W|AYVspB}y2%GT;8%eCM~H|%wnX&Cyt6fKc) zq_*wkGHT<^V9yed>;x%Z($q`!EQTBN1enFKi8qUz(rvn###+A&eePYJoM`?vWv2Zm zd%|aA3-6KQ#zvEX^A?YcJs@Ki%lA1Id+=k3KzHgIqLc3|E2jp;1U#ZOoDKfLu$O39 zUCr!xGxc9H6LTn*|KH##)DWWaCMXkkV9 z`RsmNHY2+qKXl6wkm_wakLAPal3}RTPN%!E;mIZsCG$DSR?8UGWhdL;sD#gyQK{i~ z^ie6W3vxzf;25XLdQ_C{i^6Gq38y_OPdly#waJY>*r;rvJyeDde`X2HKSMfu0l%Yn_9(jsr?X>SpYH5OM`xD6Zk%>! z|KYeA)QfKP!8*JBAZ`8abZP7F_#M5iSKAdjZN0?x>9)>x8`Gk~IPJF1a9j<_??xZ2 zt*0EMt%K8~t+@wn>m#MkJnF6W2iK?D`g7YSi|7uVc3Z#UxEfTO8-1|0-mDQK2P1(F z?QHJM8know`elAcAJ-%73Y~E+bbY$5A3#ZoNk=u`gAw^ZY3@11e|s^j&)qvMRTJM z){R55yYa%2Qj*h+C-CTjI#4$rMH%$q#9n?!??$^_kkgGNu1|O4Dz}mrbtz7}8}l4j zgF45JcDs==4dDW13BU|Q*kPV&OmKqE?{uTcE#g4k_!JH3gA;QO+Kq=NW^aIdU7zm8 z&upJ8s_)^nyODBS7<+Z2-EKGwd!MuACXHA)Cv2V0?{p*N7IC0%d{K9!g5S|+;{#1- zWs>zi?st8<8!y;C>Bcskb~kz)SA%-cjXqd6{>t%{*&Da&{7yHPx<%-2Ko5|SNOM(i z`g}ol;^?r%``JiU=v5w^Sk3R~ea^QFa{B!5BbKoNk=v`gAvZZY3>hB2K#-hd8bV zmFq^2+6_?oa5>o)2OoZOMI#N z?1AIe@y}$xuNqN*Y7Nt%zO!RklI-%a(K&yV_NN*J^ZLm>+0D!DUrJ-IOGGGmXb7^( z*Y(qd5_Qo~8T*O%so<#bes%1q@%8E_=V#iGUB1S$Uis|-+b`pz+xNgwn(X{eyifgb z)OhS)j2d6B2EV-D_GRi1j+)=6jvY1LuRi)srjPq+f4#cpAoV{mYJU1ZYCQcPHJ<*@ zJ4pXW%}@VFji>*=K1lx$QvU;^=BNLo#?${%ETZ17r5HzDv|c zzdA_&M~$cdqsG(!gVeul)co{+)Oh+oYCQcPVuK9z-%2&f`j`f_^(^O zmUr;cZ!UU`776M#Zj?{Y@>cou8b0}0OZ^a;eeyb;H{0SAz6p$>J)%TI@p95s=ZvG1 z*0}*?XvY((f^Yiq-YUN?VOfZ5Wt1?*E}@JPpoV2iI5b<-9GxH^K_X6XgCiulv)OU} zQTxArME|vYVLeE;ME@`~H#vgB!;IO+LKS9AwY;9$WQ({qApT}1@6_bYsP(!y`$%Ra zczkhNS4Ue}J()52jC$s!zHsm({jBcv;~1-tNV=0oi=b=^?pEA<+H}yJWp~)#HTLH& zKH<)E$HizGd7o4>r4Fqk*9d;#O^9_zD!~Tv05*tw!q)T^2IO}{lz7xqDl$qUnS`}V zIGF|$f?!CZVlXxy{qRwT7K|CS&RxQ-jUY&3vv`c)_9f-Q$vzAA1{SWv9}=;XmKga@ zp}eLGR}}O(L=V$XXYzcyT&f)ImE+SU~3oo&q zJ_IYZa3$YR8f8`=nGC`XsXh1+&ju_mSX+6av3gw&Ve02&sFLaS>jWEOM+w)aPp!IG zTGA&ma_>kZ=)PH6FCNqC=4khsAM7xX9WX!tuGonb@~{+6|3wShYDp^;W%;h<8@1jS z=V~XY#QCn#QMB+*&BTzek{bAS>8P|g@4zX;^8qx*?6ztN`R%PD7P(W@C%rC13%t8Rhrn@u67?-8B`_#^OzFd6ZBb=ZZZVh%3Aq&SNwqA|CaV1KCHd5g3Knl z%5}Q!6?y=-=^3(rh-dTZ3p4ex2q+fAonZBTUzq>*7Ha3M>20Q3R`Uv9zW)Y5G zR-oL1Tf)|as0f=-V`;YqEfB*O}~dQwpj z%e~;S%<2NNm$E_t?5wyu%S_zzT_oQ`U=WEji-0yK!cHuHNgxuBbVsUIe}7gAu=&lx zE0P-5Ne2Sv)Fp>l=9KRK{MJ`<(|MhnXKaoY_N!7VAhQE}s!=+hVg*|C3j^JB!Y>Q( zcN8F<4hYC`2`2w7Gwi=LdqsXbFEhg{U8g(48Vu6j{`2XQv_I-hhp3RuWmxE?emV5l zO*1y=-RKSXF(-OM!i|s(0mm46}$^F%&W*Ljy)dP1p(lpC72A z_UwVWO0%$KnW{@&=RN~<>QTeGBFy%{|9nTzYRm4(8s3frk)$Kvb)EZkh)H)~=1uUHiCt;inBd4mJ)SVmmuK4V!* zkJpvcFSYkmMBZ2rAwdt0NH%~8jKA!0K?;y~YQU(4=$`;Ah6LVhBZs8pkSXCT8$6FA zSpy7qSf7s5xC*mEHYw9GO9Ys3&dW?WVNTj4amj|#o={nCZ^)-%q6>W7^a8^<0^-W4Ls&G8=piv4KsvQK1Q+MHqC z0BaQdNzEU_xwA*Y1=o@8YAi=QA|0g>A5Q(TE{cHJZcK?t{Z7@ofufK^9%>)IUd$Qj%JJ{+JvWL_8=XDRb$LpfJq;C(elC*6dY&?Z=r_e!1)1XO&My(}iG6 zL&G7{Vk4U!d-Mw0oKZpQ#6**8C8qy&er8VKAwDdwXz=~`dFy;KG>?5GOK`W$KuCs_ zwdE|qi@RkBj*&UhNU21N4Qn}sC_oxv<7v#vpEb%lJoG=)w0m`<8Gh-iw_OY5GilDT zE@yfJ5_RiWjm;Tkv$@GW+Gh#{>Ck(5D6?J||0|A$&+~?ZHRjxj+CR)p^bM|apNWo? z$O^YtrMK-vEQ{Izr~e&s0!7%oS{HUbmo9f@_sIevQ~lt?HNQh$w#hYB`KAn&1?%GHok9+_nq9n(9T5wt2KY_sI%y@v6XsusZG0BJ>!Xu5_bU^y8 zweqHxw?MVqz;m0zse;2Dkk5S&5`!!rR{3WEpX%{F_F+Mc1DRy}9x7y10*OZk8GZa?FO>;?b50X?X);8(fMeHQ#h#WJq$ZZFn8jR@xAlp8ZwV&}#T zti6VF*Imbq@>-ejPGkB^g#9c}PR^7s%;W*_6wYCG%$-^|Oi+XlNv2_95K$yN&Bvf; zA0toXofgQA72AZV-Nd9{a*}x4^&4PH@h}IH5TaZT&Y9)jmCN~Z{dB?w~iw$uHZVA+-^x z|Ec4Dd`tE^x$a+?b#jI4+-IF2=>tA*&juRi8JSFXj?8q&!EFzE9{xWJqK)>-Ai8Mt z|I{G%VZDiYc8=Cl-p>r;ajtWpL42D%A~|GX{TCO{X#MuK&C>@Bfvx!L)7v_Q%HeJ!KsNqZj)CG zJjXrEMK20uz-YHlK#eXzMIcwbZa1so;5%@%LClo--$JCZcoH|Xc;4EbSv;?~&V3fo z9}pkpcyE+(kb9L{ut8tKp>x^ziiWUl_5S#w9bgZnNEhp%j@z`4R6@9c-!Q?6@7%y- zN*MeJGc&vvR&=1>+nKUZy#L?LK~Zz|99;EIW)3cOo%_tesfDr*-8JVKfilR>8A9fU zR;zmh*YVE!XBUvVzgaJAx!tolP*7lR4zLeRBseG_eO5LM1&usv{`V~OpYd*dXrULp zof+i4Z#m9=2Dwj55dPOX#iKW!OM}1~amrOS!$}b(d@v}P9q09vRU(gTVBf6LL}cL} z>bE8Lx(AykP-q}@o?LR+b@nFXbwA_=p08Re7dlahq%nDc3#wzKmg)NdgVgq$hu}Ho@iB7UNPEy&(?nPF#rObggK9LtV;n`V z<3A_Zjiw0lvHf%U|HaRjazi<-@v(HUssHa%n5?_ZLSt(FYXkk?3ns6?V#d(w=}Bi+ z&jYS=#Oi76@07u2YMgt#T!^x6;{Tr;fv;SfJpvndWkz6~>l`rx{(d>I|6gaBJCSUq zL0dJ5EPkJiYyJ>BMf(}&avi?PA<)_W{>%S9IA|-8TfQ-er8p$Tcp%#jsk#PrKB||^ zAz?m|e;9g8U)Q3(-Ifs~(b5sa;!}6fZFSx7Bw6`W8jm^RYk6>oG9r`N@jK{IbLVe|{zL-#JkJRBE-vHy=3uZi%0J;P^Wve%gWJo%a1)9k6{nCI9=U z9-x0(NA>W?;p1=HU;NYXBtzqqs#~OPA09a@zm@8f`N=_^Co9)ol46zhnCZu!%)B~-!sluzZ3#Fvm;)pM~6n6U3 z^5jx~a_Mwjf#lLqa%niZbWw8YH5j0anajKNe%Y{9?hp^i-r}>y{@l&Swn>tF;Lmo@ zS{>A-e>X}H*9S*`q_b7^XK21`8z80X;nwU49T|`Q@84w$AdZa3=IB{erZ=RkE3zEz zkm!a)63S7rY};T?O`KnVDmm*>#2-}oHCkI^p_x1`eKt3aRf|RWqK+D`qhfCmdg78y z=m%Hp3_K=8js0AY7OdE0ejaYLcd!aJIU-znoU^pVHq<3^o9OrSUkNKl+AC?yKC#_ zOckz;iV|#8lrVE~uM%k=5s-WG^?@v#6xot>>-3InCmuXav)zy(!3_8q^@g@s!ulI# zNN7YmLTa&Owbzc!l_+D7G;?`L9koy@{d^?&BzoHypI&V}X(T?ZX+E)&clD1!bL~Xw z3hKE~Q?&CI^XZ+Du{mfqFE*_1NN~gT&rIvOXanx_URyta=xdPeYyA!L?O3wVS{q=e zZc*Q&M$xm|6|0Wq?=U8#(6q*5n=xLTi8{rNf+1nYU6_gEIt^oD@*dDzM`8T<$uA|( zop3L9I(H;5Eg7~RGkRLZR_YEKV%j<*%wEI8mPNU037de1JuRxl{>}JfLO}HJe#z>R zhMD<$%*o`_(c5)&>{U33lXt|%bQT0UYEb*&Da*B0s}-k=&zWeP*P82x_Jm_A9xDZU zi@wJo#}2U~1?mTviaLja#4=CLjb7G1mNI)qh4kSI$K=Qy*Z&&Q5JmzNL24$;YCP;`B@w-z;58g)nC44Q7i*ikGH6)_DoLlOb&$(rjIt+*KG znpIj&U-BO_(JkR!7^zu38+WbYlMy{@t3P_K87DNto~aTf5!eCNg00ODhNtf zzOc7dsOCaEECHFjo2EMS{&My0oestrP%FhLmSwmK3{Kqp9Z_pY z2O6~XmFzv5;;cHYJF_`u1M@euhXq#{vuw2Za`lfJ+<1F$M;QTR8l$4)YL0C2b42IJ zIl3P_84t9x+Ri<2Q(75(ynCFO(RVzY5A>qx1)D;Uww=Fg<5IhLQ z#`e?(bJubN%WBaEWit9wjPu!nAycfk6Wd#<7dzh)$6qSn)};YPSk|NQphQGdr(UO( z`=a&=%kP9#Q)`L(554!i?Uzs*i-sE{3F@qk9GDsbeCDgdfRI=C;LoL^E_j+wdBh{~ zdfm2{Q?bm`JY9s)CQgtltmkl}e8g#&-1vBe^zL4ww4EGp+k1p)TRB)o64S@8iJyx7 zRII*|sS!JzxhN9nCTavXdfP?Wm>2+Mkw^N|G;odT5#Xr)470sA1iti)D(-ntCs^XT&L#Rl3x*;Yq5 zmVuUe7Gn*Po}MDz*?&)qGChr9QXY#yx|i{B`U0WvuzHZ`S+(`1YQDmg(^(aWTK}w@ z{Kf#_DBnDGQzSL7Q2La3wZzQd$`&={=y(`a>M{d=pgV!8fEb#UiGkd|5o5$Uk1;sM z7q)iP1z*I3Vj(AZe;bLV1=d`k=PuNwcNeJf7kYAnVXUNHCJM!S-=FCtsghek$EG+6106=2in z*l91o8`0+t-~m`YR;~C7!@gk%8pzo!`Rrq>*C?PcSBAaUC}U?1_82U)USpBO0B=fq z4ZXYB);$ss3CKY(Ufl@yksTM%$s8&4-l}3L!GSzdSGGL{pCK?n%2*l#hPI=4dS_VR zMStw3sC88!l8Sx?pdn;#bU>`d>LXzOa?$zFBuC^PQDh(dV9A_Jx<)zOR@>=J%?($jh#UNjlJ)0k&`*|DY2f59)9xHV*8CbI zg#ZXUbbp_t$*1P1HwJ8Qpa5r43vp#4bgUuSoh-l95RhjD zoXsR=FcO1B@gohijnmCTBdOZl$mD;cnj`8B?~%>0^l?GV20hJQt2biZ))QiB0#Fzc zfF4^3-QvF^h3(-D#X~xIzPDX$oklncb@R8;LYhIF3UkznPFtRrW>`AX+JPKJ3<*gO5fApNJ#0|IeL5d6WjlqS>`~kr(wuRL`7lHF^q47NCSww6OWb zqk;S>;bfJEpp#qFv)R4g_@GG7+*Q^^sm$EcAIQwb%0hMd?=Yj0$)9-Jrvl;ozbMB* zVz4m&YDD7)f-_VzuKCZZOR!%KaO%r$(y5v5*aIQm5tN~vu`m;R$1o?|GAFIhoPeyM zI8R-8k3Au#%-_j0&9uN`*eBk$g)GqQ8aChO4wzj-XrMRO8MIhg#aw4%evzFjjQya* zKR8Ex6HOl?U}C_6mLbv=7KF0yn7d?| zH);h{XrEV4ph|k$3&9OHPUEqU#F+U@0t^A${5iRC{t_+kkoYHptM_r!BryL8^(`H! zVP0Wy&jD~{_Nf$De?PnjTK2BGoT}QptUWCni>=ocY(^7XK&2=Tdn3GMG(5!ylpFR7>T|4OSE-@ zfNE#HSF@lSr00VEUTkC358W>dQSjoTM+EiNKmvb2)xI(ytNo-*kg5DUeOxVkPC&}P z{_SAOrn=-=$62n` z+Ka)wUywM~9jBU_yI0nOwwN+e2156T1u;LM?ghH(RbZP~qXX@HuLD1ap;erqFf{3(*~hH1^BPve+K_SPV$hMG|Wh{ zDiBUx=>gM=q~`X?zIyCJ>@1>^tCBN@U^a05581%9$FC{{ZR?GXjpkl%_NQdPP>IET z;ieprOQ2#-f3ZH9#@MRUK>0%YZH!L}d{@9Ghu|8?$E^cwWebQS6}-OMP zmpsMlr3$~P^geO;( zn)!1}L$t}q*a=##lE<-VXzV%}FKaFj(6*?4^!ZEJFLW4*{>*X_71W2&x(bwqtda<~ zyR%SU&U7uaI~eSV6<`gohxggn?p`E-QI!Uu+ohVm*xx!#_)~uLS8uEU(*Xm_^53}?*bmtXwwKY#_ z0HAH`Xxvbc(P^MiuK~`CWK%i+Q}{2iP~*l$GRZ(-e~iX8AoyIb-eWjIGkQ>r#)L47 z$d}G%b!<-77O3rRoLGa>S)@N*Zs^Ahl;ps2gjHLhH7b9eraQd?c(WW<$a3I%W1;wd zb~%<_N()Hat+|!^CjL!U;wd_Drq*-ZT5ok~rJW7BozvB6c3kY*OzKHa$i4H!RW17LdSVm8 z$tGZV;X`)-;gUtsP@d3_}K=`e=+tcD1a=kN(h&|uX}?^Z>LokiYuQS}$C zXhub+Nb03bQ@ye!Q;A6>kWC7A+|Hoscay)=u3D*ineCL}uD6}+pTZMtr%xKhKRWl8 z@NQB!EVxg*Jj2`N>Hmb*B=!_8cKZ*^=ap^i&7OQ&2X~mM8#k0-+<x5|Gb4rKqBKM`$;!I6^Wr2u{i^|NN7z_h6e-iFA z%6WMzdM)*MjVtqZ*r!GHjJLhtZ7ch!F3!$FvBp|jOQE-wt>FtrY1Cq8Q|yQeg^L?T zMqaW@8|AB|g5(4{8gOYT>EJ2>J4~5Beu4ey^fbAGagf<&T~xGd&S6=3Z3>p^#%T4N#mLP~lxDfh7r# zLdbCVXUQ<52fg8vPAmN#PKL>*gQjG3)KA3VfZm!Ta6!wC_ex(!iGRnwX^1(s41Q#S zX~65?VU6`+G!?4XBsoBmT8OQcX#+B2LKNiP4RhLo%gnzzfYM3r6bk(oH66_Yq-%SO zSOEqSW%WV8&+oUkViPtGQu)(6c|_a(xVKGCXluLmgbs_eZ;Tb8HZi|Luhk-ml^QjBWk?~vD_zDRf4Cyuf-why{r%}*H~3ZG;ZoGb{J6+XFu zZ<(Al&=a<(nm6@81~N*Rhv2r>fS|SM3*5FMjq3ZGNNmk&5Q5K;xFCeV;r`GFKUdbQ z^cY8vrp7;fXg07fIgj@ZlY(4jc`*y@I?$lRq+EN^c~Ez0LK3 zqVAmoTy&Pp$n<_Sb=2}g>hMwHP4(V*w>>s(h*dUn?1m445Rk`T@j3^B^bu3=jkt&3 zdFZQpV!2H^lkakRiJj$lU3745++S+39EDR~C5Nw$Vbv3KfJq=|Xb-{n|DT$S6{SP|uN-k=(r2M;p-@7SL zHwYMIbbhQhpoQ89ZoKh&(^|$m_RAr*4w%b(_mGUDMEbt~Z5@y6E0$m#86aXg$~lrJ z0bW4h_45_ZeDQJo0#3jP@JFp?#|FC5xrauikF4(exc}>nXB6{?UD7{&y)}Yw#yOv> zJn0fcD9RCQqhLI#@P?A=8JJvUfG}^W?}Q9(ANjasm&hHks>!tKwOV8DT(j!K9ha3y zlb3;iUFNrHxKiXBkeN!t9Y#6Y{8@B!{N$8qqzk%Pl-t!~a73aNciB%wtT#20DSo7# zxve{198E1Wr*%at3d&;V6AD$dL4qi{&U!pzZ9l$Su5bReG>X&fu&B4XPv&1HPg+cK z9EnXyVGN#Es(Waum`8WLql$~^TgHq}MB>~XOOP)(V{b8h^}0O~>*mtV@ z)$j$*7d2sjvm`bv68t1${W~^QcG;~kkR=qi>8<5@W9=5hgNTbll?kF~s26K| zjAfsi!OH-u@TglPOR^c-#Ih1v1_yXw8fO;2Ky$Q1awV#>_F~NdA`MIf`@yqEin4aV zOrRUy+ckBlrLlj>|r|kNU#scvLcArF`m^7JjmFMWs4S1jxfuOCM_PP{@D!$ znBiqDYRz$?Xrp2L1_qEN_c}}TqPX1r)&-RQSNXG-gSQ5>Qw61*P=(|TBLhc(maRz=M%2t3YCBv+ME2JEO@>hWRWjSjFgqysO)o23Jolt9aU{Ay8TzJ^L;mqx6`sLyZq z#pl&oR|xU>9(!L0;~p^|QAfMB0@`lu63})N7nqwoqLTb%Ia-1Qnn}n%$+!-j;A*L= z%Tb?TfIQ7j9ncy^JejH9!K|;Y~b=#~8>d z^|oywZPdD~Br0|zF}KWM0li6y;v=~%d3u;)XCE^@5%AN0G)2;Usoaz>8)o`ETfLaDvdVn zIg2XI+yy1p7%WpDPVN`ZG5{r{R__rwE*Wfp9|(=sj^o4!I9EGrOR?2QX9nnuQ-rr& z?1N(lwIu#U0hN6+UN)$V3H9>adOe?TBT!o^NYD|moTV*o!XNLypC5bWPkUHzYJp7d z%D-`i-qX?K)fnuFIQyD1#O`O-zSfIlHhWX{=Pb?xO>!yETKQ7Ku*S&(r*X3xBNq2i z;}*l@kh`unvg@w0-ZW!v0}+wA8y8JpRnlXW$~6sbskCPpAj_;k+cAVovks;I|3n{( zvkoCJ(};*4wJ`ZlS;bJn3lISd)mvs+8kIp4HbwI*>#cLj+BYp_-F1QEYCUhu-|S%2 zWKlNR@Np+BjcG3|q)&eNnJT^GIQ&Q~q=n&Wz+{AyZ3PgN@FYGw$-DAP;7#Ia6N6UT z=AXO>(N^Zp(GE;Qov0n-y=`l#Oiaz)jLo?(CqB&cwtp2Yhbp4_f%3fI`Q^=1EbJFT zk*)EGwlJ%PbyeJF8IWei+?^XAGq^#LYpZhe(p$MGvgG{gyD!84I$AKM;78uJ5^-4b zp~CSTIA1(E(Vdd$Uo=xEO5^A}%CWZOS69D8noR5bMRw5mpR(GB^r`v35Uz_{_UxGNfokzu30ja7i-D)?n0?Vnm-3e=lqkU48MAs4E<-jQD;ijQC+)SD^Y&+Cy76fU|36VnGux8AF8~ zlWaSM+LE77t^SF0eBw*DxK+H5Aclx=>F)bg7cvUEgFdwdo>u=-mH|(}?S8#3?Y>ek zj49r>TJ6B#+h?`I<86CVFBKfJt@U#HrtOFY#7^OHwm#peVJe=iIUkyF|1Z-!r)L7UP_*VMN$xywKXOLvDv%>(P`ZRJg zPKk4+L@^a&&1vNBW(F>}VuX>xLP;T}F8>JCSf;Ub22+Xm+^Bd*QTeXC7nBTb>e*IIgw0tFQm&i3M_E+H)g>a_y$jjJnqneH{#4| zQ1{Pu?^!O$%FgdoKNvN>LESKFyiZ-YZ~TZma|PI4_MO?`6C(7&vY=PJTFq8)4rG|; zwcuuV^OtzsSq{Ih`yT~nJ_ZWGvy1y$mm<*ddFU?;-NcV%RJWa_1*g3j{Q`UTB#V0U zrASR!vxPddccZd@QlQs zv#1|Gdu~!+{Dj1^;+z|o;s@m|mW63mdXi%(OKOMA5J~2yFC^D#@p*EEZO|83kQrck zgH)$JL3yHceQnU!*IE0!zP23MJH|(Hx8OU>eDq!>K`NMVTkO?7D@6RpT>fT&>P07| z+#u{D+x+8ARI3dRiuemboGJnsbdYe^#pd8u@-stz zJ}cqvODIu>#+N#uo61(zm`0f7D{i1eL*A+)50h-L$ zMr?fQbhb|a=cJw1Q-Z{<1kurNj0L`)C6NV0LR{e5^MFiK+XmRMFuG0aJX5x!PnAll zmkH{eU*McQKK0Ia0yh!ZdJ81|_D3W~YT``-SHUaPxijGcL&E=+4i^mTobTy9thuaP z)g4^k1Wv;gpAoOK`$c6T^}QboDB*gd9s)80W90Fzj``%_0b%6XN0ScoslT{_0*&gk zFu8PzY67l)F@t31i%U6nD`g$h%I9u&T6uTSZl$8%lDJ;obvucTin!;-6Ah~l>FZ5$ z0fMl~Di=1cHDQ~kE$PHB&?URAUz2QhTbZ;6UXjjmZ)y$9h>1Pj29BwVZF{=)%D7D* zQw`GCdTmb^$)`}qbUCL0piY15)i3Ul(q+7KWuHEzyB|M6@-?c{|13315vt5}hSbqG z`=_yk?L_0;81zy9iI|`1eu67XvFaYDM6VW% zH=HxGUj0gr<*b&@0-G4w%a82C*zM)Q-U8#|oWb=Alhfx&KeccTunC0_OArnAw+AZ8!7@C+|b#(ABbm+62{g zYmr*FaGJS(yViG}p%Y1|C85AFe`-SwK*Y7;5;LXex{lK_ae@fiu;p(y{II2W06eAM z_L;g)naNka!&p@;DZcSArtQ6D_Msh8Z{8(r;MoOXs9ynNEy-mwY+q`}H>z#2nHa-G zY%!*@(VmCDl1oocqk7;E(hFw?ANkziAc;*ov0kJ;wH$c|oj9bvLE`?qX*%b6g9+l? zd<=97ztkq1NDuvaB=2vNG}`-n=D0tO*P1;&@#@*p)LmMoj650+#G*2O_tIvyyG{D> zGW@kxyn2=mYeQvVx-T|9od1HT#FU8iE<&UEJ9TzpEX|1KqY0I=(uFz`wOHLY_f(?4 zR^T__X61@(M_${4g80z}0)TllM9v| zJRn>m5d|?*jv>hBzlbHX)LjMA_DoxRZd-)1C1r@!RD_3QAR1NA7K-XrdK1H~j~k-E z^$zmOe2rxUQGK);Z|69pqqr6A->$FiSH}ka?UTIc;Gw6^z$M$-dwvF}hRTEkL- zHku&e)_GIx^i_z8XfYh?@a|nhM^#vg5hUF@YRE{sPn{~kMFhLkm^odSJgu2{KSCjc z0Ehxf_%cnj=1=e5H70WezKQHZe-GgrAY^j4@8E3yJ;7|tvtu{#ThDe&?75I5KCx$k zxBWYrEI=xD!&Y@3S<<)I#prEG*jW;GHLME*A$YU-GUy!wfkJ{-*+X%mCpN3I(gWEO zmD#3sJ-b#@D|~7pEl!^@v(Qxm2_1RJ58`Y<^ zqvwBl)cBBkc+~ht_2W_FL+a*H;~Ukb`^JyJ{eKG{Ivn>GKAF6widq-=Q3aCUWmpC1 zbD6}Wwl1MW<#&YxRb%bI2^(Tl!hy=M@iCay9ZZ96!(a+lE;@Eo;?+-48j92KhWiZO zizfv8o%L`=~lS1aa=fqb0#5<=1cK$J;iY15j?b z<^22kpH86*$``XKh8H@aZ=jMw4{yDJLW}K%U9P5G0rHzE@d=(V`QuzWh1iSO*Gs=) zJ3lS(0FgA#O=d_oLAiSIPoHR4K;62Eoe{Ru)akwTJ38q{(ixH2&@2(F7(#8WKWa_y zGX`o3AZ}bNJ4TC4XbaJiic9M;sY{?7q^3|OlRz63#9VOx5+s=&P@`g7c z5`A58!%gGD2q;MQ^jIj?;uw5XxL0=t(~D0?RdWVhL#eTL;M=fb>+NET(x>PY;ULXv zUV?4r{iH3k(_RpK|HdyH!GAZ`GZ)>jae1BZv!G$x3m_uwtO~=7PlbDnG&cyTqvk9b z_7RTmLOmD{gGeTWlcipXjBF*Ohx$2tiQBBA`ly@2iJJ72;%(F4~7onSI|c zSHGzm4W^)%;lQ%#+T{09 zE+P9+n7Qn%?W*rp;L73Qj%9(~s+sKA!QPDh?|PvSYy001mbKCrZ329pm;kpCDemm0 zqJT}}SVM3ga3?At`2?>KcYJL z3UWcX#%jaC_cF!yJ%8AIie>O!a?ZH#RL#pTU|9FIBTMjp>^GRG=s6v350k^5+^Yc&}&*WvQKqR5uU>`k1d5k z>$YTCcUbkucI$@rjm4YQUrG`Btasa0K5Xo#?0@VJW5_+~D&5#E>N36z`Ht)%uOkd= z++q9eafUa#{LLM52tdy1;>&7)Ln<g(TdP?{#S z(01DETs3GP?B-V4r`8*i5wV1~V(>_-HDU)!J~8i1G~*(lT~e22_Wd(5>GklTC~o zqX5^UFnkWC>p>gl^OZA4{5$oRr#}_T%=oF(-ilKC(HRZO0tWqAMPqtF8|ylp?6ki&Zk@NvE}1Cm-j_cPf(44A!=>UIBY zlgru;Jfa|!2LrEthi;J!t^LBiKFdzL#9wfT6l=!=<~4l3O{?+C6!9EM^kNfgQN5W9 zprsA=%Cp_mAllis;-yHlm?BwRIkHyxdYrGA6BmD}^Y!r+_IA1RJz2uJtlIgYXUTh? zkd|iRJ+n-Qoc`)*uASDN&bG2$_(C%tjU5_-NuS0e#=0AQ6<3?_{En(Cg1mCOl%}i; zNUo*AOS1NeFv91|Bz$w&_Q^%?A`z}gF7ojYt9_B5|1Svp<`WKtkX$pnLjbfChQX~T zWG|{CB z>zr+NG$PR6wr@)aFSzLohT6UDCqSUq4*Z4CJ z!KKBHwmVubXoi{pq#1m&xwLxf-YD$|Am(=P1OWT#eM^#<@2}vM8a6$o% zf;!r0gP=yCI$==fB@^>TCK?NB+*759)k=gJR+WTFB$LOqShb6Gq1CU8+G?vsP^$@G z5#%(fiMrv!J)U5KMXS5_2k+O6Lhh2`A0M0BmWTN;t12JD#& zb~cxcN3uptS&{2tLY)mPj!ZRe)7a5+R|Fh-^9o#%e2fZ+(XK!O)Qm$+e8efCA+D!5A; zq#Mk1sIqH%MuTrVM&3>iu4>ugZhZm?$jHsyiN9v$t(P%1;?~T(b&}WJ5If*0#Ph~MfPh!dn1c>ON~vimivu~DNN1jgxEy!%GrEEN=6}OsV3_cY8H|j4 zW9H^+Y&XysD6cAX$2TKI2u*IVzjK*29_7VK2MuL&MH z3_%G5gEB;2>w3ClRd{r=Q@U|SouKOf6qLDO_?U)huB0tb&Ak{>mu*vQ16V8E59iOGnk}Tl^3fn!BI2= zGm!7AEJe?-T8Hvz;cQl^yHr!^H1|Rr5VV%&c2l$B3izG1if)$7YGlQdMc3VOIOfW#=C|C< zA|>I>z4tspZW~(*ZS1mMbMMW~V6+P1kZW?$Nsw7Ax(hp#Lka|gT#sDgag0mN-<;+0 z^qgoTPIb62e`0$|DC7YVLbC*3?bs?=6eT1mU1%yHpqi-s) zhR!+F%&}okp5cDvntGV_049=buLeE|_Ev@*r9X%1&oKRg1|P=d%O{jOwWO98!>0e_ z_oWqQVZ#AQPw!2o;UPQD^q^f=A;kYT5E2FkU{){woU6G#`LBg%scy9o$DxNx$^f&w z`4&j9W77j6m&DC*j(b0`7^M(*KVuQ06_U%|tKFO~Ba_J=Rcs|nv%>TRKUm+dehAV$ zBd)=(EZCfmR0~!_0HdXJ)QP%SdmDe0K#luob%^b%S3{hN!N;8;U4T9meH7p)VGFFT z#ATVl|A-RKtfiGrc?xfE8Uff2`qtyQMK*oX^jpPgCtTJ$VI-aK`*y;1mN+MsFdM4< zqT`|miH=L~n?}d%4Vmch=wfYjd;>mqTZ1aFUAQxq_g4fS2p#7LxTJKPMsPr3V+AA9 zUs++P{#yB00{AF?(*Qn?-DJAI7V7G40I%oEsQ`GD?W$LorUA^Vg#DF17oorYjFW{; zlwTUaVgc~5EC9!60r;vs;iBUkL6&MGd>X(`+f}a~(kZ_)TN* z)~7Qucv=>KC#C>ACI#TgFAE^F?R{kozVHA6+=AaUfFG^P1n?KP+e1e%_(S+K2AgeH zy_&C692kS^@OqC;0^UW@8DF)p#|oq;WI<|XLHf~cnUKB(pN8~h+l9AKo#Mcd9tB8o zF0#+fAnC6%Y!=;5oHpY(jniMP&BUph1?hwoq-7~ckL?X9r5$C?a)u29xIViQVVg66 zFuI#J%RxovvMzDjOTcq@K29wGU3^Q{J&-kv?svYr2Sc=H#C`Zpx2yB1%yu>CV(rm( zh1AITs?K)RtFxVo4>Vu>IurI{$!{-TgPkIJ30LhG_79-6vuDJ1{H9?alm+`kKhC6{ z-@&J;=NGoCUj107IPhHiCg1Ea=g87~iR8CoKgTKJtH6G;z&<_;_OrV)@xJSpOxWLp zPs6^|cGasFbczGR{;f>dmq~sb_FJ7Iz6$KK?<3yl;x~==A9rQKK2aBI)65A{BWb3@ zcGauHoQe-bGuOzr%*Oj$OEc*GMR>k4y+3joUv# z0X|JZzp`ER>NcI?z!da0T9Bgt%Ot-I`?*dLUj_E@0{bahu-D3+53scq^Pk!y_l?dP zzYRVO`x~~aUTx7S4h;L~OxS-b`EA&5cZ%Q@A~p)w=`B=pTB@nDGL!53Xf7N&`5AWd zQ~k~F^RzZ;F3(kZ?>Ns!z4(srRgb-)7)vCVZRp;3_*z{GumMf2DWzQ@>E~k{&R%I2D zQNNbM*^4Wnj4CqX!Lz(}(|+0?mlH{D-}TGk>y?MIipVHm*MDbKU-id@s_r^A6Mb3j zlY{Zaedm{W-vQ!B9w2^ipilUu{8tVT|L6hY@9aC?#R>Jn1N7g;edpKhKS2D*1H|vG zJV5*Vj+X`D&6551-<^Hsx8fVw{ug8Wr=N@a%5Te=`O@*WyiTU}Xy^`>r@A-rR44Ns zULx>h4k08_Gjz~fxR1)$HVp76YV-B$nF3?E7Y_|CuX^#&Xgymgc{Nnh)x^n*{~!c3 zcN(8UyNr7JJB_JumeOfK6+49ea9ddx?dqXZ-v*A~#m8G^T4zINa4Ya)on54si(`ZO zGrq~EZFQE`0&>rlpoFoygc6kC$MdgKLht9_2Ik(_RcT873+j-&6uFPpxpC>uo6mG^ z<+p3~GT#ebm37RA7yIeFMHr%vVsuyKbP2U}+@$%oqHAnTU=Akrw>LgL&Xf{7=!Bs5o+4PbR?DVsMcj(u-j^3xe2En$+pmMmtp_5{;H9h>_X=c*23b&g z|CrbYfpu7l{;fF_NDrcwVrO(Zmr_WG6sZ%)X$)ak`!=)6!u>z_dpD>@iojc_lbc8$ zu-*ihXDwX#Ou@%CBl|NTAkg+o>m?;dpe>0{9pYOV2*H_Ol$0?mxH6*MaCk2%sR-v+ z;Y!>M7AvlEb!bk&Dr|zl50sAw$)|$bxmtvVa$#u3G9eIvXBEl=R3NIbqp|Sh94K)E z>paA~4hrSYGij}sKqL!{2VpA`a3C#sTHH&1j8MbZ;f@M(D7D{pn;oyGYA|z6jD^}V zE2qXPTxB@IWA5hu02Lsg=&{9tnfRucWZ6{)FNlwBvBLDAvJWI$k+ z!0pH@gGK^sa#`uYk6I!8u6V$NF{oH^tPU5+Fd_}p(PG5N@g0f&J34a0GYxA!McTKZHtGtT3&y3xK|tiM~@i^G?FG?*(PRA4DQorO*g!OQSKF4^Cwx$FM4GwEfD6 zSLL9sz{lM(OsJ!P0|)F!uFtLfHy9$8=4>- zVq1*_nN&?_VlvO_0lN#XD(mS$>~48DhumBE;L3Pm&ZY$L1id-A0pG^RWxjPcPBEUy z$7>Q3D(3dR87?)VYtT(PV3IZQ9ZH$KLuC`{BR&^{{pCG;lh2X~Z!28b>uyjl!eQW& z@hIqhHhL=alE>SdW=>48=T=_>hwG~I32TX!CXu;+9~wNx^tJ5Nb}H5Y<4hK zQx=R>fn#mGdTv?PyJPNd)YS9~d^I)w z7%riv7#yUgX9+y!Co@3pv_{+TQ^7^vdYi0?)@o-E-rjCJiiW!;JR5LViL$0k*lSzS z9Ozs;6_eJ#5i6sV@9R*ENeI^<%+}0m*|Rrw7s)-ob6kbZVK=9uR$M zx&*IPg~{2!)}TK8r_@5cB$I}gp$L){=`ds!RaxuEhHoMj2pK9)N`-LT%}XR5Cwc5t zoL7-Ai@voF+30&3rDUOx0omv~|0a#Tv+>pF3&17l^T9#%wG=^YV;#`76uGg-xG-d~ z;lk`Z8v6}cxSFB-yY9W|v6Md@lBWHv- z7@R?p8VAsYV2=aXM8t%I;jk%)8>5ED)5Ad�Gp2M4B~QCYyhtetWVhCE;MrJ!~Ja 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 z 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�wb^6jVu~OaB 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μ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 z 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 ljka1_Ijho3z9l!4 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 z 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

pHbs5>(}3!=*j%m zkhHbKV)tbq+WK7vqOAx?GB#_)?%m{9Z_FZ}H5c>f8{+UH8F3bNGY>BblW@Dd749Gq zD(eFqVFdcrmwT@?EB>h;RFO|+VK#S2qckoCG%`MGRCkOUK6yr%R)*i6;rOjj=MKEo z-{9a`{SA(|u=l9^=23d|Y)1~n%hd1{eCc!pmn!8_&0`#^aJG>Ly2rEpNuPYAh^;2Q z(7*O<=5A=EZQqL6aTA2ZTkPK1gJ+4wG4}0=x$^>uh9u~!6sgOnMaj+-AY5MD+lm+) z>LIu{pYtzBgjdf4!=bl;%E9v`vzgP~}iGn?WPP6LaMc#(3iuCd-AAG47e#Hb(1c8-!(>0!EGpNMYuoXsOkKG{< zqSO~_^=q#RH}02TvwN{v?jDDBLT%*od8L^|f4CQSNd*8N4Y@ z)!(T?IUwz;$5LTq>=T;8LvfGiLsopyxdM)0Pnb~l9u`}A4@Y~EJ^mn(-rl`}RQorx zb(W>Ays2kPJEw~28(SvWt^ilcEL%OB&;X>;AkHh=8k-Nr+W3ZzSf5YvRg&|5dJrjO zY_ujTtQ|cSGv{04gBj8g^zjZ+lW*`p$h9&fL9UtG0Vk=|lb9TAX(VMRW3$FEhq*{b z^TrF6R!$2LL{{rH=Httu9d6>8wYNshMAo#?nC7A_STHjAAlh0WmR#uszOx_+wKGEf zTpOhbsNNm@{IC_7oBKo2V?Rg&e4+SPYCg!QnIY{(oulT7JgwV2;$ z{9Mk_$oaV6R!aV)NjCc1>h(7Vnbldf?^dmZby~xD#>r1YL2>fc!84!1f8sq}D~5Vn zmxeu^fGp>|*tNF274Gc1+AYPy=4s6M)4fm*UD}Y-Z>V$aLx!>!^~F)M*4 z7SRVM`lw?Y+8TaCY!(ce?zpb4v3(Pv;^r`DECx_Y!Kl84hI=LPg78`2KTX(LDCS6Y>U_w1!TgjQuK z?MdV}_3!BqM62Up{;rP9iWlxQ(fDODez(gIiOnq!BMI-cc9PIDhDys=EneMP%t9jU zZau6|cGv7eQ%bmP_4y(DWPvON3p5!kWi8RcY#}^cu{eB{lh+PjZ@9xPv<~~c6&l+; z8Vg2wdp@z9rmV;vC!5YQ;NBcNsVJ-FDHwwk+BH_Cnq4oywqxi!>D?tkT*IU0>!O1- z;~cApqCBGS)>(vbEef%4I_}&;mYs+6ereY<)Q+?)yldRpHR~Ifjd_cwbkNtEfUFJC zZJ>vDn@MXQ7=is=;KqVB{YepLd7h$&lC=8bwY=C~jlJ8m zv7b!7d*+0Ek~p8jOm-7y>y#te%oj6iK|X8PkL&H@`X(R3Sn0r(UjCS!tbTmQM&%~0 z=qj!sbm4pbaEsMIKFLCAp1^)E-+ALAXr=a$%0}#}EzETC8Vb!38sW%&2#d)=CiFpO z{5Li$Iv1%zA2jQsy;isfDtQ+4T50=)TDTKek(T`B5In1VfdB9l+?SuY1KGy5qa;)3 zgqX1mz?hhi59BlLVDX?)cxOJt6X~N?F|--glYl2!r#f@0NhYk~3gU_cWMNTl*}bTa zZSstm3O0-cE360~um@fE%Lrkb7K)d7l=h(sYM=p%@S1t`g_rER* zQu-Z>Te%tCQ}U7QVkK;qU08tq;xG2hc4drwffXy+us4O|*LsEh@C^rR3qA10vamj! zkf3Zd86d9@q>;f0^yH5DLX4GdU9Db?m81uKLq;o3AG8#w_@-spNyBN=Xk9l}yApOI zmmcXZX7@V`#jflQLFKu%Out%To8(lQ$9iDdAO1lm^Hkrevmkl3HKX2@=7IWG@~YZm h9dqLq-)Ns!a2So|)7s;Syi=e2JbvjqhAE;N{Rb^4ZD{}i literal 0 HcmV?d00001 diff --git a/Fo76ini/7z/7za.dll b/Fo76ini/7z/7za.dll deleted file mode 100644 index bc2b47a33c4bdd1ea29a795f8eebdcc2062ecbde..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 381952 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≺)o~XT&l+x$Nv%?R7H)dKA5|G@{MFXUS`?!roYRNIQ)aP?a5iAO$%fiv+d%x z3fZcK-%vYPom*1QN8#3HPD!CGRR3)+X~MRX^PpVdOqhT^Pnr=MMq!)2r%mry^b%N0 zKx-w-tC|)F`-W9Jn{QKY?GI?GXQgG?CwJvtUY^Hi#S!tz9h1!5dNBwMOZcZB%&yWv zmbq`XK&+|mo-HVpI&Cy95F=yKe95I3Qimulf?wwnAx?T`)}=S_v#Q;cBZz|d#7#|D ze}6BD{Kz*`&1COPXO@5)vWua1q)yB(vul|b)14;{xr$UBA8jNT*s7iIdLNVi!7mTUIr#1NUG&B2vqz;h)KFDh{zxV= zP7*1mH0iH7m@U)Sd((4zu%J9@^!Q6O_?3XDa263yEERZ@b7Upj55^E-hZWfs+6(QzbDquwgP*We| zT}tpSYnMEE6ClE2t>Wa=jJyxxBvWY5K;H9r+=Iax?68uITp)I z8LNORhlH_&raA;ldk_Kq^Xp|9)C2PcO!H?v8W~c|I#cz}50Pp_o{&(aJ|rxBG?2C> zp4o_ugA95Vz3FlgGFErTe3SgC3rVl!L6(Gqn$q+;4b}C}ujWf|;K9Q3qzc-gLXjG? zW+&=ex`O?8@S+`>4B3I#Cp&7Phfu99Qyqy%4kB|N0YjjS2{j5Dcs2D$WJ)!fzTcYR zHwo{MQPp$}jRh~!|AKWu>G0RPMYh|f`MGFeg6WfKZUZaZH*1AEyR*^yjHm-!oz%m zF0dq9Ci%X8SO(6FnWGwzsDnGeoV`mao0_Yo+hWv33XzRFU4U5_BA>mKHo=A>6yKbe zZ2NvAI4ho}a=@-@LLaiz&ZeI*Gv5&K_)&-q%s(N)cO`*Zh>(tg?YabyMgx53K+xvA z81ZAwdRjKQ_v=vHJ+5zA@8dEn9+|XtQ65oho_kq_=XdI1w2S4h&Knwt2ogYhvrFw!gsCNz)Q~eIj3NYFiAiAL)O-?)2juc=M#1=!FoQ zgnC>)J5ibF1XIw|8CP5)GnTJ}X>geTR%_iqlQ-!HIcCPJhd1zIs&5|9KPzfY^{|ZA z#Oo^zPaRp!IsOIb3N;D87_0lLh(IFitds7WVLb;X*Tp02e6?4X+tV0q#JT2alb!Sp zq%6t!|4JqX?O#+E{+J@pnCK-n`H4UHnru^J=u3F@?6cH*%DI9bz36!q7Snr=On3Tm z=>Wa^s=VRdUZ=N4*KqRYb>=NQgFl?95|B9u_AAx`LJ{u@_Rr@nR_B~j4ffCBE&X_} zRHZfSfkQl*k==wA>_$lVrZWS}Md@GCg&(8&|I+p@fKgR<;{PNQAVPGaf<|j=D$&M< zU1Onb;?Q<(a);a@69|P0wpQs%X)dnC`JV6jp6~fS!?$~sKplya z-^iZ4QMQxDef;nib8opo&xn|hfRplWnuSmIpp!^6`b6Yhu}J5C^04!rNaw$Er0yj` z>iG!k2_Y@8rIJyMbUZDRT6O!6xDfhYA?WsnP$(8^WuN1NoO|>9do78ie~;GDH0kkMUg~WxcatMMVkwc^#bDYONIZeNefunoZMX^1G%SuFw1J6a3{LY( z7$uBu0#GHLM6*m|=Nk}>Ur1+6=NB4W<9piW2ny0qzT7Skc}vD#Rtu`QzpRT3r@f6| z-WFWvAYG@DyY%4#`#NIot0yBji(OvT_cw5NC;$6gqZi(@{s>So{GIv9g?d^kM)X zDz_vO5G<@Nl&5NAj=e;e9Q8-+i+r|6P_h(F!Vkn7Rfq)Vj`qV5BIb@d5qD#`U*%1{ zO=?uadWad%N$G!7c9p(J&!-EIQggac*}FMrX8OnbI1f4Y-TW%Mkg@?stTY2d!v&zQ zg{E_XcR*AiO359+`f*Chi=7XPItAQhR6r471wn-mqEU`x2ICfw_QmWzW=(#anGIr$ zz$mUi1c|;c$l&7<5OBUPn8IaKY8cie*eV2ABM@`GFZjVhcgOK_SUKOHNAGi;}Y z3>ql=@%GpJkNEK=#Z{p}m1<{%9x4(XX!a(*9?00MHPXs%y+OUH?SgP4?OSCq1}Pf+Jv4{Wyi_{Ejt4IwA|MrO!Y~eI zLZw*kZEsMAjjH__k>jO@qY1S%VxN_WX9E4r)o1jC&+roUZ)uL!A#G*h!$6+IS= z*C68C_SQ*OJAPw%p=&2*cQ#a~i``jxDPklVG9DBuL;n;`k-YmxAD!6Vv1}z2 z5!Pj=BDhoefV>`kJ5uw8Rq?djfP8*WWZCa|D%D9}?Vj+_t`+9l@8c>iVUW$Uk8;KV zFPessdfw}}N~-d=q`5^8fv{V2I_?bY_r3R@7cBgGamCwK_`L=~oA_Nzoi9=gA6cj3 zw!nxHJbRacWR#uJH-oBZZKi0jpfj~hco6Znm9KmACW>ra=-Uz*e%58A0IHNnt+N93`(ryreYG%8?b9yLVl^&ZK$1mv&ez4uhZa3O?9#PvR&~w)-qsq=U z#%^B`mg~Y5wRy1>t@)x`ML#Yz@vRt>fkn2wPv;GUDgU(rHY+%bc)fnu@`-Fmd|MUqu(o1Pk85?4>%82fZ zyG`9jWahrkcW#PwK5Il~Jg@!|SxYpROtkaao6b_(e|+frvSeo$!ao?b$JFn6=f+aP zTW3Dj`S4A}^87uX_M&l7k7dRLFZ1Clk)+5B7Ul-+)d2kWwZ$~e znd{`ovRCx!lZQ zuX9aIsIYY2xz-vI1qPzQVZuMgoWW+S;Lm;Oir5{$d0*SdXujwnvScdl!cuLd{y|FH zBInck2PEPG<5KUFXUX2~0J3<5``?Q7)M+g1sS|(bY)@UI9K1U;>n~FDp1OH*hobW> z=h`OAxu)52>y~Vc(e6Qk@v5X#ihmI1Sr4b*GM%3dKy58|dFdHw|78xyb7(UkoL@}2 z80CCYJzq$+$KOHz$S)-mAF$B$VQ=uLB zP@2l@nEbk>#)%fO80mI1JM<>+cXI@S6&UN$^quJ!s@F=($-3p<8lv6agk}au-?Q91 zr8f^Ib+=aq@(6?{bxnalLRUll{GI8S{JV1j*jj0HP(T-bnhRh!UkDk4p6jiwbCoh$ zfyTn0-&CE?6fc2JB%Im}q$??8l5SwK7II#!XT7#!#Q$8j`4UvKrj#QfstM+HO>S;) z@Rpwmo6U#HVKF8d;T>2#-Z;irReszeD?NGpj17%+&^vt}t>%umT89f8+6M)M_X8H< zMCHx7X8H6@@D+niuNE9-@yDR7SMBy~Z@R}}ezW%_Gy2TpF~nCLC~tXLhwY+wInZgh5uJeUmj@aUobqx=fb0w(IkXr0bwh~mL=Pkdf$Ze;L;Ef=*V z<;a>;-8w(bHng_szG7Bl%_z#ubZY0P3*C5r|4*sYs7jR;re`HoQJLl9(*UPXDJzaw z1?h!CT_8_<5sJH7``&mrF4RvZMDF$d>I{sL3P}cLmYt9(l$~~iZtF^&VNo`nOD1>G zP$@PR&q6Oj^NOX7jr`4%+v8XrYGZQCN?i&B=2<bpfxQ@gR4$89_ z13cU0zCfO}0~SQAKww^A+~hv_Z`Ew1d;V2}+9@&P*Rjdd%N7&Tk2_|C4~gn|+#u38 zY?%O`-^Pxz0jgq5Q$^b4Uq>EKe*(6pGpqKc&J^PQYbil(f@J+y0Mt!HKGwbUe)kPg zEnsck5PlB>h%ZZ*_VG~ES&{gnvc`t!^XV8@gryY83QVHM;|xoae}=w0dYI%*;7RER zzBL9D1hpmeMPFw8d8~^L@-nfzq(k45D*RcHXAwhATGukhXPt_+7nF+)2TX$~)WM%X zF!EPrAwxTeyQnJ{l1bp!CD#G+8hRJTRM_qVUId{cqyM4Lu6^I1^+N9ge@@jdG!wEn zkbsqey8(Td_OY%5(>H|%H#k@9gUi{CUrEZ)5DLlqvgXYn@pc*%GMX&){T%uA z)l~z`!n*wa71BJX<1bQ~ zj1A&Opb8ZkqaJmp9;@skwgF6qd2%*iQ!?cZbR{6Ex3pe5wt)YZPRwCVdr< zS`vN~BNldT4YF19{MePmzb5_oSP}Y1B$997V08*~z;fFKSi?Awg{!u6JI8<6O9_Vb zy?>=-wUXsr3z1|w$0UhM?uWcPzNH7Vp%Xr6)J?+dFs_Z9{|9pjk&*x}>Dao*j;(u2 zfq7JgY>8(H6$gd%g9bw7K|y0ezyi6vUB%Y~Nj$zKYIdlZT^Zc#4*=L5yer#gembZ!AhbX@Am96_QEi%~n${+Qa9lp0a-%5+$pDE3-o+|C7Zop(X7o207c$XwMonM8|CO~9J^3AyLKL(D(2KnGznch5b2yF z>k9GMdCjVLOf;AMVw#zQ4~yUuq+fcP$vuIO#K@F!lAEmA*9%{V;hwgN!c4b8ZS|f( znA9Jp9-rR;-w;`t>Jt8DO&#tOuD%l!QxD-UMYv?DE18(SXLwRw2W9Oi7i_+-pq%bb zMVtLhT17 zgfx=iD+FgG;n8l1?4h=FdqE=2hMNy$ zjwq3MkXX7(V8}Ve81Fu6>?OTQFRsbv#GRaLH$UUky?b9Z!;jD&f`b<}xKpMX_WNU6 zuOa9nE8ByD=R^ECvFL;LPm8QCxKJAXLc~5;AdL zVQ#%9q-dNbxdny9h6&^2q+ttCCru05Hs{0J7FoMZnl?84FpV=N@5V5sVxOBlA&(Z~ zx%3~>v@yJ18(BZ+no_^z!58qN4C;Rinac6{PV0>acoxzlw^=^)36aSa@~t>rWqWrB zdpF`kGk&3d;u#?fT0e)FKpH^7XG~{OS@4~eAM%}{>M#3(#w(3b$e;O6@an9;_Nq?K zTB2WVJwcD=ITS}r(l0hCerx(~p=RB@#u3d6>VK0i91jFTO&djHGM27^kQ9OeK?j2x z)_$}aM*Ht-Fd7e`)P-B<4#7hQwMEvS98`GO|5)KkG-Zv z{Ero#qHEB#E&2`u%AJ`KDzaSd-m8&Uy1TJhK&T!~s3&r`D@QB*cy6efPoEB2e;3&B zApjjQpB^5ZParLck3iaAnH4(?W(3jXB6bb+$lj3nyX0GZf=~r4jE@@Ke;7T(UHR=c zf!~Pvd_wU3(vSH4W9PH|Zmi{(_GWTj6hxLiLiOsAJ^k5-?RQUVJ;j*#gx;=M?z)RZ z7_4OCcK4B0BhldJyz;?*@5vCHkC@}JcIg#I4x{F4Rmgu z`@sq|HO&EXTr&I;gU3K1QVin~AlS)0`NV%KV!{{7Pne%vTiM3E&=OdTBB(pY5<{z2 zv7VH4(1;M_dK2L`KPKnKXE zpLa_*+`B<4+uJv)3n?vWQIP*GE!-g4R2Kf_o}St{^68#hty}4-)t=TpwU&Q#o_wXJ z_EI?z0`XFT^HQUIKsw)w4a@9uHld8<*Gh?%i58T(GJpyuLDr3$!}d~qxFdLFisM1d z_d782md4DAp3W@EMJ`QE8eAS1u9{5Z?Z*?5nk|Wn&61TpyO|h)5-_*0W`#L6n|?v; z*XW$)KSduB>G&Mof)e=u)2Z^w?#Z?Qis_&G}ChVi*TgIV;8dLA4zW7>(aKGEN-NX*>9QYjG>Zp>p-w|swQr(`$ zMM5k$mtwRjO_1K=dXcW6!+=gsUTsaFS2>;FO%k$b^9u9K zZyDLGFfbHqd66IIss$~=gNY=jNozQEc>k?M0+Eh4sc#VAKjp%5TbZk^K-`CSgL*7I zNzE?Msdh=lf?M#@l7mK!RYcdv{$&W@EmQ!&6C}vPs_+4btf0cB-2E_^e|oZE zwb2f%dUm-eL+ZpKsfEc?u{faLnK{V{gk(rC6d z{rXU3nYt2PoyI#6V+@Y5Y%UEJ$KeWbgv|RR%iiJ*3EazujeNN5#DdhfL#Mg4w;K>m z611TUcCL%9;?x&ShN3KD|ArcPyG!fVwaeo}vSbeTdmQQZXd?J69q#%#r|cYjAHk7A zqC(x$wIW&e$#C!9KeqSCnkyodQPHLIQwWx^%$ijw_INvCnb11=-PhV9q-Uuw5r^hP zIGm;P5m~b{<})JMVM`wt#jNIzE)6vFzVqwIdw$`;d%l6FEn55G@MAkJH8CRd5+bPw zhz9~7M(+J?LH8dE#|?=4bM7QhpJ?bs2O>2*19rR(=++E^4yH|m?t%YbK=+6CZ9|~D zYJO^R4s=g`20U62BR&;4;s)}Z0FJ>a>q3o&EXzObM$@-Os?UP_h zx=1j{dMq+{V9A(@w%8w1&Fg-!Igi4><{{A#kElxKEm37B`G->fKrjZPw-{xPQ2>M6 zW0d%}$NPt3|4`%~3gs{~mGqo4Ri2h%p=E$EF(X!&L@_1~V)|3ekeg1bb(5i!H1*!w zmpOR@Eh#`#5Xxr`j)~0ZCPtrPw%sQ*--^~$F8+e4rdMu6avQK@>^%1NnbF?G6STXZ ze|{1R|KU$8emN82ab{HTgu3kS7KUyZ(^FF@WPb9))zgb^2s_h@s;3v9#hSPlI_{LJ+k!Bf@B<(7xo_^L1<9LCT^gp2JS=G}^rRq{y zuBxY(kt4LGWY2)zMWts&R(J0maB9lz?@kKcaGL$yvq+C2WgieD2*+OOU%lpEt@f|p z@~`gjua5Xvcl%cbRL*;A{Hr4WYMp;I-oLuvzdFmm+Uj4G`B#tnSCjm!C;Y1^{?&8- z)l~oLfPZEBSFib3N&o6C|7wnZb;Q5A)W0eK8s5WL=mMFQPiv?h0AYMMc)#`^6z%uH zd5#7rIPKjYJb2cBP^KRMIqyauDD45l6mJ6fvQX^pL%iC|cN@YYeJ}l5|6GagWN)Kx= z#I^I39$YqBjISP8#~)^8>w$G_JA1q*C1xySx;FR%QA3R`S;8=Pf|C zDRH;U$vjaQxwQ|XCB_0+3Pf&|95P~MCQ_nXx61{zL%?-$m#sZa#@oN#*+gD zszjm?7#W;sY&e-t8d0R@bzMYCvJB_8t(2Smc=epJDF}-k)g`Yb%ci2^j61j8&lT?5 zj?Er51U=<^g?&Ca@75HgPNiIoST;9|!Urugid}!Q+r|tDw{v>|W%#M9f%Mz&j1DTEb6a>CBMJijDJ4HC&}nUVYB;I%qHZZ6eBw zQ&4mOfl#d|a-eRto?Y#SqqMsJRH~EzqNOql zTTW+Vd8(C_A=R3{oQ4h|3@U^~34u#u`917%$s}$?>r0*4vRNqclUz(@Ew=2X#i7&% z?LArAm)l>^uxwXs#S&hrErtCH%8Q1@%GMXBpFien!x}I2h4xG1E7cjtSm20EMw=@| z?)wwsf7#6NzuHSuVYREfe@vpgzp(q&aY+8mh7j4D!w)Nj8L9QQGfB`QrVGg-)2Myim&zgJ!d* zbdcj~dz--2W^i!*_M>M4l79QGAr@78vC#>w)-@Dcqc@HFWv)tp5WM;Q36qX+m)c93 zWL!YD(w~Xj)UI&W2ydl}X1JG*sh&FB$I06ck+Q2#da3)k@1ys!c0@0GQCkMRY?Dnh z+vf!+$~42yrRDdxF^6x1vP>B{v8rK9Gh9!m{h_NxMJDPo@=255h|X@Jt4J>XEc&xS zf!QiWB<&q>^#{6CFvGA9sOl1YH}*4c|oM!M))D1~4~#f`WMq zYn`GQ{^9r+@eXL9J$487T)7<3Y|dna7XW-`wBg;By8zF-KV&&B_7rVVt3oCZFAJq+ZPL}5G z>VBorGia`8NHFSf7nK#O-%}S=*zXs&)PBg@hVvDTtor>t-Z$O&!2|{qvN%w!^Lg(c z?)HBP*xTC%HiX!xRp+s)AXz%U`;GjW?t*lPVNu)N z8QI}8s*V{oazOSC8<6*O|HuYamOohkWz=uF-_BQib^Qg4_PjyG_A7a6`=Nc*K7_{~ zrEUg$(O}hKswT+lx7A+z4|(K!DM04fE3Mw$xLHRtWa;%ZL$lw`#Cdh8TL~e#MqMscx0R`D`aC_PSrq zCsTXE-df0-XQ+owMjJix`glGR=1}lyufXc=FR)*{DLJ`YJyNF%YDJ8(6YQhFw%Y$JeK6c2%nn{Hu#XbXFj+Rhqub=3T#(|vnI$3VUQs&voniFg zueGn3_MP%Kx373a`?mjW?K8-W*S;lIfJm5Be9L~xf*|2h1lmF+o8xMHnb?;LpHm#U zxu5%y^>xLh)_Bv{^Qu3T0+@RD(kIO6?z*|cXvf1-Y)$SZ|HWpO(KkqWxHIl9lWHwH z6KJ<(eUp&hd%T*+`qgzZr|rJHL;D1zQm5T_lQnsFJX~}eWG27$iO714?es8=>|>t1 zK-Lon%Blw-m+cN%I+nZ5m>)%^;);rH_vW4C=rSqD8e+#ATwAzGsc3Ug86TBV=hOAYIE!e8!07-d;SGon2il zJGZp6%L%6u90uHpwrky@*#cG+hb368TU$u!=(Sd=fGqdZ)#dP15zQP%_eJXVW#^Wt zm1~PAl62=m*%Ccn;9NH07EDfr_a?QBJ#{jQt)fs>A$$#%YthZ=KP4*g8)2ajmiZB% zAKn?xwfjhJj<>(&F@W}UN!UAaLvDiq@m-Nw^gO2cZsUGoTrn!`F{V&7gj7ThkxoZn zXtfpKI4&$qH6Q_}VrhvH&{U(=Jrwjk{WZVeM)W!O;pgadjavCouGcw(%!)k({|f&l zK`sk2Kc=~5A8n$ed#YSC+=od zuqN*@!*|?X3{!!MNps1+mOWo-#_~V>u>R{X&~c+ zK`&e(_DL*;q?GJ}Aa>M=_(15O>R2vq=vn?FfFl^XuxI%{aVnIoDD2$2lJlV#^y;c# zTd7}@C)a4ffPTVUo+?j`i{1$8HQh;h=_aDPq_3dpT#*d$&dNHyO$QjduGP0n6T+)? zl}7l<=m2FZT4RIiec z%Zg6;W}yO+WzVyo$K9EE_hC~A5!e}7{yDy*>R=vIWm6}=Bjc=bLy$haPPfcJRM1Kw zq3K65csneY<;si}EKTs=pT?{+ z#ihoNxRg*Y$l^ibV_&0ZMqiF}JdD=Laz8t^{z$-GfS}m_WJN&|v1iItC@tUB(KXn{x0n& zIRFa5br%+X;E5oVOyg(^udCI%x`krYQpz5oOPixr^ezP5^U|N2{0@j7i~Q4ed;6G7 zdC-D)3*>eE^;Wza?_F0}&POsQ=+hGUp5M}UvG`b7wMf2V6btQXO=DmBDFURIC{LC% z{u-4rUKEh?g=U&gM^p$T2ce42 z%BT=dy_}Z-HR%>BV-rkDEQ_z{iyljjibszwCTv!=zgB3G<^YD4{Ko9a_1-?}FZYwImZh{~8_PWhf93U;`(xJM z=>?xp`=1@jUj+M?Iq~CdUPdhVds*<~;rHl%>le*i0H9<( zY+_POGM)SNsPuG1b1NgKvV8i>eMdA{@3poobJEDS)y$YC=jtg2Z0^ufuNQ8gcQC^T zH)Nqh6-c5bEmIXj;JRL53p+4BV!I3$Llfx~Ne&s)bYtStgRR#xnWaVfEn_*828B{1 zxP;698kg{tfl+WJm^h}*6%oIp@mY~S8Kd|zsxp-RPe?D!$Z150B zMmm>(HE=7Djy5@=)g2PoLf*J}6(=I$!xHyivkWFXo)_s{$xVHo&owq-Qkn!^_pwn8 zMTz$LOr&m)5q*5|ClYvqH(;g%jVyu%KS_9M(z#`^Abz~1A1*+XIlT<1oh%S|L3})Z zB+KfPCp65QICB9LgamcMcO=3O3v(dgVN_iIl$5BA9 zUwyg2Gk{y?I~r=~&%tT1pcPo*ZG-$Us)mug9XqUmpYwU+%p%HO?kmkU4-K7t6gJW? zL56i%euRw-Ua6J_46>2I2P()MC~^>=0rzDg$Fh*S6IVQ3>rVO%JJdFMESvf!OKl6- zNdcrV%~lvxU9DM3G1L+?lUpp+viiwrvkPhCuE00n#K+K#&Vtu8omnuO#u4Yjg*`^V zYr<#3YxW1cCO)3LdXQJsC&b-ZumW?+CaF3r?i#SHX9-t7UkfS>y9=IiOJw;BM#gYs zM^ONk6ir1MMu&FqMqmD~)Lg`~QcT$hLIBKMBJpf+;vl(S)n^HkjeHrwpLUM-y1 zjZN(XvY}wXNm0VQARF%XSC)x&^D%00C&lO-|A*g^oz^4l1}AP0ZzIgRdL$lxT+}P! zZ7>((r^!Z8Z5BD;s|Ax8g8qU-vKO4_>D}Pn!EO*}pfmZ6EDk9#50iy7X9S1wUK^K* zFpiZIj>LpOtUOux51%YN0)F`9fVu_?^t)FN2(ahpkDeD$uD4E>MO=q3PM#nD&MXJ*D$8=U!2?5HKeektRu~d^8 ztA7jRSBBx|z#oARNsR5I1wQ@oZ$_4F(!PbsvL(?Sizg-h?ak!J(R4;j)Q-g`@=m_J zIp2t$)pqS)fB_T+vO*Op zA<1wrle^+krj~SG!VD}f9l^iI_sKq;ACHc2yY|nzSX|9%D@eFg+BV20&JYD>VMyyU)-zPvDbdQ~{Y~I}3_n1Os^^)nXh#lGOBX(pS)A(%JE}GFb)v_A3p36#vA(4N@zM@*j z-|5i1VV0q4!2%)EpNn*ghd7ib$#Ag#>~QCl92IKQfM?TgT(HS-yZrMM(NXH$TA$vS z#aRdrEWyWlLNX;yZw7Bl#Hr{r))iY?&m+TTsDVW>S%KfTObHRmjguu`7LZ3;Uend) z2493YvH^lV6;$#w=QCM>D(>$`r|Q{XC|eE_&aVO=xtkUU9hm%%p?Z9o)g~ca04~QS z_;kx(AlNfAt7T9u=%raHic$i9G-;{^QCkJ^G6->pDoEs8n~m@mp=mi**QaTwrfFS1 zO(Rj(AW<_X?t`j@*NqTy{nBvjgbLxiCsb$wR7f!Uzz|s(xc~+P2!e1@Ky1QEOb*vC zFB*Dd1R*LLNr>oMY4|BK{A#qD$oe%Hk9B8-bAgnXf;|nsXe5bDj7cTrB<`A{1{s)E zgZFV|)DxfCAPfar(!gg3%614qj<11;Xl@3kMpisTRqHfYlNo=!mt_iC_I46{p+MEM zP|vkg!c-R*=y|9oU@#f=5)vvjbE#mEdO_B4SawZVW#|Y9YhBTM?L?Va ztnYeasgup<<`#-=R{Nmqc6TYI7WbnHt#}%-f{NtLMJ!Qns`oOZow}*cHC2f#w&oZF znVJ6L$!`zc2*rF3U~4vgFwPfQN=&D2ieG-Urr9~h0{Lr?-@ujnKHKuunwFdD4o&Oh z6^CK$Q-mlH`BfLXqW;o&#k*SU=8Pq=TY8-7oMCK|eNg5c{q>Olbt(I5X&iBOPo6yO z$(N?FF(4w5W>EYB1gxck{uCul=gtijp{X+&2iB08sSHu zzFtEt3AukqnVzxjTRmymo79u$p9q*JzF z4vHg`BNwA6I>~Z>s1-%iV%dvP6cJK0eS)D7-Ph%1uBuV@|4NI7ZnRQkv}`pqS6vq4 zH6!|a^b^0&UMxD2Umaf}^q!Uo9ZsFfctWx+sv0BWAWY*Ai+%NM8#f>ak_nDp}k}EJ`80{%NxoBXVt!+ImtiIj1KPE zNAp|iiK~_u?P)FLm`{F*!uIz?G1^*exHH1U8>!%$YFZ`=-Q*q^adFT^zZbM0zlQ!i zzXOqFZ_C$Y#BR=TX1Nzn#rVgY^Kv$e+#JV1XIfQDL$pWDm>PhrrBF1%4^kMxakM*q zqL_4yiEfMB{9oKNqx&Pv|4r(2YiVc8DRws8a$?Z;$nxd#4Rulu9W3`U!uicZAS%o^ z|0@E@i8?HPQE|GGl{L_Wool)?vsxP#Xu=HKq`#P3dB-5q&UR-q21u$!+u4GadjY8% zFYx;;A;?d1>yEl}kLFEF>fz0V88Xpavm-^5sySHEXg7+wb%|&`n}h9=AGbS*$|J@; zrb?K;jngH1DV7VHT#H$pKspys$!`%xVUyKu3yWg*ZH_0_B zZywpln{}9@o_HUIgO)qDS-2CzFfBM&b_lag%WnfauRvpO0h7QIibWlhMltkKqSy=J@>gB0v&5#x_UJoek!Wwc zUSveMTQFjwTyeSg1lKZ^HxD;475%@xQPvM_0$HU^6Nk#C#;REhChqorpd)FBksWws zJv55q{*d5-)$E;4U&I38&-&^YPceM9G*ep&NTd>8q`^9RI4#l7bb~kL8mw>W2J16K z=M>8|SPb2AX>$e7iv_7s=Sy-{cjH#HC74q_2+;{af7jcuFcPMF8HyduazGZ`l~HXP zFb{h&1gbLZm$~RYw4dcWUs%g&Zc&Zap7x65d$ke{Ruqc0GNfYNF-$4e3-gK?WUx&A z@yZ~jsiy(iTtTLsu8YRx>_KRd>aaDh9GK?NO1FsiyjtMQ>{A`L$uns)H>J^gGEOAu z8;zGX4Rt_z^#7(4K~HlXFcto1zCp_eJ22S#1G(07$5c-_GYdYn;d@>M@P>L^Omimp z>cM#lxzink@YQgWzR5r#=Fp>|WlN02X4GwiB|mH=rsoRfIuZ2X81SR7^kMG}wLZ)s z<~cJ9gXYWd0e6i|;sW0*2*eN_+E2s(W<<&%hhUm+yI|*bEkBd-BrZ!axHi1Qf>yas zeq40z4uUSkc%w?Ep5?@6! z=1DAHQtPP0Sk4Ue45lY|KxSRi{l&t+lgS53K-ckg^*?})tw8h>BB)0z9Z25c4gBz zhj*j(%p&tFnkJG;JaJ{p`tvFfY{=L`^cm$qBH8j1lVv&j=BN7DBu9ovkZf%gG zT7QtrvfKB(;Y=xubQl0eZ8sh$>fr{Xc1k}3VMOn9_0M1^?q0v<0XO9aC@|%RQRu#0-^j}wc10SG81JW&>yWY zN?PP_W=pP(IAt_=M00dgw9%Vnl^roPW#=pOYtVFHH}yz%4NW_8Lo#TSsF9WUiiR^| zAQ&DYdt4rgbY{f2X-b(a)`h`9pa!~60JwM}%vY7^PCGmVzr2(4W+CwHF0?lnOH%1S z87iD~<5=2!kvE(;HjlLhPW%XmLM&}L6glyNq4#0o$YR}92!o!V$Ub7I@pg?e!*9_Z zIg$d}8qjUCj->Y{+PBDxny_DM0|kWbwc5AIA(4G7hctp8ke2gThHH8S7aV>V2N$H{5&7O8FWapzTi>>_kEHuH{2L`9^u@Ac ztLVnAs!$eYv)uSiXE(WUs_qqj?& z{ENxYa)gxxMeg+P>bwuxK_^q^P9HI*VHT||EA@8+j?2pSjWn>7J!}cGTMPqUYqB>! z2Xt5|d^rzXm?W4x0k`WOTR-8Uy-C|Kx9ehBiI6?4u%U4~wrxC{I}X`et03y~0N^P+v+Fe4#|mCZJk9 zNj~uTArwXA-jMfmp4+v_EZalfCJKtw!jiQlCXwc*GLtLvwv#|Q1te{$&Ar?kdS`N<@h0=uA=QxeK?6r3=(- zew)pS0LN5*Hizz)V4VM`4kf}*biXkU24%M2(>Dn%>sye0P)#7&N~7j+=ug26R9>)oi{^qXJ=s>!sx`pdz8AL+9%G&a#CAO zj<;03X&)Ygc0e265WA$6e24YTywT-dwnO?1Bhw#2*P#7W{U>N#DKO4^f3UzC5Hz*D z;;5BZyJT>ys0VJLMy?{X$D6Ey<7esVYh!3wwN)J_Zlq}nXTET?~ zHg9#U=xn?Dsp=6jpF}$E%)wC|uE;ro9OhmgUQZpm@K8vx%fDL_UObT zS*N}cpVwpO^c21>P-b37I{sCbR`_XgnLS?!#%%l!c6swbHei@luhA)iq$p7}dI~tN z=A{prHN%jGS@Up@t_G3GHPW0`BqkkNBV*Xx`Q+?o`Ruv0K<$dF?NsgkQSh~PUe@;b z@bE4n**jwRVm$gpikdv9wh_^s+6D(1xp!TOtia?hMn;E@Zb(lMsewt~<|_tt8Fvaw zE9M!LLK{I6&TN$FE{qwG8g$NmC>yEk9FZ?REnyASquu?ZZ~z>Q!;khP6ZSEDKsx{q zXs03^e*{^N;{Z5t91pTV()!Eo3`6^oP%#q4)iNJtJeHjTTcmbMWV4{Nt!4NynW{Uk z9w5Mf)r%}41lZgSc+Yq+nRKQVn*#}D(BbCgIfh7i7c z8^pt1n6IlAx!n~aZ1BI~e_*6P-beXHjk8kMGW3CrjG-OOtZd9O?Yc0L!kwnx?;N zZ<4tZYx%q^t3M+>m>jbQnMZ0X547Fd-j|ZDmM@UdQYM_ty9N+w1GLWGB$GUJ(}lyz z2c_jT+oubv3H@J>Ek$Gec{lQAj`4_eY~&VATS6`Y)l;!eOvHp7j+z8NLm=li&RfYx zpcBpDYcJPUg-#q}h1CkVama22wL zLa+>{A)H>LZ2l1m!!L>0xiY89(+n&uaDFJV>?Z0oSu-&dXXOd%yDo!j>sOf{XvPpW zaGqsv6c!TROItqCBdvrHP6l=ci8iTO66&A{GfR$^`=KQ7Y%Z&R_iWxjs1;&_niscVu3kbzP9FaPvl4CyNb^Dun?6$0hPNWF$lddy&(;m1cw zYzh_l|H)pc1jDXN`J2bz9R3>F(*TZA=Ms}FQGz!;hWIYxMXz&4IhUj?=aMCs^W!$2 zarik0=f}V1H|hLXh$sgMQo%u@Q*e;56iJ0g)c3WWqT7C;l;K%gv`U8w9TX3+W$bBd zW7`%gSlC188nJ$n)ENCZH+XU{Uw&#z^lzm+-^}w}>5ca>&P2m+mo?H-j|^70D(RFY z5w7vajw;BXF>fE2ef;5~HV>!mdF0QKcUinP7Eq7>w!c6AsP7xf>Eczx4=fUPWI_;M zM8s~9gu1Q?nVb&zLhMHQlu$cq=HJx5Px&tm>PDoUAGLk*QDLR{=>O_{EzXomD*gxf zkUaBv@HL!ErtpW)WxLo9Y?O&9?Prvs-3(2sj5DbPovqx^F+C`bq89Wt@bdD(t9BdN zNA#7zH}1?@u-7BjtTStV4!>o8zoCtXLY}G+$0$dpujw`}*YXG=8)3Jzc~2J>1*I)- zBBMM7xlB)|-b7Q-=@fZlPv-!?^3Pj}H?(Ym*Kt8fZxgaz`vIYkp>(m_`1Gr?<~-(Y zeueeHmDa1cCDW=h+v~>wa64tZ)!slzq9qS|UqU`4tDRQ(IGwVPIh}H&r*m*QTT5yQ zzse+aFnoJo&eh?%@&=*_MVXO;1yav+_DTEr=ck3rDR-a&2{Cj?mX*g5caUlhnuUEb z65*cq=O`}3rGF#yZ%`CY|;sDGUV|Bk!1)`#ayaxTSV)Z?E8(H>`@qgH_0Q z*c*>XTZmxl3s}7MSJP%&hl!Kt1Y1H9E;=}n3z>Fr`gS9<*P}N%W?;qI;MGXfXd1$)4O%H$v1TD*`DHeoj`t zAUQ%Oeh)ADd1Lw;oZ4T1{*Hgw)5A@MGOLYqE#*q9jeI;o#oz4}UcRp@9 zSErKB)i4sjY~uz8q2Z?UOHIUOHL=j0miEL0y5D&hkJH498IzeTjEs~9=}i^(ro-GR zw~reYyBy?hAWP!>qA~)?RE0KzE1^gn6bcq3%?~xn$Tc%4OZ@nDda{67J~m>s2WH*H zi!xEliF79j*hErYwSNf3yi=KnGA~8eq!UK73hPzN+Xz2KYLbEUTiRq9)9+nEz2SSVanN}z#>?*irO@oq(Nbfpm&Xz<^2tJHGtfqF6d%L^(^7DI*{9C&8 zT`t4=@_sIjb_4~n(2B7wXXw*|+18}d-Ys$OjP@5L!&YXhAHYrY8=5irU<9|5{RnO^ zW={5P;W07U$ed+~dXX7!u9%)DsoW$oLN}pUO33-fy@C}rgfGldR-Ys!)gxr@vJZn~ zn@MROIEg&J-oaEwe!K|i zKogqh=2A3c&;X*UNP?>-kDw2hnmLc4BYl>8`8=JWaG!U<-gl2jK&IwTHLL-qA##p#dXT3m(K zEfQqSI_n%jp#InMGFOY?Wi$4cB?;4k@ySazNy?6{zBm607^ zCgM2mCc~b^{}l&GU{fTSa4rNV(>o_W+X=_JypIMX+|($re!ZMaE?C_Gwb!|Pk(Z(u znHiIx&EQ!6PBMCdr05eVV`YYbO8N!h1LAd)xMwh3P+h4McBhU`gx|KJFw?rA5n1iO z${X`1zwY(V5`%|S(S{;E+xe{WBIZ6*t(Wyc+a4|7$CH zG^AIZAQd5f9}6R0DP%j-2pOmhr4wqokj?1w-Tb!JSk>1Sr>2q|v5g(pu2Mvc-d09T z=MyT->Z0Om>UV#)w}g6gHNpx@#hAa$^X}3Ok95{E%p&iTWKO{LyS(X9COaX^5^1WR ziS=`EuSTu@nM59UZkL8_$ zY?ey12)60x_@OpFQAlqKdnpSbkgvg}6dj zuNMW$x-y|-5-(V45<287OjI3~uwY9#BM=J|xe8#@zV1EOYL?|2?-|BZs@s=NPpy4()$5(*sJ z_pvU!uc-guxTohq|LvTS6JiyIA?h_0uM3#LVkDqdFdyE3&d{yCSmIk3h0_1PTI8Lh z9Sfq&ENnM(sQgQCUE5P0jC3y-rU7F?jqm9b#iGl5%&&;_c=aV-qrOP3(G3cCJYji+ za~iq~5(fp1^!XpXSQ3J?STM_SPIe?h+AJD73&KkHHD^{Oe^va&_=8)W)yUsG{^n!4 z@7k3#6Jo~ysAI8mXPaa>#ZKc9%W0&hM%hc1+lON$GPVBggN&4a}i-^5K8Jf_s225`%sMfCcmyfPyFWUic~4$#etsM*FdF^caQMQ zYMeJ&A9r}qCgr2`1K#6uqGlhIV6Ug5|L9Aq7<3!~h%^~?&)!lld&OT`?u>cf-TJi| z^SyuZPnx}d(kI{ZDaT{3)cQT$70q5Uc^GoNrSR8w>N@vllsaDj?CVN^NRFWeQ_x4+ z-6h`Hv^jHvKE0b$@cavelq;3?qb({TIGsD;U$iEBi+2Uhp}<)@EAj62FNQ+H_(;&% zbtA?zT_=V@W7>ugLgPoSS-_j&y;Q;m!~cogC?*t4OnD29`vuhT=xekPo88wC^K^UR z8aGu=5X3wS8C9sDH6OnjIm^qP#X@qnkrvTMiF?BgXo|im(x}Qv-J2LQM{65(awNeb z%=uV@g6v43buEjdM4(POpT`6TAU-BpAH%$bR81p4it zOxIMUa~h8@zEV%g%}avv7jhG>&Q(In{1txTDs3%aU=P%bhWgJvc8uo9By%?DRmR!W z2V9&@vRFF5)eGm+CTHpO&eA31scPdc2Th`#O^`gf5+0qyUH;+c{^8gDVS|6@;^1uR z)xVGOYdZJr<}l2H&)!r8utP#>l$?3%=o$Gvf~(H~43OzdT41GQmL;ptrq}fIhnv*)cKaSzKiT z*;}nG#CH~QDnW#0&uWy6ib%uKHtf?Zh~KvPhB(#$h45hxQi_rIBs)f##g@8FW?XJOFrJmNG9>mUX$$rjR&UTPYlTJ3HYUd`szVCtFN77es?%^&z1jEWDG-+9)hHn&sjyE+qH@J9R=% zU>h(>W=y1WJ;w%hO>t6ba*|M9vO?1rDc97{`MLyJB_63d6&Wc9e=kEy(?~}bla4Qw z+cN18H`~HYOOlIsl$A0dz`dB%+zIz;5Ej)%YLcbum*lh~jBXQxfxJ>7&+Nv;a-Q$a zZ%}{iUnaw;qL#XSS_S%=e3c<(7P~!guAAq?>rR@UG?F(XB9D3D%V}+%MowwG z6sV?kk7ph>?E53hQej zQ%Fk_6(nc@bu4z~A}SHmB<+&fxFl#<{|;{QeG(YUJkQ(&DOtjVBvHu+X-aBB?(>jR zYOt9452w#y9EJvEXrMB!x=qQ7KUzI{RQXaUdA{sm=@5M*hp3FQ_t>RF{qm>1Zg5bO z6)|_wTaw!frKIu9_DqTHhd-8?aRIR7Zd0C~Jc6To>h`xoU#ovB@JJ!-8951|-mgo$ zWg-go7@Uay%8{M$AM*CG*g#VzXHnR+Se)Gwldq3R0RSJz_tR!gI$;p_Z{ zL%vppq%$)ry?@YOMS#poDz&L2Nf#Wu{NMPbvyPo{Yj49yl|F%eaaufK~8-_D&Bd34sSsA8SKoNXvPCb7dZ9Y3##hp|k=$1K6{}$`t zvHG__ex(XQ21{90-YruFyCaqk`Vt zn$`F8QtoeLnRC2NZbTZXck(;##d*LEoebl9)t{bd*^Fyi2I5dV*6Q%#3FhP@aiOFy_rB4P3CsyAh1UfwmT9le%Z<32pnsuzM z&hRIk9^nqI0Jt&Fr3 zXtP&~bj149YFL@1Xa>CA?qJXSonlHuo`a z#+xEa{uom6f%GU$PcsX2c1+3e7<9U)R$vqI#?zl1pb9zf%-&R>4rP#g9BSXG<#Rb? z`N!*qNa$#1dh2s z8nk_mRo&i3o6;n$GU%f(Zd=GJBEE#sBI`$xD*^-eR{|?FtvNby?OE!3GUua*TSj9o z*PSV-=nnT(-z?~KEjr(?upfRr^=V)=C<~K49SN)1y`71ywKOMd6?N9$^ef_ zwB=5-`ah)_SplsfA!_;@OMP#J+^_y#8wX+xNkT-ri)%sq6uLBKphw3(An(5FSh z0*YI&u&V+U>=hPaKY z#4g#?CE4ZjQKf&Qbo%q0u!AY&G$+q_t-Q*60xGa7F>gM{tS?_ zfwoQ)F??yJ!BV%k>Birxp;_@r>f>m281DwSmbLnkYZlXwwemdkaTNc&Jr|DtaRi2{ zj>>%;xn_wdmjIlAy)s}}a^BLw9tUYwRdE390c4VP%s`N9p#L?HPiUkQ0}(!AI_&~> z(F60xrwtTm2BTuY*DMpHL+T;;6X+Kj(ehF{M#&f@V|U%t|wqRC+U34^YOiI-|_Jsakhn%UHUfWik4A;>e57+o6I$V zbbJuf-(;iYO1}aGmkxpN=oDtB2W4e~;Pkgj6E3Yy_#mDe_v`)z*lt9(iXx@Qu;@7< z2mUDBLf3=T;n$c{z1rM9fw`2T4rtjD;QwpaX zXIe9fTB}lM+Ul#k+a^nZg1%L&5m zZ|LI=?}XfgkbhF_9lDSb_7+Pd*$*NX@MotWgAf=Iu4i+?^;Fooah_TI?Z$L5zw^># z`JIzS+4}8EIU}VQ)7gl`-`CSzmKxcV=$Wm_>7aft=G%bsg~LfVu?TxlxT`Jr%i9A* zEn~EqWad=naCd)xw%Zr(K@PF+-%JMR?yR|@qw1dk6#k*vE@Q>Xi7Y-e1Lw7LSsMz1 ze=F`>!@guRx zsH{X?*(6OW4PQA$s4hgBaM$YL9-}HNFm$h5g!6gQ{jn&^9z2g*0Ua)mt8nDrv*Qlj zYgg*i1}2>9kwkbFo&Pey?Tr|ghzK9@3Qd(y5Uz75wb1!$e)_2dkzFJT5hV3~DVJ1b z><(zb!XDy%iEXhcQ64%$1N%XvF*OSF;XGo~JV`KE+A@fss}kxGzW5Bj z*5=3Z>)oPQgF9X&!+UX{uE{sUT||+-D3oq6BU1v|2}a0r$49FX^4ILivx##EuRQr{RkueMlM^dPTwSK3+=tLcnCqUd8cqmU}F-#stVaVNdC zt3#>R2yk(mluU-d28M*44t*85H+l9Vg7KZXh$w7{iah}6OaYM5{bD`9zTa~S-o#&2Ebib5Oh^RA=8l7J|pG_-&dX5Gp1;t+O5~?K}@gQaKPegje zv_xY_d)F1}4vER`Gjva1k>mu^Cddzkhzr>N`}ek^f1VKfvhV! zd@nCm?9c81e01oacpWz(-TDiY5 zQvF!Xw0BEw#s=Ysyzg3Y1z#aTeY`0dj>jO{8}9k9|N5^P#3$%}HJo(fI81yUe(LL` zWH~(uq$>xW-%P-`Kar zp|bIiDRDqloDj=m2BuG9`I1guEXw1>s-YPF9cFt)19ORc{~vqr0v=U$wE>^YBn%`l z!%d?^IhLTprZN)~)h)JnW6`jxg+M__GZ{z?@|E=Eu`8Lvw6s zDMh<0)!R2Zk#1@DZM~Pj)zhPw2Cx0sR+UbrK!<_;-P40(QBIyyNpJqgHyEow-XFX+ zt+NLvXlvb*NVH#RYu!2^1|)S)0jWP1-LlW5^I9@72FWvT#N3b0X~Div#|HW~q(24f z$ku%3I8XR(CnlRo?KIloUp;`1z|RnmpUkW6zM>b=)~?GlC!>S#?#wW|bM=o)>%ON3 zMwnA=ct2amGH|9E80=WzPGy%lxcc~E8y2aN^J{Uqk4Ho7N$oh3ygD1ve-&&hW8}Ww`YYHC*ynR zu05#954Rk4G}wHuJ$M}4qi;L*vDyAb%kr6N7to`_4Cu>OgeS3^#0eXD4aHkBWRd0J zMc}-wY+qm?a&R;cn|``Jh1Puy!tU2yg_p;?X1_di1|Cxh_Un2D%(}ZW6?*ivqjLeh zFK3R-S#}^Wn9hys_4XThbA?>nXnzj&tJSq)iw?R3dfAHN?81SVVjGVYLQ*&-yd1A& z&q_jPxDUMoUbkJpVnkf0&<4{=eWx@(vRCk???>MW`-78M9_h6|yMtQ#3^%^dB%HvK zT}Dui?h&TYHpC`~i%*T9UHTeOIym6Oj&HgI-6(JmnsahmDTu`MDkvf33Ht5mYcT#R z4WcG=I&n-I?re@_%~;l^4cAz;Ef5uy6_1rM+E_y?W3-iu_UqF&C9I55J>E>YrVa@C zMSp{C2pwQnc##8phtUV2fC{^AfQ`aamtTwVXaO0ELRwIP!J$o$PE@#gqF#E!|8RPf zI&1GxM>^_OBU3(8H?fNpALaX@pt9YibrYOwUW3h9P2U}J>l2KsMPFb_;MNZ>@R<3i zdF?n7CQ}Pck@Lg4mc&er>fgkZnG@B@%T3MKaLtK4Qj;f$Dml>x-FR%K8WhSZ#aGD1 z=_;lsxmcYL+QCVZ6RN6`Y})dPD%yfu)9UU@QL6LB%DdQ~i5CcbI6N(wjV7&Ep9MFX z6d{kuEt-EpR|n>B(7ex_>}1tb%(0%(L1#PR1FKFjrZ|0KIS!o5E`VzRR*}6ZLTraC zti)4~9i5GckKfOWPG>VM+5ZZ`!;uUE~lNN%R<)3} z%fY_$E3)m5pQ5br?)|wW8%}qm_U;Ydu919RGo1p_&JPj|#fDQcHcZzX>wVbtV!c6% z-7px!>?Z4;W^TtQla79)dVYRY zKP`lMe%Q8kqFO^v5EJKcIvx&}>XTDTb(~T$4c$~WwcKeM3J%9?Hh28$N_H@ zgX1Sq4!UVc?mw`-e>1HlH^N^>9w1vMw3lA?ma_F*BiVHk!STT8LS92G=X|emX*>T5WJ&-Aim&GUvLJ7O{nNJtjMP!GggaG z)1%*rjcIXIv9!_ORVS;|g3%)~I(n ziS-T~ru2RyPIpZte-jg7z#;3z0o6DY0f8}QB3pJl=OYOyC~c>s@{F& zH76I%Fg4mc-pm1xWpANYNP%cAi_}25$2sV=S1N&{rQVBC4E;R%eh6HO z$Mue7w5aYO6AoR7SYf^qE5`khh{mgsfA`_`&TqEWom3Zpf}zSdvgR3{1{f>KUHuhg zVX$g~Q_aNCJg9loZ-62323LxA3}|5-XNmcO)0~lF;#pJ7LI)P2pvY|y76;{dc7L9e z6%Gu`HDPggb*{(5Cq$G!$qnI5=)N?4A97Nvzd`lLT^cMvmFOoHO-vuUtZArq(@yHZR_4MG;_vzdI{TlcEv7hXugfS&r2$o~+j}SsF5BC_dTomMu>YXMKw1iI$hA zhj8B77{KI)`nqNeV;vjNf_yk7vc-c#tUT%MSY5&EKR8g*xB#~^K^eonN}LKK!6oOwy1 zJl*4_cL}NoV6@j#W z9z$3uylhLeQyS%wwZcxs+c9v#*3o+OX7u1Era=jN`8-XU&}|zqIz2Q!a)-dRG#!D&#;5kO-28i&BI5IPWM*4C?1T!~PEWyAMggXa8lB~9>ey*Ni zcFN(w_y}rxNbGL$f(}kj<+MpWPWP+C>r1b_;$fibmdh&sdSL><%HmlvN+z0DC}`Mg>CDlcj9e9`p;0;71cRZ13SF)oSuRJk{I)r-~m zNl4gEoyIzl@E@Es23FOLE~7<+Lw9^ltM_0A)pEKKM=H{d+j8+)H~H30fpt@8-IUP{ zmZx!uLRNzC83dTrSDhAy3QCi+EdJp_WI!#$jcj0sQGA9j5Y+N4&RXFAMV$3kE{ z6LW`8o{LOM!Ry{J@J)g-9=!98<3VX!@4@JOML=cmvCtC7~$jn=*Y6Vu38+^B^*V!whOa<^q{1@ zl+K%^LS16)9~aWGA?#}ySc}y$97!(2hdT$*iQ~aZsV+QlX~aR6TZDS)MyQu=gnH>l zsF!Ypdg(@}mu`f5=|-p*64|ly8tNsrq7UQBv(=jnO$XPd`9zh)Ocxk69)oXKQKzU~ zG`{GW1Vhme9qqDhj{5DWef0ENzXARC*^UkPtWQhebuX6q5oQ2hmDMNVxmQkl)cGM$ zE*^H)AEd{3Sg}ZSJeOz7fTR25sBrpzy&E4Dt3E)Toq2sI(*ha`vN4sCV>EfLuG$*th$S@0?ZPDgZuX+o{#VfbSeJ!-&`o6tx zGrk*T7ul~q+%+6Ea3fX2!}ri;GxA9LxCuoMhqja=##gzf8`U&~M&VO+tYf^q=!0An zuP^TuP0DIdj`dTt+Ryt{ol~2m_f!up-Cd%HW61V&d=XwgMO&VuM>Xmorm^Pc!wDN< zUC>u>QP83Tih{Q3WKhx2qJ%&!J`iH@0kB!@9Kfqf9y>|D)su`o@oINT+o{(jL;|b8D?noXd=JnqdubrbKDo6)N75=*9=! zu}c@bM$k;m+c6|u>~^eAq=H?x5}9#q$klKHE|h$=>e_ScWBMAvcj1on;p|lx82 zhEz#f#EEmzAHFsQb>gc8I-H{w>!>qe8T;1ge^Os!^trZcv#^LlnBH=QIDN}fRVYnR z-_rbVmhWwJuIf|_!}3h*;u8f%9ZGJ)Z8XteA-Y1$y3w6nBf1mEdVD1@t~W6!jSU|^ zw_*G>bsYw58V0DkzF2f99{ppyltW=e-TpP|mN^;m)Gww!CftP~Pn#Tc1t;69ZpQaK z{#*4K-Iz!-z8e#cqOvb^c0NkV@Sql05<*xh6@}y2ZR;KMczh>Muoa zM_rv$?2g1HTr4`mn&i>Pg3*C~W{rIaQJ3%mZG4k8gqj1Z1KLLifTJVz4$IhzpE9aV z$I-8_H!qXLr2f&h2g@6Y$38~uay+&5^oCxAPk)ke#Q*t*zI z_}W6Q*@-N~4+X3o93tt_>T+Q8kptvMWCA7v=W)iHtEyZ6tMWt4yfo3P8=hKk8v6B= zQqS(RwBC;0gVh$zgJ(jz)q0*nfl>!f)kB<~4y2B}OyJXLg#y>56$o6NmQT18?-NfCqx-`47}EqikAU(w4~e!5^nt0(!&e@^=~`uTgO54yJ1Gi*g!!Xub#{(gVm z$W~A4IWKnHj6r~b3WD(gHe%zv|08Qb&`OXmufdbyk;k%8d3#JZJ%Gk>GdMCF-9=k) zVkg{=&<$Q-cX!iGH*Sv7&C%*zCeA6%#d_nls9HBBV`PSH9Q68o2t|cs>{g3i$#}E} z*D-MN1IGig<7r)52tt_i=coF?0TENo5Gtr%+29#=Y-pmz}*~fO9X6nwT{~C+NvX1$fHj=rEka9 z9lZu-R3J1ky@lkn>{2` zi)%Av+6tL$kSRs~oMhT%$&~aG9?_6UZ6wmDtx(bD`Uy*-)V?J$Vk9ywiN>=;IF@`H z6mGs6kti%Ag0k>UN6)A*1cOYikjW02hUxpwm%RGsUYT}Lwa`Yr2$8mqYK2Jq_17$s zoPCRw5+f2$iITNx42y)75ULL5%Mp=KH&B_NIgg9#1_XmhSl*tJ43Sd3kZG4kKin%5 z)kDbi5@bT{OTxE9_j{#ORF~5FmTFjxRKtW+o(9|5qAoe{ zh($G=ByvI`rxz!r@9^lKSQ2@Xs3ww3yC4%)J`!rTSKnh*@Ql8NN{taJ)e`C~Ayk@) z3W52er6;N#)aD>gXw+8xA(`;)&MCtnQ<|6F5ra^lM}(rfNJ8zPMn~0;q(Z~Qx#zN$ zkL_D3XN*)%s{rj>fEgw#1(uw9s*jM$ zBgLXBNMeP(dW$6%m!N28FjAC$JDDRAOIR*poTyFGjlp7#CHn;H(<@frCMp$Tjs5p6 z6c=EuOtAD3k!)#}L@6v0wgG-U3uQni+rMFCvWpdnx}bo0!2P%bmQ~y8>c)I+^OOOR#{B!{i3=|x75ZOG zDp(yM75ZN(RR*cbi^}me&C_`L;`hI4ok&$&e3np_84!JNuNgoeETtMNrTRF=IC<)} zIAJ7ObL(Dk_i3b#dvtVnU)M%KCW@hms!Nyd7wj;CvKxQTUm(=$wO zrLlDr0tY?A@JK<&LlHT$ln*`h7ie)UB>1TqX48;Z>{rAVB6|EF_wR{yvRpc1@Dr?1 zIqJ8-mzitisgn$`ud(i}tN!MOTY6V+R_CGtcoKWXm@ay}FYfZp7kufjcNU&U1N~h- z{hyt8VFvB1JL#@0@tKEx;SUmh@G?IX!pbtu=jbgAc&yus1-eON@G?dlFay{Q%mnTO zx`7=)AFvac59|gO0FMI;JBL#$IQyyDhpk)=dLul~gnC}-d?l46q1R!=!&U2vQ-+Tp z6pdN0rJ1qn>3~t`wY#`>rQ3{&KL7Tu<DC@zgxS>-iq`UG=9|!Y=L^{wojdn66Ig8U7&d#LExZQArErxSXJmHgl(>E=Bqu!Hz7Ki0V-E_AQ^J>KECf6o`c9qiN{ZSo;Cv# zp(oV!I{wT$#Ifch-gUWe0+4;6gm;cX}~6!}jAy`%o}Fx8>qX>(~PvoOr7G z18>$#xkX`fhokNy6bY4$czI+>!>s$9bQnUz==c715)UWw7C~;qlKb$&$c$68wf2 zL~{{Ch&ECf6az6v`&(?-{QtJy)#gpweYmLZWa6Ul*PXCc--t~ixo8E52XSEUd~d>V zN}-@44)Hj-own8^(LNG%tZ(V{OKeDpy)ivudaniZAljn}&3J;@_+VszG)nn?OXPhD z=w9r}K>0xO#+sLg}Q`$j;p@TXi9*hDHLUSMGEoTcWlffan`L-OFFFD7Br|JcE^F~0K)8nG8 z*79*QJ#fL%znxxl9DOi7ui?AT{PiRh_P(!S9v-x{$S;T5sq|?JHBA;aJ!~{4PzI?C zkq?h+(}TuJ;gW*;`;AozlpRc!alb-j)pa-frx7$Z=u`W{nj? zi@29DcwHsQToCkqG+Kygn>?ugWn2z zgV2?^F9(ay#1%z_Z3~-S*PS8}yykYOf?nPET9xKZbp{boY*xLYT1O;T8o~S;)#g8~ zHL@y4stpP_zS>N3)%RU(mhHo4N-=VQDso6sTaXz@58M7K@{~fwLpCE*8ed^aA_n#f za>d&TXxPZ`Y3@`CWCulHaLG= z%~scS!y?gQm_{DX9Iq&^)8wTVhA(SHNkMVLHRQSuFA!Z9(F9(xs~19}ClEe_y^rLR z$^_B(3Q1ePvFW2Y&7gg$7?cVFj&XcayX!jav%;Vk@#EMadY#T11G2r0ei%&~bWXR3 zkFOUN5qo$4Nn5haSxb|>=CGx{hOtXwN?}~__K@A<@}a&@!K*SK7%;h57T+&Bh8&E7 zh2<2j8QlTtoa(R{60I4X0TqpC!7%>F8nyEK4YK?APPA(Zl_wit(F9}wX?&&Wl#$9d zAfrIkFry+0>badTpHzMnjWh~ab%hCyL`9aJ%qK?$DWv(N=x`h~xs%dGGpA_7I8g|N zCY+wWpCZC-w(IGKsRQ%4-~?Z;>QrexuN2l3g(9sdjcDlo%-1mbz@vZ2mt*cF#Yw{{ zY&jXvh_X=Ogz;o$34S>0cO-*o8baN@x`K*j4AOXt7`8y& zwA)Oo8y_tEC`B00NHk=X$#_QeB#o!glhhw6MHo-k6Ab1Ua`T!8g!&K}S}u%xJILor z2vm_?#bSrvbz?~-<_YAZx6WYj{H4`Kq$z6+KJy-3X(%977OU=v@+T99KDSpHs4P+$ zUs7?{fJW3EF+2i=Uzw&A3uaoKirQu4U${AI!AVE)C^$IjIDHKpL*!@Ayuu;vJq~aUMVomHb#c1c6tmk=-vZ-K zgW%{MfyT*V21d_ED_~@*(fQqN_n5aN%ZK%}r9Ky%uAP`<85kg@(IgDBh_Rikv6(B! zOr^(>+Fmeq*ajOg7q$rDbou2l=UDcdzPsqs@`=2K5sKpkQsy1O!2CMb_gE)O>iW%Fsi zSU`s#$nx+}dH8ztYP|>QMZT~*U6e=XV_36+cxhh5Z+ORz95;y`&5jv2$qvA_=T_&q zNvG&Efff=2QzyhrH7Q>#2tWdyZX@^iiXs=|Xt9t$??@S#rT)=R$CUXRzLojZ$)4vG z%w=)vkNJ}9C#*ihu^t~JYgxWx4AtnKaMrHM55!uX#m8JS`9kypX|B;IZA46ry0b7oN9y zlUkBmf-9b(VKBK;FpQRSlJI4h4m*H$1zkeoK@7aX{tS(e`xGa{t_ln3SP!|#4R0Ux zI_<|?6Pg@)p@hI)I&g2(=oB2w9;Z2QL&8{kcOaPX`knM@ zWx|t^dQ(zOWUGS-+dy^N_I`m0BnlRbT5=$UX%ja~w1B`j5xNoUXz>3d8Ja$V3hF14 zvSE+~>TaT}u^O43yoP}{-UPRv(bK__^@*0$%-!Hz1mXS3 zC?+e>knnBD>G?|ttw}5);g!%+5EEV9cFa0FrtJYd%Qo}7L3@I=M^GZs&PSzlcbxNa zcs&ZY=t!_x1g^*7TKx#hb}yA*!+EcRMln8w9W8)g))1Um3##+a?O$M0G;jr+P(>Wx z9lqeedx;;joVK&nac>~aj=xLNQf6FtJ;uxC?auJK38jvOA;`gR-g|Eyv;GFpe+%w+*Bl8X7Oh`Hd zV@XnXU!1zbMs=GN?oEpDO^WbMittTD_|aA{FGW5e+ea_qz7i?lOG1A13Q>^mUXu1B zlD{$o)J<5EZ*lwTI&F@+3sIInRIbBUiTn+KAFs$zm}K!LA)3rLY(ivjQa8!+A*D+$ zlrSZ_5QpTqI1!y%^;fvu-tqlgZicH+?m{ScbE#vb7nS79`o^1hVZ*1tPL|zjw`1xN2H%X z7S15`;X}8gs&4)-9FcdS1;x(6CES2R%0T~LZ^g~+-q?-|9lVwuc!7%CCE z_~+8Mg!lSo!n^lMy9?Qbrbz3q`Udj;ALO@Z^b@1;fNFH$BKlj3ztjsyE*jr|hL6Nz zWSS|4bo7{Xf53xHtH;qJPf5UOW6(d$KE|t^Z=iL$KijI}Yhd(skpmm>T%sZSc=QN? z;-OxEqA%JS|>9z~j@JPD}|pu=2BSiiv%A-SQ1B*MVR`Td-g!kN>mYxEm)K z?DF*dJy*vepEy3YXEXAicKBU-m`BEkq{EmOhm}*d+%yQn)9rFRPR5xBn|<=URP+71 zyA7o}CC_ZAMHn1`lZImr%Y5dP!cM%#A$mb^CMoT4#Ckn#+7w^#qq7q*Y=_u5vX(~9 zK77Ct>(4^i{n%f;i?=n_IC9euQnC1k%jpM)EnHdd;VcqjL(84Se$)--=6rgYp2WcX)dC9`5`y zCHJ9UoC`js2FisFSh?%OqZ|?y^(BqO#`#2b-yQE)m7eNhJ;S$<8-1OzGzT^k+e}y*C%3sMR0;h5E(LH}OY2q)o_yw`%KIv9DDGLDZK})D6RbOG;=MxR0U? zCJcsS=R*kElkgngRE)$-xs>@6Q?SUi&U_8Wg4!m&eXN)q@w^&Et+` z_aIMD_p)Z7IWPfI;0?7OJ_ZVpO$YvS3aN77_e7d_bL|1RLxu~9?k#{6P%#DIAU4jk zkMZ?Mg)D$ezkw)P6W#+!*WoL%^CAJKC{~ZNWbFJ16C`BC=IS||ijF1)ajk=Q$~D$t zWPW?v>EpaHx{7{g-ZOdt(&-tUEdCA>e^c<+s&S$|V+xP9OL3qT`RLnUm~!FZ(!XIy z04w@Z=N5cbmnwp}uX+@HtLU?lut5#K>_j`p0eOY*1I&|-N&m|FS9QBExMHy(MkrB$ zR;uX2#A+_~uhboJ<^_kP(E&~NDL94^O9&}>>FrY-6JIXLGgC*S<5i|)ytT&rPp5f&B{=5EVrFVkAdeF;+k?3wAg&U3xz2HJH|i-V_YX^?1k z_=016L7%L`Hn?=lek7;~~W=$qv==exaTc7bPiN1l0C20q$m&Y$3UR`k{fJV`GG2BCAA zl65rKk@JOP{jELNJyqZt^YqN_1qu`aJ55 z;+XiM$1(B5UlF}hcc3Tz^Kegs{y7dMxQil8endZT<|tdDqg-;c=E&Y<#c6&@u~LL5 zD8dtnaDodF4*SvwV`LN&_6iw^uvbD6;r~haW##-eboliOIJR7u9-z@`bkS0)&xot( z%g@j4!RK~ieH?XX4ML;Mf(>%iCE*sYVGp9Z`z3WNtJ87c5v)+9A5ZVZp^GQN?D9Ga)^hd?vP4ovI#Tg&b=}DX$HbE;?b`5r{qpoTz2-Zjut+OkqL3IX_J5Z4!-(nbtpopszQEk^ zpVWf716M`Yg1UEfVae(~zsPal4>A9)>l$6RLv*cL_??6)4U=t$$DZDVto5$lo#wyL z#ri&S$qd$o6%8PW0vgT1p3a^EPUI};r&E2i-^BsE)&je%pN35*{M#wr~)gRCD)UzDxQ_lvg`cqGI|M?1HS5zFvs<7j=t?H3pdA+{ceu=G19OG8>0U}kzio@ zFRPG)SLTd5I=Nxks9gOOj8AVuW7ZEXqR{fI| zga^A3W%M!Dr6=}fF%5P!1`*s~&&BQ6Y_JZoKO!$}CN;UPZoF}Rrtw)218BS^BCHZD z5)77~zC^b4u!47UXi8Yurp4Kt^b=JHJ{@}-@R&4pLf2{>Wfa#1#g0>h_ZZabJ>p#H zXU~$h5l8B8rX(-|&pdOJZprGbs*D;<2CvT)8i2%K8pv_qIp`+i#K4dr;ktbI6DMyR z*%%k_9=yp8JBF!Azza(sfXw+{ntavSF*4^R-~6Mn>zo4HM4sIkMlhYCBn57}Ci2Aq&Tp|3OrCPx^jTEF^`K?{^>WdKle` z&peik4`o3OW6-&wLS2sS3)Fw1@ABbT{ST<)OFz+-0BOBgG%gl%ox?+M#$EMCSO_j2 zg82_>d5WvA1qO=Oo|hiL;(PFRyby6mM$nTPoHqf7Q{pT_oGd>NUy4X84&E_~I``lm zv?Lw~-a%WTYJzv<1C|8um`M*C($YM)dcNN@Dp4{Rhlm@sY-R)mM2#KRu= znQ8e+CqKc2WH7BIx7vh92f{0&{RO^Y)0OkZ$;b(aaNKqo9M^=TBj^jh19~OXSRcY; znIAxPV#yBsnXt1s5&R8Fnzp!{Gq{SBQ!0YvTDBLxYc3^Bc zFKojWjosKH6n=l?vDcQqEnJXqc)TyJ^i61^ot{|ql1bv+%S=UoMQO@tmi5%kIk z-5<*YUG)+AFFBwC5jqH+cO80H9;?aqw_-S+0T?^bXtDo>$^>QA6@nkoxjy(G&*8g9 zycT;NC)x$^hgtE<_ArIwYu_%y)1l5HKEI4l1rPgsp1^akNPWum6`dCv00u2<(--hQ z4dnR3@8aAvEDpiO(b**gSW^EHd8_-7PIU8`6B6l>E{=+xmeN`N2(eJ%MoyBfi-rJe4zk z5s-8z<7`%UbdE4~Fm7jD&$xzh72|!3TPtPw zR~Qd5e!^&Hf9En@!Z?93k8u`bC8MP=F63G)r_)7i<^msL#LP+1Hbx2fpirFNzrpeh zVze=iW$b4Eos4@J+Zdl?{1fAMINWqbH{&A4A2L41*v$AW;|Y$(lGj3il?^?OqSP?f zGd40FVpIaspOevGtYr)_D%H|oJ7Wi9H>0wM<6$%yGZ@{B`HX(XTE<4kCPphCXTlYO zX{!gGXt0NjI+;F~pOQU2+l5Y4DQ17|hot`wrrl0S?`7P#MAClduVVKm#x0CH88@CU z{d0X%nmK)g<(c90TzVOLw@mi8^Db4$yPD}_#uUah#tgp*r2X#ikg*tLH5!o?229m=UNfnO$*%ps$`+S=H+RKXlD6sa#M}?z;4n;_`B$ zuf(UoXL=AX;>Uu9VsDMae-Y?fq?Z9CKIz&Y#mD4Daf3F1YwM-{XU)257D#0y(+jHu z#==sgqNHMB+v@foqZq#{455DbG>HE$nYK z``g6+(xym%8=2q8{AT9+@+5y9^Xr+vhWT5rk$l@^iB0UUhW)K#e@muG{z~STGk*p1 zlbN5#xSahJvcFpPw_>V{X9@FXGC#ol5c5y5d!B{NS8`=|tNt|ajMN{hXG=g+{TPZL zU3Ug$yRhh*I64qV`{U^HIJzv3E{>xMsHCW8?gfiK7jsEqPPo!aJFUL8-1P!R%pPd7z|HQHsh+ismEDIrx>-_)Ch= z$SX^VtBc^LhTIlbDHU*=jeGy>sw#j|QG{P9;y|EsSlV*Xe%u3;g~TtZP>O-muD)8C zHWfEfmsS2{FUFStc+i%;BzxT%#V7l+3bX;F@Kj%#Uy6jMg=Qyci%(;c)w?46!Jyls z_!Qsr_6Q&IRAndp8$e6G<57I_-wZmMKYn*4JjtVgCVmCo<0>nY_1)^fb~3$cZfrZ) z85hrLjz`9Vze9)G?e?VM!-u-v?j*Y4kOU{YeK`FaZXXIJ*hxtshQi5iryz8Xivo~W zIFT=0(vfiZaInhXiIwxvHT2nZ)bm&zI=OP_2C3Q^YvEhw{lAc*E zaU&zeL*>5eWt*Y`{XmLw4A1~t4`rch?N0lE%WC&&K?zZKX8!~LmT`Qi^grD zf&z-6o8suYI2v_2#(!ZPeL)PJprC?9`A?vnMbS1T97l)Z=*BpDMI2olN4w)_e5yJo zJ&d1XXskBG(BtE14ESRBa#L?Jg6O$e` z)W*j(y#LtxqtnBg82_k{Ry){BFM9BWV9FZM2GHV<{d+9` zR1}};|H>#njVs54rttCY(Eq$_KLvM4?BH>@HC}J~M2?$}GvCL2YrLNJq2xc!d`rI6 zS7PNm#OYh@Z%GuN?BZC^B;WNn$^P1kC;8Rbcy_Wsi|>!)PXJBvSp4=l{wmP!D1O?$ z*!Yid_%&iHyNrkQxjf1r$(sqFLyKN1g(TUSN#sr-&c@y`aG3>xb>F6UgFLlNUT{bvG%v@{!@v^?`M8kV#vZLB~9f(>2HckpCnnr=@XyiJ^DsOzEsdV z!H<@I#hVd6={FU$0kq0Fxg)|SeeaFpQ~FDy_>|sQ&<2pglYjeLk?^G7by0kxYu}FW zM^QNVhxt-U@hhq4E0b&O;HoXguVGoFvzpKgf8}xLh+Ikn~E%nT+jR z{>hI^ev>J&#;O;Lm@4>>4Z;!}I6?~3qm2b~80bbfQZzE^k3cvE>i z5SrmU5=(JBF;d4Q!eq>X+ffSznFZndWr@74*_&0#@`L_+0 zdQWjkr0^u4^JpYIwWlqJkHTC0B~g5mKM!;?|LHh>eH5R@hu-5h>aLZe$85^=z)j$f zLBbS2xu<>}NuT=LP4I63zjfBY3jw`ytcdbQauk3zfL6cv|5YSCkOs<5$bQNVq<*ap z`6~nF-898>CF7;IvC3s1{8<<2V-;xffBBuBoEgB0+1JpImJ$_jNqJy4@JgB(;>ypT z;w7ZG$pazLbXnz6a8k;X0i=|=5x>EFDyOznvRrF`WM};F=Vm_nU-GYrd}NnWKpRnf z=NGa3b#`cQ$yG^STFzlqVt?pv;t{+6)&a>nD|mF`BG#Dm|AjW3zq z*JVlf0EcVma2c0L_Z62iUMTVCwyZ%)7{g|pEy%g zWswf~tBLbxfVR>hxsvrrJk*{Vqxcklc@&@O=UC7Nkn%x%#TE%q{H7?r3c4nWPd>+h zHh|d+{j^-%8_$Y_1cm$;1J451!k^W@oC`WHN%GTxKL))9{^)DkmOk5(BXZDP4QK-x zZ{Mx{IhE)8R`~XTk?@qSRiG)n#UDQ?mVZ2oPyW|M@u~hz0PT+oZ*#FN&Wy zN22(&4wMR-J}*Ih>c6~$BjL{hJE{iJ@G1NX__xxh{$tosslR>jN99}$ z%miBbTQV#Xp5mJT+F(9$(uPO))PL54ZXh zel>=F_I#sqcBN72uQ00S1&livE;R0(=QnPHTM2%P@vEqsXSnA2joFLl85Ii`85RDL zx%flB5@T`2B4hS!B#-;j^4at&GJq9+mr*gEa6BGaRT>ND&P8HHNX)3LFe>NIHmb@N z7*&gB8-c)VWAP$H1em=DPNhasS%pznGY`KiWA40C<2Fk1Hl%o)|5C%hV6G9ES6XTq zb1MACyrPAMzp5BN2)Gz&R2e1s70sCECmm2db;IDX|5r8U+{PPwXHU4?VqS9hx zQ5k;K_*E1ci>ej@i{~4~Rr8Gniz;VVfGnXukPUwp(4Q*&2~-&K7L?;xWXvlrN9jSN zs@X=FQRep}zcoe?67d^FxT`QKDvY@cp^^=ud<0&M82yzC zZ!;DZ38*SxfK2%D1E(B|`$#8X6hUc7uMDMT)Igmz$W~1iVR-;z&&RLGC`0D(gRAw| zs3;524{l|F#SjFAROLq|5pB`jdB$yUs1oeii{~3vCB^VI8?N}jaDm}3^V82of5y|F z%jge9=EwgE!+!_OuQp1mW;x9#`Sx|}wQ)(2$Uq$g8V?kA^u>ka9+~a>Kesl4I zu|QoYHz=En=F}K4A_k0!5h$O7Rs#JmgvfJlGs@@9F~mb<1C`#7fc~N~)Jw!$1cpBV zTSb>;&+<|t{RY{yVW5pDzD@M5aKJ_UEzC!|7H(EN1#$kyfHvSG^G!J(-E>&uUS6*} zdQj37p5h&QuIyiJK(fax5xx-^zuvO;hzysxM`HZ^-&zl~ACUahK=tEI_8jJXuzl7@%`6IcXJ}(jv_3O!?4WK1w z;rS6h-6eyz_#{_n6raW({wThXb7Ukujq_7LTj2?tz8&Gets*@5`zT_*>`Ff|gj&9o zw!~un@HcXNV4>x&`)XM}zDW`-_sj3J?j&0JZO@3LOUX5XHh>o2J}#EOFN#n3Y62hP zDm6gLR|e1kT6!zLRPwz*;@g1H{6oy&#QY_|G4L0fCgpdQbA6jHv60=I7@HZb^p?0} zdNYBP-Y}p@??xFugVA3m>F#SKD$^x8neRR&=|cABWWK`wI~e_QIi6c3e%qel24&`zvIB`RuQwK*rm|d^hvm%=fe2+hsVTxywb>2u?EBKjnK)PgpEO&p(cn~Z0Ks*BdOS z(>cz3w^dIWbxx;-)1fk>UlYp_U%w04-Oore(PeNuC}d2~r2K*3OZlyMo0;FusM@5z z@;HC)3aN)$Mm0hDD~t2j&U`2LFKR#OuQ1MEA@iFU6YSDoL7cxC`JU<7$d70Gl$n$- zppxtP&Um`d&(A)iUfNlo9gLxcQhp0Hove|f9FI${k^Na{V}IRo{$?zm?I$4!X~pJD z{3+~jzSgeYtGuN?u4m}q(z}%JXvdWO`d;ltWvhCtepvm7_KEV0{)+Ot zcC$WB-J(@!-_vrHA8M~@`_#wPr`5C6Zna3?qdcgt)jCv{vOwRhrt7~`O7zFIBJD3) zkv>lQzW$VUQXQebtu9qA(x+*!YYVl9ln<3Gi~YH)x+Le^Yg>LBBwIUVB)-O@B?T)Q_suwPJ0lc7c9S zc}#KX`}8TAs(qx6)PJSS(w@_YYp*Mf>V1&1KpUjrqt4WRq5fX6X^Yh-w121%>ciAI z%Ej8_${h9Q+OPGs>UHXHtyF(Uc}+W@KCARo@7K=Jp41Ao4(0EvSJCu`_2-mo^+NSK z`WXEsWux+xK0>cm?^Rz^SE`?Blk~;<4lP@`O&g}}R36gj>HYOtT86ekZ&D^|d$egv znqH{of(^qJ}(YNc*tKU;+t2gUSnqL{LFVk+-N9o^JP30CyRHTg8SLm}foBnfU zi0aigD$|roZISk_)}WoMo`4?LYS${i)GM{&`rXPSYJcqseXM$!K2^CveM+fSPC%!L z`c8eQ`ksC-bTU;bRPRx4)Hms+>U_hgW4tfRP}R3*Ouyk)mLeM*Mr*a2(?4K zTR)`yQO(gW){@m<=-qfW`9p07>c*4WC)$PjaqR>3C+aWN2h^vuP1>LIUuccm9PMpw zxq4h13GFp#dvuTL*5+xI+GpxL`fs&QaVF7PZK2+xOwekzz1lDIOl7CCN!zSFtZY-m z>UsKRD?T_$#v6`japk(UXw1>6Ts72SS-`9Silq*?Uxw=@}t2~LCmZ9dVH>k6f zC)JO%kJT&HSM^0G%_eLYrZey94XGC|MR&QUMZ(zUJHbfs3mN*|>qsL9$(>S%Sh z`k9)k{8YP4Z`a?{f2@`0LH#ogZ{T3UaiLa-x_75~KH_*;Ptn8rca>)C9KBw9P5+5{ zo3cO+;y$2WuI*9(q%PC;D9h9f(E{$Lby@u`ZJD}RD@M(DPXD!XTwSF%V~frO zn=!V!yoRGvpTzI>ivStugKpYET>#%H-Js;1i#68qT)BoA^9OG!1xWMsPY3;nfCp$qOkapjwm0Ld(tn>g=npn{LtE|fghEJ8^1#QYVix< zM}ceqM-hz_CvA<34k57Y*!wBj1M ztoBrMl`P*0K=R@LUSxbsd8=_VA1LN|@JIP+eqPqc5Mw)I^Rv>umgz>uCPpXoyPxCw zY`HUbb3MrTo8%iGNo;5TO@EPe2m7~jWYw=jkkh)TT-Jd$fXyLJkC}E=*4K?s$JQ@z z36@s_B}zWWU&!dU=*MI{&5Q=SXE3@M4d#DUKJvpdK1=>oPpte$SbmE?D~_KAn(|k; zmG$z1M9Mo|^>O3o#x0WH#OUU5?Jd&X&+fI18O--v{LRu|A@iFV4d%NUn^=x!#(a(^ zpToCvxJKrO7!~Flj7=}e^qLt%jP2W4UZ!gq8!dm#cQc*OSjgDHd?(WeV+LcpSK^swgn>Uufm-)&YGJYqc!Pv~${yNLW z*v%MvMY=aJ-E6rtW^njgMnAjPGBz?cbN)h%Zg$USEMzoZWjQUHF@w>`{EmatUpJ$| z{C1AN={3o3W`2m#$?hE;l7FUp;Qj~4e};O{%=|OegT_NL{F&;3!tv&Fz4CWT|Lu&b zDlOQWGt`3#SI3rfGU(`f5QyV@neXTRB*b>w`LRql;{%C>%(wb2h4~#vBtM_|R=?2Q zE!}I`y`9m`X!Q#n?9a*RWH4W0Iog?D*v0X&Kdb*!nBRC<@~!sJF)3CL&7esSa#&z@ zrVxS4`I!u7t=}~tlXU1)i3;=wOGo3$3@@p-$;$gJ%ozHYT z`^(^XExE>D6DwCY)-7N6W_O^ywp0@~t}#>VE!@HQarCoPWR zQ}}wgTNnBFf;NC8AEnZ9Lp`GKi_>9dq=6@m6vEd6Bz=83NS|w>Y8*W!1_@k7jSA12f5X3Q8aX@xPK&S&>V#z`d$ zs^={z$z2dADfd(d%1Ral<`sFSc(ZXcySmahySlteN{V@kn5tm|6s~^q8bBA(^s*E# zdS8kj8!7$e)k~il3aT`TUKa`hHcs>849duPvl7bglaK0~3Gb zz5MoFCqvKt`oJ??H@94W#m9p`zH!ZcSN-_!-%tJhswevGQ*W*t^4zjPHuVp+Va+OI)A)7E%9fsEW2#b zQGe5I&a=X6&aszYetzC!-$l=CY99aR!d{OQ6=%09gB!N9_zU)Kz) zX{)zutt(FSJlA-*Jb%rx$3K7WlbYMN7A;wP*C+EAzL25LP5u2m%J}^%G@#fohJa@%4c?G-LKYHS1_7vB$oX@p;^C$dr?X{1) zAN=v7ng86h{*LHbD!{4X=uKfC=@0Z;9r2W~N(U+wD=IO1SuLnj> z{+s!L|9j7r`t;8R&A#l0zx*J4-Y?!dzH0Ei{Xbm!$ocnoy>#7}H&^^BIPm#*Czg4B z_AN*A%)g$6N@lY=4R`H`@5lEcXr#LM$lbaeXBarTw>0lG3^Vxm8RbZ_x3nUi%T zd7|Clk9g7XSp0bZ7M+C8?x|NRvJ?<@aDQd+oPpg*9dY@Ol5;G|7)Rdp%mLDMJJVH6 z{{TpK_)(_UG5<-X|Hw4wA>YEmLr}jSvuX?0h;GKHpx!3Z+R0&$0DJQ;WS<(5UC{Xv zy1%aUSMwE7r=sNVt+%X$@uOva>VS0p2uSkZa-m$assK_yRRg4P%Ac8TWBMJYKLk=Z z{UZFqH3&$08VaOvBY_mpH-Y5uDj;3g0Lfn-ko+wNlE0q-$=_NaU4I6WzgDLAFx?5H z4&xy_%qD&lkm!LIOZsde(Ki7Tfyv*L^w~i2p9&=RY3zP8(+y0o0+PRq)Q(w{aA7h zcA)M4Nz0&gYB`-$_=&Fv!oStV3FF%?*{{loRS@Cla6A@HjEXn9&ROlvLaSX`80|Ou z-tvDYjQ0CKxhFYVAUmZ4U8xSc;NAknO#V%cq#b)&rya1{)UKDX!79@Q&+RAf;8t^zWE&rD0)TX?1d1TR7|? z;3*D2phVcD$~hm4WzzXQ_sC#HLK5|x)RoR<*%oL2AS%A3Pyq`77Me*n_8*)8eq zK)S|x;&gWw`qeqH{R*|od``O_{-et}rXS-xtw#HzJYAnHpC8Nv_Cs1rfMmlS1d?5N z3`n;08K4eq18TqnK&mev0_noz-wq@k zP9VvC1Ssruj?CLwpgJId`uDS8t;K3N9O_!-sSvB4->wEzI`b;Z+jAx}CEm!otRkx$vzQ%p> z4N}fLAYFGc9V2&Tl-xln_X_x9Kap|m8Dw_fDAT9{()BEm%I{64``r|)tKPJSp`Z9u zq@N(YHFNs;2t$`2cqV%~>t-46K_FcNaOx73i9?*eq$n2xNsa=histAQlPpO_wb zt853C0m*+hkgiG~wTruf)GpRC{b%NHV|p*sZvrX5@%i{FdhiIlGUQLOeI1oqH|Mpi z5Q*bjUMS^T%h(2_tFutbX`ihq27V;NY#?3bKo$67rXK|ofAAcsgS&xb16DKrMaFnjLpEE%ySe= zzXd>&VJ_3RGu@jejqC4=?dLN%y>;-rh5e5#k?~CcM(0V`ps2Q-&tYf6AE$BpSk1CK zmVJrtA1${t^lQ=m4$j08vK#@@b&BcUywTVaV@0Yjt5~koc~Np%a>Uyhl85bTZywlh z`FxpX2av9d%j5Jx`ivVl6`DL2f!}EPd*hBzKR)l#Hup?2_vI&AukmSE@x-TfCV$a! zSz#&7IdWa#NTt++omb0#3#59|%=9?}FgCk1F`vp}E%b5DQ1qE|B7LUiF10G#CAH1^ zm*so8mis2eM?*r2o7^ls$mt#B^uCD~5-9w~K)SSQN&A3w-N^KtOn<=iNv8WRl5r0L z(iJU#8|1g@*g4b(|2Wc@5sxlPTVwR?jm^UZ#2K9j@}J7-(fw&-ylCA=-*Y)M)ks;_ z1L@kwv?XKoxToxgvMzSRPjCH;jx$MDk|y@^(|84EzX<&f<2~bUAnCg|-l+DqoZ~Hk zA3yusz~SCu`UKOX?~?J%1d^U!X4;C^Lea-fkL|11ayrTq8HWKpO<(bK`YY%O_sF=e z1Jd;)rhDZ$D}lzwz2i8lt79INdRzy;>@VX8hfBU!mi-VQ%%g zy-aW8GMV1MAH?SWwDBvaF&_R-TaS#hOR39cTm?ZHcmD_C;_hR;s+r?Yh2Iz*ayxq3 zlySTWq-(&6xH$W$2kjhZ8vI7biSu+sS-XBHzV!nNO`~HC$fD^1rmKLkS;%v@^C-%A7%cN%zvKwuP}c<^FL?)c`If3 zOM!Gv`Dtt(Egf4pctnCSDGvjQ zH}GMZpV>g78-a8^0;K#jv3nS(!+rQF=`R~d*Hj?+o5Ai2fYgfwfeFC8pUFArDj?B+ z0Mfh~o0J8e1tkAoAf-PANLK-n;=Kh(;T8bN-(n#7s|C_!0?A(^ko^7q5$W#@Ao+U_ zNY^Jo@^=hK{wA!J{&IliZz_cz|-AdbV;__ppv3 z?aq)@l2ncbT#oBF&7Ca65ys?4rOac2q?0@#<*A%;1rTR}iF~XF()AqETbSMrqv8ay{>sSvMs%Okad!Lg&`|%7!om4YuIH;*KkbjnIJ$vqAJ0}g*2uU&2hwHy zTBbb_NY^Z2pK14DD>rhQeh%A6amDvvQRCP(zm;+C0+PNC0_o~v_tWwlwPu$2BWbtB zua#knf%W*2tnahiu-{4gd>~x~KuTu?Py_y&>GjNS1ycC8n16!#{hy%FigGTH_~U^T z{&FD2cP;Z50jd2z3M7BeGW{ZuYKQiF$-e|h*Hu9BcRjn8u=^r*Z(#ayrsMT-CVKFf z^z#L*w=Ep^At2?!woZtoqyZ@pUf?YJNWOcS_Yg&pt*8TLCs@_!A}GnkH- zv#)Vq4a-%|VOIc8t2^;^$(pCcx!anh98-aG6*FzgA^PCBIq@n>FYp^Zri#8V`=gBa z5g=W=fRz7ZOb`5%GN?-8K=X&KigK)SACI+y7?nZB3lElh7?x}E7) znLg_o8Q%yXUE`VlF4HAIO8du5Kg#^a*nKU#|C!zY#_nxE(!qYF4*}`=2uQj(%I-<) zrTbYxayNjKo*PK@eln2S>W#nz;QvG38$ef4oPYmwlN(4NkOTq*2pBMG6x66uQLzRH ziW)RZR8-Ue2?Pxg!v&+IHpQr@SW}x?T2WD>VohsoV@nll)L2nbquwgosL`esHEOD9 zrHbwU^WB*Zn@h0m|NWicIq!MroF|`WW@nyfc4l^VcJAJra(8?^RJa?eTx^^EySV+_ zZFry0-FCWm-|B4daJ~|MW9yUyRi{}lUM|Lrb-uo3^n~vG=kmLOUj5#J3Vh|ti^oHS zA{Y1T>+MPP^SQvRo9+A>A^#pe1J5U`AGP*3K(*IhQ0@01RNc2g^~KwK}ol`s1IqrfA znUC4JPlY;{c~E0yHQb}^{5flHjP2jR{c`6M*6#2pZN2t^s@GXAej!w-fZsGm`63nM)4zmq zq^CV&X(P0{66iDr$1+pp92#} zUkP>mdr+ax9Uu9;?Z=5w$B%*vS3}u<-la#k*|9t71)J{xm_)uyT>RT`5b>8?{9QPh z_#rRa@7!#FLx{iS;(viU9(u{zONT>=&vo%@U<&a@mkhO+a7OW*3!M@4P=JgE9!0%dPCRCwMUPyK^E z&(To%a-i}Z0~OXn*?+;MzwOcwe$A#=L7nfnp~}@lg;(A2jMr`Y88D6XTi`JGj*EZd zj_-mBr*5})>!9*|1&71e-n8+wKUzCkQ2q{q3g3aM=aW$7K85Kpx844>)M7Z2_)RYU z4%G2apz?nKRlfmmS-a^_VIh>=O;GtChswVdD*x+H_4qSX$a~x7|DT%k{&_bByXR3`1hlJo)J6Ww|*w>uzqGkjo)5B`mC~QV4MFbllpbN^HWP+ zzn%CEU9a3uXD9K47(0Re=FP5r4te(2D~xTIem+~T|H#@txXaeL0IJRpL-qf`AKSV9 zNT_?tN*7-XHJAU^#b0#sgimb#kx=95Y?uu1cJW8u@t2_NzX6BB525^~eroS^6QJT# zpzdiWyLbuIz3WmJ{}I%B=zb`Bzk-Rd)g9mN(%*x+*L?2M2X?#h4plxIs{A2v2s{DG zzu$NN+w`7I@9KXKdb{iMh^u40W3yw_vBxp}ulC&Xpw6`z>f9nOUhm?~E*^#IyB?RG z{+Z362Me7Zg$m)%`?k~G*2z0vohOsO-}koMbrtTh_U?xYZBYI4Hy6+Tn>~K#PCHH> zgBl<2x;Q`8@E`SC+IZegxogjNQ*=#c{K#JW4cJm>bv8Sp)?witewwtwb8 zU0YYWcpcR72B>Rl^1tkyeGXLo8mQwxg|fE|s-NF<=^wfDT~L1Y%fYHoI#m59LY>cC zsB5Gi>O61bug?E|C_le~^3w|C=MPZ!-h#6CF_gWppzIwM3VG|brBL=(LD{wq zgYQ9E`WPzgg0eSqfVFoQ)cG|**?Szy-b+yS-h#51GBD(=r)EM~DuN0ZLD~D?o@4%7 ze|CK`q2Kk%6nD+kx^rr9=hzB$?wwF=5l*yilkHgGSPIp4wNP!@0M%EmP-CeRYOIEn zY};i+r58Yrxl)&2>)7Df>evZ)A!_IG{9jImTqx~Ws5+hxRmV+G{r4!;b^0RIy!kFv z9ebeaSULEAw%__)hq!iKjW2}_P}&w3Z-=V$E~q+ZCfhnsg{t#Bs5-BP8xWm;4*%s> zAz%OPmvD}Yf9B%;xNviM$L{RCpgMf6+*r|01aTE1>d!4=QIJRJa!^|7NJZ{{z%`{T%9=dTx}B zZ->g)1yzr)pzNmb!^W~Z4$9(W_e00ip~{~FWv>jX{N+&P*Fu%w09F2HQ00FM6<&fW z_ZC#Szd_ks$bT?U`lV3mS3}vWhqAW`%HFS`EIkbs{s>h*V~j1oKUDc+p~{~ORsI5~ z@|QrByaFoJLHWHMs@%s=<@m`cuiOZza{EG+I2tOP4V8Z>RQ~Tl`S}r4{=1=a{st<% z40WBo=HhYV?A&z#RLFJlV_kgoka#mBG|UVrve(;A#`5Ttut^CGH;FCw-65s<eCUTF&S4Xg zd_MtpXNLH_D!WGVle=9TrE<)(4b^r7Kp2DmA=RGk6TlA zkGJiA6MnTvk~btEs#9?yq59^0<{y_1k}i(M<$xUw6et4Hs1UMP-vB$xUH z){M?}Ze(BU>qk)GZ5Q`_r={|4*^~C&GR?jD&R-At`m@(3tsj5|8hLKpVdjDy)NQiyydn@Uz{lAMZH^N9%htuOzk&aBqRD&dR5txm0~D%fpvJzBy~J zt0L;9yzP{U-GAo)LwLt-hYFv%c#n$*+o1_NqXYLI#r>etl7g@Lp6@Q~1kYFXP#J$* z@P8^i|7SymMNrxmQ0;gXR9ij*CbjMrV z@t5844yf=sR2_G^^va`c`gfqN(;v9F*Dhz;IjT+VqW2vGalc<;IeN?hlNQ?73~J%~ zfhG34D=IH9IzMk-hRyt+5(ULIFX;G2((<7nnyAYxBKdv-RDG4^x3hmpAP_|;vJ2sw{&U=Ro?0bj0cDiW;uMWpp z`&m$0zKfSA9<$HWPMXRbb*wFO8I*QERGnUfs?*5h{=+(r;D1D(xw~Id*V{TxcI6A9 z>{me9U#ECXom!__UvEK$g5&%8?r-gz@e}K(fxLeE=YGqUI}a*c;^IqPe1nVM?cxu+ zxZlp+e7a`$d^*MXXd_>rxl{XlF`xIf=Ud-LPIKn~)y{jfJ=fXZK)z;|_Ybb@UtGM~ z#m7#!wz8nY{w|*D;wQLxfs237#jkPkMi+m`#ou=EKe>31i~qyL_nl$=Jx$f{Mpvlxlp#Jo@RZW4i(OY!E0p?U;XUC7dd}* z&PJ27*#^6uy$PpV`)5IE%b@(PhMME9cj@1U3Jvg^>fzTbZOlM@$Gp$?)-)eix;kxf z_S&8OT~K~Ai@2{N@^JxFSPG?G29@V~F8vz#O?C0+D)+qt`L1)mH@Wg#q3rH};WMnQ zT&OS&N;@6O=LIf(KKw?X{d{ku$@#5yHX5L8w~8_EBNv`&?cW3yJ}$QL!_TtuGhxub zw-39f|9#jt=eLnE{68?S+y~B1_Sv=$c~D`Nit&3kZ*Vb<>R0ysQcXA&7xEjr`>!-ew+&!qH?;2To6jWOM zC06s(mHE&Qt=JB(8I|7P{7UD4t9flS=3HBcDk$yg^XwS-BUJnYsBrZ8HhnQv%1Ws4 zgiHSi)HU?N1+F~w%0q=I7uw?&L)Ct*i~kVn9PWh5`5;vI3MyabMYh}lQ2CC8$}s~f z+zgfP9w`4GLgm{Dm197O&37i$@j9sEw?iFigbF*MjvqDO9xs48awb%`9qRZmq1Kaa zF8)U-dmljM`~oV>SYY#=4^?gvRK5sQjx|u>Whi@ph02$_&_2T+1QkCLs@x2y5@$e# z+o0C8zlF-z3YG5_s2m+o;m}f>FCQx3`B2ZsSGxFhQ00CMRpK6~@K>mO!^&*AaZvdt zLFG6GDy)UdcMFvL1&i!HNexu|2B>mBfhutyRQMd~+59W0d;=ESeCbd*CPIZusC++! z%6B`Iy+)`Uk3fZ_a(jF~sC|eNTzocE{u`n8BJP3OkN6|h=OLd%eLgXGiQOBX22+Ta zK^?yls{F%Ho}PjVsTbRPlcDkzL*-iymE(G-@H&*egiGw_7Ux2J?(l6FzaHxN?ND}p z4`t^QC=0uw!pRl3+|@9Z_@ZU@^M(l2dl#!=I{e(l2QIhAM?k$#aUj%Z?8ifuKNZUF zMNodPh4T9#l*h-QLQ5r?~&{L6x4pB z5w*w^e(NP4`XLetdH>r}ZPc4aTPbfnRGT(KT@z8q9>?@5o1W)b>==P6R}Xb9G`n~d zs;_#Wu7&g!Hl7F7m&H(h8*!|M8UxKxVzkK65Kc;Sblnp!w1lQr-`y>AMXk%>z%LLvR-J>4CV*$NjjXnQWP~j67?`;qJ z&Pku=jcV5p;j3r|{g%@7J>N434dfoMhQ0S|to?hgwf3KaYQtXp`mXj}dwy4Yz4MW= zmS-A7Wv+t?hh1mKd_L6JO}@#-M?i(~FzCbg#Xfu zI17>8k8ZYpI)2#KPa4;E_L{8j@g13MV_GsQN0p2$8j)-F3b#AEJL<6)GnR{Qv34f? z*xJp9(k_NNzXqslx^}%?*DU>sjW%kQ@3FNLbhYAE|_ zq3qoYwSH-ZD)*i{KCr>oXChR{h5t>v{o8iU9>o6y-N(c}&1hU^Y_M}ro%7w~>e2>P z_im_jNxjFOTQ1bO6hWOsrDGjzL{#rpo9ubq02Qxu@z!9KEVCJgw2@&4dcmT)fc5gL}<$@v}!^&&9zOixT5B!$HH{P52c`vf-*LJ)N+HCu+5vtAn>nUyDBs1o&*l#b|dAHh) zmv+kZxN;kQYwff^X@!s2_ytgQH$nB~sgK%g>H?^qzI2O?UjcReDj2MXU!T1(ZGx`v zw0^Je^{$?g-`Tp~!rHb-sI`YLULx)+G66}%&5qY? z{bs*m>-&Q@W9mC0$z<&1*`dhQyMr=){P^wT=IQnA*5)su!tY$%A5X#0BdVRv?d0k2 zJIDRLCmWc@`JbKMSiTi1{2WRv>#*?^P-A_Yi?>5vn;*M)?0Y7gsgGaJ(V6ikH8j!; zsI>F2jw#5pY={|S`aa*v&nD946L_JKG(X<^9z^h-Hr;*}=Z)_(2lhUv^l9V%?pHVe zhk1QpfpM~Hhpp494{SS4_|Udn5mY!2s?PIV`ZAYZ?b7`=^67m~w`zBNwBF0Q$By$2 zuIv`s^6R28vxfEQN7hd#RQTG(2Xxu`jD)I(@5g6w43#)Pc`k3M%KCnM2F48kU)Qsl z4;3zP@m|}3_ZVuN?K<*=^!`zK-`^LW`-!zx1r^q~_>ZAd?sIY9w$HSf&yzPgKiggY z#7{#e8_~I+1r?S+X%VRL_g$#D^LnU}Ii|b+w(@<(GWK)!7FUOC>?jmKX{Av9YN7l! zz*axASa9r$g=TnMp zg<2@B0jiFzQ0LPLRk!eGwl3LFbt`~-tn=Jl*TXTDIq-99`vNHKMi;*u>UeDZ_x71u z;=T4-X?EqKu*=z)&|`gk0i|XC&BmugoyT$)Ukl~)c^5zC@BP=ouT$EH1e5%p|0%4U z<8oX*)=^fW(QzBx+dj#xe^@^kLxoLHTGXZc{(ScLp2IBXcZai)_$A{X(fM2p6@CGw z#eZev8BoU$he|mfsy$Xf_3KSgW3%gP+pp_6s`zOkz6T9&hsxgwRsLb9@GO+wzd+@G zJkI7%=Kil7BcSq+hYE*7<)00e|01aIQ|sclLXG(+pw?@jxcJDh&3^z?eJ+EtSOaDM zI;e0Pl>N<6<)4N6Ea2}h9!{|KCqwx^9?IU0P!?{1vUdkm_!X4B7oqGVGDm9P^u>WT z{uz`XlW6VcK-oPS$}T_F@7cW>%I>XD;Xx?7&q1$#P@hRm;C(gi!=3^aZ_)c}@Fgfe zZ$Y(B0`E!5Pdb#J`B0WGhVrulDqIWYrvb`dBh>!xGcNubl>PUi?EekQ{2WB#TcJWbl-)0& z>W)b|43 zfjWL^YMi%!oskyjeO7Z|dYrf4ebtCKZ@>FBsLxu4jEwX4yE~!c`;3b7K5IDyYTtVr z)E@s?F1-{g-|wLI{eKU~z~5xp_zO_SFUYihDxmh+UxfP1=$GT-%vgBqcpER-$JTQh zRK0%+y?ii}`0H75W*ki0H_nWQ_hrYKec&1U+4w@J_+MQ7?)`24H=)Y^3CiAIq4x9t z1?8vo09()HQ1Kr_jiXIa{qt+6{&^d!e|A9i&y*b7KhvQ4=M<=LAyofd4&~=sD7z0r z*=>Qc`y!OxzeCwI2U@#DP?pYxvbz8(tb(%p11P(9K-ql;%I+IbcHf7xn{tq~I~uCK zi=Zqmhq7A@71lx7eE`btZ=vkI3uX5+D7$8owVMM~-@~Eou7R?21C-r*sIUpj?o&|h z{xX#PccAPKoNVo9K-u3Ps@|tT*`Et#e-o6&hoI~~0u^3_vi||p`1=}aybV6sj<-yx z@pd?r|9mL_r$PB&1$BN`L;3$9l>bMe{67ulf5aiy|9B|>2SA16p!}Z=<+l{-^P^Qz zey@k}yB^B#y-+Yh6;61et!<-Zwr*aSD^fL zK>7Ow%HPOb>u*0Oe@8(1J0I#i%b@%{4CUc>Q2w5Q3V($1_jf3N<}mAT6qLXHp!^*H zz83KQ}}9X@K(c zODI2YLiy>0@^jb`*3Yp}=QRT=oCD=&74-TGdi@2x{(@eALHT(H%FoA8en#Y3Kl?!W zIT*_FQBZzPfC_V<{8U2usfF@$GnAi=P=2;T`FR7%&-+k*QjWBKMnm~I0LpSMl%Hdu z!fYr%-kYzoVi2T?FNC36#Ifpghz-`MVA(+y>=uGnBt)q5QoCzP=0<1wT^fK%HMNP{J%7;i2R(mKVLkNxLHXMP7em>*56a%Jq3pFn+3SL; z-`}C^g{ND4L!j)9gbD{i*(-puGY87fd?-8DLD~5sl$|@FO8yMW&aa@tGf;N?=jZ=d znRdh=b3o`e6Z>|8_8QCG{y~pxv-BCZ4fCK{u^6h2BT#K#@7U}Zh3bJlnlp=`=FkY#J)_>S8R|W@DAco6k4sNK(XM6l zpst-_#|YFlRS$KIHA7wFQP_=WoTQv&$4w>-j+?Y0?1wC{`#c@4y>iJj%jH`P6(TO~ zkF#JobD!O(T1%b~-zys%Niri#6HQw2K$Da=z(@mE~j`)u0% z4ty4NM~_M{qauUNu)ION^;EhabWKRs9hPA7{Y2P}z2G~+I%gdY@!ifG>X%9Vh6d_4 zK_h^4Lweh(aVCoF!sZ0t6G|sNne>FbfqjnopKBM*w&%0}DqQ2@H@JB4obq)}DZBsg zfZ~4e&t>l6ea~ehcKSP)7U$zl>a45 zUwQSJPG85d_m|5W1cNna#+fFhD33nX)!D<9-N{uQrO#X0>Ee7$DLYcdLt^ss9b3x% zY)+iX@yc>elDtztYz1RJeVP;Cte3RF?z~n|3n#rxDTu)^tyL6GsDqd_d^UC=? z_7d;+5K1=Ld7HG|yZ~fFm9qT=x%mkAe8Dd7|CG(lA^|#U0yNSI17z*(|-^d8>1TqgK zGY^EPGrnTRo5opNDffyp#^+Itv-|-jzjJ_@g8c;gI(W>xhN1(_@K()3gBi2TZ}^vu z%EfVJ9TJfZjV1alm=@x@&#BZ!b*L$~=d%eaJniDW=hx5t*>u0{7qcYJY(&%^TcE;o zF5X){FlX#^7Z1@e0Jn7HSdiXCIIagCRf%j3+qu81=Y@~QC>9nvQ)R5RGr zlnyhMk>RF1FV&20Wqv76GXvjayiFOz_#A8|F;|Rb-WbN*kf6Ed+i~WznmE&m%}`o` zNn^f9_UHMvNoH*%#eBPTsM&}4YdF_V_%5D3ueM`i(lvH{)dXoF^B7ck4hFA1f2{aS z^R7kaNUnvX1@>AjYO-Ue+u2CH*4oS!-TWTgCf(OtKSeiKzgMrb@ouQ_HB`OAH`;jc zepK=hbI<-sW`C~B30$|CT(_h0xIWj|`slbHWJ8j8Y=X)66QTU{dw)_pa@~6EIGwTs z>=NdpSdm`tZ$9#n>)nhb`CU?qKVX-ckv^GsJGgYIqgX| zhxSwNmY90yW53^e``4VSuV3%fn{7RBf(pBSWaDT5*v8L;!TwJ3?j1w8cMRp;k;1(r zm3v1T_l{xQJ4SKu80r0%ht}>JsjtemV57s?xpcj?Tlo`f_X?;GY>yVT2k)y)XdTGB zo@hpu@;e8bTko>%pyPh<`)})Uefw`CcKd6Gte;xHQ=!5sF5WwS19N5SFKzux$P=ng zGu2!tE4Z&O;=Vth>#dk^mC?ie&w5~Jl)3!9-Q&T#-uf9Q6AXSSYi{Ft1zA6p>pe5f zd2+Ak9E0iJe6j$We&6{lOEP8np3B&tLmAzB2CgCB-qPm{GV@B)S?`T7>BYm%(7a)0 z5byf!t&X8N31&{9?h|OIjd#bH$Bn{7JtDX?JnykKZ3> zS`|;^{#<;Kcf2=kRM?E_IoBjc&+l7Sd0Xe1p#9MJL1ujCd1g#xKF>HMjI9f4j|)7% zMGwT8TadZmvh|Sueq)@;S3E6j(&+01`npfL-XCF1BrraLn(^GHhn4a_ne^A&b8GpTj3**}tO zCX{k7p$~_?=jI`I{_^j)K~eth^VfMB{KcMsu1oXJ*JmhG^Bva(*H2QOTc7&(M|bUa zJZ{f(dW${J^P$T7eb?Xpx3byJV|Ceu#S zoH_EPI8)=>V=fG)g;Eks3ir^#rCeK2GM4tT#_(*l#hH(hZN4qWOIsk#d#=zLZ#s6y z4mM+1CyrvxIGp=)3hTwe?)sIjnpfh?ok+$Ecb<&9U|R3<5_5gBu0z>${iO0)uf~~! zka;Sf$Zu+Ke+hH{52lAS$MFAql)r<#Un6UMf7Csg)~D{yPj}Rg&*VSYaW@9`8SjDn zbRHUSA0XcN>{FqJR#nl8bQ5!_aEGNQ~h&ak24iWeSyXa&ksG^$2%cy zY*!%L- z3CW%5kAM0pkk+T4V*T@fXT~s=hjV@@#VL%pq28F5-TXhtnfb_C-!9`VnD+0+oB0c4 z3E8Id-gq0%cw^T!kZ#A@2zxJoKh7*gcKZJ4*P=jLpYw3zt#XGQU+bX4PhGrsehrMb zxsTZK)YEnQZ|b>g zUhSOqA@doMaguB>MA1J*!isC{#xr69&xn1}-8>g88`>|)?8h@>>>l9+!*ep}+Go{% zR^3O~N6KY?!T|1*>`!rAdso3@p^Skh1HZ!~8ozcuADS?bXPqQ7lrnqV^Y$_inr_=i zWl*8s#e4fGa1Sea)b$a0dasq7Atomp&)mqG5#Ph{ox(LWm^p6XbgrquHE(+852SRK zZA^gVTk82cP&RZylDQzt`FGNuI$u3+Ke>B84egs?_9Z>l z^<&Ey_8i-x!iO&2dyau|n6bs4quCi}vJlOWCqsodUA(tkKYK}2T={PD_O?;XeKxe; zV8+5AJ{L&g9;&^EA@rBsGw{YKdn&14#hF56^~q{0{KuxLU1HKgiLB3A>$&>nYP`1W ziZkbY9cQ-4PGO=cj1D&iJX@x=rkh0WFTvv>ev@xRWHftv8Qf<^n9zYK=0MtbAKH2> zeKRV;-Ue&$6#8f|V@}UWP5-iO^jD}*!6!(4?kW4T-edeuhz#Z#e2^JctmjX=KdyCe zo8R7{c$0;w>~yGbi;Lgt;=y%hH|0iqYdoIou{$h}XT}9~EvaLE2%$(eoRVPj{Y2P= z&HkQg)n;uR`zO*#8M|g-T@XkM@tZ$m80W#yOF|R5ztB$OXr~OL{=CX@m-oxOi_J0(0sP=d+DG z-7a79P+M*c47N+~bJWDgZ5!m0$Jy=uzg)d>e{LN+fcZ3RQcL5R7rE#2nSkuR3l-AS zV*CW}YrY@y6uEqtLWO(3p>j%!=aPEe4{~tLvasZ$2u)e`w0(OHo zHLgPkr(L*ts&D1Qc=I!4Y7zAv9%heRYnp^U z>E0TN&jT{}d>}0n&u7eGyI(Oi(M+W-!>Py6V%|B(3wdj?lKtY%CCED2)cr6r&;-*$ zT$A4C?Gves)}(w-(5|=kr@bc8UI&?u{o~CiNQZ2s^Bv9Te%u@PH_04No@;d%4^ff^!LH>rcVC$ z3w!HJtrIH)=^_4q#d!K?G;Nd4^_$|a6=TO=R)Wc5y!mV25Pefj++Rb*?iqzmo<1sfG);)%2C&RN+ z7VDS`kh(KD55|i03S_n7i-(%Ul%GNQ<0zj+`4N;KLit3>_sOgEPmH}#62A%cp6a1z zOr9${sZW%*MI!j-`OOrMHZ@1Z^S))g$zZQm{$t}h)^&8e*`@j%I=~!?oebFb$FYg$(y(*3%0920L2IX2#Gbajc1>)8Fr#hY3k z&*1kWu#rez`lLHw!(BasHbN8l9EW;)`xw1-VNd$_cysaz@n*a1>RO5>^+^lWq?nq{ zM6)82V&>EK^NNR{Dr>wU_3^8?og<$T*A?khw6y_lHybb9w_hU*!N z-v?tJ3^R|YK5Zw)o3D`YSmH#tbeFURpfnR6|ra4ikyI`a0% z7NnU4J@MuY=JIbbj~^3FFb6YN|>{~k3Eca?r<}n=Z7&o zD~#k>VHnR7LwT0)o*DL)Pu_>2{BY)kK5OKdzV4ml2J&86=t$ePbK>zEZ%WQ~ZHuk8 zK$`dL6y@2k75k<3^BQmbJxLw=+4EI@wVV}iQqGPy&Av_Q7EB9yeXQq5yHD(mLGs^< z?C{I*%u*Rh^Y#g-oBF7Cj^_KSBe+iu$zwgh?^KULA5p6Pgut_4HoqN2xqYa^7{+Z{ zaQvZr&$Ap$;+SV!~O*5zV(4U=&eEyKc{K;pbk-_v&vPtI}PGw9azsEUb zX>JWOZW-^T16;qkeX;Y>%z2b8q)a}x@~|}-JNsd0G&V+HL+|JKdrraq2Y=sXV>$Ed z62|^q`c(NvLkKqu>@D4*Z8GCl&wL&Nzj6C3s!(C$xYT$$zZ<}IW`HoWuTTq3+L(I-77 zUn=cEo&>JZV7}0CgSjUrm;l0+FeA3Uc zaUHw0mibS|)h?9TBMn=@av}ONPyI)~W#d1KbIqjxGT0+d*WQqhV<(s66F5GODjCf{iGdB~R#lP`4SP;(^y55xaN{Ex)H z9beA>QEBEV?rVp0%^buvqCKdIjJL6jH|;?U=h_~)K=)<(jkNrmS>OGT`QED=*Ge$1 zHjBvLLFxOnNNmgHJ-fZPM!Ef)p8D$@s>!r`U>5s7y zeLpX;bLU{w{gZf8{8QFD7uf#o6Ib1^A58P!9iYBL@&eZt=bU?MytxV4=Ir!|d)G_f zJfTqoxfa+z@NC&VJ8%5y-26KG)VL&F z1dfj*@92K=sQw-IGspjoXKU5pyKf})NektqFs}{ZemanQW+HQ>);l~q76=gj)GvT-}_kx)`r<}+aYj`Gqg=gdv-lN-ZD9^03%=pqmGbZm8GctOT z85Wt%J@ZuNkdy5k!F;T_zbP7TeuJ!~+=OQanP<4>Q#qDg%5xaU!^}s)Jl^k8G9G)! zse50w@7jdoLldj`B zXY35ZP6BrN97|6$>G(;(_8@F0#Mln;8#iva8=%qd&d(vgy-4 z$71v9oy;hG6O+$dGc!)IG)@>ZBN-=YjFYe%A2ol9H}@e?`Sa$JunDGxM(|yC*0icy z$zS5l`$*yf^6FWbv7pbWbdL)j^Pa63``*3HUz7UpG;uw8>2B`u?gflJLm$@ch&Q(( z6|%oJk@qSGn=6mjoimfj%IOBoWMPCBG=ymJd5nlJ#jzQJp1yUkiq-qFoyMR*~rp? zW*B`tcwgQ=F0yT$KQL^*jU>~K6NU}&j(c+g{T)2!-G^BJ`0uc3{1ow7^OH!v%Bp`D z3&FI|xWV51oxyxGoW38*e3VoixQ}5kpE>Acq)s-ppF#anNcZQZ;Bjvc(2YZH?~l3P z|NcPk;IKIw>5!f5Wae}B$?%(w-xT}~!msKV%;(+zG;ZAb#@~?rd@|!`7W4i|l+|7xb8@HV zWaeY$E4yFFb0F)%H^zj`Ci%EJ*<4M&8uCQQvz$3?zUE5G^~tAk7L(@fO+~eSu%Ekz zmJKw^IOoNA>|N3(-ux7EAM?+759TxODWmUD4WWE+ZVQb~;F)^&zN*&;?A6Z937c7q zIS1YUOAiVq79SX@3#5lea_#X?*M>zVh1hQnvELku-Gh~_jR%FznnSr3WJ~*>tvP+t zLOHy980Gqo9L%*mnKkkxo+S>Voe#A6ds0o-;jEF52%8pcg#MOl{??gh{u~`<-r`-w z-$&BT1Er(Q4~jF)s=QGq+1tBheSCb_R3M4v_*MHB(*}Vwe=op(Kg3`Au;!;N^sYnx zx5B0XDN=dwb7%XmtG-hfJQh3Nytdc(CH#9z@AD8B3AT&!!{%J1L3aJ|tvM!;-don) ze`5PH$=R&AfX_N<F(qUBh*pz;(PaaLilZa$P5J zO?uaH%pRC*nS!vHKQnBKWlL>I`vlWM1u3S0z4qff%#INSjaO8XY*@ zts71bn>$Vkn+?7l^5h26Li_Ws6n6H(&RFb>!cOe_8mdp-X<_pa(&^j5PcW_jzGZ!M zI^!Cdd@<*d&U#pDG}dRy#q2NW{@ug=Qy`CLr<2d_qs;TH<@9_j|5-(0GYu(~9dB$= zE|6yZ`+EoWxy0)e@-!fgDpx$n6w@~8oTK)d2GOP(qZ^%E!wm+WE=DmkC$VNoLjlZI#iAj8xru#0x zAImyX-y<1HoA~9-Jl<_b@*VwhX$P=&!QVvg*W*fg7Qx@}yLOj*hWzg%hVktAbLZQu z^YKG(TilprZsc6`-mIR#^d65lpXs>_J$8T6GgzZvr`!Eqvyd0-`$uWrm)LxLkMMp# z#h&TPpA%!(*1m6P<(t({dF86?CtdmTW9)LZ?Gco3?thRkj(l73voXe(%KM=^=9r(Z z_qrAIIkni|`6+$le~?f0C|a6ea*(}+>b)Fm`w#6m{Tut+_hR4wJ#7CxgKgv2RcWcq z`mg(xy`=lUz5Pvg)h^|f-IzHz()a7e( z@%4^1j^&Q0IUeP>zvD2+ohz)LF2@eX=Ny0S*xi9dyUpgM;%AM($@3_kG`;K=xHaR}x_@%Ss*Z1_onbXcHKH~60N-HY()fzLS ze16qgm6c^x=kOaZb7r3DABn`xxqL;WZ0U(Bmo1DeS-vdyh@;H3g0rU;o$TkR4qa5a zvZ`$1d<@+lx3p~O!ljk`E_d8g5|%GyH^N*rqq@4dylVMnGpiStRmuuWxVS}CWo5im z<&~(soLNfR(&eklc%}5Rg)2NO$C!&$_{6IDOUq`>UshUCR%N!ut%y`rlwsqcxT-Si z>M*8 zeok3L>a<9tYRQ6?k+K!^!CkUYRJDBJw9?Y5vK1@%7fRRb|UO)0jQE)V%AJTC(tx8Ov8LqXkb6W^NiB$z&x1_GXvvJs#v~Ye#Pvvr8LZ( z$o$C46*KAk`uKC^FNvJEylVE!ipY}6in7xeTukH9nzgRwW>AAAjNLgTYhd1LW-g-( zW0TG7xWcmetIGCBza#F9m1R|z7nM~lT3)qu{<4K-UNbUIuZ=%@NmXR!{EBJzI=Ie{ zpQwRt*J+KAyRXE}~t>sRz9X-}0g57~(Fr+~u58wsd}F`SL0T62GB( zCZl2gin88B-rbBlnWkJazhcQ1dsKd2{G5uivPyI6%rj4$S?FKS{tU63FFd5OQ-0!-|VhugFj&Su^Ym z(|gyF>wfc{ylnc)MT^R+`sDP?_MiXsm684m9DT)>2M^E>4-xwDbM}mrmofOt88^Ef zop$sU`KP(mz0~jQ8D}k9v9hvqc~zvW^h9nv+^zR&pyhVk{!?6Cvb@^-_ka3ZqyHyX z^6CBck|%k-g-;?I(W7uauib4zuY}hjo6*<7w~-d~E_e~oqFd2R;PprwdIwy_>w4SK zD|uya5dUay2YNDGf$T)*l>>7J5`K!cI_yMJ(Z#VNdB#M~ghfaey7)_EGI}#SaujQ9 z^eONvq!7IpK7q_dZ-s|ta92du3 z0-cW(%zjyH!J+5CE0NXcHSo&`v={m=IC&!NfG$3VBt9KB+h8YR(7RxGU;30h;-N?` z>ACQ6WD0ri`nTx&&evFi&cf-N^(MRa%@Cc+DJrBNc5PK27r@vqqvID&b zCQstCU-Wc18QG4W2Mdulbhb`S1+o=A0&hZE(Cc9%vKd_*F`2%6hVcgTkh$pMMMw>L z3H%AN7QG4n9jQa#3C}*5YX^NUd>q+?-U2^FHlugJ%tP>t-UH7%l=`4=hMBq46J1<{ zY)3DLwB4a4}MgUJjd( zb?Dvj$|LcOUISl6Hlau1-A9oRy#X#bnz4jl3RffD=(TVIvIAWVPhn1YmUDzpBBki9 zupOC)-U)Xh#pvQu$I##CQ(-aEfZh!Yj^*PD^m*`MWE=Ws_&Ks2J?}X3Bc15tMx+Z} z3{Rz==;8s0d5--BcrB8Mz7}pn($U3_ku3Dd$J2L64tgnUM{?1{0pFti(G%f$NCEmh zSc4Ryi!Desy4a3XqW3861jZz~_yMv}>2P8`ZHt}_S52c0(QDxyNC$c|{0K>Y9>3H1 zT}mVaJpwl%+34cf0?r3L6V5_f(F@@v$QJYpcmvXmz79TsG@>`c=aB~VZSW&x19}%6 zJd^Q&o(v};>(D2|Q;}NqUGSf*GqSgZc}&9RDU4NgF?1^Jh#rQABXiO7;H*N%C%QOc zHfvw>Y`Ek!{GvzTI;0*w`E<-8o6!s56-X=kYIyz`oUhX7aL+>8(KCz5gLI;=hhHPz z=;kc^BD>JVRY>>+`T{H6JVGN)r!|Rb^^mVWSDMT0lg;XlfT>1s6 zMvuU+ks5R!Z2A2&`W;;?IFI=Ry$F^gThS}wTBHSiGyDqKiM|V-dp_g#MaCF>=mO?3 z^er%o)S0E;#B!{Gw;Tc_rvCagB>eHTqh(5vfGq1fN36(YL}sAtmTLpqWp9 zp(nyDqzGL+bRqLe8}k*Mg_NQf!E$6CdL>+o6rd?2ru}iRpo(ZQQ&FJFANEE#S-jB4SH^SpDX1t;2!xxYq^mdqi z3GMg_Z3UMgiRcyZ@CxP=^r^5I$w3!?gA}3nz|5tb3%a-(DMc51kcjfY;$>We=;Ad< z9r{}MA+jF53yxn-AE0N!GmvKGhntZt=wfyy;}Bgu7uk+J4{kv^(8XDoavhz+=<6uw2=kB(^r`S%BoSTD z&5JMNe9>3K50P5*E_hxw=ZjtnZ$~zuZ-iY)D|$Cfyqt4D7tcc4(dWX4kWTbw_;;im zeJ7lA1$F)dd0-`yjxPS|+w=jtSxp_02znNrf>fZ-f`337(7WLI-=Uq+=fS6uR`jj# zm@64S=u_dHNcc6z4{SwtkuG*2*`$kk-^D)qR5%wYMV|+&k$LE=;d-PPT^vxuoQa+Y z??*PGH^ZyH$NdF;EgZRqc?LZL{vGK;-w9K%qD|1n2axpFsT=$ol8L?(K2^*7h#rLp zTtgku^I#!Tj4p0Ns?o(SuI2hd&s@vW{d&fnba*thh&_K# z;z#iDC&oNnhwLO>%y^XXO1gMCl83$;&e%f!PR1=p z^bVNTLR+Ax!wZnL=q0cfsY9=Rg6BSDBl=GG)RXiV`d0W?q)X{=)Ki=;dIroz+R??e zZ`1A{aP7cN$UO8W_&idK-UdHH3emga;CEP`pr^t~$W-)Pcq)>IUIZ^eCZkuv8<1@D zI=BhRL~nvyk#zJnxC2Q>?}mvT%r)q#a1yd>2lnBqNDq1uEJwP~E8$wC6TJ>TfV87G z!RL`EdK=tKj;Am5BEPDb+4^Wf>o6!c=a9LYtGz;#FtdOds)$wF_2+mH2NY) z(DPs+va^e}g$I3(%}=<0!2%=;U3>#6L~n=T9?k__y!#(q-n$q%m@7&76{=ofegvg@zdgpVUV=&i6F=|b;>yO2)wa3b$u zA?@hd@B}1^UH~sbwxO58?;@?}weSvP3wi^59BD>xh3!ZqdMDh4G@yr*u#ap&&xTWx zdh`M~4_Sv^3crigqSwL=$ZGTkxCM!zx59R$0=*ONLQ2ua)q~MLXAXqxk$LDFU^7yT zz6EYa3enr)PNV>R7tBbePUxBNI3y2!Dm)*Vj6M&38_7mr4R1v<(Ko=fp|mY}Cd@;+ z(8U{(j2`AmI5LH@=o#?nRBWP8fh&=G^lI3SRG{yG;WW+#U7Uk7pclhRWCObR;aK|U z3+5a+IFmj?Plc0^R`gtWDzXK=2ws9TqgTQkkVf=6_yE#?-UOdVHlVk`kC1xwZg~2* zkf}j0f-8^;^cMKYc*^diZQ&z;XeD)FX&nDQltny0zXBn(R*NWHf@2P2cJUf(Oco4kd5e_aMgbNPha$EIBI|D zhMobhLt4<+!`lxGnVc_~i(m_qg}xPbAQ|X8V8TKCzi#wI_y)2Ty&axBDP-!<3t{`A zoSV{N57LA#UUxXQ(AUAQkgTs5Z*cSxA%0JZF$3R3%F%O=44DB(hfK*X`Vr$7mytEHaKWXh)opMrSL)|5xoR{g_NV4V;H|k33?Wsg3LwF zhx3pk<%g@0S?J;$$OiOwIN><@6n!!*Kzh&%VL8%;UIA}FI?>m`2atC3MtJGekjecg z{RMw?Jas^CfG;3((c9n`NDX@Kw?gJQWUJEQ4x|NLEIa}G=q>Qg{E+EJZ-?KX#7e{-U*kTNdKZ& z!l#gK^j4U6673&K@c1M2RP^<5z%1&6o(R)VrftzPU@nr6F8&@_i{1uzAT{XXL8nj$ z^vUqnQ)zSb4X_#MLf-J&!5eldK%{*$8Vp*O~_pICb$hLLT`gz$SicR z`E~!kL2rbuND;dDlewHr0(RgQBp|XBHPf5 zVFl8P9)UL@ThQy_gGe)aGkg_kM32Hxkp}c0n6iSlKu?E9Aob{Z@N{GydNEv%)S^e= zO~`8WdiWp`L2rgHArDkK}d7QTs0MsJ5BRxu{fGvLQaK6*FIx{N+T7tclJqR)f3ASLK6&{Q*z zpoliZ1TB37hEMFtLs?fSw9-kk!fq zXCV=E@lW-PTl5{!{D^UjE}nS{<2Z%BhTs1w;}*RhK8UoUH^Y~ZE$C7BDbkGI15<8g z+@hz$Ly-pbTzF#x?U}|r12-X==uPl>BptmCeuN~Wcf-Vc=oj=k-voz0$Tf&w1D`>v z(YL~LniwbObK$MXI`j?j6{H?L3Qzha^8orRcpK7;z7hTbX+hr(&-oR7hdvj+i?pM6 z!h4!&H}p+##KW{LdIr21NlvG);pAV_KIr0yNDg`ze0ei%f!+>#kYaT4(%*5;BbXE5 zI%F5=^{^4?L2riJkS_G7h;*tfOn#iYp^J-=LhO{or;vH*t+2BNyXfM-kXm%}1bLAr zbn&$(v4h?Ydypu)`06uUFZ}*x6n=`NqW8d*t&B7Dba(_}(DUHw$j*_Bf4Cg!MvuUC z$PV;+*obtXH^XhncJwIx6lp^*el}!YM{2OS9Uk=@>jv~G@Ooqe`Z~A+X+Rfm+D2LQ z^{@%qiY~r~bfI^`_!p=fdhLsR$L1yKoWa8PqUd7bdtCox7$>j_DMXLJ%}6o2c-Wutg`NlRLMqW4;D}EA zp=ZFikag%C@WMaSkLV?^;4jQ;=#B7IWHWmB{gC;`4z5S^UGV!Ka!v6ayA7}zNk`uT zqewEkIOQX3p^Lvo3ej8Pq%QoT=fMk*TJ%y_gRDju??W2VH^EntX7nf=_c3!ddKSDM z*@0dM8<7rlao9Zp5Iq8Gpt zqy@bcUWIH%uZ4FbP3R5qDP$9RD_rnb`f?ok;c8?9dM(_D)T1}Rr;v5%t?*AsEqW)6 z|BN!|VVH$P(6eDaQh{CoOOR4@aSPIe9)+JF;qi<&_^Z!3NAza64Vj7_g;c5v?cVC%&xZrQ`Tfpw-t(U4JnwtX48xh{0lnw}chseqPM_L0SkHu zyca0+AUu8!dAQG{e|Q=wp&Q@@U;w=kUIU8gR`_1fkKP3LfC738{1oUz?|}D%9C{Ew zX>N_`MNfdIfh@WKUH}s4h431nqg&y7K|6XA+yjE>E$~yI4ZQ>23pBLUUp)0fj^*I9 z2P}0Jd(pxhzz|yMChDMs7CzlgOs3Nw4gfn^>L$JnylAOycmmHZd(hU4Yt%NLSI(l% zbql3_p>-ZHkv4F{e9j#$wFKV3a(u8EZLYs(uAL`!_1uf7f7w7x;LAWATKJ<^ z5EJ$l{sbtZh0ngSMr}b0&jAs%xelJx#|t*&1N{g;1JEXzHl?JqW$nUfCH_=^*1oCXd65exTHP&dEiC|;XLr5i}0A0^d;?KuK+Ea z1TE++TmpWy@XS@rW3&s_1Zd&MKpVOMTURq?XyL`69qom60b2MqkU$65Fb)E=a0&FG zt$yY(D5BNc8g&mCkoIu3CY$j4ZX*7T)Ek1o3I=JT!w=ugIbzSjf4qhBLc0Pr>Z)~| z3));~P3o;}1wrh>`+s8ek0crT56k3 z1LvZpzS#oMfcC()JDJ1i0=)Z+HR=wu)H!?oZfcc^h9`W98b@dwycSITC~<}#1?Qrr z&X_aEzG$iS)dE`4{x9P@*d^`Zr@7iXU*EfrKF`5_xF1YLOKq-A9RMwL zvmOC=pruyUooI4x^eqi|+=LL6!nU`pD z{VJ(r<%)3aU>9BmY-m3$b)uTl=6X@)T2$sbR8o7&n!-2Q3)iRdA1!PHLA0ssvawjXf+M;G9|AcB@U zM0e)6r=X>-PzG#AOMRg;f5e=*fPG;%s6$KrpaY-@E%ksVf^*R}xB)CfyI>z!i7vo@ z0Ikw~8~%dz(jJ}*?m+wD#oKw0Kxg5nz$SD7{``;e8J&Y)1QB!*c07u&XfGTEThQiO zK~hKP(~ogp*o8a6R@oP>)(A4!0+KpG(;w%2W{o!3g&v0%z8t(I$AWj~8B6Ty$r^PE zSco>)0FwGZey|d|a1bm(3-6S5bP=``YLt#P*Zh%sK({{4dl`1&AV{Ef_||8*9?<5x zKAqTp4(eu)Hn@Zyq>b^Jl~j zyYQo630k=B=lF>hJ|0X)Tj2*l1g*neFW?V42fqlmqaD9uu7NySgS){C=qx)}YPoZDZ*w>hH?Zby$p>+pA9W}c&S@Qa`c9o)rx+^fV0ZLWVKwQ=qTt=NULU>RC? zAJ~jG*SZ<|>l&qlE!c%~Ac8j6xLLKEdnVY0UHEaZ16_c91H@=9^9>Gzsc5NX(+4J_ zrKU~oYxsbcS~YgC1nq!lf%Rx}Z5pXt^CZY%7cPT#wD3u{tc zWV%2BorUwD4{h7Wzg^zoUMg+iE&KV5g3iH%!0N_6$Te05})u@eNJvs<~{rB{Rmbx$d!4|aCbEyXzX%9<%mOW@;%K^p|ZG}r<+(p>o z@o#dkL|ftW!9=tR9!p)8$zq4AHCluNpar||m%u`_@Z`5@lnbrFTfrS@bKMoG&vL=r z%t`FRi^1J!Kb$BNN3_&gc~emr=3>re6uESP1uZpGq?XA_wD6N)3EEt*L~5CwS3?ee z?7~-p9NG&@U6LWR@Wwjoa(tW^!U^C&ORbUbj3&P*ItTZIUFahGN3a8}#?-1bST>LL z@T*`6TIz4S-%_i#qorm>BiM?Tx*5%23)&0c_8#g&prwY!vtv2#eENrnfE_KhFY18} zZG&sa(LY-1V7&hX@?we|UIf;or8dPjV7Y`izym;`rS`;W@2%zEbIfhn4I0rNSOd*y z;XLr73-E`>ldn|T!>zzCZQx6&D-l3TorzOVBwo@6b^{$PbtJw8iqZz|7odyqMJI7? z(gt2OfjS2Zh#Q;-cC>nbt(pWJXb*fBXha9$1aL`vc=5>`5AB6Dumo+c(;)RB?)hi( z!eSRb?Ste`Mhkxw1ku6^K`UDLO0W#=g@17hu@h~pRX3iBpC0Dqq>(xfQqSS-)5!CQ zUHFX2Ks&k!SL-ndw^1))D|X?Z16|s{ z)jA8pci0*0OSx~rJHZ~>Sf?=GK_hly%ZG>?+5s;BZnOvXd>Ei@Q)|^K(2O?MPmuZw z51)z8*o6zA1ueV}B+zOa^8{qk4tS2ER`sGi@TTd+U)sZ&vzP3!3YTW{J9RjIUa5r@XinI~#1_iY6qacSC-U-^#=K28U zIs#H>U^aCDR$e~Z;N|EgXyJ`u9$NT5U`Ly42uLk~i7u{v?7|+f1ua~60l9Y3R=5Pl zE#%sS_s?P}?z=1aB>o@1~H|P78S^x)tpZ3DX^jwD5G`K?~moTxbn$p34}a zz3>yDfHvpwm;C-0Ux}@pQF8S{A#XKbQZQ>LwwK$oXcHu!k_Esp1GL+ zZ-TD^O=#g2U@BVJ4<@38C0~0R+MKst^1J`)CdLE1@R*yq#?e;c0CQN{uVa3FhIw@r z*FL=NR^pB}=TkT5QkR_S*L{{_(MEU~2%v?(1X|F-4*(BZ_?*viK4=&GX;46GuutRI zXmdVv$(L^ZJokaC@e}?c7@|!OzUB+e4eVaH_ICP5+u()3D|Wb=``nz&A6uYH-gq0RZkCC~V!_b~^s3$Fv)(ZaRu+y~HB_=XN*at*P9H-QGU4(|r%qRlzK zB|mu01I!QX!Y2bST6h|mhc@T?mOS7yHgmmT7xsVzTKGk<3GIKdR{c9Dq6=_XCqC#b ze0zv{BRU8_7iPTB<{aOW|N9(Zy>_(0bI=Oyfor1N+tF6|$H0Xyz~7E>4?^eQO>yQJ zT8E!bat))+dATJ&_p@o{6?WlW8Q#~>CHR|NjNNtg16T8G3#T6CxY&hX1~zmFPCw2Z zK$~-7OTKKCXZ~Opeh>tuJzUL&Eqpa7Vi$f86wo?+puqc_mwlfe$#*Szufscd@5gS= zRV{g~i_dXgVHcjelkq}(;B_E~*5LO&&ozv;!IEEE@=^;|b5INay2x12M)*xIfEGUP zC9XTP@P|PLZO$bv`KG@I*3+l(cCZpHeDy2L547+);6j`8Lrd=H!mId%U3l@YnZsyv zKIq-pKE0c36}#}Q;01IEe(wM=`2_O;z6MN0d*NHbRJ1wgv*d>U!E3|^yYTqeiG%D5 zSMxp#7s1`wh4+H>(q<2zK}z_B&cTcK5fii*-UkNI>J8=_D4~mR%YNq4^;`?^4}ZsX zjV{8~{LI21{5|o(F1!@Dq&=Jl0dy8V0NT)Mi2L~%o|lw1@XX_QHWTfFt2vd0Pq6T8 zFLvSCpoli-NtPVSZ-A-GMjQOY_walx+MN4XawPu&_^}J0emu`sqs{q@CI9iF6L>}# zyKo2CjMm|o-pjL}=o0)7ms8r%&A(B{0tl85;Ef8-ft z-)MtxM_bUs-Jm4x;c6~n;Rzq$cL}r+-ta-5t3?Y3K@(bdr;S*li}2P{`Rx=s2QQn% z^RQ??{9CXK?KzFSv0x862)}PK&ncr_@I%0|oPFUXr}GRl+MNGa@&gyAaL(9;)rabo z4Q+$}4J<*MbN@;X;N*1TiCy?-V5PJ_Yb3X?m9`)|gZT!lo8(!0 z=FiQ{Baq>H9v#jB8{biw>z7I$)9JTxUbGSZIM{+dw*0Llz~@;GX;*x$1~3@;sFoMjdJA?UC9Nf&a4`bAMBdba~ zb&UL%;}Of&ng(oFkcsd*UgxOGP#38MlJye4M9oFZ@<`p@x8?lFv}3GS`TXHEehsA# z?|vc%o?2I}Bv4qPR;%Uowt|Y^pQPv2%BR+_?+{(`1hr}aGY$R(ulyE}41c54Y}%}1 z{Fl;x9o{TuO-54Eu`FlXjmoAxSZ}7+HM}bPr`FWL<22EFt-9Vgz8^nU&}y}@{|xmR z_7&fx?`6D7536Y}J+4$Y(ZBdC%TzVS)aMnnxshH+`kIdCXX3T^Z6^-=`iMPSjdrVz zo<}^F<1VG$N;R2w^Juf&Xd!3n=Nu(c%T)_|^R?CyHXHq4ucqLm98>=Mi#m(rPA6Wr zqsF9>tcg5PJKVRNm7HyLEM%<`)rxOt5{;Gosh+oo{nlW+i6gfjG6pj^`c?SL^@$G> zqeI&s9w~F2n%HL)Gj1upS3Mb-75rwHIPwc*w#xXd#h;}deI(}Zsmn?OxmR%JTrYs9 zZ+Yb+H?|n^uosPum^7_IydqUDm*f8+bE@=sOx4x#erq95`?zuH#1p9#cJj$;;>3w+ z(xgdh%9JT;(V|6a{`~oB)~s1-=FFK&TVGZlPg#9c?NsGGdG+Ydy=v#~-71*mhyBV4 ze4qp5E2~ayPHawWPO+6MO?=pW*nQZ2*nQY#w+`$b*gIJ1z}|r!QhDro?0M{Y40-Hj z*2}Dy^Tv^#ygE6)la8G1O%J9O+s}Em%_~OGCd@;hnMjyh5FFt%R!h#<@{P5w24?lePVT1}leE8tQ2OmC2=zRF$!v`Ne;Mg5(?4Xklj@`krjo~nkjh*9n zaQqIAFGJM9@jHl32R?M*LkDq?VIwNW*<*oum0=_Xd5)LIw>*C2Ii4}J;s-Iv<40cn z;KYpKW~V&9@u7?lWqc^(K$+v`>8#9- zWg7YD!^gT0Kgvem(#EGwRZ(&+U#D)lI74`b-uk-KkeQIcENR|FjRuNt2I@XA;TmwS%XRJxTvRYPS|K1BXkatg<}*6RM1t(EOn<01V>N9-`%ztMwX zkxrx^UPKw&D{Y528%--4hmT*`S$3&x8}34O*GKv{`ouEanKU--U)i=Vd{*6dH0*Gl*B@vCk>IC-D{qj(tu!_Bn;m630HL9QL_^o9MRT_dnxp zQ`Wf~51Z~^H@t3ocQdx@2j9%vhBt!B`$VNbdflY65XtR8LA*pLHnfkW@JbyzCf3~|JZ#(^+$b2W%pq;a3s zM7+!ANjARY;;by{obMZpnVV$6zJRx%L4%u)!h;J2>4tVqgSE6DY-$?hA8E#Z9MtIN zerFBtOxypf^}(h?+n3qFynmSnP1QgmS;|e!H(9<_T_2vn4*HU% zNf`~kr4Ft$F`Z6FWm3{Zbxf=0SJ`dkRr?!%?yAggn@!kae51;5&-oxGYw~?6PZP5$ zSAcw*TB~ff%9?zaT30=pWBk{PfJW{tBJT(_hFl?c$P;P~c|$EBe<%>rLT#a7s6C{I z5}|CUH<8z#_D6Xm_6o*HO5>qcgz!O zj(KA(F@G!&(_(G0V5~i+#}ct@tT&d6^~DOY{#Y?K5G%!oVk&NlTjTX{TihOZ#2e$T zxI6BNH^;s4mbgD2h->k-cyGKf-X9-`55+Bs`h-2vm~bbW6D^5AqAk&$NF;g_eTn|W zKw>CiNd{6{sx1{v+0yp3Bi)#GrQK;yx;d?-+tR^wdsa=uPJL@}bo%T*gr#)1O^}EMdg)L!gxSlB6 z!;XWIZYQ>haQ3kHmcm0}6|qFDk@|=&Vvjf?jS*MG9q~j05iQad2}S}@E!q|hM*q7J zbr2^Pk@65LFVXT7FO7%=iJ4B+vcxS%Al>HOa)ajBj~Wp*6h`{sx@(h~6>Jd5^-9!W5ldLy|=U!)M}j}#*Vky2zRqN0|l zHCi8aMcq+Pw3(SznJqF`Wb}ja_P8ET#0$)UBD0{xJm6-Oure2H%m(v$zVrFiCv8c4 z(vfUTx{~gsC)u3zCR>vJWFV;}+mgX#ds0s(l7(b{av<55a-}>eZ>lBbPX(Au!Bl%H zk?Kw5QiW78HIN!gS<=?D&6r#6big#P66xM_U%HSkrd7t0v1aNswv0XF$TVhL8Fz+< z`&BFVMZX@g{~EOz2s?SI_BvdO`2k-+9h8cDg#X4*4)CXvZzdNa99Unbbq-lcaXy0TrpUAeBl zu0mITSFvlLtJF2rrMfNM*6zk`SGT*{)7{+d?QZGzcL%z);VU!O-N(Jm-s9+T_2@l` zo@`HVPp+r0r_j?c_p%&$^5m8l;zi@xa7gKP-K94(3w7q4g}J45iuu@bECRA7T0tFS=g6RSw_Wetk57J3IT-s{hU+xc6Y)u^E|)j z``?e}A$^ysQ>RXyI$NEpTY1|ui`8PW*zjN1EtZw|rGIYzd-gv9uLqBLW3c7#12#WXUTE%|1~?lJFejVnjOcEPvhqe$2ar+{^Ljackl6q_`Q9{nByM4KVg(V z%D*?xpF59W^~b!*Yq8w@WTwTk?*3Wky91W7mh5!9#j+>IVi}RakBdLRbuL}H`JS)S zC4J~Yh6OkDuXt$Uq17^HiBT!>lel15vP#OOW%LudmPPz{sHGQZS#pP1{GZ8k{5N-~ z<=G)A_y6(bAWIbu<{AEt58ksVh=H&wUS|;EQAM9<;JJ@f$p)TsfZp|NqWH0d?lh-@iqh6YFD*AeyzvTa!5N~_kdsf%%^!Rietr9wm|r# zGnk3L149{}iHCv}xEvcAh)c!sOh^18&1*07=7a!XgIG7tV$p8KWu+w$xoU>q7Kn_V z5xLo}wdtL{@alBM^{Bn(`M4uGJxz@cSAE(hp%rJC!?>S+noF zluHE_YTdMqiSE5O|yr-r^R9-J$j!#P1~TxKCz15fkVO%+bycr8yx1*D$xEg zRqOJ_c3Z{%wj4aq7SE%M8gWGyO#q=nij!5nl_qTU((u~rbZNdM9GaP z!&NOtctrdK_L)GWSnc!_I8W-ju4+3)V0LBl0O;>Xt1vx)%(u0?&vCpjGP7olDCtfsol~rvz90Zbs z#YK$4MsYr2pog}1dTHu2996sut^u|D1%={Ibm@-q;!}Sw#{> zyo|qUq_N;vRKKY;=#V9~E)fE)XUEoGcQZUUAV*`&0|(cj#0F-RAm0a93Nwd*QdT$#lN0A+xtS% zahCU5l)5TDb8zd#A|CLgv)|lS6XRB?9q?K5<+~ZnT_aKCVPdi6DUV3g2a|hE^)muyRLq{}8XvKBnv9jpYG{xm9u-6y* zw44I)ZMwMT9E)XQdvLI}#ssPDkLMbd;scBeeT^^NneTeB;01J~=9eB<{LypN=nYOa znm6+69E(^q%3`^)wWlu4Vo{InLNW&mxC@rn=s|{S{6E051C4Pb8x~ae(9B#b2 zhF)dJSDApAeq}4TTJ0x$O+KdIR9-F==RSL8UN(63TI!$_XKLi8g51;bYB7n?O6?P` zc0kp74C&da6oPOdf#U42SUQzbnm0G%&5z$f zdM$V%6c$b2&}gr=(QiyDum?%G1IJl7PK{qFd23mAUla#%xh_!+TgnuU(Mr2`wio2@ zP{W;e#YKocF(3DF&~KX>tt=KJoy5lR^jFgUW8ToBL>A#91QMz&g?Ehiqmu8XUWJVU zby%8^Ur=hQHjqZ=0v?^{AUnv45qg70O?>&L9HVV8Mwda86^m};$|>IEtGV^)#z){1 zXho$MVP)Vj%dGt-Ow^#-=#1E}Zb6XnXdpnikD6hAxWbZfuR`U%9 zXK&e%Yw>EW`po=D#c)|~{d!Fqeq?hby?rJ57>tt~%R*RcKCKs(eKc(?mbYmFg3BL% ze~`tmtx>g&q7lQ0u4Jf@G4bp0%2}6qHJ@JvzrfRp^@*o5WrcIen2OG{t4Fr0qq@~` zYt@KDugEQFjc2S(M-PBo!j@CRJ@%e^(HoLsFn_~JuC6J$p#kC-Fh98eg=BEiyH(Eu zMR6mZgTj7od+>@*w-g)EjGVnW7NxU-3FC`cF;qL_ITl}pEX|A+dvobBKW@cf_}J1T zpxpM46K&^vOS;2Hv;10{N83_!g+DsFVC4oht>`i3$fvPA)|R%`-RaSs-1KhGrCXGS zwqkGdFrN-a$nt1gYq!x8-`tqDIoGGRV#tGeYBa~D>fJ4AO0xyelyFQB?N=Z*L4o{s z*mLNW`%M~4H0sy7RoA-u0pda2$A9E4*{TAYnlgWMR)JGxOn?lqY4aWVMD2%8x6%*; zI@v%+1wMXlZS8t`rS7(&a1U4u{|~=yxRdam!(AA*DBGfV#o3>$MQBuc^7q3Y0eJ) zqkX;Kga;Fy0jdP?$Y~(@{zHiC*8|6na=S%&a{%!4YHKAfp8%Jmz(u*%8&wDwSPrd( zOmhxKXx-xXL6yD#U&j}dmIpZCjpSmMrqdAT8$;|^o)%Cd7JAI1yf>h*Hk9Ms)V+9M zNBZTe-liVe(USqKim_*rn(D0_gFUEfYem`lB=k0k58@&fAL6n;a^Pu^6Z4jbkjN>yZuUfJSXotY%ry2;c%8PXJUj zP#7E~3x0~{M!^s0vS%L|_Go#Yc)8XBxjL&rHR_c&Ps-O|J-LEedMlx(O0G5+)jW{vsA2eQU%=d8 z$f~#$MS5z8dPJKS(#S}o-VWueh13b{V>R-Y(c@0=JuKlae!iWoEvAH|EBqcNDvT8B z_c&uxkpYW(<>$^l!VzvBDDYxH^Nw1D;5_9#b)2 z)o@$7Yh%sl@w=&2XR_5iZncOo`@nUi&ReOqp@he=+?PhvJ+|8(@ML!Zls96>%!aQ; z)8F-e%|GMZf%j0;=;T_u?AZ-GASEW%z!Y^;W3L-MsunYbqk#6YA2cWh<=w7Lb;EsH zYhX#KelnCrLLHEI)a+O19&+udtyQgu(akyW46ab_SaBJmKPR$+SK#lUU{Tpk1$UFV z;xDKcyWq}KSsKu44bh&Gw zdMhkBVykA1iAaAv2gYW2HQNpPg@aHKGMpoJ@E)|IrMKEcHh5|yU>ECo|N1z`;%Z04 zY+`%!R6G1XsySQ6%UJF^;q7;p+tC3Fq&`^$FsHSh@vGg9dT^?{LC*?aizryxG>+P> z6I%w-?B%eT(mW|wfiXcU*~9kDU_I|gXfWKXYrUa&*d1_^Jco1ejl?k-c~CW|nH`Cy z)1}jfZWf9!*fM944Bngx@!hiBqhKO*}xXhS~+ zshto-2qsk6;b9ZYfS5F9TyQ!HmUO#f2BFzrG;Cu;*LJKz$1Hl@6(}Xce5h>b->MXs z=4%wyCO^Eu=x$io9iCp|WwO`AC*s+$M!!qN4g|L1MTwFh zkvj5dom80Rb)h(i31lCX`^`>^W2bg0(C)6 zA4U1P;AV*D*%(0B${}Zhs$ck*e_{%)Z&*AKB0D{JdH5l_rS4+wdOIT8mcZo$EP=_H zmij^DDP*T9&l zbJtSKP7(N4avjie>UpDgnUe#K0Pzp|CUO|LJdJZnpDH~&Q>t+JVjguaj?#Z7(-L8R z*}$8L(i~(zE&O<&8j(Z|prmR;dzOJvo)-Azv3Rx@?y>^`P*01+GqEjnKrM>3uLPBK zAP+6ig$4(_81+2TodJ(VioY$i7X{TVy@|5%;nDJU1CvKu>amK_<_tuJkRo@i7!qjO z8v49_eLS05)MMU>vCv>oOBQT+Z)1084*~#JwxTW59+ry*e(e)*;pl>Z_9&QjHEfGD z=>gZr!5M+@@w;k<;O|5A8PVF^aai)lAFs~{XouoCjuq?lywA52F%Ja7`du~W3OYOrZ?a^5*ix7BEd6K5*q3iQu5$>_*?_ymwG_}AG!hmK=v&I zY~SjPD(_AjS#NEKIUUQpL5)}_hdYG+Y%u#1&mqd@ldA#%Fm^yXR~kCi8vGYJjAGQr z7H>;Bh~Yyi&|_jOIF_0M@JuDDI^pZJbio;;2R3-2PGw?u$PT!nF0&be0pMA{6joDP zI=}?Ht{B>h1&e`f@8k7XCa{-4ZFt!is$+R9;OYtuq+t%dDnZ8w(clC1fZ}Qm4FM~# zfyYI@Fj|if#p8iqxQJZP3m6z$!hvx7EEUK2wZJfoyh*|mr05D>NIheYA*!Ntvghb% zs}lvgP^dc<9u%@<70D|kU;`RLBt2@hCOv)^v5I7q`m)Rb09S`LOwDZY)BTo5EB8F@RUQWlilfbukr10(W;7mpcd<%Zeh}JXT z>dd!Ch;PA@mvMvOTk!Xpkg}Ud9jX~#KQe&DrKe3*{S(nP1H}A{RS+BmQ)M17YiCd7KI`ZUq^=*Rcbv1bu~IfP$fJl zU9tU-ITlaU3y&hl<W>T_}fW6?}S&ICeK)v)>%pA5k2oZrWI{C0@xvYuZXfT~Ih#d*!T2NAqWBcF{JC^7!T zuYK&KB|V@gnPg;VRuQinjGCaG#|241!FsGP9F*koA4EBg$@3$+WGRFtemueChMoGJ z_~rkQOw8=C4X}V{X6t$D zHUk<)Xn>T~=|xsRq*+07)R1{Fu#dJ_Cpm-mNm)VLBxIvtBE3YAz^b)dj5=_t+NiX)iU*&Sn&V=;?<>op2`;)mMRWX(G{>>$NOPQ7 zcYNdPU!#j^7)bnLKaJXU>2yO~y+-$a6i9-Wrf`xqp+as$S*Q@wA6VZo8R`@ratMNy z@MAyjtU84J4uW%v4heY6z_bU0xuis3JVT3MY10xqlvE=(vq&ART6YPhEiICzQ86R z4FYkbMn{A5Hvu*A6u=?od$jJLBV{ z%@!y-7ycRK9Qa3XXZHC9!+jn{GzNR36=@(EnIH#$OY;w_-0W2+c+rG|WEWG@wM$XG zO>BqAZ35$+A3VpWt<$zSmJd*&L6GSMRif%^Ltg029QJ|ngjBP zgu&g6jH#~8K7|+Oq&ZeVa~!Q5BW;C^ahk`h4foS!WK8GO95VM*Z9pf4KCS{0Bt*E0 zLaYs?_8_@otiQ4{WI|0$5~@=Y%C$JBZZsv}L2k|ErdZH7a#K2A>74Z z|I4JJq4g5&s0n>uX6WYX9hZLi(sbp(N9U-Da~Ll)SjNVv>OrCsX5vK5JqM6ujgiX z3>I)RhNa_)PB95npU`?eE!13p+Mj9&q*A_z^s?+nR!Tqch$2Z_5YBTfXOk)rVILF9 zDYOs$S9g@KCL)7E!=kyC4Hz@BEbxf&3)#&WmNe*I;YG9LbaVDTfNk1kz(igttst%SXzh;WWNjI9mnirZ zdVQP4LeNtuj+CQ)>?R);1`~D@%g}_~Bvk~m&RQWwfxKJKvvz?2lJ-lc3Ik?KZ$jRM z5qU;bpp6oFhQRki)T;bse4y%Di)6cS4_yDUG??;5Yt=1Bk#NdJ5ZOLdFO(^7Q)@Z` zlP6e$L#h6!R3A}^z~ot$kVt??p*^@9(f=KRu*(_D!Cwk^hFt?gnQFK_J&r0n)Gf!6 zIyH)xgRzQL1h00uV#us_z}ZPNN@W`=t!Zn}>5F=*PC}qCOb()kO9vulB`ng(i28zz zs2r>aK~}oKW^6_!Z8;>B*c~g5(F(+=y!sRN!R2xUEXU~e>BJpZ0TaIl%@A?vcxRd@ z2Je#v=+}mL;G;&TVTSIQ7R|ZMTNIlX9e%yhl|x{!aD|<$k`#Xnt|Ha-V6i`HBNG#m zow`gsRf=|iC{7TMUU-Ut$Z!Rt?K8mr5#W-PS-&1cx!g2WiR9W&q9-cdDlJm#!@_=b z5<2vZ^Y#YVWpdtj*s`2@8~&!wS(p{XBf$*uDk*1aZ%O_n5}%&F$G%E|nRN>z*MeTY=^7B&=sL(dDf^HP`BqumQeUtllUS9ZU> z?i%1uYxc;~D8zC=Q>!KxjrD4)waxVCLs&5Anf4yt9Dt3gSogW^x7VyC3{pZQ7(+?_ zQdLXqR5-$cWDPd?JXmmn&_*}F7>>qgVYpyPMcYua6%mv|+;NJBlP>hU{1_pLHO2xx z&&Jom8aPR5lcmcu2UX?-Z?IX!dp`%~xGHk$vIx_4ViWuFRu8n2U&}1ns%^kZb0KA> zVCA8$m9xw!@U~)7e@GfZ!XhU{`K;hC6$ph_bN(N4tegF*Io5vdpO{x}bkeW=vEW&t z>@7L$i9BfcG$S?YssidOylB6+$Lre2-OYxfhVE8IYJ2hjfHzVrfZQfr@7D9K1YU}( zLpun)dpRb4rA8%8H7b+3eGczNdJG?+6xSWvCZbv~5(q#(gbYfy>UoiO zf#}4qLJm)vY|-)a7!scffPBaaT<>xbRhJet0CnI>KaA@H!qud$r}-*cR&}Rt?vS~k zY;z>@lsIrl7CuIM9za>d&na+*8xRx50mT)GA%D!4K3N)x+@i#qq~@I$-kpZEnL*)u z=AA^+ZJ2}Ya{WSr2&MT`*onIzmr3BtKk7Jbi*#~g84DjraB*g2Dh z08f0vq_X-euxk73U;lb!{Z&|Q>6#j~HL$IsgnNp;)>fq`hFtvme6KZzs9;Olq~h9j zssTaKTH8x#iEF+2gkWA7m|SM5zuJUa3Y+OnP)8F~cw}t)6kBT7m~c$U<~_lk$Z#k7 zRsmW1H?qC%O?Xf%j5+T8T8znogdK?X z_{HJgYwIsoR}p{U-)?_Xcc>uTx|wz&ePZ=zcT<+8V>wbOifjMD;QWzvAM8CQgb5#z zK+H5O{A>>Q4y+qZD?s7i3|jnhcgF|e@9*iBp8r`n5<^1=LODw86PqWy3uKPB0h$R5 z$&l^H59PHFPs`5AXpTMp_@suK(4<`i48B zbC;oWxHEcpK6-~cqkFlNPCCL7)K^x@KB9{%mRK)p$&M~*Ah_4npR2WDg%h#IaI67c z)wX1BR>G}%a6tS$S}MGOLW60RS_cpeW&pF{GqI8x_bq9Imec8FuBG-8dU-y~<0YT! z)|ki&Ty7~0EZJizK>3?yrgML2O)x%`3JwTVblPT~&;iGLCGvPbb~Jqp!Q_vOP+DR% zjZGgZHSgz`p@MzTifMi;xd7zPxJ$Z8g1FHai=Z`cRV!hi3(r*RNAQBBUfm?>4G*3w z`L%U^twYS=@`xBkrrRkw!y%nWh&MBS%{GZNK$9s*U-Lpo89P3gO+^4%c}oZRRqaEy z=wmn^s_R71iv?J$4z{KvY>z!cS4^h8p|u?1y)eU4i0SECU4M?>wI(=}N@iFJ=o~0<_i7p{Tyg+0Yp?r&D#ef7J*DJBzSp?dX zjU1*{VgX2^m>7ClZgVr>Ee8V$Ij5%TiX9Li>)U37AH3#I<#iJMA5|G>(cU*Tvu)G)#W=hFmD*0iyg9 z%(x8k0e&!AoJ+&+f5z|adftpx*sGEu%0D#=B=+rKG_j^UGN4VQh?~|^a=7PJPy>sy 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ʟ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î@aoSizph$6H)2TRK;1dz*V*dp$sw6P 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
B#uNs+JU!j;HN#v>tPz`aR&!UhurZiY0> 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

h8P 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

- /// This will set all values for the "Color" tab. - /// - private void ColorIni2Ui() - { - // Pip-Boy Color - this.colorPreviewPipboy.BackColor = this.PipboyColor; - - // Quick-Boy Color - this.colorPreviewQuickboy.BackColor = this.QuickboyColor; - this.colorQuickboyIsDefault = !IniFiles.Instance.Exists("Pipboy", "fQuickBoyEffectColorR"); - - // Power Armor Pip-Boy Color - this.colorPreviewPAPipboy.BackColor = this.PowerArmorPipboyColor; - this.colorPAPipboyIsDefault = !IniFiles.Instance.Exists("Pipboy", "fPAEffectColorR"); - } - - /// - /// This will write all changes made in the "Color" tab to the INI. - /// - private void ColorUi2Ini() - { - bool alternativeMode = IniFiles.Instance.GetBool(IniFile.Config, "Preferences", "bAlternativeINIMode", false); - - // Pip-Boy Color - this.PipboyColor = this.colorPreviewPipboy.BackColor; - - // Quick-Boy Color - if (!this.colorQuickboyIsDefault) - { - this.QuickboyColor = this.colorPreviewQuickboy.BackColor; - } - else - { - IniFiles.Instance.Remove(IniFile.F76Custom, "Pipboy", "fQuickBoyEffectColorR"); - IniFiles.Instance.Remove(IniFile.F76Custom, "Pipboy", "fQuickBoyEffectColorG"); - IniFiles.Instance.Remove(IniFile.F76Custom, "Pipboy", "fQuickBoyEffectColorB"); - if (alternativeMode) - { - IniFiles.Instance.Set(IniFile.F76, "Pipboy", "fQuickBoyEffectColorR", 0.97f); - IniFiles.Instance.Set(IniFile.F76, "Pipboy", "fQuickBoyEffectColorG", 0.94f); - IniFiles.Instance.Set(IniFile.F76, "Pipboy", "fQuickBoyEffectColorB", 0.72f); - } - } - - // Power Armor Pip-Boy Color - if (!this.colorPAPipboyIsDefault) - { - this.PowerArmorPipboyColor = this.colorPreviewPAPipboy.BackColor; - } - else - { - IniFiles.Instance.Remove(IniFile.F76Custom, "Pipboy", "fPAEffectColorR"); - IniFiles.Instance.Remove(IniFile.F76Custom, "Pipboy", "fPAEffectColorG"); - IniFiles.Instance.Remove(IniFile.F76Custom, "Pipboy", "fPAEffectColorB"); - if (alternativeMode) - { - IniFiles.Instance.Set(IniFile.F76, "Pipboy", "fPAEffectColorR", 1.0f); - IniFiles.Instance.Set(IniFile.F76, "Pipboy", "fPAEffectColorG", 0.82f); - IniFiles.Instance.Set(IniFile.F76, "Pipboy", "fPAEffectColorB", 0.41f); - } - } - } - - - - /* - * Getter & Setter - */ - - public Color PipboyColor - { - get - { - float r = Utils.Clamp(IniFiles.Instance.GetFloat("Pipboy", "fPipboyEffectColorR", 0.1f), 0f, 1f); - float g = Utils.Clamp(IniFiles.Instance.GetFloat("Pipboy", "fPipboyEffectColorG", 1.0f), 0f, 1f); - float b = Utils.Clamp(IniFiles.Instance.GetFloat("Pipboy", "fPipboyEffectColorB", 0.5f), 0f, 1f); - return Color.FromArgb( - Convert.ToInt32(r * 255), - Convert.ToInt32(g * 255), - Convert.ToInt32(b * 255) - ); - } - set - { - float r = Convert.ToSingle(value.R) / 255f; - float g = Convert.ToSingle(value.G) / 255f; - float b = Convert.ToSingle(value.B) / 255f; - IniFiles.Instance.Set(IniFile.F76Prefs, "Pipboy", "fPipboyEffectColorR", r); - IniFiles.Instance.Set(IniFile.F76Prefs, "Pipboy", "fPipboyEffectColorG", g); - IniFiles.Instance.Set(IniFile.F76Prefs, "Pipboy", "fPipboyEffectColorB", b); - } - } - - - public Color QuickboyColor - { - get - { - float r = Utils.Clamp(IniFiles.Instance.GetFloat("Pipboy", "fQuickBoyEffectColorR", 1.0f), 0f, 1f); - float g = Utils.Clamp(IniFiles.Instance.GetFloat("Pipboy", "fQuickBoyEffectColorG", 0.78f), 0f, 1f); - float b = Utils.Clamp(IniFiles.Instance.GetFloat("Pipboy", "fQuickBoyEffectColorB", 0.0f), 0f, 1f); - return Color.FromArgb( - Convert.ToInt32(r * 255), - Convert.ToInt32(g * 255), - Convert.ToInt32(b * 255) - ); - } - set - { - float r = Convert.ToSingle(value.R) / 255f; - float g = Convert.ToSingle(value.G) / 255f; - float b = Convert.ToSingle(value.B) / 255f; - bool alternativeMode = IniFiles.Instance.GetBool(IniFile.Config, "Preferences", "bAlternativeINIMode", false); - IniFiles.Instance.Set(!alternativeMode ? IniFile.F76Custom : IniFile.F76, "Pipboy", "fQuickBoyEffectColorR", r); - IniFiles.Instance.Set(!alternativeMode ? IniFile.F76Custom : IniFile.F76, "Pipboy", "fQuickBoyEffectColorG", g); - IniFiles.Instance.Set(!alternativeMode ? IniFile.F76Custom : IniFile.F76, "Pipboy", "fQuickBoyEffectColorB", b); - } - } - - - public Color PowerArmorPipboyColor - { - get - { - float r = Utils.Clamp(IniFiles.Instance.GetFloat("Pipboy", "fPAEffectColorR", 1.0f), 0f, 1f); - float g = Utils.Clamp(IniFiles.Instance.GetFloat("Pipboy", "fPAEffectColorG", 0.78f), 0f, 1f); - float b = Utils.Clamp(IniFiles.Instance.GetFloat("Pipboy", "fPAEffectColorB", 0.0f), 0f, 1f); - return Color.FromArgb( - Convert.ToInt32(r * 255), - Convert.ToInt32(g * 255), - Convert.ToInt32(b * 255) - ); - } - set - { - float r = Convert.ToSingle(value.R) / 255f; - float g = Convert.ToSingle(value.G) / 255f; - float b = Convert.ToSingle(value.B) / 255f; - bool alternativeMode = IniFiles.Instance.GetBool(IniFile.Config, "Preferences", "bAlternativeINIMode", false); - IniFiles.Instance.Set(!alternativeMode ? IniFile.F76Custom : IniFile.F76, "Pipboy", "fPAEffectColorR", r); - IniFiles.Instance.Set(!alternativeMode ? IniFile.F76Custom : IniFile.F76, "Pipboy", "fPAEffectColorG", g); - IniFiles.Instance.Set(!alternativeMode ? IniFile.F76Custom : IniFile.F76, "Pipboy", "fPAEffectColorB", b); - } - } - - - - - /* - * Event handler - */ - - private void buttonColorPickPipboy_Click(object sender, EventArgs e) - { - // Pip-Boy Color - if (this.colorDialog.ShowDialog() == DialogResult.OK) - this.colorPreviewPipboy.BackColor = this.colorDialog.Color; - } - - private void buttonColorResetPipboy_Click(object sender, EventArgs e) - { - // Pip-Boy Color - this.colorPreviewPipboy.BackColor = Color.FromArgb(26, 255, 128); - } - - private void buttonColorPickQuickboy_Click(object sender, EventArgs e) - { - // Quick-Boy Color - if (this.colorDialog.ShowDialog() == DialogResult.OK) - { - this.colorPreviewQuickboy.BackColor = this.colorDialog.Color; - this.colorQuickboyIsDefault = false; - } - } - - private void buttonColorResetQuickboy_Click(object sender, EventArgs e) - { - // Quick-Boy Color - this.colorPreviewQuickboy.BackColor = Color.FromArgb(255, 200, 0); // These are guessed - this.colorQuickboyIsDefault = true; - } - - private void buttonColorPickPAPipboy_Click(object sender, EventArgs e) - { - // Power armor color - if (this.colorDialog.ShowDialog() == DialogResult.OK) - { - this.colorPreviewPAPipboy.BackColor = this.colorDialog.Color; - this.colorPAPipboyIsDefault = false; - } - } - - private void buttonColorResetPAPipboy_Click(object sender, EventArgs e) - { - // Power armor color - this.colorPreviewPAPipboy.BackColor = Color.FromArgb(255, 200, 0); // These are guessed - this.colorPAPipboyIsDefault = true; - } - } -} diff --git a/Fo76ini/Forms/Form1/Form1.Designer.cs b/Fo76ini/Forms/Form1/Form1.Designer.cs index 397ba43..786a7ae 100644 --- a/Fo76ini/Forms/Form1/Form1.Designer.cs +++ b/Fo76ini/Forms/Form1/Form1.Designer.cs @@ -36,22 +36,15 @@ private void InitializeComponent() this.labelFirstPersonFOV = new System.Windows.Forms.Label(); this.labelWorldFOV = new System.Windows.Forms.Label(); this.labelADSFOV = new System.Windows.Forms.Label(); - this.labelPipboyColor = new System.Windows.Forms.Label(); - this.labelQuickboyColor = new System.Windows.Forms.Label(); - this.label1 = new System.Windows.Forms.Label(); this.radioButtonPipboy = new System.Windows.Forms.RadioButton(); this.radioButtonQuickboy = new System.Windows.Forms.RadioButton(); this.numPipboyTargetWidth = new System.Windows.Forms.NumericUpDown(); this.numPipboyTargetHeight = new System.Windows.Forms.NumericUpDown(); this.buttonPipboyTargetReset = new System.Windows.Forms.Button(); this.buttonPipboyTargetSetRecommended = new System.Windows.Forms.Button(); - this.labelDisplayMode = new System.Windows.Forms.Label(); this.numCustomResH = new System.Windows.Forms.NumericUpDown(); this.numCustomResW = new System.Windows.Forms.NumericUpDown(); - this.checkBoxTopMostWindow = new System.Windows.Forms.CheckBox(); - this.labelResolution = new System.Windows.Forms.Label(); this.checkBoxAlwaysActive = new System.Windows.Forms.CheckBox(); - this.labelCustomResolution = new System.Windows.Forms.Label(); this.checkBoxFixHUDFor5_4and4_3 = new System.Windows.Forms.CheckBox(); this.labelAntiAliasing = new System.Windows.Forms.Label(); this.checkBoxVSync = new System.Windows.Forms.CheckBox(); @@ -62,25 +55,12 @@ private void InitializeComponent() this.checkBoxLensFlare = new System.Windows.Forms.CheckBox(); this.checkBoxRadialBlur = new System.Windows.Forms.CheckBox(); this.checkBoxMotionBlur = new System.Windows.Forms.CheckBox(); - this.checkBoxDepthOfField = new System.Windows.Forms.CheckBox(); this.checkBoxAmbientOcclusion = new System.Windows.Forms.CheckBox(); this.checkBoxWaterDisplacement = new System.Windows.Forms.CheckBox(); this.labelShadowTextureResolution = new System.Windows.Forms.Label(); this.labelShadowBlurriness = new System.Windows.Forms.Label(); this.checkBoxGodrays = new System.Windows.Forms.CheckBox(); this.checkBoxGrass = new System.Windows.Forms.CheckBox(); - this.checkBoxIntroVideos = new System.Windows.Forms.CheckBox(); - this.checkBoxShowSplash = new System.Windows.Forms.CheckBox(); - this.checkBoxShowDamageNumbersA = new System.Windows.Forms.CheckBox(); - this.checkBoxShowDamageNumbersNW = new System.Windows.Forms.CheckBox(); - this.checkBoxShowCompass = new System.Windows.Forms.CheckBox(); - this.checkBoxAutoApply = new System.Windows.Forms.CheckBox(); - this.checkBoxSkipBackupQuestion = new System.Windows.Forms.CheckBox(); - this.checkBoxQuitOnGameLaunch = new System.Windows.Forms.CheckBox(); - this.checkBoxReadOnly = new System.Windows.Forms.CheckBox(); - this.checkBoxMultipleGameEditionsUsed = new System.Windows.Forms.CheckBox(); - this.checkBoxDenyNTFSWritePermission = new System.Windows.Forms.CheckBox(); - this.checkBoxFixMouseSensitivity = new System.Windows.Forms.CheckBox(); this.checkBoxFixAimSensitivity = new System.Windows.Forms.CheckBox(); this.checkBoxMouseAcceleration = new System.Windows.Forms.CheckBox(); this.checkBoxGamepadRumble = new System.Windows.Forms.CheckBox(); @@ -109,39 +89,96 @@ private void InitializeComponent() this.checkBoxPushToTalk = new System.Windows.Forms.CheckBox(); this.checkBoxMouseInvertY = new System.Windows.Forms.CheckBox(); this.checkBoxMouseInvertX = new System.Windows.Forms.CheckBox(); - this.checkBoxEnableQuestAutoTrackMain = new System.Windows.Forms.CheckBox(); - this.checkBoxEnableQuestAutoTrackSide = new System.Windows.Forms.CheckBox(); - this.checkBoxEnableQuestAutoTrackMisc = new System.Windows.Forms.CheckBox(); - this.checkBoxEnableQuestAutoTrackEvent = new System.Windows.Forms.CheckBox(); - this.checkBoxEnableQuestAutoTrackDaily = new System.Windows.Forms.CheckBox(); this.checkBoxDialogueHistory = new System.Windows.Forms.CheckBox(); - this.checkBoxEnablePowerArmorHUD = new System.Windows.Forms.CheckBox(); - this.checkBoxShowCrosshair = new System.Windows.Forms.CheckBox(); - this.checkBoxItemRarityColorsNW = new System.Windows.Forms.CheckBox(); - this.checkBoxShowPublicTeamNotifications = new System.Windows.Forms.CheckBox(); - this.checkBoxShowFloatingQuestMarkers = new System.Windows.Forms.CheckBox(); this.sliderFloatingQuestMarkersDistance = new System.Windows.Forms.TrackBar(); - this.checkBoxShowFloatingQuestText = new System.Windows.Forms.CheckBox(); this.sliderConversationHistorySize = new System.Windows.Forms.TrackBar(); - this.checkBoxShowOtherPlayersNames = new System.Windows.Forms.CheckBox(); this.sliderHUDOpacity = new System.Windows.Forms.TrackBar(); this.labelShowActiveEffectsOnHUD = new System.Windows.Forms.Label(); this.labelfDefaultFOV = new System.Windows.Forms.Label(); - this.label2 = new System.Windows.Forms.Label(); - this.sliderfBlendSplitDirShadow = new System.Windows.Forms.TrackBar(); this.labelSwitchDelay = new System.Windows.Forms.Label(); this.labelPitchZoomOutMaxDist = new System.Windows.Forms.Label(); this.labelCameraDistanceMaximum = new System.Windows.Forms.Label(); this.labelCameraDistanceMinimum = new System.Windows.Forms.Label(); this.checkBoxbApplyCameraNodeAnimations = new System.Windows.Forms.CheckBox(); + this.checkBoxDisableGore = new System.Windows.Forms.CheckBox(); + this.labelPhotomodeTranslationSpeed = new System.Windows.Forms.Label(); + this.labelPhotomodeRange = new System.Windows.Forms.Label(); + this.labelPhotomodeRotationSpeed = new System.Windows.Forms.Label(); + this.checkBoxScreenSpaceReflections = new System.Windows.Forms.CheckBox(); + this.sliderfBlendSplitDirShadow = new System.Windows.Forms.TrackBar(); + this.labeliDirShadowSplits = new System.Windows.Forms.Label(); + this.checkBoxTopMostWindow = new System.Windows.Forms.CheckBox(); this.labelScreenshotIndex = new System.Windows.Forms.Label(); - this.checkBoxAlternativeINIMode = new System.Windows.Forms.CheckBox(); - this.checkBoxAutoSignin = new System.Windows.Forms.CheckBox(); - this.checkBoxDisableSteam = new System.Windows.Forms.CheckBox(); + this.labelPipboyColor = new System.Windows.Forms.Label(); + this.labelQuickboyColor = new System.Windows.Forms.Label(); + this.labelPowerArmorColor = new System.Windows.Forms.Label(); + this.checkBoxDepthOfField = new System.Windows.Forms.CheckBox(); + this.labelDisplayMode = new System.Windows.Forms.Label(); + this.checkBoxFixMouseSensitivity = new System.Windows.Forms.CheckBox(); + this.checkBoxEnableQuestAutoTrackMain = new System.Windows.Forms.CheckBox(); + this.checkBoxEnableQuestAutoTrackSide = new System.Windows.Forms.CheckBox(); + this.checkBoxEnableQuestAutoTrackMisc = new System.Windows.Forms.CheckBox(); + this.checkBoxEnableQuestAutoTrackEvent = new System.Windows.Forms.CheckBox(); + this.checkBoxEnableQuestAutoTrackDaily = new System.Windows.Forms.CheckBox(); + this.checkBoxEnablePowerArmorHUD = new System.Windows.Forms.CheckBox(); + this.checkBoxShowOtherPlayersNames = new System.Windows.Forms.CheckBox(); + this.labelResolution = new System.Windows.Forms.Label(); + this.checkBoxIntroVideos = new System.Windows.Forms.CheckBox(); + this.checkBoxShowDamageNumbersA = new System.Windows.Forms.CheckBox(); + this.checkBoxShowDamageNumbersNW = new System.Windows.Forms.CheckBox(); + this.checkBoxShowCompass = new System.Windows.Forms.CheckBox(); + this.checkBoxShowCrosshair = new System.Windows.Forms.CheckBox(); + this.checkBoxItemRarityColorsNW = new System.Windows.Forms.CheckBox(); + this.checkBoxShowPublicTeamNotifications = new System.Windows.Forms.CheckBox(); + this.checkBoxShowFloatingQuestMarkers = new System.Windows.Forms.CheckBox(); + this.checkBoxShowFloatingQuestText = new System.Windows.Forms.CheckBox(); + this.checkBoxSkipSplash = new System.Windows.Forms.CheckBox(); this.colorDialog = new System.Windows.Forms.ColorDialog(); this.timerCheckFiles = new System.Windows.Forms.Timer(this.components); this.openFileDialogGamePath = new System.Windows.Forms.OpenFileDialog(); this.tabPageCamera = new System.Windows.Forms.TabPage(); + this.panel2 = new System.Windows.Forms.Panel(); + this.groupBoxCameraPosition = new System.Windows.Forms.GroupBox(); + this.groupBox3 = new System.Windows.Forms.GroupBox(); + this.numfOverShoulderMeleeCombatAddY = new System.Windows.Forms.NumericUpDown(); + this.labelfOverShoulderMeleeCombatAddY = new System.Windows.Forms.Label(); + this.numfOverShoulderMeleeCombatPosX = new System.Windows.Forms.NumericUpDown(); + this.numfOverShoulderMeleeCombatPosZ = new System.Windows.Forms.NumericUpDown(); + this.trackBarfOverShoulderMeleeCombatAddY = new System.Windows.Forms.TrackBar(); + this.labelfOverShoulderMeleeCombatPosX = new System.Windows.Forms.Label(); + this.trackBarfOverShoulderMeleeCombatPosX = new System.Windows.Forms.TrackBar(); + this.labelfOverShoulderMeleeCombatPosZ = new System.Windows.Forms.Label(); + this.trackBarfOverShoulderMeleeCombatPosZ = new System.Windows.Forms.TrackBar(); + this.groupBox2 = new System.Windows.Forms.GroupBox(); + this.numfOverShoulderCombatAddY = new System.Windows.Forms.NumericUpDown(); + this.numfOverShoulderCombatPosX = new System.Windows.Forms.NumericUpDown(); + this.numfOverShoulderCombatPosZ = new System.Windows.Forms.NumericUpDown(); + this.labelfOverShoulderCombatAddY = new System.Windows.Forms.Label(); + this.trackBarfOverShoulderCombatAddY = new System.Windows.Forms.TrackBar(); + this.labelfOverShoulderCombatPosX = new System.Windows.Forms.Label(); + this.trackBarfOverShoulderCombatPosX = new System.Windows.Forms.TrackBar(); + this.labelfOverShoulderCombatPosZ = new System.Windows.Forms.Label(); + this.trackBarfOverShoulderCombatPosZ = new System.Windows.Forms.TrackBar(); + this.buttonCameraPositionReset = new System.Windows.Forms.Button(); + this.groupBoxUnarmedCameraPosition = new System.Windows.Forms.GroupBox(); + this.numfOverShoulderPosX = new System.Windows.Forms.NumericUpDown(); + this.numfOverShoulderPosZ = new System.Windows.Forms.NumericUpDown(); + this.labelfOverShoulderPosX = new System.Windows.Forms.Label(); + this.trackBarfOverShoulderPosX = new System.Windows.Forms.TrackBar(); + this.labelfOverShoulderPosZ = new System.Windows.Forms.Label(); + this.trackBarfOverShoulderPosZ = new System.Windows.Forms.TrackBar(); + this.groupBoxSelfieCamera = new System.Windows.Forms.GroupBox(); + this.trackBarPhotomodeRange = new System.Windows.Forms.TrackBar(); + this.numericUpDownPhotomodeRotationSpeed = new System.Windows.Forms.NumericUpDown(); + this.trackBarPhotomodeRotationSpeed = new System.Windows.Forms.TrackBar(); + this.numericUpDownPhotomodeRange = new System.Windows.Forms.NumericUpDown(); + this.numericUpDownPhotomodeTranslationSpeed = new System.Windows.Forms.NumericUpDown(); + this.trackBarPhotomodeTranslationSpeed = new System.Windows.Forms.TrackBar(); + this.groupBoxFieldOfView = new System.Windows.Forms.GroupBox(); + this.numfDefaultFOV = new System.Windows.Forms.NumericUpDown(); + this.numADSFOV = new System.Windows.Forms.NumericUpDown(); + this.numWorldFOV = new System.Windows.Forms.NumericUpDown(); + this.numFirstPersonFOV = new System.Windows.Forms.NumericUpDown(); this.groupBoxCameraOptions = new System.Windows.Forms.GroupBox(); this.numCameraSwitchDelay = new System.Windows.Forms.NumericUpDown(); this.groupBoxCameraDistance = new System.Windows.Forms.GroupBox(); @@ -151,42 +188,34 @@ private void InitializeComponent() this.numCameraDistanceMinimum = new System.Windows.Forms.NumericUpDown(); this.sliderCameraDistanceMaximum = new System.Windows.Forms.TrackBar(); this.sliderCameraDistanceMinimum = new System.Windows.Forms.TrackBar(); - this.groupBoxCameraPositionWIP = new System.Windows.Forms.GroupBox(); - this.buttonCameraPositionCenter = new System.Windows.Forms.Button(); - this.buttonCameraPositionReset = new System.Windows.Forms.Button(); - this.labelCameraPositionPlayer = new System.Windows.Forms.Label(); - this.labelCameraPositionFor = new System.Windows.Forms.Label(); - this.radioButtonCameraPositionMeleeCombat = new System.Windows.Forms.RadioButton(); - this.radioButtonCameraPositionCombat = new System.Windows.Forms.RadioButton(); - this.radioButtonCameraPositionUnarmed = new System.Windows.Forms.RadioButton(); - this.labelCameraFurther = new System.Windows.Forms.Label(); - this.labelCameraCloser = new System.Windows.Forms.Label(); - this.labelCameraUp = new System.Windows.Forms.Label(); - this.labelCameraDown = new System.Windows.Forms.Label(); - this.labelCameraRight = new System.Windows.Forms.Label(); - this.labelCameraLeft = new System.Windows.Forms.Label(); - this.trackBarCameraX = new System.Windows.Forms.TrackBar(); - this.trackBarCameraZ = new System.Windows.Forms.TrackBar(); - this.trackBarCameraY = new System.Windows.Forms.TrackBar(); - this.pictureBoxVaultBoy = new System.Windows.Forms.PictureBox(); - this.groupBoxFieldOfView = new System.Windows.Forms.GroupBox(); - this.numfDefaultFOV = new System.Windows.Forms.NumericUpDown(); - this.numADSFOV = new System.Windows.Forms.NumericUpDown(); - this.numWorldFOV = new System.Windows.Forms.NumericUpDown(); - this.numFirstPersonFOV = new System.Windows.Forms.NumericUpDown(); - this.groupBoxCameraVanity = new System.Windows.Forms.GroupBox(); this.tabPagePipBoy = new System.Windows.Forms.TabPage(); + this.groupBoxPipboyColorPresets = new System.Windows.Forms.GroupBox(); + this.colorPreviewPresetFo76Green = new Fo76ini.Forms.Form1.ColorPreview(); + this.colorPreviewPresetFo3Green = new Fo76ini.Forms.Form1.ColorPreview(); + this.colorPreviewPresetFo3White = new Fo76ini.Forms.Form1.ColorPreview(); + this.buttonPresetFo3Green = new System.Windows.Forms.Button(); + this.buttonPresetFo3White = new System.Windows.Forms.Button(); + this.buttonPresetFoNVAmber = new System.Windows.Forms.Button(); + this.buttonPresetFo76Green = new System.Windows.Forms.Button(); + this.colorPreviewPresetFoNVAmber = new Fo76ini.Forms.Form1.ColorPreview(); + this.colorPreviewPresetFo3Blue = new Fo76ini.Forms.Form1.ColorPreview(); + this.buttonPresetFo4Green = new System.Windows.Forms.Button(); + this.colorPreviewPresetFo4Green = new Fo76ini.Forms.Form1.ColorPreview(); + this.buttonPresetFo3Blue = new System.Windows.Forms.Button(); + this.groupBoxPipboyColorPreview = new System.Windows.Forms.GroupBox(); + this.labelPipboyColorPreviewNotice = new System.Windows.Forms.Label(); + this.pictureBoxPipboyPreview = new System.Windows.Forms.PictureBox(); this.groupBoxPipboyResolution = new System.Windows.Forms.GroupBox(); this.labelPipboyResolutionSideNote = new System.Windows.Forms.Label(); this.labelPipboyResolutionSpacer = new System.Windows.Forms.Label(); this.groupBoxPipboyMode = new System.Windows.Forms.GroupBox(); this.groupBoxPipboyColors = new System.Windows.Forms.GroupBox(); - this.colorPreviewPAPipboy = new System.Windows.Forms.PictureBox(); + this.colorPreviewQuickboy = new Fo76ini.Forms.Form1.ColorPreview(); + this.colorPreviewPAPipboy = new Fo76ini.Forms.Form1.ColorPreview(); + this.colorPreviewPipboy = new Fo76ini.Forms.Form1.ColorPreview(); this.buttonColorPickPAPipboy = new System.Windows.Forms.Button(); this.buttonColorResetPipboy = new System.Windows.Forms.Button(); this.buttonColorResetPAPipboy = new System.Windows.Forms.Button(); - this.colorPreviewPipboy = new System.Windows.Forms.PictureBox(); - this.colorPreviewQuickboy = new System.Windows.Forms.PictureBox(); this.buttonColorPickQuickboy = new System.Windows.Forms.Button(); this.buttonColorResetQuickboy = new System.Windows.Forms.Button(); this.buttonColorPickPipboy = new System.Windows.Forms.Button(); @@ -198,6 +227,7 @@ private void InitializeComponent() this.tabPageVideo = new System.Windows.Forms.TabPage(); this.panel3 = new System.Windows.Forms.Panel(); this.groupBoxGraphics = new System.Windows.Forms.GroupBox(); + this.groupBoxGraphicEffects = new System.Windows.Forms.GroupBox(); this.groupBoxTAASharpening = new System.Windows.Forms.GroupBox(); this.labelTAAPostSharpen = new System.Windows.Forms.Label(); this.numTAAPostSharpen = new System.Windows.Forms.NumericUpDown(); @@ -217,9 +247,6 @@ private void InitializeComponent() this.labelLODObjects = new System.Windows.Forms.Label(); this.groupBoxLighting = new System.Windows.Forms.GroupBox(); this.groupBoxShadows = new System.Windows.Forms.GroupBox(); - this.numfBlendSplitDirShadow = new System.Windows.Forms.NumericUpDown(); - this.labelfBlendSplitDirShadow = new System.Windows.Forms.Label(); - this.comboBoxiDirShadowSplits = new System.Windows.Forms.ComboBox(); this.comboBoxShadowBlurriness = new System.Windows.Forms.ComboBox(); this.numShadowDistance = new System.Windows.Forms.NumericUpDown(); this.labelShadowDistance = new System.Windows.Forms.Label(); @@ -232,6 +259,7 @@ private void InitializeComponent() this.comboBoxDisplayMode = new System.Windows.Forms.ComboBox(); this.comboBoxResolution = new System.Windows.Forms.ComboBox(); this.buttonDetectResolution = new System.Windows.Forms.Button(); + this.labelCustomResolution = new System.Windows.Forms.Label(); this.labelCustomResolutionSpacer = new System.Windows.Forms.Label(); this.tabPageGeneral = new System.Windows.Forms.TabPage(); this.panel4 = new System.Windows.Forms.Panel(); @@ -244,15 +272,26 @@ private void InitializeComponent() this.groupBoxQuests = new System.Windows.Forms.GroupBox(); this.groupBoxMainMenu = new System.Windows.Forms.GroupBox(); this.groupBoxLogin = new System.Windows.Forms.GroupBox(); - this.radioButtonAccount8 = new System.Windows.Forms.RadioButton(); - this.radioButtonAccount7 = new System.Windows.Forms.RadioButton(); - this.radioButtonAccount6 = new System.Windows.Forms.RadioButton(); - this.radioButtonAccount5 = new System.Windows.Forms.RadioButton(); - this.radioButtonAccount4 = new System.Windows.Forms.RadioButton(); - this.radioButtonAccount3 = new System.Windows.Forms.RadioButton(); - this.radioButtonAccount2 = new System.Windows.Forms.RadioButton(); + this.groupBoxLoginProfiles = new System.Windows.Forms.GroupBox(); + this.radioButtonAccountNone = new System.Windows.Forms.RadioButton(); this.radioButtonAccount1 = new System.Windows.Forms.RadioButton(); - this.labelAccountProfiles = new System.Windows.Forms.Label(); + this.radioButtonAccount16 = new System.Windows.Forms.RadioButton(); + this.radioButtonAccount2 = new System.Windows.Forms.RadioButton(); + this.radioButtonAccount15 = new System.Windows.Forms.RadioButton(); + this.radioButtonAccount3 = new System.Windows.Forms.RadioButton(); + this.radioButtonAccount14 = new System.Windows.Forms.RadioButton(); + this.radioButtonAccount4 = new System.Windows.Forms.RadioButton(); + this.radioButtonAccount13 = new System.Windows.Forms.RadioButton(); + this.radioButtonAccount5 = new System.Windows.Forms.RadioButton(); + this.radioButtonAccount12 = new System.Windows.Forms.RadioButton(); + this.radioButtonAccount6 = new System.Windows.Forms.RadioButton(); + this.radioButtonAccount11 = new System.Windows.Forms.RadioButton(); + this.radioButtonAccount7 = new System.Windows.Forms.RadioButton(); + this.radioButtonAccount10 = new System.Windows.Forms.RadioButton(); + this.radioButtonAccount8 = new System.Windows.Forms.RadioButton(); + this.radioButtonAccount9 = new System.Windows.Forms.RadioButton(); + this.checkBoxAutoSignin = new System.Windows.Forms.CheckBox(); + this.checkBoxEnableSteam = new System.Windows.Forms.CheckBox(); this.labelCredentialsExplanation = new System.Windows.Forms.Label(); this.textBoxPassword = new System.Windows.Forms.TextBox(); this.textBoxUserName = new System.Windows.Forms.TextBox(); @@ -260,6 +299,9 @@ private void InitializeComponent() this.labelPassword = new System.Windows.Forms.Label(); this.labelUserName = new System.Windows.Forms.Label(); this.tabPageInfo = new System.Windows.Forms.TabPage(); + this.groupBoxSettings = new System.Windows.Forms.GroupBox(); + this.linkLabelOpenSettings = new System.Windows.Forms.LinkLabel(); + this.labelSettingsNotice = new System.Windows.Forms.Label(); this.linkLabelWhatsNew = new System.Windows.Forms.LinkLabel(); this.linkLabelAttribution = new System.Windows.Forms.LinkLabel(); this.panelUpdate = new System.Windows.Forms.Panel(); @@ -268,46 +310,6 @@ private void InitializeComponent() this.pictureBoxUpdateButton = new System.Windows.Forms.PictureBox(); this.labelNWModeActive = new System.Windows.Forms.Label(); this.pictureBoxSpinnerCheckForUpdates = new System.Windows.Forms.PictureBox(); - this.panel1 = new System.Windows.Forms.Panel(); - this.groupBoxNuclearWinterMode = new System.Windows.Forms.GroupBox(); - this.checkBoxNWAutoDeployMods = new System.Windows.Forms.CheckBox(); - this.labelNWmodoptions = new System.Windows.Forms.Label(); - this.labelNWdlloptions = new System.Windows.Forms.Label(); - this.labelNWinioptions = new System.Windows.Forms.Label(); - this.radioButtonNWRemoveLists = new System.Windows.Forms.RadioButton(); - this.radioButtonNWRenameINI = new System.Windows.Forms.RadioButton(); - this.checkBoxNWAutoDisableMods = new System.Windows.Forms.CheckBox(); - this.checkBoxNWRenameDLL = new System.Windows.Forms.CheckBox(); - this.groupBoxLocalization = new System.Windows.Forms.GroupBox(); - this.buttonRefreshLanguage = new System.Windows.Forms.Button(); - this.pictureBoxSpinnerDownloadLanguages = new System.Windows.Forms.PictureBox(); - this.labelOutdatedLanguage = new System.Windows.Forms.Label(); - this.labelLanguage = new System.Windows.Forms.Label(); - this.buttonDownloadLanguages = new System.Windows.Forms.Button(); - this.comboBoxLanguage = new System.Windows.Forms.ComboBox(); - this.groupBoxGameEdition = new System.Windows.Forms.GroupBox(); - this.pictureBoxMSStore = new System.Windows.Forms.PictureBox(); - this.pictureBoxSteam = new System.Windows.Forms.PictureBox(); - this.pictureBoxBethesdaNetPTS = new System.Windows.Forms.PictureBox(); - this.pictureBoxBethesdaNet = new System.Windows.Forms.PictureBox(); - this.radioButtonEditionMSStore = new System.Windows.Forms.RadioButton(); - this.radioButtonEditionBethesdaNetPTS = new System.Windows.Forms.RadioButton(); - this.radioButtonEditionSteam = new System.Windows.Forms.RadioButton(); - this.radioButtonEditionBethesdaNet = new System.Windows.Forms.RadioButton(); - this.groupBoxLaunchOptions = new System.Windows.Forms.GroupBox(); - this.labelLaunchOptionMSStoreNotice = new System.Windows.Forms.Label(); - this.labelLaunchOptionTip = new System.Windows.Forms.Label(); - this.radioButtonLaunchViaExecutable = new System.Windows.Forms.RadioButton(); - this.radioButtonLaunchViaLink = new System.Windows.Forms.RadioButton(); - this.groupBoxGamePaths = new System.Windows.Forms.GroupBox(); - this.labelGamePath = new System.Windows.Forms.Label(); - this.textBoxGamePath = new System.Windows.Forms.TextBox(); - this.buttonPickGamePath = new System.Windows.Forms.Button(); - this.groupBoxOptions = new System.Windows.Forms.GroupBox(); - this.groupBoxBehavior = new System.Windows.Forms.GroupBox(); - this.checkBoxPlayNotificationSound = new System.Windows.Forms.CheckBox(); - this.checkBoxIgnoreUpdates = new System.Windows.Forms.CheckBox(); - this.checkBoxOpenManageModsOnLaunch = new System.Windows.Forms.CheckBox(); this.labelGameEdition = new System.Windows.Forms.Label(); this.pictureBoxGameEdition = new System.Windows.Forms.PictureBox(); this.pictureBox1 = new System.Windows.Forms.PictureBox(); @@ -367,20 +369,34 @@ private void InitializeComponent() this.comboBoxCustomFile = new System.Windows.Forms.ComboBox(); this.labelCustomFile = new System.Windows.Forms.Label(); this.textBoxCustom = new System.Windows.Forms.TextBox(); + this.tabPageDangerZone = new System.Windows.Forms.TabPage(); + this.groupBoxVideoDZ = new System.Windows.Forms.GroupBox(); + this.groupBoxShadows2 = new System.Windows.Forms.GroupBox(); + this.comboBoxiDirShadowSplits = new System.Windows.Forms.ComboBox(); + this.labelfBlendSplitDirShadow = new System.Windows.Forms.Label(); + this.numfBlendSplitDirShadow = new System.Windows.Forms.NumericUpDown(); + this.groupBox4 = new System.Windows.Forms.GroupBox(); + this.backgroundWorkerLoadGallery = new System.ComponentModel.BackgroundWorker(); + this.backgroundWorkerGetLatestVersion = new System.ComponentModel.BackgroundWorker(); + this.contextMenuStripGallery = new System.Windows.Forms.ContextMenuStrip(this.components); + this.openToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.openFolderToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.toolStripSeparator7 = new System.Windows.Forms.ToolStripSeparator(); + this.cutToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.copyToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.toolStripSeparator8 = new System.Windows.Forms.ToolStripSeparator(); + this.deleteToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.toolStripSeparator3 = new System.Windows.Forms.ToolStripSeparator(); + this.toolStripSeparator9 = new System.Windows.Forms.ToolStripSeparator(); this.toolStrip1 = new System.Windows.Forms.ToolStrip(); this.toolStripButtonApply = new System.Windows.Forms.ToolStripButton(); - this.toolStripButtonToggleNuclearWinterMode = new System.Windows.Forms.ToolStripButton(); - this.toolStripSplitButtonLaunchGame = new System.Windows.Forms.ToolStripSplitButton(); - this.launchViaSteamToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.launchViaBethesdanetToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.launchViaBethesdanetPTSToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.toolStripSeparator1 = new System.Windows.Forms.ToolStripSeparator(); + this.toolStripButtonLaunchGame = new System.Windows.Forms.ToolStripButton(); this.toolStripButtonManageMods = new System.Windows.Forms.ToolStripButton(); - this.toolStripSeparator2 = new System.Windows.Forms.ToolStripSeparator(); + this.toolStripButtonToggleNuclearWinterMode = new System.Windows.Forms.ToolStripButton(); + this.toolStripButtonSettings = new System.Windows.Forms.ToolStripButton(); this.toolStripSplitButtonUpdate = new System.Windows.Forms.ToolStripSplitButton(); this.updateToolToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.checkForUpdatesToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.downloadUpdateLanguageFilesToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.showUpdaterlogtxtToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.toolStripDropDownButtonExplore = new System.Windows.Forms.ToolStripDropDownButton(); this.gameFolderToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); @@ -396,21 +412,13 @@ private void InitializeComponent() this.editFallout76iniToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.editFallout76PrefsiniToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.editFallout76CustominiToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.toolStripSeparator3 = new System.Windows.Forms.ToolStripSeparator(); - this.toolStripButtonNexusMods = new System.Windows.Forms.ToolStripButton(); - this.backgroundWorkerLoadGallery = new System.ComponentModel.BackgroundWorker(); - this.backgroundWorkerGetLatestVersion = new System.ComponentModel.BackgroundWorker(); - this.backgroundWorkerDownloadLanguages = new System.ComponentModel.BackgroundWorker(); - this.contextMenuStripGallery = new System.Windows.Forms.ContextMenuStrip(this.components); - this.openToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.openFolderToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.toolStripSeparator7 = new System.Windows.Forms.ToolStripSeparator(); - this.cutToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.copyToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.toolStripSeparator8 = new System.Windows.Forms.ToolStripSeparator(); - this.deleteToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.backgroundWorkerEnableNWMode = new System.ComponentModel.BackgroundWorker(); - this.backgroundWorkerDisableNWMode = new System.ComponentModel.BackgroundWorker(); + this.statusStrip1 = new System.Windows.Forms.StatusStrip(); + this.toolStripStatusLabelGame = new System.Windows.Forms.ToolStripStatusLabel(); + this.toolStripStatusLabelGameText = new System.Windows.Forms.ToolStripStatusLabel(); + this.toolStripStatusLabelEdition = new System.Windows.Forms.ToolStripStatusLabel(); + this.toolStripStatusLabelEditionText = new System.Windows.Forms.ToolStripStatusLabel(); + this.toolStripStatusLabel1 = new System.Windows.Forms.ToolStripStatusLabel(); + this.toolStripStatusLabelNuclearWinterModeActive = new System.Windows.Forms.ToolStripStatusLabel(); this.pictureBoxLoadingGIF = new System.Windows.Forms.PictureBox(); ((System.ComponentModel.ISupportInitialize)(this.numPipboyTargetWidth)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.numPipboyTargetHeight)).BeginInit(); @@ -438,6 +446,39 @@ private void InitializeComponent() ((System.ComponentModel.ISupportInitialize)(this.sliderHUDOpacity)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.sliderfBlendSplitDirShadow)).BeginInit(); this.tabPageCamera.SuspendLayout(); + this.panel2.SuspendLayout(); + this.groupBoxCameraPosition.SuspendLayout(); + this.groupBox3.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.numfOverShoulderMeleeCombatAddY)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.numfOverShoulderMeleeCombatPosX)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.numfOverShoulderMeleeCombatPosZ)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.trackBarfOverShoulderMeleeCombatAddY)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.trackBarfOverShoulderMeleeCombatPosX)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.trackBarfOverShoulderMeleeCombatPosZ)).BeginInit(); + this.groupBox2.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.numfOverShoulderCombatAddY)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.numfOverShoulderCombatPosX)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.numfOverShoulderCombatPosZ)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.trackBarfOverShoulderCombatAddY)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.trackBarfOverShoulderCombatPosX)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.trackBarfOverShoulderCombatPosZ)).BeginInit(); + this.groupBoxUnarmedCameraPosition.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.numfOverShoulderPosX)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.numfOverShoulderPosZ)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.trackBarfOverShoulderPosX)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.trackBarfOverShoulderPosZ)).BeginInit(); + this.groupBoxSelfieCamera.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.trackBarPhotomodeRange)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.numericUpDownPhotomodeRotationSpeed)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.trackBarPhotomodeRotationSpeed)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.numericUpDownPhotomodeRange)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.numericUpDownPhotomodeTranslationSpeed)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.trackBarPhotomodeTranslationSpeed)).BeginInit(); + this.groupBoxFieldOfView.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.numfDefaultFOV)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.numADSFOV)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.numWorldFOV)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.numFirstPersonFOV)).BeginInit(); this.groupBoxCameraOptions.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.numCameraSwitchDelay)).BeginInit(); this.groupBoxCameraDistance.SuspendLayout(); @@ -447,24 +488,22 @@ private void InitializeComponent() ((System.ComponentModel.ISupportInitialize)(this.numCameraDistanceMinimum)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.sliderCameraDistanceMaximum)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.sliderCameraDistanceMinimum)).BeginInit(); - this.groupBoxCameraPositionWIP.SuspendLayout(); - ((System.ComponentModel.ISupportInitialize)(this.trackBarCameraX)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.trackBarCameraZ)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.trackBarCameraY)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.pictureBoxVaultBoy)).BeginInit(); - this.groupBoxFieldOfView.SuspendLayout(); - ((System.ComponentModel.ISupportInitialize)(this.numfDefaultFOV)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.numADSFOV)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.numWorldFOV)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.numFirstPersonFOV)).BeginInit(); - this.groupBoxCameraVanity.SuspendLayout(); this.tabPagePipBoy.SuspendLayout(); + this.groupBoxPipboyColorPresets.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.colorPreviewPresetFo76Green)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.colorPreviewPresetFo3Green)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.colorPreviewPresetFo3White)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.colorPreviewPresetFoNVAmber)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.colorPreviewPresetFo3Blue)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.colorPreviewPresetFo4Green)).BeginInit(); + this.groupBoxPipboyColorPreview.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.pictureBoxPipboyPreview)).BeginInit(); this.groupBoxPipboyResolution.SuspendLayout(); this.groupBoxPipboyMode.SuspendLayout(); this.groupBoxPipboyColors.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.colorPreviewQuickboy)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.colorPreviewPAPipboy)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.colorPreviewPipboy)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.colorPreviewQuickboy)).BeginInit(); this.tabPageControls.SuspendLayout(); this.groupBoxGamepad.SuspendLayout(); this.groupBoxMouse.SuspendLayout(); @@ -472,6 +511,7 @@ private void InitializeComponent() this.tabPageVideo.SuspendLayout(); this.panel3.SuspendLayout(); this.groupBoxGraphics.SuspendLayout(); + this.groupBoxGraphicEffects.SuspendLayout(); this.groupBoxTAASharpening.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.numTAAPostSharpen)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.numTAAPostOverlay)).BeginInit(); @@ -483,7 +523,6 @@ private void InitializeComponent() ((System.ComponentModel.ISupportInitialize)(this.numLODObjects)).BeginInit(); this.groupBoxLighting.SuspendLayout(); this.groupBoxShadows.SuspendLayout(); - ((System.ComponentModel.ISupportInitialize)(this.numfBlendSplitDirShadow)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.numShadowDistance)).BeginInit(); this.groupBoxWater.SuspendLayout(); this.groupBoxWeather.SuspendLayout(); @@ -497,23 +536,12 @@ private void InitializeComponent() this.groupBoxQuests.SuspendLayout(); this.groupBoxMainMenu.SuspendLayout(); this.groupBoxLogin.SuspendLayout(); + this.groupBoxLoginProfiles.SuspendLayout(); this.tabPageInfo.SuspendLayout(); + this.groupBoxSettings.SuspendLayout(); this.panelUpdate.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.pictureBoxUpdateButton)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.pictureBoxSpinnerCheckForUpdates)).BeginInit(); - this.panel1.SuspendLayout(); - this.groupBoxNuclearWinterMode.SuspendLayout(); - this.groupBoxLocalization.SuspendLayout(); - ((System.ComponentModel.ISupportInitialize)(this.pictureBoxSpinnerDownloadLanguages)).BeginInit(); - this.groupBoxGameEdition.SuspendLayout(); - ((System.ComponentModel.ISupportInitialize)(this.pictureBoxMSStore)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.pictureBoxSteam)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.pictureBoxBethesdaNetPTS)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.pictureBoxBethesdaNet)).BeginInit(); - this.groupBoxLaunchOptions.SuspendLayout(); - this.groupBoxGamePaths.SuspendLayout(); - this.groupBoxOptions.SuspendLayout(); - this.groupBoxBehavior.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.pictureBoxGameEdition)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.pictureBox2)).BeginInit(); @@ -540,15 +568,22 @@ private void InitializeComponent() ((System.ComponentModel.ISupportInitialize)(this.sliderGalleryThumbnailSize)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.numScreenshotIndex)).BeginInit(); this.tabPageCustom.SuspendLayout(); - this.toolStrip1.SuspendLayout(); + this.tabPageDangerZone.SuspendLayout(); + this.groupBoxVideoDZ.SuspendLayout(); + this.groupBoxShadows2.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.numfBlendSplitDirShadow)).BeginInit(); + this.groupBox4.SuspendLayout(); this.contextMenuStripGallery.SuspendLayout(); + this.toolStrip1.SuspendLayout(); + this.statusStrip1.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.pictureBoxLoadingGIF)).BeginInit(); this.SuspendLayout(); // // toolTip // - this.toolTip.AutoPopDelay = 10000; + this.toolTip.AutoPopDelay = 20000; this.toolTip.InitialDelay = 500; + this.toolTip.IsBalloon = true; this.toolTip.ReshowDelay = 100; // // checkBoxVanityMode @@ -556,11 +591,11 @@ private void InitializeComponent() this.checkBoxVanityMode.AutoSize = true; this.checkBoxVanityMode.Checked = true; this.checkBoxVanityMode.CheckState = System.Windows.Forms.CheckState.Checked; - this.checkBoxVanityMode.Location = new System.Drawing.Point(9, 22); + this.checkBoxVanityMode.Location = new System.Drawing.Point(9, 55); this.checkBoxVanityMode.Name = "checkBoxVanityMode"; - this.checkBoxVanityMode.Size = new System.Drawing.Size(143, 17); + this.checkBoxVanityMode.Size = new System.Drawing.Size(208, 17); this.checkBoxVanityMode.TabIndex = 3; - this.checkBoxVanityMode.Text = "Enable auto vanity mode"; + this.checkBoxVanityMode.Text = "Enable spinning camera when inactive"; this.toolTip.SetToolTip(this.checkBoxVanityMode, resources.GetString("checkBoxVanityMode.ToolTip")); this.checkBoxVanityMode.UseVisualStyleBackColor = true; // @@ -569,7 +604,7 @@ private void InitializeComponent() this.checkBoxForceVanityMode.AutoSize = true; this.checkBoxForceVanityMode.Checked = true; this.checkBoxForceVanityMode.CheckState = System.Windows.Forms.CheckState.Checked; - this.checkBoxForceVanityMode.Location = new System.Drawing.Point(28, 45); + this.checkBoxForceVanityMode.Location = new System.Drawing.Point(28, 78); this.checkBoxForceVanityMode.Name = "checkBoxForceVanityMode"; this.checkBoxForceVanityMode.Size = new System.Drawing.Size(137, 17); this.checkBoxForceVanityMode.TabIndex = 4; @@ -611,45 +646,11 @@ private void InitializeComponent() this.labelADSFOV.Text = "3rd person aim FOV:"; this.toolTip.SetToolTip(this.labelADSFOV, "Changes the field of view of the 3rd person perspective while aiming.\r\n\r\nDefault:" + " 50\r\nAffected values: f3rdPersonAimFOV\r\nAffected files: Fallout76Custom.ini"); - // - // labelPipboyColor - // - this.labelPipboyColor.AutoSize = true; - this.labelPipboyColor.Location = new System.Drawing.Point(39, 24); - this.labelPipboyColor.Name = "labelPipboyColor"; - this.labelPipboyColor.Size = new System.Drawing.Size(70, 13); - this.labelPipboyColor.TabIndex = 32; - this.labelPipboyColor.Text = "Pip-Boy Color"; - this.toolTip.SetToolTip(this.labelPipboyColor, "Affected values: fPipboyEffectColorR, fPipboyEffectColorG, fPipboyEffectColorB\r\nA" + - "ffected files: Fallout76Prefs.ini"); - // - // labelQuickboyColor - // - this.labelQuickboyColor.AutoSize = true; - this.labelQuickboyColor.Location = new System.Drawing.Point(39, 53); - this.labelQuickboyColor.Name = "labelQuickboyColor"; - this.labelQuickboyColor.Size = new System.Drawing.Size(83, 13); - this.labelQuickboyColor.TabIndex = 34; - this.labelQuickboyColor.Text = "Quick-Boy Color"; - this.toolTip.SetToolTip(this.labelQuickboyColor, "Affected values: fQuickBoyEffectColorR, fQuickBoyEffectColorG, fQuickBoyEffectCol" + - "orB\r\nAffected files: Fallout76Custom.ini"); - // - // label1 - // - this.label1.AutoSize = true; - this.label1.Location = new System.Drawing.Point(39, 82); - this.label1.Name = "label1"; - this.label1.Size = new System.Drawing.Size(94, 13); - this.label1.TabIndex = 37; - this.label1.Text = "Power Armor Color"; - this.toolTip.SetToolTip(this.label1, "Changes the color of the Pip-Boy which is accessed from the Power Armor.\r\n\r\nAffec" + - "ted values: fPAEffectColorR, fPAEffectColorG, fPAEffectColorB\r\nAffected files: F" + - "allout76Custom.ini"); // // radioButtonPipboy // this.radioButtonPipboy.AutoSize = true; - this.radioButtonPipboy.Location = new System.Drawing.Point(11, 19); + this.radioButtonPipboy.Location = new System.Drawing.Point(11, 17); this.radioButtonPipboy.Name = "radioButtonPipboy"; this.radioButtonPipboy.Size = new System.Drawing.Size(80, 17); this.radioButtonPipboy.TabIndex = 36; @@ -661,7 +662,7 @@ private void InitializeComponent() // radioButtonQuickboy // this.radioButtonQuickboy.AutoSize = true; - this.radioButtonQuickboy.Location = new System.Drawing.Point(11, 42); + this.radioButtonQuickboy.Location = new System.Drawing.Point(11, 40); this.radioButtonQuickboy.Name = "radioButtonQuickboy"; this.radioButtonQuickboy.Size = new System.Drawing.Size(93, 17); this.radioButtonQuickboy.TabIndex = 37; @@ -672,37 +673,39 @@ private void InitializeComponent() // // numPipboyTargetWidth // - this.numPipboyTargetWidth.Location = new System.Drawing.Point(6, 19); + this.numPipboyTargetWidth.Location = new System.Drawing.Point(7, 23); this.numPipboyTargetWidth.Maximum = new decimal(new int[] { 10000, 0, 0, 0}); this.numPipboyTargetWidth.Name = "numPipboyTargetWidth"; - this.numPipboyTargetWidth.Size = new System.Drawing.Size(197, 20); + this.numPipboyTargetWidth.Size = new System.Drawing.Size(115, 20); this.numPipboyTargetWidth.TabIndex = 1; + this.numPipboyTargetWidth.TextAlign = System.Windows.Forms.HorizontalAlignment.Center; this.toolTip.SetToolTip(this.numPipboyTargetWidth, "Changes the resolution width of the Pipboy/Quickboy.\r\n\r\nAffected values: uPipboyT" + "argetWidth\r\nAffected files: Fallout76Prefs.ini"); // // numPipboyTargetHeight // - this.numPipboyTargetHeight.Location = new System.Drawing.Point(246, 19); + this.numPipboyTargetHeight.Location = new System.Drawing.Point(160, 23); this.numPipboyTargetHeight.Maximum = new decimal(new int[] { 10000, 0, 0, 0}); this.numPipboyTargetHeight.Name = "numPipboyTargetHeight"; - this.numPipboyTargetHeight.Size = new System.Drawing.Size(197, 20); + this.numPipboyTargetHeight.Size = new System.Drawing.Size(115, 20); this.numPipboyTargetHeight.TabIndex = 2; + this.numPipboyTargetHeight.TextAlign = System.Windows.Forms.HorizontalAlignment.Center; this.toolTip.SetToolTip(this.numPipboyTargetHeight, "Changes the resolution height of the Pipboy/Quickboy.\r\n\r\nAffected values: uPipboy" + "TargetHeight\r\nAffected files: Fallout76Prefs.ini"); // // buttonPipboyTargetReset // - this.buttonPipboyTargetReset.Location = new System.Drawing.Point(6, 45); + this.buttonPipboyTargetReset.Location = new System.Drawing.Point(6, 56); this.buttonPipboyTargetReset.Name = "buttonPipboyTargetReset"; - this.buttonPipboyTargetReset.Size = new System.Drawing.Size(213, 23); + this.buttonPipboyTargetReset.Size = new System.Drawing.Size(270, 23); this.buttonPipboyTargetReset.TabIndex = 3; this.buttonPipboyTargetReset.Text = "Reset to default"; this.toolTip.SetToolTip(this.buttonPipboyTargetReset, "Default values: 876x700"); @@ -711,29 +714,19 @@ private void InitializeComponent() // // buttonPipboyTargetSetRecommended // - this.buttonPipboyTargetSetRecommended.Location = new System.Drawing.Point(230, 45); + this.buttonPipboyTargetSetRecommended.Location = new System.Drawing.Point(6, 85); this.buttonPipboyTargetSetRecommended.Name = "buttonPipboyTargetSetRecommended"; - this.buttonPipboyTargetSetRecommended.Size = new System.Drawing.Size(213, 23); + this.buttonPipboyTargetSetRecommended.Size = new System.Drawing.Size(270, 23); this.buttonPipboyTargetSetRecommended.TabIndex = 4; this.buttonPipboyTargetSetRecommended.Text = "Set recommended resolution"; this.toolTip.SetToolTip(this.buttonPipboyTargetSetRecommended, "Recommended values: 1752x1400"); this.buttonPipboyTargetSetRecommended.UseVisualStyleBackColor = true; this.buttonPipboyTargetSetRecommended.Click += new System.EventHandler(this.buttonPipboyTargetSetRecommended_Click); // - // labelDisplayMode - // - this.labelDisplayMode.AutoSize = true; - this.labelDisplayMode.Location = new System.Drawing.Point(6, 23); - this.labelDisplayMode.Name = "labelDisplayMode"; - this.labelDisplayMode.Size = new System.Drawing.Size(73, 13); - this.labelDisplayMode.TabIndex = 1; - this.labelDisplayMode.Text = "Display mode:"; - this.toolTip.SetToolTip(this.labelDisplayMode, resources.GetString("labelDisplayMode.ToolTip")); - // // numCustomResH // this.numCustomResH.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); - this.numCustomResH.Location = new System.Drawing.Point(296, 72); + this.numCustomResH.Location = new System.Drawing.Point(283, 71); this.numCustomResH.Maximum = new decimal(new int[] { 8192, 0, @@ -745,19 +738,21 @@ private void InitializeComponent() 0, 0}); this.numCustomResH.Name = "numCustomResH"; - this.numCustomResH.Size = new System.Drawing.Size(107, 20); + this.numCustomResH.Size = new System.Drawing.Size(120, 20); this.numCustomResH.TabIndex = 8; + this.numCustomResH.TextAlign = System.Windows.Forms.HorizontalAlignment.Center; this.toolTip.SetToolTip(this.numCustomResH, "Changes the vertical resolution (height).\r\n\r\nAffected values: iSize H"); this.numCustomResH.Value = new decimal(new int[] { 1080, 0, 0, 0}); + this.numCustomResH.ValueChanged += new System.EventHandler(this.numCustomRes_ValueChanged); // // numCustomResW // this.numCustomResW.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); - this.numCustomResW.Location = new System.Drawing.Point(157, 72); + this.numCustomResW.Location = new System.Drawing.Point(146, 71); this.numCustomResW.Maximum = new decimal(new int[] { 8192, 0, @@ -769,36 +764,16 @@ private void InitializeComponent() 0, 0}); this.numCustomResW.Name = "numCustomResW"; - this.numCustomResW.Size = new System.Drawing.Size(107, 20); + this.numCustomResW.Size = new System.Drawing.Size(120, 20); this.numCustomResW.TabIndex = 5; + this.numCustomResW.TextAlign = System.Windows.Forms.HorizontalAlignment.Center; this.toolTip.SetToolTip(this.numCustomResW, "Changes the horizontal resolution (width).\r\n\r\nAffected values: iSize W"); this.numCustomResW.Value = new decimal(new int[] { 1920, 0, 0, 0}); - // - // checkBoxTopMostWindow - // - this.checkBoxTopMostWindow.AutoSize = true; - this.checkBoxTopMostWindow.Location = new System.Drawing.Point(9, 129); - this.checkBoxTopMostWindow.Name = "checkBoxTopMostWindow"; - this.checkBoxTopMostWindow.Size = new System.Drawing.Size(109, 17); - this.checkBoxTopMostWindow.TabIndex = 21; - this.checkBoxTopMostWindow.Text = "Top-most window"; - this.toolTip.SetToolTip(this.checkBoxTopMostWindow, resources.GetString("checkBoxTopMostWindow.ToolTip")); - this.checkBoxTopMostWindow.UseVisualStyleBackColor = true; - // - // labelResolution - // - this.labelResolution.AutoSize = true; - this.labelResolution.Location = new System.Drawing.Point(6, 48); - this.labelResolution.Name = "labelResolution"; - this.labelResolution.Size = new System.Drawing.Size(60, 13); - this.labelResolution.TabIndex = 3; - this.labelResolution.Text = "Resolution:"; - this.toolTip.SetToolTip(this.labelResolution, "Changes the resolution.\r\nSetting it to \"Custom\" will allow you to set your own va" + - "lues.\r\n\r\nAffected values: iSize W, iSize H\r\nAffected files: Fallout76Prefsini"); + this.numCustomResW.ValueChanged += new System.EventHandler(this.numCustomRes_ValueChanged); // // checkBoxAlwaysActive // @@ -812,16 +787,6 @@ private void InitializeComponent() "cted values: bAlwaysActive\r\nAffected files: Fallout76Custom.ini"); this.checkBoxAlwaysActive.UseVisualStyleBackColor = true; // - // labelCustomResolution - // - this.labelCustomResolution.AutoSize = true; - this.labelCustomResolution.Location = new System.Drawing.Point(6, 74); - this.labelCustomResolution.Name = "labelCustomResolution"; - this.labelCustomResolution.Size = new System.Drawing.Size(93, 13); - this.labelCustomResolution.TabIndex = 2; - this.labelCustomResolution.Text = "Custom resolution:"; - this.toolTip.SetToolTip(this.labelCustomResolution, "Set resolution to \"Custom\" for this option to become available."); - // // checkBoxFixHUDFor5_4and4_3 // this.checkBoxFixHUDFor5_4and4_3.AutoSize = true; @@ -948,19 +913,6 @@ private void InitializeComponent() "cted files: Fallout76Custom.ini"); this.checkBoxMotionBlur.UseVisualStyleBackColor = true; // - // checkBoxDepthOfField - // - this.checkBoxDepthOfField.AutoSize = true; - this.checkBoxDepthOfField.Checked = true; - this.checkBoxDepthOfField.CheckState = System.Windows.Forms.CheckState.Checked; - this.checkBoxDepthOfField.Location = new System.Drawing.Point(9, 19); - this.checkBoxDepthOfField.Name = "checkBoxDepthOfField"; - this.checkBoxDepthOfField.Size = new System.Drawing.Size(92, 17); - this.checkBoxDepthOfField.TabIndex = 10; - this.checkBoxDepthOfField.Text = "Depth of Field"; - this.toolTip.SetToolTip(this.checkBoxDepthOfField, resources.GetString("checkBoxDepthOfField.ToolTip")); - this.checkBoxDepthOfField.UseVisualStyleBackColor = true; - // // checkBoxAmbientOcclusion // this.checkBoxAmbientOcclusion.AutoSize = true; @@ -1038,155 +990,6 @@ private void InitializeComponent() "d files: Fallout76Custom.ini"); this.checkBoxGrass.UseVisualStyleBackColor = true; // - // checkBoxIntroVideos - // - this.checkBoxIntroVideos.AutoSize = true; - this.checkBoxIntroVideos.Checked = true; - this.checkBoxIntroVideos.CheckState = System.Windows.Forms.CheckState.Checked; - this.checkBoxIntroVideos.Location = new System.Drawing.Point(7, 19); - this.checkBoxIntroVideos.Name = "checkBoxIntroVideos"; - this.checkBoxIntroVideos.Size = new System.Drawing.Size(103, 17); - this.checkBoxIntroVideos.TabIndex = 0; - this.checkBoxIntroVideos.Text = "Play intro videos"; - this.toolTip.SetToolTip(this.checkBoxIntroVideos, "When this option is unchecked, the game will start without displaying the Bethesd" + - "a logo video.\r\n\r\nAffected values: sIntroSequence, uMainMenuDelayBeforeAllowSkip\r" + - "\nAffected files: Fallout76Custom.ini"); - this.checkBoxIntroVideos.UseVisualStyleBackColor = true; - // - // checkBoxShowSplash - // - this.checkBoxShowSplash.AutoSize = true; - this.checkBoxShowSplash.Checked = true; - this.checkBoxShowSplash.CheckState = System.Windows.Forms.CheckState.Checked; - this.checkBoxShowSplash.Location = new System.Drawing.Point(7, 42); - this.checkBoxShowSplash.Name = "checkBoxShowSplash"; - this.checkBoxShowSplash.Size = new System.Drawing.Size(221, 17); - this.checkBoxShowSplash.TabIndex = 2; - this.checkBoxShowSplash.Text = "Show splash screen with news on startup"; - this.toolTip.SetToolTip(this.checkBoxShowSplash, "If unchecked, the game won\'t bother you with news on startup.\r\n\r\nAffected values:" + - " bShowSplash\r\nAffected files: Fallout76Custom.ini"); - this.checkBoxShowSplash.UseVisualStyleBackColor = true; - // - // checkBoxShowDamageNumbersA - // - this.checkBoxShowDamageNumbersA.AutoSize = true; - this.checkBoxShowDamageNumbersA.Location = new System.Drawing.Point(7, 19); - this.checkBoxShowDamageNumbersA.Name = "checkBoxShowDamageNumbersA"; - this.checkBoxShowDamageNumbersA.Size = new System.Drawing.Size(261, 17); - this.checkBoxShowDamageNumbersA.TabIndex = 2; - this.checkBoxShowDamageNumbersA.Text = "Show floating damage numbers (Adventure mode)"; - this.toolTip.SetToolTip(this.checkBoxShowDamageNumbersA, "Affected values: bShowDamageNumbers\r\nAffected files: Fallout76Prefs.ini"); - this.checkBoxShowDamageNumbersA.UseVisualStyleBackColor = true; - // - // checkBoxShowDamageNumbersNW - // - this.checkBoxShowDamageNumbersNW.AutoSize = true; - this.checkBoxShowDamageNumbersNW.Location = new System.Drawing.Point(7, 42); - this.checkBoxShowDamageNumbersNW.Name = "checkBoxShowDamageNumbersNW"; - this.checkBoxShowDamageNumbersNW.Size = new System.Drawing.Size(254, 17); - this.checkBoxShowDamageNumbersNW.TabIndex = 3; - this.checkBoxShowDamageNumbersNW.Text = "Show floating damage numbers (Nuclear Winter)"; - this.toolTip.SetToolTip(this.checkBoxShowDamageNumbersNW, "Affected values: bShowDamageNumbers\r\nAffected files: Fallout76Prefs.ini"); - this.checkBoxShowDamageNumbersNW.UseVisualStyleBackColor = true; - // - // checkBoxShowCompass - // - this.checkBoxShowCompass.AutoSize = true; - this.checkBoxShowCompass.Location = new System.Drawing.Point(7, 347); - this.checkBoxShowCompass.Name = "checkBoxShowCompass"; - this.checkBoxShowCompass.Size = new System.Drawing.Size(98, 17); - this.checkBoxShowCompass.TabIndex = 4; - this.checkBoxShowCompass.Text = "Show compass"; - this.toolTip.SetToolTip(this.checkBoxShowCompass, "Affected values: bShowCompass\r\nAffected files: Fallout76Prefs.ini"); - this.checkBoxShowCompass.UseVisualStyleBackColor = true; - // - // checkBoxAutoApply - // - this.checkBoxAutoApply.AutoSize = true; - this.checkBoxAutoApply.Location = new System.Drawing.Point(9, 42); - this.checkBoxAutoApply.Name = "checkBoxAutoApply"; - this.checkBoxAutoApply.Size = new System.Drawing.Size(354, 17); - this.checkBoxAutoApply.TabIndex = 21; - this.checkBoxAutoApply.Text = "Automatically apply changes when tool is closed or game is launched."; - this.toolTip.SetToolTip(this.checkBoxAutoApply, "No need to press apply anymore."); - this.checkBoxAutoApply.UseVisualStyleBackColor = true; - this.checkBoxAutoApply.CheckedChanged += new System.EventHandler(this.checkBoxAutoApply_CheckedChanged); - // - // checkBoxSkipBackupQuestion - // - this.checkBoxSkipBackupQuestion.AutoSize = true; - this.checkBoxSkipBackupQuestion.Location = new System.Drawing.Point(9, 65); - this.checkBoxSkipBackupQuestion.Name = "checkBoxSkipBackupQuestion"; - this.checkBoxSkipBackupQuestion.Size = new System.Drawing.Size(209, 17); - this.checkBoxSkipBackupQuestion.TabIndex = 22; - this.checkBoxSkipBackupQuestion.Text = "Don\'t ask me, when \"Apply\" is clicked."; - this.toolTip.SetToolTip(this.checkBoxSkipBackupQuestion, "Skips the backup question when \"Apply\" is clicked.\r\nNote: This way, it will NOT c" + - "reate a backup!"); - this.checkBoxSkipBackupQuestion.UseVisualStyleBackColor = true; - this.checkBoxSkipBackupQuestion.CheckedChanged += new System.EventHandler(this.checkBoxSkipBackupQuestion_CheckedChanged); - // - // checkBoxQuitOnGameLaunch - // - this.checkBoxQuitOnGameLaunch.AutoSize = true; - this.checkBoxQuitOnGameLaunch.Location = new System.Drawing.Point(9, 19); - this.checkBoxQuitOnGameLaunch.Name = "checkBoxQuitOnGameLaunch"; - this.checkBoxQuitOnGameLaunch.Size = new System.Drawing.Size(223, 17); - this.checkBoxQuitOnGameLaunch.TabIndex = 20; - this.checkBoxQuitOnGameLaunch.Text = "Close the tool when the game is launched"; - this.toolTip.SetToolTip(this.checkBoxQuitOnGameLaunch, "Does only work when the game is launched through the tool."); - this.checkBoxQuitOnGameLaunch.UseVisualStyleBackColor = true; - this.checkBoxQuitOnGameLaunch.CheckedChanged += new System.EventHandler(this.checkBoxQuitOnGameLaunch_CheckedChanged); - // - // checkBoxReadOnly - // - this.checkBoxReadOnly.AutoSize = true; - this.checkBoxReadOnly.Location = new System.Drawing.Point(10, 42); - this.checkBoxReadOnly.Name = "checkBoxReadOnly"; - this.checkBoxReadOnly.Size = new System.Drawing.Size(140, 17); - this.checkBoxReadOnly.TabIndex = 4; - this.checkBoxReadOnly.Text = "Make *.ini files read-only"; - this.toolTip.SetToolTip(this.checkBoxReadOnly, "This option will make all *.ini files read-only immediately.\r\nEnable this if your" + - " settings get reverted.\r\n\r\nAffected files: %UserProfile%\\Documents\\My Games\\Fall" + - "out 76\\*.ini"); - this.checkBoxReadOnly.UseVisualStyleBackColor = true; - this.checkBoxReadOnly.CheckedChanged += new System.EventHandler(this.checkBoxReadOnly_CheckedChanged); - // - // checkBoxMultipleGameEditionsUsed - // - this.checkBoxMultipleGameEditionsUsed.AutoSize = true; - this.checkBoxMultipleGameEditionsUsed.Location = new System.Drawing.Point(10, 19); - this.checkBoxMultipleGameEditionsUsed.Name = "checkBoxMultipleGameEditionsUsed"; - this.checkBoxMultipleGameEditionsUsed.Size = new System.Drawing.Size(186, 17); - this.checkBoxMultipleGameEditionsUsed.TabIndex = 18; - this.checkBoxMultipleGameEditionsUsed.Text = "I use more than one game edition."; - this.toolTip.SetToolTip(this.checkBoxMultipleGameEditionsUsed, "Check this, if you\'re modding more than one game edition.\r\nIf checked, sResourceI" + - "ndexFileList will be saved for every game edition separately."); - this.checkBoxMultipleGameEditionsUsed.UseVisualStyleBackColor = true; - // - // checkBoxDenyNTFSWritePermission - // - this.checkBoxDenyNTFSWritePermission.AutoSize = true; - this.checkBoxDenyNTFSWritePermission.Location = new System.Drawing.Point(10, 65); - this.checkBoxDenyNTFSWritePermission.Name = "checkBoxDenyNTFSWritePermission"; - this.checkBoxDenyNTFSWritePermission.Size = new System.Drawing.Size(231, 17); - this.checkBoxDenyNTFSWritePermission.TabIndex = 19; - this.checkBoxDenyNTFSWritePermission.Text = "[Experimental] Deny NTFS write permission."; - this.toolTip.SetToolTip(this.checkBoxDenyNTFSWritePermission, "This will deny write permission to the \"Fallout 76\" folder.\r\nUse this, if the rea" + - "d-only option doesn\'t work.\r\n\r\nAffected folder: %UserProfile%\\Documents\\My Games" + - "\\Fallout 76"); - this.checkBoxDenyNTFSWritePermission.UseVisualStyleBackColor = true; - // - // checkBoxFixMouseSensitivity - // - this.checkBoxFixMouseSensitivity.AutoSize = true; - this.checkBoxFixMouseSensitivity.Location = new System.Drawing.Point(9, 111); - this.checkBoxFixMouseSensitivity.Name = "checkBoxFixMouseSensitivity"; - this.checkBoxFixMouseSensitivity.Size = new System.Drawing.Size(208, 17); - this.checkBoxFixMouseSensitivity.TabIndex = 0; - this.checkBoxFixMouseSensitivity.Text = "Fix mouse horizontal/vertical sensitivity"; - this.toolTip.SetToolTip(this.checkBoxFixMouseSensitivity, resources.GetString("checkBoxFixMouseSensitivity.ToolTip")); - this.checkBoxFixMouseSensitivity.UseVisualStyleBackColor = true; - // // checkBoxFixAimSensitivity // this.checkBoxFixAimSensitivity.AutoSize = true; @@ -1218,9 +1021,9 @@ private void InitializeComponent() this.checkBoxGamepadRumble.CheckState = System.Windows.Forms.CheckState.Checked; this.checkBoxGamepadRumble.Location = new System.Drawing.Point(6, 40); this.checkBoxGamepadRumble.Name = "checkBoxGamepadRumble"; - this.checkBoxGamepadRumble.Size = new System.Drawing.Size(227, 17); + this.checkBoxGamepadRumble.Size = new System.Drawing.Size(149, 17); this.checkBoxGamepadRumble.TabIndex = 3; - this.checkBoxGamepadRumble.Text = "Enable gamepad rumble (Force Feedback)"; + this.checkBoxGamepadRumble.Text = "Enable gamepad vibration"; this.toolTip.SetToolTip(this.checkBoxGamepadRumble, "Enables rumbling (force feedback) of your gamepad.\r\n\r\nAffected values: bGamePadRu" + "mble\r\nAffected files: Fallout76Custom.ini"); this.checkBoxGamepadRumble.UseVisualStyleBackColor = true; @@ -1294,7 +1097,7 @@ private void InitializeComponent() | System.Windows.Forms.AnchorStyles.Right))); this.sliderShadowDistance.BackColor = System.Drawing.SystemColors.Window; this.sliderShadowDistance.LargeChange = 10000; - this.sliderShadowDistance.Location = new System.Drawing.Point(10, 121); + this.sliderShadowDistance.Location = new System.Drawing.Point(10, 96); this.sliderShadowDistance.Maximum = 200000; this.sliderShadowDistance.Name = "sliderShadowDistance"; this.sliderShadowDistance.Size = new System.Drawing.Size(285, 45); @@ -1605,62 +1408,7 @@ private void InitializeComponent() this.toolTip.SetToolTip(this.checkBoxMouseInvertX, "Affected values: bInvertXValues\r\nAffected files: Fallout76Prefs.ini"); this.checkBoxMouseInvertX.UseVisualStyleBackColor = true; // - // checkBoxEnableQuestAutoTrackMain - // - this.checkBoxEnableQuestAutoTrackMain.AutoSize = true; - this.checkBoxEnableQuestAutoTrackMain.Location = new System.Drawing.Point(7, 19); - this.checkBoxEnableQuestAutoTrackMain.Name = "checkBoxEnableQuestAutoTrackMain"; - this.checkBoxEnableQuestAutoTrackMain.Size = new System.Drawing.Size(182, 17); - this.checkBoxEnableQuestAutoTrackMain.TabIndex = 5; - this.checkBoxEnableQuestAutoTrackMain.Text = "Main Quests Active when started"; - this.toolTip.SetToolTip(this.checkBoxEnableQuestAutoTrackMain, "Affected values: bEnableQuestAutoTrackMain\r\nAffected files: Fallout76Prefs.ini"); - this.checkBoxEnableQuestAutoTrackMain.UseVisualStyleBackColor = true; - // - // checkBoxEnableQuestAutoTrackSide - // - this.checkBoxEnableQuestAutoTrackSide.AutoSize = true; - this.checkBoxEnableQuestAutoTrackSide.Location = new System.Drawing.Point(7, 42); - this.checkBoxEnableQuestAutoTrackSide.Name = "checkBoxEnableQuestAutoTrackSide"; - this.checkBoxEnableQuestAutoTrackSide.Size = new System.Drawing.Size(180, 17); - this.checkBoxEnableQuestAutoTrackSide.TabIndex = 6; - this.checkBoxEnableQuestAutoTrackSide.Text = "Side Quests Active when started"; - this.toolTip.SetToolTip(this.checkBoxEnableQuestAutoTrackSide, "Affected values: bEnableQuestAutoTrackSide\r\nAffected files: Fallout76Prefs.ini"); - this.checkBoxEnableQuestAutoTrackSide.UseVisualStyleBackColor = true; - // - // checkBoxEnableQuestAutoTrackMisc - // - this.checkBoxEnableQuestAutoTrackMisc.AutoSize = true; - this.checkBoxEnableQuestAutoTrackMisc.Location = new System.Drawing.Point(7, 65); - this.checkBoxEnableQuestAutoTrackMisc.Name = "checkBoxEnableQuestAutoTrackMisc"; - this.checkBoxEnableQuestAutoTrackMisc.Size = new System.Drawing.Size(226, 17); - this.checkBoxEnableQuestAutoTrackMisc.TabIndex = 7; - this.checkBoxEnableQuestAutoTrackMisc.Text = "Miscellaneous Quests Active when started"; - this.toolTip.SetToolTip(this.checkBoxEnableQuestAutoTrackMisc, "Affected values: bEnableQuestAutoTrackMisc\r\nAffected files: Fallout76Prefs.ini"); - this.checkBoxEnableQuestAutoTrackMisc.UseVisualStyleBackColor = true; - // - // checkBoxEnableQuestAutoTrackEvent - // - this.checkBoxEnableQuestAutoTrackEvent.AutoSize = true; - this.checkBoxEnableQuestAutoTrackEvent.Location = new System.Drawing.Point(7, 88); - this.checkBoxEnableQuestAutoTrackEvent.Name = "checkBoxEnableQuestAutoTrackEvent"; - this.checkBoxEnableQuestAutoTrackEvent.Size = new System.Drawing.Size(187, 17); - this.checkBoxEnableQuestAutoTrackEvent.TabIndex = 8; - this.checkBoxEnableQuestAutoTrackEvent.Text = "Event Quests Active when started"; - this.toolTip.SetToolTip(this.checkBoxEnableQuestAutoTrackEvent, "Affected values: bEnableQuestAutoTrackEvent\r\nAffected files: Fallout76Prefs.ini"); - this.checkBoxEnableQuestAutoTrackEvent.UseVisualStyleBackColor = true; - // - // checkBoxEnableQuestAutoTrackDaily - // - this.checkBoxEnableQuestAutoTrackDaily.AutoSize = true; - this.checkBoxEnableQuestAutoTrackDaily.Location = new System.Drawing.Point(7, 111); - this.checkBoxEnableQuestAutoTrackDaily.Name = "checkBoxEnableQuestAutoTrackDaily"; - this.checkBoxEnableQuestAutoTrackDaily.Size = new System.Drawing.Size(182, 17); - this.checkBoxEnableQuestAutoTrackDaily.TabIndex = 9; - this.checkBoxEnableQuestAutoTrackDaily.Text = "Daily Quests Active when started"; - this.toolTip.SetToolTip(this.checkBoxEnableQuestAutoTrackDaily, "Affected values: bEnableQuestAutoTrackOther\r\nAffected files: Fallout76Prefs.ini"); - this.checkBoxEnableQuestAutoTrackDaily.UseVisualStyleBackColor = true; - // - // checkBoxDialogueHistory + // checkBoxDialogueHistory // this.checkBoxDialogueHistory.AutoSize = true; this.checkBoxDialogueHistory.Location = new System.Drawing.Point(10, 65); @@ -1671,62 +1419,6 @@ private void InitializeComponent() this.toolTip.SetToolTip(this.checkBoxDialogueHistory, "Affected values: bShowDialogueHistory\r\nAffected files: Fallout76Prefs.ini"); this.checkBoxDialogueHistory.UseVisualStyleBackColor = true; // - // checkBoxEnablePowerArmorHUD - // - this.checkBoxEnablePowerArmorHUD.AutoSize = true; - this.checkBoxEnablePowerArmorHUD.Location = new System.Drawing.Point(7, 324); - this.checkBoxEnablePowerArmorHUD.Name = "checkBoxEnablePowerArmorHUD"; - this.checkBoxEnablePowerArmorHUD.Size = new System.Drawing.Size(149, 17); - this.checkBoxEnablePowerArmorHUD.TabIndex = 5; - this.checkBoxEnablePowerArmorHUD.Text = "Enable Power Armor HUD"; - this.toolTip.SetToolTip(this.checkBoxEnablePowerArmorHUD, "Affected values: bEnablePowerArmorHUD\r\nAffected files: Fallout76Prefs.ini"); - this.checkBoxEnablePowerArmorHUD.UseVisualStyleBackColor = true; - // - // checkBoxShowCrosshair - // - this.checkBoxShowCrosshair.AutoSize = true; - this.checkBoxShowCrosshair.Location = new System.Drawing.Point(7, 301); - this.checkBoxShowCrosshair.Name = "checkBoxShowCrosshair"; - this.checkBoxShowCrosshair.Size = new System.Drawing.Size(98, 17); - this.checkBoxShowCrosshair.TabIndex = 6; - this.checkBoxShowCrosshair.Text = "Show crosshair"; - this.toolTip.SetToolTip(this.checkBoxShowCrosshair, "Affected values: bCrosshairEnabled\r\nAffected files: Fallout76Prefs.ini"); - this.checkBoxShowCrosshair.UseVisualStyleBackColor = true; - // - // checkBoxItemRarityColorsNW - // - this.checkBoxItemRarityColorsNW.AutoSize = true; - this.checkBoxItemRarityColorsNW.Location = new System.Drawing.Point(7, 65); - this.checkBoxItemRarityColorsNW.Name = "checkBoxItemRarityColorsNW"; - this.checkBoxItemRarityColorsNW.Size = new System.Drawing.Size(211, 17); - this.checkBoxItemRarityColorsNW.TabIndex = 7; - this.checkBoxItemRarityColorsNW.Text = "Show item rarity colors (Nuclear Winter)"; - this.toolTip.SetToolTip(this.checkBoxItemRarityColorsNW, "Affected values: bEnableItemRarityColors\r\nAffected files: Fallout76Prefs.ini"); - this.checkBoxItemRarityColorsNW.UseVisualStyleBackColor = true; - // - // checkBoxShowPublicTeamNotifications - // - this.checkBoxShowPublicTeamNotifications.AutoSize = true; - this.checkBoxShowPublicTeamNotifications.Location = new System.Drawing.Point(7, 88); - this.checkBoxShowPublicTeamNotifications.Name = "checkBoxShowPublicTeamNotifications"; - this.checkBoxShowPublicTeamNotifications.Size = new System.Drawing.Size(175, 17); - this.checkBoxShowPublicTeamNotifications.TabIndex = 8; - this.checkBoxShowPublicTeamNotifications.Text = "Enable public team notifications\r\n"; - this.toolTip.SetToolTip(this.checkBoxShowPublicTeamNotifications, "Affected values: bShowPublicTeamNotifications\r\nAffected files: Fallout76Prefs.ini" + - ""); - this.checkBoxShowPublicTeamNotifications.UseVisualStyleBackColor = true; - // - // checkBoxShowFloatingQuestMarkers - // - this.checkBoxShowFloatingQuestMarkers.AutoSize = true; - this.checkBoxShowFloatingQuestMarkers.Location = new System.Drawing.Point(7, 212); - this.checkBoxShowFloatingQuestMarkers.Name = "checkBoxShowFloatingQuestMarkers"; - this.checkBoxShowFloatingQuestMarkers.Size = new System.Drawing.Size(159, 17); - this.checkBoxShowFloatingQuestMarkers.TabIndex = 9; - this.checkBoxShowFloatingQuestMarkers.Text = "Show floating quest markers\r\n"; - this.toolTip.SetToolTip(this.checkBoxShowFloatingQuestMarkers, "Affected values: bShowFloatingQuestMarkers\r\nAffected files: Fallout76Prefs.ini"); - this.checkBoxShowFloatingQuestMarkers.UseVisualStyleBackColor = true; - // // sliderFloatingQuestMarkersDistance // this.sliderFloatingQuestMarkersDistance.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) @@ -1744,17 +1436,6 @@ private void InitializeComponent() "i"); this.sliderFloatingQuestMarkersDistance.Value = 1000; // - // checkBoxShowFloatingQuestText - // - this.checkBoxShowFloatingQuestText.AutoSize = true; - this.checkBoxShowFloatingQuestText.Location = new System.Drawing.Point(7, 235); - this.checkBoxShowFloatingQuestText.Name = "checkBoxShowFloatingQuestText"; - this.checkBoxShowFloatingQuestText.Size = new System.Drawing.Size(139, 17); - this.checkBoxShowFloatingQuestText.TabIndex = 32; - this.checkBoxShowFloatingQuestText.Text = "Show floating quest text"; - this.toolTip.SetToolTip(this.checkBoxShowFloatingQuestText, "Affected values: bShowFloatingQuestText\r\nAffected files: Fallout76Prefs.ini"); - this.checkBoxShowFloatingQuestText.UseVisualStyleBackColor = true; - // // sliderConversationHistorySize // this.sliderConversationHistorySize.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) @@ -1770,17 +1451,6 @@ private void InitializeComponent() this.toolTip.SetToolTip(this.sliderConversationHistorySize, "Affected values: fConversationHistorySize\r\nAffected files: Fallout76Prefs.ini"); this.sliderConversationHistorySize.Value = 4; // - // checkBoxShowOtherPlayersNames - // - this.checkBoxShowOtherPlayersNames.AutoSize = true; - this.checkBoxShowOtherPlayersNames.Location = new System.Drawing.Point(7, 378); - this.checkBoxShowOtherPlayersNames.Name = "checkBoxShowOtherPlayersNames"; - this.checkBoxShowOtherPlayersNames.Size = new System.Drawing.Size(152, 17); - this.checkBoxShowOtherPlayersNames.TabIndex = 33; - this.checkBoxShowOtherPlayersNames.Text = "Show other players\' names"; - this.toolTip.SetToolTip(this.checkBoxShowOtherPlayersNames, "Affected values: bShowOtherPlayersNames\r\nAffected files: Fallout76Prefs.ini"); - this.checkBoxShowOtherPlayersNames.UseVisualStyleBackColor = true; - // // sliderHUDOpacity // this.sliderHUDOpacity.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) @@ -1810,6 +1480,7 @@ private void InitializeComponent() // labelfDefaultFOV // this.labelfDefaultFOV.AutoSize = true; + this.labelfDefaultFOV.ForeColor = System.Drawing.Color.Red; this.labelfDefaultFOV.Location = new System.Drawing.Point(6, 122); this.labelfDefaultFOV.Name = "labelfDefaultFOV"; this.labelfDefaultFOV.Size = new System.Drawing.Size(193, 13); @@ -1817,39 +1488,11 @@ private void InitializeComponent() this.labelfDefaultFOV.Text = "fDefaultFOV (Causes issues with HUD):"; this.toolTip.SetToolTip(this.labelfDefaultFOV, "Causes issues with the GUI.\r\n\r\nDefault: 80\r\nAffected values: fDefaultFOV\r\nAffecte" + "d files: Fallout76Custom.ini"); - // - // label2 - // - this.label2.AutoSize = true; - this.label2.Location = new System.Drawing.Point(7, 77); - this.label2.Name = "label2"; - this.label2.Size = new System.Drawing.Size(104, 13); - this.label2.TabIndex = 31; - this.label2.Text = "Transition segments:"; - this.toolTip.SetToolTip(this.label2, resources.GetString("label2.ToolTip")); - // - // sliderfBlendSplitDirShadow - // - this.sliderfBlendSplitDirShadow.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) - | System.Windows.Forms.AnchorStyles.Right))); - this.sliderfBlendSplitDirShadow.BackColor = System.Drawing.SystemColors.Window; - this.sliderfBlendSplitDirShadow.LargeChange = 10000; - this.sliderfBlendSplitDirShadow.Location = new System.Drawing.Point(10, 172); - this.sliderfBlendSplitDirShadow.Minimum = 1; - this.sliderfBlendSplitDirShadow.Name = "sliderfBlendSplitDirShadow"; - this.sliderfBlendSplitDirShadow.Size = new System.Drawing.Size(285, 45); - this.sliderfBlendSplitDirShadow.SmallChange = 1000; - this.sliderfBlendSplitDirShadow.TabIndex = 33; - this.sliderfBlendSplitDirShadow.TickStyle = System.Windows.Forms.TickStyle.None; - this.toolTip.SetToolTip(this.sliderfBlendSplitDirShadow, "Distance at which the game will transition to lower-res a shadow \"segment\".\r\nMUST" + - " be a multiple of 12.\r\n\r\nAffected values: fBlendSplitDirShadow\r\nAffected files: " + - "Fallout76Prefs.ini"); - this.sliderfBlendSplitDirShadow.Value = 4; // // labelSwitchDelay // this.labelSwitchDelay.AutoSize = true; - this.labelSwitchDelay.Location = new System.Drawing.Point(9, 23); + this.labelSwitchDelay.Location = new System.Drawing.Point(6, 23); this.labelSwitchDelay.Name = "labelSwitchDelay"; this.labelSwitchDelay.Size = new System.Drawing.Size(119, 13); this.labelSwitchDelay.TabIndex = 0; @@ -1890,7 +1533,7 @@ private void InitializeComponent() // checkBoxbApplyCameraNodeAnimations // this.checkBoxbApplyCameraNodeAnimations.AutoSize = true; - this.checkBoxbApplyCameraNodeAnimations.Location = new System.Drawing.Point(222, 429); + this.checkBoxbApplyCameraNodeAnimations.Location = new System.Drawing.Point(9, 22); this.checkBoxbApplyCameraNodeAnimations.Name = "checkBoxbApplyCameraNodeAnimations"; this.checkBoxbApplyCameraNodeAnimations.Size = new System.Drawing.Size(171, 17); this.checkBoxbApplyCameraNodeAnimations.TabIndex = 46; @@ -1898,6 +1541,105 @@ private void InitializeComponent() this.toolTip.SetToolTip(this.checkBoxbApplyCameraNodeAnimations, resources.GetString("checkBoxbApplyCameraNodeAnimations.ToolTip")); this.checkBoxbApplyCameraNodeAnimations.UseVisualStyleBackColor = true; // + // checkBoxDisableGore + // + this.checkBoxDisableGore.AutoSize = true; + this.checkBoxDisableGore.Location = new System.Drawing.Point(9, 19); + this.checkBoxDisableGore.Name = "checkBoxDisableGore"; + this.checkBoxDisableGore.Size = new System.Drawing.Size(85, 17); + this.checkBoxDisableGore.TabIndex = 0; + this.checkBoxDisableGore.Text = "Disable gore"; + this.toolTip.SetToolTip(this.checkBoxDisableGore, "Affected values: bDisableAllGore, bBloodSpatterEnabled\r\nAffected files: Fallout76" + + "Custom.ini"); + this.checkBoxDisableGore.UseVisualStyleBackColor = true; + // + // labelPhotomodeTranslationSpeed + // + this.labelPhotomodeTranslationSpeed.AutoSize = true; + this.labelPhotomodeTranslationSpeed.Location = new System.Drawing.Point(6, 23); + this.labelPhotomodeTranslationSpeed.Name = "labelPhotomodeTranslationSpeed"; + this.labelPhotomodeTranslationSpeed.Size = new System.Drawing.Size(94, 13); + this.labelPhotomodeTranslationSpeed.TabIndex = 57; + this.labelPhotomodeTranslationSpeed.Text = "Translation speed:"; + this.toolTip.SetToolTip(this.labelPhotomodeTranslationSpeed, "Default: 2.5\r\nAffected values: fSelfieCameraTranslationSpeed\r\nAffected files: Fal" + + "lout76Custom.ini"); + // + // labelPhotomodeRange + // + this.labelPhotomodeRange.AutoSize = true; + this.labelPhotomodeRange.Location = new System.Drawing.Point(6, 87); + this.labelPhotomodeRange.Name = "labelPhotomodeRange"; + this.labelPhotomodeRange.Size = new System.Drawing.Size(62, 13); + this.labelPhotomodeRange.TabIndex = 60; + this.labelPhotomodeRange.Text = "Range limit:"; + this.toolTip.SetToolTip(this.labelPhotomodeRange, "Default: 500\r\nAffected values: fSelfieModeRange\r\nAffected files: Fallout76Custom." + + "ini"); + // + // labelPhotomodeRotationSpeed + // + this.labelPhotomodeRotationSpeed.AutoSize = true; + this.labelPhotomodeRotationSpeed.Location = new System.Drawing.Point(6, 53); + this.labelPhotomodeRotationSpeed.Name = "labelPhotomodeRotationSpeed"; + this.labelPhotomodeRotationSpeed.Size = new System.Drawing.Size(82, 13); + this.labelPhotomodeRotationSpeed.TabIndex = 63; + this.labelPhotomodeRotationSpeed.Text = "Rotation speed:"; + this.toolTip.SetToolTip(this.labelPhotomodeRotationSpeed, "Default: 1.5\r\nAffected values: fSelfieCameraRotationSpeed\r\nAffected files: Fallou" + + "t76Custom.ini"); + // + // checkBoxScreenSpaceReflections + // + this.checkBoxScreenSpaceReflections.AutoSize = true; + this.checkBoxScreenSpaceReflections.Checked = true; + this.checkBoxScreenSpaceReflections.CheckState = System.Windows.Forms.CheckState.Checked; + this.checkBoxScreenSpaceReflections.ForeColor = System.Drawing.Color.Black; + this.checkBoxScreenSpaceReflections.Location = new System.Drawing.Point(9, 19); + this.checkBoxScreenSpaceReflections.Name = "checkBoxScreenSpaceReflections"; + this.checkBoxScreenSpaceReflections.Size = new System.Drawing.Size(150, 17); + this.checkBoxScreenSpaceReflections.TabIndex = 1; + this.checkBoxScreenSpaceReflections.Text = "Screen Space Reflections"; + this.toolTip.SetToolTip(this.checkBoxScreenSpaceReflections, "Enables/disables water displacement (ripples, waves).\r\n\r\nAffected values: bUseWat" + + "erDisplacements\r\nAffected files: Fallout76Prefs.ini"); + this.checkBoxScreenSpaceReflections.UseVisualStyleBackColor = true; + // + // sliderfBlendSplitDirShadow + // + this.sliderfBlendSplitDirShadow.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.sliderfBlendSplitDirShadow.BackColor = System.Drawing.SystemColors.Window; + this.sliderfBlendSplitDirShadow.LargeChange = 10000; + this.sliderfBlendSplitDirShadow.Location = new System.Drawing.Point(14, 76); + this.sliderfBlendSplitDirShadow.Minimum = 1; + this.sliderfBlendSplitDirShadow.Name = "sliderfBlendSplitDirShadow"; + this.sliderfBlendSplitDirShadow.Size = new System.Drawing.Size(255, 45); + this.sliderfBlendSplitDirShadow.SmallChange = 1000; + this.sliderfBlendSplitDirShadow.TabIndex = 36; + this.sliderfBlendSplitDirShadow.TickStyle = System.Windows.Forms.TickStyle.None; + this.toolTip.SetToolTip(this.sliderfBlendSplitDirShadow, "Distance at which the game will transition to lower-res a shadow \"segment\".\r\nMUST" + + " be a multiple of 12.\r\n\r\nAffected values: fBlendSplitDirShadow\r\nAffected files: " + + "Fallout76Prefs.ini"); + this.sliderfBlendSplitDirShadow.Value = 4; + // + // labeliDirShadowSplits + // + this.labeliDirShadowSplits.AutoSize = true; + this.labeliDirShadowSplits.ForeColor = System.Drawing.SystemColors.ControlText; + this.labeliDirShadowSplits.Location = new System.Drawing.Point(9, 24); + this.labeliDirShadowSplits.Name = "labeliDirShadowSplits"; + this.labeliDirShadowSplits.Size = new System.Drawing.Size(142, 13); + this.labeliDirShadowSplits.TabIndex = 33; + this.labeliDirShadowSplits.Text = "Shadow transition segments:"; + this.toolTip.SetToolTip(this.labeliDirShadowSplits, resources.GetString("labeliDirShadowSplits.ToolTip")); + // + // checkBoxTopMostWindow + // + this.checkBoxTopMostWindow.AutoSize = true; + this.checkBoxTopMostWindow.Location = new System.Drawing.Point(9, 129); + this.checkBoxTopMostWindow.Name = "checkBoxTopMostWindow"; + this.checkBoxTopMostWindow.Size = new System.Drawing.Size(109, 17); + this.checkBoxTopMostWindow.TabIndex = 21; + this.checkBoxTopMostWindow.Text = "Top-most window"; + this.checkBoxTopMostWindow.UseVisualStyleBackColor = true; + // // labelScreenshotIndex // this.labelScreenshotIndex.AutoSize = true; @@ -1906,267 +1648,595 @@ private void InitializeComponent() this.labelScreenshotIndex.Size = new System.Drawing.Size(92, 13); this.labelScreenshotIndex.TabIndex = 0; this.labelScreenshotIndex.Text = "Screenshot index:"; - this.toolTip.SetToolTip(this.labelScreenshotIndex, resources.GetString("labelScreenshotIndex.ToolTip")); - // - // checkBoxAlternativeINIMode - // - this.checkBoxAlternativeINIMode.AutoSize = true; - this.checkBoxAlternativeINIMode.Location = new System.Drawing.Point(10, 88); - this.checkBoxAlternativeINIMode.Name = "checkBoxAlternativeINIMode"; - this.checkBoxAlternativeINIMode.Size = new System.Drawing.Size(220, 17); - this.checkBoxAlternativeINIMode.TabIndex = 20; - this.checkBoxAlternativeINIMode.Text = "Don\'t use Fallout76Custom.ini for tweaks."; - this.toolTip.SetToolTip(this.checkBoxAlternativeINIMode, "Puts tweaks into Fallout76.ini and Fallout76Prefs.ini instead.\r\nDoes not affect t" + - "he mod manager.\r\nYou may need to remove tweaks from Fallout76Custom.ini manually" + - "."); - this.checkBoxAlternativeINIMode.UseVisualStyleBackColor = true; - this.checkBoxAlternativeINIMode.CheckedChanged += new System.EventHandler(this.checkBoxAlternativeINIMode_CheckedChanged); - // - // checkBoxAutoSignin - // - this.checkBoxAutoSignin.AutoSize = true; - this.checkBoxAutoSignin.Location = new System.Drawing.Point(12, 176); - this.checkBoxAutoSignin.Name = "checkBoxAutoSignin"; - this.checkBoxAutoSignin.Size = new System.Drawing.Size(121, 17); - this.checkBoxAutoSignin.TabIndex = 20; - this.checkBoxAutoSignin.Text = "Automatically sign-in"; - this.toolTip.SetToolTip(this.checkBoxAutoSignin, "Enabling this will skip the login prompt if you provide your login credentials.\r\n" + - "\r\nAffected values: bAutoSignin\r\nAffected files: Fallout76Custom.ini"); - this.checkBoxAutoSignin.UseVisualStyleBackColor = true; // - // checkBoxDisableSteam + // labelPipboyColor // - this.checkBoxDisableSteam.AutoSize = true; - this.checkBoxDisableSteam.Location = new System.Drawing.Point(12, 199); - this.checkBoxDisableSteam.Name = "checkBoxDisableSteam"; - this.checkBoxDisableSteam.Size = new System.Drawing.Size(94, 17); - this.checkBoxDisableSteam.TabIndex = 6; - this.checkBoxDisableSteam.Text = "Disable Steam"; - this.toolTip.SetToolTip(this.checkBoxDisableSteam, "Affected values: bSteamEnabled\r\nAffected files: Fallout76Custom.ini"); - this.checkBoxDisableSteam.UseVisualStyleBackColor = true; + this.labelPipboyColor.AutoSize = true; + this.labelPipboyColor.Location = new System.Drawing.Point(39, 24); + this.labelPipboyColor.Name = "labelPipboyColor"; + this.labelPipboyColor.Size = new System.Drawing.Size(70, 13); + this.labelPipboyColor.TabIndex = 32; + this.labelPipboyColor.Text = "Pip-Boy Color"; // - // timerCheckFiles + // labelQuickboyColor // - this.timerCheckFiles.Interval = 5000; - this.timerCheckFiles.Tick += new System.EventHandler(this.timerCheckFiles_Tick); + this.labelQuickboyColor.AutoSize = true; + this.labelQuickboyColor.Location = new System.Drawing.Point(39, 53); + this.labelQuickboyColor.Name = "labelQuickboyColor"; + this.labelQuickboyColor.Size = new System.Drawing.Size(83, 13); + this.labelQuickboyColor.TabIndex = 34; + this.labelQuickboyColor.Text = "Quick-Boy Color"; // - // openFileDialogGamePath + // labelPowerArmorColor // - this.openFileDialogGamePath.FileName = "Fallout76.exe"; - this.openFileDialogGamePath.Filter = "Fallout 76 executable|Fallout76.exe;Project76_GamePass.exe"; - this.openFileDialogGamePath.FilterIndex = 2; + this.labelPowerArmorColor.AutoSize = true; + this.labelPowerArmorColor.Location = new System.Drawing.Point(39, 82); + this.labelPowerArmorColor.Name = "labelPowerArmorColor"; + this.labelPowerArmorColor.Size = new System.Drawing.Size(94, 13); + this.labelPowerArmorColor.TabIndex = 37; + this.labelPowerArmorColor.Text = "Power Armor Color"; // - // tabPageCamera + // checkBoxDepthOfField // - this.tabPageCamera.AutoScroll = true; - this.tabPageCamera.Controls.Add(this.groupBoxCameraOptions); - this.tabPageCamera.Controls.Add(this.groupBoxCameraDistance); - this.tabPageCamera.Controls.Add(this.groupBoxCameraPositionWIP); - this.tabPageCamera.Controls.Add(this.groupBoxFieldOfView); - this.tabPageCamera.Controls.Add(this.groupBoxCameraVanity); - this.tabPageCamera.Location = new System.Drawing.Point(4, 22); - this.tabPageCamera.Name = "tabPageCamera"; - this.tabPageCamera.Padding = new System.Windows.Forms.Padding(3); - this.tabPageCamera.Size = new System.Drawing.Size(852, 464); - this.tabPageCamera.TabIndex = 7; - this.tabPageCamera.Text = "Camera"; - this.tabPageCamera.UseVisualStyleBackColor = true; + this.checkBoxDepthOfField.AutoSize = true; + this.checkBoxDepthOfField.Checked = true; + this.checkBoxDepthOfField.CheckState = System.Windows.Forms.CheckState.Checked; + this.checkBoxDepthOfField.Location = new System.Drawing.Point(9, 19); + this.checkBoxDepthOfField.Name = "checkBoxDepthOfField"; + this.checkBoxDepthOfField.Size = new System.Drawing.Size(92, 17); + this.checkBoxDepthOfField.TabIndex = 10; + this.checkBoxDepthOfField.Text = "Depth of Field"; + this.checkBoxDepthOfField.UseVisualStyleBackColor = true; // - // groupBoxCameraOptions + // labelDisplayMode // - this.groupBoxCameraOptions.Controls.Add(this.numCameraSwitchDelay); - this.groupBoxCameraOptions.Controls.Add(this.labelSwitchDelay); - this.groupBoxCameraOptions.Location = new System.Drawing.Point(413, 323); - this.groupBoxCameraOptions.Name = "groupBoxCameraOptions"; - this.groupBoxCameraOptions.Size = new System.Drawing.Size(433, 55); - this.groupBoxCameraOptions.TabIndex = 35; - this.groupBoxCameraOptions.TabStop = false; - this.groupBoxCameraOptions.Text = "Camera options"; + this.labelDisplayMode.AutoSize = true; + this.labelDisplayMode.Location = new System.Drawing.Point(6, 23); + this.labelDisplayMode.Name = "labelDisplayMode"; + this.labelDisplayMode.Size = new System.Drawing.Size(73, 13); + this.labelDisplayMode.TabIndex = 1; + this.labelDisplayMode.Text = "Display mode:"; // - // numCameraSwitchDelay + // checkBoxFixMouseSensitivity // - this.numCameraSwitchDelay.DecimalPlaces = 4; - this.numCameraSwitchDelay.Location = new System.Drawing.Point(304, 21); - this.numCameraSwitchDelay.Maximum = new decimal(new int[] { - 5, - 0, - 0, - 0}); - this.numCameraSwitchDelay.Minimum = new decimal(new int[] { - 1, - 0, - 0, - 262144}); - this.numCameraSwitchDelay.Name = "numCameraSwitchDelay"; - this.numCameraSwitchDelay.Size = new System.Drawing.Size(120, 20); - this.numCameraSwitchDelay.TabIndex = 1; - this.numCameraSwitchDelay.Value = new decimal(new int[] { - 25, - 0, - 0, - 131072}); + this.checkBoxFixMouseSensitivity.AutoSize = true; + this.checkBoxFixMouseSensitivity.Location = new System.Drawing.Point(9, 111); + this.checkBoxFixMouseSensitivity.Name = "checkBoxFixMouseSensitivity"; + this.checkBoxFixMouseSensitivity.Size = new System.Drawing.Size(208, 17); + this.checkBoxFixMouseSensitivity.TabIndex = 0; + this.checkBoxFixMouseSensitivity.Text = "Fix mouse horizontal/vertical sensitivity"; + this.checkBoxFixMouseSensitivity.UseVisualStyleBackColor = true; // - // groupBoxCameraDistance + // checkBoxEnableQuestAutoTrackMain // - this.groupBoxCameraDistance.Controls.Add(this.numfPitchZoomOutMaxDist); - this.groupBoxCameraDistance.Controls.Add(this.sliderfPitchZoomOutMaxDist); - this.groupBoxCameraDistance.Controls.Add(this.labelPitchZoomOutMaxDist); - this.groupBoxCameraDistance.Controls.Add(this.numCameraDistanceMaximum); - this.groupBoxCameraDistance.Controls.Add(this.numCameraDistanceMinimum); - this.groupBoxCameraDistance.Controls.Add(this.sliderCameraDistanceMaximum); - this.groupBoxCameraDistance.Controls.Add(this.labelCameraDistanceMaximum); - this.groupBoxCameraDistance.Controls.Add(this.labelCameraDistanceMinimum); - this.groupBoxCameraDistance.Controls.Add(this.sliderCameraDistanceMinimum); - this.groupBoxCameraDistance.Location = new System.Drawing.Point(413, 166); - this.groupBoxCameraDistance.Name = "groupBoxCameraDistance"; - this.groupBoxCameraDistance.Size = new System.Drawing.Size(433, 151); - this.groupBoxCameraDistance.TabIndex = 34; - this.groupBoxCameraDistance.TabStop = false; - this.groupBoxCameraDistance.Text = "Camera distance"; + this.checkBoxEnableQuestAutoTrackMain.AutoSize = true; + this.checkBoxEnableQuestAutoTrackMain.Location = new System.Drawing.Point(7, 19); + this.checkBoxEnableQuestAutoTrackMain.Name = "checkBoxEnableQuestAutoTrackMain"; + this.checkBoxEnableQuestAutoTrackMain.Size = new System.Drawing.Size(182, 17); + this.checkBoxEnableQuestAutoTrackMain.TabIndex = 5; + this.checkBoxEnableQuestAutoTrackMain.Text = "Main Quests Active when started"; + this.checkBoxEnableQuestAutoTrackMain.UseVisualStyleBackColor = true; // - // numfPitchZoomOutMaxDist + // checkBoxEnableQuestAutoTrackSide // - this.numfPitchZoomOutMaxDist.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); - this.numfPitchZoomOutMaxDist.Increment = new decimal(new int[] { - 10, + this.checkBoxEnableQuestAutoTrackSide.AutoSize = true; + this.checkBoxEnableQuestAutoTrackSide.Location = new System.Drawing.Point(7, 42); + this.checkBoxEnableQuestAutoTrackSide.Name = "checkBoxEnableQuestAutoTrackSide"; + this.checkBoxEnableQuestAutoTrackSide.Size = new System.Drawing.Size(180, 17); + this.checkBoxEnableQuestAutoTrackSide.TabIndex = 6; + this.checkBoxEnableQuestAutoTrackSide.Text = "Side Quests Active when started"; + this.checkBoxEnableQuestAutoTrackSide.UseVisualStyleBackColor = true; + // + // checkBoxEnableQuestAutoTrackMisc + // + this.checkBoxEnableQuestAutoTrackMisc.AutoSize = true; + this.checkBoxEnableQuestAutoTrackMisc.Location = new System.Drawing.Point(7, 65); + this.checkBoxEnableQuestAutoTrackMisc.Name = "checkBoxEnableQuestAutoTrackMisc"; + this.checkBoxEnableQuestAutoTrackMisc.Size = new System.Drawing.Size(226, 17); + this.checkBoxEnableQuestAutoTrackMisc.TabIndex = 7; + this.checkBoxEnableQuestAutoTrackMisc.Text = "Miscellaneous Quests Active when started"; + this.checkBoxEnableQuestAutoTrackMisc.UseVisualStyleBackColor = true; + // + // checkBoxEnableQuestAutoTrackEvent + // + this.checkBoxEnableQuestAutoTrackEvent.AutoSize = true; + this.checkBoxEnableQuestAutoTrackEvent.Location = new System.Drawing.Point(7, 88); + this.checkBoxEnableQuestAutoTrackEvent.Name = "checkBoxEnableQuestAutoTrackEvent"; + this.checkBoxEnableQuestAutoTrackEvent.Size = new System.Drawing.Size(187, 17); + this.checkBoxEnableQuestAutoTrackEvent.TabIndex = 8; + this.checkBoxEnableQuestAutoTrackEvent.Text = "Event Quests Active when started"; + this.checkBoxEnableQuestAutoTrackEvent.UseVisualStyleBackColor = true; + // + // checkBoxEnableQuestAutoTrackDaily + // + this.checkBoxEnableQuestAutoTrackDaily.AutoSize = true; + this.checkBoxEnableQuestAutoTrackDaily.Location = new System.Drawing.Point(7, 111); + this.checkBoxEnableQuestAutoTrackDaily.Name = "checkBoxEnableQuestAutoTrackDaily"; + this.checkBoxEnableQuestAutoTrackDaily.Size = new System.Drawing.Size(182, 17); + this.checkBoxEnableQuestAutoTrackDaily.TabIndex = 9; + this.checkBoxEnableQuestAutoTrackDaily.Text = "Daily Quests Active when started"; + this.checkBoxEnableQuestAutoTrackDaily.UseVisualStyleBackColor = true; + // + // checkBoxEnablePowerArmorHUD + // + this.checkBoxEnablePowerArmorHUD.AutoSize = true; + this.checkBoxEnablePowerArmorHUD.Location = new System.Drawing.Point(7, 324); + this.checkBoxEnablePowerArmorHUD.Name = "checkBoxEnablePowerArmorHUD"; + this.checkBoxEnablePowerArmorHUD.Size = new System.Drawing.Size(149, 17); + this.checkBoxEnablePowerArmorHUD.TabIndex = 5; + this.checkBoxEnablePowerArmorHUD.Text = "Enable Power Armor HUD"; + this.checkBoxEnablePowerArmorHUD.UseVisualStyleBackColor = true; + // + // checkBoxShowOtherPlayersNames + // + this.checkBoxShowOtherPlayersNames.AutoSize = true; + this.checkBoxShowOtherPlayersNames.Location = new System.Drawing.Point(7, 378); + this.checkBoxShowOtherPlayersNames.Name = "checkBoxShowOtherPlayersNames"; + this.checkBoxShowOtherPlayersNames.Size = new System.Drawing.Size(152, 17); + this.checkBoxShowOtherPlayersNames.TabIndex = 33; + this.checkBoxShowOtherPlayersNames.Text = "Show other players\' names"; + this.checkBoxShowOtherPlayersNames.UseVisualStyleBackColor = true; + // + // labelResolution + // + this.labelResolution.AutoSize = true; + this.labelResolution.Location = new System.Drawing.Point(6, 48); + this.labelResolution.Name = "labelResolution"; + this.labelResolution.Size = new System.Drawing.Size(60, 13); + this.labelResolution.TabIndex = 3; + this.labelResolution.Text = "Resolution:"; + // + // checkBoxIntroVideos + // + this.checkBoxIntroVideos.AutoSize = true; + this.checkBoxIntroVideos.Checked = true; + this.checkBoxIntroVideos.CheckState = System.Windows.Forms.CheckState.Checked; + this.checkBoxIntroVideos.Location = new System.Drawing.Point(7, 19); + this.checkBoxIntroVideos.Name = "checkBoxIntroVideos"; + this.checkBoxIntroVideos.Size = new System.Drawing.Size(103, 17); + this.checkBoxIntroVideos.TabIndex = 0; + this.checkBoxIntroVideos.Text = "Play intro videos"; + this.checkBoxIntroVideos.UseVisualStyleBackColor = true; + // + // checkBoxShowDamageNumbersA + // + this.checkBoxShowDamageNumbersA.AutoSize = true; + this.checkBoxShowDamageNumbersA.Location = new System.Drawing.Point(7, 19); + this.checkBoxShowDamageNumbersA.Name = "checkBoxShowDamageNumbersA"; + this.checkBoxShowDamageNumbersA.Size = new System.Drawing.Size(261, 17); + this.checkBoxShowDamageNumbersA.TabIndex = 2; + this.checkBoxShowDamageNumbersA.Text = "Show floating damage numbers (Adventure mode)"; + this.checkBoxShowDamageNumbersA.UseVisualStyleBackColor = true; + // + // checkBoxShowDamageNumbersNW + // + this.checkBoxShowDamageNumbersNW.AutoSize = true; + this.checkBoxShowDamageNumbersNW.Location = new System.Drawing.Point(7, 42); + this.checkBoxShowDamageNumbersNW.Name = "checkBoxShowDamageNumbersNW"; + this.checkBoxShowDamageNumbersNW.Size = new System.Drawing.Size(254, 17); + this.checkBoxShowDamageNumbersNW.TabIndex = 3; + this.checkBoxShowDamageNumbersNW.Text = "Show floating damage numbers (Nuclear Winter)"; + this.checkBoxShowDamageNumbersNW.UseVisualStyleBackColor = true; + // + // checkBoxShowCompass + // + this.checkBoxShowCompass.AutoSize = true; + this.checkBoxShowCompass.Location = new System.Drawing.Point(7, 347); + this.checkBoxShowCompass.Name = "checkBoxShowCompass"; + this.checkBoxShowCompass.Size = new System.Drawing.Size(98, 17); + this.checkBoxShowCompass.TabIndex = 4; + this.checkBoxShowCompass.Text = "Show compass"; + this.checkBoxShowCompass.UseVisualStyleBackColor = true; + // + // checkBoxShowCrosshair + // + this.checkBoxShowCrosshair.AutoSize = true; + this.checkBoxShowCrosshair.Location = new System.Drawing.Point(7, 301); + this.checkBoxShowCrosshair.Name = "checkBoxShowCrosshair"; + this.checkBoxShowCrosshair.Size = new System.Drawing.Size(98, 17); + this.checkBoxShowCrosshair.TabIndex = 6; + this.checkBoxShowCrosshair.Text = "Show crosshair"; + this.checkBoxShowCrosshair.UseVisualStyleBackColor = true; + // + // checkBoxItemRarityColorsNW + // + this.checkBoxItemRarityColorsNW.AutoSize = true; + this.checkBoxItemRarityColorsNW.Location = new System.Drawing.Point(7, 65); + this.checkBoxItemRarityColorsNW.Name = "checkBoxItemRarityColorsNW"; + this.checkBoxItemRarityColorsNW.Size = new System.Drawing.Size(211, 17); + this.checkBoxItemRarityColorsNW.TabIndex = 7; + this.checkBoxItemRarityColorsNW.Text = "Show item rarity colors (Nuclear Winter)"; + this.checkBoxItemRarityColorsNW.UseVisualStyleBackColor = true; + // + // checkBoxShowPublicTeamNotifications + // + this.checkBoxShowPublicTeamNotifications.AutoSize = true; + this.checkBoxShowPublicTeamNotifications.Location = new System.Drawing.Point(7, 88); + this.checkBoxShowPublicTeamNotifications.Name = "checkBoxShowPublicTeamNotifications"; + this.checkBoxShowPublicTeamNotifications.Size = new System.Drawing.Size(175, 17); + this.checkBoxShowPublicTeamNotifications.TabIndex = 8; + this.checkBoxShowPublicTeamNotifications.Text = "Enable public team notifications\r\n"; + this.checkBoxShowPublicTeamNotifications.UseVisualStyleBackColor = true; + // + // checkBoxShowFloatingQuestMarkers + // + this.checkBoxShowFloatingQuestMarkers.AutoSize = true; + this.checkBoxShowFloatingQuestMarkers.Location = new System.Drawing.Point(7, 212); + this.checkBoxShowFloatingQuestMarkers.Name = "checkBoxShowFloatingQuestMarkers"; + this.checkBoxShowFloatingQuestMarkers.Size = new System.Drawing.Size(159, 17); + this.checkBoxShowFloatingQuestMarkers.TabIndex = 9; + this.checkBoxShowFloatingQuestMarkers.Text = "Show floating quest markers\r\n"; + this.checkBoxShowFloatingQuestMarkers.UseVisualStyleBackColor = true; + // + // checkBoxShowFloatingQuestText + // + this.checkBoxShowFloatingQuestText.AutoSize = true; + this.checkBoxShowFloatingQuestText.Location = new System.Drawing.Point(7, 235); + this.checkBoxShowFloatingQuestText.Name = "checkBoxShowFloatingQuestText"; + this.checkBoxShowFloatingQuestText.Size = new System.Drawing.Size(139, 17); + this.checkBoxShowFloatingQuestText.TabIndex = 32; + this.checkBoxShowFloatingQuestText.Text = "Show floating quest text"; + this.checkBoxShowFloatingQuestText.UseVisualStyleBackColor = true; + // + // checkBoxSkipSplash + // + this.checkBoxSkipSplash.AutoSize = true; + this.checkBoxSkipSplash.Checked = true; + this.checkBoxSkipSplash.CheckState = System.Windows.Forms.CheckState.Checked; + this.checkBoxSkipSplash.Location = new System.Drawing.Point(7, 42); + this.checkBoxSkipSplash.Name = "checkBoxSkipSplash"; + this.checkBoxSkipSplash.Size = new System.Drawing.Size(215, 17); + this.checkBoxSkipSplash.TabIndex = 2; + this.checkBoxSkipSplash.Text = "Skip splash screen with news on startup"; + this.checkBoxSkipSplash.UseVisualStyleBackColor = true; + // + // colorDialog + // + this.colorDialog.AnyColor = true; + this.colorDialog.FullOpen = true; + this.colorDialog.SolidColorOnly = true; + // + // timerCheckFiles + // + this.timerCheckFiles.Interval = 5000; + this.timerCheckFiles.Tick += new System.EventHandler(this.timerCheckFiles_Tick); + // + // openFileDialogGamePath + // + this.openFileDialogGamePath.FileName = "Fallout76.exe"; + this.openFileDialogGamePath.Filter = "Fallout 76 executable|Fallout76.exe;Project76_GamePass.exe"; + this.openFileDialogGamePath.FilterIndex = 2; + // + // tabPageCamera + // + this.tabPageCamera.AutoScroll = true; + this.tabPageCamera.Controls.Add(this.panel2); + this.tabPageCamera.Location = new System.Drawing.Point(4, 22); + this.tabPageCamera.Name = "tabPageCamera"; + this.tabPageCamera.Padding = new System.Windows.Forms.Padding(3); + this.tabPageCamera.Size = new System.Drawing.Size(852, 464); + this.tabPageCamera.TabIndex = 7; + this.tabPageCamera.Text = "Camera"; + this.tabPageCamera.UseVisualStyleBackColor = true; + // + // panel2 + // + this.panel2.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) + | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.panel2.AutoScroll = true; + this.panel2.AutoScrollMargin = new System.Drawing.Size(6, 6); + this.panel2.Controls.Add(this.groupBoxCameraPosition); + this.panel2.Controls.Add(this.groupBoxSelfieCamera); + this.panel2.Controls.Add(this.groupBoxFieldOfView); + this.panel2.Controls.Add(this.groupBoxCameraOptions); + this.panel2.Controls.Add(this.groupBoxCameraDistance); + this.panel2.Location = new System.Drawing.Point(0, 0); + this.panel2.Name = "panel2"; + this.panel2.Size = new System.Drawing.Size(852, 464); + this.panel2.TabIndex = 36; + // + // groupBoxCameraPosition + // + this.groupBoxCameraPosition.Controls.Add(this.groupBox3); + this.groupBoxCameraPosition.Controls.Add(this.groupBox2); + this.groupBoxCameraPosition.Controls.Add(this.buttonCameraPositionReset); + this.groupBoxCameraPosition.Controls.Add(this.checkBoxbApplyCameraNodeAnimations); + this.groupBoxCameraPosition.Controls.Add(this.groupBoxUnarmedCameraPosition); + this.groupBoxCameraPosition.Location = new System.Drawing.Point(410, 307); + this.groupBoxCameraPosition.Name = "groupBoxCameraPosition"; + this.groupBoxCameraPosition.Size = new System.Drawing.Size(419, 588); + this.groupBoxCameraPosition.TabIndex = 33; + this.groupBoxCameraPosition.TabStop = false; + this.groupBoxCameraPosition.Text = "Camera position (Experimental)"; + // + // groupBox3 + // + this.groupBox3.Controls.Add(this.numfOverShoulderMeleeCombatAddY); + this.groupBox3.Controls.Add(this.labelfOverShoulderMeleeCombatAddY); + this.groupBox3.Controls.Add(this.numfOverShoulderMeleeCombatPosX); + this.groupBox3.Controls.Add(this.numfOverShoulderMeleeCombatPosZ); + this.groupBox3.Controls.Add(this.trackBarfOverShoulderMeleeCombatAddY); + this.groupBox3.Controls.Add(this.labelfOverShoulderMeleeCombatPosX); + this.groupBox3.Controls.Add(this.trackBarfOverShoulderMeleeCombatPosX); + this.groupBox3.Controls.Add(this.labelfOverShoulderMeleeCombatPosZ); + this.groupBox3.Controls.Add(this.trackBarfOverShoulderMeleeCombatPosZ); + this.groupBox3.Location = new System.Drawing.Point(6, 392); + this.groupBox3.Name = "groupBox3"; + this.groupBox3.Size = new System.Drawing.Size(407, 191); + this.groupBox3.TabIndex = 57; + this.groupBox3.TabStop = false; + this.groupBox3.Text = "Melee combat camera position"; + // + // numfOverShoulderMeleeCombatAddY + // + this.numfOverShoulderMeleeCombatAddY.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.numfOverShoulderMeleeCombatAddY.DecimalPlaces = 1; + this.numfOverShoulderMeleeCombatAddY.Location = new System.Drawing.Point(327, 134); + this.numfOverShoulderMeleeCombatAddY.Maximum = new decimal(new int[] { + 999999, 0, 0, 0}); - this.numfPitchZoomOutMaxDist.Location = new System.Drawing.Point(350, 99); - this.numfPitchZoomOutMaxDist.Maximum = new decimal(new int[] { - 9999, + this.numfOverShoulderMeleeCombatAddY.Minimum = new decimal(new int[] { + 999999, 0, 0, - 0}); - this.numfPitchZoomOutMaxDist.Name = "numfPitchZoomOutMaxDist"; - this.numfPitchZoomOutMaxDist.Size = new System.Drawing.Size(74, 20); - this.numfPitchZoomOutMaxDist.TabIndex = 59; - this.numfPitchZoomOutMaxDist.Value = new decimal(new int[] { - 100, + -2147483648}); + this.numfOverShoulderMeleeCombatAddY.Name = "numfOverShoulderMeleeCombatAddY"; + this.numfOverShoulderMeleeCombatAddY.Size = new System.Drawing.Size(74, 20); + this.numfOverShoulderMeleeCombatAddY.TabIndex = 71; + // + // labelfOverShoulderMeleeCombatAddY + // + this.labelfOverShoulderMeleeCombatAddY.AutoSize = true; + this.labelfOverShoulderMeleeCombatAddY.Location = new System.Drawing.Point(6, 118); + this.labelfOverShoulderMeleeCombatAddY.Name = "labelfOverShoulderMeleeCombatAddY"; + this.labelfOverShoulderMeleeCombatAddY.Size = new System.Drawing.Size(242, 13); + this.labelfOverShoulderMeleeCombatAddY.TabIndex = 56; + this.labelfOverShoulderMeleeCombatAddY.Text = "Further/Closer (fOverShoulderMeleeCombatAddY)"; + // + // numfOverShoulderMeleeCombatPosX + // + this.numfOverShoulderMeleeCombatPosX.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.numfOverShoulderMeleeCombatPosX.DecimalPlaces = 1; + this.numfOverShoulderMeleeCombatPosX.Location = new System.Drawing.Point(327, 84); + this.numfOverShoulderMeleeCombatPosX.Maximum = new decimal(new int[] { + 999999, 0, 0, 0}); + this.numfOverShoulderMeleeCombatPosX.Minimum = new decimal(new int[] { + 999999, + 0, + 0, + -2147483648}); + this.numfOverShoulderMeleeCombatPosX.Name = "numfOverShoulderMeleeCombatPosX"; + this.numfOverShoulderMeleeCombatPosX.Size = new System.Drawing.Size(74, 20); + this.numfOverShoulderMeleeCombatPosX.TabIndex = 70; // - // sliderfPitchZoomOutMaxDist + // numfOverShoulderMeleeCombatPosZ // - this.sliderfPitchZoomOutMaxDist.BackColor = System.Drawing.Color.White; - this.sliderfPitchZoomOutMaxDist.LargeChange = 50; - this.sliderfPitchZoomOutMaxDist.Location = new System.Drawing.Point(131, 101); - this.sliderfPitchZoomOutMaxDist.Maximum = 200; - this.sliderfPitchZoomOutMaxDist.Name = "sliderfPitchZoomOutMaxDist"; - this.sliderfPitchZoomOutMaxDist.Size = new System.Drawing.Size(213, 45); - this.sliderfPitchZoomOutMaxDist.SmallChange = 10; - this.sliderfPitchZoomOutMaxDist.TabIndex = 58; - this.sliderfPitchZoomOutMaxDist.TickStyle = System.Windows.Forms.TickStyle.None; - this.sliderfPitchZoomOutMaxDist.Value = 100; + this.numfOverShoulderMeleeCombatPosZ.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.numfOverShoulderMeleeCombatPosZ.DecimalPlaces = 1; + this.numfOverShoulderMeleeCombatPosZ.Location = new System.Drawing.Point(327, 36); + this.numfOverShoulderMeleeCombatPosZ.Maximum = new decimal(new int[] { + 999999, + 0, + 0, + 0}); + this.numfOverShoulderMeleeCombatPosZ.Minimum = new decimal(new int[] { + 999999, + 0, + 0, + -2147483648}); + this.numfOverShoulderMeleeCombatPosZ.Name = "numfOverShoulderMeleeCombatPosZ"; + this.numfOverShoulderMeleeCombatPosZ.Size = new System.Drawing.Size(74, 20); + this.numfOverShoulderMeleeCombatPosZ.TabIndex = 69; // - // numCameraDistanceMaximum + // trackBarfOverShoulderMeleeCombatAddY // - this.numCameraDistanceMaximum.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); - this.numCameraDistanceMaximum.Increment = new decimal(new int[] { - 10, + this.trackBarfOverShoulderMeleeCombatAddY.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.trackBarfOverShoulderMeleeCombatAddY.BackColor = System.Drawing.Color.White; + this.trackBarfOverShoulderMeleeCombatAddY.Location = new System.Drawing.Point(6, 134); + this.trackBarfOverShoulderMeleeCombatAddY.Maximum = 20; + this.trackBarfOverShoulderMeleeCombatAddY.Minimum = -20; + this.trackBarfOverShoulderMeleeCombatAddY.Name = "trackBarfOverShoulderMeleeCombatAddY"; + this.trackBarfOverShoulderMeleeCombatAddY.Size = new System.Drawing.Size(315, 45); + this.trackBarfOverShoulderMeleeCombatAddY.TabIndex = 55; + this.trackBarfOverShoulderMeleeCombatAddY.TickStyle = System.Windows.Forms.TickStyle.None; + // + // labelfOverShoulderMeleeCombatPosX + // + this.labelfOverShoulderMeleeCombatPosX.AutoSize = true; + this.labelfOverShoulderMeleeCombatPosX.Location = new System.Drawing.Point(6, 68); + this.labelfOverShoulderMeleeCombatPosX.Name = "labelfOverShoulderMeleeCombatPosX"; + this.labelfOverShoulderMeleeCombatPosX.Size = new System.Drawing.Size(222, 13); + this.labelfOverShoulderMeleeCombatPosX.TabIndex = 54; + this.labelfOverShoulderMeleeCombatPosX.Text = "Left/Right (fOverShoulderMeleeCombatPosX)"; + // + // trackBarfOverShoulderMeleeCombatPosX + // + this.trackBarfOverShoulderMeleeCombatPosX.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.trackBarfOverShoulderMeleeCombatPosX.BackColor = System.Drawing.Color.White; + this.trackBarfOverShoulderMeleeCombatPosX.Location = new System.Drawing.Point(6, 84); + this.trackBarfOverShoulderMeleeCombatPosX.Maximum = 25; + this.trackBarfOverShoulderMeleeCombatPosX.Minimum = -25; + this.trackBarfOverShoulderMeleeCombatPosX.Name = "trackBarfOverShoulderMeleeCombatPosX"; + this.trackBarfOverShoulderMeleeCombatPosX.Size = new System.Drawing.Size(315, 45); + this.trackBarfOverShoulderMeleeCombatPosX.TabIndex = 53; + this.trackBarfOverShoulderMeleeCombatPosX.TickStyle = System.Windows.Forms.TickStyle.None; + // + // labelfOverShoulderMeleeCombatPosZ + // + this.labelfOverShoulderMeleeCombatPosZ.AutoSize = true; + this.labelfOverShoulderMeleeCombatPosZ.Location = new System.Drawing.Point(6, 20); + this.labelfOverShoulderMeleeCombatPosZ.Name = "labelfOverShoulderMeleeCombatPosZ"; + this.labelfOverShoulderMeleeCombatPosZ.Size = new System.Drawing.Size(221, 13); + this.labelfOverShoulderMeleeCombatPosZ.TabIndex = 52; + this.labelfOverShoulderMeleeCombatPosZ.Text = "Down/Up (fOverShoulderMeleeCombatPosZ)"; + // + // trackBarfOverShoulderMeleeCombatPosZ + // + this.trackBarfOverShoulderMeleeCombatPosZ.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.trackBarfOverShoulderMeleeCombatPosZ.BackColor = System.Drawing.Color.White; + this.trackBarfOverShoulderMeleeCombatPosZ.Location = new System.Drawing.Point(6, 36); + this.trackBarfOverShoulderMeleeCombatPosZ.Maximum = 20; + this.trackBarfOverShoulderMeleeCombatPosZ.Minimum = -20; + this.trackBarfOverShoulderMeleeCombatPosZ.Name = "trackBarfOverShoulderMeleeCombatPosZ"; + this.trackBarfOverShoulderMeleeCombatPosZ.RightToLeft = System.Windows.Forms.RightToLeft.No; + this.trackBarfOverShoulderMeleeCombatPosZ.Size = new System.Drawing.Size(315, 45); + this.trackBarfOverShoulderMeleeCombatPosZ.TabIndex = 51; + this.trackBarfOverShoulderMeleeCombatPosZ.TickStyle = System.Windows.Forms.TickStyle.None; + // + // groupBox2 + // + this.groupBox2.Controls.Add(this.numfOverShoulderCombatAddY); + this.groupBox2.Controls.Add(this.numfOverShoulderCombatPosX); + this.groupBox2.Controls.Add(this.numfOverShoulderCombatPosZ); + this.groupBox2.Controls.Add(this.labelfOverShoulderCombatAddY); + this.groupBox2.Controls.Add(this.trackBarfOverShoulderCombatAddY); + this.groupBox2.Controls.Add(this.labelfOverShoulderCombatPosX); + this.groupBox2.Controls.Add(this.trackBarfOverShoulderCombatPosX); + this.groupBox2.Controls.Add(this.labelfOverShoulderCombatPosZ); + this.groupBox2.Controls.Add(this.trackBarfOverShoulderCombatPosZ); + this.groupBox2.Location = new System.Drawing.Point(6, 195); + this.groupBox2.Name = "groupBox2"; + this.groupBox2.Size = new System.Drawing.Size(407, 191); + this.groupBox2.TabIndex = 55; + this.groupBox2.TabStop = false; + this.groupBox2.Text = "Combat camera position"; + // + // numfOverShoulderCombatAddY + // + this.numfOverShoulderCombatAddY.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.numfOverShoulderCombatAddY.DecimalPlaces = 1; + this.numfOverShoulderCombatAddY.Location = new System.Drawing.Point(327, 134); + this.numfOverShoulderCombatAddY.Maximum = new decimal(new int[] { + 999999, 0, 0, 0}); - this.numCameraDistanceMaximum.Location = new System.Drawing.Point(350, 51); - this.numCameraDistanceMaximum.Maximum = new decimal(new int[] { - 9999, + this.numfOverShoulderCombatAddY.Minimum = new decimal(new int[] { + 999999, 0, 0, - 0}); - this.numCameraDistanceMaximum.Name = "numCameraDistanceMaximum"; - this.numCameraDistanceMaximum.Size = new System.Drawing.Size(74, 20); - this.numCameraDistanceMaximum.TabIndex = 56; - this.numCameraDistanceMaximum.Value = new decimal(new int[] { - 150, + -2147483648}); + this.numfOverShoulderCombatAddY.Name = "numfOverShoulderCombatAddY"; + this.numfOverShoulderCombatAddY.Size = new System.Drawing.Size(74, 20); + this.numfOverShoulderCombatAddY.TabIndex = 68; + // + // numfOverShoulderCombatPosX + // + this.numfOverShoulderCombatPosX.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.numfOverShoulderCombatPosX.DecimalPlaces = 1; + this.numfOverShoulderCombatPosX.Location = new System.Drawing.Point(327, 84); + this.numfOverShoulderCombatPosX.Maximum = new decimal(new int[] { + 999999, 0, 0, 0}); + this.numfOverShoulderCombatPosX.Minimum = new decimal(new int[] { + 999999, + 0, + 0, + -2147483648}); + this.numfOverShoulderCombatPosX.Name = "numfOverShoulderCombatPosX"; + this.numfOverShoulderCombatPosX.Size = new System.Drawing.Size(74, 20); + this.numfOverShoulderCombatPosX.TabIndex = 67; // - // numCameraDistanceMinimum + // numfOverShoulderCombatPosZ // - this.numCameraDistanceMinimum.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); - this.numCameraDistanceMinimum.Increment = new decimal(new int[] { - 10, + this.numfOverShoulderCombatPosZ.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.numfOverShoulderCombatPosZ.DecimalPlaces = 1; + this.numfOverShoulderCombatPosZ.Location = new System.Drawing.Point(327, 36); + this.numfOverShoulderCombatPosZ.Maximum = new decimal(new int[] { + 999999, 0, 0, 0}); - this.numCameraDistanceMinimum.Location = new System.Drawing.Point(350, 20); - this.numCameraDistanceMinimum.Maximum = new decimal(new int[] { - 9999, + this.numfOverShoulderCombatPosZ.Minimum = new decimal(new int[] { + 999999, 0, 0, - 0}); - this.numCameraDistanceMinimum.Name = "numCameraDistanceMinimum"; - this.numCameraDistanceMinimum.Size = new System.Drawing.Size(74, 20); - this.numCameraDistanceMinimum.TabIndex = 55; - // - // sliderCameraDistanceMaximum + -2147483648}); + this.numfOverShoulderCombatPosZ.Name = "numfOverShoulderCombatPosZ"; + this.numfOverShoulderCombatPosZ.Size = new System.Drawing.Size(74, 20); + this.numfOverShoulderCombatPosZ.TabIndex = 66; // - this.sliderCameraDistanceMaximum.BackColor = System.Drawing.Color.White; - this.sliderCameraDistanceMaximum.LargeChange = 200; - this.sliderCameraDistanceMaximum.Location = new System.Drawing.Point(131, 51); - this.sliderCameraDistanceMaximum.Maximum = 1000; - this.sliderCameraDistanceMaximum.Minimum = 100; - this.sliderCameraDistanceMaximum.Name = "sliderCameraDistanceMaximum"; - this.sliderCameraDistanceMaximum.Size = new System.Drawing.Size(213, 45); - this.sliderCameraDistanceMaximum.SmallChange = 50; - this.sliderCameraDistanceMaximum.TabIndex = 54; - this.sliderCameraDistanceMaximum.TickStyle = System.Windows.Forms.TickStyle.None; - this.sliderCameraDistanceMaximum.Value = 150; + // labelfOverShoulderCombatAddY // - // sliderCameraDistanceMinimum + this.labelfOverShoulderCombatAddY.AutoSize = true; + this.labelfOverShoulderCombatAddY.Location = new System.Drawing.Point(6, 118); + this.labelfOverShoulderCombatAddY.Name = "labelfOverShoulderCombatAddY"; + this.labelfOverShoulderCombatAddY.Size = new System.Drawing.Size(213, 13); + this.labelfOverShoulderCombatAddY.TabIndex = 56; + this.labelfOverShoulderCombatAddY.Text = "Further/Closer (fOverShoulderCombatAddY)"; // - this.sliderCameraDistanceMinimum.BackColor = System.Drawing.Color.White; - this.sliderCameraDistanceMinimum.LargeChange = 20; - this.sliderCameraDistanceMinimum.Location = new System.Drawing.Point(131, 19); - this.sliderCameraDistanceMinimum.Maximum = 100; - this.sliderCameraDistanceMinimum.Name = "sliderCameraDistanceMinimum"; - this.sliderCameraDistanceMinimum.Size = new System.Drawing.Size(213, 45); - this.sliderCameraDistanceMinimum.SmallChange = 10; - this.sliderCameraDistanceMinimum.TabIndex = 51; - this.sliderCameraDistanceMinimum.TickStyle = System.Windows.Forms.TickStyle.None; + // trackBarfOverShoulderCombatAddY // - // groupBoxCameraPositionWIP - // - this.groupBoxCameraPositionWIP.Controls.Add(this.buttonCameraPositionCenter); - this.groupBoxCameraPositionWIP.Controls.Add(this.buttonCameraPositionReset); - this.groupBoxCameraPositionWIP.Controls.Add(this.labelCameraPositionPlayer); - this.groupBoxCameraPositionWIP.Controls.Add(this.labelCameraPositionFor); - this.groupBoxCameraPositionWIP.Controls.Add(this.checkBoxbApplyCameraNodeAnimations); - this.groupBoxCameraPositionWIP.Controls.Add(this.radioButtonCameraPositionMeleeCombat); - this.groupBoxCameraPositionWIP.Controls.Add(this.radioButtonCameraPositionCombat); - this.groupBoxCameraPositionWIP.Controls.Add(this.radioButtonCameraPositionUnarmed); - this.groupBoxCameraPositionWIP.Controls.Add(this.labelCameraFurther); - this.groupBoxCameraPositionWIP.Controls.Add(this.labelCameraCloser); - this.groupBoxCameraPositionWIP.Controls.Add(this.labelCameraUp); - this.groupBoxCameraPositionWIP.Controls.Add(this.labelCameraDown); - this.groupBoxCameraPositionWIP.Controls.Add(this.labelCameraRight); - this.groupBoxCameraPositionWIP.Controls.Add(this.labelCameraLeft); - this.groupBoxCameraPositionWIP.Controls.Add(this.trackBarCameraX); - this.groupBoxCameraPositionWIP.Controls.Add(this.trackBarCameraZ); - this.groupBoxCameraPositionWIP.Controls.Add(this.trackBarCameraY); - this.groupBoxCameraPositionWIP.Controls.Add(this.pictureBoxVaultBoy); - this.groupBoxCameraPositionWIP.Location = new System.Drawing.Point(6, 6); - this.groupBoxCameraPositionWIP.Name = "groupBoxCameraPositionWIP"; - this.groupBoxCameraPositionWIP.Size = new System.Drawing.Size(398, 452); - this.groupBoxCameraPositionWIP.TabIndex = 33; - this.groupBoxCameraPositionWIP.TabStop = false; - this.groupBoxCameraPositionWIP.Text = "Camera position (WORK IN PROGRESS)"; - // - // buttonCameraPositionCenter - // - this.buttonCameraPositionCenter.Location = new System.Drawing.Point(221, 369); - this.buttonCameraPositionCenter.Name = "buttonCameraPositionCenter"; - this.buttonCameraPositionCenter.Size = new System.Drawing.Size(171, 23); - this.buttonCameraPositionCenter.TabIndex = 50; - this.buttonCameraPositionCenter.Text = "Center"; - this.buttonCameraPositionCenter.UseVisualStyleBackColor = true; - this.buttonCameraPositionCenter.Click += new System.EventHandler(this.buttonCameraPositionCenter_Click); + this.trackBarfOverShoulderCombatAddY.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.trackBarfOverShoulderCombatAddY.BackColor = System.Drawing.Color.White; + this.trackBarfOverShoulderCombatAddY.Location = new System.Drawing.Point(6, 134); + this.trackBarfOverShoulderCombatAddY.Maximum = 20; + this.trackBarfOverShoulderCombatAddY.Minimum = -20; + this.trackBarfOverShoulderCombatAddY.Name = "trackBarfOverShoulderCombatAddY"; + this.trackBarfOverShoulderCombatAddY.Size = new System.Drawing.Size(315, 45); + this.trackBarfOverShoulderCombatAddY.TabIndex = 55; + this.trackBarfOverShoulderCombatAddY.TickStyle = System.Windows.Forms.TickStyle.None; + // + // labelfOverShoulderCombatPosX + // + this.labelfOverShoulderCombatPosX.AutoSize = true; + this.labelfOverShoulderCombatPosX.Location = new System.Drawing.Point(6, 68); + this.labelfOverShoulderCombatPosX.Name = "labelfOverShoulderCombatPosX"; + this.labelfOverShoulderCombatPosX.Size = new System.Drawing.Size(193, 13); + this.labelfOverShoulderCombatPosX.TabIndex = 54; + this.labelfOverShoulderCombatPosX.Text = "Left/Right (fOverShoulderCombatPosX)"; + // + // trackBarfOverShoulderCombatPosX + // + this.trackBarfOverShoulderCombatPosX.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.trackBarfOverShoulderCombatPosX.BackColor = System.Drawing.Color.White; + this.trackBarfOverShoulderCombatPosX.Location = new System.Drawing.Point(6, 84); + this.trackBarfOverShoulderCombatPosX.Maximum = 25; + this.trackBarfOverShoulderCombatPosX.Minimum = -25; + this.trackBarfOverShoulderCombatPosX.Name = "trackBarfOverShoulderCombatPosX"; + this.trackBarfOverShoulderCombatPosX.Size = new System.Drawing.Size(315, 45); + this.trackBarfOverShoulderCombatPosX.TabIndex = 53; + this.trackBarfOverShoulderCombatPosX.TickStyle = System.Windows.Forms.TickStyle.None; + // + // labelfOverShoulderCombatPosZ + // + this.labelfOverShoulderCombatPosZ.AutoSize = true; + this.labelfOverShoulderCombatPosZ.Location = new System.Drawing.Point(6, 20); + this.labelfOverShoulderCombatPosZ.Name = "labelfOverShoulderCombatPosZ"; + this.labelfOverShoulderCombatPosZ.Size = new System.Drawing.Size(192, 13); + this.labelfOverShoulderCombatPosZ.TabIndex = 52; + this.labelfOverShoulderCombatPosZ.Text = "Down/Up (fOverShoulderCombatPosZ)"; + // + // trackBarfOverShoulderCombatPosZ + // + this.trackBarfOverShoulderCombatPosZ.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.trackBarfOverShoulderCombatPosZ.BackColor = System.Drawing.Color.White; + this.trackBarfOverShoulderCombatPosZ.Location = new System.Drawing.Point(6, 36); + this.trackBarfOverShoulderCombatPosZ.Maximum = 20; + this.trackBarfOverShoulderCombatPosZ.Minimum = -20; + this.trackBarfOverShoulderCombatPosZ.Name = "trackBarfOverShoulderCombatPosZ"; + this.trackBarfOverShoulderCombatPosZ.RightToLeft = System.Windows.Forms.RightToLeft.No; + this.trackBarfOverShoulderCombatPosZ.Size = new System.Drawing.Size(315, 45); + this.trackBarfOverShoulderCombatPosZ.TabIndex = 51; + this.trackBarfOverShoulderCombatPosZ.TickStyle = System.Windows.Forms.TickStyle.None; // // buttonCameraPositionReset // - this.buttonCameraPositionReset.Location = new System.Drawing.Point(221, 340); + this.buttonCameraPositionReset.Location = new System.Drawing.Point(242, 18); this.buttonCameraPositionReset.Name = "buttonCameraPositionReset"; this.buttonCameraPositionReset.Size = new System.Drawing.Size(171, 23); this.buttonCameraPositionReset.TabIndex = 49; @@ -2174,160 +2244,234 @@ private void InitializeComponent() this.buttonCameraPositionReset.UseVisualStyleBackColor = true; this.buttonCameraPositionReset.Click += new System.EventHandler(this.buttonCameraPositionReset_Click); // - // labelCameraPositionPlayer - // - this.labelCameraPositionPlayer.AutoSize = true; - this.labelCameraPositionPlayer.Location = new System.Drawing.Point(145, 110); - this.labelCameraPositionPlayer.Name = "labelCameraPositionPlayer"; - this.labelCameraPositionPlayer.Size = new System.Drawing.Size(39, 13); - this.labelCameraPositionPlayer.TabIndex = 48; - this.labelCameraPositionPlayer.Text = "Player:"; - // - // labelCameraPositionFor - // - this.labelCameraPositionFor.AutoSize = true; - this.labelCameraPositionFor.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.labelCameraPositionFor.Location = new System.Drawing.Point(6, 340); - this.labelCameraPositionFor.Name = "labelCameraPositionFor"; - this.labelCameraPositionFor.Size = new System.Drawing.Size(121, 13); - this.labelCameraPositionFor.TabIndex = 47; - this.labelCameraPositionFor.Text = "Change position for:"; - // - // radioButtonCameraPositionMeleeCombat - // - this.radioButtonCameraPositionMeleeCombat.AutoSize = true; - this.radioButtonCameraPositionMeleeCombat.Location = new System.Drawing.Point(9, 405); - this.radioButtonCameraPositionMeleeCombat.Name = "radioButtonCameraPositionMeleeCombat"; - this.radioButtonCameraPositionMeleeCombat.Size = new System.Drawing.Size(92, 17); - this.radioButtonCameraPositionMeleeCombat.TabIndex = 45; - this.radioButtonCameraPositionMeleeCombat.Text = "Melee combat"; - this.radioButtonCameraPositionMeleeCombat.UseVisualStyleBackColor = true; - this.radioButtonCameraPositionMeleeCombat.CheckedChanged += new System.EventHandler(this.radioButtonCameraPositionMeleeCombat_CheckedChanged); - // - // radioButtonCameraPositionCombat - // - this.radioButtonCameraPositionCombat.AutoSize = true; - this.radioButtonCameraPositionCombat.Location = new System.Drawing.Point(9, 382); - this.radioButtonCameraPositionCombat.Name = "radioButtonCameraPositionCombat"; - this.radioButtonCameraPositionCombat.Size = new System.Drawing.Size(61, 17); - this.radioButtonCameraPositionCombat.TabIndex = 44; - this.radioButtonCameraPositionCombat.Text = "Combat"; - this.radioButtonCameraPositionCombat.UseVisualStyleBackColor = true; - this.radioButtonCameraPositionCombat.CheckedChanged += new System.EventHandler(this.radioButtonCameraPositionCombat_CheckedChanged); - // - // radioButtonCameraPositionUnarmed - // - this.radioButtonCameraPositionUnarmed.AutoSize = true; - this.radioButtonCameraPositionUnarmed.Checked = true; - this.radioButtonCameraPositionUnarmed.Location = new System.Drawing.Point(9, 359); - this.radioButtonCameraPositionUnarmed.Name = "radioButtonCameraPositionUnarmed"; - this.radioButtonCameraPositionUnarmed.Size = new System.Drawing.Size(68, 17); - this.radioButtonCameraPositionUnarmed.TabIndex = 43; - this.radioButtonCameraPositionUnarmed.TabStop = true; - this.radioButtonCameraPositionUnarmed.Text = "Unarmed"; - this.radioButtonCameraPositionUnarmed.UseVisualStyleBackColor = true; - this.radioButtonCameraPositionUnarmed.CheckedChanged += new System.EventHandler(this.radioButtonCameraPositionUnarmed_CheckedChanged); - // - // labelCameraFurther - // - this.labelCameraFurther.AutoSize = true; - this.labelCameraFurther.Location = new System.Drawing.Point(341, 260); - this.labelCameraFurther.Name = "labelCameraFurther"; - this.labelCameraFurther.Size = new System.Drawing.Size(40, 13); - this.labelCameraFurther.TabIndex = 42; - this.labelCameraFurther.Text = "Further"; - // - // labelCameraCloser - // - this.labelCameraCloser.AutoSize = true; - this.labelCameraCloser.Location = new System.Drawing.Point(345, 14); - this.labelCameraCloser.Name = "labelCameraCloser"; - this.labelCameraCloser.Size = new System.Drawing.Size(36, 13); - this.labelCameraCloser.TabIndex = 41; - this.labelCameraCloser.Text = "Closer"; - // - // labelCameraUp - // - this.labelCameraUp.AutoSize = true; - this.labelCameraUp.Location = new System.Drawing.Point(21, 14); - this.labelCameraUp.Name = "labelCameraUp"; - this.labelCameraUp.Size = new System.Drawing.Size(21, 13); - this.labelCameraUp.TabIndex = 40; - this.labelCameraUp.Text = "Up"; - // - // labelCameraDown - // - this.labelCameraDown.AutoSize = true; - this.labelCameraDown.Location = new System.Drawing.Point(18, 260); - this.labelCameraDown.Name = "labelCameraDown"; - this.labelCameraDown.Size = new System.Drawing.Size(35, 13); - this.labelCameraDown.TabIndex = 39; - this.labelCameraDown.Text = "Down"; - // - // labelCameraRight - // - this.labelCameraRight.AutoSize = true; - this.labelCameraRight.Location = new System.Drawing.Point(357, 291); - this.labelCameraRight.Name = "labelCameraRight"; - this.labelCameraRight.Size = new System.Drawing.Size(32, 13); - this.labelCameraRight.TabIndex = 38; - this.labelCameraRight.Text = "Right"; - // - // labelCameraLeft - // - this.labelCameraLeft.AutoSize = true; - this.labelCameraLeft.Location = new System.Drawing.Point(6, 291); - this.labelCameraLeft.Name = "labelCameraLeft"; - this.labelCameraLeft.Size = new System.Drawing.Size(25, 13); - this.labelCameraLeft.TabIndex = 37; - this.labelCameraLeft.Text = "Left"; - // - // trackBarCameraX - // - this.trackBarCameraX.BackColor = System.Drawing.Color.White; - this.trackBarCameraX.Location = new System.Drawing.Point(37, 281); - this.trackBarCameraX.Maximum = 25; - this.trackBarCameraX.Minimum = -25; - this.trackBarCameraX.Name = "trackBarCameraX"; - this.trackBarCameraX.Size = new System.Drawing.Size(316, 45); - this.trackBarCameraX.TabIndex = 36; - this.trackBarCameraX.Scroll += new System.EventHandler(this.trackBarCameraX_Scroll); - // - // trackBarCameraZ - // - this.trackBarCameraZ.BackColor = System.Drawing.Color.White; - this.trackBarCameraZ.Location = new System.Drawing.Point(21, 30); - this.trackBarCameraZ.Maximum = 20; - this.trackBarCameraZ.Minimum = -20; - this.trackBarCameraZ.Name = "trackBarCameraZ"; - this.trackBarCameraZ.Orientation = System.Windows.Forms.Orientation.Vertical; - this.trackBarCameraZ.RightToLeft = System.Windows.Forms.RightToLeft.No; - this.trackBarCameraZ.Size = new System.Drawing.Size(45, 227); - this.trackBarCameraZ.TabIndex = 35; - this.trackBarCameraZ.Scroll += new System.EventHandler(this.trackBarCameraZ_Scroll); - // - // trackBarCameraY - // - this.trackBarCameraY.BackColor = System.Drawing.Color.White; - this.trackBarCameraY.Location = new System.Drawing.Point(348, 30); - this.trackBarCameraY.Maximum = 20; - this.trackBarCameraY.Minimum = -20; - this.trackBarCameraY.Name = "trackBarCameraY"; - this.trackBarCameraY.Orientation = System.Windows.Forms.Orientation.Vertical; - this.trackBarCameraY.Size = new System.Drawing.Size(45, 227); - this.trackBarCameraY.TabIndex = 34; - this.trackBarCameraY.TickStyle = System.Windows.Forms.TickStyle.TopLeft; - this.trackBarCameraY.Scroll += new System.EventHandler(this.trackBarCameraY_Scroll); - // - // pictureBoxVaultBoy - // - this.pictureBoxVaultBoy.Image = global::Fo76ini.Properties.Resources.VaultBoyThumbsUp_200px; - this.pictureBoxVaultBoy.Location = new System.Drawing.Point(148, 126); - this.pictureBoxVaultBoy.Name = "pictureBoxVaultBoy"; - this.pictureBoxVaultBoy.Size = new System.Drawing.Size(93, 121); - this.pictureBoxVaultBoy.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom; - this.pictureBoxVaultBoy.TabIndex = 33; - this.pictureBoxVaultBoy.TabStop = false; + // groupBoxUnarmedCameraPosition + // + this.groupBoxUnarmedCameraPosition.Controls.Add(this.numfOverShoulderPosX); + this.groupBoxUnarmedCameraPosition.Controls.Add(this.numfOverShoulderPosZ); + this.groupBoxUnarmedCameraPosition.Controls.Add(this.labelfOverShoulderPosX); + this.groupBoxUnarmedCameraPosition.Controls.Add(this.trackBarfOverShoulderPosX); + this.groupBoxUnarmedCameraPosition.Controls.Add(this.labelfOverShoulderPosZ); + this.groupBoxUnarmedCameraPosition.Controls.Add(this.trackBarfOverShoulderPosZ); + this.groupBoxUnarmedCameraPosition.Location = new System.Drawing.Point(6, 55); + this.groupBoxUnarmedCameraPosition.Name = "groupBoxUnarmedCameraPosition"; + this.groupBoxUnarmedCameraPosition.Size = new System.Drawing.Size(407, 134); + this.groupBoxUnarmedCameraPosition.TabIndex = 37; + this.groupBoxUnarmedCameraPosition.TabStop = false; + this.groupBoxUnarmedCameraPosition.Text = "Unarmed camera position"; + // + // numfOverShoulderPosX + // + this.numfOverShoulderPosX.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.numfOverShoulderPosX.DecimalPlaces = 1; + this.numfOverShoulderPosX.Location = new System.Drawing.Point(327, 84); + this.numfOverShoulderPosX.Maximum = new decimal(new int[] { + 999999, + 0, + 0, + 0}); + this.numfOverShoulderPosX.Minimum = new decimal(new int[] { + 999999, + 0, + 0, + -2147483648}); + this.numfOverShoulderPosX.Name = "numfOverShoulderPosX"; + this.numfOverShoulderPosX.Size = new System.Drawing.Size(74, 20); + this.numfOverShoulderPosX.TabIndex = 70; + // + // numfOverShoulderPosZ + // + this.numfOverShoulderPosZ.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.numfOverShoulderPosZ.DecimalPlaces = 1; + this.numfOverShoulderPosZ.Location = new System.Drawing.Point(327, 36); + this.numfOverShoulderPosZ.Maximum = new decimal(new int[] { + 999999, + 0, + 0, + 0}); + this.numfOverShoulderPosZ.Minimum = new decimal(new int[] { + 999999, + 0, + 0, + -2147483648}); + this.numfOverShoulderPosZ.Name = "numfOverShoulderPosZ"; + this.numfOverShoulderPosZ.Size = new System.Drawing.Size(74, 20); + this.numfOverShoulderPosZ.TabIndex = 69; + // + // labelfOverShoulderPosX + // + this.labelfOverShoulderPosX.AutoSize = true; + this.labelfOverShoulderPosX.Location = new System.Drawing.Point(6, 68); + this.labelfOverShoulderPosX.Name = "labelfOverShoulderPosX"; + this.labelfOverShoulderPosX.Size = new System.Drawing.Size(157, 13); + this.labelfOverShoulderPosX.TabIndex = 54; + this.labelfOverShoulderPosX.Text = "Left/Right (fOverShoulderPosX)"; + // + // trackBarfOverShoulderPosX + // + this.trackBarfOverShoulderPosX.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.trackBarfOverShoulderPosX.BackColor = System.Drawing.Color.White; + this.trackBarfOverShoulderPosX.Location = new System.Drawing.Point(6, 84); + this.trackBarfOverShoulderPosX.Maximum = 25; + this.trackBarfOverShoulderPosX.Minimum = -25; + this.trackBarfOverShoulderPosX.Name = "trackBarfOverShoulderPosX"; + this.trackBarfOverShoulderPosX.Size = new System.Drawing.Size(315, 45); + this.trackBarfOverShoulderPosX.TabIndex = 53; + this.trackBarfOverShoulderPosX.TickStyle = System.Windows.Forms.TickStyle.None; + // + // labelfOverShoulderPosZ + // + this.labelfOverShoulderPosZ.AutoSize = true; + this.labelfOverShoulderPosZ.Location = new System.Drawing.Point(6, 20); + this.labelfOverShoulderPosZ.Name = "labelfOverShoulderPosZ"; + this.labelfOverShoulderPosZ.Size = new System.Drawing.Size(156, 13); + this.labelfOverShoulderPosZ.TabIndex = 52; + this.labelfOverShoulderPosZ.Text = "Down/Up (fOverShoulderPosZ)"; + // + // trackBarfOverShoulderPosZ + // + this.trackBarfOverShoulderPosZ.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.trackBarfOverShoulderPosZ.BackColor = System.Drawing.Color.White; + this.trackBarfOverShoulderPosZ.Location = new System.Drawing.Point(6, 36); + this.trackBarfOverShoulderPosZ.Maximum = 20; + this.trackBarfOverShoulderPosZ.Minimum = -20; + this.trackBarfOverShoulderPosZ.Name = "trackBarfOverShoulderPosZ"; + this.trackBarfOverShoulderPosZ.RightToLeft = System.Windows.Forms.RightToLeft.No; + this.trackBarfOverShoulderPosZ.Size = new System.Drawing.Size(315, 45); + this.trackBarfOverShoulderPosZ.TabIndex = 51; + this.trackBarfOverShoulderPosZ.TickStyle = System.Windows.Forms.TickStyle.None; + // + // groupBoxSelfieCamera + // + this.groupBoxSelfieCamera.Controls.Add(this.trackBarPhotomodeRange); + this.groupBoxSelfieCamera.Controls.Add(this.numericUpDownPhotomodeRotationSpeed); + this.groupBoxSelfieCamera.Controls.Add(this.trackBarPhotomodeRotationSpeed); + this.groupBoxSelfieCamera.Controls.Add(this.labelPhotomodeRotationSpeed); + this.groupBoxSelfieCamera.Controls.Add(this.numericUpDownPhotomodeRange); + this.groupBoxSelfieCamera.Controls.Add(this.labelPhotomodeRange); + this.groupBoxSelfieCamera.Controls.Add(this.numericUpDownPhotomodeTranslationSpeed); + this.groupBoxSelfieCamera.Controls.Add(this.trackBarPhotomodeTranslationSpeed); + this.groupBoxSelfieCamera.Controls.Add(this.labelPhotomodeTranslationSpeed); + this.groupBoxSelfieCamera.Location = new System.Drawing.Point(410, 167); + this.groupBoxSelfieCamera.Name = "groupBoxSelfieCamera"; + this.groupBoxSelfieCamera.Size = new System.Drawing.Size(419, 134); + this.groupBoxSelfieCamera.TabIndex = 36; + this.groupBoxSelfieCamera.TabStop = false; + this.groupBoxSelfieCamera.Text = "Photomode options"; + // + // trackBarPhotomodeRange + // + this.trackBarPhotomodeRange.BackColor = System.Drawing.Color.White; + this.trackBarPhotomodeRange.LargeChange = 100; + this.trackBarPhotomodeRange.Location = new System.Drawing.Point(131, 85); + this.trackBarPhotomodeRange.Maximum = 2000; + this.trackBarPhotomodeRange.Minimum = 10; + this.trackBarPhotomodeRange.Name = "trackBarPhotomodeRange"; + this.trackBarPhotomodeRange.Size = new System.Drawing.Size(186, 45); + this.trackBarPhotomodeRange.SmallChange = 20; + this.trackBarPhotomodeRange.TabIndex = 61; + this.trackBarPhotomodeRange.TickStyle = System.Windows.Forms.TickStyle.None; + this.trackBarPhotomodeRange.Value = 500; + // + // numericUpDownPhotomodeRotationSpeed + // + this.numericUpDownPhotomodeRotationSpeed.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.numericUpDownPhotomodeRotationSpeed.DecimalPlaces = 1; + this.numericUpDownPhotomodeRotationSpeed.Location = new System.Drawing.Point(336, 51); + this.numericUpDownPhotomodeRotationSpeed.Maximum = new decimal(new int[] { + 9999, + 0, + 0, + 0}); + this.numericUpDownPhotomodeRotationSpeed.Minimum = new decimal(new int[] { + 1, + 0, + 0, + 65536}); + this.numericUpDownPhotomodeRotationSpeed.Name = "numericUpDownPhotomodeRotationSpeed"; + this.numericUpDownPhotomodeRotationSpeed.Size = new System.Drawing.Size(74, 20); + this.numericUpDownPhotomodeRotationSpeed.TabIndex = 65; + this.numericUpDownPhotomodeRotationSpeed.Value = new decimal(new int[] { + 15, + 0, + 0, + 65536}); + // + // trackBarPhotomodeRotationSpeed + // + this.trackBarPhotomodeRotationSpeed.BackColor = System.Drawing.Color.White; + this.trackBarPhotomodeRotationSpeed.LargeChange = 50; + this.trackBarPhotomodeRotationSpeed.Location = new System.Drawing.Point(131, 51); + this.trackBarPhotomodeRotationSpeed.Maximum = 50; + this.trackBarPhotomodeRotationSpeed.Minimum = 5; + this.trackBarPhotomodeRotationSpeed.Name = "trackBarPhotomodeRotationSpeed"; + this.trackBarPhotomodeRotationSpeed.Size = new System.Drawing.Size(186, 45); + this.trackBarPhotomodeRotationSpeed.SmallChange = 10; + this.trackBarPhotomodeRotationSpeed.TabIndex = 64; + this.trackBarPhotomodeRotationSpeed.TickStyle = System.Windows.Forms.TickStyle.None; + this.trackBarPhotomodeRotationSpeed.Value = 15; + // + // numericUpDownPhotomodeRange + // + this.numericUpDownPhotomodeRange.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.numericUpDownPhotomodeRange.Location = new System.Drawing.Point(336, 85); + this.numericUpDownPhotomodeRange.Maximum = new decimal(new int[] { + 9999999, + 0, + 0, + 0}); + this.numericUpDownPhotomodeRange.Minimum = new decimal(new int[] { + 1, + 0, + 0, + 0}); + this.numericUpDownPhotomodeRange.Name = "numericUpDownPhotomodeRange"; + this.numericUpDownPhotomodeRange.Size = new System.Drawing.Size(74, 20); + this.numericUpDownPhotomodeRange.TabIndex = 62; + this.numericUpDownPhotomodeRange.Value = new decimal(new int[] { + 500, + 0, + 0, + 0}); + // + // numericUpDownPhotomodeTranslationSpeed + // + this.numericUpDownPhotomodeTranslationSpeed.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.numericUpDownPhotomodeTranslationSpeed.DecimalPlaces = 1; + this.numericUpDownPhotomodeTranslationSpeed.Location = new System.Drawing.Point(336, 21); + this.numericUpDownPhotomodeTranslationSpeed.Maximum = new decimal(new int[] { + 9999, + 0, + 0, + 0}); + this.numericUpDownPhotomodeTranslationSpeed.Minimum = new decimal(new int[] { + 1, + 0, + 0, + 65536}); + this.numericUpDownPhotomodeTranslationSpeed.Name = "numericUpDownPhotomodeTranslationSpeed"; + this.numericUpDownPhotomodeTranslationSpeed.Size = new System.Drawing.Size(74, 20); + this.numericUpDownPhotomodeTranslationSpeed.TabIndex = 59; + this.numericUpDownPhotomodeTranslationSpeed.Value = new decimal(new int[] { + 25, + 0, + 0, + 65536}); + // + // trackBarPhotomodeTranslationSpeed + // + this.trackBarPhotomodeTranslationSpeed.BackColor = System.Drawing.Color.White; + this.trackBarPhotomodeTranslationSpeed.LargeChange = 50; + this.trackBarPhotomodeTranslationSpeed.Location = new System.Drawing.Point(131, 21); + this.trackBarPhotomodeTranslationSpeed.Maximum = 50; + this.trackBarPhotomodeTranslationSpeed.Minimum = 5; + this.trackBarPhotomodeTranslationSpeed.Name = "trackBarPhotomodeTranslationSpeed"; + this.trackBarPhotomodeTranslationSpeed.Size = new System.Drawing.Size(186, 45); + this.trackBarPhotomodeTranslationSpeed.SmallChange = 10; + this.trackBarPhotomodeTranslationSpeed.TabIndex = 58; + this.trackBarPhotomodeTranslationSpeed.TickStyle = System.Windows.Forms.TickStyle.None; + this.trackBarPhotomodeTranslationSpeed.Value = 25; // // groupBoxFieldOfView // @@ -2339,9 +2483,9 @@ private void InitializeComponent() this.groupBoxFieldOfView.Controls.Add(this.numFirstPersonFOV); this.groupBoxFieldOfView.Controls.Add(this.labelWorldFOV); this.groupBoxFieldOfView.Controls.Add(this.labelFirstPersonFOV); - this.groupBoxFieldOfView.Location = new System.Drawing.Point(413, 6); + this.groupBoxFieldOfView.Location = new System.Drawing.Point(6, 6); this.groupBoxFieldOfView.Name = "groupBoxFieldOfView"; - this.groupBoxFieldOfView.Size = new System.Drawing.Size(433, 154); + this.groupBoxFieldOfView.Size = new System.Drawing.Size(395, 154); this.groupBoxFieldOfView.TabIndex = 21; this.groupBoxFieldOfView.TabStop = false; this.groupBoxFieldOfView.Text = "Field of View"; @@ -2354,7 +2498,7 @@ private void InitializeComponent() 0, 0, 0}); - this.numfDefaultFOV.Location = new System.Drawing.Point(289, 120); + this.numfDefaultFOV.Location = new System.Drawing.Point(251, 120); this.numfDefaultFOV.Maximum = new decimal(new int[] { 180, 0, @@ -2382,95 +2526,243 @@ private void InitializeComponent() 0, 0, 0}); - this.numADSFOV.Location = new System.Drawing.Point(289, 82); + this.numADSFOV.Location = new System.Drawing.Point(251, 82); this.numADSFOV.Maximum = new decimal(new int[] { 180, 0, 0, 0}); - this.numADSFOV.Minimum = new decimal(new int[] { - 10, + this.numADSFOV.Minimum = new decimal(new int[] { + 10, + 0, + 0, + 0}); + this.numADSFOV.Name = "numADSFOV"; + this.numADSFOV.Size = new System.Drawing.Size(135, 20); + this.numADSFOV.TabIndex = 4; + this.numADSFOV.Value = new decimal(new int[] { + 50, + 0, + 0, + 0}); + // + // numWorldFOV + // + this.numWorldFOV.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.numWorldFOV.Increment = new decimal(new int[] { + 5, + 0, + 0, + 0}); + this.numWorldFOV.Location = new System.Drawing.Point(251, 45); + this.numWorldFOV.Maximum = new decimal(new int[] { + 180, + 0, + 0, + 0}); + this.numWorldFOV.Minimum = new decimal(new int[] { + 10, + 0, + 0, + 0}); + this.numWorldFOV.Name = "numWorldFOV"; + this.numWorldFOV.Size = new System.Drawing.Size(135, 20); + this.numWorldFOV.TabIndex = 3; + this.numWorldFOV.Value = new decimal(new int[] { + 80, + 0, + 0, + 0}); + // + // numFirstPersonFOV + // + this.numFirstPersonFOV.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.numFirstPersonFOV.Increment = new decimal(new int[] { + 5, + 0, + 0, + 0}); + this.numFirstPersonFOV.Location = new System.Drawing.Point(251, 19); + this.numFirstPersonFOV.Maximum = new decimal(new int[] { + 180, + 0, + 0, + 0}); + this.numFirstPersonFOV.Minimum = new decimal(new int[] { + 10, + 0, + 0, + 0}); + this.numFirstPersonFOV.Name = "numFirstPersonFOV"; + this.numFirstPersonFOV.Size = new System.Drawing.Size(135, 20); + this.numFirstPersonFOV.TabIndex = 2; + this.numFirstPersonFOV.Value = new decimal(new int[] { + 80, + 0, + 0, + 0}); + // + // groupBoxCameraOptions + // + this.groupBoxCameraOptions.Controls.Add(this.checkBoxForceVanityMode); + this.groupBoxCameraOptions.Controls.Add(this.numCameraSwitchDelay); + this.groupBoxCameraOptions.Controls.Add(this.checkBoxVanityMode); + this.groupBoxCameraOptions.Controls.Add(this.labelSwitchDelay); + this.groupBoxCameraOptions.Location = new System.Drawing.Point(6, 166); + this.groupBoxCameraOptions.Name = "groupBoxCameraOptions"; + this.groupBoxCameraOptions.Size = new System.Drawing.Size(395, 135); + this.groupBoxCameraOptions.TabIndex = 35; + this.groupBoxCameraOptions.TabStop = false; + this.groupBoxCameraOptions.Text = "Camera options"; + // + // numCameraSwitchDelay + // + this.numCameraSwitchDelay.DecimalPlaces = 4; + this.numCameraSwitchDelay.Location = new System.Drawing.Point(251, 16); + this.numCameraSwitchDelay.Maximum = new decimal(new int[] { + 5, + 0, + 0, + 0}); + this.numCameraSwitchDelay.Minimum = new decimal(new int[] { + 1, + 0, + 0, + 262144}); + this.numCameraSwitchDelay.Name = "numCameraSwitchDelay"; + this.numCameraSwitchDelay.Size = new System.Drawing.Size(135, 20); + this.numCameraSwitchDelay.TabIndex = 1; + this.numCameraSwitchDelay.Value = new decimal(new int[] { + 25, + 0, + 0, + 131072}); + // + // groupBoxCameraDistance + // + this.groupBoxCameraDistance.Controls.Add(this.numfPitchZoomOutMaxDist); + this.groupBoxCameraDistance.Controls.Add(this.sliderfPitchZoomOutMaxDist); + this.groupBoxCameraDistance.Controls.Add(this.labelPitchZoomOutMaxDist); + this.groupBoxCameraDistance.Controls.Add(this.numCameraDistanceMaximum); + this.groupBoxCameraDistance.Controls.Add(this.numCameraDistanceMinimum); + this.groupBoxCameraDistance.Controls.Add(this.sliderCameraDistanceMaximum); + this.groupBoxCameraDistance.Controls.Add(this.labelCameraDistanceMaximum); + this.groupBoxCameraDistance.Controls.Add(this.labelCameraDistanceMinimum); + this.groupBoxCameraDistance.Controls.Add(this.sliderCameraDistanceMinimum); + this.groupBoxCameraDistance.Location = new System.Drawing.Point(410, 6); + this.groupBoxCameraDistance.Name = "groupBoxCameraDistance"; + this.groupBoxCameraDistance.Size = new System.Drawing.Size(419, 154); + this.groupBoxCameraDistance.TabIndex = 34; + this.groupBoxCameraDistance.TabStop = false; + this.groupBoxCameraDistance.Text = "Camera distance"; + // + // numfPitchZoomOutMaxDist + // + this.numfPitchZoomOutMaxDist.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.numfPitchZoomOutMaxDist.Increment = new decimal(new int[] { + 10, + 0, + 0, + 0}); + this.numfPitchZoomOutMaxDist.Location = new System.Drawing.Point(336, 99); + this.numfPitchZoomOutMaxDist.Maximum = new decimal(new int[] { + 9999, 0, 0, 0}); - this.numADSFOV.Name = "numADSFOV"; - this.numADSFOV.Size = new System.Drawing.Size(135, 20); - this.numADSFOV.TabIndex = 4; - this.numADSFOV.Value = new decimal(new int[] { - 50, + this.numfPitchZoomOutMaxDist.Name = "numfPitchZoomOutMaxDist"; + this.numfPitchZoomOutMaxDist.Size = new System.Drawing.Size(74, 20); + this.numfPitchZoomOutMaxDist.TabIndex = 59; + this.numfPitchZoomOutMaxDist.Value = new decimal(new int[] { + 100, 0, 0, 0}); // - // numWorldFOV + // sliderfPitchZoomOutMaxDist // - this.numWorldFOV.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); - this.numWorldFOV.Increment = new decimal(new int[] { - 5, - 0, - 0, - 0}); - this.numWorldFOV.Location = new System.Drawing.Point(289, 45); - this.numWorldFOV.Maximum = new decimal(new int[] { - 180, + this.sliderfPitchZoomOutMaxDist.BackColor = System.Drawing.Color.White; + this.sliderfPitchZoomOutMaxDist.LargeChange = 50; + this.sliderfPitchZoomOutMaxDist.Location = new System.Drawing.Point(131, 101); + this.sliderfPitchZoomOutMaxDist.Maximum = 200; + this.sliderfPitchZoomOutMaxDist.Name = "sliderfPitchZoomOutMaxDist"; + this.sliderfPitchZoomOutMaxDist.Size = new System.Drawing.Size(186, 45); + this.sliderfPitchZoomOutMaxDist.SmallChange = 10; + this.sliderfPitchZoomOutMaxDist.TabIndex = 58; + this.sliderfPitchZoomOutMaxDist.TickStyle = System.Windows.Forms.TickStyle.None; + this.sliderfPitchZoomOutMaxDist.Value = 100; + // + // numCameraDistanceMaximum + // + this.numCameraDistanceMaximum.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.numCameraDistanceMaximum.Increment = new decimal(new int[] { + 10, 0, 0, 0}); - this.numWorldFOV.Minimum = new decimal(new int[] { - 10, + this.numCameraDistanceMaximum.Location = new System.Drawing.Point(336, 51); + this.numCameraDistanceMaximum.Maximum = new decimal(new int[] { + 9999, 0, 0, 0}); - this.numWorldFOV.Name = "numWorldFOV"; - this.numWorldFOV.Size = new System.Drawing.Size(135, 20); - this.numWorldFOV.TabIndex = 3; - this.numWorldFOV.Value = new decimal(new int[] { - 80, + this.numCameraDistanceMaximum.Name = "numCameraDistanceMaximum"; + this.numCameraDistanceMaximum.Size = new System.Drawing.Size(74, 20); + this.numCameraDistanceMaximum.TabIndex = 56; + this.numCameraDistanceMaximum.Value = new decimal(new int[] { + 150, 0, 0, 0}); // - // numFirstPersonFOV + // numCameraDistanceMinimum // - this.numFirstPersonFOV.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); - this.numFirstPersonFOV.Increment = new decimal(new int[] { - 5, - 0, - 0, - 0}); - this.numFirstPersonFOV.Location = new System.Drawing.Point(289, 19); - this.numFirstPersonFOV.Maximum = new decimal(new int[] { - 180, - 0, - 0, - 0}); - this.numFirstPersonFOV.Minimum = new decimal(new int[] { + this.numCameraDistanceMinimum.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.numCameraDistanceMinimum.Increment = new decimal(new int[] { 10, 0, 0, 0}); - this.numFirstPersonFOV.Name = "numFirstPersonFOV"; - this.numFirstPersonFOV.Size = new System.Drawing.Size(135, 20); - this.numFirstPersonFOV.TabIndex = 2; - this.numFirstPersonFOV.Value = new decimal(new int[] { - 80, + this.numCameraDistanceMinimum.Location = new System.Drawing.Point(336, 20); + this.numCameraDistanceMinimum.Maximum = new decimal(new int[] { + 9999, 0, 0, 0}); + this.numCameraDistanceMinimum.Name = "numCameraDistanceMinimum"; + this.numCameraDistanceMinimum.Size = new System.Drawing.Size(74, 20); + this.numCameraDistanceMinimum.TabIndex = 55; + // + // sliderCameraDistanceMaximum + // + this.sliderCameraDistanceMaximum.BackColor = System.Drawing.Color.White; + this.sliderCameraDistanceMaximum.LargeChange = 200; + this.sliderCameraDistanceMaximum.Location = new System.Drawing.Point(131, 51); + this.sliderCameraDistanceMaximum.Maximum = 1000; + this.sliderCameraDistanceMaximum.Minimum = 100; + this.sliderCameraDistanceMaximum.Name = "sliderCameraDistanceMaximum"; + this.sliderCameraDistanceMaximum.Size = new System.Drawing.Size(186, 45); + this.sliderCameraDistanceMaximum.SmallChange = 50; + this.sliderCameraDistanceMaximum.TabIndex = 54; + this.sliderCameraDistanceMaximum.TickStyle = System.Windows.Forms.TickStyle.None; + this.sliderCameraDistanceMaximum.Value = 150; // - // groupBoxCameraVanity + // sliderCameraDistanceMinimum // - this.groupBoxCameraVanity.Controls.Add(this.checkBoxForceVanityMode); - this.groupBoxCameraVanity.Controls.Add(this.checkBoxVanityMode); - this.groupBoxCameraVanity.Location = new System.Drawing.Point(413, 384); - this.groupBoxCameraVanity.Name = "groupBoxCameraVanity"; - this.groupBoxCameraVanity.Size = new System.Drawing.Size(433, 74); - this.groupBoxCameraVanity.TabIndex = 16; - this.groupBoxCameraVanity.TabStop = false; - this.groupBoxCameraVanity.Text = "Vanity (Spinning camera)"; + this.sliderCameraDistanceMinimum.BackColor = System.Drawing.Color.White; + this.sliderCameraDistanceMinimum.LargeChange = 20; + this.sliderCameraDistanceMinimum.Location = new System.Drawing.Point(131, 19); + this.sliderCameraDistanceMinimum.Maximum = 100; + this.sliderCameraDistanceMinimum.Name = "sliderCameraDistanceMinimum"; + this.sliderCameraDistanceMinimum.Size = new System.Drawing.Size(186, 45); + this.sliderCameraDistanceMinimum.SmallChange = 10; + this.sliderCameraDistanceMinimum.TabIndex = 51; + this.sliderCameraDistanceMinimum.TickStyle = System.Windows.Forms.TickStyle.None; // // tabPagePipBoy // + this.tabPagePipBoy.Controls.Add(this.groupBoxPipboyColorPresets); + this.tabPagePipBoy.Controls.Add(this.groupBoxPipboyColorPreview); this.tabPagePipBoy.Controls.Add(this.groupBoxPipboyResolution); this.tabPagePipBoy.Controls.Add(this.groupBoxPipboyMode); this.tabPagePipBoy.Controls.Add(this.groupBoxPipboyColors); @@ -2482,6 +2774,209 @@ private void InitializeComponent() this.tabPagePipBoy.Text = "Pipboy"; this.tabPagePipBoy.UseVisualStyleBackColor = true; // + // groupBoxPipboyColorPresets + // + this.groupBoxPipboyColorPresets.Controls.Add(this.colorPreviewPresetFo76Green); + this.groupBoxPipboyColorPresets.Controls.Add(this.colorPreviewPresetFo3Green); + this.groupBoxPipboyColorPresets.Controls.Add(this.colorPreviewPresetFo3White); + this.groupBoxPipboyColorPresets.Controls.Add(this.buttonPresetFo3Green); + this.groupBoxPipboyColorPresets.Controls.Add(this.buttonPresetFo3White); + this.groupBoxPipboyColorPresets.Controls.Add(this.buttonPresetFoNVAmber); + this.groupBoxPipboyColorPresets.Controls.Add(this.buttonPresetFo76Green); + this.groupBoxPipboyColorPresets.Controls.Add(this.colorPreviewPresetFoNVAmber); + this.groupBoxPipboyColorPresets.Controls.Add(this.colorPreviewPresetFo3Blue); + this.groupBoxPipboyColorPresets.Controls.Add(this.buttonPresetFo4Green); + this.groupBoxPipboyColorPresets.Controls.Add(this.colorPreviewPresetFo4Green); + this.groupBoxPipboyColorPresets.Controls.Add(this.buttonPresetFo3Blue); + this.groupBoxPipboyColorPresets.Location = new System.Drawing.Point(6, 135); + this.groupBoxPipboyColorPresets.Name = "groupBoxPipboyColorPresets"; + this.groupBoxPipboyColorPresets.Size = new System.Drawing.Size(451, 145); + this.groupBoxPipboyColorPresets.TabIndex = 2; + this.groupBoxPipboyColorPresets.TabStop = false; + this.groupBoxPipboyColorPresets.Text = "Presets"; + // + // colorPreviewPresetFo76Green + // + this.colorPreviewPresetFo76Green.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(26)))), ((int)(((byte)(255)))), ((int)(((byte)(128))))); + this.colorPreviewPresetFo76Green.Location = new System.Drawing.Point(246, 49); + this.colorPreviewPresetFo76Green.Name = "colorPreviewPresetFo76Green"; + this.colorPreviewPresetFo76Green.Size = new System.Drawing.Size(24, 24); + this.colorPreviewPresetFo76Green.TabIndex = 62; + this.colorPreviewPresetFo76Green.TabStop = false; + // + // colorPreviewPresetFo3Green + // + this.colorPreviewPresetFo3Green.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(26)))), ((int)(((byte)(255)))), ((int)(((byte)(128))))); + this.colorPreviewPresetFo3Green.Location = new System.Drawing.Point(11, 19); + this.colorPreviewPresetFo3Green.Name = "colorPreviewPresetFo3Green"; + this.colorPreviewPresetFo3Green.Size = new System.Drawing.Size(24, 24); + this.colorPreviewPresetFo3Green.TabIndex = 52; + this.colorPreviewPresetFo3Green.TabStop = false; + // + // colorPreviewPresetFo3White + // + this.colorPreviewPresetFo3White.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(192)))), ((int)(((byte)(255)))), ((int)(((byte)(255))))); + this.colorPreviewPresetFo3White.Location = new System.Drawing.Point(11, 109); + this.colorPreviewPresetFo3White.Name = "colorPreviewPresetFo3White"; + this.colorPreviewPresetFo3White.Size = new System.Drawing.Size(24, 24); + this.colorPreviewPresetFo3White.TabIndex = 58; + this.colorPreviewPresetFo3White.TabStop = false; + // + // buttonPresetFo3Green + // + this.buttonPresetFo3Green.BackColor = System.Drawing.Color.White; + this.buttonPresetFo3Green.FlatAppearance.BorderColor = System.Drawing.Color.LightGray; + this.buttonPresetFo3Green.FlatAppearance.MouseDownBackColor = System.Drawing.Color.Gainsboro; + this.buttonPresetFo3Green.FlatAppearance.MouseOverBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(240)))), ((int)(((byte)(240)))), ((int)(((byte)(240))))); + this.buttonPresetFo3Green.FlatStyle = System.Windows.Forms.FlatStyle.Flat; + this.buttonPresetFo3Green.Location = new System.Drawing.Point(41, 19); + this.buttonPresetFo3Green.Name = "buttonPresetFo3Green"; + this.buttonPresetFo3Green.Size = new System.Drawing.Size(166, 24); + this.buttonPresetFo3Green.TabIndex = 51; + this.buttonPresetFo3Green.Text = "Capital Wasteland Green"; + this.buttonPresetFo3Green.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; + this.buttonPresetFo3Green.UseVisualStyleBackColor = false; + this.buttonPresetFo3Green.Click += new System.EventHandler(this.buttonPresetFo3Green_Click); + // + // buttonPresetFo3White + // + this.buttonPresetFo3White.BackColor = System.Drawing.Color.White; + this.buttonPresetFo3White.FlatAppearance.BorderColor = System.Drawing.Color.LightGray; + this.buttonPresetFo3White.FlatAppearance.MouseDownBackColor = System.Drawing.Color.Gainsboro; + this.buttonPresetFo3White.FlatAppearance.MouseOverBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(240)))), ((int)(((byte)(240)))), ((int)(((byte)(240))))); + this.buttonPresetFo3White.FlatStyle = System.Windows.Forms.FlatStyle.Flat; + this.buttonPresetFo3White.Location = new System.Drawing.Point(41, 109); + this.buttonPresetFo3White.Name = "buttonPresetFo3White"; + this.buttonPresetFo3White.Size = new System.Drawing.Size(166, 24); + this.buttonPresetFo3White.TabIndex = 57; + this.buttonPresetFo3White.Text = "Classic White"; + this.buttonPresetFo3White.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; + this.buttonPresetFo3White.UseVisualStyleBackColor = false; + this.buttonPresetFo3White.Click += new System.EventHandler(this.buttonPresetFo3White_Click); + // + // buttonPresetFoNVAmber + // + this.buttonPresetFoNVAmber.BackColor = System.Drawing.Color.White; + this.buttonPresetFoNVAmber.FlatAppearance.BorderColor = System.Drawing.Color.LightGray; + this.buttonPresetFoNVAmber.FlatAppearance.MouseDownBackColor = System.Drawing.Color.Gainsboro; + this.buttonPresetFoNVAmber.FlatAppearance.MouseOverBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(240)))), ((int)(((byte)(240)))), ((int)(((byte)(240))))); + this.buttonPresetFoNVAmber.FlatStyle = System.Windows.Forms.FlatStyle.Flat; + this.buttonPresetFoNVAmber.Location = new System.Drawing.Point(41, 49); + this.buttonPresetFoNVAmber.Name = "buttonPresetFoNVAmber"; + this.buttonPresetFoNVAmber.Size = new System.Drawing.Size(166, 24); + this.buttonPresetFoNVAmber.TabIndex = 53; + this.buttonPresetFoNVAmber.Text = "Mojave Wasteland Amber"; + this.buttonPresetFoNVAmber.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; + this.buttonPresetFoNVAmber.UseVisualStyleBackColor = false; + this.buttonPresetFoNVAmber.Click += new System.EventHandler(this.buttonPresetFoNVAmber_Click); + // + // buttonPresetFo76Green + // + this.buttonPresetFo76Green.BackColor = System.Drawing.Color.White; + this.buttonPresetFo76Green.FlatAppearance.BorderColor = System.Drawing.Color.LightGray; + this.buttonPresetFo76Green.FlatAppearance.MouseDownBackColor = System.Drawing.Color.Gainsboro; + this.buttonPresetFo76Green.FlatAppearance.MouseOverBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(240)))), ((int)(((byte)(240)))), ((int)(((byte)(240))))); + this.buttonPresetFo76Green.FlatStyle = System.Windows.Forms.FlatStyle.Flat; + this.buttonPresetFo76Green.Location = new System.Drawing.Point(276, 49); + this.buttonPresetFo76Green.Name = "buttonPresetFo76Green"; + this.buttonPresetFo76Green.Size = new System.Drawing.Size(166, 24); + this.buttonPresetFo76Green.TabIndex = 61; + this.buttonPresetFo76Green.Text = "Appalachia Green"; + this.buttonPresetFo76Green.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; + this.buttonPresetFo76Green.UseVisualStyleBackColor = false; + this.buttonPresetFo76Green.Click += new System.EventHandler(this.buttonPresetFo76Green_Click); + // + // colorPreviewPresetFoNVAmber + // + this.colorPreviewPresetFoNVAmber.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(182)))), ((int)(((byte)(66))))); + this.colorPreviewPresetFoNVAmber.Location = new System.Drawing.Point(11, 49); + this.colorPreviewPresetFoNVAmber.Name = "colorPreviewPresetFoNVAmber"; + this.colorPreviewPresetFoNVAmber.Size = new System.Drawing.Size(24, 24); + this.colorPreviewPresetFoNVAmber.TabIndex = 54; + this.colorPreviewPresetFoNVAmber.TabStop = false; + // + // colorPreviewPresetFo3Blue + // + this.colorPreviewPresetFo3Blue.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(46)))), ((int)(((byte)(207)))), ((int)(((byte)(255))))); + this.colorPreviewPresetFo3Blue.Location = new System.Drawing.Point(11, 79); + this.colorPreviewPresetFo3Blue.Name = "colorPreviewPresetFo3Blue"; + this.colorPreviewPresetFo3Blue.Size = new System.Drawing.Size(24, 24); + this.colorPreviewPresetFo3Blue.TabIndex = 56; + this.colorPreviewPresetFo3Blue.TabStop = false; + // + // buttonPresetFo4Green + // + this.buttonPresetFo4Green.BackColor = System.Drawing.Color.White; + this.buttonPresetFo4Green.FlatAppearance.BorderColor = System.Drawing.Color.LightGray; + this.buttonPresetFo4Green.FlatAppearance.MouseDownBackColor = System.Drawing.Color.Gainsboro; + this.buttonPresetFo4Green.FlatAppearance.MouseOverBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(240)))), ((int)(((byte)(240)))), ((int)(((byte)(240))))); + this.buttonPresetFo4Green.FlatStyle = System.Windows.Forms.FlatStyle.Flat; + this.buttonPresetFo4Green.Location = new System.Drawing.Point(276, 19); + this.buttonPresetFo4Green.Name = "buttonPresetFo4Green"; + this.buttonPresetFo4Green.Size = new System.Drawing.Size(166, 24); + this.buttonPresetFo4Green.TabIndex = 59; + this.buttonPresetFo4Green.Text = "Commonwealth Green"; + this.buttonPresetFo4Green.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; + this.buttonPresetFo4Green.UseVisualStyleBackColor = false; + this.buttonPresetFo4Green.Click += new System.EventHandler(this.buttonPresetFo4Green_Click); + // + // colorPreviewPresetFo4Green + // + this.colorPreviewPresetFo4Green.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(18)))), ((int)(((byte)(255)))), ((int)(((byte)(21))))); + this.colorPreviewPresetFo4Green.Location = new System.Drawing.Point(246, 19); + this.colorPreviewPresetFo4Green.Name = "colorPreviewPresetFo4Green"; + this.colorPreviewPresetFo4Green.Size = new System.Drawing.Size(24, 24); + this.colorPreviewPresetFo4Green.TabIndex = 60; + this.colorPreviewPresetFo4Green.TabStop = false; + // + // buttonPresetFo3Blue + // + this.buttonPresetFo3Blue.BackColor = System.Drawing.Color.White; + this.buttonPresetFo3Blue.FlatAppearance.BorderColor = System.Drawing.Color.LightGray; + this.buttonPresetFo3Blue.FlatAppearance.MouseDownBackColor = System.Drawing.Color.Gainsboro; + this.buttonPresetFo3Blue.FlatAppearance.MouseOverBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(240)))), ((int)(((byte)(240)))), ((int)(((byte)(240))))); + this.buttonPresetFo3Blue.FlatStyle = System.Windows.Forms.FlatStyle.Flat; + this.buttonPresetFo3Blue.Location = new System.Drawing.Point(41, 79); + this.buttonPresetFo3Blue.Name = "buttonPresetFo3Blue"; + this.buttonPresetFo3Blue.Size = new System.Drawing.Size(166, 24); + this.buttonPresetFo3Blue.TabIndex = 55; + this.buttonPresetFo3Blue.Text = "Classic Blue"; + this.buttonPresetFo3Blue.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; + this.buttonPresetFo3Blue.UseVisualStyleBackColor = false; + this.buttonPresetFo3Blue.Click += new System.EventHandler(this.buttonPresetFo3Blue_Click); + // + // groupBoxPipboyColorPreview + // + this.groupBoxPipboyColorPreview.Controls.Add(this.labelPipboyColorPreviewNotice); + this.groupBoxPipboyColorPreview.Controls.Add(this.pictureBoxPipboyPreview); + this.groupBoxPipboyColorPreview.Location = new System.Drawing.Point(464, 6); + this.groupBoxPipboyColorPreview.Name = "groupBoxPipboyColorPreview"; + this.groupBoxPipboyColorPreview.Size = new System.Drawing.Size(382, 452); + this.groupBoxPipboyColorPreview.TabIndex = 40; + this.groupBoxPipboyColorPreview.TabStop = false; + this.groupBoxPipboyColorPreview.Text = "Preview"; + // + // labelPipboyColorPreviewNotice + // + this.labelPipboyColorPreviewNotice.ForeColor = System.Drawing.SystemColors.ControlDarkDark; + this.labelPipboyColorPreviewNotice.Location = new System.Drawing.Point(6, 246); + this.labelPipboyColorPreviewNotice.Name = "labelPipboyColorPreviewNotice"; + this.labelPipboyColorPreviewNotice.Size = new System.Drawing.Size(370, 46); + this.labelPipboyColorPreviewNotice.TabIndex = 1; + this.labelPipboyColorPreviewNotice.Text = "The preview is only an approximation,\r\nso it might not look exactly like this in " + + "game."; + this.labelPipboyColorPreviewNotice.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; + // + // pictureBoxPipboyPreview + // + this.pictureBoxPipboyPreview.Image = global::Fo76ini.Properties.Resources.pipboy_preview_bg; + this.pictureBoxPipboyPreview.Location = new System.Drawing.Point(6, 18); + this.pictureBoxPipboyPreview.Name = "pictureBoxPipboyPreview"; + this.pictureBoxPipboyPreview.Size = new System.Drawing.Size(370, 225); + this.pictureBoxPipboyPreview.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage; + this.pictureBoxPipboyPreview.TabIndex = 0; + this.pictureBoxPipboyPreview.TabStop = false; + // // groupBoxPipboyResolution // this.groupBoxPipboyResolution.Controls.Add(this.labelPipboyResolutionSideNote); @@ -2490,9 +2985,9 @@ private void InitializeComponent() this.groupBoxPipboyResolution.Controls.Add(this.numPipboyTargetHeight); this.groupBoxPipboyResolution.Controls.Add(this.numPipboyTargetWidth); this.groupBoxPipboyResolution.Controls.Add(this.labelPipboyResolutionSpacer); - this.groupBoxPipboyResolution.Location = new System.Drawing.Point(6, 215); + this.groupBoxPipboyResolution.Location = new System.Drawing.Point(175, 286); this.groupBoxPipboyResolution.Name = "groupBoxPipboyResolution"; - this.groupBoxPipboyResolution.Size = new System.Drawing.Size(451, 122); + this.groupBoxPipboyResolution.Size = new System.Drawing.Size(282, 172); this.groupBoxPipboyResolution.TabIndex = 39; this.groupBoxPipboyResolution.TabStop = false; this.groupBoxPipboyResolution.Text = "Resolution"; @@ -2500,17 +2995,17 @@ private void InitializeComponent() // labelPipboyResolutionSideNote // this.labelPipboyResolutionSideNote.ForeColor = System.Drawing.SystemColors.ControlDarkDark; - this.labelPipboyResolutionSideNote.Location = new System.Drawing.Point(3, 83); + this.labelPipboyResolutionSideNote.Location = new System.Drawing.Point(6, 111); this.labelPipboyResolutionSideNote.Name = "labelPipboyResolutionSideNote"; - this.labelPipboyResolutionSideNote.Size = new System.Drawing.Size(448, 28); + this.labelPipboyResolutionSideNote.Size = new System.Drawing.Size(270, 50); this.labelPipboyResolutionSideNote.TabIndex = 5; this.labelPipboyResolutionSideNote.Text = "These settings affect both the Pipboy and the Quickboy."; - this.labelPipboyResolutionSideNote.TextAlign = System.Drawing.ContentAlignment.TopCenter; + this.labelPipboyResolutionSideNote.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; // // labelPipboyResolutionSpacer // this.labelPipboyResolutionSpacer.AutoSize = true; - this.labelPipboyResolutionSpacer.Location = new System.Drawing.Point(218, 22); + this.labelPipboyResolutionSpacer.Location = new System.Drawing.Point(134, 26); this.labelPipboyResolutionSpacer.Name = "labelPipboyResolutionSpacer"; this.labelPipboyResolutionSpacer.Size = new System.Drawing.Size(14, 13); this.labelPipboyResolutionSpacer.TabIndex = 0; @@ -2520,22 +3015,22 @@ private void InitializeComponent() // this.groupBoxPipboyMode.Controls.Add(this.radioButtonQuickboy); this.groupBoxPipboyMode.Controls.Add(this.radioButtonPipboy); - this.groupBoxPipboyMode.Location = new System.Drawing.Point(6, 129); + this.groupBoxPipboyMode.Location = new System.Drawing.Point(6, 286); this.groupBoxPipboyMode.Name = "groupBoxPipboyMode"; - this.groupBoxPipboyMode.Size = new System.Drawing.Size(451, 80); + this.groupBoxPipboyMode.Size = new System.Drawing.Size(163, 172); this.groupBoxPipboyMode.TabIndex = 38; this.groupBoxPipboyMode.TabStop = false; this.groupBoxPipboyMode.Text = "Mode"; // // groupBoxPipboyColors // + this.groupBoxPipboyColors.Controls.Add(this.colorPreviewQuickboy); this.groupBoxPipboyColors.Controls.Add(this.colorPreviewPAPipboy); - this.groupBoxPipboyColors.Controls.Add(this.label1); + this.groupBoxPipboyColors.Controls.Add(this.labelPowerArmorColor); + this.groupBoxPipboyColors.Controls.Add(this.colorPreviewPipboy); this.groupBoxPipboyColors.Controls.Add(this.buttonColorPickPAPipboy); this.groupBoxPipboyColors.Controls.Add(this.buttonColorResetPipboy); this.groupBoxPipboyColors.Controls.Add(this.buttonColorResetPAPipboy); - this.groupBoxPipboyColors.Controls.Add(this.colorPreviewPipboy); - this.groupBoxPipboyColors.Controls.Add(this.colorPreviewQuickboy); this.groupBoxPipboyColors.Controls.Add(this.labelQuickboyColor); this.groupBoxPipboyColors.Controls.Add(this.buttonColorPickQuickboy); this.groupBoxPipboyColors.Controls.Add(this.buttonColorResetQuickboy); @@ -2543,20 +3038,38 @@ private void InitializeComponent() this.groupBoxPipboyColors.Controls.Add(this.buttonColorPickPipboy); this.groupBoxPipboyColors.Location = new System.Drawing.Point(6, 6); this.groupBoxPipboyColors.Name = "groupBoxPipboyColors"; - this.groupBoxPipboyColors.Size = new System.Drawing.Size(451, 117); + this.groupBoxPipboyColors.Size = new System.Drawing.Size(451, 123); this.groupBoxPipboyColors.TabIndex = 35; this.groupBoxPipboyColors.TabStop = false; this.groupBoxPipboyColors.Text = "Colors"; // + // colorPreviewQuickboy + // + this.colorPreviewQuickboy.BackColor = System.Drawing.Color.Fuchsia; + this.colorPreviewQuickboy.Location = new System.Drawing.Point(11, 50); + this.colorPreviewQuickboy.Name = "colorPreviewQuickboy"; + this.colorPreviewQuickboy.Size = new System.Drawing.Size(20, 20); + this.colorPreviewQuickboy.TabIndex = 42; + this.colorPreviewQuickboy.TabStop = false; + // // colorPreviewPAPipboy // - this.colorPreviewPAPipboy.BackColor = System.Drawing.Color.Red; - this.colorPreviewPAPipboy.Location = new System.Drawing.Point(12, 78); + this.colorPreviewPAPipboy.BackColor = System.Drawing.Color.Fuchsia; + this.colorPreviewPAPipboy.Location = new System.Drawing.Point(11, 79); this.colorPreviewPAPipboy.Name = "colorPreviewPAPipboy"; this.colorPreviewPAPipboy.Size = new System.Drawing.Size(20, 20); - this.colorPreviewPAPipboy.TabIndex = 35; + this.colorPreviewPAPipboy.TabIndex = 41; this.colorPreviewPAPipboy.TabStop = false; // + // colorPreviewPipboy + // + this.colorPreviewPipboy.BackColor = System.Drawing.Color.Fuchsia; + this.colorPreviewPipboy.Location = new System.Drawing.Point(11, 21); + this.colorPreviewPipboy.Name = "colorPreviewPipboy"; + this.colorPreviewPipboy.Size = new System.Drawing.Size(20, 20); + this.colorPreviewPipboy.TabIndex = 40; + this.colorPreviewPipboy.TabStop = false; + // // buttonColorPickPAPipboy // this.buttonColorPickPAPipboy.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); @@ -2566,7 +3079,6 @@ private void InitializeComponent() this.buttonColorPickPAPipboy.TabIndex = 36; this.buttonColorPickPAPipboy.Text = "Pick color"; this.buttonColorPickPAPipboy.UseVisualStyleBackColor = true; - this.buttonColorPickPAPipboy.Click += new System.EventHandler(this.buttonColorPickPAPipboy_Click); // // buttonColorResetPipboy // @@ -2577,7 +3089,6 @@ private void InitializeComponent() this.buttonColorResetPipboy.TabIndex = 3; this.buttonColorResetPipboy.Text = "Reset"; this.buttonColorResetPipboy.UseVisualStyleBackColor = true; - this.buttonColorResetPipboy.Click += new System.EventHandler(this.buttonColorResetPipboy_Click); // // buttonColorResetPAPipboy // @@ -2588,25 +3099,6 @@ private void InitializeComponent() this.buttonColorResetPAPipboy.TabIndex = 35; this.buttonColorResetPAPipboy.Text = "Reset"; this.buttonColorResetPAPipboy.UseVisualStyleBackColor = true; - this.buttonColorResetPAPipboy.Click += new System.EventHandler(this.buttonColorResetPAPipboy_Click); - // - // colorPreviewPipboy - // - this.colorPreviewPipboy.BackColor = System.Drawing.Color.Red; - this.colorPreviewPipboy.Location = new System.Drawing.Point(12, 20); - this.colorPreviewPipboy.Name = "colorPreviewPipboy"; - this.colorPreviewPipboy.Size = new System.Drawing.Size(20, 20); - this.colorPreviewPipboy.TabIndex = 0; - this.colorPreviewPipboy.TabStop = false; - // - // colorPreviewQuickboy - // - this.colorPreviewQuickboy.BackColor = System.Drawing.Color.Red; - this.colorPreviewQuickboy.Location = new System.Drawing.Point(12, 49); - this.colorPreviewQuickboy.Name = "colorPreviewQuickboy"; - this.colorPreviewQuickboy.Size = new System.Drawing.Size(20, 20); - this.colorPreviewQuickboy.TabIndex = 5; - this.colorPreviewQuickboy.TabStop = false; // // buttonColorPickQuickboy // @@ -2617,7 +3109,6 @@ private void InitializeComponent() this.buttonColorPickQuickboy.TabIndex = 7; this.buttonColorPickQuickboy.Text = "Pick color"; this.buttonColorPickQuickboy.UseVisualStyleBackColor = true; - this.buttonColorPickQuickboy.Click += new System.EventHandler(this.buttonColorPickQuickboy_Click); // // buttonColorResetQuickboy // @@ -2628,7 +3119,6 @@ private void InitializeComponent() this.buttonColorResetQuickboy.TabIndex = 8; this.buttonColorResetQuickboy.Text = "Reset"; this.buttonColorResetQuickboy.UseVisualStyleBackColor = true; - this.buttonColorResetQuickboy.Click += new System.EventHandler(this.buttonColorResetQuickboy_Click); // // buttonColorPickPipboy // @@ -2639,7 +3129,6 @@ private void InitializeComponent() this.buttonColorPickPipboy.TabIndex = 2; this.buttonColorPickPipboy.Text = "Pick color"; this.buttonColorPickPipboy.UseVisualStyleBackColor = true; - this.buttonColorPickPipboy.Click += new System.EventHandler(this.buttonColorPickPipboy_Click); // // tabPageControls // @@ -2655,13 +3144,11 @@ private void InitializeComponent() // // groupBoxGamepad // - this.groupBoxGamepad.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) - | System.Windows.Forms.AnchorStyles.Right))); this.groupBoxGamepad.Controls.Add(this.checkBoxGamepadEnabled); this.groupBoxGamepad.Controls.Add(this.checkBoxGamepadRumble); this.groupBoxGamepad.Location = new System.Drawing.Point(451, 6); this.groupBoxGamepad.Name = "groupBoxGamepad"; - this.groupBoxGamepad.Size = new System.Drawing.Size(395, 92); + this.groupBoxGamepad.Size = new System.Drawing.Size(395, 452); this.groupBoxGamepad.TabIndex = 5; this.groupBoxGamepad.TabStop = false; this.groupBoxGamepad.Text = "Gamepad"; @@ -2678,7 +3165,7 @@ private void InitializeComponent() this.groupBoxMouse.Controls.Add(this.checkBoxFixMouseSensitivity); this.groupBoxMouse.Location = new System.Drawing.Point(6, 6); this.groupBoxMouse.Name = "groupBoxMouse"; - this.groupBoxMouse.Size = new System.Drawing.Size(438, 226); + this.groupBoxMouse.Size = new System.Drawing.Size(438, 452); this.groupBoxMouse.TabIndex = 4; this.groupBoxMouse.TabStop = false; this.groupBoxMouse.Text = "Mouse"; @@ -2748,6 +3235,7 @@ private void InitializeComponent() // // groupBoxGraphics // + this.groupBoxGraphics.Controls.Add(this.groupBoxGraphicEffects); this.groupBoxGraphics.Controls.Add(this.groupBoxTAASharpening); this.groupBoxGraphics.Controls.Add(this.labelAntiAliasing); this.groupBoxGraphics.Controls.Add(this.groupBoxGrass); @@ -2763,11 +3251,21 @@ private void InitializeComponent() this.groupBoxGraphics.Controls.Add(this.groupBoxPostProcessing); this.groupBoxGraphics.Location = new System.Drawing.Point(3, 6); this.groupBoxGraphics.Name = "groupBoxGraphics"; - this.groupBoxGraphics.Size = new System.Drawing.Size(402, 1004); + this.groupBoxGraphics.Size = new System.Drawing.Size(402, 915); this.groupBoxGraphics.TabIndex = 26; this.groupBoxGraphics.TabStop = false; this.groupBoxGraphics.Text = "Graphics"; // + // groupBoxGraphicEffects + // + this.groupBoxGraphicEffects.Controls.Add(this.checkBoxDisableGore); + this.groupBoxGraphicEffects.Location = new System.Drawing.Point(9, 261); + this.groupBoxGraphicEffects.Name = "groupBoxGraphicEffects"; + this.groupBoxGraphicEffects.Size = new System.Drawing.Size(187, 46); + this.groupBoxGraphicEffects.TabIndex = 39; + this.groupBoxGraphicEffects.TabStop = false; + this.groupBoxGraphicEffects.Text = "Effects"; + // // groupBoxTAASharpening // this.groupBoxTAASharpening.Controls.Add(this.sliderTAAPostSharpen); @@ -2776,7 +3274,7 @@ private void InitializeComponent() this.groupBoxTAASharpening.Controls.Add(this.sliderTAAPostOverlay); this.groupBoxTAASharpening.Controls.Add(this.numTAAPostOverlay); this.groupBoxTAASharpening.Controls.Add(this.labelTAAPostOverlay); - this.groupBoxTAASharpening.Location = new System.Drawing.Point(9, 845); + this.groupBoxTAASharpening.Location = new System.Drawing.Point(9, 758); this.groupBoxTAASharpening.Name = "groupBoxTAASharpening"; this.groupBoxTAASharpening.Size = new System.Drawing.Size(381, 145); this.groupBoxTAASharpening.TabIndex = 38; @@ -2855,7 +3353,7 @@ private void InitializeComponent() this.groupBoxGrass.Controls.Add(this.numGrassFadeDistance); this.groupBoxGrass.Controls.Add(this.labelGrassFadeDistance); this.groupBoxGrass.Controls.Add(this.checkBoxGrass); - this.groupBoxGrass.Location = new System.Drawing.Point(9, 720); + this.groupBoxGrass.Location = new System.Drawing.Point(9, 629); this.groupBoxGrass.Name = "groupBoxGrass"; this.groupBoxGrass.Size = new System.Drawing.Size(381, 119); this.groupBoxGrass.TabIndex = 35; @@ -2915,7 +3413,7 @@ private void InitializeComponent() this.groupBoxLOD.Controls.Add(this.labelLODActors); this.groupBoxLOD.Controls.Add(this.labelLODItems); this.groupBoxLOD.Controls.Add(this.labelLODObjects); - this.groupBoxLOD.Location = new System.Drawing.Point(9, 558); + this.groupBoxLOD.Location = new System.Drawing.Point(9, 467); this.groupBoxLOD.Name = "groupBoxLOD"; this.groupBoxLOD.Size = new System.Drawing.Size(381, 156); this.groupBoxLOD.TabIndex = 37; @@ -3018,20 +3516,15 @@ private void InitializeComponent() // groupBoxLighting // this.groupBoxLighting.Controls.Add(this.checkBoxGodrays); - this.groupBoxLighting.Location = new System.Drawing.Point(9, 261); + this.groupBoxLighting.Location = new System.Drawing.Point(202, 261); this.groupBoxLighting.Name = "groupBoxLighting"; - this.groupBoxLighting.Size = new System.Drawing.Size(381, 46); + this.groupBoxLighting.Size = new System.Drawing.Size(188, 46); this.groupBoxLighting.TabIndex = 28; this.groupBoxLighting.TabStop = false; this.groupBoxLighting.Text = "Lighting"; // // groupBoxShadows // - this.groupBoxShadows.Controls.Add(this.sliderfBlendSplitDirShadow); - this.groupBoxShadows.Controls.Add(this.numfBlendSplitDirShadow); - this.groupBoxShadows.Controls.Add(this.labelfBlendSplitDirShadow); - this.groupBoxShadows.Controls.Add(this.comboBoxiDirShadowSplits); - this.groupBoxShadows.Controls.Add(this.label2); this.groupBoxShadows.Controls.Add(this.sliderShadowDistance); this.groupBoxShadows.Controls.Add(this.comboBoxShadowBlurriness); this.groupBoxShadows.Controls.Add(this.labelShadowBlurriness); @@ -3041,54 +3534,11 @@ private void InitializeComponent() this.groupBoxShadows.Controls.Add(this.labelShadowTextureResolution); this.groupBoxShadows.Location = new System.Drawing.Point(9, 313); this.groupBoxShadows.Name = "groupBoxShadows"; - this.groupBoxShadows.Size = new System.Drawing.Size(381, 239); + this.groupBoxShadows.Size = new System.Drawing.Size(381, 147); this.groupBoxShadows.TabIndex = 30; this.groupBoxShadows.TabStop = false; this.groupBoxShadows.Text = "Shadows"; // - // numfBlendSplitDirShadow - // - this.numfBlendSplitDirShadow.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); - this.numfBlendSplitDirShadow.Increment = new decimal(new int[] { - 1000, - 0, - 0, - 0}); - this.numfBlendSplitDirShadow.Location = new System.Drawing.Point(301, 175); - this.numfBlendSplitDirShadow.Maximum = new decimal(new int[] { - 9999999, - 0, - 0, - 0}); - this.numfBlendSplitDirShadow.Name = "numfBlendSplitDirShadow"; - this.numfBlendSplitDirShadow.Size = new System.Drawing.Size(74, 20); - this.numfBlendSplitDirShadow.TabIndex = 35; - this.numfBlendSplitDirShadow.Value = new decimal(new int[] { - 48, - 0, - 0, - 0}); - // - // labelfBlendSplitDirShadow - // - this.labelfBlendSplitDirShadow.AutoSize = true; - this.labelfBlendSplitDirShadow.Location = new System.Drawing.Point(7, 155); - this.labelfBlendSplitDirShadow.Name = "labelfBlendSplitDirShadow"; - this.labelfBlendSplitDirShadow.Size = new System.Drawing.Size(147, 13); - this.labelfBlendSplitDirShadow.TabIndex = 34; - this.labelfBlendSplitDirShadow.Text = "\"Segment\" transition distance"; - // - // comboBoxiDirShadowSplits - // - this.comboBoxiDirShadowSplits.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) - | System.Windows.Forms.AnchorStyles.Right))); - this.comboBoxiDirShadowSplits.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; - this.comboBoxiDirShadowSplits.FormattingEnabled = true; - this.comboBoxiDirShadowSplits.Location = new System.Drawing.Point(156, 74); - this.comboBoxiDirShadowSplits.Name = "comboBoxiDirShadowSplits"; - this.comboBoxiDirShadowSplits.Size = new System.Drawing.Size(219, 21); - this.comboBoxiDirShadowSplits.TabIndex = 32; - // // comboBoxShadowBlurriness // this.comboBoxShadowBlurriness.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) @@ -3108,7 +3558,7 @@ private void InitializeComponent() 0, 0, 0}); - this.numShadowDistance.Location = new System.Drawing.Point(301, 124); + this.numShadowDistance.Location = new System.Drawing.Point(301, 99); this.numShadowDistance.Maximum = new decimal(new int[] { 9999999, 0, @@ -3126,7 +3576,7 @@ private void InitializeComponent() // labelShadowDistance // this.labelShadowDistance.AutoSize = true; - this.labelShadowDistance.Location = new System.Drawing.Point(7, 104); + this.labelShadowDistance.Location = new System.Drawing.Point(7, 79); this.labelShadowDistance.Name = "labelShadowDistance"; this.labelShadowDistance.Size = new System.Drawing.Size(74, 13); this.labelShadowDistance.TabIndex = 26; @@ -3216,37 +3666,48 @@ private void InitializeComponent() this.comboBoxDisplayMode.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); this.comboBoxDisplayMode.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; this.comboBoxDisplayMode.FormattingEnabled = true; - this.comboBoxDisplayMode.Location = new System.Drawing.Point(157, 20); + this.comboBoxDisplayMode.Location = new System.Drawing.Point(146, 20); this.comboBoxDisplayMode.Name = "comboBoxDisplayMode"; - this.comboBoxDisplayMode.Size = new System.Drawing.Size(246, 21); + this.comboBoxDisplayMode.Size = new System.Drawing.Size(257, 21); this.comboBoxDisplayMode.TabIndex = 0; // // comboBoxResolution // this.comboBoxResolution.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); this.comboBoxResolution.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; + this.comboBoxResolution.Font = new System.Drawing.Font("Lucida Console", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); this.comboBoxResolution.FormattingEnabled = true; - this.comboBoxResolution.Location = new System.Drawing.Point(157, 45); + this.comboBoxResolution.Location = new System.Drawing.Point(146, 45); this.comboBoxResolution.Name = "comboBoxResolution"; - this.comboBoxResolution.Size = new System.Drawing.Size(246, 21); + this.comboBoxResolution.Size = new System.Drawing.Size(257, 20); this.comboBoxResolution.TabIndex = 4; + this.comboBoxResolution.SelectedIndexChanged += new System.EventHandler(this.comboBoxResolution_SelectedIndexChanged); // // buttonDetectResolution // this.buttonDetectResolution.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); - this.buttonDetectResolution.Location = new System.Drawing.Point(157, 98); + this.buttonDetectResolution.Location = new System.Drawing.Point(146, 97); this.buttonDetectResolution.Name = "buttonDetectResolution"; - this.buttonDetectResolution.Size = new System.Drawing.Size(246, 23); + this.buttonDetectResolution.Size = new System.Drawing.Size(257, 23); this.buttonDetectResolution.TabIndex = 23; this.buttonDetectResolution.Text = "Detect resolution"; this.buttonDetectResolution.UseVisualStyleBackColor = true; this.buttonDetectResolution.Click += new System.EventHandler(this.buttonDetectResolution_Click); // + // labelCustomResolution + // + this.labelCustomResolution.AutoSize = true; + this.labelCustomResolution.Location = new System.Drawing.Point(6, 74); + this.labelCustomResolution.Name = "labelCustomResolution"; + this.labelCustomResolution.Size = new System.Drawing.Size(93, 13); + this.labelCustomResolution.TabIndex = 2; + this.labelCustomResolution.Text = "Custom resolution:"; + // // labelCustomResolutionSpacer // this.labelCustomResolutionSpacer.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); this.labelCustomResolutionSpacer.AutoSize = true; - this.labelCustomResolutionSpacer.Location = new System.Drawing.Point(274, 75); + this.labelCustomResolutionSpacer.Location = new System.Drawing.Point(268, 74); this.labelCustomResolutionSpacer.Name = "labelCustomResolutionSpacer"; this.labelCustomResolutionSpacer.Size = new System.Drawing.Size(14, 13); this.labelCustomResolutionSpacer.TabIndex = 7; @@ -3382,154 +3843,274 @@ private void InitializeComponent() this.comboBoxShowActiveEffectsOnHUD.Size = new System.Drawing.Size(166, 21); this.comboBoxShowActiveEffectsOnHUD.TabIndex = 38; // - // groupBoxQuests + // groupBoxQuests + // + this.groupBoxQuests.Controls.Add(this.checkBoxEnableQuestAutoTrackDaily); + this.groupBoxQuests.Controls.Add(this.checkBoxEnableQuestAutoTrackEvent); + this.groupBoxQuests.Controls.Add(this.checkBoxEnableQuestAutoTrackMisc); + this.groupBoxQuests.Controls.Add(this.checkBoxEnableQuestAutoTrackSide); + this.groupBoxQuests.Controls.Add(this.checkBoxEnableQuestAutoTrackMain); + this.groupBoxQuests.Location = new System.Drawing.Point(6, 494); + this.groupBoxQuests.Name = "groupBoxQuests"; + this.groupBoxQuests.Size = new System.Drawing.Size(368, 142); + this.groupBoxQuests.TabIndex = 27; + this.groupBoxQuests.TabStop = false; + this.groupBoxQuests.Text = "Quests"; + // + // groupBoxMainMenu + // + this.groupBoxMainMenu.Controls.Add(this.checkBoxSkipSplash); + this.groupBoxMainMenu.Controls.Add(this.checkBoxIntroVideos); + this.groupBoxMainMenu.Location = new System.Drawing.Point(6, 6); + this.groupBoxMainMenu.Name = "groupBoxMainMenu"; + this.groupBoxMainMenu.Size = new System.Drawing.Size(368, 68); + this.groupBoxMainMenu.TabIndex = 5; + this.groupBoxMainMenu.TabStop = false; + this.groupBoxMainMenu.Text = "Main Menu"; + // + // groupBoxLogin + // + this.groupBoxLogin.Controls.Add(this.groupBoxLoginProfiles); + this.groupBoxLogin.Controls.Add(this.checkBoxAutoSignin); + this.groupBoxLogin.Controls.Add(this.checkBoxEnableSteam); + this.groupBoxLogin.Controls.Add(this.labelCredentialsExplanation); + this.groupBoxLogin.Controls.Add(this.textBoxPassword); + this.groupBoxLogin.Controls.Add(this.textBoxUserName); + this.groupBoxLogin.Controls.Add(this.checkBoxShowPassword); + this.groupBoxLogin.Controls.Add(this.labelPassword); + this.groupBoxLogin.Controls.Add(this.labelUserName); + this.groupBoxLogin.Location = new System.Drawing.Point(6, 6); + this.groupBoxLogin.Name = "groupBoxLogin"; + this.groupBoxLogin.Size = new System.Drawing.Size(443, 452); + this.groupBoxLogin.TabIndex = 14; + this.groupBoxLogin.TabStop = false; + this.groupBoxLogin.Text = "Login with Bethesda.net"; + // + // groupBoxLoginProfiles + // + this.groupBoxLoginProfiles.Controls.Add(this.radioButtonAccountNone); + this.groupBoxLoginProfiles.Controls.Add(this.radioButtonAccount1); + this.groupBoxLoginProfiles.Controls.Add(this.radioButtonAccount16); + this.groupBoxLoginProfiles.Controls.Add(this.radioButtonAccount2); + this.groupBoxLoginProfiles.Controls.Add(this.radioButtonAccount15); + this.groupBoxLoginProfiles.Controls.Add(this.radioButtonAccount3); + this.groupBoxLoginProfiles.Controls.Add(this.radioButtonAccount14); + this.groupBoxLoginProfiles.Controls.Add(this.radioButtonAccount4); + this.groupBoxLoginProfiles.Controls.Add(this.radioButtonAccount13); + this.groupBoxLoginProfiles.Controls.Add(this.radioButtonAccount5); + this.groupBoxLoginProfiles.Controls.Add(this.radioButtonAccount12); + this.groupBoxLoginProfiles.Controls.Add(this.radioButtonAccount6); + this.groupBoxLoginProfiles.Controls.Add(this.radioButtonAccount11); + this.groupBoxLoginProfiles.Controls.Add(this.radioButtonAccount7); + this.groupBoxLoginProfiles.Controls.Add(this.radioButtonAccount10); + this.groupBoxLoginProfiles.Controls.Add(this.radioButtonAccount8); + this.groupBoxLoginProfiles.Controls.Add(this.radioButtonAccount9); + this.groupBoxLoginProfiles.Location = new System.Drawing.Point(11, 296); + this.groupBoxLoginProfiles.Name = "groupBoxLoginProfiles"; + this.groupBoxLoginProfiles.Size = new System.Drawing.Size(421, 143); + this.groupBoxLoginProfiles.TabIndex = 29; + this.groupBoxLoginProfiles.TabStop = false; + this.groupBoxLoginProfiles.Text = "Profiles"; + // + // radioButtonAccountNone + // + this.radioButtonAccountNone.AutoSize = true; + this.radioButtonAccountNone.Location = new System.Drawing.Point(14, 20); + this.radioButtonAccountNone.Name = "radioButtonAccountNone"; + this.radioButtonAccountNone.Size = new System.Drawing.Size(51, 17); + this.radioButtonAccountNone.TabIndex = 29; + this.radioButtonAccountNone.TabStop = true; + this.radioButtonAccountNone.Text = "None"; + this.radioButtonAccountNone.UseVisualStyleBackColor = true; + this.radioButtonAccountNone.CheckedChanged += new System.EventHandler(this.radioButtonAccountNone_CheckedChanged); + // + // radioButtonAccount1 + // + this.radioButtonAccount1.AutoSize = true; + this.radioButtonAccount1.Location = new System.Drawing.Point(14, 46); + this.radioButtonAccount1.Name = "radioButtonAccount1"; + this.radioButtonAccount1.Size = new System.Drawing.Size(81, 17); + this.radioButtonAccount1.TabIndex = 12; + this.radioButtonAccount1.Text = "Account #1"; + this.radioButtonAccount1.UseVisualStyleBackColor = true; + // + // radioButtonAccount16 + // + this.radioButtonAccount16.AutoSize = true; + this.radioButtonAccount16.Location = new System.Drawing.Point(320, 115); + this.radioButtonAccount16.Name = "radioButtonAccount16"; + this.radioButtonAccount16.Size = new System.Drawing.Size(87, 17); + this.radioButtonAccount16.TabIndex = 28; + this.radioButtonAccount16.Text = "Account #16"; + this.radioButtonAccount16.UseVisualStyleBackColor = true; + // + // radioButtonAccount2 + // + this.radioButtonAccount2.AutoSize = true; + this.radioButtonAccount2.Location = new System.Drawing.Point(116, 46); + this.radioButtonAccount2.Name = "radioButtonAccount2"; + this.radioButtonAccount2.Size = new System.Drawing.Size(81, 17); + this.radioButtonAccount2.TabIndex = 13; + this.radioButtonAccount2.Text = "Account #2"; + this.radioButtonAccount2.UseVisualStyleBackColor = true; + // + // radioButtonAccount15 + // + this.radioButtonAccount15.AutoSize = true; + this.radioButtonAccount15.Location = new System.Drawing.Point(218, 115); + this.radioButtonAccount15.Name = "radioButtonAccount15"; + this.radioButtonAccount15.Size = new System.Drawing.Size(87, 17); + this.radioButtonAccount15.TabIndex = 27; + this.radioButtonAccount15.Text = "Account #15"; + this.radioButtonAccount15.UseVisualStyleBackColor = true; + // + // radioButtonAccount3 + // + this.radioButtonAccount3.AutoSize = true; + this.radioButtonAccount3.Location = new System.Drawing.Point(218, 46); + this.radioButtonAccount3.Name = "radioButtonAccount3"; + this.radioButtonAccount3.Size = new System.Drawing.Size(81, 17); + this.radioButtonAccount3.TabIndex = 14; + this.radioButtonAccount3.Text = "Account #3"; + this.radioButtonAccount3.UseVisualStyleBackColor = true; + // + // radioButtonAccount14 // - this.groupBoxQuests.Controls.Add(this.checkBoxEnableQuestAutoTrackDaily); - this.groupBoxQuests.Controls.Add(this.checkBoxEnableQuestAutoTrackEvent); - this.groupBoxQuests.Controls.Add(this.checkBoxEnableQuestAutoTrackMisc); - this.groupBoxQuests.Controls.Add(this.checkBoxEnableQuestAutoTrackSide); - this.groupBoxQuests.Controls.Add(this.checkBoxEnableQuestAutoTrackMain); - this.groupBoxQuests.Location = new System.Drawing.Point(6, 494); - this.groupBoxQuests.Name = "groupBoxQuests"; - this.groupBoxQuests.Size = new System.Drawing.Size(368, 142); - this.groupBoxQuests.TabIndex = 27; - this.groupBoxQuests.TabStop = false; - this.groupBoxQuests.Text = "Quests"; + this.radioButtonAccount14.AutoSize = true; + this.radioButtonAccount14.Location = new System.Drawing.Point(116, 115); + this.radioButtonAccount14.Name = "radioButtonAccount14"; + this.radioButtonAccount14.Size = new System.Drawing.Size(87, 17); + this.radioButtonAccount14.TabIndex = 26; + this.radioButtonAccount14.Text = "Account #14"; + this.radioButtonAccount14.UseVisualStyleBackColor = true; // - // groupBoxMainMenu + // radioButtonAccount4 // - this.groupBoxMainMenu.Controls.Add(this.checkBoxShowSplash); - this.groupBoxMainMenu.Controls.Add(this.checkBoxIntroVideos); - this.groupBoxMainMenu.Location = new System.Drawing.Point(6, 6); - this.groupBoxMainMenu.Name = "groupBoxMainMenu"; - this.groupBoxMainMenu.Size = new System.Drawing.Size(368, 68); - this.groupBoxMainMenu.TabIndex = 5; - this.groupBoxMainMenu.TabStop = false; - this.groupBoxMainMenu.Text = "Main Menu"; + this.radioButtonAccount4.AutoSize = true; + this.radioButtonAccount4.Location = new System.Drawing.Point(320, 46); + this.radioButtonAccount4.Name = "radioButtonAccount4"; + this.radioButtonAccount4.Size = new System.Drawing.Size(81, 17); + this.radioButtonAccount4.TabIndex = 15; + this.radioButtonAccount4.Text = "Account #4"; + this.radioButtonAccount4.UseVisualStyleBackColor = true; // - // groupBoxLogin + // radioButtonAccount13 // - this.groupBoxLogin.Controls.Add(this.checkBoxAutoSignin); - this.groupBoxLogin.Controls.Add(this.radioButtonAccount8); - this.groupBoxLogin.Controls.Add(this.radioButtonAccount7); - this.groupBoxLogin.Controls.Add(this.radioButtonAccount6); - this.groupBoxLogin.Controls.Add(this.radioButtonAccount5); - this.groupBoxLogin.Controls.Add(this.radioButtonAccount4); - this.groupBoxLogin.Controls.Add(this.radioButtonAccount3); - this.groupBoxLogin.Controls.Add(this.radioButtonAccount2); - this.groupBoxLogin.Controls.Add(this.radioButtonAccount1); - this.groupBoxLogin.Controls.Add(this.labelAccountProfiles); - this.groupBoxLogin.Controls.Add(this.checkBoxDisableSteam); - this.groupBoxLogin.Controls.Add(this.labelCredentialsExplanation); - this.groupBoxLogin.Controls.Add(this.textBoxPassword); - this.groupBoxLogin.Controls.Add(this.textBoxUserName); - this.groupBoxLogin.Controls.Add(this.checkBoxShowPassword); - this.groupBoxLogin.Controls.Add(this.labelPassword); - this.groupBoxLogin.Controls.Add(this.labelUserName); - this.groupBoxLogin.Location = new System.Drawing.Point(6, 6); - this.groupBoxLogin.Name = "groupBoxLogin"; - this.groupBoxLogin.Size = new System.Drawing.Size(443, 452); - this.groupBoxLogin.TabIndex = 14; - this.groupBoxLogin.TabStop = false; - this.groupBoxLogin.Text = "Login with Bethesda.net"; + this.radioButtonAccount13.AutoSize = true; + this.radioButtonAccount13.Location = new System.Drawing.Point(14, 115); + this.radioButtonAccount13.Name = "radioButtonAccount13"; + this.radioButtonAccount13.Size = new System.Drawing.Size(87, 17); + this.radioButtonAccount13.TabIndex = 25; + this.radioButtonAccount13.Text = "Account #13"; + this.radioButtonAccount13.UseVisualStyleBackColor = true; // - // radioButtonAccount8 + // radioButtonAccount5 // - this.radioButtonAccount8.AutoSize = true; - this.radioButtonAccount8.Location = new System.Drawing.Point(353, 131); - this.radioButtonAccount8.Name = "radioButtonAccount8"; - this.radioButtonAccount8.Size = new System.Drawing.Size(81, 17); - this.radioButtonAccount8.TabIndex = 19; - this.radioButtonAccount8.Text = "Account #8"; - this.radioButtonAccount8.UseVisualStyleBackColor = true; + this.radioButtonAccount5.AutoSize = true; + this.radioButtonAccount5.Location = new System.Drawing.Point(14, 69); + this.radioButtonAccount5.Name = "radioButtonAccount5"; + this.radioButtonAccount5.Size = new System.Drawing.Size(81, 17); + this.radioButtonAccount5.TabIndex = 16; + this.radioButtonAccount5.Text = "Account #5"; + this.radioButtonAccount5.UseVisualStyleBackColor = true; // - // radioButtonAccount7 + // radioButtonAccount12 // - this.radioButtonAccount7.AutoSize = true; - this.radioButtonAccount7.Location = new System.Drawing.Point(266, 131); - this.radioButtonAccount7.Name = "radioButtonAccount7"; - this.radioButtonAccount7.Size = new System.Drawing.Size(81, 17); - this.radioButtonAccount7.TabIndex = 18; - this.radioButtonAccount7.Text = "Account #7"; - this.radioButtonAccount7.UseVisualStyleBackColor = true; + this.radioButtonAccount12.AutoSize = true; + this.radioButtonAccount12.Location = new System.Drawing.Point(320, 92); + this.radioButtonAccount12.Name = "radioButtonAccount12"; + this.radioButtonAccount12.Size = new System.Drawing.Size(87, 17); + this.radioButtonAccount12.TabIndex = 24; + this.radioButtonAccount12.Text = "Account #12"; + this.radioButtonAccount12.UseVisualStyleBackColor = true; // // radioButtonAccount6 // this.radioButtonAccount6.AutoSize = true; - this.radioButtonAccount6.Location = new System.Drawing.Point(179, 131); + this.radioButtonAccount6.Location = new System.Drawing.Point(116, 69); this.radioButtonAccount6.Name = "radioButtonAccount6"; this.radioButtonAccount6.Size = new System.Drawing.Size(81, 17); this.radioButtonAccount6.TabIndex = 17; this.radioButtonAccount6.Text = "Account #6"; this.radioButtonAccount6.UseVisualStyleBackColor = true; // - // radioButtonAccount5 + // radioButtonAccount11 // - this.radioButtonAccount5.AutoSize = true; - this.radioButtonAccount5.Location = new System.Drawing.Point(92, 131); - this.radioButtonAccount5.Name = "radioButtonAccount5"; - this.radioButtonAccount5.Size = new System.Drawing.Size(81, 17); - this.radioButtonAccount5.TabIndex = 16; - this.radioButtonAccount5.Text = "Account #5"; - this.radioButtonAccount5.UseVisualStyleBackColor = true; + this.radioButtonAccount11.AutoSize = true; + this.radioButtonAccount11.Location = new System.Drawing.Point(218, 92); + this.radioButtonAccount11.Name = "radioButtonAccount11"; + this.radioButtonAccount11.Size = new System.Drawing.Size(87, 17); + this.radioButtonAccount11.TabIndex = 23; + this.radioButtonAccount11.Text = "Account #11"; + this.radioButtonAccount11.UseVisualStyleBackColor = true; // - // radioButtonAccount4 + // radioButtonAccount7 // - this.radioButtonAccount4.AutoSize = true; - this.radioButtonAccount4.Location = new System.Drawing.Point(353, 108); - this.radioButtonAccount4.Name = "radioButtonAccount4"; - this.radioButtonAccount4.Size = new System.Drawing.Size(81, 17); - this.radioButtonAccount4.TabIndex = 15; - this.radioButtonAccount4.Text = "Account #4"; - this.radioButtonAccount4.UseVisualStyleBackColor = true; + this.radioButtonAccount7.AutoSize = true; + this.radioButtonAccount7.Location = new System.Drawing.Point(218, 69); + this.radioButtonAccount7.Name = "radioButtonAccount7"; + this.radioButtonAccount7.Size = new System.Drawing.Size(81, 17); + this.radioButtonAccount7.TabIndex = 18; + this.radioButtonAccount7.Text = "Account #7"; + this.radioButtonAccount7.UseVisualStyleBackColor = true; // - // radioButtonAccount3 + // radioButtonAccount10 // - this.radioButtonAccount3.AutoSize = true; - this.radioButtonAccount3.Location = new System.Drawing.Point(266, 108); - this.radioButtonAccount3.Name = "radioButtonAccount3"; - this.radioButtonAccount3.Size = new System.Drawing.Size(81, 17); - this.radioButtonAccount3.TabIndex = 14; - this.radioButtonAccount3.Text = "Account #3"; - this.radioButtonAccount3.UseVisualStyleBackColor = true; + this.radioButtonAccount10.AutoSize = true; + this.radioButtonAccount10.Location = new System.Drawing.Point(116, 92); + this.radioButtonAccount10.Name = "radioButtonAccount10"; + this.radioButtonAccount10.Size = new System.Drawing.Size(87, 17); + this.radioButtonAccount10.TabIndex = 22; + this.radioButtonAccount10.Text = "Account #10"; + this.radioButtonAccount10.UseVisualStyleBackColor = true; // - // radioButtonAccount2 + // radioButtonAccount8 // - this.radioButtonAccount2.AutoSize = true; - this.radioButtonAccount2.Location = new System.Drawing.Point(179, 108); - this.radioButtonAccount2.Name = "radioButtonAccount2"; - this.radioButtonAccount2.Size = new System.Drawing.Size(81, 17); - this.radioButtonAccount2.TabIndex = 13; - this.radioButtonAccount2.Text = "Account #2"; - this.radioButtonAccount2.UseVisualStyleBackColor = true; + this.radioButtonAccount8.AutoSize = true; + this.radioButtonAccount8.Location = new System.Drawing.Point(320, 69); + this.radioButtonAccount8.Name = "radioButtonAccount8"; + this.radioButtonAccount8.Size = new System.Drawing.Size(81, 17); + this.radioButtonAccount8.TabIndex = 19; + this.radioButtonAccount8.Text = "Account #8"; + this.radioButtonAccount8.UseVisualStyleBackColor = true; // - // radioButtonAccount1 + // radioButtonAccount9 // - this.radioButtonAccount1.AutoSize = true; - this.radioButtonAccount1.Location = new System.Drawing.Point(92, 108); - this.radioButtonAccount1.Name = "radioButtonAccount1"; - this.radioButtonAccount1.Size = new System.Drawing.Size(81, 17); - this.radioButtonAccount1.TabIndex = 12; - this.radioButtonAccount1.Text = "Account #1"; - this.radioButtonAccount1.UseVisualStyleBackColor = true; + this.radioButtonAccount9.AutoSize = true; + this.radioButtonAccount9.Location = new System.Drawing.Point(14, 92); + this.radioButtonAccount9.Name = "radioButtonAccount9"; + this.radioButtonAccount9.Size = new System.Drawing.Size(81, 17); + this.radioButtonAccount9.TabIndex = 21; + this.radioButtonAccount9.Text = "Account #9"; + this.radioButtonAccount9.UseVisualStyleBackColor = true; + // + // checkBoxAutoSignin + // + this.checkBoxAutoSignin.AutoSize = true; + this.checkBoxAutoSignin.Location = new System.Drawing.Point(12, 103); + this.checkBoxAutoSignin.Name = "checkBoxAutoSignin"; + this.checkBoxAutoSignin.Size = new System.Drawing.Size(121, 17); + this.checkBoxAutoSignin.TabIndex = 20; + this.checkBoxAutoSignin.Text = "Automatically sign-in"; + this.checkBoxAutoSignin.UseVisualStyleBackColor = true; // - // labelAccountProfiles + // checkBoxEnableSteam // - this.labelAccountProfiles.AutoSize = true; - this.labelAccountProfiles.Location = new System.Drawing.Point(9, 110); - this.labelAccountProfiles.Name = "labelAccountProfiles"; - this.labelAccountProfiles.Size = new System.Drawing.Size(44, 13); - this.labelAccountProfiles.TabIndex = 7; - this.labelAccountProfiles.Text = "Profiles:"; + this.checkBoxEnableSteam.AutoSize = true; + this.checkBoxEnableSteam.Location = new System.Drawing.Point(12, 126); + this.checkBoxEnableSteam.Name = "checkBoxEnableSteam"; + this.checkBoxEnableSteam.Size = new System.Drawing.Size(92, 17); + this.checkBoxEnableSteam.TabIndex = 6; + this.checkBoxEnableSteam.Text = "Enable Steam"; + this.checkBoxEnableSteam.UseVisualStyleBackColor = true; // // labelCredentialsExplanation // - this.labelCredentialsExplanation.AutoSize = true; this.labelCredentialsExplanation.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); this.labelCredentialsExplanation.ForeColor = System.Drawing.Color.DimGray; - this.labelCredentialsExplanation.Location = new System.Drawing.Point(9, 235); + this.labelCredentialsExplanation.Location = new System.Drawing.Point(9, 153); this.labelCredentialsExplanation.Name = "labelCredentialsExplanation"; - this.labelCredentialsExplanation.Size = new System.Drawing.Size(349, 91); + this.labelCredentialsExplanation.Size = new System.Drawing.Size(428, 144); this.labelCredentialsExplanation.TabIndex = 5; this.labelCredentialsExplanation.Text = resources.GetString("labelCredentialsExplanation.Text"); // @@ -3587,12 +4168,12 @@ private void InitializeComponent() // tabPageInfo // this.tabPageInfo.AutoScroll = true; + this.tabPageInfo.Controls.Add(this.groupBoxSettings); this.tabPageInfo.Controls.Add(this.linkLabelWhatsNew); this.tabPageInfo.Controls.Add(this.linkLabelAttribution); this.tabPageInfo.Controls.Add(this.panelUpdate); this.tabPageInfo.Controls.Add(this.labelNWModeActive); this.tabPageInfo.Controls.Add(this.pictureBoxSpinnerCheckForUpdates); - this.tabPageInfo.Controls.Add(this.panel1); this.tabPageInfo.Controls.Add(this.labelGameEdition); this.tabPageInfo.Controls.Add(this.pictureBoxGameEdition); this.tabPageInfo.Controls.Add(this.pictureBox1); @@ -3613,10 +4194,42 @@ private void InitializeComponent() this.tabPageInfo.Text = "Info"; this.tabPageInfo.UseVisualStyleBackColor = true; // + // groupBoxSettings + // + this.groupBoxSettings.Controls.Add(this.linkLabelOpenSettings); + this.groupBoxSettings.Controls.Add(this.labelSettingsNotice); + this.groupBoxSettings.Location = new System.Drawing.Point(454, 6); + this.groupBoxSettings.Name = "groupBoxSettings"; + this.groupBoxSettings.Size = new System.Drawing.Size(390, 91); + this.groupBoxSettings.TabIndex = 44; + this.groupBoxSettings.TabStop = false; + this.groupBoxSettings.Text = "Settings"; + // + // linkLabelOpenSettings + // + this.linkLabelOpenSettings.Location = new System.Drawing.Point(5, 56); + this.linkLabelOpenSettings.Name = "linkLabelOpenSettings"; + this.linkLabelOpenSettings.Size = new System.Drawing.Size(380, 23); + this.linkLabelOpenSettings.TabIndex = 3; + this.linkLabelOpenSettings.TabStop = true; + this.linkLabelOpenSettings.Text = "Open settings"; + this.linkLabelOpenSettings.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; + this.linkLabelOpenSettings.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.showSettings_OnClick); + // + // labelSettingsNotice + // + this.labelSettingsNotice.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64))))); + this.labelSettingsNotice.Location = new System.Drawing.Point(5, 16); + this.labelSettingsNotice.Name = "labelSettingsNotice"; + this.labelSettingsNotice.Size = new System.Drawing.Size(380, 46); + this.labelSettingsNotice.TabIndex = 2; + this.labelSettingsNotice.Text = "Everything that was here before has been moved into the settings."; + this.labelSettingsNotice.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; + // // linkLabelWhatsNew // this.linkLabelWhatsNew.AutoSize = true; - this.linkLabelWhatsNew.Location = new System.Drawing.Point(90, 205); + this.linkLabelWhatsNew.Location = new System.Drawing.Point(90, 222); this.linkLabelWhatsNew.Name = "linkLabelWhatsNew"; this.linkLabelWhatsNew.Size = new System.Drawing.Size(69, 13); this.linkLabelWhatsNew.TabIndex = 42; @@ -3627,7 +4240,7 @@ private void InitializeComponent() // linkLabelAttribution // this.linkLabelAttribution.AutoSize = true; - this.linkLabelAttribution.Location = new System.Drawing.Point(90, 232); + this.linkLabelAttribution.Location = new System.Drawing.Point(90, 249); this.linkLabelAttribution.Name = "linkLabelAttribution"; this.linkLabelAttribution.Size = new System.Drawing.Size(76, 13); this.linkLabelAttribution.TabIndex = 41; @@ -3641,7 +4254,7 @@ private void InitializeComponent() this.panelUpdate.Controls.Add(this.labelNewVersion); this.panelUpdate.Controls.Add(this.linkLabelManualDownloadPage); this.panelUpdate.Controls.Add(this.pictureBoxUpdateButton); - this.panelUpdate.Location = new System.Drawing.Point(93, 357); + this.panelUpdate.Location = new System.Drawing.Point(93, 338); this.panelUpdate.Name = "panelUpdate"; this.panelUpdate.Size = new System.Drawing.Size(287, 100); this.panelUpdate.TabIndex = 39; @@ -3666,7 +4279,7 @@ private void InitializeComponent() this.linkLabelManualDownloadPage.TabIndex = 2; this.linkLabelManualDownloadPage.TabStop = true; this.linkLabelManualDownloadPage.Text = "Or download and install manually..."; - this.linkLabelManualDownloadPage.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.linkLabel1_LinkClicked); + this.linkLabelManualDownloadPage.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.linkLabelManualDownloadPage_LinkClicked); // // pictureBoxUpdateButton // @@ -3677,14 +4290,14 @@ private void InitializeComponent() this.pictureBoxUpdateButton.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage; this.pictureBoxUpdateButton.TabIndex = 38; this.pictureBoxUpdateButton.TabStop = false; - this.pictureBoxUpdateButton.Click += new System.EventHandler(this.pictureBoxUpdateButton_Click); + this.pictureBoxUpdateButton.Click += new System.EventHandler(this.buttonUpdateNow_Click); // // labelNWModeActive // this.labelNWModeActive.AutoSize = true; this.labelNWModeActive.Font = new System.Drawing.Font("Microsoft Sans Serif", 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); this.labelNWModeActive.ForeColor = System.Drawing.Color.OrangeRed; - this.labelNWModeActive.Location = new System.Drawing.Point(90, 172); + this.labelNWModeActive.Location = new System.Drawing.Point(90, 189); this.labelNWModeActive.Name = "labelNWModeActive"; this.labelNWModeActive.Size = new System.Drawing.Size(202, 15); this.labelNWModeActive.TabIndex = 40; @@ -3693,7 +4306,7 @@ private void InitializeComponent() // pictureBoxSpinnerCheckForUpdates // this.pictureBoxSpinnerCheckForUpdates.Image = global::Fo76ini.Properties.Resources.Spinner_24; - this.pictureBoxSpinnerCheckForUpdates.Location = new System.Drawing.Point(173, 110); + this.pictureBoxSpinnerCheckForUpdates.Location = new System.Drawing.Point(173, 127); this.pictureBoxSpinnerCheckForUpdates.Name = "pictureBoxSpinnerCheckForUpdates"; this.pictureBoxSpinnerCheckForUpdates.Size = new System.Drawing.Size(24, 24); this.pictureBoxSpinnerCheckForUpdates.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom; @@ -3701,489 +4314,32 @@ private void InitializeComponent() this.pictureBoxSpinnerCheckForUpdates.TabStop = false; this.pictureBoxSpinnerCheckForUpdates.Visible = false; // - // panel1 - // - this.panel1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) - | System.Windows.Forms.AnchorStyles.Right))); - this.panel1.AutoScroll = true; - this.panel1.AutoScrollMargin = new System.Drawing.Size(0, 6); - this.panel1.Controls.Add(this.groupBoxNuclearWinterMode); - this.panel1.Controls.Add(this.groupBoxLocalization); - this.panel1.Controls.Add(this.groupBoxGameEdition); - this.panel1.Controls.Add(this.groupBoxLaunchOptions); - this.panel1.Controls.Add(this.groupBoxGamePaths); - this.panel1.Controls.Add(this.groupBoxOptions); - this.panel1.Controls.Add(this.groupBoxBehavior); - this.panel1.Location = new System.Drawing.Point(415, 0); - this.panel1.Name = "panel1"; - this.panel1.Size = new System.Drawing.Size(437, 468); - this.panel1.TabIndex = 36; - // - // groupBoxNuclearWinterMode - // - this.groupBoxNuclearWinterMode.Controls.Add(this.checkBoxNWAutoDeployMods); - this.groupBoxNuclearWinterMode.Controls.Add(this.labelNWmodoptions); - this.groupBoxNuclearWinterMode.Controls.Add(this.labelNWdlloptions); - this.groupBoxNuclearWinterMode.Controls.Add(this.labelNWinioptions); - this.groupBoxNuclearWinterMode.Controls.Add(this.radioButtonNWRemoveLists); - this.groupBoxNuclearWinterMode.Controls.Add(this.radioButtonNWRenameINI); - this.groupBoxNuclearWinterMode.Controls.Add(this.checkBoxNWAutoDisableMods); - this.groupBoxNuclearWinterMode.Controls.Add(this.checkBoxNWRenameDLL); - this.groupBoxNuclearWinterMode.Location = new System.Drawing.Point(22, 548); - this.groupBoxNuclearWinterMode.Name = "groupBoxNuclearWinterMode"; - this.groupBoxNuclearWinterMode.Size = new System.Drawing.Size(392, 224); - this.groupBoxNuclearWinterMode.TabIndex = 40; - this.groupBoxNuclearWinterMode.TabStop = false; - this.groupBoxNuclearWinterMode.Text = "Nuclear Winter options"; - // - // checkBoxNWAutoDeployMods - // - this.checkBoxNWAutoDeployMods.AutoSize = true; - this.checkBoxNWAutoDeployMods.Location = new System.Drawing.Point(10, 193); - this.checkBoxNWAutoDeployMods.Name = "checkBoxNWAutoDeployMods"; - this.checkBoxNWAutoDeployMods.Size = new System.Drawing.Size(158, 17); - this.checkBoxNWAutoDeployMods.TabIndex = 25; - this.checkBoxNWAutoDeployMods.Text = "Deploy mods upon disabling"; - this.checkBoxNWAutoDeployMods.UseVisualStyleBackColor = true; - // - // labelNWmodoptions - // - this.labelNWmodoptions.AutoSize = true; - this.labelNWmodoptions.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.labelNWmodoptions.Location = new System.Drawing.Point(7, 152); - this.labelNWmodoptions.Name = "labelNWmodoptions"; - this.labelNWmodoptions.Size = new System.Drawing.Size(80, 13); - this.labelNWmodoptions.TabIndex = 24; - this.labelNWmodoptions.Text = "Mod options:"; - // - // labelNWdlloptions - // - this.labelNWdlloptions.AutoSize = true; - this.labelNWdlloptions.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.labelNWdlloptions.Location = new System.Drawing.Point(7, 99); - this.labelNWdlloptions.Name = "labelNWdlloptions"; - this.labelNWdlloptions.Size = new System.Drawing.Size(78, 13); - this.labelNWdlloptions.TabIndex = 23; - this.labelNWdlloptions.Text = "*.dll options:"; - // - // labelNWinioptions - // - this.labelNWinioptions.AutoSize = true; - this.labelNWinioptions.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.labelNWinioptions.Location = new System.Drawing.Point(7, 23); - this.labelNWinioptions.Name = "labelNWinioptions"; - this.labelNWinioptions.Size = new System.Drawing.Size(78, 13); - this.labelNWinioptions.TabIndex = 22; - this.labelNWinioptions.Text = "*.ini options:"; - // - // radioButtonNWRemoveLists - // - this.radioButtonNWRemoveLists.AutoSize = true; - this.radioButtonNWRemoveLists.Location = new System.Drawing.Point(10, 64); - this.radioButtonNWRemoveLists.Name = "radioButtonNWRemoveLists"; - this.radioButtonNWRemoveLists.Size = new System.Drawing.Size(184, 17); - this.radioButtonNWRemoveLists.TabIndex = 21; - this.radioButtonNWRemoveLists.TabStop = true; - this.radioButtonNWRemoveLists.Text = "Just remove archive resource lists"; - this.radioButtonNWRemoveLists.UseVisualStyleBackColor = true; - // - // radioButtonNWRenameINI - // - this.radioButtonNWRenameINI.AutoSize = true; - this.radioButtonNWRenameINI.Location = new System.Drawing.Point(10, 41); - this.radioButtonNWRenameINI.Name = "radioButtonNWRenameINI"; - this.radioButtonNWRenameINI.Size = new System.Drawing.Size(159, 17); - this.radioButtonNWRenameINI.TabIndex = 20; - this.radioButtonNWRenameINI.TabStop = true; - this.radioButtonNWRenameINI.Text = "Rename Fallout76Custom.ini"; - this.radioButtonNWRenameINI.UseVisualStyleBackColor = true; - // - // checkBoxNWAutoDisableMods - // - this.checkBoxNWAutoDisableMods.AutoSize = true; - this.checkBoxNWAutoDisableMods.Location = new System.Drawing.Point(10, 170); - this.checkBoxNWAutoDisableMods.Name = "checkBoxNWAutoDisableMods"; - this.checkBoxNWAutoDisableMods.Size = new System.Drawing.Size(164, 17); - this.checkBoxNWAutoDisableMods.TabIndex = 19; - this.checkBoxNWAutoDisableMods.Text = "Remove mods upon enabling"; - this.checkBoxNWAutoDisableMods.UseVisualStyleBackColor = true; - // - // checkBoxNWRenameDLL - // - this.checkBoxNWRenameDLL.AutoSize = true; - this.checkBoxNWRenameDLL.Location = new System.Drawing.Point(10, 117); - this.checkBoxNWRenameDLL.Name = "checkBoxNWRenameDLL"; - this.checkBoxNWRenameDLL.Size = new System.Drawing.Size(140, 17); - this.checkBoxNWRenameDLL.TabIndex = 18; - this.checkBoxNWRenameDLL.Text = "Rename added *.dll files"; - this.checkBoxNWRenameDLL.UseVisualStyleBackColor = true; - // - // groupBoxLocalization - // - this.groupBoxLocalization.Controls.Add(this.buttonRefreshLanguage); - this.groupBoxLocalization.Controls.Add(this.pictureBoxSpinnerDownloadLanguages); - this.groupBoxLocalization.Controls.Add(this.labelOutdatedLanguage); - this.groupBoxLocalization.Controls.Add(this.labelLanguage); - this.groupBoxLocalization.Controls.Add(this.buttonDownloadLanguages); - this.groupBoxLocalization.Controls.Add(this.comboBoxLanguage); - this.groupBoxLocalization.Location = new System.Drawing.Point(22, 6); - this.groupBoxLocalization.Name = "groupBoxLocalization"; - this.groupBoxLocalization.Size = new System.Drawing.Size(392, 111); - this.groupBoxLocalization.TabIndex = 30; - this.groupBoxLocalization.TabStop = false; - this.groupBoxLocalization.Text = "Localization"; - // - // buttonRefreshLanguage - // - this.buttonRefreshLanguage.Location = new System.Drawing.Point(295, 77); - this.buttonRefreshLanguage.Name = "buttonRefreshLanguage"; - this.buttonRefreshLanguage.Size = new System.Drawing.Size(90, 23); - this.buttonRefreshLanguage.TabIndex = 40; - this.buttonRefreshLanguage.Text = "Refresh"; - this.buttonRefreshLanguage.UseVisualStyleBackColor = true; - this.buttonRefreshLanguage.Click += new System.EventHandler(this.buttonRefreshLanguage_Click); - // - // pictureBoxSpinnerDownloadLanguages - // - this.pictureBoxSpinnerDownloadLanguages.Image = global::Fo76ini.Properties.Resources.Spinner_24; - this.pictureBoxSpinnerDownloadLanguages.Location = new System.Drawing.Point(68, 48); - this.pictureBoxSpinnerDownloadLanguages.Name = "pictureBoxSpinnerDownloadLanguages"; - this.pictureBoxSpinnerDownloadLanguages.Size = new System.Drawing.Size(24, 24); - this.pictureBoxSpinnerDownloadLanguages.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom; - this.pictureBoxSpinnerDownloadLanguages.TabIndex = 40; - this.pictureBoxSpinnerDownloadLanguages.TabStop = false; - this.pictureBoxSpinnerDownloadLanguages.Visible = false; - // - // labelOutdatedLanguage - // - this.labelOutdatedLanguage.AutoSize = true; - this.labelOutdatedLanguage.ForeColor = System.Drawing.Color.Firebrick; - this.labelOutdatedLanguage.Location = new System.Drawing.Point(7, 75); - this.labelOutdatedLanguage.Name = "labelOutdatedLanguage"; - this.labelOutdatedLanguage.Size = new System.Drawing.Size(209, 26); - this.labelOutdatedLanguage.TabIndex = 21; - this.labelOutdatedLanguage.Text = "This language is out-dated.\r\nSome elements might not be translated yet."; - // - // labelLanguage - // - this.labelLanguage.AutoSize = true; - this.labelLanguage.Location = new System.Drawing.Point(7, 25); - this.labelLanguage.Name = "labelLanguage"; - this.labelLanguage.Size = new System.Drawing.Size(58, 13); - this.labelLanguage.TabIndex = 16; - this.labelLanguage.Text = "Language:"; - // - // buttonDownloadLanguages - // - this.buttonDownloadLanguages.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) - | System.Windows.Forms.AnchorStyles.Right))); - this.buttonDownloadLanguages.Location = new System.Drawing.Point(98, 48); - this.buttonDownloadLanguages.Name = "buttonDownloadLanguages"; - this.buttonDownloadLanguages.Size = new System.Drawing.Size(287, 23); - this.buttonDownloadLanguages.TabIndex = 20; - this.buttonDownloadLanguages.Text = "Download / update language files"; - this.buttonDownloadLanguages.UseVisualStyleBackColor = true; - this.buttonDownloadLanguages.Click += new System.EventHandler(this.buttonDownloadLanguages_Click); - // - // comboBoxLanguage - // - this.comboBoxLanguage.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) - | System.Windows.Forms.AnchorStyles.Right))); - this.comboBoxLanguage.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; - this.comboBoxLanguage.FormattingEnabled = true; - this.comboBoxLanguage.Location = new System.Drawing.Point(98, 22); - this.comboBoxLanguage.Name = "comboBoxLanguage"; - this.comboBoxLanguage.Size = new System.Drawing.Size(287, 21); - this.comboBoxLanguage.TabIndex = 17; - this.comboBoxLanguage.SelectedIndexChanged += new System.EventHandler(this.comboBoxLanguage_SelectedIndexChanged); - // - // groupBoxGameEdition - // - this.groupBoxGameEdition.Controls.Add(this.pictureBoxMSStore); - this.groupBoxGameEdition.Controls.Add(this.pictureBoxSteam); - this.groupBoxGameEdition.Controls.Add(this.pictureBoxBethesdaNetPTS); - this.groupBoxGameEdition.Controls.Add(this.pictureBoxBethesdaNet); - this.groupBoxGameEdition.Controls.Add(this.radioButtonEditionMSStore); - this.groupBoxGameEdition.Controls.Add(this.radioButtonEditionBethesdaNetPTS); - this.groupBoxGameEdition.Controls.Add(this.radioButtonEditionSteam); - this.groupBoxGameEdition.Controls.Add(this.radioButtonEditionBethesdaNet); - this.groupBoxGameEdition.Location = new System.Drawing.Point(22, 123); - this.groupBoxGameEdition.Name = "groupBoxGameEdition"; - this.groupBoxGameEdition.Size = new System.Drawing.Size(392, 144); - this.groupBoxGameEdition.TabIndex = 27; - this.groupBoxGameEdition.TabStop = false; - this.groupBoxGameEdition.Text = "Game edition"; - // - // pictureBoxMSStore - // - this.pictureBoxMSStore.BackColor = System.Drawing.Color.Transparent; - this.pictureBoxMSStore.Image = global::Fo76ini.Properties.Resources.msstore_24; - this.pictureBoxMSStore.Location = new System.Drawing.Point(11, 109); - this.pictureBoxMSStore.Name = "pictureBoxMSStore"; - this.pictureBoxMSStore.Size = new System.Drawing.Size(24, 24); - this.pictureBoxMSStore.TabIndex = 29; - this.pictureBoxMSStore.TabStop = false; - // - // pictureBoxSteam - // - this.pictureBoxSteam.BackColor = System.Drawing.Color.Transparent; - this.pictureBoxSteam.Image = global::Fo76ini.Properties.Resources.steam_24px; - this.pictureBoxSteam.Location = new System.Drawing.Point(11, 79); - this.pictureBoxSteam.Name = "pictureBoxSteam"; - this.pictureBoxSteam.Size = new System.Drawing.Size(24, 24); - this.pictureBoxSteam.TabIndex = 28; - this.pictureBoxSteam.TabStop = false; - // - // pictureBoxBethesdaNetPTS - // - this.pictureBoxBethesdaNetPTS.BackColor = System.Drawing.Color.Transparent; - this.pictureBoxBethesdaNetPTS.Image = global::Fo76ini.Properties.Resources.bethesda_24; - this.pictureBoxBethesdaNetPTS.Location = new System.Drawing.Point(11, 49); - this.pictureBoxBethesdaNetPTS.Name = "pictureBoxBethesdaNetPTS"; - this.pictureBoxBethesdaNetPTS.Size = new System.Drawing.Size(24, 24); - this.pictureBoxBethesdaNetPTS.TabIndex = 27; - this.pictureBoxBethesdaNetPTS.TabStop = false; - // - // pictureBoxBethesdaNet - // - this.pictureBoxBethesdaNet.BackColor = System.Drawing.Color.Transparent; - this.pictureBoxBethesdaNet.Image = global::Fo76ini.Properties.Resources.bethesda_24; - this.pictureBoxBethesdaNet.Location = new System.Drawing.Point(11, 19); - this.pictureBoxBethesdaNet.Name = "pictureBoxBethesdaNet"; - this.pictureBoxBethesdaNet.Size = new System.Drawing.Size(24, 24); - this.pictureBoxBethesdaNet.TabIndex = 26; - this.pictureBoxBethesdaNet.TabStop = false; - // - // radioButtonEditionMSStore - // - this.radioButtonEditionMSStore.AutoSize = true; - this.radioButtonEditionMSStore.Location = new System.Drawing.Point(43, 112); - this.radioButtonEditionMSStore.Name = "radioButtonEditionMSStore"; - this.radioButtonEditionMSStore.Size = new System.Drawing.Size(188, 17); - this.radioButtonEditionMSStore.TabIndex = 3; - this.radioButtonEditionMSStore.Text = "Microsoft Store / Xbox Game Pass"; - this.radioButtonEditionMSStore.UseVisualStyleBackColor = true; - this.radioButtonEditionMSStore.CheckedChanged += new System.EventHandler(this.radioButtonEditionMSStore_CheckedChanged); - // - // radioButtonEditionBethesdaNetPTS - // - this.radioButtonEditionBethesdaNetPTS.AutoSize = true; - this.radioButtonEditionBethesdaNetPTS.Location = new System.Drawing.Point(43, 52); - this.radioButtonEditionBethesdaNetPTS.Name = "radioButtonEditionBethesdaNetPTS"; - this.radioButtonEditionBethesdaNetPTS.Size = new System.Drawing.Size(118, 17); - this.radioButtonEditionBethesdaNetPTS.TabIndex = 2; - this.radioButtonEditionBethesdaNetPTS.Text = "Bethesda.net (PTS)"; - this.radioButtonEditionBethesdaNetPTS.UseVisualStyleBackColor = true; - this.radioButtonEditionBethesdaNetPTS.CheckedChanged += new System.EventHandler(this.radioButtonEditionBethesdaNetPTS_CheckedChanged); - // - // radioButtonEditionSteam - // - this.radioButtonEditionSteam.AutoSize = true; - this.radioButtonEditionSteam.Location = new System.Drawing.Point(43, 82); - this.radioButtonEditionSteam.Name = "radioButtonEditionSteam"; - this.radioButtonEditionSteam.Size = new System.Drawing.Size(55, 17); - this.radioButtonEditionSteam.TabIndex = 1; - this.radioButtonEditionSteam.Text = "Steam"; - this.radioButtonEditionSteam.UseVisualStyleBackColor = true; - this.radioButtonEditionSteam.CheckedChanged += new System.EventHandler(this.radioButtonEditionSteam_CheckedChanged); - // - // radioButtonEditionBethesdaNet - // - this.radioButtonEditionBethesdaNet.AutoSize = true; - this.radioButtonEditionBethesdaNet.Location = new System.Drawing.Point(43, 22); - this.radioButtonEditionBethesdaNet.Name = "radioButtonEditionBethesdaNet"; - this.radioButtonEditionBethesdaNet.Size = new System.Drawing.Size(88, 17); - this.radioButtonEditionBethesdaNet.TabIndex = 0; - this.radioButtonEditionBethesdaNet.Text = "Bethesda.net"; - this.radioButtonEditionBethesdaNet.UseVisualStyleBackColor = true; - this.radioButtonEditionBethesdaNet.CheckedChanged += new System.EventHandler(this.radioButtonEditionBethesdaNet_CheckedChanged); - // - // groupBoxLaunchOptions - // - this.groupBoxLaunchOptions.Controls.Add(this.labelLaunchOptionMSStoreNotice); - this.groupBoxLaunchOptions.Controls.Add(this.labelLaunchOptionTip); - this.groupBoxLaunchOptions.Controls.Add(this.radioButtonLaunchViaExecutable); - this.groupBoxLaunchOptions.Controls.Add(this.radioButtonLaunchViaLink); - this.groupBoxLaunchOptions.Location = new System.Drawing.Point(22, 324); - this.groupBoxLaunchOptions.Name = "groupBoxLaunchOptions"; - this.groupBoxLaunchOptions.Size = new System.Drawing.Size(392, 93); - this.groupBoxLaunchOptions.TabIndex = 34; - this.groupBoxLaunchOptions.TabStop = false; - this.groupBoxLaunchOptions.Text = "Launch options"; - // - // labelLaunchOptionMSStoreNotice - // - this.labelLaunchOptionMSStoreNotice.AutoSize = true; - this.labelLaunchOptionMSStoreNotice.ForeColor = System.Drawing.Color.Red; - this.labelLaunchOptionMSStoreNotice.Location = new System.Drawing.Point(12, 67); - this.labelLaunchOptionMSStoreNotice.Name = "labelLaunchOptionMSStoreNotice"; - this.labelLaunchOptionMSStoreNotice.Size = new System.Drawing.Size(344, 13); - this.labelLaunchOptionMSStoreNotice.TabIndex = 3; - this.labelLaunchOptionMSStoreNotice.Text = "Fallout 76 cannot be run directly, if installed through the Microsoft Store."; - this.labelLaunchOptionMSStoreNotice.Visible = false; - // - // labelLaunchOptionTip - // - this.labelLaunchOptionTip.AutoSize = true; - this.labelLaunchOptionTip.ForeColor = System.Drawing.SystemColors.ControlDarkDark; - this.labelLaunchOptionTip.Location = new System.Drawing.Point(10, 67); - this.labelLaunchOptionTip.Name = "labelLaunchOptionTip"; - this.labelLaunchOptionTip.Size = new System.Drawing.Size(274, 13); - this.labelLaunchOptionTip.TabIndex = 2; - this.labelLaunchOptionTip.Text = "Tip: Enter your login credentials under the \"General\" tab."; - this.labelLaunchOptionTip.Visible = false; - // - // radioButtonLaunchViaExecutable - // - this.radioButtonLaunchViaExecutable.AutoSize = true; - this.radioButtonLaunchViaExecutable.Location = new System.Drawing.Point(10, 43); - this.radioButtonLaunchViaExecutable.Name = "radioButtonLaunchViaExecutable"; - this.radioButtonLaunchViaExecutable.Size = new System.Drawing.Size(157, 17); - this.radioButtonLaunchViaExecutable.TabIndex = 1; - this.radioButtonLaunchViaExecutable.TabStop = true; - this.radioButtonLaunchViaExecutable.Text = "Run \"Fallout76.exe\" directly"; - this.radioButtonLaunchViaExecutable.UseVisualStyleBackColor = true; - this.radioButtonLaunchViaExecutable.CheckedChanged += new System.EventHandler(this.radioButtonLaunchViaExecutable_CheckedChanged); - // - // radioButtonLaunchViaLink - // - this.radioButtonLaunchViaLink.AutoSize = true; - this.radioButtonLaunchViaLink.Location = new System.Drawing.Point(10, 20); - this.radioButtonLaunchViaLink.Name = "radioButtonLaunchViaLink"; - this.radioButtonLaunchViaLink.Size = new System.Drawing.Size(316, 17); - this.radioButtonLaunchViaLink.TabIndex = 0; - this.radioButtonLaunchViaLink.TabStop = true; - this.radioButtonLaunchViaLink.Text = "Launch via Steam / Bethesda.net / MS Store (recommended)"; - this.radioButtonLaunchViaLink.UseVisualStyleBackColor = true; - // - // groupBoxGamePaths - // - this.groupBoxGamePaths.Controls.Add(this.labelGamePath); - this.groupBoxGamePaths.Controls.Add(this.textBoxGamePath); - this.groupBoxGamePaths.Controls.Add(this.buttonPickGamePath); - this.groupBoxGamePaths.Location = new System.Drawing.Point(22, 273); - this.groupBoxGamePaths.Name = "groupBoxGamePaths"; - this.groupBoxGamePaths.Size = new System.Drawing.Size(392, 45); - this.groupBoxGamePaths.TabIndex = 33; - this.groupBoxGamePaths.TabStop = false; - this.groupBoxGamePaths.Text = "Paths"; - // - // labelGamePath - // - this.labelGamePath.AutoSize = true; - this.labelGamePath.Location = new System.Drawing.Point(7, 19); - this.labelGamePath.Name = "labelGamePath"; - this.labelGamePath.Size = new System.Drawing.Size(78, 13); - this.labelGamePath.TabIndex = 17; - this.labelGamePath.Text = "Game location:"; - // - // textBoxGamePath - // - this.textBoxGamePath.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) - | System.Windows.Forms.AnchorStyles.Right))); - this.textBoxGamePath.Location = new System.Drawing.Point(111, 16); - this.textBoxGamePath.Name = "textBoxGamePath"; - this.textBoxGamePath.Size = new System.Drawing.Size(240, 20); - this.textBoxGamePath.TabIndex = 18; - this.textBoxGamePath.TextChanged += new System.EventHandler(this.textBoxGamePath_TextChanged); - // - // buttonPickGamePath - // - this.buttonPickGamePath.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); - this.buttonPickGamePath.Location = new System.Drawing.Point(357, 14); - this.buttonPickGamePath.Name = "buttonPickGamePath"; - this.buttonPickGamePath.Size = new System.Drawing.Size(28, 23); - this.buttonPickGamePath.TabIndex = 19; - this.buttonPickGamePath.Text = "..."; - this.buttonPickGamePath.UseVisualStyleBackColor = true; - this.buttonPickGamePath.Click += new System.EventHandler(this.buttonPickGamePath_Click); - // - // groupBoxOptions - // - this.groupBoxOptions.Controls.Add(this.checkBoxAlternativeINIMode); - this.groupBoxOptions.Controls.Add(this.checkBoxDenyNTFSWritePermission); - this.groupBoxOptions.Controls.Add(this.checkBoxMultipleGameEditionsUsed); - this.groupBoxOptions.Controls.Add(this.checkBoxReadOnly); - this.groupBoxOptions.Location = new System.Drawing.Point(22, 423); - this.groupBoxOptions.Name = "groupBoxOptions"; - this.groupBoxOptions.Size = new System.Drawing.Size(392, 119); - this.groupBoxOptions.TabIndex = 28; - this.groupBoxOptions.TabStop = false; - this.groupBoxOptions.Text = "Options"; - // - // groupBoxBehavior - // - this.groupBoxBehavior.Controls.Add(this.checkBoxPlayNotificationSound); - this.groupBoxBehavior.Controls.Add(this.checkBoxIgnoreUpdates); - this.groupBoxBehavior.Controls.Add(this.checkBoxOpenManageModsOnLaunch); - this.groupBoxBehavior.Controls.Add(this.checkBoxQuitOnGameLaunch); - this.groupBoxBehavior.Controls.Add(this.checkBoxSkipBackupQuestion); - this.groupBoxBehavior.Controls.Add(this.checkBoxAutoApply); - this.groupBoxBehavior.Location = new System.Drawing.Point(22, 778); - this.groupBoxBehavior.Name = "groupBoxBehavior"; - this.groupBoxBehavior.Size = new System.Drawing.Size(392, 168); - this.groupBoxBehavior.TabIndex = 31; - this.groupBoxBehavior.TabStop = false; - this.groupBoxBehavior.Text = "Behavior"; - // - // checkBoxPlayNotificationSound - // - this.checkBoxPlayNotificationSound.AutoSize = true; - this.checkBoxPlayNotificationSound.Checked = true; - this.checkBoxPlayNotificationSound.CheckState = System.Windows.Forms.CheckState.Checked; - this.checkBoxPlayNotificationSound.Location = new System.Drawing.Point(9, 135); - this.checkBoxPlayNotificationSound.Name = "checkBoxPlayNotificationSound"; - this.checkBoxPlayNotificationSound.Size = new System.Drawing.Size(132, 17); - this.checkBoxPlayNotificationSound.TabIndex = 25; - this.checkBoxPlayNotificationSound.Text = "Play notification sound"; - this.checkBoxPlayNotificationSound.UseVisualStyleBackColor = true; - // - // checkBoxIgnoreUpdates - // - this.checkBoxIgnoreUpdates.AutoSize = true; - this.checkBoxIgnoreUpdates.Location = new System.Drawing.Point(9, 111); - this.checkBoxIgnoreUpdates.Name = "checkBoxIgnoreUpdates"; - this.checkBoxIgnoreUpdates.Size = new System.Drawing.Size(143, 17); - this.checkBoxIgnoreUpdates.TabIndex = 24; - this.checkBoxIgnoreUpdates.Text = "Don\'t check for updates."; - this.checkBoxIgnoreUpdates.UseVisualStyleBackColor = true; - this.checkBoxIgnoreUpdates.CheckedChanged += new System.EventHandler(this.checkBoxIgnoreUpdates_CheckedChanged); - // - // checkBoxOpenManageModsOnLaunch - // - this.checkBoxOpenManageModsOnLaunch.AutoSize = true; - this.checkBoxOpenManageModsOnLaunch.Location = new System.Drawing.Point(9, 88); - this.checkBoxOpenManageModsOnLaunch.Name = "checkBoxOpenManageModsOnLaunch"; - this.checkBoxOpenManageModsOnLaunch.Size = new System.Drawing.Size(172, 17); - this.checkBoxOpenManageModsOnLaunch.TabIndex = 23; - this.checkBoxOpenManageModsOnLaunch.Text = "Open mod manager on startup."; - this.checkBoxOpenManageModsOnLaunch.UseVisualStyleBackColor = true; - this.checkBoxOpenManageModsOnLaunch.CheckedChanged += new System.EventHandler(this.checkBoxOpenManageModsOnLaunch_CheckedChanged); - // // labelGameEdition // this.labelGameEdition.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); this.labelGameEdition.BackColor = System.Drawing.Color.Black; this.labelGameEdition.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); this.labelGameEdition.ForeColor = System.Drawing.Color.White; - this.labelGameEdition.Location = new System.Drawing.Point(0, 424); + this.labelGameEdition.Location = new System.Drawing.Point(0, 405); this.labelGameEdition.Name = "labelGameEdition"; this.labelGameEdition.Size = new System.Drawing.Size(73, 36); this.labelGameEdition.TabIndex = 22; this.labelGameEdition.Text = "Unknown"; this.labelGameEdition.TextAlign = System.Drawing.ContentAlignment.TopCenter; + this.labelGameEdition.Click += new System.EventHandler(this.showProfiles_OnClick); // // pictureBoxGameEdition // this.pictureBoxGameEdition.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); this.pictureBoxGameEdition.BackColor = System.Drawing.Color.Black; this.pictureBoxGameEdition.Image = global::Fo76ini.Properties.Resources.help_128; - this.pictureBoxGameEdition.Location = new System.Drawing.Point(6, 357); + this.pictureBoxGameEdition.Location = new System.Drawing.Point(6, 338); this.pictureBoxGameEdition.Name = "pictureBoxGameEdition"; this.pictureBoxGameEdition.Size = new System.Drawing.Size(60, 60); this.pictureBoxGameEdition.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom; this.pictureBoxGameEdition.TabIndex = 21; this.pictureBoxGameEdition.TabStop = false; + this.pictureBoxGameEdition.Click += new System.EventHandler(this.showProfiles_OnClick); // // pictureBox1 // @@ -4203,7 +4359,7 @@ private void InitializeComponent() this.pictureBox2.BackColor = System.Drawing.Color.Black; this.pictureBox2.Location = new System.Drawing.Point(-4, 0); this.pictureBox2.Name = "pictureBox2"; - this.pictureBox2.Size = new System.Drawing.Size(77, 657); + this.pictureBox2.Size = new System.Drawing.Size(77, 468); this.pictureBox2.TabIndex = 18; this.pictureBox2.TabStop = false; // @@ -4212,7 +4368,7 @@ private void InitializeComponent() this.labelTranslationAuthor.AutoSize = true; this.labelTranslationAuthor.Font = new System.Drawing.Font("Microsoft Sans Serif", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); this.labelTranslationAuthor.ForeColor = System.Drawing.SystemColors.ControlText; - this.labelTranslationAuthor.Location = new System.Drawing.Point(203, 149); + this.labelTranslationAuthor.Location = new System.Drawing.Point(203, 166); this.labelTranslationAuthor.Name = "labelTranslationAuthor"; this.labelTranslationAuthor.Size = new System.Drawing.Size(64, 15); this.labelTranslationAuthor.TabIndex = 12; @@ -4223,7 +4379,7 @@ private void InitializeComponent() this.labelTranslationBy.AutoSize = true; this.labelTranslationBy.Font = new System.Drawing.Font("Microsoft Sans Serif", 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); this.labelTranslationBy.ForeColor = System.Drawing.SystemColors.ControlText; - this.labelTranslationBy.Location = new System.Drawing.Point(90, 149); + this.labelTranslationBy.Location = new System.Drawing.Point(90, 166); this.labelTranslationBy.Name = "labelTranslationBy"; this.labelTranslationBy.Size = new System.Drawing.Size(101, 15); this.labelTranslationBy.TabIndex = 11; @@ -4233,7 +4389,7 @@ private void InitializeComponent() // this.labelAuthorName.AutoSize = true; this.labelAuthorName.Font = new System.Drawing.Font("Microsoft Sans Serif", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.labelAuthorName.Location = new System.Drawing.Point(203, 131); + this.labelAuthorName.Location = new System.Drawing.Point(203, 148); this.labelAuthorName.Name = "labelAuthorName"; this.labelAuthorName.Size = new System.Drawing.Size(64, 15); this.labelAuthorName.TabIndex = 10; @@ -4243,7 +4399,7 @@ private void InitializeComponent() // this.labelConfigVersion.AutoSize = true; this.labelConfigVersion.Font = new System.Drawing.Font("Microsoft Sans Serif", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.labelConfigVersion.Location = new System.Drawing.Point(203, 114); + this.labelConfigVersion.Location = new System.Drawing.Point(203, 131); this.labelConfigVersion.Name = "labelConfigVersion"; this.labelConfigVersion.Size = new System.Drawing.Size(14, 15); this.labelConfigVersion.TabIndex = 9; @@ -4253,7 +4409,7 @@ private void InitializeComponent() // this.labelAuthor.AutoSize = true; this.labelAuthor.Font = new System.Drawing.Font("Microsoft Sans Serif", 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.labelAuthor.Location = new System.Drawing.Point(90, 131); + this.labelAuthor.Location = new System.Drawing.Point(90, 148); this.labelAuthor.Name = "labelAuthor"; this.labelAuthor.Size = new System.Drawing.Size(52, 15); this.labelAuthor.TabIndex = 8; @@ -4263,7 +4419,7 @@ private void InitializeComponent() // this.labelVersion.AutoSize = true; this.labelVersion.Font = new System.Drawing.Font("Microsoft Sans Serif", 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.labelVersion.Location = new System.Drawing.Point(90, 114); + this.labelVersion.Location = new System.Drawing.Point(90, 131); this.labelVersion.Name = "labelVersion"; this.labelVersion.Size = new System.Drawing.Size(59, 15); this.labelVersion.TabIndex = 7; @@ -4271,14 +4427,13 @@ private void InitializeComponent() // // labelDescription // - this.labelDescription.AutoSize = true; this.labelDescription.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); this.labelDescription.Location = new System.Drawing.Point(90, 59); this.labelDescription.Name = "labelDescription"; - this.labelDescription.Size = new System.Drawing.Size(268, 26); + this.labelDescription.Size = new System.Drawing.Size(342, 65); this.labelDescription.TabIndex = 6; - this.labelDescription.Text = "This tool allows you to quickly tweak INI settings.\r\nTip: Hover over an option, i" + - "f you\'re unsure what it does."; + this.labelDescription.Text = "This tool allows you to change various game settings and install mods.\r\nTip: Hove" + + "r over an option, if you\'re unsure what it does."; // // labelTitle // @@ -4304,6 +4459,7 @@ private void InitializeComponent() this.tabControl1.Controls.Add(this.tabPagePipBoy); this.tabControl1.Controls.Add(this.tabPageGallery); this.tabControl1.Controls.Add(this.tabPageCustom); + this.tabControl1.Controls.Add(this.tabPageDangerZone); this.tabControl1.Location = new System.Drawing.Point(12, 59); this.tabControl1.Multiline = true; this.tabControl1.Name = "tabControl1"; @@ -4768,9 +4924,9 @@ private void InitializeComponent() | System.Windows.Forms.AnchorStyles.Left) | System.Windows.Forms.AnchorStyles.Right))); this.pictureBoxGalleryLoadingGIF.Image = global::Fo76ini.Properties.Resources.Spinner_200; - this.pictureBoxGalleryLoadingGIF.Location = new System.Drawing.Point(7, 21); + this.pictureBoxGalleryLoadingGIF.Location = new System.Drawing.Point(7, 18); this.pictureBoxGalleryLoadingGIF.Name = "pictureBoxGalleryLoadingGIF"; - this.pictureBoxGalleryLoadingGIF.Size = new System.Drawing.Size(530, 424); + this.pictureBoxGalleryLoadingGIF.Size = new System.Drawing.Size(533, 427); this.pictureBoxGalleryLoadingGIF.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage; this.pictureBoxGalleryLoadingGIF.TabIndex = 3; this.pictureBoxGalleryLoadingGIF.TabStop = false; @@ -4782,7 +4938,7 @@ private void InitializeComponent() | System.Windows.Forms.AnchorStyles.Right))); this.labelGalleryTip.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); this.labelGalleryTip.ForeColor = System.Drawing.SystemColors.ControlDarkDark; - this.labelGalleryTip.Location = new System.Drawing.Point(17, 211); + this.labelGalleryTip.Location = new System.Drawing.Point(18, 197); this.labelGalleryTip.Name = "labelGalleryTip"; this.labelGalleryTip.Size = new System.Drawing.Size(511, 39); this.labelGalleryTip.TabIndex = 2; @@ -4794,10 +4950,11 @@ private void InitializeComponent() this.listViewScreenshots.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) | System.Windows.Forms.AnchorStyles.Left) | System.Windows.Forms.AnchorStyles.Right))); + this.listViewScreenshots.BorderStyle = System.Windows.Forms.BorderStyle.None; this.listViewScreenshots.HideSelection = false; - this.listViewScreenshots.Location = new System.Drawing.Point(6, 19); + this.listViewScreenshots.Location = new System.Drawing.Point(6, 20); this.listViewScreenshots.Name = "listViewScreenshots"; - this.listViewScreenshots.Size = new System.Drawing.Size(534, 427); + this.listViewScreenshots.Size = new System.Drawing.Size(534, 425); this.listViewScreenshots.TabIndex = 1; this.listViewScreenshots.UseCompatibleStateImageBehavior = false; // @@ -4942,56 +5099,229 @@ private void InitializeComponent() this.buttonCustomSave.UseVisualStyleBackColor = true; this.buttonCustomSave.Click += new System.EventHandler(this.buttonCustomSave_Click); // - // comboBoxCustomFile + // comboBoxCustomFile + // + this.comboBoxCustomFile.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; + this.comboBoxCustomFile.FormattingEnabled = true; + this.comboBoxCustomFile.Location = new System.Drawing.Point(204, 6); + this.comboBoxCustomFile.Name = "comboBoxCustomFile"; + this.comboBoxCustomFile.Size = new System.Drawing.Size(188, 21); + this.comboBoxCustomFile.TabIndex = 2; + this.comboBoxCustomFile.SelectedIndexChanged += new System.EventHandler(this.comboBoxCustomFile_SelectedIndexChanged); + // + // labelCustomFile + // + this.labelCustomFile.AutoSize = true; + this.labelCustomFile.Location = new System.Drawing.Point(6, 9); + this.labelCustomFile.Name = "labelCustomFile"; + this.labelCustomFile.Size = new System.Drawing.Size(106, 13); + this.labelCustomFile.TabIndex = 1; + this.labelCustomFile.Text = "Overwrite lines in file:"; + // + // textBoxCustom + // + this.textBoxCustom.AcceptsTab = true; + this.textBoxCustom.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) + | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.textBoxCustom.Font = new System.Drawing.Font("Consolas", 11.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.textBoxCustom.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(30)))), ((int)(((byte)(30)))), ((int)(((byte)(30))))); + this.textBoxCustom.Location = new System.Drawing.Point(6, 33); + this.textBoxCustom.Multiline = true; + this.textBoxCustom.Name = "textBoxCustom"; + this.textBoxCustom.ScrollBars = System.Windows.Forms.ScrollBars.Both; + this.textBoxCustom.Size = new System.Drawing.Size(840, 425); + this.textBoxCustom.TabIndex = 0; + this.textBoxCustom.WordWrap = false; + this.textBoxCustom.TextChanged += new System.EventHandler(this.textBoxCustom_TextChanged); + // + // tabPageDangerZone + // + this.tabPageDangerZone.Controls.Add(this.groupBoxVideoDZ); + this.tabPageDangerZone.ForeColor = System.Drawing.Color.Red; + this.tabPageDangerZone.Location = new System.Drawing.Point(4, 22); + this.tabPageDangerZone.Name = "tabPageDangerZone"; + this.tabPageDangerZone.Padding = new System.Windows.Forms.Padding(3); + this.tabPageDangerZone.Size = new System.Drawing.Size(852, 464); + this.tabPageDangerZone.TabIndex = 11; + this.tabPageDangerZone.Text = "⚠️ Danger Zone"; + this.tabPageDangerZone.UseVisualStyleBackColor = true; + // + // groupBoxVideoDZ + // + this.groupBoxVideoDZ.Controls.Add(this.groupBoxShadows2); + this.groupBoxVideoDZ.Controls.Add(this.groupBox4); + this.groupBoxVideoDZ.ForeColor = System.Drawing.Color.Red; + this.groupBoxVideoDZ.Location = new System.Drawing.Point(6, 6); + this.groupBoxVideoDZ.Name = "groupBoxVideoDZ"; + this.groupBoxVideoDZ.Size = new System.Drawing.Size(381, 245); + this.groupBoxVideoDZ.TabIndex = 41; + this.groupBoxVideoDZ.TabStop = false; + this.groupBoxVideoDZ.Text = "⚠️ Video"; + // + // groupBoxShadows2 + // + this.groupBoxShadows2.Controls.Add(this.labeliDirShadowSplits); + this.groupBoxShadows2.Controls.Add(this.comboBoxiDirShadowSplits); + this.groupBoxShadows2.Controls.Add(this.sliderfBlendSplitDirShadow); + this.groupBoxShadows2.Controls.Add(this.labelfBlendSplitDirShadow); + this.groupBoxShadows2.Controls.Add(this.numfBlendSplitDirShadow); + this.groupBoxShadows2.ForeColor = System.Drawing.Color.Red; + this.groupBoxShadows2.Location = new System.Drawing.Point(10, 19); + this.groupBoxShadows2.Name = "groupBoxShadows2"; + this.groupBoxShadows2.Size = new System.Drawing.Size(359, 140); + this.groupBoxShadows2.TabIndex = 40; + this.groupBoxShadows2.TabStop = false; + this.groupBoxShadows2.Text = "Shadows"; + // + // comboBoxiDirShadowSplits + // + this.comboBoxiDirShadowSplits.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.comboBoxiDirShadowSplits.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; + this.comboBoxiDirShadowSplits.FormattingEnabled = true; + this.comboBoxiDirShadowSplits.Location = new System.Drawing.Point(195, 21); + this.comboBoxiDirShadowSplits.Name = "comboBoxiDirShadowSplits"; + this.comboBoxiDirShadowSplits.Size = new System.Drawing.Size(154, 21); + this.comboBoxiDirShadowSplits.TabIndex = 34; + // + // labelfBlendSplitDirShadow + // + this.labelfBlendSplitDirShadow.AutoSize = true; + this.labelfBlendSplitDirShadow.ForeColor = System.Drawing.SystemColors.ControlText; + this.labelfBlendSplitDirShadow.Location = new System.Drawing.Point(11, 59); + this.labelfBlendSplitDirShadow.Name = "labelfBlendSplitDirShadow"; + this.labelfBlendSplitDirShadow.Size = new System.Drawing.Size(187, 13); + this.labelfBlendSplitDirShadow.TabIndex = 37; + this.labelfBlendSplitDirShadow.Text = "Shadow \"segment\" transition distance"; + // + // numfBlendSplitDirShadow + // + this.numfBlendSplitDirShadow.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.numfBlendSplitDirShadow.Increment = new decimal(new int[] { + 1000, + 0, + 0, + 0}); + this.numfBlendSplitDirShadow.Location = new System.Drawing.Point(275, 76); + this.numfBlendSplitDirShadow.Maximum = new decimal(new int[] { + 9999999, + 0, + 0, + 0}); + this.numfBlendSplitDirShadow.Name = "numfBlendSplitDirShadow"; + this.numfBlendSplitDirShadow.Size = new System.Drawing.Size(74, 20); + this.numfBlendSplitDirShadow.TabIndex = 38; + this.numfBlendSplitDirShadow.Value = new decimal(new int[] { + 48, + 0, + 0, + 0}); + // + // groupBox4 + // + this.groupBox4.Controls.Add(this.checkBoxScreenSpaceReflections); + this.groupBox4.ForeColor = System.Drawing.Color.Red; + this.groupBox4.Location = new System.Drawing.Point(10, 164); + this.groupBox4.Name = "groupBox4"; + this.groupBox4.Size = new System.Drawing.Size(359, 67); + this.groupBox4.TabIndex = 39; + this.groupBox4.TabStop = false; + this.groupBox4.Text = "Water"; + // + // backgroundWorkerLoadGallery + // + this.backgroundWorkerLoadGallery.DoWork += new System.ComponentModel.DoWorkEventHandler(this.backgroundWorkerLoadGallery_DoWork); + // + // backgroundWorkerGetLatestVersion + // + this.backgroundWorkerGetLatestVersion.DoWork += new System.ComponentModel.DoWorkEventHandler(this.backgroundWorkerGetLatestVersion_DoWork); + // + // contextMenuStripGallery + // + this.contextMenuStripGallery.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.openToolStripMenuItem, + this.openFolderToolStripMenuItem, + this.toolStripSeparator7, + this.cutToolStripMenuItem, + this.copyToolStripMenuItem, + this.toolStripSeparator8, + this.deleteToolStripMenuItem}); + this.contextMenuStripGallery.Name = "contextMenuStrip1"; + this.contextMenuStripGallery.Size = new System.Drawing.Size(138, 126); + // + // openToolStripMenuItem + // + this.openToolStripMenuItem.Font = new System.Drawing.Font("Segoe UI", 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.openToolStripMenuItem.Name = "openToolStripMenuItem"; + this.openToolStripMenuItem.Size = new System.Drawing.Size(137, 22); + this.openToolStripMenuItem.Text = "Open"; + this.openToolStripMenuItem.Click += new System.EventHandler(this.openToolStripMenuItem_Click); + // + // openFolderToolStripMenuItem + // + this.openFolderToolStripMenuItem.Name = "openFolderToolStripMenuItem"; + this.openFolderToolStripMenuItem.Size = new System.Drawing.Size(137, 22); + this.openFolderToolStripMenuItem.Text = "Open folder"; + this.openFolderToolStripMenuItem.Click += new System.EventHandler(this.openFolderToolStripMenuItem_Click); + // + // toolStripSeparator7 + // + this.toolStripSeparator7.Name = "toolStripSeparator7"; + this.toolStripSeparator7.Size = new System.Drawing.Size(134, 6); + // + // cutToolStripMenuItem + // + this.cutToolStripMenuItem.Name = "cutToolStripMenuItem"; + this.cutToolStripMenuItem.Size = new System.Drawing.Size(137, 22); + this.cutToolStripMenuItem.Text = "Cut"; + this.cutToolStripMenuItem.Click += new System.EventHandler(this.cutToolStripMenuItem_Click); + // + // copyToolStripMenuItem + // + this.copyToolStripMenuItem.Name = "copyToolStripMenuItem"; + this.copyToolStripMenuItem.Size = new System.Drawing.Size(137, 22); + this.copyToolStripMenuItem.Text = "Copy"; + this.copyToolStripMenuItem.Click += new System.EventHandler(this.copyToolStripMenuItem_Click); + // + // toolStripSeparator8 // - this.comboBoxCustomFile.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; - this.comboBoxCustomFile.FormattingEnabled = true; - this.comboBoxCustomFile.Location = new System.Drawing.Point(204, 6); - this.comboBoxCustomFile.Name = "comboBoxCustomFile"; - this.comboBoxCustomFile.Size = new System.Drawing.Size(188, 21); - this.comboBoxCustomFile.TabIndex = 2; - this.comboBoxCustomFile.SelectedIndexChanged += new System.EventHandler(this.comboBoxCustomFile_SelectedIndexChanged); + this.toolStripSeparator8.Name = "toolStripSeparator8"; + this.toolStripSeparator8.Size = new System.Drawing.Size(134, 6); // - // labelCustomFile + // deleteToolStripMenuItem // - this.labelCustomFile.AutoSize = true; - this.labelCustomFile.Location = new System.Drawing.Point(6, 9); - this.labelCustomFile.Name = "labelCustomFile"; - this.labelCustomFile.Size = new System.Drawing.Size(106, 13); - this.labelCustomFile.TabIndex = 1; - this.labelCustomFile.Text = "Overwrite lines in file:"; + this.deleteToolStripMenuItem.Name = "deleteToolStripMenuItem"; + this.deleteToolStripMenuItem.Size = new System.Drawing.Size(137, 22); + this.deleteToolStripMenuItem.Text = "Delete"; + this.deleteToolStripMenuItem.Click += new System.EventHandler(this.deleteToolStripMenuItem_Click); // - // textBoxCustom + // toolStripSeparator3 // - this.textBoxCustom.AcceptsTab = true; - this.textBoxCustom.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) - | System.Windows.Forms.AnchorStyles.Left) - | System.Windows.Forms.AnchorStyles.Right))); - this.textBoxCustom.Font = new System.Drawing.Font("Consolas", 11.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.textBoxCustom.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(30)))), ((int)(((byte)(30)))), ((int)(((byte)(30))))); - this.textBoxCustom.Location = new System.Drawing.Point(6, 33); - this.textBoxCustom.Multiline = true; - this.textBoxCustom.Name = "textBoxCustom"; - this.textBoxCustom.ScrollBars = System.Windows.Forms.ScrollBars.Both; - this.textBoxCustom.Size = new System.Drawing.Size(840, 425); - this.textBoxCustom.TabIndex = 0; - this.textBoxCustom.WordWrap = false; - this.textBoxCustom.TextChanged += new System.EventHandler(this.textBoxCustom_TextChanged); + this.toolStripSeparator3.Margin = new System.Windows.Forms.Padding(10, 0, 10, 0); + this.toolStripSeparator3.Name = "toolStripSeparator3"; + this.toolStripSeparator3.Padding = new System.Windows.Forms.Padding(10, 0, 10, 0); + this.toolStripSeparator3.Size = new System.Drawing.Size(6, 46); + // + // toolStripSeparator9 + // + this.toolStripSeparator9.Margin = new System.Windows.Forms.Padding(10, 0, 10, 0); + this.toolStripSeparator9.Name = "toolStripSeparator9"; + this.toolStripSeparator9.Size = new System.Drawing.Size(6, 46); // // toolStrip1 // this.toolStrip1.GripStyle = System.Windows.Forms.ToolStripGripStyle.Hidden; this.toolStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { this.toolStripButtonApply, - this.toolStripButtonToggleNuclearWinterMode, - this.toolStripSplitButtonLaunchGame, - this.toolStripSeparator1, + this.toolStripButtonLaunchGame, + this.toolStripSeparator3, this.toolStripButtonManageMods, - this.toolStripSeparator2, + this.toolStripButtonToggleNuclearWinterMode, + this.toolStripSeparator9, + this.toolStripButtonSettings, this.toolStripSplitButtonUpdate, - this.toolStripDropDownButtonExplore, - this.toolStripSeparator3, - this.toolStripButtonNexusMods}); + this.toolStripDropDownButtonExplore}); this.toolStrip1.Location = new System.Drawing.Point(0, 0); this.toolStrip1.Name = "toolStrip1"; this.toolStrip1.Padding = new System.Windows.Forms.Padding(5, 5, 1, 5); @@ -5011,61 +5341,17 @@ private void InitializeComponent() this.toolStripButtonApply.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageAboveText; this.toolStripButtonApply.Click += new System.EventHandler(this.toolStripButtonApply_Click); // - // toolStripButtonToggleNuclearWinterMode - // - this.toolStripButtonToggleNuclearWinterMode.Image = global::Fo76ini.Properties.Resources.fire; - this.toolStripButtonToggleNuclearWinterMode.ImageScaling = System.Windows.Forms.ToolStripItemImageScaling.None; - this.toolStripButtonToggleNuclearWinterMode.ImageTransparentColor = System.Drawing.Color.Magenta; - this.toolStripButtonToggleNuclearWinterMode.Name = "toolStripButtonToggleNuclearWinterMode"; - this.toolStripButtonToggleNuclearWinterMode.Padding = new System.Windows.Forms.Padding(10, 0, 10, 0); - this.toolStripButtonToggleNuclearWinterMode.Size = new System.Drawing.Size(110, 43); - this.toolStripButtonToggleNuclearWinterMode.Text = "Nuclear Winter"; - this.toolStripButtonToggleNuclearWinterMode.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageAboveText; - this.toolStripButtonToggleNuclearWinterMode.Click += new System.EventHandler(this.toolStripButtonToggleNuclearWinterMode_Click); - // - // toolStripSplitButtonLaunchGame - // - this.toolStripSplitButtonLaunchGame.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { - this.launchViaSteamToolStripMenuItem, - this.launchViaBethesdanetToolStripMenuItem, - this.launchViaBethesdanetPTSToolStripMenuItem}); - this.toolStripSplitButtonLaunchGame.Image = global::Fo76ini.Properties.Resources.play; - this.toolStripSplitButtonLaunchGame.ImageScaling = System.Windows.Forms.ToolStripItemImageScaling.None; - this.toolStripSplitButtonLaunchGame.ImageTransparentColor = System.Drawing.Color.Magenta; - this.toolStripSplitButtonLaunchGame.Name = "toolStripSplitButtonLaunchGame"; - this.toolStripSplitButtonLaunchGame.Padding = new System.Windows.Forms.Padding(20, 0, 20, 0); - this.toolStripSplitButtonLaunchGame.Size = new System.Drawing.Size(102, 43); - this.toolStripSplitButtonLaunchGame.Text = "Launch"; - this.toolStripSplitButtonLaunchGame.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageAboveText; - this.toolStripSplitButtonLaunchGame.ButtonClick += new System.EventHandler(this.toolStripSplitButtonLaunchGame_ButtonClick); - // - // launchViaSteamToolStripMenuItem - // - this.launchViaSteamToolStripMenuItem.Name = "launchViaSteamToolStripMenuItem"; - this.launchViaSteamToolStripMenuItem.Size = new System.Drawing.Size(255, 22); - this.launchViaSteamToolStripMenuItem.Text = "Launch Steam version"; - this.launchViaSteamToolStripMenuItem.Click += new System.EventHandler(this.launchViaSteamToolStripMenuItem_Click); + // toolStripButtonLaunchGame // - // launchViaBethesdanetToolStripMenuItem - // - this.launchViaBethesdanetToolStripMenuItem.Name = "launchViaBethesdanetToolStripMenuItem"; - this.launchViaBethesdanetToolStripMenuItem.Size = new System.Drawing.Size(255, 22); - this.launchViaBethesdanetToolStripMenuItem.Text = "Launch Bethesda.net version"; - this.launchViaBethesdanetToolStripMenuItem.Click += new System.EventHandler(this.launchViaBethesdanetToolStripMenuItem_Click); - // - // launchViaBethesdanetPTSToolStripMenuItem - // - this.launchViaBethesdanetPTSToolStripMenuItem.Name = "launchViaBethesdanetPTSToolStripMenuItem"; - this.launchViaBethesdanetPTSToolStripMenuItem.Size = new System.Drawing.Size(255, 22); - this.launchViaBethesdanetPTSToolStripMenuItem.Text = "Launch Bethesda.net (PTS) version"; - this.launchViaBethesdanetPTSToolStripMenuItem.Click += new System.EventHandler(this.launchViaBethesdanetPTSToolStripMenuItem_Click); - // - // toolStripSeparator1 - // - this.toolStripSeparator1.Margin = new System.Windows.Forms.Padding(10, 0, 10, 0); - this.toolStripSeparator1.Name = "toolStripSeparator1"; - this.toolStripSeparator1.Padding = new System.Windows.Forms.Padding(10, 0, 10, 0); - this.toolStripSeparator1.Size = new System.Drawing.Size(6, 46); + this.toolStripButtonLaunchGame.Image = global::Fo76ini.Properties.Resources.play; + this.toolStripButtonLaunchGame.ImageScaling = System.Windows.Forms.ToolStripItemImageScaling.None; + this.toolStripButtonLaunchGame.ImageTransparentColor = System.Drawing.Color.Magenta; + this.toolStripButtonLaunchGame.Name = "toolStripButtonLaunchGame"; + this.toolStripButtonLaunchGame.Padding = new System.Windows.Forms.Padding(20, 0, 20, 0); + this.toolStripButtonLaunchGame.Size = new System.Drawing.Size(90, 43); + this.toolStripButtonLaunchGame.Text = "Launch"; + this.toolStripButtonLaunchGame.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageAboveText; + this.toolStripButtonLaunchGame.Click += new System.EventHandler(this.toolStripButtonLaunchGame_Click); // // toolStripButtonManageMods // @@ -5079,18 +5365,35 @@ private void InitializeComponent() this.toolStripButtonManageMods.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageAboveText; this.toolStripButtonManageMods.Click += new System.EventHandler(this.toolStripButtonManageMods_Click); // - // toolStripSeparator2 + // toolStripButtonToggleNuclearWinterMode + // + this.toolStripButtonToggleNuclearWinterMode.Image = global::Fo76ini.Properties.Resources.fire; + this.toolStripButtonToggleNuclearWinterMode.ImageScaling = System.Windows.Forms.ToolStripItemImageScaling.None; + this.toolStripButtonToggleNuclearWinterMode.ImageTransparentColor = System.Drawing.Color.Magenta; + this.toolStripButtonToggleNuclearWinterMode.Name = "toolStripButtonToggleNuclearWinterMode"; + this.toolStripButtonToggleNuclearWinterMode.Padding = new System.Windows.Forms.Padding(10, 0, 10, 0); + this.toolStripButtonToggleNuclearWinterMode.Size = new System.Drawing.Size(110, 43); + this.toolStripButtonToggleNuclearWinterMode.Text = "Nuclear Winter"; + this.toolStripButtonToggleNuclearWinterMode.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageAboveText; + this.toolStripButtonToggleNuclearWinterMode.Click += new System.EventHandler(this.toolStripButtonToggleNuclearWinterMode_Click); + // + // toolStripButtonSettings // - this.toolStripSeparator2.Margin = new System.Windows.Forms.Padding(10, 0, 10, 0); - this.toolStripSeparator2.Name = "toolStripSeparator2"; - this.toolStripSeparator2.Size = new System.Drawing.Size(6, 46); + this.toolStripButtonSettings.Image = global::Fo76ini.Properties.Resources.cog_24; + this.toolStripButtonSettings.ImageScaling = System.Windows.Forms.ToolStripItemImageScaling.None; + this.toolStripButtonSettings.ImageTransparentColor = System.Drawing.Color.Magenta; + this.toolStripButtonSettings.Name = "toolStripButtonSettings"; + this.toolStripButtonSettings.Padding = new System.Windows.Forms.Padding(20, 0, 20, 0); + this.toolStripButtonSettings.Size = new System.Drawing.Size(93, 43); + this.toolStripButtonSettings.Text = "Settings"; + this.toolStripButtonSettings.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageAboveText; + this.toolStripButtonSettings.Click += new System.EventHandler(this.showSettings_OnClick); // // toolStripSplitButtonUpdate // this.toolStripSplitButtonUpdate.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { this.updateToolToolStripMenuItem, this.checkForUpdatesToolStripMenuItem, - this.downloadUpdateLanguageFilesToolStripMenuItem, this.showUpdaterlogtxtToolStripMenuItem}); this.toolStripSplitButtonUpdate.Image = global::Fo76ini.Properties.Resources.available_updates; this.toolStripSplitButtonUpdate.ImageScaling = System.Windows.Forms.ToolStripItemImageScaling.None; @@ -5105,28 +5408,21 @@ private void InitializeComponent() // updateToolToolStripMenuItem // this.updateToolToolStripMenuItem.Name = "updateToolToolStripMenuItem"; - this.updateToolToolStripMenuItem.Size = new System.Drawing.Size(252, 22); + this.updateToolToolStripMenuItem.Size = new System.Drawing.Size(180, 22); this.updateToolToolStripMenuItem.Text = "Update tool"; this.updateToolToolStripMenuItem.Click += new System.EventHandler(this.buttonUpdateNow_Click); // // checkForUpdatesToolStripMenuItem // this.checkForUpdatesToolStripMenuItem.Name = "checkForUpdatesToolStripMenuItem"; - this.checkForUpdatesToolStripMenuItem.Size = new System.Drawing.Size(252, 22); + this.checkForUpdatesToolStripMenuItem.Size = new System.Drawing.Size(180, 22); this.checkForUpdatesToolStripMenuItem.Text = "Check for updates"; this.checkForUpdatesToolStripMenuItem.Click += new System.EventHandler(this.checkForUpdatesToolStripMenuItem_Click); // - // downloadUpdateLanguageFilesToolStripMenuItem - // - this.downloadUpdateLanguageFilesToolStripMenuItem.Name = "downloadUpdateLanguageFilesToolStripMenuItem"; - this.downloadUpdateLanguageFilesToolStripMenuItem.Size = new System.Drawing.Size(252, 22); - this.downloadUpdateLanguageFilesToolStripMenuItem.Text = "Download / update language files"; - this.downloadUpdateLanguageFilesToolStripMenuItem.Click += new System.EventHandler(this.buttonDownloadLanguages_Click); - // // showUpdaterlogtxtToolStripMenuItem // this.showUpdaterlogtxtToolStripMenuItem.Name = "showUpdaterlogtxtToolStripMenuItem"; - this.showUpdaterlogtxtToolStripMenuItem.Size = new System.Drawing.Size(252, 22); + this.showUpdaterlogtxtToolStripMenuItem.Size = new System.Drawing.Size(180, 22); this.showUpdaterlogtxtToolStripMenuItem.Text = "Show update.log.txt"; this.showUpdaterlogtxtToolStripMenuItem.Click += new System.EventHandler(this.showUpdaterlogtxtToolStripMenuItem_Click); // @@ -5240,102 +5536,62 @@ private void InitializeComponent() this.editFallout76CustominiToolStripMenuItem.Text = "Edit Fallout76Custom.ini"; this.editFallout76CustominiToolStripMenuItem.Click += new System.EventHandler(this.editFallout76CustominiToolStripMenuItem_Click); // - // toolStripSeparator3 - // - this.toolStripSeparator3.Margin = new System.Windows.Forms.Padding(10, 0, 10, 0); - this.toolStripSeparator3.Name = "toolStripSeparator3"; - this.toolStripSeparator3.Size = new System.Drawing.Size(6, 46); - // - // toolStripButtonNexusMods - // - this.toolStripButtonNexusMods.Image = global::Fo76ini.Properties.Resources.nexus_24; - this.toolStripButtonNexusMods.ImageScaling = System.Windows.Forms.ToolStripItemImageScaling.None; - this.toolStripButtonNexusMods.ImageTransparentColor = System.Drawing.Color.Magenta; - this.toolStripButtonNexusMods.Name = "toolStripButtonNexusMods"; - this.toolStripButtonNexusMods.Padding = new System.Windows.Forms.Padding(10, 0, 10, 0); - this.toolStripButtonNexusMods.Size = new System.Drawing.Size(94, 43); - this.toolStripButtonNexusMods.Text = "NexusMods"; - this.toolStripButtonNexusMods.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageAboveText; - this.toolStripButtonNexusMods.Click += new System.EventHandler(this.toolStripButtonNexusMods_Click); - // - // backgroundWorkerLoadGallery - // - this.backgroundWorkerLoadGallery.DoWork += new System.ComponentModel.DoWorkEventHandler(this.backgroundWorkerLoadGallery_DoWork); - // - // backgroundWorkerGetLatestVersion - // - this.backgroundWorkerGetLatestVersion.DoWork += new System.ComponentModel.DoWorkEventHandler(this.backgroundWorkerGetLatestVersion_DoWork); - // - // backgroundWorkerDownloadLanguages - // - this.backgroundWorkerDownloadLanguages.DoWork += new System.ComponentModel.DoWorkEventHandler(this.backgroundWorkerDownloadLanguages_DoWork); - // - // contextMenuStripGallery - // - this.contextMenuStripGallery.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { - this.openToolStripMenuItem, - this.openFolderToolStripMenuItem, - this.toolStripSeparator7, - this.cutToolStripMenuItem, - this.copyToolStripMenuItem, - this.toolStripSeparator8, - this.deleteToolStripMenuItem}); - this.contextMenuStripGallery.Name = "contextMenuStrip1"; - this.contextMenuStripGallery.Size = new System.Drawing.Size(138, 126); - // - // openToolStripMenuItem - // - this.openToolStripMenuItem.Font = new System.Drawing.Font("Segoe UI", 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.openToolStripMenuItem.Name = "openToolStripMenuItem"; - this.openToolStripMenuItem.Size = new System.Drawing.Size(137, 22); - this.openToolStripMenuItem.Text = "Open"; - this.openToolStripMenuItem.Click += new System.EventHandler(this.openToolStripMenuItem_Click); - // - // openFolderToolStripMenuItem - // - this.openFolderToolStripMenuItem.Name = "openFolderToolStripMenuItem"; - this.openFolderToolStripMenuItem.Size = new System.Drawing.Size(137, 22); - this.openFolderToolStripMenuItem.Text = "Open folder"; - this.openFolderToolStripMenuItem.Click += new System.EventHandler(this.openFolderToolStripMenuItem_Click); - // - // toolStripSeparator7 + // statusStrip1 // - this.toolStripSeparator7.Name = "toolStripSeparator7"; - this.toolStripSeparator7.Size = new System.Drawing.Size(134, 6); + this.statusStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.toolStripStatusLabelGame, + this.toolStripStatusLabelGameText, + this.toolStripStatusLabelEdition, + this.toolStripStatusLabelEditionText, + this.toolStripStatusLabel1, + this.toolStripStatusLabelNuclearWinterModeActive}); + this.statusStrip1.Location = new System.Drawing.Point(0, 559); + this.statusStrip1.Name = "statusStrip1"; + this.statusStrip1.Size = new System.Drawing.Size(884, 22); + this.statusStrip1.TabIndex = 16; + this.statusStrip1.Text = "statusStrip1"; // - // cutToolStripMenuItem + // toolStripStatusLabelGame // - this.cutToolStripMenuItem.Name = "cutToolStripMenuItem"; - this.cutToolStripMenuItem.Size = new System.Drawing.Size(137, 22); - this.cutToolStripMenuItem.Text = "Cut"; - this.cutToolStripMenuItem.Click += new System.EventHandler(this.cutToolStripMenuItem_Click); + this.toolStripStatusLabelGame.Font = new System.Drawing.Font("Segoe UI", 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.toolStripStatusLabelGame.Margin = new System.Windows.Forms.Padding(10, 3, 0, 2); + this.toolStripStatusLabelGame.Name = "toolStripStatusLabelGame"; + this.toolStripStatusLabelGame.Size = new System.Drawing.Size(83, 17); + this.toolStripStatusLabelGame.Text = "Game profile:"; // - // copyToolStripMenuItem + // toolStripStatusLabelGameText // - this.copyToolStripMenuItem.Name = "copyToolStripMenuItem"; - this.copyToolStripMenuItem.Size = new System.Drawing.Size(137, 22); - this.copyToolStripMenuItem.Text = "Copy"; - this.copyToolStripMenuItem.Click += new System.EventHandler(this.copyToolStripMenuItem_Click); + this.toolStripStatusLabelGameText.Name = "toolStripStatusLabelGameText"; + this.toolStripStatusLabelGameText.Size = new System.Drawing.Size(12, 17); + this.toolStripStatusLabelGameText.Text = "?"; // - // toolStripSeparator8 + // toolStripStatusLabelEdition // - this.toolStripSeparator8.Name = "toolStripSeparator8"; - this.toolStripSeparator8.Size = new System.Drawing.Size(134, 6); + this.toolStripStatusLabelEdition.Font = new System.Drawing.Font("Segoe UI", 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.toolStripStatusLabelEdition.Margin = new System.Windows.Forms.Padding(30, 3, 0, 2); + this.toolStripStatusLabelEdition.Name = "toolStripStatusLabelEdition"; + this.toolStripStatusLabelEdition.Size = new System.Drawing.Size(48, 17); + this.toolStripStatusLabelEdition.Text = "Edition:"; // - // deleteToolStripMenuItem + // toolStripStatusLabelEditionText // - this.deleteToolStripMenuItem.Name = "deleteToolStripMenuItem"; - this.deleteToolStripMenuItem.Size = new System.Drawing.Size(137, 22); - this.deleteToolStripMenuItem.Text = "Delete"; - this.deleteToolStripMenuItem.Click += new System.EventHandler(this.deleteToolStripMenuItem_Click); + this.toolStripStatusLabelEditionText.Name = "toolStripStatusLabelEditionText"; + this.toolStripStatusLabelEditionText.Size = new System.Drawing.Size(12, 17); + this.toolStripStatusLabelEditionText.Text = "?"; // - // backgroundWorkerEnableNWMode + // toolStripStatusLabel1 // - this.backgroundWorkerEnableNWMode.DoWork += new System.ComponentModel.DoWorkEventHandler(this.backgroundWorkerEnableNWMode_DoWork); + this.toolStripStatusLabel1.Name = "toolStripStatusLabel1"; + this.toolStripStatusLabel1.Size = new System.Drawing.Size(499, 17); + this.toolStripStatusLabel1.Spring = true; // - // backgroundWorkerDisableNWMode + // toolStripStatusLabelNuclearWinterModeActive // - this.backgroundWorkerDisableNWMode.DoWork += new System.ComponentModel.DoWorkEventHandler(this.backgroundWorkerDisableNWMode_DoWork); + this.toolStripStatusLabelNuclearWinterModeActive.Font = new System.Drawing.Font("Segoe UI", 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.toolStripStatusLabelNuclearWinterModeActive.ForeColor = System.Drawing.Color.OrangeRed; + this.toolStripStatusLabelNuclearWinterModeActive.Name = "toolStripStatusLabelNuclearWinterModeActive"; + this.toolStripStatusLabelNuclearWinterModeActive.Size = new System.Drawing.Size(175, 17); + this.toolStripStatusLabelNuclearWinterModeActive.Text = "Nuclear Winter mode is active"; // // pictureBoxLoadingGIF // @@ -5346,7 +5602,7 @@ private void InitializeComponent() this.pictureBoxLoadingGIF.Image = global::Fo76ini.Properties.Resources.Spinner_200; this.pictureBoxLoadingGIF.Location = new System.Drawing.Point(0, 0); this.pictureBoxLoadingGIF.Name = "pictureBoxLoadingGIF"; - this.pictureBoxLoadingGIF.Size = new System.Drawing.Size(16, 563); + this.pictureBoxLoadingGIF.Size = new System.Drawing.Size(16, 583); this.pictureBoxLoadingGIF.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage; this.pictureBoxLoadingGIF.TabIndex = 15; this.pictureBoxLoadingGIF.TabStop = false; @@ -5356,14 +5612,16 @@ private void InitializeComponent() // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; - this.ClientSize = new System.Drawing.Size(884, 561); + this.ClientSize = new System.Drawing.Size(884, 581); + this.Controls.Add(this.statusStrip1); this.Controls.Add(this.pictureBoxLoadingGIF); this.Controls.Add(this.toolStrip1); this.Controls.Add(this.tabControl1); this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); this.KeyPreview = true; - this.MinimumSize = new System.Drawing.Size(900, 600); + this.MinimumSize = new System.Drawing.Size(900, 620); this.Name = "Form1"; + this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen; this.Text = "Fallout 76 Quick Configuration"; this.Load += new System.EventHandler(this.Form1_Load); ((System.ComponentModel.ISupportInitialize)(this.numPipboyTargetWidth)).EndInit(); @@ -5392,6 +5650,45 @@ private void InitializeComponent() ((System.ComponentModel.ISupportInitialize)(this.sliderHUDOpacity)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.sliderfBlendSplitDirShadow)).EndInit(); this.tabPageCamera.ResumeLayout(false); + this.panel2.ResumeLayout(false); + this.groupBoxCameraPosition.ResumeLayout(false); + this.groupBoxCameraPosition.PerformLayout(); + this.groupBox3.ResumeLayout(false); + this.groupBox3.PerformLayout(); + ((System.ComponentModel.ISupportInitialize)(this.numfOverShoulderMeleeCombatAddY)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.numfOverShoulderMeleeCombatPosX)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.numfOverShoulderMeleeCombatPosZ)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.trackBarfOverShoulderMeleeCombatAddY)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.trackBarfOverShoulderMeleeCombatPosX)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.trackBarfOverShoulderMeleeCombatPosZ)).EndInit(); + this.groupBox2.ResumeLayout(false); + this.groupBox2.PerformLayout(); + ((System.ComponentModel.ISupportInitialize)(this.numfOverShoulderCombatAddY)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.numfOverShoulderCombatPosX)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.numfOverShoulderCombatPosZ)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.trackBarfOverShoulderCombatAddY)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.trackBarfOverShoulderCombatPosX)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.trackBarfOverShoulderCombatPosZ)).EndInit(); + this.groupBoxUnarmedCameraPosition.ResumeLayout(false); + this.groupBoxUnarmedCameraPosition.PerformLayout(); + ((System.ComponentModel.ISupportInitialize)(this.numfOverShoulderPosX)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.numfOverShoulderPosZ)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.trackBarfOverShoulderPosX)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.trackBarfOverShoulderPosZ)).EndInit(); + this.groupBoxSelfieCamera.ResumeLayout(false); + this.groupBoxSelfieCamera.PerformLayout(); + ((System.ComponentModel.ISupportInitialize)(this.trackBarPhotomodeRange)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.numericUpDownPhotomodeRotationSpeed)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.trackBarPhotomodeRotationSpeed)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.numericUpDownPhotomodeRange)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.numericUpDownPhotomodeTranslationSpeed)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.trackBarPhotomodeTranslationSpeed)).EndInit(); + this.groupBoxFieldOfView.ResumeLayout(false); + this.groupBoxFieldOfView.PerformLayout(); + ((System.ComponentModel.ISupportInitialize)(this.numfDefaultFOV)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.numADSFOV)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.numWorldFOV)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.numFirstPersonFOV)).EndInit(); this.groupBoxCameraOptions.ResumeLayout(false); this.groupBoxCameraOptions.PerformLayout(); ((System.ComponentModel.ISupportInitialize)(this.numCameraSwitchDelay)).EndInit(); @@ -5403,30 +5700,25 @@ private void InitializeComponent() ((System.ComponentModel.ISupportInitialize)(this.numCameraDistanceMinimum)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.sliderCameraDistanceMaximum)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.sliderCameraDistanceMinimum)).EndInit(); - this.groupBoxCameraPositionWIP.ResumeLayout(false); - this.groupBoxCameraPositionWIP.PerformLayout(); - ((System.ComponentModel.ISupportInitialize)(this.trackBarCameraX)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.trackBarCameraZ)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.trackBarCameraY)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.pictureBoxVaultBoy)).EndInit(); - this.groupBoxFieldOfView.ResumeLayout(false); - this.groupBoxFieldOfView.PerformLayout(); - ((System.ComponentModel.ISupportInitialize)(this.numfDefaultFOV)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.numADSFOV)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.numWorldFOV)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.numFirstPersonFOV)).EndInit(); - this.groupBoxCameraVanity.ResumeLayout(false); - this.groupBoxCameraVanity.PerformLayout(); this.tabPagePipBoy.ResumeLayout(false); + this.groupBoxPipboyColorPresets.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.colorPreviewPresetFo76Green)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.colorPreviewPresetFo3Green)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.colorPreviewPresetFo3White)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.colorPreviewPresetFoNVAmber)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.colorPreviewPresetFo3Blue)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.colorPreviewPresetFo4Green)).EndInit(); + this.groupBoxPipboyColorPreview.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.pictureBoxPipboyPreview)).EndInit(); this.groupBoxPipboyResolution.ResumeLayout(false); this.groupBoxPipboyResolution.PerformLayout(); this.groupBoxPipboyMode.ResumeLayout(false); this.groupBoxPipboyMode.PerformLayout(); this.groupBoxPipboyColors.ResumeLayout(false); this.groupBoxPipboyColors.PerformLayout(); + ((System.ComponentModel.ISupportInitialize)(this.colorPreviewQuickboy)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.colorPreviewPAPipboy)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.colorPreviewPipboy)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.colorPreviewQuickboy)).EndInit(); this.tabPageControls.ResumeLayout(false); this.groupBoxGamepad.ResumeLayout(false); this.groupBoxGamepad.PerformLayout(); @@ -5437,6 +5729,8 @@ private void InitializeComponent() this.panel3.ResumeLayout(false); this.groupBoxGraphics.ResumeLayout(false); this.groupBoxGraphics.PerformLayout(); + this.groupBoxGraphicEffects.ResumeLayout(false); + this.groupBoxGraphicEffects.PerformLayout(); this.groupBoxTAASharpening.ResumeLayout(false); this.groupBoxTAASharpening.PerformLayout(); ((System.ComponentModel.ISupportInitialize)(this.numTAAPostSharpen)).EndInit(); @@ -5453,7 +5747,6 @@ private void InitializeComponent() this.groupBoxLighting.PerformLayout(); this.groupBoxShadows.ResumeLayout(false); this.groupBoxShadows.PerformLayout(); - ((System.ComponentModel.ISupportInitialize)(this.numfBlendSplitDirShadow)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.numShadowDistance)).EndInit(); this.groupBoxWater.ResumeLayout(false); this.groupBoxWater.PerformLayout(); @@ -5475,32 +5768,15 @@ private void InitializeComponent() this.groupBoxMainMenu.PerformLayout(); this.groupBoxLogin.ResumeLayout(false); this.groupBoxLogin.PerformLayout(); + this.groupBoxLoginProfiles.ResumeLayout(false); + this.groupBoxLoginProfiles.PerformLayout(); this.tabPageInfo.ResumeLayout(false); this.tabPageInfo.PerformLayout(); + this.groupBoxSettings.ResumeLayout(false); this.panelUpdate.ResumeLayout(false); this.panelUpdate.PerformLayout(); ((System.ComponentModel.ISupportInitialize)(this.pictureBoxUpdateButton)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.pictureBoxSpinnerCheckForUpdates)).EndInit(); - this.panel1.ResumeLayout(false); - this.groupBoxNuclearWinterMode.ResumeLayout(false); - this.groupBoxNuclearWinterMode.PerformLayout(); - this.groupBoxLocalization.ResumeLayout(false); - this.groupBoxLocalization.PerformLayout(); - ((System.ComponentModel.ISupportInitialize)(this.pictureBoxSpinnerDownloadLanguages)).EndInit(); - this.groupBoxGameEdition.ResumeLayout(false); - this.groupBoxGameEdition.PerformLayout(); - ((System.ComponentModel.ISupportInitialize)(this.pictureBoxMSStore)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.pictureBoxSteam)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.pictureBoxBethesdaNetPTS)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.pictureBoxBethesdaNet)).EndInit(); - this.groupBoxLaunchOptions.ResumeLayout(false); - this.groupBoxLaunchOptions.PerformLayout(); - this.groupBoxGamePaths.ResumeLayout(false); - this.groupBoxGamePaths.PerformLayout(); - this.groupBoxOptions.ResumeLayout(false); - this.groupBoxOptions.PerformLayout(); - this.groupBoxBehavior.ResumeLayout(false); - this.groupBoxBehavior.PerformLayout(); ((System.ComponentModel.ISupportInitialize)(this.pictureBoxGameEdition)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.pictureBox2)).EndInit(); @@ -5533,9 +5809,18 @@ private void InitializeComponent() ((System.ComponentModel.ISupportInitialize)(this.numScreenshotIndex)).EndInit(); this.tabPageCustom.ResumeLayout(false); this.tabPageCustom.PerformLayout(); + this.tabPageDangerZone.ResumeLayout(false); + this.groupBoxVideoDZ.ResumeLayout(false); + this.groupBoxShadows2.ResumeLayout(false); + this.groupBoxShadows2.PerformLayout(); + ((System.ComponentModel.ISupportInitialize)(this.numfBlendSplitDirShadow)).EndInit(); + this.groupBox4.ResumeLayout(false); + this.groupBox4.PerformLayout(); + this.contextMenuStripGallery.ResumeLayout(false); this.toolStrip1.ResumeLayout(false); this.toolStrip1.PerformLayout(); - this.contextMenuStripGallery.ResumeLayout(false); + this.statusStrip1.ResumeLayout(false); + this.statusStrip1.PerformLayout(); ((System.ComponentModel.ISupportInitialize)(this.pictureBoxLoadingGIF)).EndInit(); this.ResumeLayout(false); this.PerformLayout(); @@ -5548,24 +5833,9 @@ private void InitializeComponent() private System.Windows.Forms.Timer timerCheckFiles; private System.Windows.Forms.OpenFileDialog openFileDialogGamePath; private System.Windows.Forms.TabPage tabPageCamera; - private System.Windows.Forms.GroupBox groupBoxCameraPositionWIP; + private System.Windows.Forms.GroupBox groupBoxCameraPosition; private System.Windows.Forms.Button buttonCameraPositionReset; - private System.Windows.Forms.Label labelCameraPositionPlayer; - private System.Windows.Forms.Label labelCameraPositionFor; private System.Windows.Forms.CheckBox checkBoxbApplyCameraNodeAnimations; - private System.Windows.Forms.RadioButton radioButtonCameraPositionMeleeCombat; - private System.Windows.Forms.RadioButton radioButtonCameraPositionCombat; - private System.Windows.Forms.RadioButton radioButtonCameraPositionUnarmed; - private System.Windows.Forms.Label labelCameraFurther; - private System.Windows.Forms.Label labelCameraCloser; - private System.Windows.Forms.Label labelCameraUp; - private System.Windows.Forms.Label labelCameraDown; - private System.Windows.Forms.Label labelCameraRight; - private System.Windows.Forms.Label labelCameraLeft; - private System.Windows.Forms.TrackBar trackBarCameraX; - private System.Windows.Forms.TrackBar trackBarCameraZ; - private System.Windows.Forms.TrackBar trackBarCameraY; - private System.Windows.Forms.PictureBox pictureBoxVaultBoy; private System.Windows.Forms.GroupBox groupBoxFieldOfView; private System.Windows.Forms.Label labelADSFOV; private System.Windows.Forms.NumericUpDown numADSFOV; @@ -5573,7 +5843,6 @@ private void InitializeComponent() private System.Windows.Forms.NumericUpDown numFirstPersonFOV; private System.Windows.Forms.Label labelWorldFOV; private System.Windows.Forms.Label labelFirstPersonFOV; - private System.Windows.Forms.GroupBox groupBoxCameraVanity; private System.Windows.Forms.CheckBox checkBoxForceVanityMode; private System.Windows.Forms.CheckBox checkBoxVanityMode; private System.Windows.Forms.TabPage tabPagePipBoy; @@ -5588,13 +5857,10 @@ private void InitializeComponent() private System.Windows.Forms.RadioButton radioButtonQuickboy; private System.Windows.Forms.RadioButton radioButtonPipboy; private System.Windows.Forms.GroupBox groupBoxPipboyColors; - private System.Windows.Forms.PictureBox colorPreviewPAPipboy; - private System.Windows.Forms.Label label1; + private System.Windows.Forms.Label labelPowerArmorColor; private System.Windows.Forms.Button buttonColorPickPAPipboy; private System.Windows.Forms.Button buttonColorResetPipboy; private System.Windows.Forms.Button buttonColorResetPAPipboy; - private System.Windows.Forms.PictureBox colorPreviewPipboy; - private System.Windows.Forms.PictureBox colorPreviewQuickboy; private System.Windows.Forms.Label labelQuickboyColor; private System.Windows.Forms.Button buttonColorPickQuickboy; private System.Windows.Forms.Button buttonColorResetQuickboy; @@ -5651,7 +5917,6 @@ private void InitializeComponent() private System.Windows.Forms.CheckBox checkBoxFixHUDFor5_4and4_3; private System.Windows.Forms.ComboBox comboBoxResolution; private System.Windows.Forms.Button buttonDetectResolution; - private System.Windows.Forms.Label labelCustomResolution; private System.Windows.Forms.CheckBox checkBoxAlwaysActive; private System.Windows.Forms.Label labelResolution; private System.Windows.Forms.CheckBox checkBoxTopMostWindow; @@ -5664,52 +5929,10 @@ private void InitializeComponent() private System.Windows.Forms.CheckBox checkBoxShowCompass; private System.Windows.Forms.CheckBox checkBoxShowDamageNumbersNW; private System.Windows.Forms.CheckBox checkBoxShowDamageNumbersA; - private System.Windows.Forms.GroupBox groupBoxLogin; - private System.Windows.Forms.CheckBox checkBoxDisableSteam; - private System.Windows.Forms.Label labelCredentialsExplanation; - private System.Windows.Forms.TextBox textBoxPassword; - private System.Windows.Forms.TextBox textBoxUserName; - private System.Windows.Forms.CheckBox checkBoxShowPassword; - private System.Windows.Forms.Label labelPassword; - private System.Windows.Forms.Label labelUserName; private System.Windows.Forms.GroupBox groupBoxMainMenu; - private System.Windows.Forms.CheckBox checkBoxShowSplash; + private System.Windows.Forms.CheckBox checkBoxSkipSplash; private System.Windows.Forms.CheckBox checkBoxIntroVideos; private System.Windows.Forms.TabPage tabPageInfo; - private System.Windows.Forms.Panel panel1; - private System.Windows.Forms.GroupBox groupBoxLocalization; - public System.Windows.Forms.Label labelOutdatedLanguage; - private System.Windows.Forms.Label labelLanguage; - private System.Windows.Forms.Button buttonDownloadLanguages; - private System.Windows.Forms.ComboBox comboBoxLanguage; - private System.Windows.Forms.GroupBox groupBoxGameEdition; - private System.Windows.Forms.PictureBox pictureBoxMSStore; - private System.Windows.Forms.PictureBox pictureBoxSteam; - private System.Windows.Forms.PictureBox pictureBoxBethesdaNetPTS; - private System.Windows.Forms.PictureBox pictureBoxBethesdaNet; - private System.Windows.Forms.RadioButton radioButtonEditionMSStore; - private System.Windows.Forms.RadioButton radioButtonEditionBethesdaNetPTS; - private System.Windows.Forms.RadioButton radioButtonEditionSteam; - private System.Windows.Forms.RadioButton radioButtonEditionBethesdaNet; - private System.Windows.Forms.GroupBox groupBoxLaunchOptions; - private System.Windows.Forms.Label labelLaunchOptionMSStoreNotice; - private System.Windows.Forms.Label labelLaunchOptionTip; - private System.Windows.Forms.RadioButton radioButtonLaunchViaExecutable; - private System.Windows.Forms.RadioButton radioButtonLaunchViaLink; - private System.Windows.Forms.GroupBox groupBoxGamePaths; - private System.Windows.Forms.Label labelGamePath; - private System.Windows.Forms.TextBox textBoxGamePath; - private System.Windows.Forms.Button buttonPickGamePath; - private System.Windows.Forms.GroupBox groupBoxOptions; - private System.Windows.Forms.CheckBox checkBoxDenyNTFSWritePermission; - private System.Windows.Forms.CheckBox checkBoxMultipleGameEditionsUsed; - private System.Windows.Forms.CheckBox checkBoxReadOnly; - private System.Windows.Forms.GroupBox groupBoxBehavior; - private System.Windows.Forms.CheckBox checkBoxIgnoreUpdates; - private System.Windows.Forms.CheckBox checkBoxOpenManageModsOnLaunch; - private System.Windows.Forms.CheckBox checkBoxQuitOnGameLaunch; - private System.Windows.Forms.CheckBox checkBoxSkipBackupQuestion; - private System.Windows.Forms.CheckBox checkBoxAutoApply; private System.Windows.Forms.Label labelGameEdition; private System.Windows.Forms.PictureBox pictureBoxGameEdition; private System.Windows.Forms.Label labelNewVersion; @@ -5726,7 +5949,6 @@ private void InitializeComponent() private System.Windows.Forms.Label labelTitle; private System.Windows.Forms.TabControl tabControl1; private System.Windows.Forms.TabPage tabPageAudio; - private System.Windows.Forms.Button buttonCameraPositionCenter; private System.Windows.Forms.GroupBox groupBoxGamepad; private System.Windows.Forms.CheckBox checkBoxGamepadEnabled; private System.Windows.Forms.CheckBox checkBoxGamepadRumble; @@ -5736,25 +5958,6 @@ private void InitializeComponent() private System.Windows.Forms.NumericUpDown numMouseSensitivity; private System.Windows.Forms.Label labelMouseSensitivity; private System.Windows.Forms.CheckBox checkBoxFixMouseSensitivity; - private System.Windows.Forms.ToolStrip toolStrip1; - private System.Windows.Forms.ToolStripButton toolStripButtonApply; - private System.Windows.Forms.ToolStripSeparator toolStripSeparator1; - private System.Windows.Forms.ToolStripButton toolStripButtonManageMods; - private System.Windows.Forms.ToolStripSeparator toolStripSeparator2; - private System.Windows.Forms.ToolStripSeparator toolStripSeparator3; - private System.Windows.Forms.ToolStripButton toolStripButtonNexusMods; - private System.Windows.Forms.ToolStripDropDownButton toolStripDropDownButtonExplore; - private System.Windows.Forms.ToolStripMenuItem gameFolderToolStripMenuItem; - private System.Windows.Forms.ToolStripMenuItem gamesConfigurationFolderToolStripMenuItem; - private System.Windows.Forms.ToolStripSeparator toolStripSeparator4; - private System.Windows.Forms.ToolStripMenuItem toolConfigurationFolderToolStripMenuItem; - private System.Windows.Forms.ToolStripMenuItem toolLanguagesFolderToolStripMenuItem; - private System.Windows.Forms.ToolStripMenuItem toolInstallationFolderToolStripMenuItem; - private System.Windows.Forms.ToolStripSplitButton toolStripSplitButtonUpdate; - private System.Windows.Forms.ToolStripMenuItem downloadUpdateLanguageFilesToolStripMenuItem; - private System.Windows.Forms.ToolStripMenuItem checkForUpdatesToolStripMenuItem; - private System.Windows.Forms.ToolStripMenuItem updateToolToolStripMenuItem; - private System.Windows.Forms.ToolStripMenuItem showUpdaterlogtxtToolStripMenuItem; private System.Windows.Forms.TabPage tabPageCustom; private System.Windows.Forms.TextBox textBoxCustom; private System.Windows.Forms.ComboBox comboBoxCustomFile; @@ -5843,13 +6046,6 @@ private void InitializeComponent() private System.Windows.Forms.TrackBar sliderGalleryThumbnailSize; private System.Windows.Forms.Label labelGalleryThumbnailSize; private System.Windows.Forms.Label labelGalleryTip; - private System.Windows.Forms.ToolStripSeparator toolStripSeparator5; - private System.Windows.Forms.ToolStripMenuItem editFallout76iniToolStripMenuItem; - private System.Windows.Forms.ToolStripMenuItem editFallout76PrefsiniToolStripMenuItem; - private System.Windows.Forms.ToolStripMenuItem editFallout76CustominiToolStripMenuItem; - private System.Windows.Forms.ToolStripMenuItem steamScreenshotFolderToolStripMenuItem; - private System.Windows.Forms.ToolStripMenuItem gamePhotosFolderToolStripMenuItem; - private System.Windows.Forms.ToolStripSeparator toolStripSeparator6; private System.Windows.Forms.PictureBox pictureBoxGalleryLoadingGIF; private System.Windows.Forms.GroupBox groupBoxCameraDistance; private System.Windows.Forms.TrackBar sliderCameraDistanceMaximum; @@ -5868,31 +6064,11 @@ private void InitializeComponent() private System.Windows.Forms.NumericUpDown numfDefaultFOV; private System.Windows.Forms.Label labelfDefaultFOV; private System.Windows.Forms.Panel panel4; - private System.Windows.Forms.Label labelAccountProfiles; - private System.Windows.Forms.RadioButton radioButtonAccount4; - private System.Windows.Forms.RadioButton radioButtonAccount3; - private System.Windows.Forms.RadioButton radioButtonAccount2; - private System.Windows.Forms.RadioButton radioButtonAccount1; - private System.Windows.Forms.RadioButton radioButtonAccount8; - private System.Windows.Forms.RadioButton radioButtonAccount7; - private System.Windows.Forms.RadioButton radioButtonAccount6; - private System.Windows.Forms.RadioButton radioButtonAccount5; private System.Windows.Forms.Panel panel3; - private System.Windows.Forms.ComboBox comboBoxiDirShadowSplits; - private System.Windows.Forms.Label label2; - private System.Windows.Forms.TrackBar sliderfBlendSplitDirShadow; - private System.Windows.Forms.NumericUpDown numfBlendSplitDirShadow; - private System.Windows.Forms.Label labelfBlendSplitDirShadow; private System.ComponentModel.BackgroundWorker backgroundWorkerGetLatestVersion; private System.Windows.Forms.PictureBox pictureBoxSpinnerCheckForUpdates; private System.Windows.Forms.PictureBox pictureBoxUpdateButton; private System.Windows.Forms.Panel panelUpdate; - private System.ComponentModel.BackgroundWorker backgroundWorkerDownloadLanguages; - private System.Windows.Forms.PictureBox pictureBoxSpinnerDownloadLanguages; - private System.Windows.Forms.ToolStripSplitButton toolStripSplitButtonLaunchGame; - private System.Windows.Forms.ToolStripMenuItem launchViaSteamToolStripMenuItem; - private System.Windows.Forms.ToolStripMenuItem launchViaBethesdanetToolStripMenuItem; - private System.Windows.Forms.ToolStripMenuItem launchViaBethesdanetPTSToolStripMenuItem; private System.Windows.Forms.ContextMenuStrip contextMenuStripGallery; private System.Windows.Forms.ToolStripMenuItem openToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem copyToolStripMenuItem; @@ -5901,30 +6077,147 @@ private void InitializeComponent() private System.Windows.Forms.ToolStripSeparator toolStripSeparator8; private System.Windows.Forms.ToolStripMenuItem deleteToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem openFolderToolStripMenuItem; - private System.Windows.Forms.Button buttonRefreshLanguage; - private System.Windows.Forms.CheckBox checkBoxAlternativeINIMode; private System.Windows.Forms.TextBox textBoxGalleryPaths; private System.Windows.Forms.Label label3; private System.Windows.Forms.CheckBox checkBoxGallerySearchRecursively; private System.Windows.Forms.Button buttonGalleryDeleteThumbnails; - private System.Windows.Forms.ToolStripButton toolStripButtonToggleNuclearWinterMode; - private System.Windows.Forms.GroupBox groupBoxNuclearWinterMode; - private System.Windows.Forms.CheckBox checkBoxNWAutoDeployMods; - private System.Windows.Forms.Label labelNWmodoptions; - private System.Windows.Forms.Label labelNWdlloptions; - private System.Windows.Forms.Label labelNWinioptions; - private System.Windows.Forms.RadioButton radioButtonNWRemoveLists; - private System.Windows.Forms.RadioButton radioButtonNWRenameINI; - private System.Windows.Forms.CheckBox checkBoxNWAutoDisableMods; - private System.Windows.Forms.CheckBox checkBoxNWRenameDLL; - private System.ComponentModel.BackgroundWorker backgroundWorkerEnableNWMode; - private System.ComponentModel.BackgroundWorker backgroundWorkerDisableNWMode; private System.Windows.Forms.Label labelNWModeActive; private System.Windows.Forms.PictureBox pictureBoxLoadingGIF; private System.Windows.Forms.LinkLabel linkLabelAttribution; - private System.Windows.Forms.CheckBox checkBoxPlayNotificationSound; - private System.Windows.Forms.CheckBox checkBoxAutoSignin; private System.Windows.Forms.LinkLabel linkLabelWhatsNew; + private System.Windows.Forms.GroupBox groupBoxGraphicEffects; + private System.Windows.Forms.CheckBox checkBoxDisableGore; + private System.Windows.Forms.Panel panel2; + private System.Windows.Forms.GroupBox groupBoxSelfieCamera; + private System.Windows.Forms.NumericUpDown numericUpDownPhotomodeTranslationSpeed; + private System.Windows.Forms.TrackBar trackBarPhotomodeTranslationSpeed; + private System.Windows.Forms.Label labelPhotomodeTranslationSpeed; + private System.Windows.Forms.NumericUpDown numericUpDownPhotomodeRange; + private System.Windows.Forms.TrackBar trackBarPhotomodeRange; + private System.Windows.Forms.Label labelPhotomodeRange; + private System.Windows.Forms.NumericUpDown numericUpDownPhotomodeRotationSpeed; + private System.Windows.Forms.TrackBar trackBarPhotomodeRotationSpeed; + private System.Windows.Forms.Label labelPhotomodeRotationSpeed; + private Forms.Form1.ColorPreview colorPreviewPipboy; + private Forms.Form1.ColorPreview colorPreviewQuickboy; + private Forms.Form1.ColorPreview colorPreviewPAPipboy; + private System.Windows.Forms.ToolStripButton toolStripButtonApply; + private System.Windows.Forms.ToolStripButton toolStripButtonToggleNuclearWinterMode; + private System.Windows.Forms.ToolStripSeparator toolStripSeparator3; + private System.Windows.Forms.ToolStripButton toolStripButtonManageMods; + private System.Windows.Forms.ToolStripSeparator toolStripSeparator9; + private System.Windows.Forms.ToolStripButton toolStripButtonSettings; + private System.Windows.Forms.ToolStripSplitButton toolStripSplitButtonUpdate; + private System.Windows.Forms.ToolStripMenuItem updateToolToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem checkForUpdatesToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem showUpdaterlogtxtToolStripMenuItem; + private System.Windows.Forms.ToolStripDropDownButton toolStripDropDownButtonExplore; + private System.Windows.Forms.ToolStripMenuItem gameFolderToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem gamesConfigurationFolderToolStripMenuItem; + private System.Windows.Forms.ToolStripSeparator toolStripSeparator4; + private System.Windows.Forms.ToolStripMenuItem toolConfigurationFolderToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem toolLanguagesFolderToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem toolInstallationFolderToolStripMenuItem; + private System.Windows.Forms.ToolStripSeparator toolStripSeparator5; + private System.Windows.Forms.ToolStripMenuItem steamScreenshotFolderToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem gamePhotosFolderToolStripMenuItem; + private System.Windows.Forms.ToolStripSeparator toolStripSeparator6; + private System.Windows.Forms.ToolStripMenuItem editFallout76iniToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem editFallout76PrefsiniToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem editFallout76CustominiToolStripMenuItem; + private System.Windows.Forms.ToolStrip toolStrip1; + private System.Windows.Forms.Label labelCustomResolution; + private System.Windows.Forms.StatusStrip statusStrip1; + private System.Windows.Forms.ToolStripStatusLabel toolStripStatusLabelGame; + private System.Windows.Forms.ToolStripStatusLabel toolStripStatusLabelGameText; + private System.Windows.Forms.ToolStripStatusLabel toolStripStatusLabelEdition; + private System.Windows.Forms.ToolStripStatusLabel toolStripStatusLabelEditionText; + private System.Windows.Forms.GroupBox groupBoxPipboyColorPreview; + private System.Windows.Forms.PictureBox pictureBoxPipboyPreview; + private System.Windows.Forms.Label labelPipboyColorPreviewNotice; + private Forms.Form1.ColorPreview colorPreviewPresetFo3Green; + private System.Windows.Forms.Button buttonPresetFo3Green; + private Forms.Form1.ColorPreview colorPreviewPresetFo76Green; + private Forms.Form1.ColorPreview colorPreviewPresetFo3White; + private System.Windows.Forms.Button buttonPresetFo3White; + private System.Windows.Forms.Button buttonPresetFo76Green; + private Forms.Form1.ColorPreview colorPreviewPresetFo3Blue; + private Forms.Form1.ColorPreview colorPreviewPresetFo4Green; + private System.Windows.Forms.Button buttonPresetFo3Blue; + private System.Windows.Forms.Button buttonPresetFo4Green; + private Forms.Form1.ColorPreview colorPreviewPresetFoNVAmber; + private System.Windows.Forms.Button buttonPresetFoNVAmber; + private System.Windows.Forms.GroupBox groupBoxPipboyColorPresets; + private System.Windows.Forms.GroupBox groupBoxUnarmedCameraPosition; + private System.Windows.Forms.GroupBox groupBox2; + private System.Windows.Forms.Label labelfOverShoulderCombatAddY; + private System.Windows.Forms.TrackBar trackBarfOverShoulderCombatAddY; + private System.Windows.Forms.Label labelfOverShoulderCombatPosX; + private System.Windows.Forms.TrackBar trackBarfOverShoulderCombatPosX; + private System.Windows.Forms.Label labelfOverShoulderCombatPosZ; + private System.Windows.Forms.TrackBar trackBarfOverShoulderCombatPosZ; + private System.Windows.Forms.Label labelfOverShoulderPosX; + private System.Windows.Forms.TrackBar trackBarfOverShoulderPosX; + private System.Windows.Forms.Label labelfOverShoulderPosZ; + private System.Windows.Forms.TrackBar trackBarfOverShoulderPosZ; + private System.Windows.Forms.GroupBox groupBox3; + private System.Windows.Forms.Label labelfOverShoulderMeleeCombatAddY; + private System.Windows.Forms.TrackBar trackBarfOverShoulderMeleeCombatAddY; + private System.Windows.Forms.Label labelfOverShoulderMeleeCombatPosX; + private System.Windows.Forms.TrackBar trackBarfOverShoulderMeleeCombatPosX; + private System.Windows.Forms.Label labelfOverShoulderMeleeCombatPosZ; + private System.Windows.Forms.TrackBar trackBarfOverShoulderMeleeCombatPosZ; + private System.Windows.Forms.NumericUpDown numfOverShoulderMeleeCombatAddY; + private System.Windows.Forms.NumericUpDown numfOverShoulderMeleeCombatPosX; + private System.Windows.Forms.NumericUpDown numfOverShoulderMeleeCombatPosZ; + private System.Windows.Forms.NumericUpDown numfOverShoulderCombatAddY; + private System.Windows.Forms.NumericUpDown numfOverShoulderCombatPosX; + private System.Windows.Forms.NumericUpDown numfOverShoulderCombatPosZ; + private System.Windows.Forms.NumericUpDown numfOverShoulderPosX; + private System.Windows.Forms.NumericUpDown numfOverShoulderPosZ; + private System.Windows.Forms.GroupBox groupBoxSettings; + private System.Windows.Forms.LinkLabel linkLabelOpenSettings; + private System.Windows.Forms.Label labelSettingsNotice; + private System.Windows.Forms.ToolStripButton toolStripButtonLaunchGame; + private System.Windows.Forms.ToolStripStatusLabel toolStripStatusLabelNuclearWinterModeActive; + private System.Windows.Forms.ToolStripStatusLabel toolStripStatusLabel1; + private System.Windows.Forms.GroupBox groupBoxLogin; + private System.Windows.Forms.GroupBox groupBoxLoginProfiles; + private System.Windows.Forms.RadioButton radioButtonAccount1; + private System.Windows.Forms.RadioButton radioButtonAccount16; + private System.Windows.Forms.RadioButton radioButtonAccount2; + private System.Windows.Forms.RadioButton radioButtonAccount15; + private System.Windows.Forms.RadioButton radioButtonAccount3; + private System.Windows.Forms.RadioButton radioButtonAccount14; + private System.Windows.Forms.RadioButton radioButtonAccount4; + private System.Windows.Forms.RadioButton radioButtonAccount13; + private System.Windows.Forms.RadioButton radioButtonAccount5; + private System.Windows.Forms.RadioButton radioButtonAccount12; + private System.Windows.Forms.RadioButton radioButtonAccount6; + private System.Windows.Forms.RadioButton radioButtonAccount11; + private System.Windows.Forms.RadioButton radioButtonAccount7; + private System.Windows.Forms.RadioButton radioButtonAccount10; + private System.Windows.Forms.RadioButton radioButtonAccount8; + private System.Windows.Forms.RadioButton radioButtonAccount9; + private System.Windows.Forms.CheckBox checkBoxAutoSignin; + private System.Windows.Forms.CheckBox checkBoxEnableSteam; + private System.Windows.Forms.Label labelCredentialsExplanation; + private System.Windows.Forms.TextBox textBoxPassword; + private System.Windows.Forms.TextBox textBoxUserName; + private System.Windows.Forms.CheckBox checkBoxShowPassword; + private System.Windows.Forms.Label labelPassword; + private System.Windows.Forms.Label labelUserName; + private System.Windows.Forms.TabPage tabPageDangerZone; + private System.Windows.Forms.GroupBox groupBoxVideoDZ; + private System.Windows.Forms.GroupBox groupBoxShadows2; + private System.Windows.Forms.Label labeliDirShadowSplits; + private System.Windows.Forms.ComboBox comboBoxiDirShadowSplits; + private System.Windows.Forms.TrackBar sliderfBlendSplitDirShadow; + private System.Windows.Forms.Label labelfBlendSplitDirShadow; + private System.Windows.Forms.NumericUpDown numfBlendSplitDirShadow; + private System.Windows.Forms.GroupBox groupBox4; + private System.Windows.Forms.CheckBox checkBoxScreenSpaceReflections; + private System.Windows.Forms.RadioButton radioButtonAccountNone; } } diff --git a/Fo76ini/Forms/Form1/Form1.Gallery.cs b/Fo76ini/Forms/Form1/Form1.Gallery.cs index 203ead6..bebee62 100644 --- a/Fo76ini/Forms/Form1/Form1.Gallery.cs +++ b/Fo76ini/Forms/Form1/Form1.Gallery.cs @@ -1,23 +1,22 @@ -using System; +using Fo76ini.Interface; +using Fo76ini.Utilities; +using System; using System.Collections.Generic; using System.ComponentModel; using System.Diagnostics; using System.Drawing; using System.IO; using System.Linq; -using System.Text; -using System.Threading; -using System.Threading.Tasks; using System.Windows.Forms; namespace Fo76ini { public partial class Form1 { - private List galleryImagePaths = new List(); + private List galleryImagePaths = new List(); private ImageList galleryImageList = new ImageList(); - private static String[] ValidImageFormats = new String[] { + private static string[] ValidImageFormats = new string[] { ".png", ".jpg", ".gif", @@ -39,8 +38,8 @@ private void LoadGallery() this.listViewScreenshots.MouseUp += listViewScreenshots_MouseUp; //this.sliderGalleryThumbnailSize.ValueChanged += sliderGalleryThumbnailSize_ValueChanged; - this.textBoxGalleryPaths.Text = IniFiles.Instance.GetString(IniFile.Config, "Gallery", "sCustomPathsList", "").Replace(",", "\r\n"); - this.checkBoxGallerySearchRecursively.Checked = IniFiles.Instance.GetBool(IniFile.Config, "Gallery", "bSearchDirectoriesRecursively", false); + this.textBoxGalleryPaths.Text = IniFiles.Config.GetString("Gallery", "sCustomPathsList", "").Replace(",", "\r\n"); + this.checkBoxGallerySearchRecursively.Checked = IniFiles.Config.GetBool("Gallery", "bSearchDirectoriesRecursively", false); } private void UpdateScreenShotGalleryThreaded() @@ -87,7 +86,7 @@ private void UpdateScreenShotGallery() /* * Thumbnails folder: */ - String thumbnailsPath = Path.Combine(Shared.AppConfigFolder, "thumbnails", "screenshots"); + string thumbnailsPath = Path.Combine(Shared.AppConfigFolder, "thumbnails", "screenshots"); if (!Directory.Exists(thumbnailsPath)) Directory.CreateDirectory(thumbnailsPath); @@ -95,24 +94,24 @@ private void UpdateScreenShotGallery() * Search the game folders for screenshots: * C:\...\Fallout76\*.png */ - String[] gamePaths = new String[] { - IniFiles.Instance.GetString(IniFile.Config, "Preferences", "sGamePathSteam", ""), - IniFiles.Instance.GetString(IniFile.Config, "Preferences", "sGamePathBethesdaNet", ""), - IniFiles.Instance.GetString(IniFile.Config, "Preferences", "sGamePathBethesdaNetPTS", "") + string[] gamePaths = new string[] { + IniFiles.Config.GetString("Preferences", "sGamePathSteam", ""), + IniFiles.Config.GetString("Preferences", "sGamePathBethesdaNet", ""), + IniFiles.Config.GetString("Preferences", "sGamePathBethesdaNetPTS", "") }; - foreach (String gamePath in gamePaths) + foreach (string gamePath in gamePaths) { if (Directory.Exists(gamePath)) { - IEnumerable screenshots = Directory.EnumerateFiles(gamePath, "*.png", SearchOption.TopDirectoryOnly); - foreach (String filePath in screenshots) + IEnumerable screenshots = Directory.EnumerateFiles(gamePath, "*.png", SearchOption.TopDirectoryOnly); + foreach (string filePath in screenshots) { - String fileName = Path.GetFileName(filePath); - String thumbPath = Path.Combine(thumbnailsPath, fileName) + ".jpg"; + string fileName = Path.GetFileName(filePath); + string thumbPath = Path.Combine(thumbnailsPath, fileName) + ".jpg"; Bitmap thumbnail; if (!File.Exists(thumbPath)) - thumbnail = new Bitmap(Utils.MakeThumbnail(filePath, thumbPath)); + thumbnail = new Bitmap(Utils.MakeThumbnail(filePath, thumbPath, true)); else thumbnail = new Bitmap(thumbPath); @@ -133,23 +132,23 @@ private void UpdateScreenShotGallery() * C:\Users\\Documents\My Games\Fallout 76\Photos\\*.png * C:\Users\\Documents\My Games\Fallout 76\Photos\\*-thumbnail.png */ - String photosFolder = Path.Combine(IniFiles.Instance.iniParentPath, "Photos"); + string photosFolder = Path.Combine(IniFiles.ParentPath, "Photos"); if (Directory.Exists(photosFolder)) { - IEnumerable photos = Directory.EnumerateFiles(photosFolder, "*.png", SearchOption.AllDirectories); - foreach (String filePath in photos) + IEnumerable photos = Directory.EnumerateFiles(photosFolder, "*.png", SearchOption.AllDirectories); + foreach (string filePath in photos) { - String fileName = Path.GetFileName(filePath); + string fileName = Path.GetFileName(filePath); if (fileName.EndsWith("-thumbnail.png")) continue; - String thumbnailFilePath = fileName.Replace(".png", "-thumbnail.png"); + string thumbnailFilePath = fileName.Replace(".png", "-thumbnail.png"); if (!File.Exists(thumbnailFilePath)) { thumbnailFilePath = Path.Combine(thumbnailsPath, fileName + ".jpg"); if (!File.Exists(thumbnailFilePath)) - Utils.MakeThumbnail(filePath, thumbnailFilePath); + Utils.MakeThumbnail(filePath, thumbnailFilePath, true); //thumbnailFilePath = filePath; } @@ -170,25 +169,25 @@ private void UpdateScreenShotGallery() * C:\Program Files (x86)\Steam\userdata\\760\remote\1151340\screenshots\*.jpg * C:\Program Files (x86)\Steam\userdata\\760\remote\1151340\screenshots\thumbnails\*.jpg */ - String steamFolder = @"C:\Program Files (x86)\Steam\userdata\"; + string steamFolder = @"C:\Program Files (x86)\Steam\userdata\"; if (Directory.Exists(steamFolder)) { steamFolder = Path.Combine(Directory.GetDirectories(steamFolder)[0], @"760\remote\1151340\screenshots"); - String steamThumbnailFolder = Path.Combine(steamFolder, "thumbnails"); + string steamThumbnailFolder = Path.Combine(steamFolder, "thumbnails"); if (Directory.Exists(steamFolder)) { - List screenshots = Directory.GetFiles(steamFolder, "*.jpg", SearchOption.TopDirectoryOnly).ToList(); - foreach (String filePath in screenshots) + List screenshots = Directory.GetFiles(steamFolder, "*.jpg", SearchOption.TopDirectoryOnly).ToList(); + foreach (string filePath in screenshots) { - String fileName = Path.GetFileName(filePath); + string fileName = Path.GetFileName(filePath); - String thumbnailFilePath = Path.Combine(steamThumbnailFolder, fileName); + string thumbnailFilePath = Path.Combine(steamThumbnailFolder, fileName); if (!File.Exists(thumbnailFilePath)) { thumbnailFilePath = Path.Combine(thumbnailsPath, fileName + ".jpg"); if (!File.Exists(thumbnailFilePath)) - Utils.MakeThumbnail(filePath, thumbnailFilePath); + Utils.MakeThumbnail(filePath, thumbnailFilePath, true); //thumbnailFilePath = filePath; } @@ -208,24 +207,24 @@ private void UpdateScreenShotGallery() /* * Search additional paths added by the user: */ - foreach (String path in GetAdditionalPathList()) + foreach (string path in GetAdditionalPathList()) { Console.WriteLine(path); - String folderName = new DirectoryInfo(path).Name; - IEnumerable pictures = Directory.EnumerateFiles(path, "*.*", + string folderName = new DirectoryInfo(path).Name; + IEnumerable pictures = Directory.EnumerateFiles(path, "*.*", this.checkBoxGallerySearchRecursively.Checked ? SearchOption.AllDirectories : SearchOption.TopDirectoryOnly ); - foreach (String filePath in pictures) + foreach (string filePath in pictures) { FileInfo info = new FileInfo(filePath); - String fileName = info.Name; + string fileName = info.Name; if (!ValidImageFormats.Contains(info.Extension)) continue; - String thumbnailFilePath = Path.Combine(thumbnailsPath, folderName + "-" + fileName + ".jpg"); + string thumbnailFilePath = Path.Combine(thumbnailsPath, folderName + "-" + fileName + ".jpg"); if (!File.Exists(thumbnailFilePath)) - Utils.MakeThumbnail(filePath, thumbnailFilePath); + Utils.MakeThumbnail(filePath, thumbnailFilePath, true); Bitmap thumbnail = new Bitmap(thumbnailFilePath); this.Invoke(() => galleryImageList.Images.Add(fileName, thumbnail)); @@ -243,10 +242,10 @@ private void UpdateScreenShotGallery() this.Invoke(() => this.buttonRefreshGallery.Enabled = true); } - private List GetAdditionalPathList() + private List GetAdditionalPathList() { - List paths = new List(); - foreach (String path in this.textBoxGalleryPaths.Text.Replace("\r\n", "\n").Split('\n')) + List paths = new List(); + foreach (string path in this.textBoxGalleryPaths.Text.Replace("\r\n", "\n").Split('\n')) { if (Directory.Exists(path.Trim())) paths.Add(path.Trim()); @@ -285,7 +284,7 @@ private void buttonGalleryDeleteThumbnails_Click(object sender, EventArgs e) this.listViewScreenshots.Items.Clear(); // Delete thumbnails: - String thumbnailsPath = Path.Combine(Shared.AppConfigFolder, "thumbnails", "screenshots"); + string thumbnailsPath = Path.Combine(Shared.AppConfigFolder, "thumbnails", "screenshots"); try { Directory.Delete(thumbnailsPath, true); @@ -303,12 +302,12 @@ private void buttonGalleryDeleteThumbnails_Click(object sender, EventArgs e) private void textBoxGalleryPaths_TextChanged(object sender, EventArgs e) { - IniFiles.Instance.Set(IniFile.Config, "Gallery", "sCustomPathsList", this.textBoxGalleryPaths.Text.Replace("\r\n", ",").Replace("\n", ",")); + IniFiles.Config.Set("Gallery", "sCustomPathsList", this.textBoxGalleryPaths.Text.Replace("\r\n", ",").Replace("\n", ",")); } private void checkBoxGallerySearchRecursively_CheckedChanged(object sender, EventArgs e) { - IniFiles.Instance.Set(IniFile.Config, "Gallery", "bSearchDirectoriesRecursively", this.checkBoxGallerySearchRecursively.Checked); + IniFiles.Config.Set("Gallery", "bSearchDirectoriesRecursively", this.checkBoxGallerySearchRecursively.Checked); } private void Invoke(Action func) @@ -349,20 +348,20 @@ private void openToolStripMenuItem_Click(object sender, EventArgs e) private void openFolderToolStripMenuItem_Click(object sender, EventArgs e) { // Open all folders, but no duplicates: - List folders = new List(); + List folders = new List(); foreach (int index in galleryContextMenuItems) { - String folder = Path.GetDirectoryName(galleryImagePaths[index]); + string folder = Path.GetDirectoryName(galleryImagePaths[index]); if (!folders.Contains(folder)) folders.Add(folder); } - foreach (String folder in folders) + foreach (string folder in folders) Utils.OpenExplorer(folder); } private void cutToolStripMenuItem_Click(object sender, EventArgs e) { - List files = new List(); + List files = new List(); foreach (int index in galleryContextMenuItems) files.Add(galleryImagePaths[index]); ClipboardUtils.CutFiles(files); @@ -370,7 +369,7 @@ private void cutToolStripMenuItem_Click(object sender, EventArgs e) private void copyToolStripMenuItem_Click(object sender, EventArgs e) { - List files = new List(); + List files = new List(); foreach (int index in galleryContextMenuItems) files.Add(galleryImagePaths[index]); ClipboardUtils.CopyFiles(files); @@ -381,19 +380,19 @@ private void deleteToolStripMenuItem_Click(object sender, EventArgs e) bool ok = false; if (galleryContextMenuItems.Count == 1) { - String fileName = Path.GetFileName(galleryImagePaths[galleryContextMenuItems[0]]); - ok = MsgBox.Get("galleryDeleteScreenshot").FormatTitle(fileName).FormatText(fileName).Show(MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes; + string fileName = Path.GetFileName(galleryImagePaths[galleryContextMenuItems[0]]); + ok = MsgBox.Get("deleteQuestion").FormatTitle(fileName).FormatText(fileName).Show(MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes; } else { - ok = MsgBox.Get("galleryDeleteScreenshots").FormatTitle(galleryContextMenuItems.Count.ToString()).FormatText(galleryContextMenuItems.Count.ToString()).Show(MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes; + ok = MsgBox.Get("deleteMultipleQuestion").FormatTitle(galleryContextMenuItems.Count.ToString()).FormatText(galleryContextMenuItems.Count.ToString()).Show(MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes; } if (ok) { foreach (int index in galleryContextMenuItems) { - String path = galleryImagePaths[index]; + string path = galleryImagePaths[index]; if (File.Exists(path)) File.Delete(path); } diff --git a/Fo76ini/Forms/Form1/Form1.Language.cs b/Fo76ini/Forms/Form1/Form1.Language.cs index aeb9ef3..31e259c 100644 --- a/Fo76ini/Forms/Form1/Form1.Language.cs +++ b/Fo76ini/Forms/Form1/Form1.Language.cs @@ -1,129 +1,31 @@ -using IniParser.Model; +using Fo76ini.Interface; +using Fo76ini.Profiles; using System; -using System.Collections.Generic; using System.ComponentModel; -using System.Globalization; using System.IO; -using System.Linq; using System.Net; using System.Text; -using System.Text.RegularExpressions; -using System.Threading; -using System.Threading.Tasks; using System.Windows.Forms; -using System.Xml; -using System.Xml.Linq; namespace Fo76ini { partial class Form1 { - public void ChangeLanguage(Form1 form1, FormMods formMods) + public void OnLanguageChanged(object sender, TranslationEventArgs e) { - // Apply translation to forms: - Translation translation = Localization.GetTranslation(); - translation.Apply(); + Translation translation = (Translation)sender; // Set labels and stuff: - form1.labelOutdatedLanguage.Visible = translation.IsOutdated(); + this.labelTranslationAuthor.Visible = e.HasAuthor; + this.labelTranslationBy.Visible = e.HasAuthor; + this.labelTranslationAuthor.Text = e.HasAuthor ? translation.Author : ""; - form1.labelTranslationAuthor.Visible = false; - form1.labelTranslationBy.Visible = false; - if (translation.Author != "") - { - form1.labelTranslationAuthor.Visible = true; - form1.labelTranslationBy.Visible = true; - form1.labelTranslationAuthor.Text = translation.Author; - } - - form1.RefreshNWModeButtonAppearance(); - form1.CheckVersion(); - formMods.UpdateUI(); - - // Force redraw: - form1.Refresh(); - formMods.Refresh(); - - // Set sLanguage in config.ini: - IniFiles.Instance.Set(IniFile.Config, "Preferences", "sLanguage", translation.ISO); - Localization.locale = translation.ISO; - - if (translation.ISO != "en-US") - Localization.GenerateTemplate(translation); - } - - private void comboBoxLanguage_SelectedIndexChanged(object sender, EventArgs e) - { - ChangeLanguage(this, this.formMods); - } - - private void buttonDownloadLanguages_Click(object sender, EventArgs e) - { - if (this.backgroundWorkerDownloadLanguages.IsBusy) - return; - this.groupBoxLocalization.Focus(); - this.buttonDownloadLanguages.Enabled = false; - this.pictureBoxSpinnerDownloadLanguages.Visible = true; - this.backgroundWorkerDownloadLanguages.RunWorkerAsync(); - } - - private String errorMessageDownloadLanguages = null; - private String messageDownloadLanguages = null; - private void backgroundWorkerDownloadLanguages_DoWork(object sender, DoWorkEventArgs e) - { - // Download / update languages: - try - { - System.Net.WebClient wc = new System.Net.WebClient(); - wc.CachePolicy = new System.Net.Cache.RequestCachePolicy(System.Net.Cache.RequestCacheLevel.BypassCache); - - byte[] raw = wc.DownloadData("https://raw.githubusercontent.com/FelisDiligens/Fallout76-QuickConfiguration/master/Fo76ini/languages/list.txt"); - String encoded = Encoding.UTF8.GetString(raw).Trim(); - - String[] list = encoded.Split('\n', ','); - - foreach (String file in list) - { - wc.DownloadFile("https://raw.githubusercontent.com/FelisDiligens/Fallout76-QuickConfiguration/master/Fo76ini/languages/" + file, Path.Combine(Localization.languageFolder, file)); - } - - errorMessageDownloadLanguages = null; - messageDownloadLanguages = String.Join(", ", list); - //MsgBox.Get("downloadLanguagesFinished").FormatText(String.Join(", ", list)).Popup(MessageBoxIcon.Information); - } - catch (WebException ex) - { - errorMessageDownloadLanguages = ex.ToString(); - messageDownloadLanguages = null; - //MsgBox.Get("downloadLanguagesFailed").FormatText(ex.ToString()).Popup(MessageBoxIcon.Error); - } - catch - { - errorMessageDownloadLanguages = "Unknown error"; - messageDownloadLanguages = null; - //MsgBox.Get("downloadLanguagesFailed").FormatText("Unknown error").Popup(MessageBoxIcon.Error); - } - } - - private void backgroundWorkerDownloadLanguages_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e) - { - if (errorMessageDownloadLanguages != null) - MsgBox.Get("downloadLanguagesFailed").FormatText(errorMessageDownloadLanguages).Popup(MessageBoxIcon.Error); - else - MsgBox.Get("downloadLanguagesFinished").FormatText(messageDownloadLanguages).Popup(MessageBoxIcon.Information); - this.buttonDownloadLanguages.Enabled = true; - this.pictureBoxSpinnerDownloadLanguages.Visible = false; - Localization.LookupLanguages(); - } - - private void buttonRefreshLanguage_Click(object sender, EventArgs e) - { - Localization.LookupLanguages(); - this.RefreshNWModeButtonAppearance(); + // TODO: UpdateUI? this.CheckVersion(); - formMods.UpdateUI(); - this.Refresh(); - this.formMods.Refresh(); + + this.Refresh(); // Forces redraw } + // TODO: FormMods needs OnLanguageChanged code. + // formMods.UpdateUI(); // TODO: Changing the language before loading mods crashes the tool on startup. } } diff --git a/Fo76ini/Forms/Form1/Form1.LinkControls.cs b/Fo76ini/Forms/Form1/Form1.LinkControls.cs new file mode 100644 index 0000000..1b8b6ac --- /dev/null +++ b/Fo76ini/Forms/Form1/Form1.LinkControls.cs @@ -0,0 +1,808 @@ +using Fo76ini.Tweaks; +using Fo76ini.Tweaks.Audio; +using Fo76ini.Tweaks.Camera; +using Fo76ini.Tweaks.Colors; +using Fo76ini.Tweaks.Config; +using Fo76ini.Tweaks.Controls; +using Fo76ini.Tweaks.General; +using Fo76ini.Tweaks.Graphics; +using Fo76ini.Tweaks.Inis; +using Fo76ini.Tweaks.Interface; +using Fo76ini.Tweaks.Pipboy; +using Fo76ini.Tweaks.Video; +using Fo76ini.Tweaks.Volume; + +namespace Fo76ini +{ + /* + * A bit similar to the *.Designer.cs, adds event handlers to (almost) all controls. + * That is, instantiate classes that implement ITweak, and link the controls to it's value (among other things). + */ + partial class Form1 + { + /// + /// Adds tooltip information (ITweakInfo) + /// + public void LinkInfo() + { + // Info tab + /*LinkedTweaks.LinkInfo(checkBoxReadOnly, iniReadOnlyTweak); + LinkedTweaks.LinkInfo(checkBoxAutoApply, autoApplyTweak); + LinkedTweaks.LinkInfo(checkBoxIgnoreUpdates, ignoreUpdatesTweak); + LinkedTweaks.LinkInfo(checkBoxPlayNotificationSound, playNotificationSoundsTweak); + LinkedTweaks.LinkInfo(checkBoxQuitOnGameLaunch, toolQuitOnLaunchTweak);*/ + + // General tab + LinkedTweaks.LinkInfo(checkBoxEnableSteam, toolTip, enableSteamTweak); + LinkedTweaks.LinkInfo(checkBoxAutoSignin, toolTip, autoSigninTweak); + LinkedTweaks.LinkInfo(checkBoxIntroVideos, toolTip, introVideoTweak); + LinkedTweaks.LinkInfo(checkBoxSkipSplash, toolTip, skipStartupSplash); + + LinkedTweaks.LinkInfo(checkBoxShowDamageNumbersNW, toolTip, showDamageNumbersNuclearWinterTweak); + LinkedTweaks.LinkInfo(checkBoxShowDamageNumbersA, toolTip, showDamageNumbersAdventureTweak); + LinkedTweaks.LinkInfo(checkBoxItemRarityColorsNW, toolTip, enableItemRarityColorsTweak); + LinkedTweaks.LinkInfo(checkBoxShowPublicTeamNotifications, toolTip, showPublicTeamNotificationsTweak); + LinkedTweaks.LinkInfo(checkBoxShowFloatingQuestMarkers, toolTip, showFloatingQuestMarkersTweak); + LinkedTweaks.LinkInfo(checkBoxShowFloatingQuestText, toolTip, showFloatingQuestTextTweak); + LinkedTweaks.LinkInfo(checkBoxShowCrosshair, toolTip, showCrosshairTweak); + LinkedTweaks.LinkInfo(checkBoxEnablePowerArmorHUD, toolTip, enablePowerArmorHUDTweak); + LinkedTweaks.LinkInfo(checkBoxShowCompass, toolTip, showCompassTweak); + LinkedTweaks.LinkInfo(checkBoxShowOtherPlayersNames, toolTip, showOtherPlayersNamesTweak); + LinkedTweaks.LinkInfo(comboBoxShowActiveEffectsOnHUD, toolTip, activeEffectsOnHUDTweak); + LinkedTweaks.LinkInfo(labelShowActiveEffectsOnHUD, toolTip, activeEffectsOnHUDTweak); + LinkedTweaks.LinkInfo(numFloatingQuestMarkersDistance, toolTip, floatingQuestMarkersDistanceTweak); + LinkedTweaks.LinkInfo(sliderFloatingQuestMarkersDistance, toolTip, floatingQuestMarkersDistanceTweak); + LinkedTweaks.LinkInfo(labelFloatingQuestMarkersDistance, toolTip, floatingQuestMarkersDistanceTweak); + LinkedTweaks.LinkInfo(numHUDOpacity, toolTip, hudOpacityTweak); + LinkedTweaks.LinkInfo(sliderHUDOpacity, toolTip, hudOpacityTweak); + LinkedTweaks.LinkInfo(labelHUDOpacity, toolTip, hudOpacityTweak); + + LinkedTweaks.LinkInfo(checkBoxEnableQuestAutoTrackMain, toolTip, autoTrackMainQuestWhenStartedTweak); + LinkedTweaks.LinkInfo(checkBoxEnableQuestAutoTrackSide, toolTip, autoTrackSideQuestWhenStartedTweak); + LinkedTweaks.LinkInfo(checkBoxEnableQuestAutoTrackMisc, toolTip, autoTrackMiscQuestWhenStartedTweak); + LinkedTweaks.LinkInfo(checkBoxEnableQuestAutoTrackEvent, toolTip, autoTrackEventQuestWhenStartedTweak); + LinkedTweaks.LinkInfo(checkBoxEnableQuestAutoTrackDaily, toolTip, autoTrackOtherQuestWhenStartedTweak); + + // Video tab + LinkedTweaks.LinkInfo(numCustomResW, toolTip, displaySizeTweak); + LinkedTweaks.LinkInfo(numCustomResH, toolTip, displaySizeTweak); + LinkedTweaks.LinkInfo(labelResolution, toolTip, displaySizeTweak); + LinkedTweaks.LinkInfo(labelCustomResolution, toolTip, displaySizeTweak); + LinkedTweaks.LinkInfo(comboBoxResolution, toolTip, displaySizeTweak); + LinkedTweaks.LinkInfo(comboBoxDisplayMode, toolTip, displayModeTweak); + LinkedTweaks.LinkInfo(labelDisplayMode, toolTip, displayModeTweak); + LinkedTweaks.LinkInfo(checkBoxVSync, toolTip, presentIntervalTweak); + LinkedTweaks.LinkInfo(checkBoxAlwaysActive, toolTip, windowAlwaysActiveTweak); + LinkedTweaks.LinkInfo(checkBoxTopMostWindow, toolTip, topMostWindowTweak); + LinkedTweaks.LinkInfo(checkBoxFixHUDFor5_4and4_3, toolTip, fixHUD4to3RatioTweak); + + // Graphics: + LinkedTweaks.LinkInfo(labelAntiAliasing, toolTip, antiAliasingTweak); + LinkedTweaks.LinkInfo(comboBoxAntiAliasing, toolTip, antiAliasingTweak); + LinkedTweaks.LinkInfo(labelAnisotropicFiltering, toolTip, anisotropicFilteringTweak); + LinkedTweaks.LinkInfo(comboBoxAnisotropicFiltering, toolTip, anisotropicFilteringTweak); + LinkedTweaks.LinkInfo(checkBoxDepthOfField, toolTip, enableDepthOfFieldTweak); + LinkedTweaks.LinkInfo(checkBoxMotionBlur, toolTip, motionBlurTweak); + LinkedTweaks.LinkInfo(checkBoxRadialBlur, toolTip, radialBlurTweak); + LinkedTweaks.LinkInfo(checkBoxLensFlare, toolTip, lensFlareTweak); + LinkedTweaks.LinkInfo(checkBoxAmbientOcclusion, toolTip, ambientOcclusionTweak); + LinkedTweaks.LinkInfo(checkBoxWaterDisplacement, toolTip, waterDisplacementsTweak); + LinkedTweaks.LinkInfo(checkBoxFogEnabled, toolTip, fogTweak); + LinkedTweaks.LinkInfo(checkBoxWeatherRainOcclusion, toolTip, rainOcclusionTweak); + LinkedTweaks.LinkInfo(checkBoxWeatherWetnessOcclusion, toolTip, wetnessOcclusionTweak); + LinkedTweaks.LinkInfo(checkBoxGodrays, toolTip, volumetricLightingTweak); + LinkedTweaks.LinkInfo(checkBoxDisableGore, toolTip, disableAllGoreTweak); + LinkedTweaks.LinkInfo(labelShadowTextureResolution, toolTip, shadowMapResolutionTweak); + LinkedTweaks.LinkInfo(comboBoxShadowTextureResolution, toolTip, shadowMapResolutionTweak); + LinkedTweaks.LinkInfo(comboBoxShadowBlurriness, toolTip, shadowBlurrinessTweak); + LinkedTweaks.LinkInfo(labelShadowBlurriness, toolTip, shadowBlurrinessTweak); + LinkedTweaks.LinkInfo(numShadowDistance, toolTip, shadowDistanceTweak); + LinkedTweaks.LinkInfo(sliderShadowDistance, toolTip, shadowDistanceTweak); + LinkedTweaks.LinkInfo(numLODObjects, toolTip, lodFadeOutMultObjectsTweak); + LinkedTweaks.LinkInfo(numLODItems, toolTip, lodFadeOutMultItemsTweak); + LinkedTweaks.LinkInfo(numLODActors, toolTip, lodFadeOutMultActorsTweak); + LinkedTweaks.LinkInfo(sliderLODObjects, toolTip, lodFadeOutMultObjectsTweak); + LinkedTweaks.LinkInfo(sliderLODItems, toolTip, lodFadeOutMultItemsTweak); + LinkedTweaks.LinkInfo(sliderLODActors, toolTip, lodFadeOutMultActorsTweak); + LinkedTweaks.LinkInfo(checkBoxGrass, toolTip, enableGrassTweak); + LinkedTweaks.LinkInfo(comboBoxiDirShadowSplits, toolTip, dirShadowSplitsTweak); + LinkedTweaks.LinkInfo(labeliDirShadowSplits, toolTip, dirShadowSplitsTweak); + LinkedTweaks.LinkInfo(numfBlendSplitDirShadow, toolTip, blendSplitDirShadowTweak); + LinkedTweaks.LinkInfo(sliderfBlendSplitDirShadow, toolTip, blendSplitDirShadowTweak); + LinkedTweaks.LinkInfo(numTAAPostOverlay, toolTip, taaPostOverlayTweak); + LinkedTweaks.LinkInfo(numTAAPostSharpen, toolTip, taaPostSharpenTweak); + LinkedTweaks.LinkInfo(sliderTAAPostOverlay, toolTip, taaPostOverlayTweak); + LinkedTweaks.LinkInfo(sliderTAAPostSharpen, toolTip, taaPostSharpenTweak); + LinkedTweaks.LinkInfo(checkBoxScreenSpaceReflections, toolTip, screenSpaceReflectionsTweak); + LinkedTweaks.LinkInfo(numGrassFadeDistance, toolTip, grassFadeDistanceTweak); + + // Audio tab + LinkedTweaks.LinkInfo(checkBoxEnableAudio, toolTip, enableAudioTweak); + LinkedTweaks.LinkInfo(checkBoxMainMenuMusic, toolTip, playMainMenuMusicTweak); + LinkedTweaks.LinkInfo(comboBoxVoiceChatMode, toolTip, voiceChatModeTweak); + LinkedTweaks.LinkInfo(labelVoiceChatMode, toolTip, voiceChatModeTweak); + LinkedTweaks.LinkInfo(checkBoxGeneralSubtitles, toolTip, generalSubtitlesTweak); + LinkedTweaks.LinkInfo(checkBoxDialogueSubtitles, toolTip, dialogueSubtitlesTweak); + LinkedTweaks.LinkInfo(checkBoxDialogueHistory, toolTip, showDialogueHistoryTweak); + LinkedTweaks.LinkInfo(checkBoxPushToTalk, toolTip, voicePushToTalkEnabledTweak); + LinkedTweaks.LinkInfo(numConversationHistorySize, toolTip, conversationHistorySizeTweak); + LinkedTweaks.LinkInfo(sliderConversationHistorySize, toolTip, conversationHistorySizeTweak); + LinkedTweaks.LinkInfo(labelConversationHistorySize, toolTip, conversationHistorySizeTweak); + LinkedTweaks.LinkInfo(numVolumeMaster, toolTip, masterVolumeTweak); + LinkedTweaks.LinkInfo(numAudioChat, toolTip, vivoxVoiceVolumeTweak); + LinkedTweaks.LinkInfo(sliderVolumeMaster, toolTip, masterVolumeTweak); + LinkedTweaks.LinkInfo(sliderAudioChat, toolTip, vivoxVoiceVolumeTweak); + + // Volume: + LinkedTweaks.LinkInfo(labelVolumeMaster, toolTip, masterVolumeTweak); + LinkedTweaks.LinkInfo(labelAudioChat, toolTip, vivoxVoiceVolumeTweak); + + LinkedTweaks.LinkInfo(numAudiofVal0, toolTip, val0Tweak); + LinkedTweaks.LinkInfo(numAudiofVal1, toolTip, val1Tweak); + LinkedTweaks.LinkInfo(numAudiofVal2, toolTip, val2Tweak); + LinkedTweaks.LinkInfo(numAudiofVal3, toolTip, val3Tweak); + LinkedTweaks.LinkInfo(numAudiofVal4, toolTip, val4Tweak); + LinkedTweaks.LinkInfo(numAudiofVal5, toolTip, val5Tweak); + LinkedTweaks.LinkInfo(numAudiofVal6, toolTip, val6Tweak); + LinkedTweaks.LinkInfo(sliderAudiofVal0, toolTip, val0Tweak); + LinkedTweaks.LinkInfo(sliderAudiofVal1, toolTip, val1Tweak); + LinkedTweaks.LinkInfo(sliderAudiofVal2, toolTip, val2Tweak); + LinkedTweaks.LinkInfo(sliderAudiofVal3, toolTip, val3Tweak); + LinkedTweaks.LinkInfo(sliderAudiofVal4, toolTip, val4Tweak); + LinkedTweaks.LinkInfo(sliderAudiofVal5, toolTip, val5Tweak); + LinkedTweaks.LinkInfo(sliderAudiofVal6, toolTip, val6Tweak); + + // Controls tab + LinkedTweaks.LinkInfo(numMouseSensitivity, toolTip, mouseSensitivityTweak); + LinkedTweaks.LinkInfo(sliderMouseSensitivity, toolTip, mouseSensitivityTweak); + LinkedTweaks.LinkInfo(checkBoxFixMouseSensitivity, toolTip, fixMouseSensitivityTweak); + LinkedTweaks.LinkInfo(checkBoxFixAimSensitivity, toolTip, fixAimSensitivityTweak); + LinkedTweaks.LinkInfo(checkBoxMouseAcceleration, toolTip, mouseAccelerationTweak); + LinkedTweaks.LinkInfo(checkBoxMouseInvertX, toolTip, mouseInvertXTweak); + LinkedTweaks.LinkInfo(checkBoxMouseInvertY, toolTip, mouseInvertYTweak); + LinkedTweaks.LinkInfo(checkBoxGamepadEnabled, toolTip, gamepadEnableTweak); + LinkedTweaks.LinkInfo(checkBoxGamepadRumble, toolTip, enableGamepadRumbleTweak); + + // Camera tab + LinkedTweaks.LinkInfo(this.checkBoxbApplyCameraNodeAnimations, toolTip, applyCameraNodeAnimationsTweak); + LinkedTweaks.LinkInfo(this.numfOverShoulderPosX, toolTip, cameraOverShoulderPosXTweak); + LinkedTweaks.LinkInfo(this.numfOverShoulderPosZ, toolTip, cameraOverShoulderPosZTweak); + LinkedTweaks.LinkInfo(this.numfOverShoulderCombatPosX, toolTip, cameraOverShoulderCombatPosXTweak); + LinkedTweaks.LinkInfo(this.numfOverShoulderCombatPosZ, toolTip, cameraOverShoulderCombatPosZTweak); + LinkedTweaks.LinkInfo(this.numfOverShoulderCombatAddY, toolTip, cameraOverShoulderCombatAddYTweak); + LinkedTweaks.LinkInfo(this.numfOverShoulderMeleeCombatPosX, toolTip, cameraOverShoulderMeleeCombatPosXTweak); + LinkedTweaks.LinkInfo(this.numfOverShoulderMeleeCombatPosZ, toolTip, cameraOverShoulderMeleeCombatPosZTweak); + LinkedTweaks.LinkInfo(this.numfOverShoulderMeleeCombatAddY, toolTip, cameraOverShoulderMeleeCombatAddYTweak); + LinkedTweaks.LinkInfo(this.trackBarfOverShoulderPosX, toolTip, cameraOverShoulderPosXTweak); + LinkedTweaks.LinkInfo(this.trackBarfOverShoulderPosZ, toolTip, cameraOverShoulderPosZTweak); + LinkedTweaks.LinkInfo(this.trackBarfOverShoulderCombatPosX, toolTip, cameraOverShoulderCombatPosXTweak); + LinkedTweaks.LinkInfo(this.trackBarfOverShoulderCombatPosZ, toolTip, cameraOverShoulderCombatPosZTweak); + LinkedTweaks.LinkInfo(this.trackBarfOverShoulderCombatAddY, toolTip, cameraOverShoulderCombatAddYTweak); + LinkedTweaks.LinkInfo(this.trackBarfOverShoulderMeleeCombatPosX, toolTip, cameraOverShoulderMeleeCombatPosXTweak); + LinkedTweaks.LinkInfo(this.trackBarfOverShoulderMeleeCombatPosZ, toolTip, cameraOverShoulderMeleeCombatPosZTweak); + LinkedTweaks.LinkInfo(this.trackBarfOverShoulderMeleeCombatAddY, toolTip, cameraOverShoulderMeleeCombatAddYTweak); + LinkedTweaks.LinkInfo(this.numericUpDownPhotomodeRange, toolTip, selfieModeRangeTweak); + LinkedTweaks.LinkInfo(this.numericUpDownPhotomodeTranslationSpeed, toolTip, selfieCameraTranslationSpeedTweak); + LinkedTweaks.LinkInfo(this.numericUpDownPhotomodeRotationSpeed, toolTip, selfieCameraRotationSpeedTweak); + LinkedTweaks.LinkInfo(this.labelPhotomodeRange, toolTip, selfieModeRangeTweak); + LinkedTweaks.LinkInfo(this.labelPhotomodeTranslationSpeed, toolTip, selfieCameraTranslationSpeedTweak); + LinkedTweaks.LinkInfo(this.labelPhotomodeRotationSpeed, toolTip, selfieCameraRotationSpeedTweak); + LinkedTweaks.LinkInfo(this.trackBarPhotomodeRange, toolTip, selfieModeRangeTweak); + LinkedTweaks.LinkInfo(this.trackBarPhotomodeTranslationSpeed, toolTip, selfieCameraTranslationSpeedTweak); + LinkedTweaks.LinkInfo(this.trackBarPhotomodeRotationSpeed, toolTip, selfieCameraRotationSpeedTweak); + LinkedTweaks.LinkInfo(this.checkBoxVanityMode, toolTip, disableAutoVanityModeTweak); + LinkedTweaks.LinkInfo(this.checkBoxForceVanityMode, toolTip, forceAutoVanityModeTweak); + LinkedTweaks.LinkInfo(this.numCameraSwitchDelay, toolTip, firstThirdPerspectiveSwitchDelayTweak); + LinkedTweaks.LinkInfo(this.labelSwitchDelay, toolTip, firstThirdPerspectiveSwitchDelayTweak); + LinkedTweaks.LinkInfo(numFirstPersonFOV, toolTip, fov1stPersonTweak); + LinkedTweaks.LinkInfo(numWorldFOV, toolTip, fov3rdPersonTweak); + LinkedTweaks.LinkInfo(numADSFOV, toolTip, fov3rdADSTweak); + LinkedTweaks.LinkInfo(numfDefaultFOV, toolTip, defaultFOVTweak); + LinkedTweaks.LinkInfo(labelFirstPersonFOV, toolTip, fov1stPersonTweak); + LinkedTweaks.LinkInfo(labelWorldFOV, toolTip, fov3rdPersonTweak); + LinkedTweaks.LinkInfo(labelADSFOV, toolTip, fov3rdADSTweak); + LinkedTweaks.LinkInfo(labelfDefaultFOV, toolTip, defaultFOVTweak); + LinkedTweaks.LinkInfo(numCameraDistanceMinimum, toolTip, vanityModeMinDistTweak); + LinkedTweaks.LinkInfo(numCameraDistanceMaximum, toolTip, vanityModeMaxDistTweak); + LinkedTweaks.LinkInfo(numfPitchZoomOutMaxDist, toolTip, pitchZoomOutMaxDistTweak); + LinkedTweaks.LinkInfo(labelCameraDistanceMinimum, toolTip, vanityModeMinDistTweak); + LinkedTweaks.LinkInfo(labelCameraDistanceMaximum, toolTip, vanityModeMaxDistTweak); + LinkedTweaks.LinkInfo(labelPitchZoomOutMaxDist, toolTip, pitchZoomOutMaxDistTweak); + + // Pipboy tab + LinkedTweaks.LinkInfo(buttonColorPickPipboy, toolTip, pipboyColorTweak); + LinkedTweaks.LinkInfo(buttonColorPickQuickboy, toolTip, quickboyColorTweak); + LinkedTweaks.LinkInfo(buttonColorPickPAPipboy, toolTip, powerArmorPipboyColorTweak); + LinkedTweaks.LinkInfo(labelPipboyColor, toolTip, pipboyColorTweak); + LinkedTweaks.LinkInfo(labelQuickboyColor, toolTip, quickboyColorTweak); + LinkedTweaks.LinkInfo(labelPowerArmorColor, toolTip, powerArmorPipboyColorTweak); + LinkedTweaks.LinkInfo(numPipboyTargetHeight, toolTip, pipboyTargetResolutionTweak); + LinkedTweaks.LinkInfo(numPipboyTargetWidth, toolTip, pipboyTargetResolutionTweak); + LinkedTweaks.LinkInfo(radioButtonQuickboy, toolTip, quickboyModeEnabledTweak); + LinkedTweaks.LinkInfo(radioButtonPipboy, toolTip, quickboyModeEnabledTweak); + + // Gallery tab + LinkedTweaks.LinkInfo(numScreenshotIndex, toolTip, screenshotIndexTweak); + LinkedTweaks.LinkInfo(labelScreenshotIndex, toolTip, screenshotIndexTweak); + } + + /// + /// Links trackbars to numericupdowns (and vice-versa) + /// + public void LinkSliders() + { + // Link numericUpDown and sliders: + LinkedTweaks.LinkSlider(this.sliderGrassFadeDistance, this.numGrassFadeDistance, 1); + //LinkSlider(this.sliderGrassDensity, this.numGrassDensity, 1, true); + LinkedTweaks.LinkSlider(this.sliderLODObjects, this.numLODObjects, 10); + LinkedTweaks.LinkSlider(this.sliderLODItems, this.numLODItems, 10); + LinkedTweaks.LinkSlider(this.sliderLODActors, this.numLODActors, 10); + LinkedTweaks.LinkSlider(this.sliderShadowDistance, this.numShadowDistance, 1); + LinkedTweaks.LinkSlider(this.sliderfBlendSplitDirShadow, this.numfBlendSplitDirShadow, 0.0833333); + LinkedTweaks.LinkSlider(this.sliderMouseSensitivity, this.numMouseSensitivity, 10000.0); + LinkedTweaks.LinkSlider(this.sliderTAAPostOverlay, this.numTAAPostOverlay, 100); + LinkedTweaks.LinkSlider(this.sliderTAAPostSharpen, this.numTAAPostSharpen, 100); + + LinkedTweaks.LinkSlider(this.sliderVolumeMaster, this.numVolumeMaster, 100); + LinkedTweaks.LinkSlider(this.sliderAudioChat, this.numAudioChat, 1); + LinkedTweaks.LinkSlider(this.sliderAudiofVal0, this.numAudiofVal0, 100); + LinkedTweaks.LinkSlider(this.sliderAudiofVal1, this.numAudiofVal1, 100); + LinkedTweaks.LinkSlider(this.sliderAudiofVal2, this.numAudiofVal2, 100); + LinkedTweaks.LinkSlider(this.sliderAudiofVal3, this.numAudiofVal3, 100); + LinkedTweaks.LinkSlider(this.sliderAudiofVal4, this.numAudiofVal4, 100); + LinkedTweaks.LinkSlider(this.sliderAudiofVal5, this.numAudiofVal5, 100); + LinkedTweaks.LinkSlider(this.sliderAudiofVal6, this.numAudiofVal6, 100); + + LinkedTweaks.LinkSlider(this.sliderFloatingQuestMarkersDistance, this.numFloatingQuestMarkersDistance, 10); + LinkedTweaks.LinkSlider(this.sliderConversationHistorySize, this.numConversationHistorySize, 1); + LinkedTweaks.LinkSlider(this.sliderHUDOpacity, this.numHUDOpacity, 100); + + LinkedTweaks.LinkSlider(this.sliderCameraDistanceMinimum, this.numCameraDistanceMinimum, 1); + LinkedTweaks.LinkSlider(this.sliderCameraDistanceMaximum, this.numCameraDistanceMaximum, 1); + LinkedTweaks.LinkSlider(this.sliderfPitchZoomOutMaxDist, this.numfPitchZoomOutMaxDist, 1); + + LinkedTweaks.LinkSlider(this.trackBarPhotomodeTranslationSpeed, this.numericUpDownPhotomodeTranslationSpeed, 10); + LinkedTweaks.LinkSlider(this.trackBarPhotomodeRotationSpeed, this.numericUpDownPhotomodeRotationSpeed, 10); + LinkedTweaks.LinkSlider(this.trackBarPhotomodeRange, this.numericUpDownPhotomodeRange, 1); + + + LinkedTweaks.LinkSlider(this.trackBarfOverShoulderPosX, this.numfOverShoulderPosX, 1); + LinkedTweaks.LinkSlider(this.trackBarfOverShoulderPosZ, this.numfOverShoulderPosZ, 1); + LinkedTweaks.LinkSlider(this.trackBarfOverShoulderCombatPosX, this.numfOverShoulderCombatPosX, 1); + LinkedTweaks.LinkSlider(this.trackBarfOverShoulderCombatPosZ, this.numfOverShoulderCombatPosZ, 1); + LinkedTweaks.LinkSlider(this.trackBarfOverShoulderCombatAddY, this.numfOverShoulderCombatAddY, 1); + LinkedTweaks.LinkSlider(this.trackBarfOverShoulderMeleeCombatPosX, this.numfOverShoulderMeleeCombatPosX, 1); + LinkedTweaks.LinkSlider(this.trackBarfOverShoulderMeleeCombatPosZ, this.numfOverShoulderMeleeCombatPosZ, 1); + LinkedTweaks.LinkSlider(this.trackBarfOverShoulderMeleeCombatAddY, this.numfOverShoulderMeleeCombatAddY, 1); + } + + /// + /// Link controls to tweaks, that means: + /// -> If a control's value changes, change the value of a tweak. + /// -> If the UI is being (re)loaded, set each value according to that of the linked tweak. + /// + public void LinkControlsToTweaks() + { + /* + * Info tab + */ + + // Make *.ini files read-only + /*LinkedTweaks.LinkTweak(checkBoxReadOnly, iniReadOnlyTweak); + + // Automatically apply changes when tool is closed or game is launched + LinkedTweaks.LinkTweak(checkBoxAutoApply, autoApplyTweak); + + // Don't check for updates on startup. + LinkedTweaks.LinkTweak(checkBoxIgnoreUpdates, ignoreUpdatesTweak); + + // Play notification sounds + LinkedTweaks.LinkTweak(checkBoxPlayNotificationSound, playNotificationSoundsTweak); + + // Close the tool when the game is launched. + LinkedTweaks.LinkTweak(checkBoxQuitOnGameLaunch, toolQuitOnLaunchTweak);*/ + + + + /* + * General tab + */ + + // Enable Steam + LinkedTweaks.LinkTweak(checkBoxEnableSteam, enableSteamTweak); + + // Automatically sign-in + LinkedTweaks.LinkTweak(checkBoxAutoSignin, autoSigninTweak); + + // Play intro videos + LinkedTweaks.LinkTweak(checkBoxIntroVideos, introVideoTweak); + + + // Show splash screen with news on startup + LinkedTweaks.LinkTweak(checkBoxSkipSplash, skipStartupSplash); + + // Show damage numbers in Nuclear Winter + LinkedTweaks.LinkTweak(checkBoxShowDamageNumbersNW, showDamageNumbersNuclearWinterTweak); + + // Show damage numbers in Adventure mode + LinkedTweaks.LinkTweak(checkBoxShowDamageNumbersA, showDamageNumbersAdventureTweak); + + // Show item rarity colors + LinkedTweaks.LinkTweak(checkBoxItemRarityColorsNW, enableItemRarityColorsTweak); + + // Show Public Team Notifications + LinkedTweaks.LinkTweak(checkBoxShowPublicTeamNotifications, showPublicTeamNotificationsTweak); + + // Show Floating Quest Markers + LinkedTweaks.LinkTweak(checkBoxShowFloatingQuestMarkers, showFloatingQuestMarkersTweak); + + // Show Floating Quest Text + LinkedTweaks.LinkTweak(checkBoxShowFloatingQuestText, showFloatingQuestTextTweak); + + // Show crosshair + LinkedTweaks.LinkTweak(checkBoxShowCrosshair, showCrosshairTweak); + + // Enable Power Armor HUD + LinkedTweaks.LinkTweak(checkBoxEnablePowerArmorHUD, enablePowerArmorHUDTweak); + + // Show compass + LinkedTweaks.LinkTweak(checkBoxShowCompass, showCompassTweak); + + // Show Other Players' Names + LinkedTweaks.LinkTweak(checkBoxShowOtherPlayersNames, showOtherPlayersNamesTweak); + + // Show active effects on HUD + LinkedTweaks.LinkTweak(comboBoxShowActiveEffectsOnHUD, activeEffectsOnHUDTweak); + + // Floating Quest Markers Draw Distance + LinkedTweaks.LinkTweak(numFloatingQuestMarkersDistance, floatingQuestMarkersDistanceTweak); + + // HUD Opacity + LinkedTweaks.LinkTweak(numHUDOpacity, hudOpacityTweak); + + + // XYZ Quest Active when started + LinkedTweaks.LinkTweak(checkBoxEnableQuestAutoTrackMain, autoTrackMainQuestWhenStartedTweak); + LinkedTweaks.LinkTweak(checkBoxEnableQuestAutoTrackSide, autoTrackSideQuestWhenStartedTweak); + LinkedTweaks.LinkTweak(checkBoxEnableQuestAutoTrackMisc, autoTrackMiscQuestWhenStartedTweak); + LinkedTweaks.LinkTweak(checkBoxEnableQuestAutoTrackEvent, autoTrackEventQuestWhenStartedTweak); + LinkedTweaks.LinkTweak(checkBoxEnableQuestAutoTrackDaily, autoTrackOtherQuestWhenStartedTweak); + + + + /* + * Video tab + */ + + // Custom resolution + LinkedTweaks.LinkSize(numCustomResW, numCustomResH, displaySizeTweak); + + // Display mode + LinkedTweaks.LinkTweak(comboBoxDisplayMode, displayModeTweak); + + // iPresentInterval + LinkedTweaks.LinkTweak(checkBoxVSync, presentIntervalTweak); + + // Always active + LinkedTweaks.LinkTweak(checkBoxAlwaysActive, windowAlwaysActiveTweak); + + // Top most window + LinkedTweaks.LinkTweak(checkBoxTopMostWindow, topMostWindowTweak); + + // Fix HUD for 5:4 and 4:3 screens + LinkedTweaks.LinkTweak(checkBoxFixHUDFor5_4and4_3, fixHUD4to3RatioTweak); + + + + /* + * Graphics + */ + + // Anti aliasing + LinkedTweaks.LinkTweak(comboBoxAntiAliasing, antiAliasingTweak); + + // Anisotropic filtering + LinkedTweaks.LinkTweak( + comboBoxAnisotropicFiltering, + new int[] { 0, 2, 4, 8, 16 }, + anisotropicFilteringTweak); + + // Depth of Field + LinkedTweaks.LinkTweak(checkBoxDepthOfField, enableDepthOfFieldTweak); + + // Motion Blur + LinkedTweaks.LinkTweak(checkBoxMotionBlur, motionBlurTweak); + + // Radial Blur + LinkedTweaks.LinkTweak(checkBoxRadialBlur, radialBlurTweak); + + // Lens Flare + LinkedTweaks.LinkTweak(checkBoxLensFlare, lensFlareTweak); + + // Ambient Occlusion + LinkedTweaks.LinkTweak(checkBoxAmbientOcclusion, ambientOcclusionTweak); + + // Water / Displacement + LinkedTweaks.LinkTweak(checkBoxWaterDisplacement, waterDisplacementsTweak); + + // Weather / Fog + LinkedTweaks.LinkTweak(checkBoxFogEnabled, fogTweak); + + // Weather / Rain Occlusion + LinkedTweaks.LinkTweak(checkBoxWeatherRainOcclusion, rainOcclusionTweak); + + // Weather / Wetness Occlusion + LinkedTweaks.LinkTweak(checkBoxWeatherWetnessOcclusion, wetnessOcclusionTweak); + + // Lighting / Volumetric Lighting + LinkedTweaks.LinkTweak(checkBoxGodrays, volumetricLightingTweak); + + // Effects / Disable gore + LinkedTweaks.LinkTweak(checkBoxDisableGore, disableAllGoreTweak); + + // Shadow texture map resolution + LinkedTweaks.LinkTweak( + comboBoxShadowTextureResolution, + new int[] { 512, 1024, 2048, 4096 }, + shadowMapResolutionTweak); + + // Shadows / Blurriness + LinkedTweaks.LinkTweak( + comboBoxShadowBlurriness, + new int[] { 1, 2, 3 }, + shadowBlurrinessTweak); + + // Shadow distance + LinkedTweaks.LinkTweak(numShadowDistance, shadowDistanceTweak); + + // Enable grass + LinkedTweaks.LinkTweak(checkBoxGrass, enableGrassTweak); + + // Grass fade distance + LinkedTweaks.LinkTweak(numGrassFadeDistance, grassFadeDistanceTweak); + + // LOD Fade Distances + LinkedTweaks.LinkTweak(numLODObjects, lodFadeOutMultObjectsTweak); + LinkedTweaks.LinkTweak(numLODItems, lodFadeOutMultItemsTweak); + LinkedTweaks.LinkTweak(numLODActors, lodFadeOutMultActorsTweak); + + // TAA Sharpening + LinkedTweaks.LinkTweak(numTAAPostOverlay, taaPostOverlayTweak); + LinkedTweaks.LinkTweak(numTAAPostSharpen, taaPostSharpenTweak); + + + + /* + * Audio tab + */ + + // Enable audio + LinkedTweaks.LinkTweak(checkBoxEnableAudio, enableAudioTweak); + + // Play music in main menu + LinkedTweaks.LinkTweak(checkBoxMainMenuMusic, playMainMenuMusicTweak); + + + // Voice Chat Mode + LinkedTweaks.LinkTweak(comboBoxVoiceChatMode, voiceChatModeTweak); + + // Push-To-Talk + LinkedTweaks.LinkTweak(checkBoxPushToTalk, voicePushToTalkEnabledTweak); + + + // General subtitles + LinkedTweaks.LinkTweak(checkBoxGeneralSubtitles, generalSubtitlesTweak); + + // Dialogue subtitles + LinkedTweaks.LinkTweak(checkBoxDialogueSubtitles, dialogueSubtitlesTweak); + + // Dialogue history + LinkedTweaks.LinkTweak(checkBoxDialogueHistory, showDialogueHistoryTweak); + + // Conversation History Size + LinkedTweaks.LinkTweak(numConversationHistorySize, conversationHistorySizeTweak); + + + // Master volume + LinkedTweaks.LinkTweak(numVolumeMaster, masterVolumeTweak); + + // Voice chat volume + LinkedTweaks.LinkTweak(numAudioChat, vivoxVoiceVolumeTweak); + + // Audio menu: + LinkedTweaks.LinkTweak(numAudiofVal0, val0Tweak); + LinkedTweaks.LinkTweak(numAudiofVal1, val1Tweak); + LinkedTweaks.LinkTweak(numAudiofVal2, val2Tweak); + LinkedTweaks.LinkTweak(numAudiofVal3, val3Tweak); + LinkedTweaks.LinkTweak(numAudiofVal4, val4Tweak); + LinkedTweaks.LinkTweak(numAudiofVal5, val5Tweak); + LinkedTweaks.LinkTweak(numAudiofVal6, val6Tweak); + + + + /* + * Controls tab + */ + + // Mouse sensitivity + LinkedTweaks.LinkTweak(numMouseSensitivity, mouseSensitivityTweak); + + // Fix mouse sensitivity + LinkedTweaks.LinkTweak(checkBoxFixMouseSensitivity, fixMouseSensitivityTweak); + + // Fix aim sensitivity + LinkedTweaks.LinkTweak(checkBoxFixAimSensitivity, fixAimSensitivityTweak); + + // Mouse acceleration + LinkedTweaks.LinkTweak(checkBoxMouseAcceleration, mouseAccelerationTweak); + + // Invert mouse: + LinkedTweaks.LinkTweak(checkBoxMouseInvertX, mouseInvertXTweak); + LinkedTweaks.LinkTweak(checkBoxMouseInvertY, mouseInvertYTweak); + + // Gamepad enabled + LinkedTweaks.LinkTweak(checkBoxGamepadEnabled, gamepadEnableTweak); + + // Vibration + LinkedTweaks.LinkTweak(checkBoxGamepadRumble, enableGamepadRumbleTweak); + + + + /* + * Pipboy tab + */ + + // Pipboy color + LinkedTweaks.LinkColor( + buttonColorPickPipboy, // "Pick color" button + buttonColorResetPipboy, // "Reset" button + colorDialog, // The color picking dialog that should open when clicking on "Pick color" + colorPreviewPipboy, // The little, colored square that is left to the label. + pipboyColorTweak); + + // Quickboy color + LinkedTweaks.LinkColor( + buttonColorPickQuickboy, + buttonColorResetQuickboy, + colorDialog, + colorPreviewQuickboy, + quickboyColorTweak); + + // Power Armor Pipboy color + LinkedTweaks.LinkColor( + buttonColorPickPAPipboy, + buttonColorResetPAPipboy, + colorDialog, + colorPreviewPAPipboy, + powerArmorPipboyColorTweak); + + // Radiobuttons, Quickboy or Pipboy mode + LinkedTweaks.LinkTweak(this.radioButtonQuickboy, this.radioButtonPipboy, quickboyModeEnabledTweak); + + // Pipboy resolution + LinkedTweaks.LinkSize(numPipboyTargetWidth, numPipboyTargetHeight, pipboyTargetResolutionTweak); + + + + /* + * Camera tab + */ + + // 1st person FOV + LinkedTweaks.LinkTweak(numFirstPersonFOV, fov1stPersonTweak); + + // World FOV + LinkedTweaks.LinkTweak(numWorldFOV, fov3rdPersonTweak); + + // 3rd person ADS FOV + LinkedTweaks.LinkTweak(numADSFOV, fov3rdADSTweak); + + // fDefaultFOV + LinkedTweaks.LinkTweak(numfDefaultFOV, defaultFOVTweak); + + // Camera distance + LinkedTweaks.LinkTweak(numCameraDistanceMinimum, vanityModeMinDistTweak); + LinkedTweaks.LinkTweak(numCameraDistanceMaximum, vanityModeMaxDistTweak); + + // fPitchZoomOutMaxDist + LinkedTweaks.LinkTweak(numfPitchZoomOutMaxDist, pitchZoomOutMaxDistTweak); + + // Switch delay + LinkedTweaks.LinkTweak(this.numCameraSwitchDelay, firstThirdPerspectiveSwitchDelayTweak); + + // Photomode options: + LinkedTweaks.LinkTweak(this.numericUpDownPhotomodeRange, selfieModeRangeTweak); + LinkedTweaks.LinkTweak(this.numericUpDownPhotomodeTranslationSpeed, selfieCameraTranslationSpeedTweak); + LinkedTweaks.LinkTweak(this.numericUpDownPhotomodeRotationSpeed, selfieCameraRotationSpeedTweak); + + // Vanity mode + LinkedTweaks.LinkTweakNegated(this.checkBoxVanityMode, disableAutoVanityModeTweak); + LinkedTweaks.LinkTweak(this.checkBoxForceVanityMode, forceAutoVanityModeTweak); + + // bApplyCameraNodeAnimations + LinkedTweaks.LinkTweak(this.checkBoxbApplyCameraNodeAnimations, applyCameraNodeAnimationsTweak); + + // OverShoulder sliders: + LinkedTweaks.LinkTweak(this.numfOverShoulderPosX, cameraOverShoulderPosXTweak); + LinkedTweaks.LinkTweak(this.numfOverShoulderPosZ, cameraOverShoulderPosZTweak); + LinkedTweaks.LinkTweak(this.numfOverShoulderCombatPosX, cameraOverShoulderCombatPosXTweak); + LinkedTweaks.LinkTweak(this.numfOverShoulderCombatPosZ, cameraOverShoulderCombatPosZTweak); + LinkedTweaks.LinkTweak(this.numfOverShoulderCombatAddY, cameraOverShoulderCombatAddYTweak); + LinkedTweaks.LinkTweak(this.numfOverShoulderMeleeCombatPosX, cameraOverShoulderMeleeCombatPosXTweak); + LinkedTweaks.LinkTweak(this.numfOverShoulderMeleeCombatPosZ, cameraOverShoulderMeleeCombatPosZTweak); + LinkedTweaks.LinkTweak(this.numfOverShoulderMeleeCombatAddY, cameraOverShoulderMeleeCombatAddYTweak); + + + + /* + * Gallery tab + */ + + // Screenshot index + LinkedTweaks.LinkTweak(numScreenshotIndex, screenshotIndexTweak); + } + + + public void LinkDangerZoneControls () + { + // Screen Space Reflections: + LinkedTweaks.LinkTweak(checkBoxScreenSpaceReflections, screenSpaceReflectionsTweak); + + // Amount of shadow "segments": iDirShadowSplits + LinkedTweaks.LinkTweak( + comboBoxiDirShadowSplits, + new int[] { 1, 2, 3 }, + dirShadowSplitsTweak); + + // BlendSplitDirShadowTweak / Shadow "segment" transition distance + LinkedTweaks.LinkTweak(numfBlendSplitDirShadow, blendSplitDirShadowTweak); + } + + + /* + * Define and instantiate all tweaks: + */ + + // Info tab + /*private INIReadOnlyTweak iniReadOnlyTweak = new INIReadOnlyTweak(); + private AutoApplyTweak autoApplyTweak = new AutoApplyTweak(); + private IgnoreUpdatesTweak ignoreUpdatesTweak = new IgnoreUpdatesTweak(); + private PlayNotificationSoundsTweak playNotificationSoundsTweak = new PlayNotificationSoundsTweak(); + private ToolQuitOnLaunchTweak toolQuitOnLaunchTweak = new ToolQuitOnLaunchTweak();*/ + + // General tab + private EnableSteamTweak enableSteamTweak = new EnableSteamTweak(); + private AutoSigninTweak autoSigninTweak = new AutoSigninTweak(); + private IntroVideoTweak introVideoTweak = new IntroVideoTweak(); + private SkipStartupSplash skipStartupSplash = new SkipStartupSplash(); + + private ShowDamageNumbersNuclearWinterTweak showDamageNumbersNuclearWinterTweak = new ShowDamageNumbersNuclearWinterTweak(); + private ShowDamageNumbersAdventureTweak showDamageNumbersAdventureTweak = new ShowDamageNumbersAdventureTweak(); + private EnableItemRarityColorsTweak enableItemRarityColorsTweak = new EnableItemRarityColorsTweak(); + private ShowPublicTeamNotificationsTweak showPublicTeamNotificationsTweak = new ShowPublicTeamNotificationsTweak(); + private ShowFloatingQuestMarkersTweak showFloatingQuestMarkersTweak = new ShowFloatingQuestMarkersTweak(); + private ShowFloatingQuestTextTweak showFloatingQuestTextTweak = new ShowFloatingQuestTextTweak(); + private ShowCompassTweak showCompassTweak = new ShowCompassTweak(); + private EnablePowerArmorHUDTweak enablePowerArmorHUDTweak = new EnablePowerArmorHUDTweak(); + private ShowCrosshairTweak showCrosshairTweak = new ShowCrosshairTweak(); + private ShowOtherPlayersNamesTweak showOtherPlayersNamesTweak = new ShowOtherPlayersNamesTweak(); + private ActiveEffectsOnHUDTweak activeEffectsOnHUDTweak = new ActiveEffectsOnHUDTweak(); + private FloatingQuestMarkersDistanceTweak floatingQuestMarkersDistanceTweak = new FloatingQuestMarkersDistanceTweak(); + private HUDOpacityTweak hudOpacityTweak = new HUDOpacityTweak(); + + private AutoTrackQuestWhenStartedTweak autoTrackMainQuestWhenStartedTweak = new AutoTrackQuestWhenStartedTweak("Main", "Main"); + private AutoTrackQuestWhenStartedTweak autoTrackSideQuestWhenStartedTweak = new AutoTrackQuestWhenStartedTweak("Side", "Side"); + private AutoTrackQuestWhenStartedTweak autoTrackMiscQuestWhenStartedTweak = new AutoTrackQuestWhenStartedTweak("Misc", "Miscellaneous"); + private AutoTrackQuestWhenStartedTweak autoTrackEventQuestWhenStartedTweak = new AutoTrackQuestWhenStartedTweak("Event", "Event"); + private AutoTrackQuestWhenStartedTweak autoTrackOtherQuestWhenStartedTweak = new AutoTrackQuestWhenStartedTweak("Other", "Daily"); + + // Video tab + private DisplaySizeTweak displaySizeTweak = new DisplaySizeTweak(); + private DisplayModeTweak displayModeTweak = new DisplayModeTweak(); + private PresentIntervalTweak presentIntervalTweak = new PresentIntervalTweak(); + private WindowAlwaysActiveTweak windowAlwaysActiveTweak = new WindowAlwaysActiveTweak(); + private TopMostWindowTweak topMostWindowTweak = new TopMostWindowTweak(); + private FixHUD4to3RatioTweak fixHUD4to3RatioTweak = new FixHUD4to3RatioTweak(); + + // Graphics + private AntiAliasingTweak antiAliasingTweak = new AntiAliasingTweak(); + private AnisotropicFilteringTweak anisotropicFilteringTweak = new AnisotropicFilteringTweak(); + private EnableDepthOfFieldTweak enableDepthOfFieldTweak = new EnableDepthOfFieldTweak(); + private MotionBlurTweak motionBlurTweak = new MotionBlurTweak(); + private RadialBlurTweak radialBlurTweak = new RadialBlurTweak(); + private LensFlareTweak lensFlareTweak = new LensFlareTweak(); + private AmbientOcclusionTweak ambientOcclusionTweak = new AmbientOcclusionTweak(); + private WaterDisplacementsTweak waterDisplacementsTweak = new WaterDisplacementsTweak(); + private FogTweak fogTweak = new FogTweak(); + private RainOcclusionTweak rainOcclusionTweak = new RainOcclusionTweak(); + private WetnessOcclusionTweak wetnessOcclusionTweak = new WetnessOcclusionTweak(); + private VolumetricLightingTweak volumetricLightingTweak = new VolumetricLightingTweak(); + private DisableAllGoreTweak disableAllGoreTweak = new DisableAllGoreTweak(); + private ShadowMapResolutionTweak shadowMapResolutionTweak = new ShadowMapResolutionTweak(); + private ShadowBlurrinessTweak shadowBlurrinessTweak = new ShadowBlurrinessTweak(); + private ShadowDistanceTweak shadowDistanceTweak = new ShadowDistanceTweak(); + private DirShadowSplitsTweak dirShadowSplitsTweak = new DirShadowSplitsTweak(); + private LODFadeOutMultObjectsTweak lodFadeOutMultObjectsTweak = new LODFadeOutMultObjectsTweak(); + private LODFadeOutMultItemsTweak lodFadeOutMultItemsTweak = new LODFadeOutMultItemsTweak(); + private LODFadeOutMultActorsTweak lodFadeOutMultActorsTweak = new LODFadeOutMultActorsTweak(); + private EnableGrassTweak enableGrassTweak = new EnableGrassTweak(); + private GrassFadeDistanceTweak grassFadeDistanceTweak = new GrassFadeDistanceTweak(); + private BlendSplitDirShadowTweak blendSplitDirShadowTweak = new BlendSplitDirShadowTweak(); + private TAAPostOverlayTweak taaPostOverlayTweak = new TAAPostOverlayTweak(); + private TAAPostSharpenTweak taaPostSharpenTweak = new TAAPostSharpenTweak(); + private ScreenSpaceReflectionsTweak screenSpaceReflectionsTweak = new ScreenSpaceReflectionsTweak(); + + // Audio tab + private EnableAudioTweak enableAudioTweak = new EnableAudioTweak(); + private PlayMainMenuMusicTweak playMainMenuMusicTweak = new PlayMainMenuMusicTweak(); + + private VoiceChatModeTweak voiceChatModeTweak = new VoiceChatModeTweak(); + private VoicePushToTalkEnabledTweak voicePushToTalkEnabledTweak = new VoicePushToTalkEnabledTweak(); + + private GeneralSubtitlesTweak generalSubtitlesTweak = new GeneralSubtitlesTweak(); + private DialogueSubtitlesTweak dialogueSubtitlesTweak = new DialogueSubtitlesTweak(); + private ShowDialogueHistoryTweak showDialogueHistoryTweak = new ShowDialogueHistoryTweak(); + private ConversationHistorySizeTweak conversationHistorySizeTweak = new ConversationHistorySizeTweak(); + + private MasterVolumeTweak masterVolumeTweak = new MasterVolumeTweak(); + private VivoxVoiceVolumeTweak vivoxVoiceVolumeTweak = new VivoxVoiceVolumeTweak(); + + private AudioMenuValTweak val0Tweak = new AudioMenuValTweak("0", "Menu Music"); + private AudioMenuValTweak val1Tweak = new AudioMenuValTweak("1", "World Radios"); + private AudioMenuValTweak val2Tweak = new AudioMenuValTweak("2", "Voice"); + private AudioMenuValTweak val3Tweak = new AudioMenuValTweak("3", "Music"); + private AudioMenuValTweak val4Tweak = new AudioMenuValTweak("4", "Effects"); + private AudioMenuValTweak val5Tweak = new AudioMenuValTweak("5", "Footsteps"); + private AudioMenuValTweak val6Tweak = new AudioMenuValTweak("6", "Pip-Boy Radio"); + + // Controls tab + private MouseSensitivityTweak mouseSensitivityTweak = new MouseSensitivityTweak(); + private FixMouseSensitivityTweak fixMouseSensitivityTweak = new FixMouseSensitivityTweak(); + private FixAimSensitivityTweak fixAimSensitivityTweak = new FixAimSensitivityTweak(); + private MouseAccelerationTweak mouseAccelerationTweak = new MouseAccelerationTweak(); + private MouseInvertXTweak mouseInvertXTweak = new MouseInvertXTweak(); + private MouseInvertYTweak mouseInvertYTweak = new MouseInvertYTweak(); + private GamepadEnableTweak gamepadEnableTweak = new GamepadEnableTweak(); + private EnableGamepadRumbleTweak enableGamepadRumbleTweak = new EnableGamepadRumbleTweak(); + + // Pipboy tab + private PipboyColorTweak pipboyColorTweak = new PipboyColorTweak(); + private QuickboyColorTweak quickboyColorTweak = new QuickboyColorTweak(); + private PowerArmorPipboyColorTweak powerArmorPipboyColorTweak = new PowerArmorPipboyColorTweak(); + + private QuickboyModeEnabledTweak quickboyModeEnabledTweak = new QuickboyModeEnabledTweak(); + private PipboyTargetResolutionTweak pipboyTargetResolutionTweak = new PipboyTargetResolutionTweak(); + + // Camera + private FOV1stPersonTweak fov1stPersonTweak = new FOV1stPersonTweak(); + private FOV3rdPersonTweak fov3rdPersonTweak = new FOV3rdPersonTweak(); + private FOV3rdADSTweak fov3rdADSTweak = new FOV3rdADSTweak(); + private DefaultFOVTweak defaultFOVTweak = new DefaultFOVTweak(); + + private VanityModeMinDistTweak vanityModeMinDistTweak = new VanityModeMinDistTweak(); + private VanityModeMaxDistTweak vanityModeMaxDistTweak = new VanityModeMaxDistTweak(); + private PitchZoomOutMaxDistTweak pitchZoomOutMaxDistTweak = new PitchZoomOutMaxDistTweak(); + + private FirstThirdPerspectiveSwitchDelayTweak firstThirdPerspectiveSwitchDelayTweak = new FirstThirdPerspectiveSwitchDelayTweak(); + + private DisableAutoVanityModeTweak disableAutoVanityModeTweak = new DisableAutoVanityModeTweak(); + private ForceAutoVanityModeTweak forceAutoVanityModeTweak = new ForceAutoVanityModeTweak(); + + private SelfieModeRangeTweak selfieModeRangeTweak = new SelfieModeRangeTweak(); + private SelfieCameraTranslationSpeedTweak selfieCameraTranslationSpeedTweak = new SelfieCameraTranslationSpeedTweak(); + private SelfieCameraRotationSpeedTweak selfieCameraRotationSpeedTweak = new SelfieCameraRotationSpeedTweak(); + + private ApplyCameraNodeAnimationsTweak applyCameraNodeAnimationsTweak = new ApplyCameraNodeAnimationsTweak(); + private CameraOverShoulderPosXTweak cameraOverShoulderPosXTweak = new CameraOverShoulderPosXTweak(); + private CameraOverShoulderPosZTweak cameraOverShoulderPosZTweak = new CameraOverShoulderPosZTweak(); + private CameraOverShoulderCombatPosXTweak cameraOverShoulderCombatPosXTweak = new CameraOverShoulderCombatPosXTweak(); + private CameraOverShoulderCombatPosZTweak cameraOverShoulderCombatPosZTweak = new CameraOverShoulderCombatPosZTweak(); + private CameraOverShoulderCombatAddYTweak cameraOverShoulderCombatAddYTweak = new CameraOverShoulderCombatAddYTweak(); + private CameraOverShoulderMeleeCombatPosXTweak cameraOverShoulderMeleeCombatPosXTweak = new CameraOverShoulderMeleeCombatPosXTweak(); + private CameraOverShoulderMeleeCombatPosZTweak cameraOverShoulderMeleeCombatPosZTweak = new CameraOverShoulderMeleeCombatPosZTweak(); + private CameraOverShoulderMeleeCombatAddYTweak cameraOverShoulderMeleeCombatAddYTweak = new CameraOverShoulderMeleeCombatAddYTweak(); + + // Gallery tab + private ScreenshotIndexTweak screenshotIndexTweak = new ScreenshotIndexTweak(); + } +} diff --git a/Fo76ini/Forms/Form1/Form1.cs b/Fo76ini/Forms/Form1/Form1.cs index 5dfde7b..f987f3d 100644 --- a/Fo76ini/Forms/Form1/Form1.cs +++ b/Fo76ini/Forms/Form1/Form1.cs @@ -1,5 +1,15 @@ -using Fo76ini.Forms.FormWhatsNew; +using Fo76ini.Forms.FormIniError; +using Fo76ini.Forms.FormSettings; +using Fo76ini.Forms.FormWelcome; +using Fo76ini.Forms.FormWhatsNew; +using Fo76ini.Ini; +using Fo76ini.Interface; +using Fo76ini.Mods; +using Fo76ini.NexusAPI; +using Fo76ini.Profiles; using Fo76ini.Properties; +using Fo76ini.Tweaks; +using Fo76ini.Utilities; using IniParser.Model; using System; using System.Collections.Generic; @@ -8,67 +18,180 @@ using System.Drawing; using System.IO; using System.Linq; -using System.Media; using System.Text; +using System.Text.RegularExpressions; using System.Windows.Forms; namespace Fo76ini { public partial class Form1 : Form { - private UILoader uiLoader = new UILoader(); - - private FormWhatsNew formWhatsNew = null; - private FormMods formMods; - private bool formModsBackupCreated = false; + private FormWhatsNew formWhatsNew = new FormWhatsNew(); + private FormSettings formSettings; - private RadioButton[] accountProfileRadioButtons; + private GameInstance game; - private static Form1 instance; - public static Form1 Instance - { - get { return Form1.instance; } - } + public readonly bool FirstStart; public Form1() { - Form1.instance = this; - InitializeComponent(); + // Determine whether this is the very first start of the tool on the system: + FirstStart = !File.Exists(IniFiles.ConfigPath) && !File.Exists(ProfileManager.XMLPath); + + // Handle changes: + ProfileManager.ProfileChanged += OnProfileChanged; + + // Create FormMods: + formMods = new FormMods(); + FormMods.NWModeUpdated += OnNWModeUpdated; + + /* + * Translations + */ + + // Make this form translatable: LocalizedForm form = new LocalizedForm(this, this.toolTip); form.SpecialControls.Add(this.contextMenuStripGallery); Localization.LocalizedForms.Add(form); + // Handle translations: + Translation.LanguageChanged += OnLanguageChanged; + + // Add control elements to blacklist: + Translation.BlackList.AddRange(new string[] { + "labelConfigVersion", + "labelAuthorName", + "labelTranslationAuthor", + "groupBoxWIP", + "labelNewVersion", + "labelGameEdition", + "toolStripStatusLabelGameText", + "toolStripStatusLabelEditionText", + "toolStripStatusLabel1", + "labelPipboyResolutionSpacer" + }); + + + /* + * Dropdowns + */ + + #region Dropdowns + // Let's add options to the drop-down menus: + // Display resolution usage statistics (and lists): + // https://store.steampowered.com/hwsurvey/Steam-Hardware-Software-Survey-Welcome-to-Steam + // https://www.rapidtables.com/web/dev/screen-resolution-statistics.html + // https://w3codemasters.in/most-common-screen-resolutions/ + // https://www.reneelab.com/video-with-4-3-format.html + // https://www.overclock.net/threads/list-of-display-resolutions-aspect-ratios.539967/ // https://en.wikipedia.org/wiki/List_of_common_resolutions DropDown.Add("Resolution", new DropDown( this.comboBoxResolution, - new String[] { + new string[] { "Custom", - "640x480", - "800x600", - "1280x720", - "1280x768", - "1152x864", - "1440x900", - "1600x900", - "1280x960", - "1920x1080", - "2560x1080", - "3440x1440", - "2560x1440", - "3200x1800", - "5120x2160", - "5120x2880" + "", + "┌───────────────────────────────┐", + "│ 4:3 │", + "├───────────────────────────────┤", + "│ [4:3] 640 x 480 (VGA) │", + "│ [4:3] 800 x 600 (SVGA) │", + "│ [4:3] 960 x 720 │", + "│ [4:3] 1024 x 768 (XGA) │", + "│ [4:3] 1152 x 864 │", + "│ [4:3] 1280 x 960 │", + "│ [4:3] 1400 x 1050 │", + "│ [4:3] 1440 x 1080 │", + "│ [4:3] 1600 x 1200 │", + "│ [4:3] 1920 x 1440 │", + "│ [4:3] 2048 x 1536 │", + "│ [4:3] 2880 x 2160 │", + "│ │", + "│ │", + "├───────────────────────────────┤", + "│ 5:3 │", + "├───────────────────────────────┤", + "│ [5:3] 800 x 480 │", + "│ [5:3] 1280 x 768 (WXGA) │", + "│ │", + "│ │", + "├───────────────────────────────┤", + "│ 5:4 │", + "├───────────────────────────────┤", + "│ [5:4] 1152 x 960 │", + "│ [5:4] 1280 x 1024 │", + "│ [5:4] 2560 x 2048 │", + "│ [5:4] 5120 x 4096 │", + "│ │", + "│ │", + "├───────────────────────────────┤", + "│ 8:5 │", + "├───────────────────────────────┤", + "│ [8:5] 1280 x 800 │", + "│ [8:5] 1440 x 900 │", + "│ [8:5] 1680 x 1050 │", + "│ [8:5] 1920 x 1200 │", + "│ │", + "│ │", + "├───────────────────────────────┤", + "│ 16:9 │", + "├───────────────────────────────┤", + "│ [16:9] 1024 x 576 │", + "│ [16:9] 1152 x 648 │", + "│ [16:9] 1280 x 720 (HD) │", + "│ [16:9] 1360 x 768 │", + "│ [16:9] 1365 x 768 │", + "│ [16:9] 1366 x 768 │", + "│ [16:9] 1536 x 864 │", + "│ [16:9] 1600 x 900 │", + "│ [16:9] 1920 x 1080 (Full HD) │", + "│ [16:9] 2560 x 1440 (WQHD) │", + "│ [16:9] 3200 x 1800 │", + "│ [16:9] 3840 x 2160 (4K UHD1) │", + "│ [16:9] 5120 x 2880 (5K) │", + "│ [16:9] 7680 x 4320 (8K UHD2) │", + "│ │", + "│ │", + "├───────────────────────────────┤", + "│ 16:10 │", + "├───────────────────────────────┤", + "│ [16:10] 640 x 400 │", + "│ [16:10] 1280 x 800 │", + "│ [16:10] 1440 x 900 │", + "│ [16:10] 1680 x 1050 │", + "│ [16:10] 1920 x 1200 │", + "│ [16:10] 2560 x 1600 │", + "│ [16:10] 3840 x 2400 │", + "│ │", + "│ │", + "├───────────────────────────────┤", + "│ 17:9 │", + "├───────────────────────────────┤", + "│ [17:9] 2048 x 1080 │", + "│ │", + "│ │", + "├───────────────────────────────┤", + "│ 21:9 │", + "├───────────────────────────────┤", + "│ [21:9] 1920 x 800 │", + "│ [21:9] 2560 x 1080 │", + "│ [21:9] 3440 x 1440 │", + "│ [21:9] 3840 x 1600 │", + "│ [21:9] 5120 x 2160 │", + "│ │", + "│ │", + "└───────────────────────────────┘", + "" } )); DropDown.Add("DisplayMode", new DropDown( this.comboBoxDisplayMode, - new String[] { + new string[] { "Fullscreen", "Windowed", "Borderless windowed", @@ -78,7 +201,7 @@ public Form1() DropDown.Add("AntiAliasing", new DropDown( this.comboBoxAntiAliasing, - new String[] { + new string[] { "TAA (default)", "FXAA", "Disabled" @@ -87,7 +210,7 @@ public Form1() DropDown.Add("AnisotropicFiltering", new DropDown( this.comboBoxAnisotropicFiltering, - new String[] { + new string[] { "None", "2x", "4x", @@ -98,7 +221,7 @@ public Form1() DropDown.Add("ShadowTextureResolution", new DropDown( this.comboBoxShadowTextureResolution, - new String[] { + new string[] { "512 = Potato", "1024 = Low", "2048 = High (default)", @@ -108,26 +231,16 @@ public Form1() DropDown.Add("ShadowBlurriness", new DropDown( this.comboBoxShadowBlurriness, - new String[] { + new string[] { "1x", "2x", "3x = Default, recommended" } )); - DropDown.Add("Files", new DropDown( - this.comboBoxCustomFile, - new String[] { - "Fallout76.ini", - "Fallout76Prefs.ini", - "Fallout76Custom.ini" - } - )); - this.comboBoxCustomFile.SelectedIndex = 0; - DropDown.Add("VoiceChatMode", new DropDown( this.comboBoxVoiceChatMode, - new String[] { + new string[] { "Auto", "Area", "Team", @@ -137,7 +250,7 @@ public Form1() DropDown.Add("ShowActiveEffectsOnHUD", new DropDown( this.comboBoxShowActiveEffectsOnHUD, - new String[] { + new string[] { "Disabled", "Detrimental", "All" @@ -146,16 +259,21 @@ public Form1() DropDown.Add("iDirShadowSplits", new DropDown( this.comboBoxiDirShadowSplits, - new String[] { + new string[] { "1 - Low", "2 - High / Medium", "3 - Ultra" } )); + #endregion + + /* + * Event handlers: + */ // Disable scroll wheel on UI elements to prevent the user from accidentally changing values: - PreventChangeOnMouseWheelForAllElements(this); + Utils.PreventChangeOnMouseWheelForAllElements(this); // Event handler: this.FormClosing += this.Form1_FormClosing; @@ -163,190 +281,207 @@ public Form1() this.KeyDown += this.Form1_KeyDown; this.backgroundWorkerGetLatestVersion.RunWorkerCompleted += backgroundWorkerGetLatestVersion_RunWorkerCompleted; - this.backgroundWorkerDownloadLanguages.RunWorkerCompleted += backgroundWorkerDownloadLanguages_RunWorkerCompleted; - this.backgroundWorkerEnableNWMode.RunWorkerCompleted += backgroundWorkerEnableNWMode_RunWorkerCompleted; - this.backgroundWorkerDisableNWMode.RunWorkerCompleted += backgroundWorkerDisableNWMode_RunWorkerCompleted; - } + InitAccountProfileRadiobuttons(); - // Winforms Double Buffering - // https://stackoverflow.com/questions/3718380/winforms-double-buffering/3718648#3718648 - // fixes the visual artifacts when scrolling - protected override CreateParams CreateParams - { - get - { - CreateParams cp = base.CreateParams; - cp.ExStyle |= 0x02000000; // Turn on WS_EX_COMPOSITED - return cp; - } - } + // Pipboy screen preview: + InitPipboyScreen(); + this.colorPreviewPipboy.BackColorChanged += colorPreviewPipboy_BackColorChanged; - /// - /// Disable scroll wheel on UI elements (NumericUpDown and ComboBox) to prevent the user from accidentally changing values - /// - /// - private void PreventChangeOnMouseWheelForAllElements(Control control) - { - foreach (Control subControl in control.Controls) + // Danger Zone: + this.tabControl1.TabPages.Remove(this.tabPageDangerZone); + FormSettings.SettingsClosing += (object sender, EventArgs e) => { - // NumericUpDown and ComboBox: - if (subControl.Name.StartsWith("num") || subControl.Name.StartsWith("comboBox") || subControl.Name.StartsWith("slider")) - subControl.MouseWheel += (object sender, MouseEventArgs e) => ((HandledMouseEventArgs)e).Handled = true; - - // TabControl, TabPage, and GroupBox: - if (subControl.Name.StartsWith("tab") || subControl.Name.StartsWith("groupBox") || subControl.Name.StartsWith("panel")) - PreventChangeOnMouseWheelForAllElements(subControl); - } + if (FormSettings.DangerZoneEnabled && !this.tabControl1.TabPages.Contains(this.tabPageDangerZone)) + { + this.tabControl1.TabPages.Add(this.tabPageDangerZone); + LinkDangerZoneControls(); + } + }; } private void Form1_Load(object sender, EventArgs e) { // Create folders, if not present: - if (!Directory.Exists(Shared.AppConfigFolder)) - Directory.CreateDirectory(Shared.AppConfigFolder); + Directory.CreateDirectory(Shared.AppConfigFolder); + Directory.CreateDirectory(Localization.LanguageFolder); + Directory.CreateDirectory(IniFiles.ParentPath); - if (!Directory.Exists(Localization.languageFolder)) - Directory.CreateDirectory(Localization.languageFolder); + // Link tweaks + LinkInfo(); + LinkSliders(); + LinkControlsToTweaks(); - // Create note to old config folder to inform users, if present: - if (Directory.Exists(Shared.OldAppConfigFolder)) - { - try - { - using (StreamWriter f = new StreamWriter(Path.Combine(Shared.OldAppConfigFolder, "READ ME - CONFIG FOLDER HAS BEEN MOVED.txt"))) - { - f.Write( - "Hi,\n\n"+ - "the entire configuration folder has been moved from\n" + - "C:\\Users\\USERNAME\\Documents\\Fallout 76 Quick Configuration\\\n" + - "to\n" + - "C:\\Users\\USERNAME\\AppData\\Local\\Fallout 76 Quick Configuration\\\n" + - "due to write-permission issues.\n\n" + - "Therefore changes to these files won't have any effect.\n" + - "It's safe to delete this folder, if you don't need the log files.\n\n" + - "Users reported that the tool is crashing for them, because it can't write to the aforementioned folder.\n" + - "So I moved it in the hope that it'll fix the issue, at least in part.\n" + - "Also, it's a better place anyway, as the Documents folder is supposed to contain documents. (Who knew?)\n\n" + - "Anyways, happy hunting!" - ); - } - } - catch - { - MessageBox.Show(@"All configuration files have been moved to 'C:\Users\\AppData\Local\Fallout 76 Quick Configuration'. Delete the old folder to stop this message from displaying.", "Old configuration path found"); - } - } + // Load config.ini + IniFiles.LoadConfig(); - this.formMods = new FormMods(); + // Load game instances + ProfileManager.Load(); + formSettings = new FormSettings(); - // Load config.ini - IniFiles.Instance.LoadConfig(); + this.timerCheckFiles.Enabled = true; - // Load the languages - Localization.AssignDropBox(this.comboBoxLanguage); - Localization.GenerateTemplate(); + // Load translations + Localization.GenerateDefaultTemplate(); Localization.LookupLanguages(); - // Load *.ini files: + Configuration.LoadWindowState("Form1", this); + + // Remove updater, if present: try { - Shared.LoadGameEdition(); - IniFiles.Instance.LoadGameInis(); - } - catch (IniParser.Exceptions.ParsingException exc) - { - //MessageBox.Show(exc.Message, "Couldn't parse *.ini files", MessageBoxButtons.OK, MessageBoxIcon.Error); - MsgBox.Get("iniParsingError").FormatText(exc.Message).Show(MessageBoxIcon.Error); - Application.Exit(); - return; + string updaterPath = Path.Combine(Shared.AppConfigFolder, "Updater"); + if (Directory.Exists(updaterPath)) + Directory.Delete(updaterPath, true); } - catch (FileNotFoundException exc) + catch { - MsgBox.Get("runGameToGenerateINI").FormatTitle(IniFiles.Instance.GetIniName(IniFile.F76), IniFiles.Instance.GetIniName(IniFile.F76Prefs)).Show(MessageBoxButtons.OK, MessageBoxIcon.Error); - Application.Exit(); - return; + // Yeah, well or not. } - this.timerCheckFiles.Enabled = true; - - LoadNuclearWinterConfiguration(); - - // Load mods: - ManagedMods.Instance.Load(); - this.formMods.UpdateUI(); + this.LoadGallery(); - // Account profiles: - this.accountProfileRadioButtons = new RadioButton[] { this.radioButtonAccount1, this.radioButtonAccount2, this.radioButtonAccount3, this.radioButtonAccount4, this.radioButtonAccount5, this.radioButtonAccount6, this.radioButtonAccount7, this.radioButtonAccount8 }; - foreach (RadioButton rbutton in this.accountProfileRadioButtons) - rbutton.CheckedChanged += new System.EventHandler(this.radioButtonAccount_CheckedChanged); + MakePictureBoxButton(this.pictureBoxUpdateButton, "updateNowButton"); + } - // Setup UI: - CheckAllINIValues(); - ColorIni2Ui(); - UpdateCameraPositionUI(); - AddAllEventHandler(); - uiLoader.Update(); + private void Form1_Shown(object sender, EventArgs e) + { + // Show welcome dialog: + if (FirstStart) + FormWelcome.OpenDialog(); + // Check for updates CheckVersion(); - if (IniFiles.Instance.GetBool(IniFile.Config, "Preferences", "bOpenModManagerOnLaunch", false)) - this.formMods.OpenUI(); + // Display "What's new?" dialog + if (!IniFiles.Config.GetBool("Preferences", "bIgnoreUpdates", false)) + ShowWhatsNewConditionally(); - IniFiles.Instance.LoadWindowState("Form1", this); + IniFiles.Config.Set("General", "sPreviousVersion", Shared.VERSION); + } - // Remove updater, if present: - try + private void OnProfileChanged(object sender, ProfileEventArgs e) + { + this.game = e.ActiveGameInstance; + this.timerCheckFiles.Enabled = false; + while (true) { - String updaterPath = Path.Combine(Shared.AppConfigFolder, "Updater"); - if (Directory.Exists(updaterPath)) - Directory.Delete(updaterPath, true); + try + { + IniFiles.Load(game); + break; + } + catch (IniParsingException exc) + { + DialogResult result = FormIniError.OpenDialog(exc); + if (result == DialogResult.Retry) + { + continue; + } + else if (result == DialogResult.Ignore) + { + continue; + } + else if (result == DialogResult.Abort) + { + Environment.Exit(-1); + return; + } + //MsgBox.Get("iniParsingError").FormatText(exc.Message).Show(MessageBoxIcon.Error); + //Application.Exit(); + //return; + } } - catch + LinkedTweaks.LoadValues(); + // TODO: For some reason, it won't update the resolution combobox, unless I add this workaround: + numCustomRes_ValueChanged(null, null); + + // Change image + switch (e.ActiveGameInstance.Edition) { - // Yeah, well or not. + case GameEdition.Steam: + this.pictureBoxGameEdition.Image = Resources.steam; + this.toolStripStatusLabelEditionText.Text = "Steam"; + this.labelGameEdition.Text = "Steam"; + break; + case GameEdition.BethesdaNet: + this.pictureBoxGameEdition.Image = Resources.bethesda; + this.toolStripStatusLabelEditionText.Text = "Bethesda.net"; + this.labelGameEdition.Text = "Bethesda"; + break; + case GameEdition.BethesdaNetPTS: + this.pictureBoxGameEdition.Image = Resources.bethesda_pts; + this.toolStripStatusLabelEditionText.Text = "Bethesda.net (PTS)"; + this.labelGameEdition.Text = "Bethesda\n(PTS)"; + break; + case GameEdition.MSStore: + this.pictureBoxGameEdition.Image = Resources.msstore; + this.toolStripStatusLabelEditionText.Text = "Microsoft Store"; + this.labelGameEdition.Text = "Microsoft\nStore"; + break; + default: + this.pictureBoxGameEdition.Image = Resources.help_128; + this.toolStripStatusLabelEditionText.Text = Localization.GetString("unknown"); + this.labelGameEdition.Text = Localization.GetString("unknown"); + break; } - this.LoadGallery(); + LoadAccountProfile(); + LoadCustomTab(); - MakePictureBoxButton(this.pictureBoxUpdateButton, "updateNowButton"); + this.toolStripStatusLabelGameText.Text = e.ActiveGameInstance?.Title; + this.timerCheckFiles.Enabled = true; } - private void Form1_Shown(Object sender, EventArgs e) + + // Winforms Double Buffering + // https://stackoverflow.com/questions/3718380/winforms-double-buffering/3718648#3718648 + // fixes the visual artifacts when scrolling + protected override CreateParams CreateParams { - // Check display resolution - int[] res = Utils.GetDisplayResolution(); - if (res[0] < 920 || res[1] < 750) - MsgBox.Get("displayResolutionTooLow").FormatText($"{res[0]} x {res[1]}", "920 x 750").Show(MessageBoxIcon.Warning); + get + { + CreateParams cp = base.CreateParams; + cp.ExStyle |= 0x02000000; // Turn on WS_EX_COMPOSITED + return cp; + } + } - // Display "What's new?" dialog - if (!IniFiles.Instance.GetBool(IniFile.Config, "Preferences", "bDisableWhatsNew", false) && - Utils.CompareVersions(Shared.VERSION, IniFiles.Instance.GetString(IniFile.Config, "General", "sPreviousVersion", "1.0.0")) > 0) + private void ShowWhatsNewConditionally() + { + /* + * Show "What's new" dialog when: + * -> What's new dialog hasn't been disabled AND + * -> The previously opened version is older than the current one AND + * -> There is no newer version available AND + * -> The tool hasn't been started for the first time. + */ + if (!IniFiles.Config.GetBool("Preferences", "bDisableWhatsNew", false) && + Utils.CompareVersions(Shared.VERSION, IniFiles.Config.GetString("General", "sPreviousVersion", "1.0.0")) > 0 && + (Shared.LatestVersion == null || Utils.CompareVersions(Shared.LatestVersion, Shared.VERSION) == 0) && + !FirstStart) ShowWhatsNew(); } private void ShowWhatsNew() { - if (this.formWhatsNew == null) - this.formWhatsNew = new FormWhatsNew(); this.formWhatsNew.ShowDialog(); } private void Form1_KeyDown(object sender, KeyEventArgs e) { - /*if (e.Control == true && e.Shift && e.KeyCode == Keys.F12) + if (e.KeyCode == Keys.F1) { - FormConsole.Instance.OpenUI(); - }*/ + Process.Start("https://github.com/FelisDiligens/Fallout76-QuickConfiguration/wiki"); + } } private void Form1_FormClosing(object sender, FormClosingEventArgs e) { if (e.CloseReason == CloseReason.UserClosing) { - IniFiles.Instance.Set(IniFile.Config, "General", "sPreviousVersion", Shared.VERSION); - IniFiles.Instance.SaveWindowState("Form1", this); - if (IniFiles.Instance.GetBool(IniFile.Config, "Preferences", "bAutoApply", false)) + Configuration.SaveWindowState("Form1", this); + if (IniFiles.Config.GetBool("Preferences", "bAutoApply", false)) ApplyChanges(); } } @@ -359,52 +494,55 @@ private void Form1_FormClosing(object sender, FormClosingEventArgs e) #region Check version - private String latestVersion = null; - private void backgroundWorkerGetLatestVersion_DoWork(object sender, DoWorkEventArgs e) + public void CheckVersion(bool force = false) { - //this.latestVersion = VERSION; - try - { - System.Net.WebClient wc = new System.Net.WebClient(); - // wc.CachePolicy = new System.Net.Cache.RequestCachePolicy(System.Net.Cache.RequestCacheLevel.BypassCache); - byte[] raw = wc.DownloadData("https://raw.githubusercontent.com/FelisDiligens/Fallout76-QuickConfiguration/master/VERSION"); - this.latestVersion = Encoding.UTF8.GetString(raw).Trim(); - } - catch (System.Net.WebException exc) + if (this.backgroundWorkerGetLatestVersion.IsBusy) + return; + + this.labelConfigVersion.Text = Shared.VERSION; + IniFiles.Config.Set("General", "sVersion", Shared.VERSION); + + panelUpdate.Visible = false; + + if (!force && IniFiles.Config.GetBool("Preferences", "bIgnoreUpdates", false)) { - this.latestVersion = null; + this.labelConfigVersion.ForeColor = Color.Black; return; } + + this.labelConfigVersion.ForeColor = Color.Gray; + this.pictureBoxSpinnerCheckForUpdates.Visible = true; + + // Checking version in background: + this.backgroundWorkerGetLatestVersion.RunWorkerAsync(); + } + + private void backgroundWorkerGetLatestVersion_DoWork(object sender, DoWorkEventArgs e) + { + Versioning.GetLatestVersion(); } private void backgroundWorkerGetLatestVersion_RunWorkerCompleted(object sender, System.ComponentModel.RunWorkerCompletedEventArgs e) { this.pictureBoxSpinnerCheckForUpdates.Visible = false; + // ShowWhatsNewConditionally(); // TODO: Why is this here though? + // Failed: - if (this.latestVersion == null) + if (Shared.LatestVersion == null) { this.labelConfigVersion.ForeColor = Color.Black; panelUpdate.Visible = false; return; } - // Compare versions: - int cmp = Utils.CompareVersions(this.latestVersion, Shared.VERSION); - if (cmp > 0) + if (Versioning.UpdateAvailable) { - // Update available: panelUpdate.Visible = true; - labelNewVersion.Text = String.Format(Localization.GetString("newVersionAvailable"), latestVersion); + labelNewVersion.Text = string.Format(Localization.GetString("newVersionAvailable"), Shared.LatestVersion); labelNewVersion.ForeColor = Color.Crimson; this.labelConfigVersion.ForeColor = Color.Red; } - else if (cmp < 0) - { - // We're using a pre-release version: - panelUpdate.Visible = false; - this.labelConfigVersion.ForeColor = Color.DarkBlue; - } else { // All good, latest version: @@ -413,1595 +551,463 @@ private void backgroundWorkerGetLatestVersion_RunWorkerCompleted(object sender, } } - public void CheckVersion(bool force = false) - { - if (this.backgroundWorkerGetLatestVersion.IsBusy) - return; + #endregion - this.labelConfigVersion.Text = Shared.VERSION; - /*using (StreamWriter f = new StreamWriter(Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments), "Fallout 76 Quick Configuration", "VERSION"))) - f.Write(VERSION);*/ - IniFiles.Instance.Set(IniFile.Config, "General", "sVersion", Shared.VERSION); + /* + ************************************************************** + * Event handlers + ************************************************************** + */ - panelUpdate.Visible = false; + #region Nuclear Winter Mode - if (!force && IniFiles.Instance.GetBool(IniFile.Config, "Preferences", "bIgnoreUpdates", false)) + private void OnNWModeUpdated(object sender, NuclearWinterEventArgs e) + { + this.labelNWModeActive.Invoke(new Action(() => { + UpdateNWModeUI(e.NuclearWinterModeEnabled); + })); + } + + private void UpdateNWModeUI (bool nwModeEnabled) + { + if (nwModeEnabled) { - this.labelConfigVersion.ForeColor = Color.Black; - return; + this.toolStripButtonToggleNuclearWinterMode.Text = Localization.GetString("adventuremode"); + this.toolStripButtonToggleNuclearWinterMode.Image = Resources.adventures; + } + else + { + this.toolStripButtonToggleNuclearWinterMode.Text = Localization.GetString("nuclearwintermode"); + this.toolStripButtonToggleNuclearWinterMode.Image = Resources.fire; } - this.labelConfigVersion.ForeColor = Color.Gray; - this.pictureBoxSpinnerCheckForUpdates.Visible = true; + this.labelNWModeActive.Visible = nwModeEnabled; + this.toolStripStatusLabelNuclearWinterModeActive.Visible = nwModeEnabled; - // Checking version in background: - this.backgroundWorkerGetLatestVersion.RunWorkerAsync(); + EnableUI(); + Focus(); + } + + private void toolStripButtonToggleNuclearWinterMode_Click(object sender, EventArgs e) + { + DisableUI(); + formMods.ToggleNuclearWinterModeThreaded(); } #endregion - /* - ************************************************************** - * *.ini values - ************************************************************** - */ + #region Apply, Launch, and so on. + public void ApplyChanges() + { + // Add custom lines to *.ini files: + try + { + IniFile addF76 = new IniFile(Path.Combine(IniFiles.ParentPath, $"{game.IniPrefix}.add.ini")); + addF76.Load(); + IniFiles.F76.Merge(addF76); - #region *.ini values integrity check + IniFile addF76Prefs = new IniFile(Path.Combine(IniFiles.ParentPath, $"{game.IniPrefix}Prefs.add.ini")); + addF76Prefs.Load(); + IniFiles.F76Prefs.Merge(addF76Prefs); - private void ExpectBool(List errors, String section, String key) - { - if (!IniFiles.Instance.Exists(section, key)) - return; - if (!IniFiles.Instance.ExpectBool(section, key)) - errors.Add($"[{section}] {key}: expected boolean (0 or 1), got {IniFiles.Instance.GetString(section, key, "")}"); + IniFile addF76Custom = new IniFile(Path.Combine(IniFiles.ParentPath, $"{game.IniPrefix}Custom.add.ini")); + addF76Custom.Load(); + IniFiles.F76Custom.Merge(addF76Custom); + } + catch (IniParsingException exc) + { + MsgBox.Get("customIniFilesParsingError").FormatText(exc.Message).Show(MessageBoxIcon.Error); + } + + // Save changes: + IniFiles.Save(); } - private void ExpectInt(List errors, String section, String key) + // "Apply" button: + private void toolStripButtonApply_Click(object sender, EventArgs e) { - if (!IniFiles.Instance.Exists(section, key)) - return; - if (!IniFiles.Instance.ExpectInt(section, key)) - errors.Add($"[{section}] {key}: expected integer, got {IniFiles.Instance.GetString(section, key)}"); + ApplyChanges(); + MsgBox.Get("changesApplied").Popup(MessageBoxIcon.Information); } - private void ExpectUInt(List errors, String section, String key) + private void toolStripButtonLaunchGame_Click(object sender, EventArgs e) { - if (!IniFiles.Instance.Exists(section, key)) - return; - if (!IniFiles.Instance.ExpectUInt(section, key)) - errors.Add($"[{section}] {key}: expected unsigned integer, got {IniFiles.Instance.GetString(section, key)}"); + this.game.LaunchGame(); } - private void ExpectFloat(List errors, String section, String key) + #endregion + + // "Get the latest version from NexusMods" link: + private void linkLabelManualDownloadPage_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) { - if (!IniFiles.Instance.Exists(section, key)) - return; - if (!IniFiles.Instance.ExpectFloat(section, key)) - errors.Add($"[{section}] {key}: expected floating point number, got {IniFiles.Instance.GetString(section, key)}"); + linkLabelManualDownloadPage.LinkVisited = true; + Process.Start("https://www.nexusmods.com/fallout76/mods/546?tab=files"); } - private void CheckAllINIValues() + private void buttonUpdateNow_Click(object sender, EventArgs e) { - List errors = new List(); + // Set sInstallationPath: + //string installationPath = Path.GetFullPath(AppContext.BaseDirectory); + IniFiles.Config.Set("Updater", "sInstallationPath", Shared.AppInstallationFolder); + IniFiles.Config.Save(); - /* - * Check values: - */ - ExpectBool(errors, "General", "bSteamEnabled"); - // TODO: Add more checks - - ExpectFloat(errors, "GamePlay", "fFloatingQuestMarkersDistance"); - ExpectFloat(errors, "Display", "fConversationHistorySize"); - ExpectFloat(errors, "MAIN", "fHUDOpacity"); - ExpectFloat(errors, "Display", "fDirShadowDistance"); - ExpectFloat(errors, "LOD", "fLODFadeOutMultObjects"); - ExpectFloat(errors, "LOD", "fLODFadeOutMultItems"); - ExpectFloat(errors, "LOD", "fLODFadeOutMultActors"); - ExpectFloat(errors, "Grass", "fGrassStartFadeDistance"); - ExpectFloat(errors, "Display", "fTAAPostOverlay"); - ExpectFloat(errors, "Display", "fTAAPostSharpen"); - ExpectFloat(errors, "AudioMenu", "fAudioMasterVolume"); - ExpectFloat(errors, "AudioMenu", "fVal0"); - ExpectFloat(errors, "AudioMenu", "fVal1"); - ExpectFloat(errors, "AudioMenu", "fVal2"); - ExpectFloat(errors, "AudioMenu", "fVal3"); - ExpectFloat(errors, "AudioMenu", "fVal4"); - ExpectFloat(errors, "AudioMenu", "fVal5"); - ExpectFloat(errors, "AudioMenu", "fVal6"); - ExpectFloat(errors, "Controls", "fMouseHeadingXScale"); - ExpectFloat(errors, "Controls", "fMouseHeadingSensitivity"); - ExpectFloat(errors, "Interface", "fLockPositionY"); - ExpectFloat(errors, "Interface", "fUIPowerArmorGeometry_TranslateZ"); - ExpectFloat(errors, "Interface", "fUIPowerArmorGeometry_TranslateY"); - ExpectFloat(errors, "Main", "fIronSightsFOVRotateMult"); - ExpectFloat(errors, "Display", "fDefault1stPersonFOV"); - ExpectFloat(errors, "Display", "fDefaultWorldFOV"); - ExpectFloat(errors, "Display", "fDefaultFOV"); - ExpectFloat(errors, "Camera", "f3rdPersonAimFOV"); - ExpectFloat(errors, "Camera", "fVanityModeMinDist"); - ExpectFloat(errors, "Camera", "fVanityModeMaxDist"); - ExpectFloat(errors, "Camera", "fPitchZoomOutMaxDist"); - ExpectFloat(errors, "Camera", "f1st3rdSwitchDelay"); - - ExpectUInt(errors, "Display", "iSize W"); - ExpectUInt(errors, "Display", "iSize H"); - ExpectUInt(errors, "Interface", "uHUDActiveEffectWidget"); - ExpectUInt(errors, "Display", "uiOrthoShadowFilter"); - ExpectUInt(errors, "Voice", "uTransmitPreference"); - ExpectUInt(errors, "Display", "uPipboyTargetWidth"); - ExpectUInt(errors, "Display", "uPipboyTargetHeight"); - - ExpectInt(errors, "Display", "iScreenShotIndex"); - ExpectInt(errors, "Display", "iShadowMapResolution"); - ExpectInt(errors, "Display", "iDirShadowSplits"); - ExpectInt(errors, "Display", "iPresentInterval"); - ExpectInt(errors, "Display", "iMaxAnisotropy"); - - if (errors.Count > 0) + // Copy updater.exe to \Updater\: + string updaterPath = Path.Combine(Shared.AppConfigFolder, "Updater"); + Directory.CreateDirectory(updaterPath); + Directory.CreateDirectory(Path.Combine(updaterPath, "7z")); + foreach (string filePath in Directory.EnumerateFiles(Shared.AppInstallationFolder, "*", SearchOption.AllDirectories)) { - MsgBox.Get("iniValuesInvalid").FormatText(errors.Count.ToString(), string.Join("\n", errors.ToArray())).Show(MessageBoxIcon.Warning); + string relPath = Utils.MakeRelativePath(Shared.AppInstallationFolder, filePath); + string destPath = Path.Combine(updaterPath, relPath); + Directory.CreateDirectory(Path.GetDirectoryName(destPath)); + File.Copy(filePath, destPath, true); } - } - #endregion + // Run updater.exe: + ProcessStartInfo startInfo = new ProcessStartInfo(); + startInfo.FileName = Path.Combine(updaterPath, "updater.exe"); + // If the program is installed into C:\Program Files (x86)\ then run the updater as admin: + if (Shared.AppInstallationFolder.Contains("C:\\Program Files")) + startInfo.Verb = "runas"; + Process.Start(startInfo); + Environment.Exit(0); + } - #region Linking *.ini values to control elements - private void AddAllEventHandler() - { - // Link numericUpDown and sliders: - UILoader.LinkSlider(this.sliderGrassFadeDistance, this.numGrassFadeDistance, 1); - //LinkSlider(this.sliderGrassDensity, this.numGrassDensity, 1, true); - UILoader.LinkSlider(this.sliderLODObjects, this.numLODObjects, 10); - UILoader.LinkSlider(this.sliderLODItems, this.numLODItems, 10); - UILoader.LinkSlider(this.sliderLODActors, this.numLODActors, 10); - UILoader.LinkSlider(this.sliderShadowDistance, this.numShadowDistance, 1); - UILoader.LinkSlider(this.sliderfBlendSplitDirShadow, this.numfBlendSplitDirShadow, 0.0833333); - UILoader.LinkSlider(this.sliderMouseSensitivity, this.numMouseSensitivity, 10000.0); - UILoader.LinkSlider(this.sliderTAAPostOverlay, this.numTAAPostOverlay, 100); - UILoader.LinkSlider(this.sliderTAAPostSharpen, this.numTAAPostSharpen, 100); - - UILoader.LinkSlider(this.sliderVolumeMaster, this.numVolumeMaster, 100); - UILoader.LinkSlider(this.sliderAudioChat, this.numAudioChat, 1); - UILoader.LinkSlider(this.sliderAudiofVal0, this.numAudiofVal0, 100); - UILoader.LinkSlider(this.sliderAudiofVal1, this.numAudiofVal1, 100); - UILoader.LinkSlider(this.sliderAudiofVal2, this.numAudiofVal2, 100); - UILoader.LinkSlider(this.sliderAudiofVal3, this.numAudiofVal3, 100); - UILoader.LinkSlider(this.sliderAudiofVal4, this.numAudiofVal4, 100); - UILoader.LinkSlider(this.sliderAudiofVal5, this.numAudiofVal5, 100); - UILoader.LinkSlider(this.sliderAudiofVal6, this.numAudiofVal6, 100); - - UILoader.LinkSlider(this.sliderFloatingQuestMarkersDistance, this.numFloatingQuestMarkersDistance, 10); - UILoader.LinkSlider(this.sliderConversationHistorySize, this.numConversationHistorySize, 1); - UILoader.LinkSlider(this.sliderHUDOpacity, this.numHUDOpacity, 100); - - UILoader.LinkSlider(this.sliderCameraDistanceMinimum, this.numCameraDistanceMinimum, 1); - UILoader.LinkSlider(this.sliderCameraDistanceMaximum, this.numCameraDistanceMaximum, 1); - UILoader.LinkSlider(this.sliderfPitchZoomOutMaxDist, this.numfPitchZoomOutMaxDist, 1); + #region Tool strip + /* + * Tool strip: + */ - /* - ******************************************** - * Link control elements: - ******************************************** - */ + private void toolStripButtonManageMods_Click(object sender, EventArgs e) + { + this.formMods.OpenUI(); + } - // ALTERNATIVE MODE - bool alternativeMode = IniFiles.Instance.GetBool(IniFile.Config, "Preferences", "bAlternativeINIMode", false); - this.checkBoxAlternativeINIMode.Checked = alternativeMode; - IniFiles.Instance.fixCustomIniDuplicateValues = IniFiles.Instance.fixCustomIniDuplicateValues && !alternativeMode; // Disable a fix, if alternative mode is enabled. + private void toolConfigurationFolderToolStripMenuItem_Click(object sender, EventArgs e) + { + Utils.OpenExplorer(Shared.AppConfigFolder); + } + private void toolLanguagesFolderToolStripMenuItem_Click(object sender, EventArgs e) + { + Utils.OpenExplorer(Localization.LanguageFolder); + } - // Make *.ini files read-only - uiLoader.LinkCustom(this.checkBoxReadOnly, - IniFiles.Instance.AreINIsReadOnly, - IniFiles.Instance.SetINIsReadOnly - ); - - // Deny NTFS write-permission - uiLoader.LinkBool(this.checkBoxDenyNTFSWritePermission, IniFile.Config, "Preferences", "bDenyNTFSWritePermission", false); - - /* - * Settings - */ - - // Game Edition - /*uiLoader.LinkList( - new RadioButton[] { this.radioButtonEditionBethesdaNet, this.radioButtonEditionSteam, this.radioButtonEditionBethesdaNetPTS, this.radioButtonEditionMSStore }, - new String[] { "1", "2", "3", "4" }, - IniFile.Config, "Preferences", "uGameEdition", - "0" - );*/ - uiLoader.Add(() => - { - switch (Shared.GameEdition) - { - case GameEdition.Steam: - this.radioButtonEditionSteam.Checked = true; - break; - case GameEdition.BethesdaNet: - this.radioButtonEditionBethesdaNet.Checked = true; - break; - case GameEdition.BethesdaNetPTS: - this.radioButtonEditionBethesdaNetPTS.Checked = true; - break; - case GameEdition.MSStore: - this.radioButtonEditionMSStore.Checked = true; - break; - } - }); - - // Launch options - uiLoader.LinkList( - new RadioButton[] { this.radioButtonLaunchViaLink, this.radioButtonLaunchViaExecutable }, - new String[] { "1", "2" }, - IniFile.Config, "Preferences", "uLaunchOption", - "1" - ); - - // Nuclear winter mode - //uiLoader.LinkBool(this.checkBoxNWMode, IniFile.Config, "Preferences", "bNWMode", false); - - // Close the tool when the game is launched - uiLoader.LinkBool(this.checkBoxQuitOnGameLaunch, IniFile.Config, "Preferences", "bQuitOnLaunch", false); - - // Automatically apply changes when tool is closed or game is launched - uiLoader.LinkBool(this.checkBoxAutoApply, IniFile.Config, "Preferences", "bAutoApply", false); - - // Don't ask me, when "Apply" is clicked. - uiLoader.LinkBool(this.checkBoxSkipBackupQuestion, IniFile.Config, "Preferences", "bSkipBackupQuestion", false); - - // Open mod manager when tool is launched. - uiLoader.LinkBool(this.checkBoxOpenManageModsOnLaunch, IniFile.Config, "Preferences", "bOpenModManagerOnLaunch", false); - - // Don't check for updates on startup. - uiLoader.LinkBool(this.checkBoxIgnoreUpdates, IniFile.Config, "Preferences", "bIgnoreUpdates", false); - - // Does the user use multiple game editions when modding? - uiLoader.LinkBool(this.checkBoxMultipleGameEditionsUsed, IniFile.Config, "Preferences", "bMultipleGameEditionsUsed", false); - - // Play alert sound: - uiLoader.LinkBool(this.checkBoxPlayNotificationSound, IniFile.Config, "Preferences", "bPlayNotificationSound", true); - - - // NW: Fallout76Custom.ini options - uiLoader.LinkBool(this.radioButtonNWRenameINI, this.radioButtonNWRemoveLists, IniFile.Config, "NuclearWinter", "bRenameCustomINI", true); - - // NW: *.dll options - uiLoader.LinkBool(this.checkBoxNWRenameDLL, IniFile.Config, "NuclearWinter", "bRenameDLLs", true); - - // NW: Mod options - uiLoader.LinkBool(this.checkBoxNWAutoDeployMods, IniFile.Config, "NuclearWinter", "bAutoDeployMods", false); - uiLoader.LinkBool(this.checkBoxNWAutoDisableMods, IniFile.Config, "NuclearWinter", "bAutoDisableMods", false); - - - /* - * General - */ - - // Credentials - uiLoader.LinkString(this.textBoxUserName, !alternativeMode ? IniFile.F76Custom : IniFile.F76, "Login", "s76UserName", ""); - uiLoader.LinkString(this.textBoxPassword, !alternativeMode ? IniFile.F76Custom : IniFile.F76, "Login", "s76Password", ""); - - uiLoader.LinkList( - this.accountProfileRadioButtons, - new String[] { "1", "2", "3", "4", "5", "6", "7", "8" }, - IniFile.Config, "Login", "uActiveAccountProfile", - "1" - ); - - // Disable Steam: - uiLoader.LinkBoolNegated(this.checkBoxDisableSteam, !alternativeMode ? IniFile.F76Custom : IniFile.F76, "General", "bSteamEnabled", true); - - // Automatically sign-in: - uiLoader.LinkBool(this.checkBoxAutoSignin, !alternativeMode ? IniFile.F76Custom : IniFile.F76, "Login", "bAutoSignin", false); - - // Play intro videos - uiLoader.LinkCustom(this.checkBoxIntroVideos, - () => { - String sIntroSequence = IniFiles.Instance.GetString("General", "sIntroSequence", "BGSLogo4k.bk2").Trim(); - return sIntroSequence.Length > 0 && sIntroSequence != "0"; - }, - (value) => { - if (value) - { - IniFiles.Instance.Remove(IniFile.F76Custom, "General", "sIntroSequence"); - IniFiles.Instance.Remove(IniFile.F76Custom, "General", "uMainMenuDelayBeforeAllowSkip"); - if (alternativeMode) - { - IniFiles.Instance.Set(IniFile.F76, "General", "sIntroSequence", true); - IniFiles.Instance.Set(IniFile.F76, "General", "uMainMenuDelayBeforeAllowSkip", 5000); - } - } - else - { - IniFiles.Instance.Set(!alternativeMode ? IniFile.F76Custom : IniFile.F76, "General", "sIntroSequence", ""); - IniFiles.Instance.Set(!alternativeMode ? IniFile.F76Custom : IniFile.F76, "General", "uMainMenuDelayBeforeAllowSkip", "0"); - } - } - ); - - // Play music in main menu - uiLoader.LinkBool(this.checkBoxMainMenuMusic, !alternativeMode ? IniFile.F76Custom : IniFile.F76, "General", "bPlayMainMenuMusic", true); - - // Show splash screen with news on startup - uiLoader.LinkBoolNegated(this.checkBoxShowSplash, !alternativeMode ? IniFile.F76Custom : IniFile.F76, "General", "bSkipSplash", false); - - // General subtitles - uiLoader.LinkBool(this.checkBoxGeneralSubtitles, IniFile.F76Prefs, "Interface", "bGeneralSubtitles", false); - - // Dialogue subtitles - uiLoader.LinkBool(this.checkBoxDialogueSubtitles, IniFile.F76Prefs, "Interface", "bDialogueSubtitles", false); - - // Dialogue history - uiLoader.LinkBool(this.checkBoxDialogueHistory, IniFile.F76Prefs, "MAIN", "bShowDialogueHistory", false); - - // Show damage numbers in nuclear winter - uiLoader.LinkBool(this.checkBoxShowDamageNumbersNW, IniFile.F76Prefs, "NuclearWinter", "bShowDamageNumbers", true); - - // Show damage numbers in adventure mode - uiLoader.LinkBool(this.checkBoxShowDamageNumbersA, IniFile.F76Prefs, "Adventure", "bShowDamageNumbers", false); - - // Show item rarity colors - uiLoader.LinkBool(this.checkBoxItemRarityColorsNW, IniFile.F76Prefs, "NuclearWinter", "bEnableItemRarityColors", true); - - // Show Public Team Notifications - uiLoader.LinkBool(this.checkBoxShowPublicTeamNotifications, IniFile.F76Prefs, "GamePlay", "bShowPublicTeamNotifications", true); - - // Show Floating Quest Markers - uiLoader.LinkBool(this.checkBoxShowFloatingQuestMarkers, IniFile.F76Prefs, "GamePlay", "bShowFloatingQuestMarkers", true); - - // Show Floating Quest Text - uiLoader.LinkBool(this.checkBoxShowFloatingQuestText, IniFile.F76Prefs, "GamePlay", "bShowFloatingQuestText", true); - - // Floating Quest Markers Draw Distance - uiLoader.LinkFloat(this.numFloatingQuestMarkersDistance, IniFile.F76Prefs, "GamePlay", "fFloatingQuestMarkersDistance", 100.0f); - - // Show compass - uiLoader.LinkBool(this.checkBoxShowCompass, IniFile.F76Prefs, "Interface", "bShowCompass", true); - - // Show crosshair - uiLoader.LinkBool(this.checkBoxShowCrosshair, IniFile.F76Prefs, "MAIN", "bCrosshairEnabled", true); - - // Enable Power Armor HUD - uiLoader.LinkBool(this.checkBoxEnablePowerArmorHUD, IniFile.F76Prefs, "MAIN", "bEnablePowerArmorHUD", true); - - // Show Other Players' Names - uiLoader.LinkBool(this.checkBoxShowOtherPlayersNames, IniFile.F76Prefs, "Display", "bShowOtherPlayersNames", true); - - // Quests: - uiLoader.LinkBool(this.checkBoxEnableQuestAutoTrackMain, IniFile.F76Prefs, "MAIN", "bEnableQuestAutoTrackMain", true); - uiLoader.LinkBool(this.checkBoxEnableQuestAutoTrackSide, IniFile.F76Prefs, "MAIN", "bEnableQuestAutoTrackSide", true); - uiLoader.LinkBool(this.checkBoxEnableQuestAutoTrackMisc, IniFile.F76Prefs, "MAIN", "bEnableQuestAutoTrackMisc", true); - uiLoader.LinkBool(this.checkBoxEnableQuestAutoTrackEvent, IniFile.F76Prefs, "MAIN", "bEnableQuestAutoTrackEvent", true); - uiLoader.LinkBool(this.checkBoxEnableQuestAutoTrackDaily, IniFile.F76Prefs, "MAIN", "bEnableQuestAutoTrackOther", false); - - // Conversation History Size - uiLoader.LinkFloat(this.numConversationHistorySize, IniFile.F76Prefs, "Display", "fConversationHistorySize", 4.0f); - - // HUD Opacity - uiLoader.LinkFloat(this.numHUDOpacity, IniFile.F76Prefs, "MAIN", "fHUDOpacity", 1.0f); - - // Show active effects on HUD - uiLoader.LinkList( - this.comboBoxShowActiveEffectsOnHUD, - new String[] { "0", "1", "2" }, - IniFile.F76Prefs, "Interface", "uHUDActiveEffectWidget", - "2", 2 - ); - - // Screenshot index - uiLoader.LinkInt(this.numScreenshotIndex, IniFile.F76Prefs, "Display", "iScreenShotIndex", 0); - - - /* - * Display - */ - - // Display mode - uiLoader.LinkCustom(this.comboBoxDisplayMode, - () => { - bool bFullScreen = IniFiles.Instance.GetBool("Display", "bFull Screen", true); - bool bBorderless = IniFiles.Instance.GetBool("Display", "bBorderless", true); - bool bMaximizeWindow = IniFiles.Instance.GetBool("Display", "bMaximizeWindow", true); - - if (bFullScreen) - return 0; // Fullscreen - else if (!bBorderless) - return 1; // Windowed - else if (bBorderless && !bMaximizeWindow) - return 2; // Borderless windowed - else - return 3; // Borderless windowed (Fullscreen) - }, - (value) => { - bool bFullScreen, bBorderless, bMaximizeWindow; - switch (this.comboBoxDisplayMode.SelectedIndex) - { - case 0: // Fullscreen - bBorderless = true; - bFullScreen = true; - bMaximizeWindow = false; - break; - case 1: // Windowed - bBorderless = false; - bFullScreen = false; - bMaximizeWindow = false; - break; - case 3: // Borderless windowed (Fullscreen) - bBorderless = true; - bFullScreen = false; - bMaximizeWindow = true; - break; - default: // Borderless windowed: Default settings - bBorderless = true; - bFullScreen = false; - bMaximizeWindow = false; - break; - } - IniFiles.Instance.Set(IniFile.F76Prefs, "Display", "bFull Screen", bFullScreen); - IniFiles.Instance.Set(IniFile.F76Prefs, "Display", "bBorderless", bBorderless); - IniFiles.Instance.Set(IniFile.F76Prefs, "Display", "bMaximizeWindow", bMaximizeWindow); - } - ); - - // Resolution - uiLoader.LinkCustom(this.comboBoxResolution, - () => { - int width = IniFiles.Instance.GetInt("Display", "iSize W", 1920); - int height = IniFiles.Instance.GetInt("Display", "iSize H", 1080); - int resIndex = Array.IndexOf(DropDown.Get("Resolution").Items.ToArray(), $"{width}x{height}"); - this.numCustomResW.Value = width; - this.numCustomResH.Value = height; - return resIndex > -1 ? resIndex : 0; - }, - (value) => { - bool isCustomSelected = value == 0; - this.numCustomResW.Enabled = isCustomSelected; - this.numCustomResH.Enabled = isCustomSelected; - - if (value != 0) - { - String[] splitted = this.comboBoxResolution.SelectedItem.ToString().Split(new String[] { "x" }, StringSplitOptions.RemoveEmptyEntries); - int width = Convert.ToInt32(splitted[0]); - int height = Convert.ToInt32(splitted[1]); - IniFiles.Instance.Set(IniFile.F76Prefs, "Display", "iSize W", width); - IniFiles.Instance.Set(IniFile.F76Prefs, "Display", "iSize H", height); - this.numCustomResW.Value = width; - this.numCustomResH.Value = height; - } - } - ); - - // Custom Resolution - uiLoader.LinkInt(this.numCustomResW, IniFile.F76Prefs, "Display", "iSize W", 1920); - uiLoader.LinkInt(this.numCustomResH, IniFile.F76Prefs, "Display", "iSize H", 1080); - - // Hide (or show) custom resolution on load: - uiLoader.Add(() => - { - bool isCustomSelected = this.comboBoxResolution.SelectedIndex == 0; - this.numCustomResW.Enabled = isCustomSelected; - this.numCustomResH.Enabled = isCustomSelected; - }); - - // Top most window - uiLoader.LinkBool(this.checkBoxTopMostWindow, IniFile.F76Prefs, "Display", "bTopMostWindow", false); - - // Always active - uiLoader.LinkBool(this.checkBoxAlwaysActive, !alternativeMode ? IniFile.F76Custom : IniFile.F76, "General", "bAlwaysActive", true); - - // Fix HUD for 5:4 and 4:3 screens - uiLoader.LinkCustom(this.checkBoxFixHUDFor5_4and4_3, - () => { - return - Math.Abs(IniFiles.Instance.GetFloat("Interface", "fLockPositionY", 0f) - 100f) < 0.1 && - Math.Abs(IniFiles.Instance.GetFloat("Interface", "fUIPowerArmorGeometry_TranslateZ", 0f) - -18.5f) < 0.1 && - Math.Abs(IniFiles.Instance.GetFloat("Interface", "fUIPowerArmorGeometry_TranslateY", 0f) - 460f) < 0.1; - }, - (value) => { - if (value) - { - IniFiles.Instance.Set(!alternativeMode ? IniFile.F76Custom : IniFile.F76, "Interface", "fLockPositionY", 100f); - IniFiles.Instance.Set(!alternativeMode ? IniFile.F76Custom : IniFile.F76, "Interface", "fUIPowerArmorGeometry_TranslateZ", -18.5f); - IniFiles.Instance.Set(!alternativeMode ? IniFile.F76Custom : IniFile.F76, "Interface", "fUIPowerArmorGeometry_TranslateY", 460f); - } - else - { - IniFiles.Instance.Remove(IniFile.F76Custom, "Interface", "fLockPositionY"); - IniFiles.Instance.Remove(IniFile.F76Custom, "Interface", "fUIPowerArmorGeometry_TranslateZ"); - IniFiles.Instance.Remove(IniFile.F76Custom, "Interface", "fUIPowerArmorGeometry_TranslateY"); - if (alternativeMode) - { - IniFiles.Instance.Set(IniFile.F76, "Interface", "fLockPositionY", -10.0f); - IniFiles.Instance.Set(IniFile.F76, "Interface", "fUIPowerArmorGeometry_TranslateZ", 0.0); - IniFiles.Instance.Set(IniFile.F76, "Interface", "fUIPowerArmorGeometry_TranslateY", 350.0); - } - } - } - ); - - - - /* - * Graphics - */ - - // Anti-Aliasing - uiLoader.LinkList(this.comboBoxAntiAliasing, - new String[] { "TAA", "FXAA", "" }, - IniFile.F76Prefs, "Display", "sAntiAliasing", - "TAA", 2); - - // Anisotropic filtering - uiLoader.LinkList(this.comboBoxAnisotropicFiltering, - new String[] { "0", "2", "4", "8", "16" }, - IniFile.F76Prefs, "Display", "iMaxAnisotropy", - "8", 3); - - // iPresentInterval - // I'm not so sure about this anymore:!alternativeMode ? IniFile.F76Custom : IniFile.F76 - // Actually, it's not VSync but a fps cap, which is determined this way: Monitor refresh rate divided by iPresentInterval - // A 120 Hz monitor and iPresentInterval set to 2 will result in a 60fps cap. - //uiLoader.LinkBool(this.checkBoxVSync, IniFile.F76Prefs, "Display", "iPresentInterval", true); - uiLoader.LinkCustom(this.checkBoxVSync, - () => IniFiles.Instance.GetInt("Display", "iPresentInterval", 1) != 0, - (value) => { - if (value) - { - int defaultValue = IniFiles.Instance.GetInt(IniFile.Config, "Display", "iPresentInterval", -1); - if (defaultValue <= 0) - { - defaultValue = 1; - // Values of 2 and above cause black screen: - //int refreshRate = Utils.GetDisplayRefreshRate(); - //defaultValue = Utils.Clamp(Convert.ToInt32(Math.Round(Convert.ToSingle(refreshRate) / 60f)), 1, 4); - } - IniFiles.Instance.Set(IniFile.F76Prefs, "Display", "iPresentInterval", defaultValue); - } - else - { - int defaultValue = IniFiles.Instance.GetInt("Display", "iPresentInterval", -1); - if (defaultValue > 0) - IniFiles.Instance.Set(IniFile.Config, "Display", "iPresentInterval", defaultValue); - IniFiles.Instance.Set(IniFile.F76Prefs, "Display", "iPresentInterval", 0); - } - } - ); - - // Depth of Field - uiLoader.LinkCustom(this.checkBoxDepthOfField, - () => IniFiles.Instance.GetBool("ImageSpace", "bDynamicDepthOfField", true), - (value) => { - if (value) - { - if (alternativeMode) - { - IniFiles.Instance.Set(IniFile.F76, "ImageSpace", "bDynamicDepthOfField", true); - IniFiles.Instance.Set(IniFile.F76, "Display", "fDOFBlendRatio", 10.0f); - IniFiles.Instance.Set(IniFile.F76, "Display", "fDOFMinFocalCoefDist", 500.0f); - IniFiles.Instance.Set(IniFile.F76, "Display", "fDOFMaxFocalCoefDist", 15000.0f); - IniFiles.Instance.Set(IniFile.F76, "Display", "fDOFDynamicFarRange", 120000.0f); - IniFiles.Instance.Set(IniFile.F76, "Display", "fDOFCenterWeightInt", 38.0f); - IniFiles.Instance.Set(IniFile.F76, "Display", "fDOFFarDistance", 15000.0f); - } - IniFiles.Instance.Remove(IniFile.F76Custom, "ImageSpace", "bDynamicDepthOfField"); - IniFiles.Instance.Remove(IniFile.F76Custom, "Display", "fDOFBlendRatio"); - IniFiles.Instance.Remove(IniFile.F76Custom, "Display", "fDOFMinFocalCoefDist"); - IniFiles.Instance.Remove(IniFile.F76Custom, "Display", "fDOFMaxFocalCoefDist"); - IniFiles.Instance.Remove(IniFile.F76Custom, "Display", "fDOFDynamicFarRange"); - IniFiles.Instance.Remove(IniFile.F76Custom, "Display", "fDOFCenterWeightInt"); - IniFiles.Instance.Remove(IniFile.F76Custom, "Display", "fDOFFarDistance"); - } - else - { - IniFiles.Instance.Set(!alternativeMode ? IniFile.F76Custom : IniFile.F76, "ImageSpace", "bDynamicDepthOfField", false); - IniFiles.Instance.Set(!alternativeMode ? IniFile.F76Custom : IniFile.F76, "Display", "fDOFBlendRatio", 0); - IniFiles.Instance.Set(!alternativeMode ? IniFile.F76Custom : IniFile.F76, "Display", "fDOFMinFocalCoefDist", 999999); - IniFiles.Instance.Set(!alternativeMode ? IniFile.F76Custom : IniFile.F76, "Display", "fDOFMaxFocalCoefDist", 99999999); - IniFiles.Instance.Set(!alternativeMode ? IniFile.F76Custom : IniFile.F76, "Display", "fDOFDynamicFarRange", 99999999); - IniFiles.Instance.Set(!alternativeMode ? IniFile.F76Custom : IniFile.F76, "Display", "fDOFCenterWeightInt", 0); - IniFiles.Instance.Set(!alternativeMode ? IniFile.F76Custom : IniFile.F76, "Display", "fDOFFarDistance", 99999999); - - /* - Things I wanted to add: - - bDoDepthOfField - DO NOT set this to 0. It will cause underwater effects to disappear. - bScreenSpaceBokeh - Apparently some blur effect. Is it related to DOF? - bUseBlurShader - ? - */ - } - } - ); - - // Motion Blur - uiLoader.LinkBool(this.checkBoxMotionBlur, !alternativeMode ? IniFile.F76Custom : IniFile.F76Prefs, "ImageSpace", "bMBEnable", true); - - // Radial Blur - uiLoader.LinkBool(this.checkBoxRadialBlur, !alternativeMode ? IniFile.F76Custom : IniFile.F76, "ImageSpace", "bDoRadialBlur", true); - - // Lens Flare - uiLoader.LinkBool(this.checkBoxLensFlare, IniFile.F76Prefs, "ImageSpace", "bLensFlare", true); - - // Ambient Occlusion - uiLoader.LinkBool(this.checkBoxAmbientOcclusion, IniFile.F76Prefs, "Display", "bSAOEnable", true); - - // Water / Displacement - uiLoader.LinkBool(this.checkBoxWaterDisplacement, IniFile.F76Prefs, "Water", "bUseWaterDisplacements", true); - - // Weather / Fog - uiLoader.LinkBool(this.checkBoxFogEnabled, IniFile.F76Prefs, "Weather", "bFogEnabled", true); - - // Weather / Rain Occlusion - uiLoader.LinkBool(this.checkBoxWeatherRainOcclusion, IniFile.F76, "Weather", "bRainOcclusion", true); - - // Weather / Wetness Occlusion - uiLoader.LinkBool(this.checkBoxWeatherWetnessOcclusion, IniFile.F76, "Weather", "bWetnessOcclusion", true); - - // Lighting / Volumetric Lighting - uiLoader.LinkBool(this.checkBoxGodrays, IniFile.F76Prefs, "Display", "bVolumetricLightingEnable", true); - - // Shadows / Texture map resolution - uiLoader.LinkList(this.comboBoxShadowTextureResolution, - new String[] { "512", "1024", "2048", "4096" }, - IniFile.F76Prefs, "Display", "iShadowMapResolution", - "2048", 1); - - // Shadows / Blurriness - uiLoader.LinkList(this.comboBoxShadowBlurriness, - new String[] { "1", "2", "3" }, - IniFile.F76Prefs, "Display", "uiOrthoShadowFilter", - "3", 2); - - // Amount of shadow "segments": iDirShadowSplits - uiLoader.LinkList(this.comboBoxiDirShadowSplits, - new String[] { "1", "2", "3" }, - IniFile.F76Prefs, "Display", "iDirShadowSplits", - "3", 2); - - // Shadow / Shadow distance - // fShadowDistance was replaced by fDirShadowDistance in Fallout 4 - uiLoader.LinkInt(this.numShadowDistance, IniFile.F76Prefs, "Display", "fDirShadowDistance", 3000); - - // LOD Fade Distances - uiLoader.LinkFloat(this.numLODObjects, IniFile.F76Prefs, "LOD", "fLODFadeOutMultObjects", 6.0f); - uiLoader.LinkFloat(this.numLODItems, IniFile.F76Prefs, "LOD", "fLODFadeOutMultItems", 2.5f); - uiLoader.LinkFloat(this.numLODActors, IniFile.F76Prefs, "LOD", "fLODFadeOutMultActors", 4.5f); - - // Grass / Enable grass - uiLoader.LinkBool(this.checkBoxGrass, !alternativeMode ? IniFile.F76Custom : IniFile.F76, "Grass", "bAllowCreateGrass", true); - - // Grass / Fade distance - uiLoader.LinkCustom(this.numGrassFadeDistance, - () => IniFiles.Instance.GetFloat("Grass", "fGrassStartFadeDistance", 3000), - (value) => { - IniFiles.Instance.Set(IniFile.F76Prefs, "Grass", "fGrassStartFadeDistance", value); - IniFiles.Instance.Set(IniFile.F76Prefs, "Grass", "fGrassMinStartFadeDistance", 0); - IniFiles.Instance.Set(IniFile.F76Prefs, "Grass", "fGrassMaxStartFadeDistance", value); - } - ); - - // Grass / Density - //LinkInt(this.numGrassDensity, IniFile.F76Custom, "Grass", "iMinGrassSize", 20); - - // TAA Sharpening - - uiLoader.LinkFloat(this.numTAAPostOverlay, !alternativeMode ? IniFile.F76Custom : IniFile.F76, "Display", "fTAAPostOverlay", 0.21f); - uiLoader.LinkFloat(this.numTAAPostSharpen, !alternativeMode ? IniFile.F76Custom : IniFile.F76, "Display", "fTAAPostSharpen", 0.21f); - - - - /* - * Audio - */ - - uiLoader.LinkBool(this.checkBoxEnableAudio, !alternativeMode ? IniFile.F76Custom : IniFile.F76, "Audio", "bEnableAudio", true); - - uiLoader.LinkBool(this.checkBoxPushToTalk, IniFile.F76Prefs, "Voice", "bVoicePushToTalkEnabled", true); - - uiLoader.LinkFloat(this.numVolumeMaster, IniFile.F76Prefs, "AudioMenu", "fAudioMasterVolume", 1.0f); - uiLoader.LinkInt(this.numAudioChat, IniFile.F76Prefs, "Voice", "uVivoxVoiceVolume", 100); - uiLoader.LinkFloat(this.numAudiofVal0, IniFile.F76Prefs, "AudioMenu", "fVal0", 1.0f); - uiLoader.LinkFloat(this.numAudiofVal1, IniFile.F76Prefs, "AudioMenu", "fVal1", 1.0f); - uiLoader.LinkFloat(this.numAudiofVal2, IniFile.F76Prefs, "AudioMenu", "fVal2", 1.0f); - uiLoader.LinkFloat(this.numAudiofVal3, IniFile.F76Prefs, "AudioMenu", "fVal3", 1.0f); - uiLoader.LinkFloat(this.numAudiofVal4, IniFile.F76Prefs, "AudioMenu", "fVal4", 1.0f); - uiLoader.LinkFloat(this.numAudiofVal5, IniFile.F76Prefs, "AudioMenu", "fVal5", 1.0f); - uiLoader.LinkFloat(this.numAudiofVal6, IniFile.F76Prefs, "AudioMenu", "fVal6", 1.0f); - - uiLoader.LinkList(this.comboBoxVoiceChatMode, - new String[] { "0", "1", "2", "3" }, - IniFile.F76Prefs, "Voice", "uTransmitPreference", - "0", 0); - - - /* - * Controls - */ - - uiLoader.LinkBool(this.checkBoxMouseAcceleration, !alternativeMode ? IniFile.F76Custom : IniFile.F76, "Controls", "bMouseAcceleration", true); - - // Fix mouse sensitivity - uiLoader.LinkCustom(this.checkBoxFixMouseSensitivity, - () => IniFiles.Instance.GetFloat("Controls", "fMouseHeadingXScale", 0.021f) != IniFiles.Instance.GetFloat("Controls", "fMouseHeadingYScale", 0.021f), - (value) => { - if (value) - { - int width = IniFiles.Instance.GetInt("Display", "iSize W", 1920); - int height = IniFiles.Instance.GetInt("Display", "iSize H", 1080); - float aspectRatio = width / height; - float YScale = 0.0f; - - // 16:9 - if (Math.Abs(aspectRatio - 16 / 9) < 0.01) - YScale = 0.03738f; - - // 16:10 - else if (Math.Abs(aspectRatio - 16 / 10) < 0.01) - YScale = 0.0336f; - - // 21:9 - else if (Math.Abs(aspectRatio - 21 / 9) < 0.01) - YScale = 0.042f; - - // 4:3 - else if (Math.Abs(aspectRatio - 4 / 3) < 0.01) - YScale = 0.028f; - - // Unknown aspect ratio - else - YScale = aspectRatio * 0.021f; - - IniFiles.Instance.Set(!alternativeMode ? IniFile.F76Custom : IniFile.F76, "Controls", "fMouseHeadingXScale", 0.021f); - IniFiles.Instance.Set(!alternativeMode ? IniFile.F76Custom : IniFile.F76, "Controls", "fMouseHeadingYScale", YScale); - - IniFiles.Instance.Set(!alternativeMode ? IniFile.F76Custom : IniFile.F76, "Controls", "fPitchSpeedRatio", 1.0f); - IniFiles.Instance.Set(!alternativeMode ? IniFile.F76Custom : IniFile.F76, "Controls", "fIronSightsPitchSpeedRatio", 1.0f); - } - else - { - IniFiles.Instance.Remove(IniFile.F76Custom, "Controls", "fMouseHeadingXScale"); - IniFiles.Instance.Remove(IniFile.F76Custom, "Controls", "fMouseHeadingYScale"); - IniFiles.Instance.Remove(IniFile.F76Custom, "Controls", "fPitchSpeedRatio"); - IniFiles.Instance.Remove(IniFile.F76Custom, "Controls", "fIronSightsPitchSpeedRatio"); - if (alternativeMode) - { - IniFiles.Instance.Set(IniFile.F76Custom, "Controls", "fMouseHeadingXScale", 0.021f); - IniFiles.Instance.Set(IniFile.F76Custom, "Controls", "fMouseHeadingYScale", 0.021f); - IniFiles.Instance.Set(IniFile.F76Custom, "Controls", "fPitchSpeedRatio", 0.5625f); - IniFiles.Instance.Set(IniFile.F76Custom, "Controls", "fIronSightsPitchSpeedRatio", 0.8f); - } - } - } - ); - - // Fix aim sensitivity - uiLoader.LinkCustom(this.checkBoxFixAimSensitivity, - () => Math.Abs(IniFiles.Instance.GetFloat("Main", "fIronSightsFOVRotateMult", 0f) - 2.14f) < 0.1f, - (value) => { - if (value) - { - IniFiles.Instance.Set(!alternativeMode ? IniFile.F76Custom : IniFile.F76, "Controls", "fIronSightsFOVRotateMult", 2.136363636f); - IniFiles.Instance.Set(!alternativeMode ? IniFile.F76Custom : IniFile.F76, "Main", "fIronSightsFOVRotateMult", 2.136363636f); - } - else - { - IniFiles.Instance.Remove(IniFile.F76Custom, "Controls", "fIronSightsFOVRotateMult"); - IniFiles.Instance.Remove(IniFile.F76Custom, "Main", "fIronSightsFOVRotateMult"); - if (alternativeMode) - { - IniFiles.Instance.Set(IniFile.F76, "Controls", "fIronSightsFOVRotateMult", 1.0f); - IniFiles.Instance.Set(IniFile.F76, "Main", "fIronSightsFOVRotateMult", 1.0f); - } - } - } - ); - - // Mouse sensitivity slider - uiLoader.LinkCustom(this.numMouseSensitivity, - () => IniFiles.Instance.GetFloat("Controls", "fMouseHeadingSensitivity", 0.03f), - (value) => { - // Fallout76Custom.ini had no effect. I hope Fallout76Prefs.ini will have an effect this time: - IniFiles.Instance.Set(IniFile.F76Prefs, "Controls", "fMouseHeadingSensitivity", value); - IniFiles.Instance.Set(IniFile.F76Prefs, "Controls", "fMouseHeadingSensitivityY", value); - } - ); - - // Gamepad - uiLoader.LinkBool(this.checkBoxGamepadEnabled, IniFile.F76Prefs, "General", "bGamepadEnable", true); - uiLoader.LinkBool(this.checkBoxGamepadRumble, !alternativeMode ? IniFile.F76Custom : IniFile.F76Prefs, "Controls", "bGamePadRumble", true); - - uiLoader.LinkBool(this.checkBoxMouseInvertX, IniFile.F76Prefs, "Controls", "bInvertXValues", false); - uiLoader.LinkBool(this.checkBoxMouseInvertY, IniFile.F76Prefs, "Controls", "bInvertYValues", false); - - - - /* - * Pipboy - */ - - // Radiobuttons, Quickboy or Pipboy - uiLoader.LinkBool(this.radioButtonQuickboy, this.radioButtonPipboy, IniFile.F76Prefs, "Pipboy", "bQuickboyMode", false); - - // Resolution - uiLoader.LinkInt(this.numPipboyTargetWidth, IniFile.F76Prefs, "Display", "uPipboyTargetWidth", 876); - uiLoader.LinkInt(this.numPipboyTargetHeight, IniFile.F76Prefs, "Display", "uPipboyTargetHeight", 700); - - - /* - * Camera - */ - - - // Vanity mode - uiLoader.LinkBool(this.checkBoxVanityMode, !alternativeMode ? IniFile.F76Custom : IniFile.F76, "Camera", "bDisableAutoVanityMode", false, true); - uiLoader.LinkBool(this.checkBoxForceVanityMode, !alternativeMode ? IniFile.F76Custom : IniFile.F76, "Camera", "bForceAutoVanityMode", false); - uiLoader.LinkCustom(this.checkBoxVanityMode, - () => this.checkBoxVanityMode.Checked, - (value) => - { - this.checkBoxForceVanityMode.Enabled = this.checkBoxVanityMode.Checked; - if (!this.checkBoxVanityMode.Checked) - { - this.checkBoxForceVanityMode.Checked = false; - IniFiles.Instance.Remove(IniFile.F76Custom, "Camera", "bForceAutoVanityMode"); - if (alternativeMode) - IniFiles.Instance.Set(IniFile.F76, "Camera", "bForceAutoVanityMode", false); - } - } - ); - uiLoader.Add(() => this.checkBoxForceVanityMode.Enabled = this.checkBoxVanityMode.Checked); - - // 1st person FOV - uiLoader.LinkCustom(this.numFirstPersonFOV, - () => IniFiles.Instance.GetFloat("Display", "fDefault1stPersonFOV", 80), - (value) => { - if (!alternativeMode) - { - IniFiles.Instance.Set(IniFile.F76Custom, "Display", "fDefault1stPersonFOV", value); - IniFiles.Instance.Set(IniFile.F76Custom, "Interface", "fDefault1stPersonFOV", value); - } - IniFiles.Instance.Set(IniFile.F76Prefs, "Display", "fDefault1stPersonFOV", value); - IniFiles.Instance.Set(IniFile.F76Prefs, "Interface", "fDefault1stPersonFOV", value); - } - ); - - // World FOV - uiLoader.LinkCustom(this.numWorldFOV, - () => IniFiles.Instance.GetFloat("Display", "fDefaultWorldFOV", 80), - (value) => { - if (!alternativeMode) - { - IniFiles.Instance.Set(IniFile.F76Custom, "Display", "fDefaultWorldFOV", value); - IniFiles.Instance.Set(IniFile.F76Custom, "Interface", "fDefaultWorldFOV", value); - } - IniFiles.Instance.Set(IniFile.F76Prefs, "Display", "fDefaultWorldFOV", value); - IniFiles.Instance.Set(IniFile.F76Prefs, "Interface", "fDefaultWorldFOV", value); - } - ); - - // 3rd person ADS FOV - uiLoader.LinkInt(this.numADSFOV, !alternativeMode ? IniFile.F76Custom : IniFile.F76, "Camera", "f3rdPersonAimFOV", 50); - - // fDefaultFOV - uiLoader.LinkInt(this.numfDefaultFOV, !alternativeMode ? IniFile.F76Custom : IniFile.F76, "Display", "fDefaultFOV", 80); - - // bApplyCameraNodeAnimations - uiLoader.LinkBool(this.checkBoxbApplyCameraNodeAnimations, !alternativeMode ? IniFile.F76Custom : IniFile.F76, "Camera", "bApplyCameraNodeAnimations", true); - - // Camera distance - uiLoader.LinkInt(this.numCameraDistanceMinimum, !alternativeMode ? IniFile.F76Custom : IniFile.F76, "Camera", "fVanityModeMinDist", 0); - uiLoader.LinkInt(this.numCameraDistanceMaximum, !alternativeMode ? IniFile.F76Custom : IniFile.F76, "Camera", "fVanityModeMaxDist", 150); - - // fPitchZoomOutMaxDist - uiLoader.LinkInt(this.numfPitchZoomOutMaxDist, !alternativeMode ? IniFile.F76Custom : IniFile.F76, "Camera", "fPitchZoomOutMaxDist", 100); - - // Switch delay - uiLoader.LinkFloat(this.numCameraSwitchDelay, !alternativeMode ? IniFile.F76Custom : IniFile.F76, "Camera", "f1st3rdSwitchDelay", 0.25f); - } - - #endregion - - - /* - ************************************************************** - * Event handlers - ************************************************************** - */ - - #region Nuclear Winter Mode - // Nuclear Winter mode - - private void toolStripButtonToggleNuclearWinterMode_Click(object sender, EventArgs e) - { - if (Shared.NuclearWinterMode) - DisableNuclearWinterMode(); - else - EnableNuclearWinterMode(); - } - - private void RefreshNWModeButtonAppearance() - { - if (Shared.NuclearWinterMode) - { - this.toolStripButtonToggleNuclearWinterMode.Text = Localization.GetString("adventuremode"); - this.toolStripButtonToggleNuclearWinterMode.Image = Resources.adventures; - } - else - { - this.toolStripButtonToggleNuclearWinterMode.Text = Localization.GetString("nuclearwintermode"); - this.toolStripButtonToggleNuclearWinterMode.Image = Resources.fire; - } - } - - private void LoadNuclearWinterConfiguration() - { - // NW mode enabled? - Shared.NuclearWinterMode = IniFiles.Instance.GetBool(IniFile.Config, "NuclearWinter", "bNWMode", - IniFiles.Instance.GetBool(IniFile.Config, "Preferences", "bNWMode", false) // backward compatibility - ); - - // Show label: - this.labelNWModeActive.Visible = Shared.NuclearWinterMode; - - // Fallout76Custom.ini renamed? - IniFiles.Instance.renameF76Custom = Shared.NuclearWinterMode && IniFiles.Instance.GetBool(IniFile.Config, "NuclearWinter", "bRenameCustomINI", true); - - // Change button appearance: - RefreshNWModeButtonAppearance(); - } - - public void DisableUI() - { - this.pictureBoxLoadingGIF.Visible = true; - this.pictureBoxLoadingGIF.Width = this.Width; - } - - public void EnableUI() - { - this.pictureBoxLoadingGIF.Visible = false; - } - - private void EnableNuclearWinterMode() - { - DisableUI(); - this.backgroundWorkerEnableNWMode.RunWorkerAsync(); - this.labelNWModeActive.Visible = true; - } - - private void DisableNuclearWinterMode() - { - DisableUI(); - this.backgroundWorkerDisableNWMode.RunWorkerAsync(); - this.labelNWModeActive.Visible = false; - } - - private void backgroundWorkerEnableNWMode_DoWork(object sender, DoWorkEventArgs e) - { - Shared.NuclearWinterMode = true; - - /* - * Fallout76Custom.ini: - */ - // Remove resource lists: - ManagedMods.Instance.WriteToF76Custom = false; - ManagedMods.Instance.ResolveNWResourceLists(); - - // Rename *.ini: - IniFiles.Instance.renameF76Custom = IniFiles.Instance.GetBool(IniFile.Config, "NuclearWinter", "bRenameCustomINI", true); - IniFiles.Instance.ResolveNWMode(); - - - /* - * Mods: - */ - - // Mods are deployed, automatically disable mods? - if (!ManagedMods.Instance.ModsDisabled && - IniFiles.Instance.GetBool(IniFile.Config, "NuclearWinter", "bAutoDisableMods", false)) - { - ManagedMods.Instance.ModsDisabled = true; - this.Invoke(this.formMods.OpenUI); - this.formMods.Deploy(); - this.Invoke(this.formMods.Hide); - this.Invoke(() => { this.Focus(); }); - } - - - /* - * *.dll's: - */ - - // Rename added *.dll files: - if (IniFiles.Instance.GetBool(IniFile.Config, "NuclearWinter", "bRenameDLLs", true)) - ManagedMods.Instance.RenameAddedDLLs(); - - - /* - * Configuration: - */ - - // Save configuration: - IniFiles.Instance.Set(IniFile.Config, "NuclearWinter", "bNWMode", true); - //IniFiles.Instance.Set(IniFile.Config, "Preferences", "bNWMode", true); - IniFiles.Instance.Remove(IniFile.Config, "Preferences", "bNWMode"); - IniFiles.Instance.SaveAll(); - } - - private void backgroundWorkerDisableNWMode_DoWork(object sender, DoWorkEventArgs e) - { - Shared.NuclearWinterMode = false; - - /* - * Fallout76Custom.ini: - */ - // Restore archive lists: - ManagedMods.Instance.WriteToF76Custom = true; - ManagedMods.Instance.ResolveNWResourceLists(); - - // Restore *.ini: - IniFiles.Instance.renameF76Custom = false; - IniFiles.Instance.ResolveNWMode(); - - - /* - * Mods: - */ - - // Mods haven't been deployed yet, automatically enable mods? - if (ManagedMods.Instance.ModsDisabled && - ManagedMods.Instance.Mods.Count() > 0 && - IniFiles.Instance.GetBool(IniFile.Config, "NuclearWinter", "bAutoDeployMods", false)) - { - ManagedMods.Instance.ModsDisabled = false; - this.Invoke(this.formMods.OpenUI); - this.formMods.Deploy(); - this.Invoke(this.formMods.Hide); - this.Invoke(() => { this.Focus(); }); - } - - - /* - * *.dll's: - */ - - // Restore added *.dll files: - ManagedMods.Instance.RestoreAddedDLLs(); - - - /* - * Configuration: - */ - - // Save configuration: - IniFiles.Instance.Set(IniFile.Config, "NuclearWinter", "bNWMode", false); - //IniFiles.Instance.Set(IniFile.Config, "Preferences", "bNWMode", false); - IniFiles.Instance.Remove(IniFile.Config, "Preferences", "bNWMode"); - IniFiles.Instance.SaveAll(); - } - - private void backgroundWorkerEnableNWMode_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e) + private void toolInstallationFolderToolStripMenuItem_Click(object sender, EventArgs e) { - // Popup: - MsgBox.Get("nwModeEnabled").Popup(MessageBoxIcon.Information); - - RefreshNWModeButtonAppearance(); - EnableUI(); + Utils.OpenExplorer(Directory.GetParent(Application.ExecutablePath).ToString()); } - private void backgroundWorkerDisableNWMode_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e) + private void gameFolderToolStripMenuItem_Click(object sender, EventArgs e) { - // Popup: - MsgBox.Get("nwModeDisabled").Popup(MessageBoxIcon.Information); - - RefreshNWModeButtonAppearance(); - EnableUI(); + Utils.OpenExplorer(this.game.GamePath); } - #endregion - - #region Apply, Launch, and so on. - public void ApplyChanges() - { - // Add custom lines to *.ini files: - try - { - String f76Path = Path.Combine(IniFiles.Instance.iniParentPath, "Fallout76.add.ini"); - if (File.Exists(f76Path)) - { - IniData f76Data = IniFiles.Instance.LoadIni(f76Path, false); - IniFiles.Instance.Merge(IniFile.F76, f76Data); - } - - String f76PPath = Path.Combine(IniFiles.Instance.iniParentPath, "Fallout76Prefs.add.ini"); - if (File.Exists(f76PPath)) - { - IniData f76PData = IniFiles.Instance.LoadIni(f76PPath, false); - IniFiles.Instance.Merge(IniFile.F76Prefs, f76PData); - } - String f76CPath = Path.Combine(IniFiles.Instance.iniParentPath, "Fallout76Custom.add.ini"); - if (File.Exists(f76CPath)) - { - IniData f76CData = IniFiles.Instance.LoadIni(f76CPath, false); - IniFiles.Instance.Merge(IniFile.F76Custom, f76CData); - } - } - catch (IniParser.Exceptions.ParsingException e) - { - MsgBox.Get("customIniFilesParsingError").FormatText(e.Message).Show(MessageBoxIcon.Error); - } - - // Save changes: - ColorUi2Ini(); - IniFiles.Instance.SaveAll(this.checkBoxReadOnly.Checked); - IniFiles.Instance.ResolveNWMode(); - } - - // "Apply" button: - private void toolStripButtonApply_Click(object sender, EventArgs e) + private void gamesConfigurationFolderToolStripMenuItem_Click(object sender, EventArgs e) { - // Show a messagebox to ask the user, if they want to make a backup. - if (!IniFiles.Instance.GetBool(IniFile.Config, "Preferences", "bSkipBackupQuestion", false)) - { - DialogResult res = MsgBox.Get("backupAndSave").Show(MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question); - if (res == DialogResult.Cancel) - return; - else if (res == DialogResult.Yes) - // Make backups - IniFiles.Instance.BackupAll(); - } - - // Save stuff to INI - ApplyChanges(); - MsgBox.Get("changesApplied").Popup(MessageBoxIcon.Information); + Utils.OpenExplorer(IniFiles.ParentPath); } - // [ ] "Make *.ini files read-only" checkbox: - private void checkBoxReadOnly_CheckedChanged(object sender, EventArgs e) + private void toolStripButtonNexusMods_Click(object sender, EventArgs e) { - IniFiles.Instance.SetINIsReadOnly(this.checkBoxReadOnly.Checked); + System.Diagnostics.Process.Start("https://www.nexusmods.com/fallout76/mods/546"); } - // "Launch Game" button: - private void toolStripSplitButtonLaunchGame_ButtonClick(object sender, EventArgs e) + private void checkForUpdatesToolStripMenuItem_Click(object sender, EventArgs e) { - uint uGameEdition = IniFiles.Instance.GetUInt(IniFile.Config, "Preferences", "uGameEdition", 0); - uint uLaunchOption = IniFiles.Instance.GetUInt(IniFile.Config, "Preferences", "uLaunchOption", 1); - String process = null; - bool runExecutable = false; - if (uLaunchOption == 1) - { - switch (uGameEdition) - { - case (uint)GameEdition.BethesdaNet: - process = "bethesdanet://run/20"; - break; - case (uint)GameEdition.Steam: - process = "steam://run/1151340"; // "steam://runappid/1151340" - break; - case (uint)GameEdition.BethesdaNetPTS: - process = "bethesdanet://run/57"; - break; - case (uint)GameEdition.MSStore: - process = "ms-windows-store://pdp/?ProductId=9nkgnmnk3k3z"; - break; - default: - MsgBox.Get("chooseGameEdition").Show(MessageBoxButtons.OK, MessageBoxIcon.Information); - return; - } - } - else if (uLaunchOption == 2) - { - if (!ManagedMods.Instance.ValidateGamePath()) - { - MsgBox.Get("modsGamePathNotSet").Show(MessageBoxButtons.OK, MessageBoxIcon.Information); - return; - } - process = Path.GetFullPath(Path.Combine(Shared.GamePath, Shared.GameEdition == GameEdition.MSStore ? "Project76_GamePass.exe" : "Fallout76.exe")); - runExecutable = true; - } - if (process != null) - { - if (IniFiles.Instance.GetBool(IniFile.Config, "Preferences", "bAutoApply", false)) - ApplyChanges(); - try - { - if (runExecutable) - { - // https://stackoverflow.com/questions/8720594/application-crashing-on-startup-using-process-start - // https://www.vbforums.com/showthread.php?489619-RESOLVED-2-0-Process-Start()-crashing-external-app - Process pr = new Process(); - pr.StartInfo.FileName = process; // Shared.GameEdition == GameEdition.MSStore ? "Project76_GamePass.exe" : "Fallout76.exe"; - pr.StartInfo.WorkingDirectory = Shared.GamePath; - pr.StartInfo.UseShellExecute = false; - pr.Start(); - } - else - { - System.Diagnostics.Process.Start(process); - } - if (IniFiles.Instance.GetBool(IniFile.Config, "Preferences", "bQuitOnLaunch", false)) - this.Close(); - } - catch (Exception ex) - { - if (Shared.GameEdition == GameEdition.MSStore) - { - MsgBox.Get("msstoreRunExecutableFailed").FormatTitle(ex.Message).Show(MessageBoxIcon.Error); - return; - } - } - } + CheckVersion(true); } - #endregion - - #region Event handlers - - // "Get the latest version from NexusMods" link: - private void linkLabel1_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) + private void showUpdaterlogtxtToolStripMenuItem_Click(object sender, EventArgs e) { - linkLabelManualDownloadPage.LinkVisited = true; - System.Diagnostics.Process.Start("https://www.nexusmods.com/fallout76/mods/546?tab=files"); + if (File.Exists(Path.Combine(Shared.AppConfigFolder, "update.log.txt"))) + Utils.OpenNotepad(Path.Combine(Shared.AppConfigFolder, "update.log.txt")); } - - /* - * Pipboy - */ - - private void buttonPipboyTargetReset_Click(object sender, EventArgs e) + private void editFallout76iniToolStripMenuItem_Click(object sender, EventArgs e) { - this.numPipboyTargetWidth.Value = 876; - this.numPipboyTargetHeight.Value = 700; + if (File.Exists(IniFiles.F76.FilePath)) + Utils.OpenFile(IniFiles.F76.FilePath); } - private void buttonPipboyTargetSetRecommended_Click(object sender, EventArgs e) + private void editFallout76PrefsiniToolStripMenuItem_Click(object sender, EventArgs e) { - this.numPipboyTargetWidth.Value = 1752; - this.numPipboyTargetHeight.Value = 1400; + if (File.Exists(IniFiles.F76Prefs.FilePath)) + Utils.OpenFile(IniFiles.F76Prefs.FilePath); } - - - private void toolStripButtonManageMods_Click(object sender, EventArgs e) + private void editFallout76CustominiToolStripMenuItem_Click(object sender, EventArgs e) { - /*if (!formModsBackupCreated) - { - IniFiles.Instance.BackupAll("Backup_BeforeManageMods"); // Just to be sure... - formModsBackupCreated = true; - }*/ - this.formMods.OpenUI(); + if (File.Exists(IniFiles.F76Custom.FilePath)) + Utils.OpenFile(IniFiles.F76Custom.FilePath); } - /* - * Game edition - */ - - private void ChangeGameEdition(GameEdition edition) + private void steamScreenshotFolderToolStripMenuItem_Click(object sender, EventArgs e) { - bool restartRequired = Shared.GameEdition != GameEdition.Unknown && ((Shared.GameEdition == GameEdition.MSStore && edition != GameEdition.MSStore) || (Shared.GameEdition != GameEdition.MSStore && edition == GameEdition.MSStore)); - - if (restartRequired && MsgBox.Get("msstoreRestartRequired").Show(MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No) - { - switch (Shared.GameEdition) - { - case GameEdition.Steam: - this.radioButtonEditionSteam.Checked = true; - break; - case GameEdition.BethesdaNet: - this.radioButtonEditionBethesdaNet.Checked = true; - break; - case GameEdition.BethesdaNetPTS: - this.radioButtonEditionBethesdaNetPTS.Checked = true; - break; - case GameEdition.MSStore: - this.radioButtonEditionMSStore.Checked = true; - break; - } - return; - } - - // Change image - switch (edition) - { - case GameEdition.Steam: - this.pictureBoxGameEdition.Image = Properties.Resources.steam; - this.labelGameEdition.Text = "Steam"; - break; - case GameEdition.BethesdaNet: - this.pictureBoxGameEdition.Image = Properties.Resources.bethesda; - this.labelGameEdition.Text = "Bethesda"; - break; - case GameEdition.BethesdaNetPTS: - this.pictureBoxGameEdition.Image = Properties.Resources.bethesda_pts; - this.labelGameEdition.Text = "Bethesda\n(PTS)"; - break; - case GameEdition.MSStore: - this.pictureBoxGameEdition.Image = Properties.Resources.msstore; - this.labelGameEdition.Text = "Microsoft\nStore"; - break; - default: - this.pictureBoxGameEdition.Image = Properties.Resources.help_128; - this.labelGameEdition.Text = "Unknown"; - break; - } - - // Currently, no way to launch game executable, if installed via MS Store: - /*if (edition == GameEdition.MSStore) - { - IniFiles.Instance.Set(IniFile.Config, "Preferences", "uLaunchOption", 1); - - this.radioButtonLaunchViaExecutable.Checked = false; - this.radioButtonLaunchViaExecutable.Enabled = false; - this.radioButtonLaunchViaLink.Checked = true; - } - else - { - this.radioButtonLaunchViaExecutable.Enabled = true; - }*/ - - Shared.ChangeGameEdition(edition); - //this.formMods.ChangeGameEdition(edition); - this.formMods.UpdateUI(); - this.textBoxGamePath.Text = Shared.GamePath; - - if (restartRequired) + string steamFolder = @"C:\Program Files (x86)\Steam\userdata\"; + if (Directory.Exists(steamFolder)) { - IniFiles.Instance.SaveWindowState("Form1", this); - Application.Restart(); + steamFolder = Path.Combine(Directory.GetDirectories(steamFolder)[0], @"760\remote\1151340\screenshots"); + Utils.OpenExplorer(steamFolder); } } - private void radioButtonEditionSteam_CheckedChanged(object sender, EventArgs e) - { - if (this.radioButtonEditionSteam.Checked) - ChangeGameEdition(GameEdition.Steam); - } - - private void radioButtonEditionBethesdaNet_CheckedChanged(object sender, EventArgs e) - { - if (this.radioButtonEditionBethesdaNet.Checked) - ChangeGameEdition(GameEdition.BethesdaNet); - } - - private void radioButtonEditionBethesdaNetPTS_CheckedChanged(object sender, EventArgs e) - { - if (this.radioButtonEditionBethesdaNetPTS.Checked) - ChangeGameEdition(GameEdition.BethesdaNetPTS); - } - - private void radioButtonEditionMSStore_CheckedChanged(object sender, EventArgs e) - { - if (this.radioButtonEditionMSStore.Checked) - ChangeGameEdition(GameEdition.MSStore); - } - - // Show password: - private void checkBoxShowPassword_CheckedChanged(object sender, EventArgs e) - { - // https://stackoverflow.com/questions/8185747/how-can-i-unmask-password-text-box-and-mask-it-back-to-password - this.textBoxPassword.UseSystemPasswordChar = !this.checkBoxShowPassword.Checked; - this.textBoxPassword.PasswordChar = !this.checkBoxShowPassword.Checked ? '\u2022' : '\0'; - } - - // Detect resolution: - private void buttonDetectResolution_Click(object sender, EventArgs e) + private void gamePhotosFolderToolStripMenuItem_Click(object sender, EventArgs e) { - int[] res = Utils.GetDisplayResolution(); - String resStr = $"{res[0]}x{res[1]}"; - - DropDown resolution = DropDown.Get("Resolution"); - if (resolution.Contains(resStr)) - { - int index = resolution.FindIndex(resStr); - resolution.SelectedIndex = index; - } - else + string photosFolder = Path.Combine(IniFiles.ParentPath, "Photos"); + if (Directory.Exists(photosFolder)) { - resolution.SelectedIndex = 0; + photosFolder = Directory.GetDirectories(photosFolder)[0]; + Utils.OpenExplorer(photosFolder); } - this.numCustomResW.Value = res[0]; - this.numCustomResH.Value = res[1]; } - private void checkBoxQuitOnGameLaunch_CheckedChanged(object sender, EventArgs e) + private void showSettings_OnClick(object sender, EventArgs e) { - IniFiles.Instance.Set(IniFile.Config, "Preferences", "bQuitOnLaunch", this.checkBoxQuitOnGameLaunch.Checked); + formSettings.ShowSettings(); } - private void checkBoxAutoApply_CheckedChanged(object sender, EventArgs e) + private void showProfiles_OnClick(object sender, EventArgs e) { - IniFiles.Instance.Set(IniFile.Config, "Preferences", "bAutoApply", this.checkBoxAutoApply.Checked); + formSettings.ShowProfiles(); } - private void checkBoxSkipBackupQuestion_CheckedChanged(object sender, EventArgs e) + #endregion + + // Check, if *.ini files have been changed: + private void timerCheckFiles_Tick(object sender, EventArgs e) { - IniFiles.Instance.Set(IniFile.Config, "Preferences", "bSkipBackupQuestion", this.checkBoxSkipBackupQuestion.Checked); + // TODO: Give an option to reload the *.ini files. + // Check every 5 seconds, if files have been modified: + if (IniFiles.FilesHaveBeenModified()) + { + IniFiles.UpdateLastModifiedDates(); + + // Don't prompt, if Fallout 76 is running... + if (!Utils.IsProcessRunning("Project76") && // !Utils.IsProcessRunning("Project76_GamePass") && + !Utils.IsProcessRunning("Fallout76")) + MsgBox.Get("iniFilesModified").Popup(MessageBoxIcon.Warning); + } } - private void checkBoxOpenManageModsOnLaunch_CheckedChanged(object sender, EventArgs e) + private void linkLabelAttribution_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) { - IniFiles.Instance.Set(IniFile.Config, "Preferences", "bOpenModManagerOnLaunch", this.checkBoxOpenManageModsOnLaunch.Checked); + Utils.OpenNotepad(@"Attribution.txt"); } - private void buttonUpdateNow_Click(object sender, EventArgs e) + private void linkLabelWhatsNew_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) { - // Set sInstallationPath: - String installationPath = Path.GetFullPath(AppContext.BaseDirectory); - IniFiles.Instance.Set(IniFile.Config, "Updater", "sInstallationPath", installationPath); - IniFiles.Instance.SaveConfig(); + ShowWhatsNew(); + } - // Copy updater.exe to \Updater\: - String updaterPath = Path.Combine(Shared.AppConfigFolder, "Updater"); - List updaterFiles = new List() { - "7z\\7za.dll", - "7z\\7za.exe", - "7z\\7zxa.dll", - "INIFileParser.dll", - "INIFileParser.xml", - "Newtonsoft.Json.dll", - "Newtonsoft.Json.xml", - "updater.exe", - "updater.exe.config", - "updater.pdb" - }; - Directory.CreateDirectory(updaterPath); - Directory.CreateDirectory(Path.Combine(updaterPath, "7z")); - foreach (String file in updaterFiles) - File.Copy(file, Path.Combine(updaterPath, file), true); + private void MakePictureBoxButton(PictureBox pictureBox, string localizedStringID) + { + pictureBox.Paint += new PaintEventHandler((paintSender, paintEventArgs) => + { + paintEventArgs.Graphics.TextRenderingHint = System.Drawing.Text.TextRenderingHint.ClearTypeGridFit; - // Run updater.exe: - ProcessStartInfo startInfo = new ProcessStartInfo(); - startInfo.FileName = Path.Combine(updaterPath, "updater.exe"); - // If the program is installed into C:\Program Files (x86)\ then run the updater as admin: - if (installationPath.Contains("C:\\Program Files")) - startInfo.Verb = "runas"; - Process.Start(startInfo); - Application.Exit(); - //Environment.Exit(0); + string text = Localization.GetString(localizedStringID); + + Font font = new Font("Microsoft Sans Serif", 12f, FontStyle.Bold); + + SizeF textSize = paintEventArgs.Graphics.MeasureString(text, font); + PointF locationToDraw = new PointF(); + locationToDraw.X = (pictureBox.Width / 2) - (textSize.Width / 2); + locationToDraw.Y = (pictureBox.Height / 2) - (textSize.Height / 2); + + paintEventArgs.Graphics.DrawString(text, font, Brushes.White, locationToDraw); + }); + pictureBox.MouseEnter += new EventHandler((mouseSender, mouseEventArgs) => + { + pictureBox.Image = Resources.button_hover; + pictureBox.Cursor = Cursors.Hand; + }); + pictureBox.MouseLeave += new EventHandler((mouseSender, mouseEventArgs) => + { + pictureBox.Image = Resources.button; + pictureBox.Cursor = Cursors.Default; + }); } - private void pictureBoxUpdateButton_Click(object sender, EventArgs e) + public void DisableUI() { - buttonUpdateNow_Click(sender, e); + this.pictureBoxLoadingGIF.Visible = true; + this.pictureBoxLoadingGIF.Width = this.Width; } - private void checkBoxIgnoreUpdates_CheckedChanged(object sender, EventArgs e) + public void EnableUI() { - IniFiles.Instance.Set(IniFile.Config, "Preferences", "bIgnoreUpdates", this.checkBoxIgnoreUpdates.Checked); - this.CheckVersion(); + this.pictureBoxLoadingGIF.Visible = false; } - + #region Credentials /* - * Game path + * Credentials */ - // Pick game path - private void buttonPickGamePath_Click(object sender, EventArgs e) + List accountProfileRadioButtons { - if (ManagedMods.Instance.isDeploymentNecessary()) - { - MsgBox.ShowID("modsDeploymentNecessary"); - return; - } - if (this.openFileDialogGamePath.ShowDialog() == DialogResult.OK) + get { - String path = Path.GetDirectoryName(this.openFileDialogGamePath.FileName); // We want the path where Fallout76.exe resides. - if (Directory.Exists(Path.Combine(path, "Data"))) - { - this.textBoxGamePath.Text = path; - Shared.GamePath = path; - Shared.SaveGamePath(); - ManagedMods.Instance.Load(); - } - else - MsgBox.ShowID("modsGamePathInvalid"); + return new List { + radioButtonAccount1, + radioButtonAccount2, + radioButtonAccount3, + radioButtonAccount4, + radioButtonAccount5, + radioButtonAccount6, + radioButtonAccount7, + radioButtonAccount8, + radioButtonAccount9, + radioButtonAccount10, + radioButtonAccount11, + radioButtonAccount12, + radioButtonAccount13, + radioButtonAccount14, + radioButtonAccount15, + radioButtonAccount16 + }; } } - // Game path textbox changed - private void textBoxGamePath_TextChanged(object sender, EventArgs e) + // Show password: + private void checkBoxShowPassword_CheckedChanged(object sender, EventArgs e) { - if (this.textBoxGamePath.Focused) - { - if (ManagedMods.Instance.isDeploymentNecessary()) - { - if (this.textBoxGamePath.Text != Shared.GamePath) - this.textBoxGamePath.Text = Shared.GamePath; - return; - } - else if (Directory.Exists(Path.Combine(this.textBoxGamePath.Text, "Data"))) - { - Shared.GamePath = this.textBoxGamePath.Text; - Shared.SaveGamePath(); - ManagedMods.Instance.Load(); - this.textBoxGamePath.ForeColor = Color.Black; - this.textBoxGamePath.BackColor = Color.White; - } - else - { - this.textBoxGamePath.ForeColor = Color.White; - this.textBoxGamePath.BackColor = Color.Red; - } - } + // https://stackoverflow.com/questions/8185747/how-can-i-unmask-password-text-box-and-mask-it-back-to-password + this.textBoxPassword.UseSystemPasswordChar = !this.checkBoxShowPassword.Checked; + this.textBoxPassword.PasswordChar = !this.checkBoxShowPassword.Checked ? '\u2022' : '\0'; } - private void radioButtonLaunchViaExecutable_CheckedChanged(object sender, EventArgs e) + private void textBoxUserName_TextChanged(object sender, EventArgs e) { - this.labelLaunchOptionTip.Visible = false; - this.labelLaunchOptionMSStoreNotice.Visible = false; - - if (Shared.GameEdition == GameEdition.BethesdaNet || Shared.GameEdition == GameEdition.BethesdaNetPTS) - this.labelLaunchOptionTip.Visible = this.radioButtonLaunchViaExecutable.Checked; - - else if (Shared.GameEdition == GameEdition.MSStore) - this.labelLaunchOptionMSStoreNotice.Visible = this.radioButtonLaunchViaExecutable.Checked; + int index = GetSelectedAccountProfileRadiobuttonIndex(); + if (this.textBoxUserName.Text == "") + { + IniFiles.Config.Remove("Login", $"s76UserName{index}"); + IniFiles.F76Custom.Remove("Login", "s76UserName"); + } + else + { + IniFiles.Config.Set("Login", $"s76UserName{index}", this.textBoxUserName.Text); + IniFiles.F76Custom.Set("Login", "s76UserName", this.textBoxUserName.Text); + } } - /* - * Tool strip: - */ - - private void toolConfigurationFolderToolStripMenuItem_Click(object sender, EventArgs e) + private void textBoxPassword_TextChanged(object sender, EventArgs e) { - Utils.OpenExplorer(Shared.AppConfigFolder); + int index = GetSelectedAccountProfileRadiobuttonIndex(); + if (this.textBoxPassword.Text == "") + { + IniFiles.Config.Remove("Login", $"s76Password{index}"); + IniFiles.F76Custom.Remove("Login", "s76Password"); + } + else + { + IniFiles.Config.Set("Login", $"s76Password{index}", this.textBoxPassword.Text); + IniFiles.F76Custom.Set("Login", "s76Password", this.textBoxPassword.Text); + } } - private void toolLanguagesFolderToolStripMenuItem_Click(object sender, EventArgs e) + // If a radiobuttons gets checked, load username and password of a profile. + private void radioButtonAccount_CheckedChanged(object sender, EventArgs e) { - Utils.OpenExplorer(Localization.languageFolder); + int index = GetSelectedAccountProfileRadiobuttonIndex(); + IniFiles.Config.Set("Login", "uActiveAccountProfile", index); + if (index == 0) + { + this.textBoxUserName.Text = IniFiles.GetString("Login", "s76UserName", ""); + this.textBoxPassword.Text = IniFiles.GetString("Login", "s76Password", ""); + } + else + { + this.textBoxUserName.Text = IniFiles.Config.GetString("Login", $"s76UserName{index}", ""); + this.textBoxPassword.Text = IniFiles.Config.GetString("Login", $"s76Password{index}", ""); + } } - private void toolInstallationFolderToolStripMenuItem_Click(object sender, EventArgs e) + private void radioButtonAccountNone_CheckedChanged(object sender, EventArgs e) { - Utils.OpenExplorer(Directory.GetParent(Application.ExecutablePath).ToString()); + this.textBoxUserName.Text = IniFiles.GetString("Login", "s76UserName", ""); + this.textBoxPassword.Text = IniFiles.GetString("Login", "s76Password", ""); } - private void gameFolderToolStripMenuItem_Click(object sender, EventArgs e) + private int GetSelectedAccountProfileRadiobuttonIndex() { - Utils.OpenExplorer(Shared.GamePath); + int index = 1; + foreach (RadioButton rbutton in accountProfileRadioButtons) + { + if (rbutton.Checked) + break; + index++; + } + if (index > accountProfileRadioButtons.Count) + index = 0; + return index; } - private void gamesConfigurationFolderToolStripMenuItem_Click(object sender, EventArgs e) + private void SetSelectedAccountProfileRadiobuttonIndex(int index) { - Utils.OpenExplorer(IniFiles.Instance.iniParentPath); + if (index <= 0) + { + this.radioButtonAccountNone.Checked = true; + return; + } + accountProfileRadioButtons[index - 1].Checked = true; } - private void toolStripButtonNexusMods_Click(object sender, EventArgs e) + // Assigns event handler to radiobuttons (Account #1, Account #2, ...): + private void InitAccountProfileRadiobuttons() { - System.Diagnostics.Process.Start("https://www.nexusmods.com/fallout76/mods/546"); + foreach (RadioButton rbutton in accountProfileRadioButtons) + rbutton.CheckedChanged += radioButtonAccount_CheckedChanged; } - private void checkForUpdatesToolStripMenuItem_Click(object sender, EventArgs e) + // Gets current account profile and sets the according radiobutton + private void LoadAccountProfile() { - CheckVersion(true); + //int index = IniFiles.Config.GetInt("Login", "uActiveAccountProfile", 0); + int index = 0; + string username = IniFiles.GetString("Login", "s76UserName", ""); + string password = IniFiles.GetString("Login", "s76Password", ""); + if (username != "" && password != "") + { + for (int i = 1; i <= accountProfileRadioButtons.Count(); i++) + { + if (username == IniFiles.Config.GetString("Login", $"s76UserName{i}", "") && + password == IniFiles.Config.GetString("Login", $"s76Password{i}", "")) + { + index = i; + break; + } + } + } + SetSelectedAccountProfileRadiobuttonIndex(index); } + #endregion - private void showUpdaterlogtxtToolStripMenuItem_Click(object sender, EventArgs e) - { - if (File.Exists(Path.Combine(Shared.AppConfigFolder, "update.log.txt"))) - Utils.OpenNotepad(Path.Combine(Shared.AppConfigFolder, "update.log.txt")); - } + #region Custom tab - private String customAddFilePath = ""; + private string customAddFilePath = null; private void comboBoxCustomFile_SelectedIndexChanged(object sender, EventArgs e) { - String fileName = "Invalid.add.ini"; + string fileName; switch (this.comboBoxCustomFile.SelectedIndex) { case 0: - fileName = "Fallout76.add.ini"; + fileName = $"{game.IniPrefix}.add.ini"; break; case 1: - fileName = "Fallout76Prefs.add.ini"; + fileName = $"{game.IniPrefix}Prefs.add.ini"; break; case 2: - fileName = "Fallout76Custom.add.ini"; + fileName = $"{game.IniPrefix}Custom.add.ini"; break; + default: + return; } - this.customAddFilePath = Path.Combine(IniFiles.Instance.iniParentPath, fileName); + this.customAddFilePath = Path.Combine(IniFiles.ParentPath, fileName); if (File.Exists(this.customAddFilePath)) this.textBoxCustom.Text = File.ReadAllText(this.customAddFilePath); @@ -2033,213 +1039,203 @@ private void buttonCustomSave_Click(object sender, EventArgs e) this.buttonCustomSave.Text = this.buttonCustomSave.Text.TrimEnd('*'); } - private void editFallout76iniToolStripMenuItem_Click(object sender, EventArgs e) + private void LoadCustomTab () { - if (File.Exists(IniFiles.Instance.GetIniPath(IniFile.F76))) - Utils.OpenNotepad(IniFiles.Instance.GetIniPath(IniFile.F76)); + this.comboBoxCustomFile.Items.Clear(); + this.comboBoxCustomFile.Items.AddRange(new string[] { + $"{game.IniPrefix}.ini", + $"{game.IniPrefix}Prefs.ini", + $"{game.IniPrefix}Custom.ini" + }); + this.comboBoxCustomFile.SelectedIndex = 0; } - private void editFallout76PrefsiniToolStripMenuItem_Click(object sender, EventArgs e) - { - if (File.Exists(IniFiles.Instance.GetIniPath(IniFile.F76Prefs))) - Utils.OpenNotepad(IniFiles.Instance.GetIniPath(IniFile.F76Prefs)); - } + #endregion - private void editFallout76CustominiToolStripMenuItem_Click(object sender, EventArgs e) + #region Resolution combobox + + // Detect resolution: + private void buttonDetectResolution_Click(object sender, EventArgs e) { - if (File.Exists(IniFiles.Instance.GetIniPath(IniFile.F76Custom))) - Utils.OpenNotepad(IniFiles.Instance.GetIniPath(IniFile.F76Custom)); + Size res = Utils.GetDisplayResolution(); + this.numCustomResW.Value = res.Width; + this.numCustomResH.Value = res.Height; } - private void steamScreenshotFolderToolStripMenuItem_Click(object sender, EventArgs e) + private void comboBoxResolution_SelectedIndexChanged(object sender, EventArgs e) { - String steamFolder = @"C:\Program Files (x86)\Steam\userdata\"; - if (Directory.Exists(steamFolder)) + // If "Custom" selected, skip: + if (this.comboBoxResolution.SelectedIndex == 0) + return; + + // If an invalid option has been selected, set to "Custom" and skip: + string res = this.comboBoxResolution.SelectedItem.ToString(); + Size? displaySize = GetResolutionFromString(res); + if (!displaySize.HasValue) { - steamFolder = Path.Combine(Directory.GetDirectories(steamFolder)[0], @"760\remote\1151340\screenshots"); - Utils.OpenExplorer(steamFolder); + this.comboBoxResolution.SelectedIndex = 0; + return; } + + int width = displaySize.Value.Width; + int height = displaySize.Value.Height; + + // Set the values of the NumericUpDowns (which in turn will trigger the event handlers which set the values in the *.ini files) + if (this.numCustomResW.Value != width) + this.numCustomResW.Value = width; + + if (this.numCustomResH.Value != height) + this.numCustomResH.Value = height; } - private void gamePhotosFolderToolStripMenuItem_Click(object sender, EventArgs e) + /// + /// Extracts width and height from a string that looks like this: "[16:9] 1920 x 1080 (Full HD)" + /// + /// Width and height if a valid option has been selected. Otherwise null. + private Size? GetResolutionFromString(String res) { - String photosFolder = Path.Combine(IniFiles.Instance.iniParentPath, "Photos"); - if (Directory.Exists(photosFolder)) - { - photosFolder = Directory.GetDirectories(photosFolder)[0]; - Utils.OpenExplorer(photosFolder); - } + if (!res.Contains("x")) + return null; + string[] split = res.Split('x').Select(x => x.Trim()).ToArray(); + int width = Convert.ToInt32(Regex.Match(split[0], @"[0-9]+$").Groups[0].Value); + int height = Convert.ToInt32(Regex.Match(split[1], @"^[0-9]+").Groups[0].Value); + return new Size(width, height); } - private int GetSelectedAccountProfile() + /// + /// Searches through the resolution combobox for an option that matches the given size. + /// + /// + /// The first occurence if a match was found. Otherwise -1. + private int FindIndexInResolutionComboBox(Size size) { - int index = 0; - foreach (RadioButton rbutton in this.accountProfileRadioButtons) + for (int i = 0; i < this.comboBoxResolution.Items.Count; i++) { - if (rbutton.Checked) - break; - index++; + string res = this.comboBoxResolution.Items[i].ToString(); + Size? s = GetResolutionFromString(res); + if (s?.Width == size.Width && s?.Height == size.Height) + return i; } - if (index >= this.accountProfileRadioButtons.Length) - index = 0; - return index; + return -1; } - private void checkBoxAlternativeINIMode_CheckedChanged(object sender, EventArgs e) + private void numCustomRes_ValueChanged(object sender, EventArgs e) { - bool altMode = IniFiles.Instance.GetBool(IniFile.Config, "Preferences", "bAlternativeINIMode", false); - - if (this.checkBoxAlternativeINIMode.Checked == altMode) - return; - - if (MsgBox.ShowID("restartRequired", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) - { - IniFiles.Instance.Set(IniFile.Config, "Preferences", "bAlternativeINIMode", this.checkBoxAlternativeINIMode.Checked); - IniFiles.Instance.SaveConfig(); - //Application.Exit(); - Application.Restart(); - Environment.Exit(0); - } + Size size = new Size( + Convert.ToInt32(numCustomResW.Value), + Convert.ToInt32(numCustomResH.Value) + ); + int i = FindIndexInResolutionComboBox(size); + if (i > -1) + this.comboBoxResolution.SelectedIndex = i; else - { - this.checkBoxAlternativeINIMode.Checked = altMode; - } + this.comboBoxResolution.SelectedIndex = 0; } + #endregion - /* - * Credentials - */ + #region Pipboy - private void textBoxUserName_TextChanged(object sender, EventArgs e) + private void buttonPresetFo3Green_Click(object sender, EventArgs e) { - int index = GetSelectedAccountProfile(); - if (this.textBoxUserName.Text == "") - IniFiles.Instance.Remove(IniFile.Config, "Login", $"s76UserName{index + 1}"); - else - IniFiles.Instance.Set(IniFile.Config, "Login", $"s76UserName{index + 1}", this.textBoxUserName.Text); + this.colorPreviewPipboy.BackColor = Color.FromArgb(26, 255, 128); } - private void textBoxPassword_TextChanged(object sender, EventArgs e) + private void buttonPresetFoNVAmber_Click(object sender, EventArgs e) { - int index = GetSelectedAccountProfile(); - if (this.textBoxPassword.Text == "") - IniFiles.Instance.Remove(IniFile.Config, "Login", $"s76Password{index + 1}"); - else - IniFiles.Instance.Set(IniFile.Config, "Login", $"s76Password{index + 1}", this.textBoxPassword.Text); + this.colorPreviewPipboy.BackColor = Color.FromArgb(255, 182, 66); } - private void radioButtonAccount_CheckedChanged(object sender, EventArgs e) + private void buttonPresetFo3Blue_Click(object sender, EventArgs e) { - int index = GetSelectedAccountProfile(); - this.textBoxUserName.Text = IniFiles.Instance.GetString(IniFile.Config, "Login", $"s76UserName{index + 1}", ""); - this.textBoxPassword.Text = IniFiles.Instance.GetString(IniFile.Config, "Login", $"s76Password{index + 1}", ""); + this.colorPreviewPipboy.BackColor = Color.FromArgb(46, 207, 255); } - private void MakePictureBoxButton(PictureBox pictureBox, String localizedStringID) + private void buttonPresetFo3White_Click(object sender, EventArgs e) { - pictureBox.Paint += new PaintEventHandler((paintSender, paintEventArgs) => - { - paintEventArgs.Graphics.TextRenderingHint = System.Drawing.Text.TextRenderingHint.ClearTypeGridFit; - - string text = Localization.GetString(localizedStringID); - - Font font = new Font("Microsoft Sans Serif", 12f, FontStyle.Bold); - - SizeF textSize = paintEventArgs.Graphics.MeasureString(text, font); - PointF locationToDraw = new PointF(); - locationToDraw.X = (pictureBox.Width / 2) - (textSize.Width / 2); - locationToDraw.Y = (pictureBox.Height / 2) - (textSize.Height / 2); + this.colorPreviewPipboy.BackColor = Color.FromArgb(192, 255, 255); + } - paintEventArgs.Graphics.DrawString(text, font, Brushes.White, locationToDraw); - }); - pictureBox.MouseEnter += new EventHandler((mouseSender, mouseEventArgs) => - { - pictureBox.Image = Resources.button_hover; - pictureBox.Cursor = Cursors.Hand; - }); - pictureBox.MouseLeave += new EventHandler((mouseSender, mouseEventArgs) => - { - pictureBox.Image = Resources.button; - pictureBox.Cursor = Cursors.Default; - }); + private void buttonPresetFo4Green_Click(object sender, EventArgs e) + { + this.colorPreviewPipboy.BackColor = Color.FromArgb(18, 255, 21); } - private void launchViaSteamToolStripMenuItem_Click(object sender, EventArgs e) + private void buttonPresetFo76Green_Click(object sender, EventArgs e) { - // Launch Steam version: - System.Diagnostics.Process.Start("steam://run/1151340"); + this.colorPreviewPipboy.BackColor = Color.FromArgb(26, 255, 128); } - private void launchViaBethesdanetToolStripMenuItem_Click(object sender, EventArgs e) + private void buttonCameraPositionReset_Click(object sender, EventArgs e) { - // Launch Bethesda.net version: - String gamePath = IniFiles.Instance.GetString(IniFile.Config, "Preferences", "sGamePathBethesdaNet", ""); - String execPath = Path.GetFullPath(Path.Combine(gamePath, "Fallout76.exe")); + this.applyCameraNodeAnimationsTweak.ResetValue(); + this.cameraOverShoulderPosXTweak.ResetValue(); + this.cameraOverShoulderPosZTweak.ResetValue(); + this.cameraOverShoulderCombatPosXTweak.ResetValue(); + this.cameraOverShoulderCombatPosZTweak.ResetValue(); + this.cameraOverShoulderCombatAddYTweak.ResetValue(); + this.cameraOverShoulderMeleeCombatPosXTweak.ResetValue(); + this.cameraOverShoulderMeleeCombatPosZTweak.ResetValue(); + this.cameraOverShoulderMeleeCombatAddYTweak.ResetValue(); + LinkedTweaks.LoadValues(); + } - uint uLaunchOption = IniFiles.Instance.GetUInt(IniFile.Config, "Preferences", "uLaunchOption", 1); - if (uLaunchOption == 1 || !File.Exists(execPath)) - System.Diagnostics.Process.Start("bethesdanet://run/20"); - else - { - Process pr = new Process(); - pr.StartInfo.FileName = execPath; - pr.StartInfo.WorkingDirectory = gamePath; - pr.StartInfo.UseShellExecute = false; - pr.Start(); - } - } + private PictureBox maskedPipScreen; + private PictureBox colorizedPipScreen; - private void launchViaBethesdanetPTSToolStripMenuItem_Click(object sender, EventArgs e) + private void InitPipboyScreen() { - // Launch Bethesda.net (PTS) version: - String gamePath = IniFiles.Instance.GetString(IniFile.Config, "Preferences", "sGamePathBethesdaNetPTS", ""); - String execPath = Path.GetFullPath(Path.Combine(gamePath, "Fallout76.exe")); + maskedPipScreen = new PictureBox(); + maskedPipScreen.Image = Resources.pipboy_preview_fg_masked; + maskedPipScreen.SizeMode = this.pictureBoxPipboyPreview.SizeMode; + maskedPipScreen.Size = this.pictureBoxPipboyPreview.Size; - uint uLaunchOption = IniFiles.Instance.GetUInt(IniFile.Config, "Preferences", "uLaunchOption", 1); + colorizedPipScreen = new PictureBox(); + colorizedPipScreen.Image = Resources.pipboy_preview_fg; + colorizedPipScreen.SizeMode = this.pictureBoxPipboyPreview.SizeMode; + colorizedPipScreen.Size = this.pictureBoxPipboyPreview.Size; - if (uLaunchOption == 1 || !File.Exists(execPath)) - System.Diagnostics.Process.Start("bethesdanet://run/57"); - else - { - Process pr = new Process(); - pr.StartInfo.FileName = execPath; - pr.StartInfo.WorkingDirectory = gamePath; - pr.StartInfo.UseShellExecute = false; - pr.Start(); - } + colorizedPipScreen.Controls.Add(maskedPipScreen); + this.pictureBoxPipboyPreview.Controls.Add(colorizedPipScreen); } - - - // Check, if *.ini files have been changed: - private void timerCheckFiles_Tick(object sender, EventArgs e) + private void UpdatePipboyScreen(Color targetColor) { - // Check every 5 seconds, if files have been modified: - if (IniFiles.Instance.FilesHaveBeenModified()) + Bitmap bmp = new Bitmap(Resources.pipboy_preview_fg); + for (int x = 0; x < bmp.Width; x++) { - IniFiles.Instance.UpdateLastModifiedDates(); - - // Don't prompt, if Fallout 76 is running.... - if (Shared.GameEdition == GameEdition.MSStore ? - //!Utils.IsProcessRunning("Project76_GamePass") : - !Utils.IsProcessRunning("Project76") : - !Utils.IsProcessRunning("Fallout76")) - MsgBox.Get("iniFilesModified").Popup(MessageBoxIcon.Warning); + for (int y = 0; y < bmp.Height; y++) + { + Color oldColor = bmp.GetPixel(x, y); + int r = (int)Utils.Clamp(oldColor.R / 255.0 * targetColor.R, 0, 255); + int g = (int)Utils.Clamp(oldColor.G / 255.0 * targetColor.G, 0, 255); + int b = (int)Utils.Clamp(oldColor.B / 255.0 * targetColor.B, 0, 255); + Color newColor = Color.FromArgb(oldColor.A, r, g, b); + bmp.SetPixel(x, y, newColor); + } } + colorizedPipScreen.Image = bmp; } - private void linkLabelAttribution_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) + private void colorPreviewPipboy_BackColorChanged(object sender, EventArgs e) { - Utils.OpenNotepad(@"Attribution.txt"); + UpdatePipboyScreen(this.colorPreviewPipboy.BackColor); } - private void linkLabelWhatsNew_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) + private void buttonPipboyTargetReset_Click(object sender, EventArgs e) { - ShowWhatsNew(); + this.numPipboyTargetWidth.Value = 876; + this.numPipboyTargetHeight.Value = 700; + } + + private void buttonPipboyTargetSetRecommended_Click(object sender, EventArgs e) + { + this.numPipboyTargetWidth.Value = 1752; + this.numPipboyTargetHeight.Value = 1400; } + #endregion } } diff --git a/Fo76ini/Forms/Form1/Form1.resx b/Fo76ini/Forms/Form1/Form1.resx index 6b8344b..f620a86 100644 --- a/Fo76ini/Forms/Form1/Form1.resx +++ b/Fo76ini/Forms/Form1/Form1.resx @@ -126,30 +126,6 @@ Not sure if it does anything, though. I stood around for 5 minutes and the camer Affected values: bDisableAutoVanityMode Affected files: Fallout76Custom.ini - - - Changes the display mode. - - -Fullscreen: Real fullscreen mode - -Windowed: Windowed mode with border - -Borderless windowed: Make sure, the resolution matches your display's resolution. - -Borderless windowed (Fullscreen): Window will be maximized to fit your screen. -Looks pixelated (it uses Nearest Neighbor), if the resolution is low. - - -Affected values: bFull Screen, bBorderless -Affected files: Fallout76Prefs.ini - - - Checking this will keep the game's window in foreground. -NOTE: This will prevent you from being able to Alt+Tab on single monitors. - -Affected values: bTopMostWindow -Affected files: Fallout76Prefs.ini Fixes hidden / borked @@ -203,41 +179,12 @@ Unchecking this might result in a clear view underwater. Affected values: bDoRadialBlur, iRadialBlurLevel Affected files: Fallout76Custom.ini - - Unchecking this will disable all Depth of Field effects. - -Affected files: Fallout76Custom.ini -Affected values: - bDynamicDepthOfField - fDOFBlendRatio - fDOFMinFocalCoefDist - fDOFMaxFocalCoefDist - fDOFDynamicFarRange - fDOFCenterWeightInt - fDOFFarDistance - Unchecking this will disable ambient occlusion. Ambient occlusion basically adds fake shadows to places light sources can't reach (concave edges). Affected values: bSAOEnable Affected files: Fallout76Prefs.ini - - - If checked, the sensitivity for looking up/down and left/right will be equal. -If unchecked (default), the sensitivity for looking left/right will likely be higher than up/down. - -When checked, your mouse sensitivity might increase. - -The sensitivity depends on your display's aspect ratio: - For 4:3, the value of X is .028 - For 16:9, the value of X is .03738 - For 16:10, the value of X is .0336 - For 21:9, the value of X is .042 - -Default: Disabled (.021 for both) -Affected values: fMouseHeadingXScale, fMouseHeadingYScale, fPitchSpeedRatio, fIronSightsPitchSpeedRatio -Affected files: Fallout76Custom.ini If checked, the aim sensitivity will be equal to normal sensitivity. @@ -275,13 +222,6 @@ I think, setting it to a low value will disable shadows. Needs more testing. Affected values: fShadowDistance, fDirShadowDistance Affected files: Fallout76Prefs.ini - - - Amount of "segments" of lower-res shadows at a distance. -A value of 1 forces the game to render only the lowest resolution shadows. - -Affected values: iDirShadowSplits -Affected files: Fallout76Prefs.ini When disabled, sets the camera's position into the characters head. @@ -295,21 +235,21 @@ Affected values: bApplyCameraNodeAnimations Affected files: Fallout76Custom.ini - - When you take screenshots ingame with the print screen button, it saves them in the game directory as "ScreenShotX.png". -The "X" being the screenshot index. + + Amount of "segments" of lower-res shadows at a distance. +A value of 1 forces the game to render only the lowest resolution shadows. -Affected values: iScreenShotIndex +Affected values: iDirShadowSplits Affected files: Fallout76Prefs.ini - 107, 17 + 123, 17 - 221, 17 + 500, 96 - 864, 17 + 120, 46 Your credentials are saved into Fallout76Custom.ini @@ -317,32 +257,26 @@ This way, you don't have to enter your username and password manually if you start Fallout 76 without the launcher. If you use Steam and want to use your Bethesda.net account -(e.g. to spent Atoms), tick Disable Steam. +(e.g. to spent Atoms), untick Enable Steam. NOTE: Your achievements will be disabled as well! - - 1054, 17 - - 1159, 17 + 498, 13 - 1380, 17 - - - 1629, 17 + 495, 45 - 1900, 17 + 306, 74 - - 561, 11 + + 298, 15 - - 550, 47 + + 302, 43 - 82 + 171 diff --git a/Fo76ini/Forms/FormIniError/FormIniError.Designer.cs b/Fo76ini/Forms/FormIniError/FormIniError.Designer.cs new file mode 100644 index 0000000..6f2d580 --- /dev/null +++ b/Fo76ini/Forms/FormIniError/FormIniError.Designer.cs @@ -0,0 +1,358 @@ + +namespace Fo76ini.Forms.FormIniError +{ + partial class FormIniError + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FormIniError)); + this.label1 = new System.Windows.Forms.Label(); + this.pictureBox1 = new System.Windows.Forms.PictureBox(); + this.label2 = new System.Windows.Forms.Label(); + this.richTextBox = new System.Windows.Forms.RichTextBox(); + this.panel1 = new System.Windows.Forms.Panel(); + this.buttonResetFile = new System.Windows.Forms.Button(); + this.buttonTryAgain = new System.Windows.Forms.Button(); + this.linkLabelShowHelp = new System.Windows.Forms.LinkLabel(); + this.buttonOpenEditor = new System.Windows.Forms.Button(); + this.labelErrorMessage = new System.Windows.Forms.Label(); + this.label5 = new System.Windows.Forms.Label(); + this.pictureBox2 = new System.Windows.Forms.PictureBox(); + this.buttonCloseProgram = new System.Windows.Forms.Button(); + this.label8 = new System.Windows.Forms.Label(); + this.label6 = new System.Windows.Forms.Label(); + this.labelFileName = new System.Windows.Forms.Label(); + this.label9 = new System.Windows.Forms.Label(); + this.labelLineNumber = new System.Windows.Forms.Label(); + this.label3 = new System.Windows.Forms.Label(); + this.panelDetails = new System.Windows.Forms.Panel(); + this.buttonToggleDetails = new System.Windows.Forms.Button(); + ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit(); + this.panel1.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.pictureBox2)).BeginInit(); + this.panelDetails.SuspendLayout(); + this.SuspendLayout(); + // + // label1 + // + this.label1.AutoSize = true; + this.label1.Font = new System.Drawing.Font("Microsoft Sans Serif", 11.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.label1.Location = new System.Drawing.Point(83, 12); + this.label1.Name = "label1"; + this.label1.Size = new System.Drawing.Size(203, 18); + this.label1.TabIndex = 0; + this.label1.Text = "Could not read an *.ini file"; + // + // pictureBox1 + // + this.pictureBox1.Image = global::Fo76ini.Properties.Resources.error_64; + this.pictureBox1.Location = new System.Drawing.Point(12, 12); + this.pictureBox1.Name = "pictureBox1"; + this.pictureBox1.Size = new System.Drawing.Size(64, 64); + this.pictureBox1.TabIndex = 5; + this.pictureBox1.TabStop = false; + // + // label2 + // + this.label2.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.label2.Location = new System.Drawing.Point(85, 34); + this.label2.Name = "label2"; + this.label2.Size = new System.Drawing.Size(327, 42); + this.label2.TabIndex = 6; + this.label2.Text = "The tool failed to read an *.ini file, either because it is corrupted or contains" + + " a typo."; + // + // richTextBox + // + this.richTextBox.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) + | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.richTextBox.BackColor = System.Drawing.Color.White; + this.richTextBox.BorderStyle = System.Windows.Forms.BorderStyle.None; + this.richTextBox.Cursor = System.Windows.Forms.Cursors.IBeam; + this.richTextBox.Font = new System.Drawing.Font("Consolas", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.richTextBox.HideSelection = false; + this.richTextBox.Location = new System.Drawing.Point(2, 2); + this.richTextBox.Name = "richTextBox"; + this.richTextBox.ReadOnly = true; + this.richTextBox.ScrollBars = System.Windows.Forms.RichTextBoxScrollBars.None; + this.richTextBox.Size = new System.Drawing.Size(383, 115); + this.richTextBox.TabIndex = 0; + this.richTextBox.Text = ""; + this.richTextBox.WordWrap = false; + // + // panel1 + // + this.panel1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.panel1.BackColor = System.Drawing.Color.White; + this.panel1.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.panel1.Controls.Add(this.richTextBox); + this.panel1.Location = new System.Drawing.Point(16, 126); + this.panel1.Name = "panel1"; + this.panel1.Size = new System.Drawing.Size(390, 122); + this.panel1.TabIndex = 9; + // + // buttonResetFile + // + this.buttonResetFile.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.buttonResetFile.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.buttonResetFile.Location = new System.Drawing.Point(17, 88); + this.buttonResetFile.Name = "buttonResetFile"; + this.buttonResetFile.Size = new System.Drawing.Size(237, 32); + this.buttonResetFile.TabIndex = 900; + this.buttonResetFile.Text = "Reset *.ini file to default"; + this.buttonResetFile.UseVisualStyleBackColor = true; + this.buttonResetFile.Click += new System.EventHandler(this.buttonResetFile_Click); + // + // buttonTryAgain + // + this.buttonTryAgain.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.buttonTryAgain.Location = new System.Drawing.Point(264, 311); + this.buttonTryAgain.Name = "buttonTryAgain"; + this.buttonTryAgain.Size = new System.Drawing.Size(142, 32); + this.buttonTryAgain.TabIndex = 1; + this.buttonTryAgain.Text = "Try again"; + this.buttonTryAgain.UseVisualStyleBackColor = true; + this.buttonTryAgain.Click += new System.EventHandler(this.buttonTryAgain_Click); + // + // linkLabelShowHelp + // + this.linkLabelShowHelp.AutoSize = true; + this.linkLabelShowHelp.Location = new System.Drawing.Point(46, 286); + this.linkLabelShowHelp.Name = "linkLabelShowHelp"; + this.linkLabelShowHelp.Size = new System.Drawing.Size(117, 13); + this.linkLabelShowHelp.TabIndex = 2; + this.linkLabelShowHelp.TabStop = true; + this.linkLabelShowHelp.Text = "Help! Show me a guide"; + this.linkLabelShowHelp.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.linkLabelShowHelp_LinkClicked); + // + // buttonOpenEditor + // + this.buttonOpenEditor.Location = new System.Drawing.Point(16, 311); + this.buttonOpenEditor.Name = "buttonOpenEditor"; + this.buttonOpenEditor.Size = new System.Drawing.Size(242, 32); + this.buttonOpenEditor.TabIndex = 11; + this.buttonOpenEditor.Text = "Open *.ini file in text editor"; + this.buttonOpenEditor.UseVisualStyleBackColor = true; + this.buttonOpenEditor.Click += new System.EventHandler(this.buttonOpenEditor_Click); + // + // labelErrorMessage + // + this.labelErrorMessage.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(80)))), ((int)(((byte)(80)))), ((int)(((byte)(80))))); + this.labelErrorMessage.Location = new System.Drawing.Point(16, 28); + this.labelErrorMessage.Name = "labelErrorMessage"; + this.labelErrorMessage.Size = new System.Drawing.Size(390, 30); + this.labelErrorMessage.TabIndex = 16; + this.labelErrorMessage.Text = "< Error message goes here >"; + this.labelErrorMessage.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; + // + // label5 + // + this.label5.AutoSize = true; + this.label5.Font = new System.Drawing.Font("Microsoft Sans Serif", 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.label5.Location = new System.Drawing.Point(13, 9); + this.label5.Name = "label5"; + this.label5.Size = new System.Drawing.Size(86, 15); + this.label5.TabIndex = 15; + this.label5.Text = "Error details"; + // + // pictureBox2 + // + this.pictureBox2.Image = global::Fo76ini.Properties.Resources.help_24; + this.pictureBox2.Location = new System.Drawing.Point(16, 281); + this.pictureBox2.Name = "pictureBox2"; + this.pictureBox2.Size = new System.Drawing.Size(24, 24); + this.pictureBox2.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage; + this.pictureBox2.TabIndex = 17; + this.pictureBox2.TabStop = false; + // + // buttonCloseProgram + // + this.buttonCloseProgram.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.buttonCloseProgram.Location = new System.Drawing.Point(260, 88); + this.buttonCloseProgram.Name = "buttonCloseProgram"; + this.buttonCloseProgram.Size = new System.Drawing.Size(147, 32); + this.buttonCloseProgram.TabIndex = 18; + this.buttonCloseProgram.Text = "Close program"; + this.buttonCloseProgram.UseVisualStyleBackColor = true; + this.buttonCloseProgram.Click += new System.EventHandler(this.buttonCloseProgram_Click); + // + // label8 + // + this.label8.AutoSize = true; + this.label8.Font = new System.Drawing.Font("Microsoft Sans Serif", 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.label8.Location = new System.Drawing.Point(13, 260); + this.label8.Name = "label8"; + this.label8.Size = new System.Drawing.Size(91, 15); + this.label8.TabIndex = 901; + this.label8.Text = "More options"; + // + // label6 + // + this.label6.AutoSize = true; + this.label6.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.label6.Location = new System.Drawing.Point(13, 65); + this.label6.Name = "label6"; + this.label6.Size = new System.Drawing.Size(66, 13); + this.label6.TabIndex = 19; + this.label6.Text = "Affected file:"; + // + // labelFileName + // + this.labelFileName.AutoSize = true; + this.labelFileName.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.labelFileName.Location = new System.Drawing.Point(115, 65); + this.labelFileName.Name = "labelFileName"; + this.labelFileName.Size = new System.Drawing.Size(94, 13); + this.labelFileName.TabIndex = 20; + this.labelFileName.Text = "< File name here >"; + // + // label9 + // + this.label9.AutoSize = true; + this.label9.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.label9.Location = new System.Drawing.Point(13, 82); + this.label9.Name = "label9"; + this.label9.Size = new System.Drawing.Size(68, 13); + this.label9.TabIndex = 21; + this.label9.Text = "Line number:"; + // + // labelLineNumber + // + this.labelLineNumber.AutoSize = true; + this.labelLineNumber.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.labelLineNumber.Location = new System.Drawing.Point(115, 82); + this.labelLineNumber.Name = "labelLineNumber"; + this.labelLineNumber.Size = new System.Drawing.Size(107, 13); + this.labelLineNumber.TabIndex = 22; + this.labelLineNumber.Text = "< Line number here >"; + // + // label3 + // + this.label3.AutoSize = true; + this.label3.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.label3.Location = new System.Drawing.Point(13, 110); + this.label3.Name = "label3"; + this.label3.Size = new System.Drawing.Size(168, 13); + this.label3.TabIndex = 7; + this.label3.Text = "Couldn\'t parse the highlighted line:"; + // + // panelDetails + // + this.panelDetails.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.panelDetails.BackColor = System.Drawing.Color.White; + this.panelDetails.Controls.Add(this.label5); + this.panelDetails.Controls.Add(this.label8); + this.panelDetails.Controls.Add(this.pictureBox2); + this.panelDetails.Controls.Add(this.panel1); + this.panelDetails.Controls.Add(this.linkLabelShowHelp); + this.panelDetails.Controls.Add(this.label3); + this.panelDetails.Controls.Add(this.buttonOpenEditor); + this.panelDetails.Controls.Add(this.buttonTryAgain); + this.panelDetails.Controls.Add(this.labelErrorMessage); + this.panelDetails.Controls.Add(this.labelLineNumber); + this.panelDetails.Controls.Add(this.label6); + this.panelDetails.Controls.Add(this.label9); + this.panelDetails.Controls.Add(this.labelFileName); + this.panelDetails.Location = new System.Drawing.Point(1, 148); + this.panelDetails.Name = "panelDetails"; + this.panelDetails.Size = new System.Drawing.Size(423, 354); + this.panelDetails.TabIndex = 902; + // + // buttonToggleDetails + // + this.buttonToggleDetails.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.buttonToggleDetails.Location = new System.Drawing.Point(-1, 127); + this.buttonToggleDetails.Name = "buttonToggleDetails"; + this.buttonToggleDetails.Size = new System.Drawing.Size(426, 21); + this.buttonToggleDetails.TabIndex = 903; + this.buttonToggleDetails.Text = "/\\ Hide details"; + this.buttonToggleDetails.UseVisualStyleBackColor = true; + this.buttonToggleDetails.Click += new System.EventHandler(this.buttonToggleDetails_Click); + // + // FormIniError + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(424, 502); + this.Controls.Add(this.buttonToggleDetails); + this.Controls.Add(this.panelDetails); + this.Controls.Add(this.buttonResetFile); + this.Controls.Add(this.label2); + this.Controls.Add(this.buttonCloseProgram); + this.Controls.Add(this.pictureBox1); + this.Controls.Add(this.label1); + this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog; + this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); + this.MaximizeBox = false; + this.MinimizeBox = false; + this.Name = "FormIniError"; + this.SizeGripStyle = System.Windows.Forms.SizeGripStyle.Hide; + this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen; + this.Text = "*.ini parsing error"; + ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).EndInit(); + this.panel1.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.pictureBox2)).EndInit(); + this.panelDetails.ResumeLayout(false); + this.panelDetails.PerformLayout(); + this.ResumeLayout(false); + this.PerformLayout(); + + } + + #endregion + + private System.Windows.Forms.Label label1; + private System.Windows.Forms.PictureBox pictureBox1; + private System.Windows.Forms.Label label2; + private System.Windows.Forms.RichTextBox richTextBox; + private System.Windows.Forms.Panel panel1; + private System.Windows.Forms.Button buttonResetFile; + private System.Windows.Forms.Button buttonTryAgain; + private System.Windows.Forms.LinkLabel linkLabelShowHelp; + private System.Windows.Forms.Button buttonOpenEditor; + private System.Windows.Forms.Label labelErrorMessage; + private System.Windows.Forms.Label label5; + private System.Windows.Forms.PictureBox pictureBox2; + private System.Windows.Forms.Button buttonCloseProgram; + private System.Windows.Forms.Label label8; + private System.Windows.Forms.Label label6; + private System.Windows.Forms.Label labelFileName; + private System.Windows.Forms.Label label9; + private System.Windows.Forms.Label labelLineNumber; + private System.Windows.Forms.Label label3; + private System.Windows.Forms.Panel panelDetails; + private System.Windows.Forms.Button buttonToggleDetails; + } +} \ No newline at end of file diff --git a/Fo76ini/Forms/FormIniError/FormIniError.cs b/Fo76ini/Forms/FormIniError/FormIniError.cs new file mode 100644 index 0000000..91ec2a1 --- /dev/null +++ b/Fo76ini/Forms/FormIniError/FormIniError.cs @@ -0,0 +1,156 @@ +using Fo76ini.Ini; +using Fo76ini.Interface; +using Fo76ini.Utilities; +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.IO; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; + +namespace Fo76ini.Forms.FormIniError +{ + public partial class FormIniError : Form + { + IniParsingException Exception; + + public FormIniError() + { + InitializeComponent(); + + this.FormClosing += FormIniError_FormClosing; + } + + public static DialogResult OpenDialog(IniParsingException exc) + { + FormIniError form = new FormIniError(); + form.Exception = exc; + + form.labelErrorMessage.Text = exc.Message; + form.labelFileName.Text = exc.FileName; + form.labelLineNumber.Text = exc.LineNumber.ToString(); + + // Fill rich text box: + StreamReader reader = File.OpenText(exc.FilePath); + int lineNumber = 0; + while (!reader.EndOfStream) + { + string line = reader.ReadLine(); + if (line == null) + break; + lineNumber++; + + string lineNumStr = $"{lineNumber} ".PadLeft(4); + if (lineNumber == exc.LineNumber) + { + form.richTextBox.AppendRichText(lineNumStr, false, Color.Red); + form.richTextBox.AppendRichText(line.PadRight(48), true, Color.White, Color.Red); + } + else if (Math.Abs(lineNumber - exc.LineNumber) <= 3) + { + form.richTextBox.AppendRichText(lineNumStr, false, Color.FromArgb(120, 120, 120)); + form.richTextBox.AppendRichText(line, true); + } + } + reader.Close(); + + form.HideDetails(); + + return form.ShowDialog(); + } + + private void buttonResetFile_Click(object sender, EventArgs e) + { + DialogResult result = MsgBox.Show("Warning", "This will reset (some if not all) of your settings.\nAre you sure?", MessageBoxButtons.YesNo, MessageBoxIcon.Warning); + + if (result == DialogResult.Yes) + { + // Reset Fallout76Prefs.ini: + if (Exception.FileName.EndsWith("Prefs.ini")) + { + File.Copy( + IniFiles.DefaultF76PrefsPath, + Exception.FilePath, + true + ); + } + + // Delete Fallout76Custom.ini: + else if (Exception.FileName.EndsWith("Custom.ini")) + { + File.Delete(Exception.FilePath); + } + + // Reset Fallout76.ini: + else + { + File.Copy( + IniFiles.DefaultF76Path, + Exception.FilePath, + true + ); + } + + this.DialogResult = DialogResult.Ignore; + } + } + + private void buttonOpenEditor_Click(object sender, EventArgs e) + { + Utils.OpenFile(Exception.FilePath); + } + + private void buttonCloseProgram_Click(object sender, EventArgs e) + { + // this.DialogResult = DialogResult.Abort; + // Application.Exit(); // Doesn't immediately terminate program. + Environment.Exit(Exception.HResult); // Does immediately terminate program. + } + + private void buttonTryAgain_Click(object sender, EventArgs e) + { + this.DialogResult = DialogResult.Retry; + } + + private void linkLabelShowHelp_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) + { + Utils.OpenURL("https://github.com/FelisDiligens/Fallout76-QuickConfiguration/wiki/Troubleshooting:-*.ini-files"); + } + + private void buttonToggleDetails_Click(object sender, EventArgs e) + { + if (this.panelDetails.Visible) + HideDetails(); + else + ShowDetails(); + } + + private void FormIniError_FormClosing(object sender, FormClosingEventArgs e) + { + if (e.CloseReason == CloseReason.UserClosing) + { + Environment.Exit(Exception.HResult); + } + } + + private void ShowDetails() + { + this.panelDetails.Visible = true; + this.buttonToggleDetails.Text = "/\\ Hide details"; + this.Height = this.panelDetails.Top + this.panelDetails.Height + 38; + this.Top -= 200; + } + + private void HideDetails() + { + this.panelDetails.Visible = false; + this.buttonToggleDetails.Text = "\\/ Show details"; + this.Height = this.panelDetails.Top + 38; + this.Top += 200; + } + } +} diff --git a/Fo76ini/Forms/FormIniError/FormIniError.resx b/Fo76ini/Forms/FormIniError/FormIniError.resx new file mode 100644 index 0000000..816f916 --- /dev/null +++ b/Fo76ini/Forms/FormIniError/FormIniError.resx @@ -0,0 +1,700 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + + AAABAAUAEBAAAAEAIABoBAAAVgAAABgYAAABACAAiAkAAL4EAAAgIAAAAQAgAKgQAABGDgAAMDAAAAEA + IACoJQAA7h4AAEBAAAABACAAKEIAAJZEAAAoAAAAEAAAACAAAAABACAAAAAAAAAEAADYDgAA2A4AAAAA + AAAAAAAAAAAAAAAR9QAAEfUAABH1HAAR9bgAEfX7ABH1+QAR9fkAEfX5ABH1+QAR9fsAEfW4ABH1HAAR + 9QAAEfUAAAAAAAAR9QAAEfUAABH1GAAR9agAEfX+ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/gAR + 9agAEfUYABH1AAAR9QAAEfUAABH1GAAR9akAEfX+ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9f8AEfX+ABH1qQAR9RgAEfUAABH1GwAR9agAEfX+ABH1/wAR9f0AEfX0ABH1/gAR9f8AEfX/ABH1/wAR + 9fQAEfX9ABH1/wAR9f4AEfWoABH1GwAR9bgAEfX9ABH1/wAR9f8AEfW6ABH1UwAR9c0AEfX/ABH1/wAR + 9dYAEfVVABH1rQAR9f8AEfX/ABH1/QAR9bgAEfX5ABH1/wAR9f8AEfX8ABH1cAAR9QAAEfUzABH1zwAR + 9dgAEfU+ABH1AAAR9WAAEfX4ABH1/wAR9f8AEfX5ABH1+QAR9f8AEfX/ABH1/wAR9eYAEfVVABH1AAAR + 9S0AEfUzABH1AAAR9UkAEfXfABH1/wAR9f8AEfX/ABH1+QAR9fkAEfX/ABH1/wAR9f8AEfX/ABH16AAR + 9UgAEfUAABH1AAAR9TsAEfXgABH1/wAR9f8AEfX/ABH1/wAR9fkAEfX5ABH1/wAR9f8AEfX/ABH1/wAR + 9dgAEfU5ABH1AAAR9QAAEfUuABH1zwAR9f8AEfX/ABH1/wAR9f8AEfX5ABH1+QAR9f8AEfX/ABH1/wAR + 9dYAEfU+ABH1AAAR9UMAEfVLABH1AAAR9TMAEfXNABH1/wAR9f8AEfX/ABH1+QAR9fkAEfX/ABH1/wAR + 9fsAEfVqABH1AAAR9UkAEfXhABH16AAR9VUAEfUAABH1WgAR9fcAEfX/ABH1/wAR9fkAEfW3ABH1/QAR + 9f8AEfX/ABH1zgAR9XMAEfXeABH1/wAR9f8AEfXlABH1dQAR9cQAEfX/ABH1/wAR9f0AEfW3ABH1GwAR + 9acAEfX+ABH1/wAR9f8AEfX8ABH1/wAR9f8AEfX/ABH1/wAR9fwAEfX+ABH1/wAR9f4AEfWnABH1GwAR + 9QAAEfUXABH1qQAR9f4AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f4AEfWpABH1FwAR + 9QAAEfUAABH1AAAR9RcAEfWnABH1/gAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f4AEfWnABH1FwAR + 9QAAEfUAAAAAAAAR9QAAEfUAABH1GwAR9bcAEfX7ABH1+QAR9fkAEfX5ABH1+QAR9fsAEfW3ABH1GwAR + 9QAAEfUAAAAAAOAHAADAAwAAgAEAAAAAAAAAAAAABCAAAAJAAAABgAAAAYAAAAJAAAAEIAAAAAAAAAAA + AACAAQAAwAMAAOAHAAAoAAAAGAAAADAAAAABACAAAAAAAAAJAADYDgAA2A4AAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAR9QAAEfUFABH1dwAR9fAAEfX2ABH19QAR9fUAEfX1ABH19QAR9fUAEfX1ABH19gAR + 9fAAEfV3ABH1BQAR9QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABH1AAAR9QQAEfVqABH17wAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfXvABH1agAR9QQAEfUAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAEfUAABH1BQAR9WsAEfXvABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH17wAR9WsAEfUFABH1AAAAAAAAAAAAAAAAAAAR9QAAEfUEABH1awAR + 9e8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9e8AEfVrABH1BAAR9QAAAAAAABH1AAAR9QQAEfVrABH18AAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfXwABH1awAR9QQAEfUAABH1BQAR + 9WoAEfXvABH1/wAR9f8AEfX/ABH1/wAR9fkAEfX1ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH19gAR + 9fcAEfX/ABH1/wAR9f8AEfX/ABH17wAR9WoAEfUFABH1dwAR9e4AEfX/ABH1/wAR9f8AEfX/ABH1+QAR + 9YwAEfViABH15wAR9f8AEfX/ABH1/wAR9f8AEfXwABH1cAAR9XkAEfX0ABH1/wAR9f8AEfX/ABH1/wAR + 9e4AEfV3ABH17wAR9f8AEfX/ABH1/wAR9f8AEfX+ABH1kgAR9QsAEfUBABH1WQAR9egAEfX/ABH1/wAR + 9fAAEfVsABH1BAAR9QUAEfV8ABH1+gAR9f8AEfX/ABH1/wAR9f8AEfXvABH19gAR9f8AEfX/ABH1/wAR + 9f8AEfX+ABH1mAAR9Q8AEfUAABH1AgAR9VkAEfXnABH18AAR9WwAEfUFABH1AAAR9QgAEfWDABH1+wAR + 9f8AEfX/ABH1/wAR9f8AEfX2ABH19QAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1+gAR9ZQAEfUQABH1AAAR + 9QIAEfVSABH1XwAR9QUAEfUAABH1CQAR9YAAEfX2ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX1ABH19QAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9fsAEfWUABH1DwAR9QAAEfUAABH1AAAR9QAAEfUJABH1fwAR + 9fcAEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX1ABH19QAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9f8AEfX8ABH1hgAR9QQAEfUAABH1AAAR9QAAEfVwABH19wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9f8AEfX1ABH19QAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfXwABH1aAAR9QEAEfUAABH1AAAR + 9QAAEfVUABH15wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX1ABH19QAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9fAAEfVsABH1BAAR9QAAEfUFABH1BwAR9QAAEfUBABH1WQAR9egAEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfX1ABH19QAR9f8AEfX/ABH1/wAR9f8AEfX/ABH17wAR9WwAEfUFABH1AAAR + 9QkAEfV7ABH1igAR9RAAEfUAABH1AgAR9VkAEfXnABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX1ABH19gAR + 9f8AEfX/ABH1/wAR9f8AEfX9ABH1fgAR9QMAEfUAABH1CQAR9YAAEfX3ABH1+wAR9ZQAEfUQABH1AAAR + 9QAAEfVoABH1+AAR9f8AEfX/ABH1/wAR9f8AEfX2ABH17wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1sQAR + 9R0AEfUIABH1gAAR9fYAEfX/ABH1/wAR9fsAEfWUABH1DgAR9RMAEfWeABH1/QAR9f8AEfX/ABH1/wAR + 9f8AEfXvABH1dgAR9e0AEfX/ABH1/wAR9f8AEfX/ABH1/gAR9bMAEfWRABH19QAR9f8AEfX/ABH1/wAR + 9f8AEfX6ABH1mwAR9aMAEfX8ABH1/wAR9f8AEfX/ABH1/wAR9e0AEfV2ABH1BQAR9WkAEfXvABH1/wAR + 9f8AEfX/ABH1/wAR9f4AEfX+ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/QAR9f4AEfX/ABH1/wAR + 9f8AEfX/ABH17wAR9WkAEfUFABH1AAAR9QQAEfVqABH17wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfXvABH1agAR9QQAEfUAAAAAAAAR + 9QAAEfUEABH1agAR9e8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9e8AEfVqABH1BAAR9QAAAAAAAAAAAAAAAAAAEfUAABH1BAAR9WoAEfXvABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH17wAR9WoAEfUEABH1AAAA + AAAAAAAAAAAAAAAAAAAAAAAAABH1AAAR9QQAEfVpABH17gAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfXuABH1aQAR9QQAEfUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAR + 9QAAEfUFABH1dgAR9fAAEfX2ABH19QAR9fUAEfX1ABH19QAR9fUAEfX1ABH19gAR9fAAEfV2ABH1BQAR + 9QAAAAAAAAAAAAAAAAAAAAAA+AAfAPAADwDgAAcAwAADAIAAAQAAAAAAAAAAAAAAAAAAgQAAAEIAAAA8 + AAAAHAAAABwAAAAkAAAAQgAAAIGAAAAAAAAAAAAAAAAAAIAAAQDAAAMA4AAHAPAADwD4AB8AKAAAACAA + AABAAAAAAQAgAAAAAAAAEAAA2A4AANgOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAR + 9QAAEfUAABH1PAAR9dEAEfXzABH18QAR9fEAEfXxABH18QAR9fEAEfXxABH18QAR9fEAEfXxABH18QAR + 9fMAEfXRABH1PAAR9QAAEfUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAEfUAABH1AAAR9TUAEfXJABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfXJABH1NQAR9QAAEfUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAABH1AAAR9QAAEfU1ABH1ywAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfXLABH1NQAR9QAAEfUAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAR9QAAEfUAABH1NQAR9csAEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfXLABH1NQAR9QAAEfUAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAEfUAABH1AAAR9TUAEfXLABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfXLABH1NQAR + 9QAAEfUAAAAAAAAAAAAAAAAAABH1AAAR9QAAEfU1ABH1ywAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9f8AEfXLABH1NQAR9QAAEfUAAAAAAAAR9QAAEfUAABH1NQAR9csAEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfXLABH1NQAR9QAAEfUAABH1AAAR9TUAEfXLABH1/wAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9fMAEfX4ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX6ABH18QAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfXLABH1NQAR9QAAEfU8ABH1yQAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfXmABH1YQAR9YQAEfX1ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1+wAR + 9ZsAEfVTABH11gAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfXJABH1PAAR9dEAEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH15QAR9VoAEfUBABH1CwAR9YMAEfX2ABH1/wAR9f8AEfX/ABH1/wAR + 9fsAEfWdABH1FQAR9QAAEfVDABH11gAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfXRABH18gAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9fwAEfV+ABH1AgAR9QAAEfUAABH1DAAR9YMAEfX1ABH1/wAR + 9f8AEfX7ABH1nQAR9RUAEfUAABH1AAAR9QAAEfVfABH19gAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9fIAEfXxABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9cgAEfU0ABH1AAAR9QAAEfUAABH1DAAR + 9YIAEfX1ABH1/AAR9ZwAEfUVABH1AAAR9QAAEfUAABH1IgAR9bMAEfX+ABH1/wAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH18QAR9fEAEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9coAEfU0ABH1AAAR + 9QAAEfUAABH1CwAR9XsAEfWRABH1FAAR9QAAEfUAABH1AAAR9SMAEfW1ABH1/wAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfXxABH18QAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9coAEfU0ABH1AAAR9QAAEfUAABH1BgAR9QkAEfUAABH1AAAR9QAAEfUiABH1tQAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9fEAEfXxABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9ckAEfUzABH1AAAR9QAAAAAAAAAAAAAR9QAAEfUAABH1IAAR9bMAEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH18QAR9fEAEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9cEAEfUcABH1AAAAAAAAAAAAABH1AAAR9Q0AEfWnABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfXxABH18QAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX7ABH1mgAR9Q8AEfUAAAAAAAAAAAAAEfUAABH1BgAR + 9X4AEfX1ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9fEAEfXxABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/AAR9ZwAEfUUABH1AAAAAAAAAAAAAAAAAAAA + AAAAEfUAABH1CwAR9YIAEfX1ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH18QAR + 9fEAEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9fsAEfWdABH1FQAR9QAAEfUAABH1AAAR + 9RkAEfUiABH1AAAR9QAAEfUAABH1DAAR9YMAEfX2ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9f8AEfXxABH18QAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX7ABH1nQAR9RUAEfUAABH1AAAR + 9QAAEfUhABH1sQAR9cQAEfUzABH1AAAR9QAAEfUAABH1DAAR9YMAEfX2ABH1/wAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9fEAEfXxABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/gAR9aEAEfUUABH1AAAR + 9QAAEfUAABH1IgAR9bQAEfX/ABH1/wAR9ckAEfU0ABH1AAAR9QAAEfUAABH1CwAR9YYAEfX6ABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH18QAR9fIAEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX9ABH1lQAR + 9Q0AEfUAABH1AAAR9SIAEfW0ABH1/wAR9f8AEfX/ABH1/wAR9coAEfU0ABH1AAAR9QAAEfUGABH1eAAR + 9fkAEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfXyABH10AAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9f8AEfX4ABH1jQAR9Q4AEfUiABH1tQAR9f4AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9coAEfU0ABH1BgAR + 9XIAEfXwABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9dAAEfU6ABH1yAAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfX3ABH1ngAR9bkAEfX+ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9ckAEfWQABH17wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfXIABH1OgAR9QAAEfU0ABH1yQAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX+ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1/gAR9f0AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1yQAR9TQAEfUAABH1AAAR + 9QAAEfU0ABH1yQAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9ckAEfU0ABH1AAAR + 9QAAAAAAABH1AAAR9QAAEfU0ABH1yQAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfXJABH1NAAR + 9QAAEfUAAAAAAAAAAAAAAAAAABH1AAAR9QAAEfU0ABH1yQAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1yQAR + 9TQAEfUAABH1AAAAAAAAAAAAAAAAAAAAAAAAAAAAABH1AAAR9QAAEfU0ABH1yQAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9ckAEfU0ABH1AAAR9QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABH1AAAR9QAAEfU0ABH1yQAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9f8AEfXJABH1NAAR9QAAEfUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABH1AAAR + 9QAAEfU0ABH1yAAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1yAAR9TQAEfUAABH1AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAABH1AAAR9QAAEfU7ABH10AAR9fMAEfXxABH18QAR9fEAEfXxABH18QAR9fEAEfXxABH18QAR + 9fEAEfXxABH18wAR9dAAEfU7ABH1AAAR9QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/AAD//gAAf/wA + AD/4AAAf8AAAD+AAAAfAAAADgAAAAQAAAAAAAAQAADAOAAA4HAAAHDgAAA5wAAAH4AAAA8AAAAPAAAAH + 4AAADnAAABw4AAA4HAAAMAwAAAAAAAAAAACAAAABwAAAA+AAAAfwAAAP+AAAH/wAAD/+AAB//wAA/ygA + AAAwAAAAYAAAAAEAIAAAAAAAACQAANgOAADYDgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAR9QAAEfUGABH1YwAR9dkAEfXqABH16AAR9egAEfXoABH16AAR + 9egAEfXoABH16AAR9egAEfXoABH16AAR9egAEfXoABH16AAR9egAEfXoABH16AAR9eoAEfXZABH1YwAR + 9QYAEfUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABH1AAAR9QMAEfVbABH13wAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH13wAR9VsAEfUDABH1AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEfUAABH1BAAR9VkAEfXhABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9eEAEfVZABH1BAAR9QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAR9QAAEfUFABH1XAAR + 9eEAEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfXhABH1XAAR9QUAEfUAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABH1AAAR + 9QMAEfVcABH14AAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH14AAR + 9VwAEfUDABH1AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAEfUAABH1BAAR9VkAEfXhABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9eEAEfVZABH1BAAR9QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAR9QAAEfUFABH1XAAR9eEAEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfXhABH1XAAR9QUAEfUAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAABH1AAAR9QMAEfVcABH14AAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH14AAR9VwAEfUDABH1AAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEfUAABH1BAAR9VkAEfXhABH1/wAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9eEAEfVZABH1BAAR9QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAR9QAAEfUFABH1XAAR9eEAEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfXhABH1XAAR9QUAEfUAAAAAAAAAAAAAAAAAABH1AAAR9QMAEfVcABH14AAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH14AAR9VwAEfUDABH1AAAAAAAAEfUAABH1BAAR + 9VkAEfXhABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX4ABH17wAR + 9f4AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH18AAR + 9fQAEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9eEAEfVZABH1BAAR + 9QAAEfUGABH1WwAR9eEAEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9foAEfWUABH1TgAR9cgAEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9f8AEfXiABH1YAAR9XMAEfXsABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9f8AEfXhABH1WwAR9QYAEfVjABH13wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1+AAR9ZgAEfUVABH1AAAR9T0AEfXLABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9eMAEfVcABH1BAAR9QcAEfV0ABH16wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH13wAR9WMAEfXYABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfX4ABH1mAAR9RcAEfUAABH1AAAR9QAAEfU+ABH1ywAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH14wAR9V4AEfUDABH1AAAR9QAAEfUKABH1dAAR9ewAEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9dgAEfXqABH1/wAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f4AEfWmABH1FAAR9QAAAAAAAAAAAAAR9QAAEfUAABH1PAAR + 9ckAEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfXiABH1XAAR9QQAEfUAAAAAAAAAAAAAEfUAABH1CAAR + 9XoAEfX4ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9eoAEfXoABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f0AEfWpABH1HwAR9QAAAAAAAAAAAAAA + AAAAAAAAABH1AAAR9TwAEfXKABH1/wAR9f8AEfX/ABH1/wAR9eMAEfVbABH1BAAR9QAAAAAAAAAAAAAA + AAAAEfUAABH1DwAR9YEAEfX4ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9egAEfXoABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX6ABH1owAR + 9R4AEfUAABH1AAAAAAAAAAAAABH1AAAR9QAAEfU9ABH1yQAR9f8AEfX/ABH14gAR9V0AEfUDABH1AAAA + AAAAAAAAABH1AAAR9QAAEfUNABH1fwAR9fMAEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9egAEfXoABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1+wAR9aYAEfUeABH1AAAAAAAAAAAAAAAAAAAR9QAAEfUAABH1OAAR9cMAEfXdABH1WAAR + 9QMAEfUAAAAAAAAAAAAAAAAAABH1AAAR9Q4AEfWBABH18wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9egAEfXoABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9fwAEfWjABH1HwAR9QAAAAAAAAAAAAAAAAAAAAAAABH1AAAR + 9S8AEfVEABH1AwAR9QAAAAAAAAAAAAAAAAAAEfUAABH1DwAR9X8AEfX0ABH1/wAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9egAEfXoABH1/wAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX6ABH1owAR9R0AEfUAABH1AAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABH1AAAR9QAAEfUMABH1fgAR9fMAEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9egAEfXoABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1+wAR + 9aQAEfUdABH1AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABH1AAAR9QwAEfV+ABH18wAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9egAEfXoABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9fwAEfWfABH1HAAR9QAAEfUAAAAAAAAAAAAAAAAAAAAAAAAR9QAAEfUAABH1DAAR + 9XkAEfXzABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9egAEfXoABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX5ABH1hQAR9QkAEfUAAAAAAAAAAAAAAAAAAAAAAAAR + 9QAAEfUAABH1XAAR9e4AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9egAEfXoABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfXgABH1UwAR9QAAEfUAAAAAAAAA + AAAAAAAAAAAAAAAR9QAAEfUAABH1MgAR9cQAEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9egAEfXoABH1/wAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9eIAEfVZABH1AwAR + 9QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABH1AAAR9TgAEfXIABH1/wAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9egAEfXoABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH15AAR + 9V0AEfUDABH1AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABH1AAAR9QAAEfU9ABH1ywAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9egAEfXoABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9f8AEfXiABH1WwAR9QQAEfUAAAAAAAAAAAAAAAAAABH1AAAR9QcAEfUOABH1AAAAAAAAAAAAAAAAAAAR + 9QAAEfUAABH1PAAR9ckAEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9egAEfXoABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9eMAEfVcABH1BAAR9QAAAAAAAAAAAAAAAAAAEfUAABH1DAAR9XMAEfWPABH1HAAR + 9QAAAAAAAAAAAAAAAAAAAAAAABH1AAAR9T0AEfXLABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9egAEfXoABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH14wAR9V4AEfUDABH1AAAAAAAAAAAAABH1AAAR9QAAEfUMABH1ewAR + 9fIAEfX6ABH1nwAR9RwAEfUAABH1AAAAAAAAAAAAABH1AAAR9QAAEfU+ABH1ywAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9egAEfXoABH1/wAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfXfABH1XAAR9QQAEfUAAAAAAAAAAAAAAAAAABH1AAAR + 9Q0AEfWAABH18wAR9f8AEfX/ABH1+wAR9aQAEfUeABH1AAAAAAAAAAAAAAAAAAAR9QAAEfUAABH1PAAR + 9cgAEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9egAEfXoABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9fwAEfWQABH1BQAR9QAAAAAAAAAAAAAA + AAAAEfUAABH1DgAR9X4AEfX0ABH1/wAR9f8AEfX/ABH1/wAR9fwAEfWjABH1HwAR9QAAAAAAAAAAAAAA + AAAAAAAAABH1AAAR9WAAEfX1ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9egAEfXqABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfXQABH1RwAR + 9QEAEfUAABH1AAAR9QAAEfUNABH1fgAR9fIAEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX6ABH1owAR + 9R4AEfUAABH1AAAR9QAAEfUAABH1KwAR9bMAEfX9ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9eoAEfXYABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH11AAR9UkAEfUBABH1AAAR9Q4AEfWBABH18wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1+wAR9aYAEfUeABH1AAAR9QAAEfUsABH1uAAR9f4AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9dgAEfVhABH13gAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9dUAEfVJABH1EQAR9YAAEfX0ABH1/wAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9fwAEfWjABH1HwAR9SkAEfW4ABH1/gAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH13gAR9WEAEfUFABH1WQAR9eAAEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfXVABH1rQAR9fEAEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX5ABH1swAR9cAAEfX9ABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfXgABH1WQAR9QUAEfUAABH1BAAR + 9VYAEfXfABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/gAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/QAR + 9f4AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9d8AEfVWABH1BAAR + 9QAAAAAAABH1AAAR9QMAEfVZABH13gAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH13gAR + 9VkAEfUDABH1AAAAAAAAAAAAAAAAAAAR9QAAEfUFABH1WQAR9eAAEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9f8AEfXgABH1WQAR9QUAEfUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEfUAABH1BAAR9VYAEfXfABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9d8AEfVWABH1BAAR9QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABH1AAAR + 9QMAEfVZABH13gAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH13gAR9VkAEfUDABH1AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAR9QAAEfUFABH1WQAR9eAAEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfXgABH1WQAR9QUAEfUAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEfUAABH1BAAR9VYAEfXfABH1/wAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9d8AEfVWABH1BAAR9QAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABH1AAAR9QMAEfVZABH13gAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH13gAR9VkAEfUDABH1AAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAR + 9QAAEfUFABH1WQAR9eAAEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfXgABH1WQAR + 9QUAEfUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAEfUAABH1BAAR9VYAEfXfABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9d8AEfVWABH1BAAR9QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABH1AAAR9QMAEfVZABH13gAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH13gAR9VkAEfUDABH1AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAR9QAAEfUFABH1YQAR + 9dkAEfXqABH16AAR9egAEfXoABH16AAR9egAEfXoABH16AAR9egAEfXoABH16AAR9egAEfXoABH16AAR + 9egAEfXoABH16AAR9eoAEfXZABH1YQAR9QUAEfUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAD/8AAAD/8AAP/gAAAH/wAA/8AAAAP/AAD/gAAAAf8AAP8AAAAA/wAA/gAAAAB/ + AAD8AAAAAD8AAPgAAAAAHwAA8AAAAAAPAADgAAAAAAcAAMAAAAAAAwAAgAAAAAABAAAAAAAAAAAAAAAA + gAAAAAAAAAHAAYAAAAAAA+ADwAAAAAAD8AfAAAAAAAH4D4AAAAAAAPwfAAAAAAAAfj4AAAAAAAA//AAA + AAAAAB/4AAAAAAAAD/AAAAAAAAAH8AAAAAAAAA/wAAAAAAAAD/gAAAAAAAAf/AAAAAAAAD5+AAAAAAAA + fD8AAAAAAAD4H4AAAAAAAfAPwAAAAAAD4AfgAAAAAAHAA8AAAAAAAIABgAAAAAAAAAAAAAAAAAAAAAAA + AACAAAAAAAEAAMAAAAAAAwAA4AAAAAAHAADwAAAAAA8AAPgAAAAAHwAA/AAAAAA/AAD+AAAAAH8AAP8A + AAAA/wAA/4AAAAH/AAD/wAAAA/8AAP/gAAAH/wAA//AAAA//AAAoAAAAQAAAAIAAAAABACAAAAAAAABA + AADYDgAA2A4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABH1fgAR9d8AEfXfABH13wAR9d8AEfXfABH13wAR + 9d8AEfXfABH13wAR9d8AEfXfABH13wAR9d8AEfXfABH13wAR9d8AEfXfABH13wAR9d8AEfXfABH13wAR + 9d8AEfXfABH13wAR9d8AEfXfABH1fgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABH1gQAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfWBAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABH1gQAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9YEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAABH1gQAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1gQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAABH1gQAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfWBAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABH1gQAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9YEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABH1gQAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1gQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABH1gQAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfWBAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAABH1gQAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9YEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAABH1gQAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1gQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABH1gQAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfWBAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABH1gQAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9YEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABH1gQAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1gQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAABH1gQAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfWBAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAABH1gQAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9YEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABH1gQAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH18wAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH18QAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1gQAAAAAAAAAAAAAAAAAAAAAAAAAAABH1gQAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH14wAR + 9SYAEfWLABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1yQAR9RgAEfWvABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfWBAAAAAAAAAAAAAAAAABH1gQAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH14wAR9SYAAAAAAAAAAAAR9YsAEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1yQAR9RIAAAAAABH1BgAR9a8AEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9YEAAAAAABH1fgAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH14wAR9SYAAAAAAAAAAAAAAAAAAAAAABH1iwAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1yQAR9RIAAAAAAAAAAAAA + AAAAEfUGABH1rwAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1fgAR9d8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH14wAR9SYAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAEfWLABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1yQAR + 9RIAAAAAAAAAAAAAAAAAAAAAAAAAAAAR9QYAEfWvABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9d8AEfXfABH1/wAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH14wAR9SYAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAR9YsAEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1yQAR9RIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABH1BgAR9a8AEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfXfABH13wAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9ZEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABH1iwAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1yQAR9RAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAEfVCABH1/QAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH13wAR9d8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1fgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAEfWJABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1yQAR9RAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAEfU8ABH18QAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9d8AEfXfABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfV+AAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAR9YUAEfX/ABH1/wAR9f8AEfX/ABH1xwAR9RAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEfU8ABH18QAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfXfABH13wAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9X4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABH1fgAR9f8AEfX/ABH1wQAR + 9Q4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEfU8ABH18QAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH13wAR + 9d8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1fgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAEfV0ABH1uQAR9QwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEfU8ABH18QAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9d8AEfXfABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfV+AAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAR9QIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAEfU8ABH18QAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfXfABH13wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9X4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAEfU6ABH18QAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH13wAR9d8AEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1egAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEfU2ABH18QAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9d8AEfXfABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfV2AAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEfU0ABH17wAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfXfABH13wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9XAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEfUuABH17QAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH13wAR9d8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfX9ABH1SgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAEfUOABH15wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9d8AEfXfABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1vwAR9QoAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAR9XYAEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9f8AEfXfABH13wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1xQAR9QwAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABH1fgAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH13wAR9d8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1xwAR + 9RAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAEfWFABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9d8AEfXfABH1/wAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1ywAR9RAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAR9YkAEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfXfABH13wAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1yQAR9RAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABH1iwAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH13wAR9d8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1yQAR9RAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAEfUsABH1XgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAEfWLABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9d8AEfXfABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1yQAR9RIAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEfUyABH16wAR9f0AEfVwAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAR9YsAEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfXfABH13wAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1yQAR + 9RIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEfU2ABH17wAR9f8AEfX/ABH1/wAR + 9XYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABH1iwAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH13wAR + 9d8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1yQAR9RIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEfU6ABH18QAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1egAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAEfWLABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9d8AEfXfABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1yQAR9RIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAEfU6ABH18QAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfV+AAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAR9YsAEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfXfABH13wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9acAEfUEAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAEfU6ABH18QAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9X4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEfVcABH1/QAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH13wAR9d8AEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1owAR + 9QQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEfU6ABH18QAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1fgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEfVcABH1+wAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9d8AEfXfABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfWjABH1BAAAAAAAAAAAAAAAAAAAAAAAEfU8ABH18QAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfV+AAAAAAAAAAAAAAAAAAAAAAAA + AAAAEfVcABH1+wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfXfABH1egAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9aMAEfUEAAAAAAAAAAAAEfU8ABH18QAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9X4AAAAAAAAAAAAAAAAAEfVcABH1+wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1egAAAAAAEfV8ABH1/wAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1qQAR + 9QYAEfVAABH18wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1fgAAAAAAEfVcABH1+wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1fAAAAAAAAAAAAAAAAAAR + 9XwAEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfXBABH18wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfWtABH1+wAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1fAAA + AAAAAAAAAAAAAAAAAAAAAAAAABH1fAAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1fAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEfV8ABH1/wAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1fAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAR + 9XwAEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1fAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAABH1fAAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1fAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEfV8ABH1/wAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1fAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAR + 9XwAEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1fAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAABH1fAAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1fAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEfV8ABH1/wAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1fAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAR + 9XwAEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1fAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAABH1fAAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1fAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEfV8ABH1/wAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1fAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAR + 9XwAEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1fAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAABH1fAAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1fAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEfV8ABH1/wAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1fAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAR + 9XwAEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR + 9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1/wAR9f8AEfX/ABH1fAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAABH1egAR9d8AEfXfABH13wAR9d8AEfXfABH13wAR9d8AEfXfABH13wAR + 9d8AEfXfABH13wAR9d8AEfXfABH13wAR9d8AEfXfABH13wAR9d8AEfXfABH13wAR9d8AEfXfABH13wAR + 9d8AEfXfABH1egAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAP//wAAAA/////+AAAAB/////wAAAAD////+AAAAAH////wAAAAA + P///+AAAAAAf///wAAAAAA///+AAAAAAB///wAAAAAAD//+AAAAAAAH//wAAAAAAAP/+AAAAAAAAf/wA + AAAAAAA/+AAAAAAAAB/wAAAAAAAAD+AAAAAAAAAHwAAAAAAAAAOAAAYAACAAAQAADwAAcAAAAAAfgAD4 + AAAAAD/AAfwAAAAAf+AD/gAAAAA/8Af8AAAAAB/4D/gAAAAAD/wf8AAAAAAH/j/gAAAAAAP/f8AAAAAA + Af//gAAAAAAA//8AAAAAAAB//gAAAAAAAD/8AAAAAAAAH/gAAAAAAAAf/AAAAAAAAD/+AAAAAAAAf/8A + AAAAAAD//4AAAAAAAf//wAAAAAAD/n/gAAAAAAf8P/AAAAAAD/gf+AAAAAAf8A/8AAAAAD/gB/4AAAAA + P8AD/gAAAAAfgAH8AAAAAA8AAPgAAAAABgAAcAAAgAAAAAAgAAHAAAAAAAAAA+AAAAAAAAAH8AAAAAAA + AA/4AAAAAAAAH/wAAAAAAAA//gAAAAAAAH//AAAAAAAA//+AAAAAAAH//8AAAAAAA///4AAAAAAH///w + AAAAAA////gAAAAAH////AAAAAA////+AAAAAH////8AAAAA/////4AAAAH/////wAAAA/// + + + \ No newline at end of file diff --git a/Fo76ini/Forms/FormMods/FormMods.Designer.cs b/Fo76ini/Forms/FormMods/FormMods.Designer.cs index b236e33..8fb93b7 100644 --- a/Fo76ini/Forms/FormMods/FormMods.Designer.cs +++ b/Fo76ini/Forms/FormMods/FormMods.Designer.cs @@ -33,11 +33,13 @@ private void InitializeComponent() this.menuStrip1 = new System.Windows.Forms.MenuStrip(); this.fileToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.addModarchiveToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.emptyModToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.fromArchiveToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.fromba2ArchivefrozenToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.fromFolderToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.toolStripMenuItemModsImport = new System.Windows.Forms.ToolStripMenuItem(); this.toolStripSeparator1 = new System.Windows.Forms.ToolStripSeparator(); + this.saveToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.deployToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.editToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.showConflictingFilesToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); @@ -46,8 +48,11 @@ private void InitializeComponent() this.archive2ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.openArchive2ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.exploreba2ArchiveToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.nexusModsAPIToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.updateModInformationToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.endorseModsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.checkForUpdatesToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.helpToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.showREADMEToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.showGuideToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.logFilesToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.showModmanagerlogtxtToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); @@ -57,39 +62,54 @@ private void InitializeComponent() this.labelModsDeploy = new System.Windows.Forms.Label(); this.tabControl1 = new System.Windows.Forms.TabControl(); this.tabPageModOrder = new System.Windows.Forms.TabPage(); - this.pictureBoxModsLoadingGIF = new System.Windows.Forms.PictureBox(); this.pictureBoxCollapseDetails = new System.Windows.Forms.PictureBox(); this.panelModDetails = new System.Windows.Forms.Panel(); + this.panelModDetailsHeader = new System.Windows.Forms.Panel(); + this.buttonModAbstain = new System.Windows.Forms.Button(); + this.buttonModEndorse = new System.Windows.Forms.Button(); + this.labelModEndorseStatus = new System.Windows.Forms.Label(); + this.labelModTitle = new System.Windows.Forms.Label(); + this.checkBoxModDetailsEnabled = new System.Windows.Forms.CheckBox(); + this.panelModDetailsInner = new System.Windows.Forms.Panel(); + this.groupBoxModReplace = new System.Windows.Forms.GroupBox(); + this.labelModDetailsReplace = new System.Windows.Forms.Label(); + this.linkLabelModDeleteFolderContents = new System.Windows.Forms.LinkLabel(); + this.panelModDetailsReplaceDragAndDrop = new System.Windows.Forms.Panel(); + this.linkLabelModReplaceFilesWithFolder = new System.Windows.Forms.LinkLabel(); + this.linkLabelModReplaceFilesWithArchive = new System.Windows.Forms.LinkLabel(); this.groupBoxModDetailsInstallationOptions = new System.Windows.Forms.GroupBox(); + this.linkLabelModInvalidateFrozenArchive = new System.Windows.Forms.LinkLabel(); + this.linkLabelModAutoDetectInstallOptions = new System.Windows.Forms.LinkLabel(); + this.labelModInstallWarning = new System.Windows.Forms.Label(); this.buttonModPickRootDir = new System.Windows.Forms.Button(); this.labelModInstallAs = new System.Windows.Forms.Label(); this.labelModArchivePreset = new System.Windows.Forms.Label(); this.checkBoxFreezeArchive = new System.Windows.Forms.CheckBox(); this.labelModInstallInto = new System.Windows.Forms.Label(); this.comboBoxModInstallAs = new System.Windows.Forms.ComboBox(); + this.buttonModDetailsSuggestArchiveName = new System.Windows.Forms.Button(); this.textBoxModRootDir = new System.Windows.Forms.TextBox(); this.comboBoxModArchivePreset = new System.Windows.Forms.ComboBox(); - this.buttonModUnfreeze = new System.Windows.Forms.Button(); + this.textBoxModArchiveName = new System.Windows.Forms.TextBox(); + this.labelModArchiveName = new System.Windows.Forms.Label(); this.groupBoxModDetailsDetails = new System.Windows.Forms.GroupBox(); + this.buttonModOpenPage = new System.Windows.Forms.Button(); + this.panelModDetailsNexusMods = new System.Windows.Forms.Panel(); + this.linkLabelModSetLatestVersion = new System.Windows.Forms.LinkLabel(); + this.labelModAuthor = new System.Windows.Forms.Label(); + this.labelModLatestVersion = new System.Windows.Forms.Label(); + this.labelModLatestVersionDesc = new System.Windows.Forms.Label(); + this.labelModAuthorDesc = new System.Windows.Forms.Label(); this.textBoxModVersion = new System.Windows.Forms.TextBox(); this.labelModVersion = new System.Windows.Forms.Label(); this.textBoxModURL = new System.Windows.Forms.TextBox(); this.labelModName = new System.Windows.Forms.Label(); - this.buttonModDetailsSuggestArchiveName = new System.Windows.Forms.Button(); - this.textBoxModFolderName = new System.Windows.Forms.TextBox(); - this.labelModFolderName = new System.Windows.Forms.Label(); this.labelModURL = new System.Windows.Forms.Label(); - this.textBoxModArchiveName = new System.Windows.Forms.TextBox(); - this.labelModArchiveName = new System.Windows.Forms.Label(); this.textBoxModName = new System.Windows.Forms.TextBox(); - this.labelModUnfreeze = new System.Windows.Forms.Label(); - this.labelModTitle = new System.Windows.Forms.Label(); - this.checkBoxModDetailsEnabled = new System.Windows.Forms.CheckBox(); - this.labelModDetailsBulkFrozenModsWarning = new System.Windows.Forms.Label(); + this.labelModSummary = new System.Windows.Forms.Label(); this.pictureBoxModThumbnail = new System.Windows.Forms.PictureBox(); this.toolStrip1 = new System.Windows.Forms.ToolStrip(); this.toolStripButtonAddMod = new System.Windows.Forms.ToolStripButton(); - this.toolStripButtonAddModFrozen = new System.Windows.Forms.ToolStripButton(); this.toolStripButtonAddModFolder = new System.Windows.Forms.ToolStripButton(); this.toolStripSeparator4 = new System.Windows.Forms.ToolStripSeparator(); this.toolStripButtonCheckAll = new System.Windows.Forms.ToolStripButton(); @@ -97,10 +117,8 @@ private void InitializeComponent() this.toolStripButtonMoveUp = new System.Windows.Forms.ToolStripButton(); this.toolStripButtonMoveDown = new System.Windows.Forms.ToolStripButton(); this.toolStripSeparator3 = new System.Windows.Forms.ToolStripSeparator(); - this.toolStripButtonModEdit = new System.Windows.Forms.ToolStripButton(); - this.toolStripButtonUnfreeze = new System.Windows.Forms.ToolStripButton(); this.toolStripButtonModOpenFolder = new System.Windows.Forms.ToolStripButton(); - this.toolStripSeparator5 = new System.Windows.Forms.ToolStripSeparator(); + this.toolStripSeparator6 = new System.Windows.Forms.ToolStripSeparator(); this.toolStripButtonDeleteMod = new System.Windows.Forms.ToolStripButton(); this.listViewMods = new System.Windows.Forms.ListView(); this.columnHeaderModTitle = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader())); @@ -111,24 +129,21 @@ private void InitializeComponent() this.columnHeaderArchiveFormat = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader())); this.columnHeaderCompression = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader())); this.columnHeaderFrozenState = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader())); - this.panel2 = new System.Windows.Forms.Panel(); - this.buttonModDetailsApply = new System.Windows.Forms.Button(); - this.buttonModDetailsCancel = new System.Windows.Forms.Button(); - this.buttonModDetailsOK = new System.Windows.Forms.Button(); this.tabPageModsSettings = new System.Windows.Forms.TabPage(); this.groupBoxModsBehavior = new System.Windows.Forms.GroupBox(); - this.checkBoxModsWriteSResourceDataDirsFinal = new System.Windows.Forms.CheckBox(); this.checkBoxFreezeBundledArchives = new System.Windows.Forms.CheckBox(); this.checkBoxModsUseHardlinks = new System.Windows.Forms.CheckBox(); this.checkBoxAddArchivesAsBundled = new System.Windows.Forms.CheckBox(); this.groupBoxLists = new System.Windows.Forms.GroupBox(); - this.buttonModsResetTextboxes = new System.Windows.Forms.Button(); - this.buttonModsApplyTextBoxes = new System.Windows.Forms.Button(); - this.textBoxsResourceIndexFileList = new System.Windows.Forms.TextBox(); - this.buttonModsCleanLists = new System.Windows.Forms.Button(); + this.buttonModsResetTextbox = new System.Windows.Forms.Button(); + this.buttonModsApplyTextBox = new System.Windows.Forms.Button(); + this.textBoxResourceList = new System.Windows.Forms.TextBox(); + this.buttonModsCleanList = new System.Windows.Forms.Button(); this.labelsResourceIndexFileList = new System.Windows.Forms.Label(); - this.textBoxsResourceArchive2List = new System.Windows.Forms.TextBox(); - this.labelsResourceArchive2List = new System.Windows.Forms.Label(); + this.tabPageNexusMods = new System.Windows.Forms.TabPage(); + this.labelNexusModsMovedNotice2 = new System.Windows.Forms.Label(); + this.labelNexusModsMovedNotice = new System.Windows.Forms.Label(); + this.pictureBox1 = new System.Windows.Forms.PictureBox(); this.toolTip = new System.Windows.Forms.ToolTip(this.components); this.openFileDialogMod = new System.Windows.Forms.OpenFileDialog(); this.folderBrowserDialogMod = new System.Windows.Forms.FolderBrowserDialog(); @@ -137,23 +152,35 @@ private void InitializeComponent() this.panel1 = new System.Windows.Forms.Panel(); this.openFileDialogBA2 = new System.Windows.Forms.OpenFileDialog(); this.folderBrowserDialogPickRootDir = new System.Windows.Forms.FolderBrowserDialog(); - this.backgroundWorkerRetrieveModInfo = new System.ComponentModel.BackgroundWorker(); - this.backgroundWorkerRetrieveProfileInfo = new System.ComponentModel.BackgroundWorker(); + this.statusStrip1 = new System.Windows.Forms.StatusStrip(); + this.toolStripStatusLabelDescModCount = new System.Windows.Forms.ToolStripStatusLabel(); + this.toolStripStatusLabelModCount = new System.Windows.Forms.ToolStripStatusLabel(); + this.toolStripStatusLabelDescEnabledCount = new System.Windows.Forms.ToolStripStatusLabel(); + this.toolStripStatusLabelEnabledCount = new System.Windows.Forms.ToolStripStatusLabel(); + this.toolStripStatusLabelSpacer = new System.Windows.Forms.ToolStripStatusLabel(); + this.toolStripStatusLabelDeploymentStatus = new System.Windows.Forms.ToolStripStatusLabel(); + this.pictureBoxModsLoadingGIF = new System.Windows.Forms.PictureBox(); this.menuStrip1.SuspendLayout(); this.tabControl1.SuspendLayout(); this.tabPageModOrder.SuspendLayout(); - ((System.ComponentModel.ISupportInitialize)(this.pictureBoxModsLoadingGIF)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.pictureBoxCollapseDetails)).BeginInit(); this.panelModDetails.SuspendLayout(); + this.panelModDetailsHeader.SuspendLayout(); + this.panelModDetailsInner.SuspendLayout(); + this.groupBoxModReplace.SuspendLayout(); this.groupBoxModDetailsInstallationOptions.SuspendLayout(); this.groupBoxModDetailsDetails.SuspendLayout(); + this.panelModDetailsNexusMods.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.pictureBoxModThumbnail)).BeginInit(); this.toolStrip1.SuspendLayout(); - this.panel2.SuspendLayout(); this.tabPageModsSettings.SuspendLayout(); this.groupBoxModsBehavior.SuspendLayout(); this.groupBoxLists.SuspendLayout(); + this.tabPageNexusMods.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit(); this.panel1.SuspendLayout(); + this.statusStrip1.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.pictureBoxModsLoadingGIF)).BeginInit(); this.SuspendLayout(); // // menuStrip1 @@ -165,7 +192,7 @@ private void InitializeComponent() this.helpToolStripMenuItem}); this.menuStrip1.Location = new System.Drawing.Point(0, 0); this.menuStrip1.Name = "menuStrip1"; - this.menuStrip1.Size = new System.Drawing.Size(884, 24); + this.menuStrip1.Size = new System.Drawing.Size(784, 24); this.menuStrip1.TabIndex = 49; this.menuStrip1.Text = "menuStrip1"; // @@ -175,6 +202,7 @@ private void InitializeComponent() this.addModarchiveToolStripMenuItem, this.toolStripMenuItemModsImport, this.toolStripSeparator1, + this.saveToolStripMenuItem, this.deployToolStripMenuItem}); this.fileToolStripMenuItem.Name = "fileToolStripMenuItem"; this.fileToolStripMenuItem.Size = new System.Drawing.Size(37, 20); @@ -183,15 +211,26 @@ private void InitializeComponent() // addModarchiveToolStripMenuItem // this.addModarchiveToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.emptyModToolStripMenuItem, this.fromArchiveToolStripMenuItem, this.fromba2ArchivefrozenToolStripMenuItem, this.fromFolderToolStripMenuItem}); + this.addModarchiveToolStripMenuItem.Image = global::Fo76ini.Properties.Resources.plus_24; this.addModarchiveToolStripMenuItem.Name = "addModarchiveToolStripMenuItem"; this.addModarchiveToolStripMenuItem.Size = new System.Drawing.Size(190, 22); this.addModarchiveToolStripMenuItem.Text = "Add mod"; // + // emptyModToolStripMenuItem + // + this.emptyModToolStripMenuItem.Image = global::Fo76ini.Properties.Resources.plus_24; + this.emptyModToolStripMenuItem.Name = "emptyModToolStripMenuItem"; + this.emptyModToolStripMenuItem.Size = new System.Drawing.Size(217, 22); + this.emptyModToolStripMenuItem.Text = "Empty mod"; + this.emptyModToolStripMenuItem.Click += new System.EventHandler(this.emptyModToolStripMenuItem_Click); + // // fromArchiveToolStripMenuItem // + this.fromArchiveToolStripMenuItem.Image = global::Fo76ini.Properties.Resources.add_archive_3_24; this.fromArchiveToolStripMenuItem.Name = "fromArchiveToolStripMenuItem"; this.fromArchiveToolStripMenuItem.Size = new System.Drawing.Size(217, 22); this.fromArchiveToolStripMenuItem.Text = "From archive"; @@ -199,6 +238,7 @@ private void InitializeComponent() // // fromba2ArchivefrozenToolStripMenuItem // + this.fromba2ArchivefrozenToolStripMenuItem.Image = global::Fo76ini.Properties.Resources.add_snowflake_24; this.fromba2ArchivefrozenToolStripMenuItem.Name = "fromba2ArchivefrozenToolStripMenuItem"; this.fromba2ArchivefrozenToolStripMenuItem.Size = new System.Drawing.Size(217, 22); this.fromba2ArchivefrozenToolStripMenuItem.Text = "From *.ba2 archive (frozen)"; @@ -206,6 +246,7 @@ private void InitializeComponent() // // fromFolderToolStripMenuItem // + this.fromFolderToolStripMenuItem.Image = global::Fo76ini.Properties.Resources.add_folder_24; this.fromFolderToolStripMenuItem.Name = "fromFolderToolStripMenuItem"; this.fromFolderToolStripMenuItem.Size = new System.Drawing.Size(217, 22); this.fromFolderToolStripMenuItem.Text = "From folder"; @@ -223,11 +264,19 @@ private void InitializeComponent() this.toolStripSeparator1.Name = "toolStripSeparator1"; this.toolStripSeparator1.Size = new System.Drawing.Size(187, 6); // + // saveToolStripMenuItem + // + this.saveToolStripMenuItem.Image = global::Fo76ini.Properties.Resources.save_24; + this.saveToolStripMenuItem.Name = "saveToolStripMenuItem"; + this.saveToolStripMenuItem.Size = new System.Drawing.Size(190, 22); + this.saveToolStripMenuItem.Text = "Save changes"; + this.saveToolStripMenuItem.Click += new System.EventHandler(this.saveToolStripMenuItem_Click); + // // deployToolStripMenuItem // this.deployToolStripMenuItem.Name = "deployToolStripMenuItem"; this.deployToolStripMenuItem.Size = new System.Drawing.Size(190, 22); - this.deployToolStripMenuItem.Text = "Deploy"; + this.deployToolStripMenuItem.Text = "Deploy mods"; this.deployToolStripMenuItem.Click += new System.EventHandler(this.deployToolStripMenuItem_Click); // // editToolStripMenuItem @@ -248,6 +297,7 @@ private void InitializeComponent() // // reloadUIToolStripMenuItem // + this.reloadUIToolStripMenuItem.Image = global::Fo76ini.Properties.Resources.available_updates; this.reloadUIToolStripMenuItem.Name = "reloadUIToolStripMenuItem"; this.reloadUIToolStripMenuItem.Size = new System.Drawing.Size(187, 22); this.reloadUIToolStripMenuItem.Text = "Reload UI"; @@ -256,7 +306,8 @@ private void InitializeComponent() // toolsToolStripMenuItem // this.toolsToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { - this.archive2ToolStripMenuItem}); + this.archive2ToolStripMenuItem, + this.nexusModsAPIToolStripMenuItem}); this.toolsToolStripMenuItem.Name = "toolsToolStripMenuItem"; this.toolsToolStripMenuItem.Size = new System.Drawing.Size(46, 20); this.toolsToolStripMenuItem.Text = "Tools"; @@ -267,7 +318,7 @@ private void InitializeComponent() this.openArchive2ToolStripMenuItem, this.exploreba2ArchiveToolStripMenuItem}); this.archive2ToolStripMenuItem.Name = "archive2ToolStripMenuItem"; - this.archive2ToolStripMenuItem.Size = new System.Drawing.Size(180, 22); + this.archive2ToolStripMenuItem.Size = new System.Drawing.Size(158, 22); this.archive2ToolStripMenuItem.Text = "Archive2"; // // openArchive2ToolStripMenuItem @@ -284,27 +335,51 @@ private void InitializeComponent() this.exploreba2ArchiveToolStripMenuItem.Text = "Explore *.ba2 archive"; this.exploreba2ArchiveToolStripMenuItem.Click += new System.EventHandler(this.exploreba2ArchiveToolStripMenuItem_Click); // + // nexusModsAPIToolStripMenuItem + // + this.nexusModsAPIToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.updateModInformationToolStripMenuItem, + this.endorseModsToolStripMenuItem, + this.checkForUpdatesToolStripMenuItem}); + this.nexusModsAPIToolStripMenuItem.Name = "nexusModsAPIToolStripMenuItem"; + this.nexusModsAPIToolStripMenuItem.Size = new System.Drawing.Size(158, 22); + this.nexusModsAPIToolStripMenuItem.Text = "NexusMods API"; + // + // updateModInformationToolStripMenuItem + // + this.updateModInformationToolStripMenuItem.Name = "updateModInformationToolStripMenuItem"; + this.updateModInformationToolStripMenuItem.Size = new System.Drawing.Size(206, 22); + this.updateModInformationToolStripMenuItem.Text = "Update mod information"; + this.updateModInformationToolStripMenuItem.Click += new System.EventHandler(this.updateModInformationToolStripMenuItem_Click); + // + // endorseModsToolStripMenuItem + // + this.endorseModsToolStripMenuItem.Name = "endorseModsToolStripMenuItem"; + this.endorseModsToolStripMenuItem.Size = new System.Drawing.Size(206, 22); + this.endorseModsToolStripMenuItem.Text = "Endorse mods"; + this.endorseModsToolStripMenuItem.Click += new System.EventHandler(this.endorseModsToolStripMenuItem_Click); + // + // checkForUpdatesToolStripMenuItem + // + this.checkForUpdatesToolStripMenuItem.Name = "checkForUpdatesToolStripMenuItem"; + this.checkForUpdatesToolStripMenuItem.Size = new System.Drawing.Size(206, 22); + this.checkForUpdatesToolStripMenuItem.Text = "Check for updates"; + this.checkForUpdatesToolStripMenuItem.Click += new System.EventHandler(this.checkForUpdatesToolStripMenuItem_Click); + // // helpToolStripMenuItem // this.helpToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { - this.showREADMEToolStripMenuItem, this.showGuideToolStripMenuItem, this.logFilesToolStripMenuItem}); this.helpToolStripMenuItem.Name = "helpToolStripMenuItem"; this.helpToolStripMenuItem.Size = new System.Drawing.Size(44, 20); this.helpToolStripMenuItem.Text = "Help"; // - // showREADMEToolStripMenuItem - // - this.showREADMEToolStripMenuItem.Name = "showREADMEToolStripMenuItem"; - this.showREADMEToolStripMenuItem.Size = new System.Drawing.Size(180, 22); - this.showREADMEToolStripMenuItem.Text = "Show README"; - this.showREADMEToolStripMenuItem.Click += new System.EventHandler(this.showREADMEToolStripMenuItem_Click); - // // showGuideToolStripMenuItem // + this.showGuideToolStripMenuItem.Image = global::Fo76ini.Properties.Resources.help_24; this.showGuideToolStripMenuItem.Name = "showGuideToolStripMenuItem"; - this.showGuideToolStripMenuItem.Size = new System.Drawing.Size(180, 22); + this.showGuideToolStripMenuItem.Size = new System.Drawing.Size(136, 22); this.showGuideToolStripMenuItem.Text = "Show guide"; this.showGuideToolStripMenuItem.Click += new System.EventHandler(this.showGuideToolStripMenuItem_Click); // @@ -314,7 +389,7 @@ private void InitializeComponent() this.showModmanagerlogtxtToolStripMenuItem, this.showArchive2logtxtToolStripMenuItem}); this.logFilesToolStripMenuItem.Name = "logFilesToolStripMenuItem"; - this.logFilesToolStripMenuItem.Size = new System.Drawing.Size(180, 22); + this.logFilesToolStripMenuItem.Size = new System.Drawing.Size(136, 22); this.logFilesToolStripMenuItem.Text = "Log files"; // // showModmanagerlogtxtToolStripMenuItem @@ -335,18 +410,17 @@ private void InitializeComponent() // this.progressBarMods.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left) | System.Windows.Forms.AnchorStyles.Right))); - this.progressBarMods.Location = new System.Drawing.Point(12, 626); + this.progressBarMods.Location = new System.Drawing.Point(12, 543); this.progressBarMods.MarqueeAnimationSpeed = 15; this.progressBarMods.Name = "progressBarMods"; - this.progressBarMods.Size = new System.Drawing.Size(700, 23); + this.progressBarMods.Size = new System.Drawing.Size(600, 23); this.progressBarMods.TabIndex = 51; // // buttonModsDeploy // - this.buttonModsDeploy.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); - this.buttonModsDeploy.Location = new System.Drawing.Point(3, 22); + this.buttonModsDeploy.Location = new System.Drawing.Point(3, 21); this.buttonModsDeploy.Name = "buttonModsDeploy"; - this.buttonModsDeploy.Size = new System.Drawing.Size(154, 23); + this.buttonModsDeploy.Size = new System.Drawing.Size(154, 25); this.buttonModsDeploy.TabIndex = 50; this.buttonModsDeploy.Text = "Deploy"; this.buttonModsDeploy.UseVisualStyleBackColor = true; @@ -356,12 +430,12 @@ private void InitializeComponent() // this.labelModsDeploy.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); this.labelModsDeploy.AutoSize = true; - this.labelModsDeploy.ForeColor = System.Drawing.Color.Crimson; - this.labelModsDeploy.Location = new System.Drawing.Point(12, 610); + this.labelModsDeploy.ForeColor = System.Drawing.Color.DarkGreen; + this.labelModsDeploy.Location = new System.Drawing.Point(9, 527); this.labelModsDeploy.Name = "labelModsDeploy"; - this.labelModsDeploy.Size = new System.Drawing.Size(114, 13); + this.labelModsDeploy.Size = new System.Drawing.Size(38, 13); this.labelModsDeploy.TabIndex = 52; - this.labelModsDeploy.Text = "Deployment necessary"; + this.labelModsDeploy.Text = "Ready"; // // tabControl1 // @@ -370,42 +444,27 @@ private void InitializeComponent() | System.Windows.Forms.AnchorStyles.Right))); this.tabControl1.Controls.Add(this.tabPageModOrder); this.tabControl1.Controls.Add(this.tabPageModsSettings); + this.tabControl1.Controls.Add(this.tabPageNexusMods); this.tabControl1.Location = new System.Drawing.Point(12, 27); this.tabControl1.Name = "tabControl1"; this.tabControl1.SelectedIndex = 0; - this.tabControl1.Size = new System.Drawing.Size(860, 570); + this.tabControl1.Size = new System.Drawing.Size(760, 490); this.tabControl1.TabIndex = 54; // // tabPageModOrder // - this.tabPageModOrder.Controls.Add(this.pictureBoxModsLoadingGIF); this.tabPageModOrder.Controls.Add(this.pictureBoxCollapseDetails); this.tabPageModOrder.Controls.Add(this.panelModDetails); this.tabPageModOrder.Controls.Add(this.toolStrip1); this.tabPageModOrder.Controls.Add(this.listViewMods); - this.tabPageModOrder.Controls.Add(this.panel2); this.tabPageModOrder.Location = new System.Drawing.Point(4, 22); this.tabPageModOrder.Name = "tabPageModOrder"; this.tabPageModOrder.Padding = new System.Windows.Forms.Padding(3); - this.tabPageModOrder.Size = new System.Drawing.Size(852, 544); + this.tabPageModOrder.Size = new System.Drawing.Size(752, 464); this.tabPageModOrder.TabIndex = 0; this.tabPageModOrder.Text = "Mod order"; this.tabPageModOrder.UseVisualStyleBackColor = true; // - // pictureBoxModsLoadingGIF - // - this.pictureBoxModsLoadingGIF.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) - | System.Windows.Forms.AnchorStyles.Left) - | System.Windows.Forms.AnchorStyles.Right))); - this.pictureBoxModsLoadingGIF.Image = global::Fo76ini.Properties.Resources.Spinner_200; - this.pictureBoxModsLoadingGIF.Location = new System.Drawing.Point(39, 0); - this.pictureBoxModsLoadingGIF.Name = "pictureBoxModsLoadingGIF"; - this.pictureBoxModsLoadingGIF.Size = new System.Drawing.Size(813, 544); - this.pictureBoxModsLoadingGIF.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage; - this.pictureBoxModsLoadingGIF.TabIndex = 57; - this.pictureBoxModsLoadingGIF.TabStop = false; - this.pictureBoxModsLoadingGIF.Visible = false; - // // pictureBoxCollapseDetails // this.pictureBoxCollapseDetails.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) @@ -413,9 +472,9 @@ private void InitializeComponent() this.pictureBoxCollapseDetails.BackColor = System.Drawing.SystemColors.ButtonShadow; this.pictureBoxCollapseDetails.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; this.pictureBoxCollapseDetails.Image = ((System.Drawing.Image)(resources.GetObject("pictureBoxCollapseDetails.Image"))); - this.pictureBoxCollapseDetails.Location = new System.Drawing.Point(476, 0); + this.pictureBoxCollapseDetails.Location = new System.Drawing.Point(333, 0); this.pictureBoxCollapseDetails.Name = "pictureBoxCollapseDetails"; - this.pictureBoxCollapseDetails.Size = new System.Drawing.Size(24, 544); + this.pictureBoxCollapseDetails.Size = new System.Drawing.Size(24, 464); this.pictureBoxCollapseDetails.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage; this.pictureBoxCollapseDetails.TabIndex = 59; this.pictureBoxCollapseDetails.TabStop = false; @@ -428,42 +487,241 @@ private void InitializeComponent() this.panelModDetails.AutoScrollMargin = new System.Drawing.Size(0, 20); this.panelModDetails.BackColor = System.Drawing.SystemColors.Window; this.panelModDetails.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; - this.panelModDetails.Controls.Add(this.groupBoxModDetailsInstallationOptions); - this.panelModDetails.Controls.Add(this.buttonModUnfreeze); - this.panelModDetails.Controls.Add(this.groupBoxModDetailsDetails); - this.panelModDetails.Controls.Add(this.labelModUnfreeze); - this.panelModDetails.Controls.Add(this.labelModTitle); - this.panelModDetails.Controls.Add(this.checkBoxModDetailsEnabled); - this.panelModDetails.Controls.Add(this.labelModDetailsBulkFrozenModsWarning); + this.panelModDetails.Controls.Add(this.panelModDetailsHeader); + this.panelModDetails.Controls.Add(this.panelModDetailsInner); this.panelModDetails.Controls.Add(this.pictureBoxModThumbnail); - this.panelModDetails.Location = new System.Drawing.Point(496, 0); + this.panelModDetails.Location = new System.Drawing.Point(356, 0); this.panelModDetails.Name = "panelModDetails"; - this.panelModDetails.Size = new System.Drawing.Size(356, 503); + this.panelModDetails.Size = new System.Drawing.Size(396, 464); this.panelModDetails.TabIndex = 58; // + // panelModDetailsHeader + // + this.panelModDetailsHeader.Controls.Add(this.buttonModAbstain); + this.panelModDetailsHeader.Controls.Add(this.buttonModEndorse); + this.panelModDetailsHeader.Controls.Add(this.labelModEndorseStatus); + this.panelModDetailsHeader.Controls.Add(this.labelModTitle); + this.panelModDetailsHeader.Controls.Add(this.checkBoxModDetailsEnabled); + this.panelModDetailsHeader.Location = new System.Drawing.Point(0, 157); + this.panelModDetailsHeader.Name = "panelModDetailsHeader"; + this.panelModDetailsHeader.Size = new System.Drawing.Size(395, 62); + this.panelModDetailsHeader.TabIndex = 77; + // + // buttonModAbstain + // + this.buttonModAbstain.BackColor = System.Drawing.Color.Transparent; + this.buttonModAbstain.FlatAppearance.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(128)))), ((int)(((byte)(128))))); + this.buttonModAbstain.FlatAppearance.BorderSize = 0; + this.buttonModAbstain.FlatStyle = System.Windows.Forms.FlatStyle.Flat; + this.buttonModAbstain.Image = global::Fo76ini.Properties.Resources.dislike; + this.buttonModAbstain.ImageAlign = System.Drawing.ContentAlignment.BottomCenter; + this.buttonModAbstain.Location = new System.Drawing.Point(356, 1); + this.buttonModAbstain.Name = "buttonModAbstain"; + this.buttonModAbstain.Size = new System.Drawing.Size(36, 40); + this.buttonModAbstain.TabIndex = 73; + this.toolTip.SetToolTip(this.buttonModAbstain, "Abstain from endorsing this mod."); + this.buttonModAbstain.UseVisualStyleBackColor = false; + this.buttonModAbstain.Click += new System.EventHandler(this.buttonModAbstain_Click); + // + // buttonModEndorse + // + this.buttonModEndorse.BackColor = System.Drawing.Color.Transparent; + this.buttonModEndorse.FlatAppearance.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(128)))), ((int)(((byte)(255)))), ((int)(((byte)(128))))); + this.buttonModEndorse.FlatAppearance.BorderSize = 0; + this.buttonModEndorse.FlatStyle = System.Windows.Forms.FlatStyle.Flat; + this.buttonModEndorse.Image = global::Fo76ini.Properties.Resources.like; + this.buttonModEndorse.ImageAlign = System.Drawing.ContentAlignment.TopCenter; + this.buttonModEndorse.Location = new System.Drawing.Point(316, 1); + this.buttonModEndorse.Name = "buttonModEndorse"; + this.buttonModEndorse.Size = new System.Drawing.Size(36, 40); + this.buttonModEndorse.TabIndex = 72; + this.toolTip.SetToolTip(this.buttonModEndorse, "Endorse this mod."); + this.buttonModEndorse.UseVisualStyleBackColor = false; + this.buttonModEndorse.Click += new System.EventHandler(this.buttonModEndorse_Click); + // + // labelModEndorseStatus + // + this.labelModEndorseStatus.Location = new System.Drawing.Point(145, 38); + this.labelModEndorseStatus.Name = "labelModEndorseStatus"; + this.labelModEndorseStatus.Size = new System.Drawing.Size(246, 13); + this.labelModEndorseStatus.TabIndex = 71; + this.labelModEndorseStatus.Text = "< Whether or not the user has endorsed this mod >"; + this.labelModEndorseStatus.TextAlign = System.Drawing.ContentAlignment.TopRight; + // + // labelModTitle + // + this.labelModTitle.AutoEllipsis = true; + this.labelModTitle.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.labelModTitle.Location = new System.Drawing.Point(-12, 2); + this.labelModTitle.Name = "labelModTitle"; + this.labelModTitle.Padding = new System.Windows.Forms.Padding(16, 2, 0, 2); + this.labelModTitle.Size = new System.Drawing.Size(322, 25); + this.labelModTitle.TabIndex = 75; + this.labelModTitle.Text = "< Mod name goes here >"; + // + // checkBoxModDetailsEnabled + // + this.checkBoxModDetailsEnabled.AutoSize = true; + this.checkBoxModDetailsEnabled.Location = new System.Drawing.Point(8, 30); + this.checkBoxModDetailsEnabled.Name = "checkBoxModDetailsEnabled"; + this.checkBoxModDetailsEnabled.Size = new System.Drawing.Size(101, 17); + this.checkBoxModDetailsEnabled.TabIndex = 74; + this.checkBoxModDetailsEnabled.Text = "Enable this mod"; + this.checkBoxModDetailsEnabled.UseVisualStyleBackColor = true; + // + // panelModDetailsInner + // + this.panelModDetailsInner.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) + | System.Windows.Forms.AnchorStyles.Left))); + this.panelModDetailsInner.AutoScroll = true; + this.panelModDetailsInner.AutoScrollMargin = new System.Drawing.Size(0, 8); + this.panelModDetailsInner.BackColor = System.Drawing.SystemColors.Window; + this.panelModDetailsInner.Controls.Add(this.groupBoxModReplace); + this.panelModDetailsInner.Controls.Add(this.groupBoxModDetailsInstallationOptions); + this.panelModDetailsInner.Controls.Add(this.groupBoxModDetailsDetails); + this.panelModDetailsInner.Controls.Add(this.labelModSummary); + this.panelModDetailsInner.Location = new System.Drawing.Point(0, 218); + this.panelModDetailsInner.Name = "panelModDetailsInner"; + this.panelModDetailsInner.Size = new System.Drawing.Size(394, 246); + this.panelModDetailsInner.TabIndex = 76; + // + // groupBoxModReplace + // + this.groupBoxModReplace.Controls.Add(this.labelModDetailsReplace); + this.groupBoxModReplace.Controls.Add(this.linkLabelModDeleteFolderContents); + this.groupBoxModReplace.Controls.Add(this.panelModDetailsReplaceDragAndDrop); + this.groupBoxModReplace.Controls.Add(this.linkLabelModReplaceFilesWithFolder); + this.groupBoxModReplace.Controls.Add(this.linkLabelModReplaceFilesWithArchive); + this.groupBoxModReplace.Location = new System.Drawing.Point(6, 486); + this.groupBoxModReplace.Name = "groupBoxModReplace"; + this.groupBoxModReplace.Size = new System.Drawing.Size(365, 136); + this.groupBoxModReplace.TabIndex = 75; + this.groupBoxModReplace.TabStop = false; + this.groupBoxModReplace.Text = "Add / replace mod files"; + // + // labelModDetailsReplace + // + this.labelModDetailsReplace.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.labelModDetailsReplace.ForeColor = System.Drawing.Color.Gray; + this.labelModDetailsReplace.Location = new System.Drawing.Point(175, 76); + this.labelModDetailsReplace.Name = "labelModDetailsReplace"; + this.labelModDetailsReplace.Size = new System.Drawing.Size(168, 52); + this.labelModDetailsReplace.TabIndex = 0; + this.labelModDetailsReplace.Text = "Drag-and-drop files/folders into the left box to add/replace files."; + this.labelModDetailsReplace.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; + // + // linkLabelModDeleteFolderContents + // + this.linkLabelModDeleteFolderContents.AutoSize = true; + this.linkLabelModDeleteFolderContents.LinkBehavior = System.Windows.Forms.LinkBehavior.HoverUnderline; + this.linkLabelModDeleteFolderContents.Location = new System.Drawing.Point(173, 60); + this.linkLabelModDeleteFolderContents.Name = "linkLabelModDeleteFolderContents"; + this.linkLabelModDeleteFolderContents.Size = new System.Drawing.Size(111, 13); + this.linkLabelModDeleteFolderContents.TabIndex = 5; + this.linkLabelModDeleteFolderContents.TabStop = true; + this.linkLabelModDeleteFolderContents.Text = "Delete folder contents"; + this.linkLabelModDeleteFolderContents.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.linkLabelModDeleteFolderContents_LinkClicked); + // + // panelModDetailsReplaceDragAndDrop + // + this.panelModDetailsReplaceDragAndDrop.AllowDrop = true; + this.panelModDetailsReplaceDragAndDrop.BackgroundImage = global::Fo76ini.Properties.Resources.download_2_48; + this.panelModDetailsReplaceDragAndDrop.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Center; + this.panelModDetailsReplaceDragAndDrop.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.panelModDetailsReplaceDragAndDrop.Location = new System.Drawing.Point(6, 19); + this.panelModDetailsReplaceDragAndDrop.Name = "panelModDetailsReplaceDragAndDrop"; + this.panelModDetailsReplaceDragAndDrop.Size = new System.Drawing.Size(159, 108); + this.panelModDetailsReplaceDragAndDrop.TabIndex = 4; + // + // linkLabelModReplaceFilesWithFolder + // + this.linkLabelModReplaceFilesWithFolder.AutoSize = true; + this.linkLabelModReplaceFilesWithFolder.LinkBehavior = System.Windows.Forms.LinkBehavior.HoverUnderline; + this.linkLabelModReplaceFilesWithFolder.Location = new System.Drawing.Point(173, 39); + this.linkLabelModReplaceFilesWithFolder.Name = "linkLabelModReplaceFilesWithFolder"; + this.linkLabelModReplaceFilesWithFolder.Size = new System.Drawing.Size(65, 13); + this.linkLabelModReplaceFilesWithFolder.TabIndex = 1; + this.linkLabelModReplaceFilesWithFolder.TabStop = true; + this.linkLabelModReplaceFilesWithFolder.Text = "Import folder"; + this.linkLabelModReplaceFilesWithFolder.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.linkLabelModReplaceFilesWithFolder_LinkClicked); + // + // linkLabelModReplaceFilesWithArchive + // + this.linkLabelModReplaceFilesWithArchive.AutoSize = true; + this.linkLabelModReplaceFilesWithArchive.LinkBehavior = System.Windows.Forms.LinkBehavior.HoverUnderline; + this.linkLabelModReplaceFilesWithArchive.Location = new System.Drawing.Point(173, 19); + this.linkLabelModReplaceFilesWithArchive.Name = "linkLabelModReplaceFilesWithArchive"; + this.linkLabelModReplaceFilesWithArchive.Size = new System.Drawing.Size(74, 13); + this.linkLabelModReplaceFilesWithArchive.TabIndex = 0; + this.linkLabelModReplaceFilesWithArchive.TabStop = true; + this.linkLabelModReplaceFilesWithArchive.Text = "Import archive"; + this.linkLabelModReplaceFilesWithArchive.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.linkLabelModReplaceFilesWithArchive_LinkClicked); + // // groupBoxModDetailsInstallationOptions // + this.groupBoxModDetailsInstallationOptions.Controls.Add(this.linkLabelModInvalidateFrozenArchive); + this.groupBoxModDetailsInstallationOptions.Controls.Add(this.linkLabelModAutoDetectInstallOptions); + this.groupBoxModDetailsInstallationOptions.Controls.Add(this.labelModInstallWarning); this.groupBoxModDetailsInstallationOptions.Controls.Add(this.buttonModPickRootDir); this.groupBoxModDetailsInstallationOptions.Controls.Add(this.labelModInstallAs); this.groupBoxModDetailsInstallationOptions.Controls.Add(this.labelModArchivePreset); this.groupBoxModDetailsInstallationOptions.Controls.Add(this.checkBoxFreezeArchive); this.groupBoxModDetailsInstallationOptions.Controls.Add(this.labelModInstallInto); this.groupBoxModDetailsInstallationOptions.Controls.Add(this.comboBoxModInstallAs); + this.groupBoxModDetailsInstallationOptions.Controls.Add(this.buttonModDetailsSuggestArchiveName); this.groupBoxModDetailsInstallationOptions.Controls.Add(this.textBoxModRootDir); this.groupBoxModDetailsInstallationOptions.Controls.Add(this.comboBoxModArchivePreset); - this.groupBoxModDetailsInstallationOptions.Location = new System.Drawing.Point(8, 374); + this.groupBoxModDetailsInstallationOptions.Controls.Add(this.textBoxModArchiveName); + this.groupBoxModDetailsInstallationOptions.Controls.Add(this.labelModArchiveName); + this.groupBoxModDetailsInstallationOptions.Location = new System.Drawing.Point(6, 233); this.groupBoxModDetailsInstallationOptions.Name = "groupBoxModDetailsInstallationOptions"; - this.groupBoxModDetailsInstallationOptions.Size = new System.Drawing.Size(341, 120); + this.groupBoxModDetailsInstallationOptions.Size = new System.Drawing.Size(365, 247); this.groupBoxModDetailsInstallationOptions.TabIndex = 74; this.groupBoxModDetailsInstallationOptions.TabStop = false; this.groupBoxModDetailsInstallationOptions.Text = "Installation options"; // + // linkLabelModInvalidateFrozenArchive + // + this.linkLabelModInvalidateFrozenArchive.AutoSize = true; + this.linkLabelModInvalidateFrozenArchive.LinkBehavior = System.Windows.Forms.LinkBehavior.HoverUnderline; + this.linkLabelModInvalidateFrozenArchive.Location = new System.Drawing.Point(110, 131); + this.linkLabelModInvalidateFrozenArchive.Name = "linkLabelModInvalidateFrozenArchive"; + this.linkLabelModInvalidateFrozenArchive.Size = new System.Drawing.Size(123, 13); + this.linkLabelModInvalidateFrozenArchive.TabIndex = 51; + this.linkLabelModInvalidateFrozenArchive.TabStop = true; + this.linkLabelModInvalidateFrozenArchive.Text = "Invalidate frozen archive"; + this.linkLabelModInvalidateFrozenArchive.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.linkLabelModInvalidateFrozenArchive_LinkClicked); + // + // linkLabelModAutoDetectInstallOptions + // + this.linkLabelModAutoDetectInstallOptions.AutoSize = true; + this.linkLabelModAutoDetectInstallOptions.LinkBehavior = System.Windows.Forms.LinkBehavior.HoverUnderline; + this.linkLabelModAutoDetectInstallOptions.Location = new System.Drawing.Point(7, 220); + this.linkLabelModAutoDetectInstallOptions.Name = "linkLabelModAutoDetectInstallOptions"; + this.linkLabelModAutoDetectInstallOptions.Size = new System.Drawing.Size(189, 13); + this.linkLabelModAutoDetectInstallOptions.TabIndex = 50; + this.linkLabelModAutoDetectInstallOptions.TabStop = true; + this.linkLabelModAutoDetectInstallOptions.Text = "Attempt auto-detect installation options"; + this.linkLabelModAutoDetectInstallOptions.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.linkLabelModAutoDetectInstallOptions_LinkClicked); + // + // labelModInstallWarning + // + this.labelModInstallWarning.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.labelModInstallWarning.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(147)))), ((int)(((byte)(107)))), ((int)(((byte)(8))))); + this.labelModInstallWarning.Location = new System.Drawing.Point(7, 154); + this.labelModInstallWarning.Name = "labelModInstallWarning"; + this.labelModInstallWarning.Size = new System.Drawing.Size(352, 66); + this.labelModInstallWarning.TabIndex = 49; + this.labelModInstallWarning.Text = "< Warning here >"; + // // buttonModPickRootDir // this.buttonModPickRootDir.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); - this.buttonModPickRootDir.Location = new System.Drawing.Point(309, 44); + this.buttonModPickRootDir.Location = new System.Drawing.Point(333, 44); this.buttonModPickRootDir.Name = "buttonModPickRootDir"; - this.buttonModPickRootDir.Size = new System.Drawing.Size(26, 23); + this.buttonModPickRootDir.Size = new System.Drawing.Size(26, 24); this.buttonModPickRootDir.TabIndex = 5; this.buttonModPickRootDir.Text = "..."; this.buttonModPickRootDir.UseVisualStyleBackColor = true; @@ -472,7 +730,7 @@ private void InitializeComponent() // labelModInstallAs // this.labelModInstallAs.AutoSize = true; - this.labelModInstallAs.Location = new System.Drawing.Point(6, 22); + this.labelModInstallAs.Location = new System.Drawing.Point(6, 24); this.labelModInstallAs.Name = "labelModInstallAs"; this.labelModInstallAs.Size = new System.Drawing.Size(51, 13); this.labelModInstallAs.TabIndex = 41; @@ -490,7 +748,7 @@ private void InitializeComponent() // checkBoxFreezeArchive // this.checkBoxFreezeArchive.AutoSize = true; - this.checkBoxFreezeArchive.Location = new System.Drawing.Point(9, 98); + this.checkBoxFreezeArchive.Location = new System.Drawing.Point(10, 130); this.checkBoxFreezeArchive.Name = "checkBoxFreezeArchive"; this.checkBoxFreezeArchive.Size = new System.Drawing.Size(58, 17); this.checkBoxFreezeArchive.TabIndex = 9; @@ -504,7 +762,7 @@ private void InitializeComponent() // labelModInstallInto // this.labelModInstallInto.AutoSize = true; - this.labelModInstallInto.Location = new System.Drawing.Point(6, 49); + this.labelModInstallInto.Location = new System.Drawing.Point(6, 51); this.labelModInstallInto.Name = "labelModInstallInto"; this.labelModInstallInto.Size = new System.Drawing.Size(57, 13); this.labelModInstallInto.TabIndex = 38; @@ -516,19 +774,30 @@ private void InitializeComponent() | System.Windows.Forms.AnchorStyles.Right))); this.comboBoxModInstallAs.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; this.comboBoxModInstallAs.FormattingEnabled = true; - this.comboBoxModInstallAs.Location = new System.Drawing.Point(97, 19); + this.comboBoxModInstallAs.Location = new System.Drawing.Point(113, 21); this.comboBoxModInstallAs.Name = "comboBoxModInstallAs"; - this.comboBoxModInstallAs.Size = new System.Drawing.Size(238, 21); + this.comboBoxModInstallAs.Size = new System.Drawing.Size(246, 21); this.comboBoxModInstallAs.TabIndex = 3; this.comboBoxModInstallAs.SelectedIndexChanged += new System.EventHandler(this.comboBoxModInstallAs_SelectedIndexChanged); // + // buttonModDetailsSuggestArchiveName + // + this.buttonModDetailsSuggestArchiveName.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.buttonModDetailsSuggestArchiveName.Location = new System.Drawing.Point(290, 99); + this.buttonModDetailsSuggestArchiveName.Name = "buttonModDetailsSuggestArchiveName"; + this.buttonModDetailsSuggestArchiveName.Size = new System.Drawing.Size(69, 23); + this.buttonModDetailsSuggestArchiveName.TabIndex = 48; + this.buttonModDetailsSuggestArchiveName.Text = "Suggest"; + this.buttonModDetailsSuggestArchiveName.UseVisualStyleBackColor = true; + this.buttonModDetailsSuggestArchiveName.Click += new System.EventHandler(this.buttonModDetailsSuggestArchiveName_Click); + // // textBoxModRootDir // this.textBoxModRootDir.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) | System.Windows.Forms.AnchorStyles.Right))); - this.textBoxModRootDir.Location = new System.Drawing.Point(97, 46); + this.textBoxModRootDir.Location = new System.Drawing.Point(113, 48); this.textBoxModRootDir.Name = "textBoxModRootDir"; - this.textBoxModRootDir.Size = new System.Drawing.Size(206, 20); + this.textBoxModRootDir.Size = new System.Drawing.Size(214, 20); this.textBoxModRootDir.TabIndex = 4; this.textBoxModRootDir.TextChanged += new System.EventHandler(this.textBoxModRootDir_TextChanged); // @@ -538,201 +807,205 @@ private void InitializeComponent() | System.Windows.Forms.AnchorStyles.Right))); this.comboBoxModArchivePreset.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; this.comboBoxModArchivePreset.FormattingEnabled = true; - this.comboBoxModArchivePreset.Location = new System.Drawing.Point(97, 72); + this.comboBoxModArchivePreset.Location = new System.Drawing.Point(113, 74); this.comboBoxModArchivePreset.Name = "comboBoxModArchivePreset"; - this.comboBoxModArchivePreset.Size = new System.Drawing.Size(238, 21); + this.comboBoxModArchivePreset.Size = new System.Drawing.Size(246, 21); this.comboBoxModArchivePreset.TabIndex = 6; this.comboBoxModArchivePreset.SelectedIndexChanged += new System.EventHandler(this.comboBoxModArchivePreset_SelectedIndexChanged); // - // buttonModUnfreeze + // textBoxModArchiveName + // + this.textBoxModArchiveName.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.textBoxModArchiveName.Location = new System.Drawing.Point(113, 101); + this.textBoxModArchiveName.Name = "textBoxModArchiveName"; + this.textBoxModArchiveName.Size = new System.Drawing.Size(171, 20); + this.textBoxModArchiveName.TabIndex = 7; + this.textBoxModArchiveName.TextChanged += new System.EventHandler(this.textBoxModArchiveName_TextChanged); + // + // labelModArchiveName // - this.buttonModUnfreeze.Location = new System.Drawing.Point(32, 434); - this.buttonModUnfreeze.Name = "buttonModUnfreeze"; - this.buttonModUnfreeze.Size = new System.Drawing.Size(296, 23); - this.buttonModUnfreeze.TabIndex = 64; - this.buttonModUnfreeze.TabStop = false; - this.buttonModUnfreeze.Text = "Unfreeze"; - this.buttonModUnfreeze.UseVisualStyleBackColor = true; - this.buttonModUnfreeze.Click += new System.EventHandler(this.buttonModUnfreeze_Click); + this.labelModArchiveName.AutoSize = true; + this.labelModArchiveName.Location = new System.Drawing.Point(7, 104); + this.labelModArchiveName.Name = "labelModArchiveName"; + this.labelModArchiveName.Size = new System.Drawing.Size(75, 13); + this.labelModArchiveName.TabIndex = 41; + this.labelModArchiveName.Text = "Archive name:"; // // groupBoxModDetailsDetails // + this.groupBoxModDetailsDetails.Controls.Add(this.buttonModOpenPage); + this.groupBoxModDetailsDetails.Controls.Add(this.panelModDetailsNexusMods); this.groupBoxModDetailsDetails.Controls.Add(this.textBoxModVersion); this.groupBoxModDetailsDetails.Controls.Add(this.labelModVersion); this.groupBoxModDetailsDetails.Controls.Add(this.textBoxModURL); this.groupBoxModDetailsDetails.Controls.Add(this.labelModName); - this.groupBoxModDetailsDetails.Controls.Add(this.buttonModDetailsSuggestArchiveName); - this.groupBoxModDetailsDetails.Controls.Add(this.textBoxModFolderName); - this.groupBoxModDetailsDetails.Controls.Add(this.labelModFolderName); this.groupBoxModDetailsDetails.Controls.Add(this.labelModURL); - this.groupBoxModDetailsDetails.Controls.Add(this.textBoxModArchiveName); - this.groupBoxModDetailsDetails.Controls.Add(this.labelModArchiveName); this.groupBoxModDetailsDetails.Controls.Add(this.textBoxModName); - this.groupBoxModDetailsDetails.Location = new System.Drawing.Point(8, 216); + this.groupBoxModDetailsDetails.Location = new System.Drawing.Point(6, 63); this.groupBoxModDetailsDetails.Name = "groupBoxModDetailsDetails"; - this.groupBoxModDetailsDetails.Size = new System.Drawing.Size(341, 153); + this.groupBoxModDetailsDetails.Size = new System.Drawing.Size(365, 164); this.groupBoxModDetailsDetails.TabIndex = 73; this.groupBoxModDetailsDetails.TabStop = false; this.groupBoxModDetailsDetails.Text = "Details"; // + // buttonModOpenPage + // + this.buttonModOpenPage.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.buttonModOpenPage.BackColor = System.Drawing.Color.Transparent; + this.buttonModOpenPage.Cursor = System.Windows.Forms.Cursors.Hand; + this.buttonModOpenPage.FlatAppearance.BorderSize = 0; + this.buttonModOpenPage.FlatAppearance.MouseOverBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(224)))), ((int)(((byte)(224)))), ((int)(((byte)(224))))); + this.buttonModOpenPage.FlatStyle = System.Windows.Forms.FlatStyle.Flat; + this.buttonModOpenPage.Image = global::Fo76ini.Properties.Resources.external_link_16; + this.buttonModOpenPage.Location = new System.Drawing.Point(331, 41); + this.buttonModOpenPage.Name = "buttonModOpenPage"; + this.buttonModOpenPage.Size = new System.Drawing.Size(28, 28); + this.buttonModOpenPage.TabIndex = 54; + this.buttonModOpenPage.UseVisualStyleBackColor = false; + this.buttonModOpenPage.Click += new System.EventHandler(this.buttonModOpenPage_Click); + // + // panelModDetailsNexusMods + // + this.panelModDetailsNexusMods.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.panelModDetailsNexusMods.Controls.Add(this.linkLabelModSetLatestVersion); + this.panelModDetailsNexusMods.Controls.Add(this.labelModAuthor); + this.panelModDetailsNexusMods.Controls.Add(this.labelModLatestVersion); + this.panelModDetailsNexusMods.Controls.Add(this.labelModLatestVersionDesc); + this.panelModDetailsNexusMods.Controls.Add(this.labelModAuthorDesc); + this.panelModDetailsNexusMods.Location = new System.Drawing.Point(1, 96); + this.panelModDetailsNexusMods.Name = "panelModDetailsNexusMods"; + this.panelModDetailsNexusMods.Size = new System.Drawing.Size(363, 57); + this.panelModDetailsNexusMods.TabIndex = 53; + // + // linkLabelModSetLatestVersion + // + this.linkLabelModSetLatestVersion.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.linkLabelModSetLatestVersion.LinkBehavior = System.Windows.Forms.LinkBehavior.HoverUnderline; + this.linkLabelModSetLatestVersion.Location = new System.Drawing.Point(220, 5); + this.linkLabelModSetLatestVersion.Name = "linkLabelModSetLatestVersion"; + this.linkLabelModSetLatestVersion.Size = new System.Drawing.Size(137, 13); + this.linkLabelModSetLatestVersion.TabIndex = 2; + this.linkLabelModSetLatestVersion.TabStop = true; + this.linkLabelModSetLatestVersion.Text = "Set latest version"; + this.linkLabelModSetLatestVersion.TextAlign = System.Drawing.ContentAlignment.TopRight; + this.linkLabelModSetLatestVersion.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.linkLabelModSetLatestVersion_LinkClicked); + // + // labelModAuthor + // + this.labelModAuthor.AutoSize = true; + this.labelModAuthor.Location = new System.Drawing.Point(138, 31); + this.labelModAuthor.Name = "labelModAuthor"; + this.labelModAuthor.Size = new System.Drawing.Size(135, 13); + this.labelModAuthor.TabIndex = 57; + this.labelModAuthor.Text = "< Author name goes here >"; + // + // labelModLatestVersion + // + this.labelModLatestVersion.AutoSize = true; + this.labelModLatestVersion.Location = new System.Drawing.Point(138, 5); + this.labelModLatestVersion.Name = "labelModLatestVersion"; + this.labelModLatestVersion.Size = new System.Drawing.Size(22, 13); + this.labelModLatestVersion.TabIndex = 56; + this.labelModLatestVersion.Text = "1.0"; + // + // labelModLatestVersionDesc + // + this.labelModLatestVersionDesc.AutoSize = true; + this.labelModLatestVersionDesc.Location = new System.Drawing.Point(6, 5); + this.labelModLatestVersionDesc.Name = "labelModLatestVersionDesc"; + this.labelModLatestVersionDesc.Size = new System.Drawing.Size(76, 13); + this.labelModLatestVersionDesc.TabIndex = 54; + this.labelModLatestVersionDesc.Text = "Latest version:"; + // + // labelModAuthorDesc + // + this.labelModAuthorDesc.AutoSize = true; + this.labelModAuthorDesc.Location = new System.Drawing.Point(6, 31); + this.labelModAuthorDesc.Name = "labelModAuthorDesc"; + this.labelModAuthorDesc.Size = new System.Drawing.Size(41, 13); + this.labelModAuthorDesc.TabIndex = 53; + this.labelModAuthorDesc.Text = "Author:"; + // // textBoxModVersion // this.textBoxModVersion.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) | System.Windows.Forms.AnchorStyles.Right))); - this.textBoxModVersion.Location = new System.Drawing.Point(129, 74); + this.textBoxModVersion.Location = new System.Drawing.Point(142, 71); this.textBoxModVersion.Name = "textBoxModVersion"; - this.textBoxModVersion.Size = new System.Drawing.Size(206, 20); + this.textBoxModVersion.Size = new System.Drawing.Size(217, 20); this.textBoxModVersion.TabIndex = 52; this.textBoxModVersion.TextChanged += new System.EventHandler(this.textBoxModVersion_TextChanged); // // labelModVersion // this.labelModVersion.AutoSize = true; - this.labelModVersion.Location = new System.Drawing.Point(7, 77); + this.labelModVersion.Location = new System.Drawing.Point(7, 74); this.labelModVersion.Name = "labelModVersion"; - this.labelModVersion.Size = new System.Drawing.Size(45, 13); + this.labelModVersion.Size = new System.Drawing.Size(86, 13); this.labelModVersion.TabIndex = 51; - this.labelModVersion.Text = "Version:"; + this.labelModVersion.Text = "Installed version:"; // // textBoxModURL // this.textBoxModURL.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) | System.Windows.Forms.AnchorStyles.Right))); - this.textBoxModURL.Location = new System.Drawing.Point(129, 48); + this.textBoxModURL.Location = new System.Drawing.Point(142, 45); this.textBoxModURL.Name = "textBoxModURL"; - this.textBoxModURL.Size = new System.Drawing.Size(206, 20); + this.textBoxModURL.Size = new System.Drawing.Size(186, 20); this.textBoxModURL.TabIndex = 50; this.textBoxModURL.TextChanged += new System.EventHandler(this.textBoxModURL_TextChanged); // // labelModName // this.labelModName.AutoSize = true; - this.labelModName.Location = new System.Drawing.Point(6, 25); + this.labelModName.Location = new System.Drawing.Point(6, 22); this.labelModName.Name = "labelModName"; this.labelModName.Size = new System.Drawing.Size(60, 13); this.labelModName.TabIndex = 25; this.labelModName.Text = "Mod name:"; // - // buttonModDetailsSuggestArchiveName - // - this.buttonModDetailsSuggestArchiveName.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); - this.buttonModDetailsSuggestArchiveName.Location = new System.Drawing.Point(266, 124); - this.buttonModDetailsSuggestArchiveName.Name = "buttonModDetailsSuggestArchiveName"; - this.buttonModDetailsSuggestArchiveName.Size = new System.Drawing.Size(69, 23); - this.buttonModDetailsSuggestArchiveName.TabIndex = 48; - this.buttonModDetailsSuggestArchiveName.Text = "Suggest"; - this.buttonModDetailsSuggestArchiveName.UseVisualStyleBackColor = true; - this.buttonModDetailsSuggestArchiveName.Click += new System.EventHandler(this.buttonModDetailsSuggestArchiveName_Click); - // - // textBoxModFolderName - // - this.textBoxModFolderName.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) - | System.Windows.Forms.AnchorStyles.Right))); - this.textBoxModFolderName.Location = new System.Drawing.Point(129, 100); - this.textBoxModFolderName.Name = "textBoxModFolderName"; - this.textBoxModFolderName.Size = new System.Drawing.Size(206, 20); - this.textBoxModFolderName.TabIndex = 2; - this.textBoxModFolderName.TextChanged += new System.EventHandler(this.textBoxModFolderName_TextChanged); - // - // labelModFolderName - // - this.labelModFolderName.AutoSize = true; - this.labelModFolderName.Location = new System.Drawing.Point(7, 103); - this.labelModFolderName.Name = "labelModFolderName"; - this.labelModFolderName.Size = new System.Drawing.Size(89, 13); - this.labelModFolderName.TabIndex = 47; - this.labelModFolderName.Text = "Mod folder name:"; - // // labelModURL // this.labelModURL.AutoSize = true; - this.labelModURL.Location = new System.Drawing.Point(6, 51); + this.labelModURL.Location = new System.Drawing.Point(6, 48); this.labelModURL.Name = "labelModURL"; this.labelModURL.Size = new System.Drawing.Size(88, 13); this.labelModURL.TabIndex = 49; this.labelModURL.Text = "Webpage (URL):"; // - // textBoxModArchiveName - // - this.textBoxModArchiveName.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) - | System.Windows.Forms.AnchorStyles.Right))); - this.textBoxModArchiveName.Location = new System.Drawing.Point(129, 126); - this.textBoxModArchiveName.Name = "textBoxModArchiveName"; - this.textBoxModArchiveName.Size = new System.Drawing.Size(131, 20); - this.textBoxModArchiveName.TabIndex = 7; - this.textBoxModArchiveName.TextChanged += new System.EventHandler(this.textBoxModArchiveName_TextChanged); - // - // labelModArchiveName - // - this.labelModArchiveName.AutoSize = true; - this.labelModArchiveName.Location = new System.Drawing.Point(7, 129); - this.labelModArchiveName.Name = "labelModArchiveName"; - this.labelModArchiveName.Size = new System.Drawing.Size(75, 13); - this.labelModArchiveName.TabIndex = 41; - this.labelModArchiveName.Text = "Archive name:"; - // // textBoxModName // this.textBoxModName.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) | System.Windows.Forms.AnchorStyles.Right))); - this.textBoxModName.Location = new System.Drawing.Point(129, 22); + this.textBoxModName.Location = new System.Drawing.Point(142, 19); this.textBoxModName.Name = "textBoxModName"; - this.textBoxModName.Size = new System.Drawing.Size(206, 20); + this.textBoxModName.Size = new System.Drawing.Size(217, 20); this.textBoxModName.TabIndex = 1; this.textBoxModName.TextChanged += new System.EventHandler(this.textBoxModName_TextChanged); // - // labelModUnfreeze - // - this.labelModUnfreeze.ForeColor = System.Drawing.Color.Red; - this.labelModUnfreeze.Location = new System.Drawing.Point(3, 405); - this.labelModUnfreeze.Name = "labelModUnfreeze"; - this.labelModUnfreeze.Size = new System.Drawing.Size(349, 25); - this.labelModUnfreeze.TabIndex = 65; - this.labelModUnfreeze.Text = "Installation options are disabled, because the mod is frozen."; - this.labelModUnfreeze.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; + // labelModSummary // - // labelModTitle - // - this.labelModTitle.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + this.labelModSummary.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) | System.Windows.Forms.AnchorStyles.Right))); - this.labelModTitle.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.labelModTitle.Location = new System.Drawing.Point(-11, 163); - this.labelModTitle.Name = "labelModTitle"; - this.labelModTitle.Padding = new System.Windows.Forms.Padding(16, 2, 0, 2); - this.labelModTitle.Size = new System.Drawing.Size(370, 25); - this.labelModTitle.TabIndex = 70; - this.labelModTitle.Text = "< Mod name goes here >"; - // - // checkBoxModDetailsEnabled - // - this.checkBoxModDetailsEnabled.AutoSize = true; - this.checkBoxModDetailsEnabled.Location = new System.Drawing.Point(11, 191); - this.checkBoxModDetailsEnabled.Name = "checkBoxModDetailsEnabled"; - this.checkBoxModDetailsEnabled.Size = new System.Drawing.Size(101, 17); - this.checkBoxModDetailsEnabled.TabIndex = 61; - this.checkBoxModDetailsEnabled.Text = "Enable this mod"; - this.checkBoxModDetailsEnabled.UseVisualStyleBackColor = true; - this.checkBoxModDetailsEnabled.CheckedChanged += new System.EventHandler(this.checkBoxModDetailsEnabled_CheckedChanged); - // - // labelModDetailsBulkFrozenModsWarning - // - this.labelModDetailsBulkFrozenModsWarning.AutoSize = true; - this.labelModDetailsBulkFrozenModsWarning.ForeColor = System.Drawing.Color.Red; - this.labelModDetailsBulkFrozenModsWarning.Location = new System.Drawing.Point(11, 192); - this.labelModDetailsBulkFrozenModsWarning.Name = "labelModDetailsBulkFrozenModsWarning"; - this.labelModDetailsBulkFrozenModsWarning.Size = new System.Drawing.Size(176, 13); - this.labelModDetailsBulkFrozenModsWarning.TabIndex = 69; - this.labelModDetailsBulkFrozenModsWarning.Text = "NOTE: Frozen mods will be ignored."; + this.labelModSummary.ForeColor = System.Drawing.SystemColors.ControlDarkDark; + this.labelModSummary.Location = new System.Drawing.Point(6, 5); + this.labelModSummary.Name = "labelModSummary"; + this.labelModSummary.Size = new System.Drawing.Size(331, 55); + this.labelModSummary.TabIndex = 55; + this.labelModSummary.Text = "< Summary goes here >"; // // pictureBoxModThumbnail // this.pictureBoxModThumbnail.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) | System.Windows.Forms.AnchorStyles.Right))); + this.pictureBoxModThumbnail.BackColor = System.Drawing.Color.Black; this.pictureBoxModThumbnail.Image = global::Fo76ini.Properties.Resources.bg; - this.pictureBoxModThumbnail.Location = new System.Drawing.Point(-1, -6); + this.pictureBoxModThumbnail.Location = new System.Drawing.Point(-2, -2); this.pictureBoxModThumbnail.Name = "pictureBoxModThumbnail"; - this.pictureBoxModThumbnail.Size = new System.Drawing.Size(356, 193); - this.pictureBoxModThumbnail.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage; + this.pictureBoxModThumbnail.Size = new System.Drawing.Size(400, 160); + this.pictureBoxModThumbnail.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom; this.pictureBoxModThumbnail.TabIndex = 71; this.pictureBoxModThumbnail.TabStop = false; // @@ -743,7 +1016,6 @@ private void InitializeComponent() this.toolStrip1.GripStyle = System.Windows.Forms.ToolStripGripStyle.Hidden; this.toolStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { this.toolStripButtonAddMod, - this.toolStripButtonAddModFrozen, this.toolStripButtonAddModFolder, this.toolStripSeparator4, this.toolStripButtonCheckAll, @@ -751,15 +1023,13 @@ private void InitializeComponent() this.toolStripButtonMoveUp, this.toolStripButtonMoveDown, this.toolStripSeparator3, - this.toolStripButtonModEdit, - this.toolStripButtonUnfreeze, this.toolStripButtonModOpenFolder, - this.toolStripSeparator5, + this.toolStripSeparator6, this.toolStripButtonDeleteMod}); this.toolStrip1.Location = new System.Drawing.Point(3, 3); this.toolStrip1.Name = "toolStrip1"; this.toolStrip1.RenderMode = System.Windows.Forms.ToolStripRenderMode.System; - this.toolStrip1.Size = new System.Drawing.Size(31, 538); + this.toolStrip1.Size = new System.Drawing.Size(31, 458); this.toolStrip1.TabIndex = 44; this.toolStrip1.Text = "toolStrip1"; // @@ -767,7 +1037,7 @@ private void InitializeComponent() // this.toolStripButtonAddMod.AutoSize = false; this.toolStripButtonAddMod.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; - this.toolStripButtonAddMod.Image = global::Fo76ini.Properties.Resources.plus_24; + this.toolStripButtonAddMod.Image = global::Fo76ini.Properties.Resources.add_archive_3_24; this.toolStripButtonAddMod.ImageScaling = System.Windows.Forms.ToolStripItemImageScaling.None; this.toolStripButtonAddMod.ImageTransparentColor = System.Drawing.Color.Magenta; this.toolStripButtonAddMod.Name = "toolStripButtonAddMod"; @@ -775,18 +1045,6 @@ private void InitializeComponent() this.toolStripButtonAddMod.Text = "Add mod (from archive)"; this.toolStripButtonAddMod.Click += new System.EventHandler(this.toolStripButtonAddMod_Click); // - // toolStripButtonAddModFrozen - // - this.toolStripButtonAddModFrozen.AutoSize = false; - this.toolStripButtonAddModFrozen.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; - this.toolStripButtonAddModFrozen.Image = global::Fo76ini.Properties.Resources.add_snowflake_24; - this.toolStripButtonAddModFrozen.ImageScaling = System.Windows.Forms.ToolStripItemImageScaling.None; - this.toolStripButtonAddModFrozen.ImageTransparentColor = System.Drawing.Color.Magenta; - this.toolStripButtonAddModFrozen.Name = "toolStripButtonAddModFrozen"; - this.toolStripButtonAddModFrozen.Size = new System.Drawing.Size(30, 30); - this.toolStripButtonAddModFrozen.Text = "Add mod (from *.ba2 archive)"; - this.toolStripButtonAddModFrozen.Click += new System.EventHandler(this.toolStripButtonAddModFrozen_Click); - // // toolStripButtonAddModFolder // this.toolStripButtonAddModFolder.AutoSize = false; @@ -809,7 +1067,7 @@ private void InitializeComponent() // this.toolStripButtonCheckAll.AutoSize = false; this.toolStripButtonCheckAll.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; - this.toolStripButtonCheckAll.Image = global::Fo76ini.Properties.Resources.checked_checkbox_24; + this.toolStripButtonCheckAll.Image = global::Fo76ini.Properties.Resources.checkbox_24; this.toolStripButtonCheckAll.ImageScaling = System.Windows.Forms.ToolStripItemImageScaling.None; this.toolStripButtonCheckAll.ImageTransparentColor = System.Drawing.Color.Magenta; this.toolStripButtonCheckAll.Name = "toolStripButtonCheckAll"; @@ -853,30 +1111,6 @@ private void InitializeComponent() this.toolStripSeparator3.Name = "toolStripSeparator3"; this.toolStripSeparator3.Size = new System.Drawing.Size(28, 6); // - // toolStripButtonModEdit - // - this.toolStripButtonModEdit.AutoSize = false; - this.toolStripButtonModEdit.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; - this.toolStripButtonModEdit.Image = global::Fo76ini.Properties.Resources.edit_24; - this.toolStripButtonModEdit.ImageScaling = System.Windows.Forms.ToolStripItemImageScaling.None; - this.toolStripButtonModEdit.ImageTransparentColor = System.Drawing.Color.Magenta; - this.toolStripButtonModEdit.Name = "toolStripButtonModEdit"; - this.toolStripButtonModEdit.Size = new System.Drawing.Size(30, 30); - this.toolStripButtonModEdit.Text = "Edit mod details"; - this.toolStripButtonModEdit.Click += new System.EventHandler(this.toolStripButtonModEdit_Click); - // - // toolStripButtonUnfreeze - // - this.toolStripButtonUnfreeze.AutoSize = false; - this.toolStripButtonUnfreeze.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; - this.toolStripButtonUnfreeze.Image = global::Fo76ini.Properties.Resources.thaw_24; - this.toolStripButtonUnfreeze.ImageScaling = System.Windows.Forms.ToolStripItemImageScaling.None; - this.toolStripButtonUnfreeze.ImageTransparentColor = System.Drawing.Color.Magenta; - this.toolStripButtonUnfreeze.Name = "toolStripButtonUnfreeze"; - this.toolStripButtonUnfreeze.Size = new System.Drawing.Size(30, 30); - this.toolStripButtonUnfreeze.Text = "Unfreeze"; - this.toolStripButtonUnfreeze.Click += new System.EventHandler(this.toolStripButtonUnfreeze_Click); - // // toolStripButtonModOpenFolder // this.toolStripButtonModOpenFolder.AutoSize = false; @@ -889,11 +1123,11 @@ private void InitializeComponent() this.toolStripButtonModOpenFolder.Text = "Open mod folder"; this.toolStripButtonModOpenFolder.Click += new System.EventHandler(this.toolStripButtonModOpenFolder_Click); // - // toolStripSeparator5 + // toolStripSeparator6 // - this.toolStripSeparator5.Margin = new System.Windows.Forms.Padding(0, 8, 0, 8); - this.toolStripSeparator5.Name = "toolStripSeparator5"; - this.toolStripSeparator5.Size = new System.Drawing.Size(28, 6); + this.toolStripSeparator6.Margin = new System.Windows.Forms.Padding(0, 8, 0, 8); + this.toolStripSeparator6.Name = "toolStripSeparator6"; + this.toolStripSeparator6.Size = new System.Drawing.Size(28, 6); // // toolStripButtonDeleteMod // @@ -930,7 +1164,7 @@ private void InitializeComponent() this.listViewMods.LabelWrap = false; this.listViewMods.Location = new System.Drawing.Point(39, 0); this.listViewMods.Name = "listViewMods"; - this.listViewMods.Size = new System.Drawing.Size(441, 544); + this.listViewMods.Size = new System.Drawing.Size(300, 464); this.listViewMods.TabIndex = 41; this.listViewMods.TabStop = false; this.listViewMods.UseCompatibleStateImageBehavior = false; @@ -976,57 +1210,6 @@ private void InitializeComponent() this.columnHeaderFrozenState.Text = "Frozen?"; this.columnHeaderFrozenState.Width = 50; // - // panel2 - // - this.panel2.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left) - | System.Windows.Forms.AnchorStyles.Right))); - this.panel2.BackColor = System.Drawing.SystemColors.Control; - this.panel2.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; - this.panel2.Controls.Add(this.buttonModDetailsApply); - this.panel2.Controls.Add(this.buttonModDetailsCancel); - this.panel2.Controls.Add(this.buttonModDetailsOK); - this.panel2.Location = new System.Drawing.Point(496, 497); - this.panel2.Name = "panel2"; - this.panel2.Size = new System.Drawing.Size(356, 47); - this.panel2.TabIndex = 75; - // - // buttonModDetailsApply - // - this.buttonModDetailsApply.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); - this.buttonModDetailsApply.Location = new System.Drawing.Point(274, 13); - this.buttonModDetailsApply.Name = "buttonModDetailsApply"; - this.buttonModDetailsApply.Size = new System.Drawing.Size(75, 23); - this.buttonModDetailsApply.TabIndex = 74; - this.buttonModDetailsApply.TabStop = false; - this.buttonModDetailsApply.Text = "Apply"; - this.buttonModDetailsApply.UseVisualStyleBackColor = true; - this.buttonModDetailsApply.Click += new System.EventHandler(this.buttonModDetailsApply_Click); - // - // buttonModDetailsCancel - // - this.buttonModDetailsCancel.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); - this.buttonModDetailsCancel.DialogResult = System.Windows.Forms.DialogResult.Cancel; - this.buttonModDetailsCancel.Location = new System.Drawing.Point(193, 13); - this.buttonModDetailsCancel.Name = "buttonModDetailsCancel"; - this.buttonModDetailsCancel.Size = new System.Drawing.Size(75, 23); - this.buttonModDetailsCancel.TabIndex = 73; - this.buttonModDetailsCancel.TabStop = false; - this.buttonModDetailsCancel.Text = "Cancel"; - this.buttonModDetailsCancel.UseVisualStyleBackColor = true; - this.buttonModDetailsCancel.Click += new System.EventHandler(this.buttonModDetailsCancel_Click); - // - // buttonModDetailsOK - // - this.buttonModDetailsOK.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); - this.buttonModDetailsOK.Location = new System.Drawing.Point(112, 13); - this.buttonModDetailsOK.Name = "buttonModDetailsOK"; - this.buttonModDetailsOK.Size = new System.Drawing.Size(75, 23); - this.buttonModDetailsOK.TabIndex = 72; - this.buttonModDetailsOK.TabStop = false; - this.buttonModDetailsOK.Text = "OK"; - this.buttonModDetailsOK.UseVisualStyleBackColor = true; - this.buttonModDetailsOK.Click += new System.EventHandler(this.buttonModDetailsOK_Click); - // // tabPageModsSettings // this.tabPageModsSettings.Controls.Add(this.groupBoxModsBehavior); @@ -1034,7 +1217,7 @@ private void InitializeComponent() this.tabPageModsSettings.Location = new System.Drawing.Point(4, 22); this.tabPageModsSettings.Name = "tabPageModsSettings"; this.tabPageModsSettings.Padding = new System.Windows.Forms.Padding(3); - this.tabPageModsSettings.Size = new System.Drawing.Size(852, 544); + this.tabPageModsSettings.Size = new System.Drawing.Size(752, 464); this.tabPageModsSettings.TabIndex = 1; this.tabPageModsSettings.Text = "Settings"; this.tabPageModsSettings.UseVisualStyleBackColor = true; @@ -1043,28 +1226,16 @@ private void InitializeComponent() // this.groupBoxModsBehavior.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) | System.Windows.Forms.AnchorStyles.Right))); - this.groupBoxModsBehavior.Controls.Add(this.checkBoxModsWriteSResourceDataDirsFinal); this.groupBoxModsBehavior.Controls.Add(this.checkBoxFreezeBundledArchives); this.groupBoxModsBehavior.Controls.Add(this.checkBoxModsUseHardlinks); this.groupBoxModsBehavior.Controls.Add(this.checkBoxAddArchivesAsBundled); this.groupBoxModsBehavior.Location = new System.Drawing.Point(6, 6); this.groupBoxModsBehavior.Name = "groupBoxModsBehavior"; - this.groupBoxModsBehavior.Size = new System.Drawing.Size(840, 123); + this.groupBoxModsBehavior.Size = new System.Drawing.Size(740, 95); this.groupBoxModsBehavior.TabIndex = 60; this.groupBoxModsBehavior.TabStop = false; this.groupBoxModsBehavior.Text = "Behavior"; // - // checkBoxModsWriteSResourceDataDirsFinal - // - this.checkBoxModsWriteSResourceDataDirsFinal.AutoSize = true; - this.checkBoxModsWriteSResourceDataDirsFinal.Location = new System.Drawing.Point(6, 100); - this.checkBoxModsWriteSResourceDataDirsFinal.Name = "checkBoxModsWriteSResourceDataDirsFinal"; - this.checkBoxModsWriteSResourceDataDirsFinal.Size = new System.Drawing.Size(274, 17); - this.checkBoxModsWriteSResourceDataDirsFinal.TabIndex = 3; - this.checkBoxModsWriteSResourceDataDirsFinal.Text = "Write sResourceDataDirsFinal to Fallout76Custom.ini"; - this.checkBoxModsWriteSResourceDataDirsFinal.UseVisualStyleBackColor = true; - this.checkBoxModsWriteSResourceDataDirsFinal.CheckedChanged += new System.EventHandler(this.checkBoxModsWriteSResourceDataDirsFinal_CheckedChanged); - // // checkBoxFreezeBundledArchives // this.checkBoxFreezeBundledArchives.AutoSize = true; @@ -1093,7 +1264,7 @@ private void InitializeComponent() // checkBoxAddArchivesAsBundled // this.checkBoxAddArchivesAsBundled.AutoSize = true; - this.checkBoxAddArchivesAsBundled.Location = new System.Drawing.Point(6, 77); + this.checkBoxAddArchivesAsBundled.Location = new System.Drawing.Point(6, 65); this.checkBoxAddArchivesAsBundled.Name = "checkBoxAddArchivesAsBundled"; this.checkBoxAddArchivesAsBundled.Size = new System.Drawing.Size(167, 17); this.checkBoxAddArchivesAsBundled.TabIndex = 0; @@ -1106,101 +1277,129 @@ private void InitializeComponent() this.groupBoxLists.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) | System.Windows.Forms.AnchorStyles.Left) | System.Windows.Forms.AnchorStyles.Right))); - this.groupBoxLists.Controls.Add(this.buttonModsResetTextboxes); - this.groupBoxLists.Controls.Add(this.buttonModsApplyTextBoxes); - this.groupBoxLists.Controls.Add(this.textBoxsResourceIndexFileList); - this.groupBoxLists.Controls.Add(this.buttonModsCleanLists); + this.groupBoxLists.Controls.Add(this.buttonModsResetTextbox); + this.groupBoxLists.Controls.Add(this.buttonModsApplyTextBox); + this.groupBoxLists.Controls.Add(this.textBoxResourceList); + this.groupBoxLists.Controls.Add(this.buttonModsCleanList); this.groupBoxLists.Controls.Add(this.labelsResourceIndexFileList); - this.groupBoxLists.Controls.Add(this.textBoxsResourceArchive2List); - this.groupBoxLists.Controls.Add(this.labelsResourceArchive2List); - this.groupBoxLists.Location = new System.Drawing.Point(6, 135); + this.groupBoxLists.Location = new System.Drawing.Point(6, 107); this.groupBoxLists.Name = "groupBoxLists"; - this.groupBoxLists.Size = new System.Drawing.Size(840, 403); + this.groupBoxLists.Size = new System.Drawing.Size(740, 351); this.groupBoxLists.TabIndex = 59; this.groupBoxLists.TabStop = false; this.groupBoxLists.Text = "Lists"; // - // buttonModsResetTextboxes + // buttonModsResetTextbox // - this.buttonModsResetTextboxes.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); - this.buttonModsResetTextboxes.Location = new System.Drawing.Point(603, 374); - this.buttonModsResetTextboxes.Name = "buttonModsResetTextboxes"; - this.buttonModsResetTextboxes.Size = new System.Drawing.Size(98, 23); - this.buttonModsResetTextboxes.TabIndex = 60; - this.buttonModsResetTextboxes.Text = "Reset"; - this.buttonModsResetTextboxes.UseVisualStyleBackColor = true; - this.buttonModsResetTextboxes.Click += new System.EventHandler(this.buttonModsResetTextboxes_Click); + this.buttonModsResetTextbox.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); + this.buttonModsResetTextbox.Location = new System.Drawing.Point(503, 322); + this.buttonModsResetTextbox.Name = "buttonModsResetTextbox"; + this.buttonModsResetTextbox.Size = new System.Drawing.Size(98, 23); + this.buttonModsResetTextbox.TabIndex = 60; + this.buttonModsResetTextbox.Text = "Reset"; + this.buttonModsResetTextbox.UseVisualStyleBackColor = true; + this.buttonModsResetTextbox.Click += new System.EventHandler(this.buttonModsResetTextbox_Click); // - // buttonModsApplyTextBoxes + // buttonModsApplyTextBox // - this.buttonModsApplyTextBoxes.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); - this.buttonModsApplyTextBoxes.Location = new System.Drawing.Point(707, 374); - this.buttonModsApplyTextBoxes.Name = "buttonModsApplyTextBoxes"; - this.buttonModsApplyTextBoxes.Size = new System.Drawing.Size(127, 23); - this.buttonModsApplyTextBoxes.TabIndex = 59; - this.buttonModsApplyTextBoxes.Text = "Apply changes"; - this.buttonModsApplyTextBoxes.UseVisualStyleBackColor = true; - this.buttonModsApplyTextBoxes.Click += new System.EventHandler(this.buttonModsApplyTextBoxes_Click); + this.buttonModsApplyTextBox.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); + this.buttonModsApplyTextBox.Location = new System.Drawing.Point(607, 322); + this.buttonModsApplyTextBox.Name = "buttonModsApplyTextBox"; + this.buttonModsApplyTextBox.Size = new System.Drawing.Size(127, 23); + this.buttonModsApplyTextBox.TabIndex = 59; + this.buttonModsApplyTextBox.Text = "Apply changes"; + this.buttonModsApplyTextBox.UseVisualStyleBackColor = true; + this.buttonModsApplyTextBox.Click += new System.EventHandler(this.buttonModsApplyTextBox_Click); // - // textBoxsResourceIndexFileList + // textBoxResourceList // - this.textBoxsResourceIndexFileList.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) + this.textBoxResourceList.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) | System.Windows.Forms.AnchorStyles.Left) | System.Windows.Forms.AnchorStyles.Right))); - this.textBoxsResourceIndexFileList.Location = new System.Drawing.Point(210, 37); - this.textBoxsResourceIndexFileList.Multiline = true; - this.textBoxsResourceIndexFileList.Name = "textBoxsResourceIndexFileList"; - this.textBoxsResourceIndexFileList.Size = new System.Drawing.Size(624, 331); - this.textBoxsResourceIndexFileList.TabIndex = 54; - // - // buttonModsCleanLists - // - this.buttonModsCleanLists.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); - this.buttonModsCleanLists.Location = new System.Drawing.Point(6, 374); - this.buttonModsCleanLists.Name = "buttonModsCleanLists"; - this.buttonModsCleanLists.Size = new System.Drawing.Size(98, 23); - this.buttonModsCleanLists.TabIndex = 58; - this.buttonModsCleanLists.Text = "Clean lists"; - this.buttonModsCleanLists.UseVisualStyleBackColor = true; - this.buttonModsCleanLists.Click += new System.EventHandler(this.buttonModsCleanLists_Click); + this.textBoxResourceList.Location = new System.Drawing.Point(6, 37); + this.textBoxResourceList.Multiline = true; + this.textBoxResourceList.Name = "textBoxResourceList"; + this.textBoxResourceList.Size = new System.Drawing.Size(728, 279); + this.textBoxResourceList.TabIndex = 54; + // + // buttonModsCleanList + // + this.buttonModsCleanList.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); + this.buttonModsCleanList.Location = new System.Drawing.Point(6, 322); + this.buttonModsCleanList.Name = "buttonModsCleanList"; + this.buttonModsCleanList.Size = new System.Drawing.Size(98, 23); + this.buttonModsCleanList.TabIndex = 58; + this.buttonModsCleanList.Text = "Clean list"; + this.buttonModsCleanList.UseVisualStyleBackColor = true; + this.buttonModsCleanList.Click += new System.EventHandler(this.buttonModsCleanList_Click); // // labelsResourceIndexFileList // this.labelsResourceIndexFileList.AutoSize = true; - this.labelsResourceIndexFileList.Location = new System.Drawing.Point(210, 21); + this.labelsResourceIndexFileList.Location = new System.Drawing.Point(3, 21); this.labelsResourceIndexFileList.Name = "labelsResourceIndexFileList"; - this.labelsResourceIndexFileList.Size = new System.Drawing.Size(231, 13); + this.labelsResourceIndexFileList.Size = new System.Drawing.Size(71, 13); this.labelsResourceIndexFileList.TabIndex = 55; - this.labelsResourceIndexFileList.Text = "sResourceIndexFileList (Used by mod manager)"; + this.labelsResourceIndexFileList.Text = "Resource list:"; // - // textBoxsResourceArchive2List + // tabPageNexusMods // - this.textBoxsResourceArchive2List.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) - | System.Windows.Forms.AnchorStyles.Left))); - this.textBoxsResourceArchive2List.Location = new System.Drawing.Point(6, 37); - this.textBoxsResourceArchive2List.Multiline = true; - this.textBoxsResourceArchive2List.Name = "textBoxsResourceArchive2List"; - this.textBoxsResourceArchive2List.Size = new System.Drawing.Size(198, 331); - this.textBoxsResourceArchive2List.TabIndex = 57; + this.tabPageNexusMods.Controls.Add(this.labelNexusModsMovedNotice2); + this.tabPageNexusMods.Controls.Add(this.labelNexusModsMovedNotice); + this.tabPageNexusMods.Controls.Add(this.pictureBox1); + this.tabPageNexusMods.Location = new System.Drawing.Point(4, 22); + this.tabPageNexusMods.Name = "tabPageNexusMods"; + this.tabPageNexusMods.Padding = new System.Windows.Forms.Padding(3); + this.tabPageNexusMods.Size = new System.Drawing.Size(752, 464); + this.tabPageNexusMods.TabIndex = 2; + this.tabPageNexusMods.Text = "NexusMods"; + this.tabPageNexusMods.UseVisualStyleBackColor = true; // - // labelsResourceArchive2List + // labelNexusModsMovedNotice2 // - this.labelsResourceArchive2List.AutoSize = true; - this.labelsResourceArchive2List.Location = new System.Drawing.Point(6, 21); - this.labelsResourceArchive2List.Name = "labelsResourceArchive2List"; - this.labelsResourceArchive2List.Size = new System.Drawing.Size(116, 13); - this.labelsResourceArchive2List.TabIndex = 56; - this.labelsResourceArchive2List.Text = "sResourceArchive2List"; + this.labelNexusModsMovedNotice2.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.labelNexusModsMovedNotice2.Location = new System.Drawing.Point(6, 346); + this.labelNexusModsMovedNotice2.Name = "labelNexusModsMovedNotice2"; + this.labelNexusModsMovedNotice2.Size = new System.Drawing.Size(740, 23); + this.labelNexusModsMovedNotice2.TabIndex = 93; + this.labelNexusModsMovedNotice2.Text = "Other options such as \"Update mod information\" can be found in the menu under Too" + + "ls → NexusMods API."; + this.labelNexusModsMovedNotice2.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; + // + // labelNexusModsMovedNotice + // + this.labelNexusModsMovedNotice.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.labelNexusModsMovedNotice.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.labelNexusModsMovedNotice.Location = new System.Drawing.Point(5, 91); + this.labelNexusModsMovedNotice.Name = "labelNexusModsMovedNotice"; + this.labelNexusModsMovedNotice.Size = new System.Drawing.Size(741, 102); + this.labelNexusModsMovedNotice.TabIndex = 91; + this.labelNexusModsMovedNotice.Text = "The NexusMods tab has been moved into the settings window."; + this.labelNexusModsMovedNotice.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; + // + // pictureBox1 + // + this.pictureBox1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.pictureBox1.Image = global::Fo76ini.Properties.Resources.Fo76ini_LDu4jzf2p3; + this.pictureBox1.Location = new System.Drawing.Point(8, 196); + this.pictureBox1.Name = "pictureBox1"; + this.pictureBox1.Size = new System.Drawing.Size(737, 147); + this.pictureBox1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage; + this.pictureBox1.TabIndex = 92; + this.pictureBox1.TabStop = false; // // openFileDialogMod // - this.openFileDialogMod.Filter = "All Archives|*.zip;*.rar;*.7z;*.tar;*.tar.gz;*.gz;*.xz;*.lz;*.bz2|Archive2|*.ba2"; + this.openFileDialogMod.Filter = "All Archives|*.zip;*.rar;*.7z;*.tar;*.ba2"; this.openFileDialogMod.Title = "Add *.ba2 or any other archive."; // // checkBoxDisableMods // this.checkBoxDisableMods.AutoSize = true; - this.checkBoxDisableMods.Location = new System.Drawing.Point(3, 3); + this.checkBoxDisableMods.Location = new System.Drawing.Point(4, 3); this.checkBoxDisableMods.Name = "checkBoxDisableMods"; this.checkBoxDisableMods.Size = new System.Drawing.Size(89, 17); this.checkBoxDisableMods.TabIndex = 55; @@ -1217,9 +1416,9 @@ private void InitializeComponent() this.panel1.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); this.panel1.Controls.Add(this.buttonModsDeploy); this.panel1.Controls.Add(this.checkBoxDisableMods); - this.panel1.Location = new System.Drawing.Point(718, 604); + this.panel1.Location = new System.Drawing.Point(618, 521); this.panel1.Name = "panel1"; - this.panel1.Size = new System.Drawing.Size(166, 58); + this.panel1.Size = new System.Drawing.Size(166, 51); this.panel1.TabIndex = 56; // // openFileDialogBA2 @@ -1228,18 +1427,85 @@ private void InitializeComponent() this.openFileDialogBA2.Filter = "Archive2|*.ba2"; this.openFileDialogBA2.Title = "Add *.ba2 archive."; // - // backgroundWorkerRetrieveModInfo + // statusStrip1 + // + this.statusStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.toolStripStatusLabelDescModCount, + this.toolStripStatusLabelModCount, + this.toolStripStatusLabelDescEnabledCount, + this.toolStripStatusLabelEnabledCount, + this.toolStripStatusLabelSpacer, + this.toolStripStatusLabelDeploymentStatus}); + this.statusStrip1.Location = new System.Drawing.Point(0, 579); + this.statusStrip1.Name = "statusStrip1"; + this.statusStrip1.Size = new System.Drawing.Size(784, 22); + this.statusStrip1.TabIndex = 57; + this.statusStrip1.Text = "statusStrip1"; + // + // toolStripStatusLabelDescModCount + // + this.toolStripStatusLabelDescModCount.Font = new System.Drawing.Font("Segoe UI", 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.toolStripStatusLabelDescModCount.Margin = new System.Windows.Forms.Padding(8, 3, 3, 2); + this.toolStripStatusLabelDescModCount.Name = "toolStripStatusLabelDescModCount"; + this.toolStripStatusLabelDescModCount.Size = new System.Drawing.Size(70, 17); + this.toolStripStatusLabelDescModCount.Text = "Mod count:"; + // + // toolStripStatusLabelModCount // - this.backgroundWorkerRetrieveModInfo.WorkerReportsProgress = true; + this.toolStripStatusLabelModCount.Name = "toolStripStatusLabelModCount"; + this.toolStripStatusLabelModCount.Size = new System.Drawing.Size(13, 17); + this.toolStripStatusLabelModCount.Text = "0"; // - // backgroundWorkerRetrieveProfileInfo + // toolStripStatusLabelDescEnabledCount // + this.toolStripStatusLabelDescEnabledCount.Font = new System.Drawing.Font("Segoe UI", 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.toolStripStatusLabelDescEnabledCount.Margin = new System.Windows.Forms.Padding(50, 3, 3, 2); + this.toolStripStatusLabelDescEnabledCount.Name = "toolStripStatusLabelDescEnabledCount"; + this.toolStripStatusLabelDescEnabledCount.Size = new System.Drawing.Size(53, 17); + this.toolStripStatusLabelDescEnabledCount.Text = "Enabled:"; + // + // toolStripStatusLabelEnabledCount + // + this.toolStripStatusLabelEnabledCount.Name = "toolStripStatusLabelEnabledCount"; + this.toolStripStatusLabelEnabledCount.Size = new System.Drawing.Size(13, 17); + this.toolStripStatusLabelEnabledCount.Text = "0"; + // + // toolStripStatusLabelSpacer + // + this.toolStripStatusLabelSpacer.Name = "toolStripStatusLabelSpacer"; + this.toolStripStatusLabelSpacer.Size = new System.Drawing.Size(423, 17); + this.toolStripStatusLabelSpacer.Spring = true; + this.toolStripStatusLabelSpacer.Text = " "; + // + // toolStripStatusLabelDeploymentStatus + // + this.toolStripStatusLabelDeploymentStatus.Font = new System.Drawing.Font("Segoe UI", 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.toolStripStatusLabelDeploymentStatus.ForeColor = System.Drawing.Color.Crimson; + this.toolStripStatusLabelDeploymentStatus.Name = "toolStripStatusLabelDeploymentStatus"; + this.toolStripStatusLabelDeploymentStatus.Size = new System.Drawing.Size(133, 17); + this.toolStripStatusLabelDeploymentStatus.Text = "Deployment necessary"; + // + // pictureBoxModsLoadingGIF + // + this.pictureBoxModsLoadingGIF.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) + | System.Windows.Forms.AnchorStyles.Left))); + this.pictureBoxModsLoadingGIF.BackColor = System.Drawing.Color.White; + this.pictureBoxModsLoadingGIF.Image = global::Fo76ini.Properties.Resources.Spinner_200; + this.pictureBoxModsLoadingGIF.Location = new System.Drawing.Point(0, 27); + this.pictureBoxModsLoadingGIF.Name = "pictureBoxModsLoadingGIF"; + this.pictureBoxModsLoadingGIF.Size = new System.Drawing.Size(16, 490); + this.pictureBoxModsLoadingGIF.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage; + this.pictureBoxModsLoadingGIF.TabIndex = 57; + this.pictureBoxModsLoadingGIF.TabStop = false; + this.pictureBoxModsLoadingGIF.Visible = false; // // FormMods // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; - this.ClientSize = new System.Drawing.Size(884, 661); + this.ClientSize = new System.Drawing.Size(784, 601); + this.Controls.Add(this.pictureBoxModsLoadingGIF); + this.Controls.Add(this.statusStrip1); this.Controls.Add(this.panel1); this.Controls.Add(this.tabControl1); this.Controls.Add(this.progressBarMods); @@ -1247,8 +1513,9 @@ private void InitializeComponent() this.Controls.Add(this.menuStrip1); this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); this.KeyPreview = true; - this.MinimumSize = new System.Drawing.Size(900, 700); + this.MinimumSize = new System.Drawing.Size(800, 640); this.Name = "FormMods"; + this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen; this.Text = "Manage mods"; this.Load += new System.EventHandler(this.FormMods_Load); this.menuStrip1.ResumeLayout(false); @@ -1256,25 +1523,34 @@ private void InitializeComponent() this.tabControl1.ResumeLayout(false); this.tabPageModOrder.ResumeLayout(false); this.tabPageModOrder.PerformLayout(); - ((System.ComponentModel.ISupportInitialize)(this.pictureBoxModsLoadingGIF)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.pictureBoxCollapseDetails)).EndInit(); this.panelModDetails.ResumeLayout(false); - this.panelModDetails.PerformLayout(); + this.panelModDetailsHeader.ResumeLayout(false); + this.panelModDetailsHeader.PerformLayout(); + this.panelModDetailsInner.ResumeLayout(false); + this.groupBoxModReplace.ResumeLayout(false); + this.groupBoxModReplace.PerformLayout(); this.groupBoxModDetailsInstallationOptions.ResumeLayout(false); this.groupBoxModDetailsInstallationOptions.PerformLayout(); this.groupBoxModDetailsDetails.ResumeLayout(false); this.groupBoxModDetailsDetails.PerformLayout(); + this.panelModDetailsNexusMods.ResumeLayout(false); + this.panelModDetailsNexusMods.PerformLayout(); ((System.ComponentModel.ISupportInitialize)(this.pictureBoxModThumbnail)).EndInit(); this.toolStrip1.ResumeLayout(false); this.toolStrip1.PerformLayout(); - this.panel2.ResumeLayout(false); this.tabPageModsSettings.ResumeLayout(false); this.groupBoxModsBehavior.ResumeLayout(false); this.groupBoxModsBehavior.PerformLayout(); this.groupBoxLists.ResumeLayout(false); this.groupBoxLists.PerformLayout(); + this.tabPageNexusMods.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).EndInit(); this.panel1.ResumeLayout(false); this.panel1.PerformLayout(); + this.statusStrip1.ResumeLayout(false); + this.statusStrip1.PerformLayout(); + ((System.ComponentModel.ISupportInitialize)(this.pictureBoxModsLoadingGIF)).EndInit(); this.ResumeLayout(false); this.PerformLayout(); @@ -1304,7 +1580,6 @@ private void InitializeComponent() public System.Windows.Forms.ToolStrip toolStrip1; private System.Windows.Forms.ToolStripButton toolStripButtonMoveUp; private System.Windows.Forms.ToolStripButton toolStripButtonMoveDown; - private System.Windows.Forms.ToolStripButton toolStripButtonModEdit; private System.Windows.Forms.ToolStripButton toolStripButtonModOpenFolder; private System.Windows.Forms.ToolStripButton toolStripButtonAddModFolder; private System.Windows.Forms.ToolStripSeparator toolStripSeparator3; @@ -1315,7 +1590,6 @@ private void InitializeComponent() private System.Windows.Forms.ToolStripSeparator toolStripSeparator4; private System.Windows.Forms.ToolStripButton toolStripButtonAddMod; private System.Windows.Forms.ToolStripButton toolStripButtonCheckAll; - private System.Windows.Forms.ToolStripSeparator toolStripSeparator5; private System.Windows.Forms.ToolStripButton toolStripButtonDeleteMod; private System.Windows.Forms.OpenFileDialog openFileDialogMod; private System.Windows.Forms.FolderBrowserDialog folderBrowserDialogMod; @@ -1329,18 +1603,14 @@ private void InitializeComponent() private System.Windows.Forms.ToolStripMenuItem reloadUIToolStripMenuItem; private System.Windows.Forms.ColumnHeader columnHeaderFrozenState; private System.Windows.Forms.ColumnHeader columnHeaderCompression; - private System.Windows.Forms.ToolStripButton toolStripButtonAddModFrozen; private System.Windows.Forms.OpenFileDialog openFileDialogBA2; private System.Windows.Forms.ToolStripMenuItem fromba2ArchivefrozenToolStripMenuItem; private System.Windows.Forms.GroupBox groupBoxLists; - private System.Windows.Forms.TextBox textBoxsResourceIndexFileList; - private System.Windows.Forms.Button buttonModsCleanLists; + private System.Windows.Forms.TextBox textBoxResourceList; + private System.Windows.Forms.Button buttonModsCleanList; private System.Windows.Forms.Label labelsResourceIndexFileList; - private System.Windows.Forms.TextBox textBoxsResourceArchive2List; - private System.Windows.Forms.Label labelsResourceArchive2List; - private System.Windows.Forms.Button buttonModsResetTextboxes; - private System.Windows.Forms.Button buttonModsApplyTextBoxes; - private System.Windows.Forms.ToolStripButton toolStripButtonUnfreeze; + private System.Windows.Forms.Button buttonModsResetTextbox; + private System.Windows.Forms.Button buttonModsApplyTextBox; private System.Windows.Forms.GroupBox groupBoxModsBehavior; private System.Windows.Forms.CheckBox checkBoxAddArchivesAsBundled; private System.Windows.Forms.CheckBox checkBoxModsUseHardlinks; @@ -1351,10 +1621,8 @@ private void InitializeComponent() private System.Windows.Forms.ToolStripMenuItem showModmanagerlogtxtToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem showArchive2logtxtToolStripMenuItem; private System.Windows.Forms.CheckBox checkBoxFreezeBundledArchives; - private System.Windows.Forms.ToolStripMenuItem showREADMEToolStripMenuItem; private System.Windows.Forms.PictureBox pictureBoxModsLoadingGIF; private System.Windows.Forms.Panel panelModDetails; - private System.Windows.Forms.CheckBox checkBoxModDetailsEnabled; private System.Windows.Forms.Label labelModInstallAs; private System.Windows.Forms.Label labelModInstallInto; private System.Windows.Forms.TextBox textBoxModRootDir; @@ -1363,33 +1631,62 @@ private void InitializeComponent() private System.Windows.Forms.Label labelModArchivePreset; private System.Windows.Forms.Button buttonModPickRootDir; private System.Windows.Forms.ComboBox comboBoxModArchivePreset; - private System.Windows.Forms.Label labelModUnfreeze; private System.Windows.Forms.TextBox textBoxModName; private System.Windows.Forms.Label labelModName; - private System.Windows.Forms.TextBox textBoxModFolderName; - private System.Windows.Forms.Label labelModFolderName; private System.Windows.Forms.TextBox textBoxModArchiveName; private System.Windows.Forms.Label labelModArchiveName; - private System.Windows.Forms.Button buttonModUnfreeze; - private System.Windows.Forms.Label labelModDetailsBulkFrozenModsWarning; - private System.Windows.Forms.Label labelModTitle; private System.Windows.Forms.PictureBox pictureBoxCollapseDetails; private System.Windows.Forms.FolderBrowserDialog folderBrowserDialogPickRootDir; - private System.Windows.Forms.Button buttonModDetailsCancel; - private System.Windows.Forms.Button buttonModDetailsOK; - private System.Windows.Forms.Button buttonModDetailsApply; private System.Windows.Forms.Button buttonModDetailsSuggestArchiveName; - private System.Windows.Forms.Panel panel2; private System.Windows.Forms.TextBox textBoxModURL; private System.Windows.Forms.Label labelModURL; private System.Windows.Forms.PictureBox pictureBoxModThumbnail; + private System.Windows.Forms.TabPage tabPageNexusMods; private System.Windows.Forms.GroupBox groupBoxModDetailsInstallationOptions; private System.Windows.Forms.GroupBox groupBoxModDetailsDetails; private System.Windows.Forms.TextBox textBoxModVersion; private System.Windows.Forms.Label labelModVersion; private System.Windows.Forms.ColumnHeader columnHeaderVersion; - private System.ComponentModel.BackgroundWorker backgroundWorkerRetrieveModInfo; - private System.ComponentModel.BackgroundWorker backgroundWorkerRetrieveProfileInfo; - private System.Windows.Forms.CheckBox checkBoxModsWriteSResourceDataDirsFinal; + private System.Windows.Forms.ToolStripSeparator toolStripSeparator6; + private System.Windows.Forms.ToolStripMenuItem saveToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem nexusModsAPIToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem updateModInformationToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem endorseModsToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem checkForUpdatesToolStripMenuItem; + private System.Windows.Forms.Label labelNexusModsMovedNotice; + private System.Windows.Forms.PictureBox pictureBox1; + private System.Windows.Forms.Label labelNexusModsMovedNotice2; + private System.Windows.Forms.StatusStrip statusStrip1; + private System.Windows.Forms.ToolStripStatusLabel toolStripStatusLabelDescModCount; + private System.Windows.Forms.ToolStripStatusLabel toolStripStatusLabelModCount; + private System.Windows.Forms.ToolStripStatusLabel toolStripStatusLabelSpacer; + private System.Windows.Forms.ToolStripStatusLabel toolStripStatusLabelDeploymentStatus; + private System.Windows.Forms.ToolStripStatusLabel toolStripStatusLabelDescEnabledCount; + private System.Windows.Forms.ToolStripStatusLabel toolStripStatusLabelEnabledCount; + private System.Windows.Forms.Panel panelModDetailsNexusMods; + private System.Windows.Forms.Label labelModSummary; + private System.Windows.Forms.Label labelModLatestVersionDesc; + private System.Windows.Forms.Label labelModAuthorDesc; + private System.Windows.Forms.Label labelModLatestVersion; + private System.Windows.Forms.Label labelModAuthor; + private System.Windows.Forms.Panel panelModDetailsInner; + private System.Windows.Forms.Label labelModInstallWarning; + private System.Windows.Forms.GroupBox groupBoxModReplace; + private System.Windows.Forms.LinkLabel linkLabelModReplaceFilesWithFolder; + private System.Windows.Forms.LinkLabel linkLabelModReplaceFilesWithArchive; + private System.Windows.Forms.Label labelModDetailsReplace; + private System.Windows.Forms.LinkLabel linkLabelModDeleteFolderContents; + private System.Windows.Forms.LinkLabel linkLabelModSetLatestVersion; + private System.Windows.Forms.Panel panelModDetailsReplaceDragAndDrop; + private System.Windows.Forms.ToolStripMenuItem emptyModToolStripMenuItem; + private System.Windows.Forms.LinkLabel linkLabelModAutoDetectInstallOptions; + private System.Windows.Forms.LinkLabel linkLabelModInvalidateFrozenArchive; + private System.Windows.Forms.Button buttonModOpenPage; + private System.Windows.Forms.Panel panelModDetailsHeader; + private System.Windows.Forms.Button buttonModAbstain; + private System.Windows.Forms.Button buttonModEndorse; + private System.Windows.Forms.Label labelModEndorseStatus; + private System.Windows.Forms.Label labelModTitle; + private System.Windows.Forms.CheckBox checkBoxModDetailsEnabled; } } \ No newline at end of file diff --git a/Fo76ini/Forms/FormMods/FormMods.Details.cs b/Fo76ini/Forms/FormMods/FormMods.Details.cs index 15f2c16..af1dc9a 100644 --- a/Fo76ini/Forms/FormMods/FormMods.Details.cs +++ b/Fo76ini/Forms/FormMods/FormMods.Details.cs @@ -1,38 +1,54 @@ -using Fo76ini.Properties; -using Newtonsoft.Json.Linq; +using Fo76ini.Interface; +using Fo76ini.Mods; +using Fo76ini.NexusAPI; +using Fo76ini.Properties; +using Fo76ini.Utilities; using System; using System.Collections.Generic; -using System.ComponentModel; -using System.Data; using System.Diagnostics; using System.Drawing; using System.IO; using System.Linq; -using System.Media; -using System.Net; -using System.Text; using System.Threading; -using System.Threading.Tasks; using System.Windows.Forms; namespace Fo76ini { public partial class FormMods : Form { - private Mod changedMod; + private enum SidePanelStatus + { + Expanded, + Collapsed, + Closed + } + + private SidePanelStatus sidePanelStatus = SidePanelStatus.Closed; + + private bool isUpdatingSidePanel = false; + private int editedModCount = 1; + + private ManagedMod editedMod + { + get { return Mods[editedIndex]; } + } - private bool isUpdatingUI = false; - private bool bulk = false; - private int modCount = 1; + private bool editingBulk + { + get { return editedModCount > 1; } + } private int editedIndex; private List editedIndices; + /// + /// Sets up elements, adds event handlers, etc. + /// private void InitializeDetailControls() { DropDown.Add("ModInstallAs", new DropDown( this.comboBoxModInstallAs, - new String[] { + new string[] { "Bundled *.ba2 archive", "Separate *.ba2 archive", "Loose files" @@ -41,7 +57,7 @@ private void InitializeDetailControls() DropDown.Add("ModArchivePreset", new DropDown( this.comboBoxModArchivePreset, - new String[] { + new string[] { "-- Please select --", "Auto-detect", "General / Interface / Materials / Animations", /* Materials: *.bgsm; Interface: *.swf; */ @@ -61,7 +77,63 @@ private void InitializeDetailControls() this.pictureBoxCollapseDetails.Cursor = Cursors.Hand; }); - CollapseAndHideSidePanel(); + this.Resize += this.FormModsDetails_Resize; + + // Disable scroll wheel on UI elements to prevent the user from accidentally changing values: + Utils.PreventChangeOnMouseWheelForAllElements(this.panelModDetailsInner); + + /* + * Drag&Drop + */ + this.panelModDetailsReplaceDragAndDrop.AllowDrop = true; + this.panelModDetailsReplaceDragAndDrop.DragEnter += new DragEventHandler(panelModDetailsReplaceDragAndDrop_DragEnter); + this.panelModDetailsReplaceDragAndDrop.DragDrop += new DragEventHandler(panelModDetailsReplaceDragAndDrop_DragDrop); + + CloseSidePanel(); + } + + private void FormModsDetails_Resize(object sender, EventArgs e) + { + UpdateSidePanelGroupBoxesWidth(); + } + + private void EditMod(int index) + { + this.editedIndex = index; + this.editedIndices = new List { index }; + this.editedModCount = 1; + + if (editedIndex < 0 || editedIndex >= Mods.Count()) + { + CloseSidePanel(); + return; + } + + UpdateSidePanel(); + if (sidePanelStatus == SidePanelStatus.Closed) + ExpandSidePanel(); + } + + private void EditMods(List indices) + { + this.editedIndex = -1; + this.editedIndices = indices.ToList(); + this.editedModCount = editedIndices.Count(); + + if (this.editedModCount <= 0) + { + CloseSidePanel(); + return; + } + else if (this.editedModCount == 1) + { + EditMod(editedIndices[0]); + return; + } + + UpdateSidePanel(); + if (sidePanelStatus == SidePanelStatus.Closed) + ExpandSidePanel(); } @@ -71,31 +143,32 @@ Side panel private void pictureBoxCollapseDetails_Click(object sender, EventArgs e) { - if (this.panelModDetails.Visible) - //CloseSidePanel(); - CollapseSidePanel(); - else + if (sidePanelStatus != SidePanelStatus.Expanded) ExpandSidePanel(); + else + CollapseSidePanel(); } + /// + /// Hides the side panel with no way to open it again for the user. + /// private void CloseSidePanel() - { - this.ModDetailsClosed(); - this.CollapseAndHideSidePanel(); - - // Reset image, so the thumbnail gets unloaded: - this.pictureBoxModThumbnail.Image = Resources.bg; - } - - private void CollapseAndHideSidePanel() { this.pictureBoxCollapseDetails.Visible = false; this.panelModDetails.Visible = false; int tabWidth = this.tabPageModOrder.Width; this.listViewMods.Width = tabWidth - this.listViewMods.Location.X; + + // Reset image, so the thumbnail gets unloaded: + this.pictureBoxModThumbnail.Image = Resources.bg; + + sidePanelStatus = SidePanelStatus.Closed; } + /// + /// Collapses the side panel but it can be opened again by the user. + /// private void CollapseSidePanel() { this.pictureBoxCollapseDetails.Visible = true; @@ -106,8 +179,13 @@ private void CollapseSidePanel() int buttonWidth = this.pictureBoxCollapseDetails.Width; this.pictureBoxCollapseDetails.Location = new Point(tabWidth - buttonWidth, this.pictureBoxCollapseDetails.Location.Y); this.listViewMods.Width = tabWidth - this.listViewMods.Location.X - buttonWidth + 1; + + sidePanelStatus = SidePanelStatus.Collapsed; } + /// + /// Shows the side panel. + /// private void ExpandSidePanel() { this.pictureBoxCollapseDetails.Visible = true; @@ -119,6 +197,10 @@ private void ExpandSidePanel() int panelWidth = this.panelModDetails.Width; this.pictureBoxCollapseDetails.Location = new Point(tabWidth - panelWidth - buttonWidth + 1, this.pictureBoxCollapseDetails.Location.Y); this.listViewMods.Width = tabWidth - this.listViewMods.Location.X - panelWidth - buttonWidth + 2; + + sidePanelStatus = SidePanelStatus.Expanded; + + UpdateSidePanelControls(); } @@ -126,353 +208,850 @@ private void ExpandSidePanel() * Update UI: */ - public void UpdateSidePanel(Mod mod = null, int modCount = -1) + public void UpdateSidePanel() { - ExpandSidePanel(); - isUpdatingUI = true; + if (!editingBulk && (editedIndex < 0 || editedIndex >= Mods.Count())) + return; + if (editingBulk && editedIndices.Count() < 0) + return; - if (mod != null) - this.changedMod = mod.CreateCopy(); + isUpdatingSidePanel = true; - this.pictureBoxModThumbnail.Image = Resources.bg; + if (editingBulk) + UpdateSidePanelBulk(); + else + UpdateSidePanelOneMod(); - if (modCount > 1) - { - this.bulk = true; - this.modCount = modCount; - } - else if (modCount == 1) + UpdateWarningLabel(); + UpdateSidePanelControls(); + + isUpdatingSidePanel = false; + } + + private void UpdateSidePanelOneMod() + { + this.checkBoxModDetailsEnabled.Visible = true; + this.groupBoxModDetailsDetails.Visible = true; + this.groupBoxModReplace.Visible = true; + + // Update thumbnail: + if (this.editedMod.RemoteInfo != null && + this.editedMod.RemoteInfo.ThumbnailFileName != "" && + File.Exists(this.editedMod.RemoteInfo.ThumbnailFilePath)) { - this.bulk = false; - this.modCount = 1; + // Thumbnail exists, load it: + this.pictureBoxModThumbnail.Image = Image.FromFile(this.editedMod.RemoteInfo.ThumbnailFilePath); + this.pictureBoxModThumbnail.Visible = true; } - - // Not bulk? - if (!this.bulk) + else { - this.labelModArchiveName.Visible = true; - this.textBoxModArchiveName.Visible = true; + // No thumbnail for us: + this.pictureBoxModThumbnail.Image = Resources.bg; + this.pictureBoxModThumbnail.Visible = false; } - this.checkBoxModDetailsEnabled.Checked = this.changedMod.isEnabled; + // Populate values: + this.checkBoxModDetailsEnabled.Checked = this.editedMod.Enabled; + this.checkBoxFreezeArchive.Checked = this.editedMod.Freeze; + this.textBoxModArchiveName.Text = this.editedMod.ArchiveName; + this.textBoxModName.Text = this.editedMod.Title; + this.textBoxModRootDir.Text = this.editedMod.RootFolder; + this.textBoxModURL.Text = this.editedMod.URL; + this.textBoxModVersion.Text = this.editedMod.Version; - if (this.modCount > 1) - this.labelModTitle.Text = String.Format(Localization.localizedStrings["modDetailsTitleBulkSelected"], this.modCount); - else - this.labelModTitle.Text = this.changedMod.Title; - this.textBoxModName.Text = this.changedMod.Title; - this.textBoxModFolderName.Text = this.changedMod.ManagedFolder; - this.textBoxModRootDir.Text = this.changedMod.RootFolder; - this.textBoxModURL.Text = this.changedMod.URL; - this.textBoxModVersion.Text = this.changedMod.Version; - - switch (this.changedMod.Type) + switch (this.editedMod.Method) { - case Mod.FileType.BundledBA2: + case ManagedMod.DeploymentMethod.BundledBA2: this.comboBoxModInstallAs.SelectedIndex = 0; - - //this.checkBoxModBA2Compression.Checked = ManagedMods.Instance.bundledCompression != Archive2.Compression.None; - //this.checkBoxModBA2Compression.Checked = ManagedMods.Instance.bundledTexturesCompression != Archive2.Compression.None; - this.checkBoxFreezeArchive.Visible = false; - - //this.textBoxModArchiveName.Text = ""; - this.textBoxModArchiveName.Visible = false; - this.labelModArchiveName.Visible = false; - this.buttonModDetailsSuggestArchiveName.Visible = false; - - this.labelModUnfreeze.Visible = false; - this.buttonModUnfreeze.Visible = false; - - this.comboBoxModArchivePreset.Visible = false; - this.labelModArchivePreset.Visible = false; - - this.labelModInstallInto.Visible = false; - this.textBoxModRootDir.Visible = false; - this.buttonModPickRootDir.Visible = false; break; - case Mod.FileType.SeparateBA2: + case ManagedMod.DeploymentMethod.SeparateBA2: this.comboBoxModInstallAs.SelectedIndex = 1; - - this.checkBoxFreezeArchive.Checked = this.changedMod.freeze; - this.checkBoxFreezeArchive.Visible = true; - this.labelModUnfreeze.Visible = this.changedMod.isFrozen(); - this.buttonModUnfreeze.Visible = this.changedMod.isFrozen(); - - this.comboBoxModArchivePreset.Visible = true; - this.labelModArchivePreset.Visible = true; - - this.textBoxModArchiveName.Text = this.changedMod.ArchiveName; - this.textBoxModArchiveName.Visible = true; - this.buttonModDetailsSuggestArchiveName.Visible = true; - this.labelModArchiveName.Visible = true; - - this.labelModInstallInto.Enabled = false; - this.textBoxModRootDir.Enabled = false; - this.buttonModPickRootDir.Enabled = false; - this.labelModInstallInto.Visible = true; - this.textBoxModRootDir.Visible = true; - this.buttonModPickRootDir.Visible = true; break; - case Mod.FileType.Loose: + case ManagedMod.DeploymentMethod.LooseFiles: this.comboBoxModInstallAs.SelectedIndex = 2; - this.textBoxModArchiveName.Visible = false; - this.buttonModDetailsSuggestArchiveName.Visible = false; - this.labelModArchiveName.Visible = false; - this.comboBoxModArchivePreset.Visible = false; - this.labelModArchivePreset.Visible = false; - - this.checkBoxFreezeArchive.Visible = false; - this.labelModUnfreeze.Visible = false; - this.buttonModUnfreeze.Visible = false; - - this.labelModUnfreeze.Visible = false; - this.buttonModUnfreeze.Visible = false; - - this.labelModInstallInto.Enabled = true; - this.textBoxModRootDir.Enabled = true; - this.buttonModPickRootDir.Enabled = true; - this.labelModInstallInto.Visible = true; - this.textBoxModRootDir.Visible = true; - this.buttonModPickRootDir.Visible = true; break; } - // Is frozen? - bool isFrozen = this.changedMod.isFrozen(); - /*this.comboBoxModArchivePreset.Enabled = !isFrozen; - this.comboBoxModInstallAs.Enabled = !isFrozen; - this.buttonModRepairDDS.Enabled = !isFrozen;*/ - this.groupBoxModDetailsInstallationOptions.Visible = !isFrozen; + this.labelModTitle.Text = this.editedMod.RemoteInfo != null && this.editedMod.RemoteInfo.Title != "" ? this.editedMod.RemoteInfo.Title : this.editedMod.Title; + + // Install into visible? + this.labelModInstallInto.Enabled = this.editedMod.Method == ManagedMod.DeploymentMethod.LooseFiles; + this.textBoxModRootDir.Enabled = this.editedMod.Method == ManagedMod.DeploymentMethod.LooseFiles; + this.buttonModPickRootDir.Enabled = this.editedMod.Method == ManagedMod.DeploymentMethod.LooseFiles; + + bool installIntoVisible = this.editedMod.Method == ManagedMod.DeploymentMethod.LooseFiles || this.editedMod.Method == ManagedMod.DeploymentMethod.SeparateBA2; + this.labelModInstallInto.Visible = installIntoVisible; + this.textBoxModRootDir.Visible = installIntoVisible; + this.buttonModPickRootDir.Visible = installIntoVisible; + + if (this.editedMod.Method == ManagedMod.DeploymentMethod.SeparateBA2) + this.textBoxModRootDir.Text = "Data"; + + // Preset visible? + this.comboBoxModArchivePreset.Visible = this.editedMod.Method == ManagedMod.DeploymentMethod.SeparateBA2; + this.labelModArchivePreset.Visible = this.editedMod.Method == ManagedMod.DeploymentMethod.SeparateBA2; + + // Archive name visible? + this.labelModArchiveName.Visible = this.editedMod.Method == ManagedMod.DeploymentMethod.SeparateBA2; + this.textBoxModArchiveName.Visible = this.editedMod.Method == ManagedMod.DeploymentMethod.SeparateBA2; + this.buttonModDetailsSuggestArchiveName.Visible = this.editedMod.Method == ManagedMod.DeploymentMethod.SeparateBA2; + + // Frozen visible? + this.checkBoxFreezeArchive.Visible = this.editedMod.Method == ManagedMod.DeploymentMethod.SeparateBA2; + this.linkLabelModInvalidateFrozenArchive.Visible = this.editedMod.Method == ManagedMod.DeploymentMethod.SeparateBA2 && + this.editedMod.Frozen; // Preset - if (!isFrozen && this.changedMod.Type == Mod.FileType.SeparateBA2) + if (this.editedMod.Method == ManagedMod.DeploymentMethod.SeparateBA2) { - bool isCompressed = this.changedMod.Compression == Mod.ArchiveCompression.Compressed; - switch (this.changedMod.Format) + bool isCompressed = this.editedMod.Compression == ManagedMod.ArchiveCompression.Compressed; + switch (this.editedMod.Format) { - case Mod.ArchiveFormat.General: + case ManagedMod.ArchiveFormat.General: if (isCompressed) this.comboBoxModArchivePreset.SelectedIndex = 2; // General else this.comboBoxModArchivePreset.SelectedIndex = 4; // Sound FX break; - case Mod.ArchiveFormat.Textures: + case ManagedMod.ArchiveFormat.Textures: this.comboBoxModArchivePreset.SelectedIndex = 3; // Textures break; - case Mod.ArchiveFormat.Auto: + case ManagedMod.ArchiveFormat.Auto: this.comboBoxModArchivePreset.SelectedIndex = 1; // Auto-detect break; default: this.comboBoxModArchivePreset.SelectedIndex = 0; // Please select break; } - if (this.changedMod.Compression == Mod.ArchiveCompression.Auto) + if (this.editedMod.Compression == ManagedMod.ArchiveCompression.Auto) this.comboBoxModArchivePreset.SelectedIndex = 1; } - // Bulk? - this.checkBoxModDetailsEnabled.Visible = !this.bulk; - this.labelModName.Visible = !this.bulk; - this.textBoxModName.Visible = !this.bulk; - this.labelModFolderName.Visible = !this.bulk; - this.textBoxModFolderName.Visible = !this.bulk; + // NexusMods info: + if (this.editedMod.RemoteInfo != null) + { + this.panelModDetailsNexusMods.Visible = true; + this.buttonModEndorse.Visible = true; + this.buttonModAbstain.Visible = true; + this.labelModEndorseStatus.Visible = true; + this.labelModSummary.Visible = true; + + this.labelModLatestVersion.Text = this.editedMod.RemoteInfo.LatestVersion; + this.labelModAuthor.Text = this.editedMod.RemoteInfo.Author; + this.labelModSummary.Text = + this.editedMod.RemoteInfo.Summary + .Replace("
", "\n") + .Replace("
", "\n") + .Replace("
", "\n"); + this.buttonModEndorse.Enabled = true; + this.buttonModAbstain.Enabled = true; + switch (this.editedMod.RemoteInfo.Endorsement) + { + case NMMod.EndorseStatus.Endorsed: + this.labelModEndorseStatus.Text = Localization.GetString("endorsedText"); + this.labelModEndorseStatus.ForeColor = Color.DarkGreen; + this.buttonModEndorse.Enabled = false; + break; + case NMMod.EndorseStatus.Abstained: + this.labelModEndorseStatus.Text = Localization.GetString("abstainedText"); + this.labelModEndorseStatus.ForeColor = Color.DarkRed; + this.buttonModAbstain.Enabled = false; + break; + case NMMod.EndorseStatus.Undecided: + default: + this.labelModEndorseStatus.Text = Localization.GetString("notEndorsedText"); + this.labelModEndorseStatus.ForeColor = Color.DarkOrange; + break; + } + } + else + { + this.panelModDetailsNexusMods.Visible = false; + this.buttonModEndorse.Visible = false; + this.buttonModAbstain.Visible = false; + this.labelModEndorseStatus.Visible = false; + this.labelModSummary.Visible = false; + } + } + + private void UpdateSidePanelBulk() + { + this.checkBoxModDetailsEnabled.Visible = false; + this.groupBoxModDetailsDetails.Visible = false; + this.groupBoxModReplace.Visible = false; + + this.pictureBoxModThumbnail.Image = Resources.bg; + this.labelModTitle.Text = string.Format(Localization.localizedStrings["modDetailsTitleBulkSelected"], this.editedModCount); + + // Install into visible + this.labelModInstallInto.Visible = true; + this.textBoxModRootDir.Visible = true; + this.buttonModPickRootDir.Visible = true; + this.labelModInstallInto.Enabled = true; + this.textBoxModRootDir.Enabled = true; + this.buttonModPickRootDir.Enabled = true; + + // Preset visible + this.comboBoxModArchivePreset.Visible = true; + this.labelModArchivePreset.Visible = true; + + // Archive name not visible + this.labelModArchiveName.Visible = false; + this.textBoxModArchiveName.Visible = false; + this.buttonModDetailsSuggestArchiveName.Visible = false; + + // Frozen visible + this.checkBoxFreezeArchive.Visible = true; + + + // Populate values: + this.comboBoxModInstallAs.SelectedIndex = 0; // BundledBA2 + this.comboBoxModArchivePreset.SelectedIndex = 0; // Please select + + // NexusMods: + this.panelModDetailsNexusMods.Visible = false; + this.buttonModEndorse.Visible = false; + this.buttonModAbstain.Visible = false; + this.labelModEndorseStatus.Visible = false; + this.labelModSummary.Visible = false; + } + + /// + /// Resizes the group boxes within the side bar to fit, regardless of whether or not the scrollbar is shown. + /// + private void UpdateSidePanelGroupBoxesWidth() + { + int width; + if (this.panelModDetailsInner.VerticalScroll.Visible) + width = this.panelModDetailsInner.Width - 28; + else + width = this.panelModDetailsInner.Width - 14; - //this.buttonModOpenFolder.Visible = !this.bulk; - //this.buttonModRepairDDS.Visible = !this.bulk; - this.buttonModUnfreeze.Enabled = !this.bulk; + this.groupBoxModDetailsInstallationOptions.Width = width; + this.groupBoxModDetailsDetails.Width = width; + this.groupBoxModReplace.Width = width; + } - /*this.separator1.Visible = !this.bulk; - this.separator2.Visible = !this.bulk;*/ + private void UpdateSidePanelControls() + { + int groupboxMargin = 6; + int controlMargin = 8; + int groupboxBottomMargin = 12; - this.labelModDetailsBulkFrozenModsWarning.Visible = this.bulk; - if (this.bulk) + // Is thumbnail visible? + if (this.pictureBoxModThumbnail.Visible) { - this.labelModArchiveName.Visible = false; - this.textBoxModArchiveName.Visible = false; - this.buttonModDetailsSuggestArchiveName.Visible = false; + // Move header underneath thumbnail: + this.panelModDetailsHeader.Top = this.pictureBoxModThumbnail.Top + this.pictureBoxModThumbnail.Height; + this.panelModDetailsInner.Height = this.panelModDetails.Height - this.panelModDetailsHeader.Height - this.pictureBoxModThumbnail.Height; } + else + { + // Move header up: + this.panelModDetailsHeader.Top = 0; + this.panelModDetailsInner.Height = this.panelModDetails.Height - this.panelModDetailsHeader.Height; + } + this.panelModDetailsInner.Top = this.panelModDetailsHeader.Top + this.panelModDetailsHeader.Height; - this.groupBoxModDetailsDetails.Visible = !this.bulk; + // Is summary visible? + if (this.labelModSummary.Visible) + // Place first groupbox underneath summary: + this.groupBoxModDetailsDetails.Top = this.labelModSummary.Top + this.labelModSummary.Height + controlMargin; + else + // Place first groupbox on top: + this.groupBoxModDetailsDetails.Top = groupboxMargin; + + // Place controls on the bottom: + int newTop = 0; + foreach (Control control in new Control[] { comboBoxModInstallAs, textBoxModRootDir, comboBoxModArchivePreset, textBoxModArchiveName, checkBoxFreezeArchive }) + if (control.Visible && control.Top + control.Height > newTop) + newTop = control.Top + control.Height; + + this.labelModInstallWarning.Top = newTop + controlMargin; + if (this.labelModInstallWarning.Visible) + this.linkLabelModAutoDetectInstallOptions.Top = this.labelModInstallWarning.Top + this.labelModInstallWarning.Height + controlMargin; + else + this.linkLabelModAutoDetectInstallOptions.Top = newTop + controlMargin; - isUpdatingUI = false; + // Determine optimal height of groupboxes: + foreach (GroupBox box in new GroupBox[] { groupBoxModDetailsDetails, groupBoxModDetailsInstallationOptions }) + { + int newHeight = 0; + foreach (Control control in box.Controls) + { + if (control.Visible) + { + int temp = control.Top + control.Height + groupboxBottomMargin; + if (newHeight < temp) + newHeight = temp; + } + } + box.Height = newHeight; + } + + // Place groupboxes underneath each other: + GroupBox[] groupBoxes = new GroupBox[] { groupBoxModDetailsDetails, groupBoxModDetailsInstallationOptions, groupBoxModReplace }; + for (int i = 1; i < groupBoxes.Length; i++) + groupBoxes[i].Top = groupBoxes[i - 1].Top + groupBoxes[i - 1].Height + groupboxMargin; + + UpdateSidePanelGroupBoxesWidth(); } - private void UpdateModFolder() + /// + /// Attempt to detect whether the chosen mod installation options could cause the mod not to work properly. + /// Update the label with (hopefully) helpful information for troubleshooting. + /// + private void UpdateWarningLabel() { - this.changedMod.ManagedFolder = ManagedMods.Instance.RenameManagedFolder(this.changedMod.ManagedFolder, this.textBoxModFolderName.Text); + if (editingBulk) + { + this.labelModInstallWarning.Text = ""; + this.labelModInstallWarning.Visible = false; + return; + } + + this.labelModInstallWarning.Visible = true; + + /* + * "Index" the mod folder first: + */ + + bool resourceFoldersFound = false; + bool generalFoldersFound = false; + bool texturesFolderFound = false; + bool soundFoldersFound = false; + bool stringsFolderFound = false; + bool dllFound = false; + + foreach (string folderPath in Directory.EnumerateDirectories(editedMod.ManagedFolderPath)) + { + string folderName = Path.GetFileName(folderPath).ToLower(); + + if (ModHelpers.ResourceFolders.Contains(folderName)) + resourceFoldersFound = true; + if (ModHelpers.GeneralFolders.Contains(folderName)) + generalFoldersFound = true; + if (ModHelpers.TextureFolders.Contains(folderName)) + texturesFolderFound = true; + if (ModHelpers.SoundFolders.Contains(folderName)) + soundFoldersFound = true; + if (folderName == "strings") + stringsFolderFound = true; + } + + foreach (string filePath in Directory.EnumerateFiles(editedMod.ManagedFolderPath)) + { + string fileExtension = Path.GetExtension(filePath).ToLower(); + + if (fileExtension == ".dll") + dllFound = true; + } + + + /* + * Check for possible issues: + */ + + // No resource folders in the top directory? + if ((editedMod.Method == ManagedMod.DeploymentMethod.BundledBA2 || + editedMod.Method == ManagedMod.DeploymentMethod.SeparateBA2) && + !resourceFoldersFound) + { + this.labelModInstallWarning.Text = "Couldn't find common resource folders (meshes, textures, sounds, materials, interface, and so on). The mod might fail to load."; + return; + } + + // Mixed archives might cause issues: + if (editedMod.Method == ManagedMod.DeploymentMethod.SeparateBA2 && + (generalFoldersFound && texturesFolderFound || + generalFoldersFound && soundFoldersFound || + texturesFolderFound && soundFoldersFound)) + { + this.labelModInstallWarning.Text = "Tip: Mixing general, texture, and sound files *might* cause the mod not to load correctly.\nIn case the mod doesn't work, you could try to set it to \"Bundled *.ba2 archive\"."; + return; + } + + // General files found, but wrong format chosen: + if (generalFoldersFound && + editedMod.Method == ManagedMod.DeploymentMethod.SeparateBA2 && + editedMod.Format != ManagedMod.ArchiveFormat.General && editedMod.Format != ManagedMod.ArchiveFormat.Auto) + { + this.labelModInstallWarning.Text = "Tip: For general mods, select the general preset or leave it on \"Auto-detect\"."; + return; + } + + // Textures found, but wrong format chosen: + if (texturesFolderFound && + editedMod.Method == ManagedMod.DeploymentMethod.SeparateBA2 && + (editedMod.Format != ManagedMod.ArchiveFormat.Textures && editedMod.Format != ManagedMod.ArchiveFormat.Auto || + editedMod.Compression != ManagedMod.ArchiveCompression.Compressed && editedMod.Compression != ManagedMod.ArchiveCompression.Auto)) + { + this.labelModInstallWarning.Text = "Tip: For texture replacement mods, select the \"Textures (*.dds files)\" preset or leave it on \"Auto-detect\"."; + return; + } + + // Sound files found, but wrong format chosen: + if (soundFoldersFound && + editedMod.Method == ManagedMod.DeploymentMethod.SeparateBA2 && + (editedMod.Format != ManagedMod.ArchiveFormat.General && editedMod.Format != ManagedMod.ArchiveFormat.Auto || + editedMod.Compression != ManagedMod.ArchiveCompression.Uncompressed && editedMod.Compression != ManagedMod.ArchiveCompression.Auto)) + { + this.labelModInstallWarning.Text = "Tip: For sound replacement mods, select the \"Sound FX / Music / Voice\" preset or leave it on \"Auto-detect\"."; + return; + } + + // Any *.dll files? + if (dllFound && (editedMod.Method != ManagedMod.DeploymentMethod.LooseFiles || (editedMod.RootFolder != "." && editedMod.RootFolder != ""))) + { + this.labelModInstallWarning.Text = "Tip: *.dll files are usually installed as \"Loose files\" into the top directory (\".\")."; + return; + } + + // Strings not installed as loose files? + if (stringsFolderFound && (editedMod.Method != ManagedMod.DeploymentMethod.LooseFiles || editedMod.RootFolder != "Data")) + { + this.labelModInstallWarning.Text = "Tip: Strings are usually installed as \"Loose files\" into the \"Data\" folder."; + return; + } + + this.labelModInstallWarning.Text = ""; + this.labelModInstallWarning.Visible = false; } + /* * Properties changed: */ private void comboBoxModInstallAs_SelectedIndexChanged(object sender, EventArgs e) { - if (isUpdatingUI) + if (isUpdatingSidePanel) return; - switch (this.comboBoxModInstallAs.SelectedIndex) + foreach (int index in editedIndices) { - case 0: // Bundled *.ba2 archive - this.changedMod.Type = Mod.FileType.BundledBA2; - this.changedMod.freeze = false; - break; - case 1: // Separate *.ba2 archive - this.changedMod.Type = Mod.FileType.SeparateBA2; - break; - case 2: // Loose files - this.changedMod.Type = Mod.FileType.Loose; - this.changedMod.freeze = false; - break; + ManagedMod editedMod = Mods[index]; + switch (this.comboBoxModInstallAs.SelectedIndex) + { + case 0: // Bundled *.ba2 archive + editedMod.Method = ManagedMod.DeploymentMethod.BundledBA2; + break; + case 1: // Separate *.ba2 archive + editedMod.Method = ManagedMod.DeploymentMethod.SeparateBA2; + break; + case 2: // Loose files + editedMod.Method = ManagedMod.DeploymentMethod.LooseFiles; + break; + } + if (editedMod.Frozen && (editedMod.Method != ManagedMod.DeploymentMethod.SeparateBA2 && + editedMod.PreviousMethod == ManagedMod.DeploymentMethod.SeparateBA2)) + ModActions.Unfreeze(editedMod); } - UpdateSidePanel(); + if (!editingBulk) + UpdateSidePanel(); + UpdateModList(); + UpdateStatusStrip(); + UpdateWarningLabel(); + UpdateSidePanelControls(); + Mods.Save(); } private void comboBoxModArchivePreset_SelectedIndexChanged(object sender, EventArgs e) { - if (isUpdatingUI) + if (isUpdatingSidePanel) return; - switch (this.comboBoxModArchivePreset.SelectedIndex) + foreach (int index in editedIndices) { - case 0: // Please select - /*this.changedMod.Format = Mod.ArchiveFormat.Auto; - this.changedMod.Compression = Archive2.Compression.Default;*/ - break; - case 1: // Auto-detect - this.changedMod.Format = Mod.ArchiveFormat.Auto; - this.changedMod.Compression = Mod.ArchiveCompression.Auto; - break; - case 2: // General - this.changedMod.Format = Mod.ArchiveFormat.General; - this.changedMod.Compression = Mod.ArchiveCompression.Compressed; - break; - case 3: // Textures - this.changedMod.Format = Mod.ArchiveFormat.Textures; - this.changedMod.Compression = Mod.ArchiveCompression.Compressed; - break; - case 4: // Audio - this.changedMod.Format = Mod.ArchiveFormat.General; - this.changedMod.Compression = Mod.ArchiveCompression.Uncompressed; - break; + ManagedMod editedMod = Mods[index]; + switch (this.comboBoxModArchivePreset.SelectedIndex) + { + case 0: // Please select + case 1: // Auto-detect + editedMod.Format = ManagedMod.ArchiveFormat.Auto; + editedMod.Compression = ManagedMod.ArchiveCompression.Auto; + break; + case 2: // General + editedMod.Format = ManagedMod.ArchiveFormat.General; + editedMod.Compression = ManagedMod.ArchiveCompression.Compressed; + break; + case 3: // Textures + editedMod.Format = ManagedMod.ArchiveFormat.Textures; + editedMod.Compression = ManagedMod.ArchiveCompression.Compressed; + break; + case 4: // Audio + editedMod.Format = ManagedMod.ArchiveFormat.General; + editedMod.Compression = ManagedMod.ArchiveCompression.Uncompressed; + break; + } + if (editedMod.Frozen && + (editedMod.Format != editedMod.CurrentFormat || + editedMod.Compression != editedMod.CurrentCompression)) + ModActions.Unfreeze(editedMod); } - UpdateSidePanel(); + if (!editingBulk) + UpdateSidePanel(); + UpdateModList(); + UpdateStatusStrip(); + UpdateWarningLabel(); + UpdateSidePanelControls(); + Mods.Save(); } private void buttonModPickRootDir_Click(object sender, EventArgs e) { - this.folderBrowserDialogPickRootDir.SelectedPath = Path.Combine(Shared.GamePath, "Data"); + if (isUpdatingSidePanel) + return; + this.folderBrowserDialogPickRootDir.SelectedPath = Path.Combine(this.Mods.GamePath, "Data"); if (this.folderBrowserDialogPickRootDir.ShowDialog() == DialogResult.OK) { - String rootFolder = Utils.MakeRelativePath(Shared.GamePath, this.folderBrowserDialogPickRootDir.SelectedPath); + string rootFolder = Utils.MakeRelativePath(this.Mods.GamePath, this.folderBrowserDialogPickRootDir.SelectedPath); this.textBoxModRootDir.Text = rootFolder; - this.changedMod.RootFolder = rootFolder; + foreach (int index in editedIndices) + Mods[index].RootFolder = rootFolder; } + UpdateModList(); + UpdateStatusStrip(); + UpdateWarningLabel(); + UpdateSidePanelControls(); + Mods.Save(); } private void textBoxModRootDir_TextChanged(object sender, EventArgs e) { - if (this.textBoxModRootDir.Focused && Directory.Exists(this.textBoxModRootDir.Text)) - this.changedMod.RootFolder = this.textBoxModRootDir.Text; + if (isUpdatingSidePanel) + return; + if (this.textBoxModRootDir.Focused) + foreach (int index in editedIndices) + Mods[index].RootFolder = this.textBoxModRootDir.Text; + UpdateModList(); + UpdateStatusStrip(); + UpdateWarningLabel(); + UpdateSidePanelControls(); + Mods.Save(); } private void textBoxModArchiveName_TextChanged(object sender, EventArgs e) { + if (isUpdatingSidePanel) + return; if (this.textBoxModArchiveName.Focused) - this.changedMod.ArchiveName = this.textBoxModArchiveName.Text; + { + this.editedMod.ArchiveName = this.textBoxModArchiveName.Text; + UpdateModList(); + UpdateStatusStrip(); + Mods.Save(); + } } private void textBoxModName_TextChanged(object sender, EventArgs e) { + if (isUpdatingSidePanel) + return; if (textBoxModName.Focused) { - this.changedMod.Title = this.textBoxModName.Text; - this.labelModTitle.Text = this.changedMod.Title; + this.editedMod.Title = this.textBoxModName.Text; + if (this.editedMod.RemoteInfo == null || this.editedMod.RemoteInfo.Title == "") + this.labelModTitle.Text = this.editedMod.Title; + UpdateModList(); + Mods.Save(); } } private void checkBoxModDetailsEnabled_CheckedChanged(object sender, EventArgs e) { - this.changedMod.isEnabled = this.checkBoxModDetailsEnabled.Checked; + if (isUpdatingSidePanel) + return; + this.editedMod.Enabled = this.checkBoxModDetailsEnabled.Checked; + UpdateModList(); + UpdateStatusStrip(); + Mods.Save(); } private void checkBoxFreezeArchive_CheckedChanged(object sender, EventArgs e) { - this.changedMod.freeze = this.checkBoxFreezeArchive.Checked; + if (isUpdatingSidePanel) + return; + foreach (int index in editedIndices) + Mods[index].Freeze = this.checkBoxFreezeArchive.Checked; + UpdateModList(); + UpdateStatusStrip(); + Mods.Save(); } - private void textBoxModFolderName_TextChanged(object sender, EventArgs e) + private void textBoxModURL_TextChanged(object sender, EventArgs e) { + if (isUpdatingSidePanel) + return; + this.editedMod.URL = this.textBoxModURL.Text; + Mods.Save(); + } + private void textBoxModVersion_TextChanged(object sender, EventArgs e) + { + if (isUpdatingSidePanel) + return; + this.editedMod.Version = this.textBoxModVersion.Text; + UpdateModList(); + Mods.Save(); } - private void textBoxModURL_TextChanged(object sender, EventArgs e) + + /* + * Actions + */ + + // Suggest archive name + private void buttonModDetailsSuggestArchiveName_Click(object sender, EventArgs e) { - this.changedMod.URL = this.textBoxModURL.Text; + this.editedMod.ArchiveName = Utils.GetValidFileName(this.editedMod.Title, ".ba2"); + this.textBoxModArchiveName.Text = this.editedMod.ArchiveName; + UpdateSidePanel(); + UpdateModList(); + Mods.Save(); } - private void textBoxModVersion_TextChanged(object sender, EventArgs e) + // Open webpage + private void buttonModOpenPage_Click(object sender, EventArgs e) + { + if (editedMod.ID >= 0) + Process.Start("https://www.nexusmods.com/fallout76/mods/" + editedMod.ID.ToString()/* + "?tab=files"*/); + else if (editedMod.URL != "") + Process.Start(editedMod.URL); + } + + // Set latest version + private void linkLabelModSetLatestVersion_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) + { + if (!editingBulk && editedMod.RemoteInfo != null && editedMod.RemoteInfo.LatestVersion != "") + { + this.editedMod.Version = editedMod.RemoteInfo.LatestVersion; + this.textBoxModVersion.Text = editedMod.RemoteInfo.LatestVersion; + } + } + + // Delete folder contents + private void linkLabelModDeleteFolderContents_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) + { + if (MsgBox.Get("areYouSure").FormatText("Are you sure, you want to delete the folder contents?").Show(MessageBoxButtons.YesNo) == DialogResult.Yes) + { + if (Directory.Exists(editedMod.ManagedFolderPath)) + Directory.Delete(editedMod.ManagedFolderPath, true); + Directory.CreateDirectory(editedMod.ManagedFolderPath); + UpdateProgress(Progress.Done("Deleted files.")); + } + } + + // Import from archive + private void linkLabelModReplaceFilesWithArchive_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) + { + if (this.openFileDialogMod.ShowDialog() == DialogResult.OK) + AddArchiveToModThreaded(this.openFileDialogMod.FileName); + } + + // Import from folder + private void linkLabelModReplaceFilesWithFolder_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) + { + if (this.folderBrowserDialogMod.ShowDialog() == DialogResult.OK) + AddFolderToModThreaded(this.folderBrowserDialogMod.SelectedPath); + } + + // Auto-detect installation options + private void linkLabelModAutoDetectInstallOptions_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) + { + if (!editingBulk) + ModActions.DetectOptimalModInstallationOptions(editedMod); + else + { + foreach (int index in editedIndices) + ModActions.DetectOptimalModInstallationOptions(Mods[index]); + } + UpdateSidePanel(); + UpdateModList(); + } + + // Invalidate frozen archive + private void linkLabelModInvalidateFrozenArchive_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) { - this.changedMod.Version = this.textBoxModVersion.Text; + if (editingBulk) + return; + editedMod.Frozen = false; + UpdateModList(); + UpdateSidePanel(); } /* - * Actions + * NexusAPI */ - private void buttonModUnfreeze_Click(object sender, EventArgs e) + private void buttonModEndorse_Click(object sender, EventArgs e) { - Thread thread = new Thread(() => + if (editingBulk) + return; + + if (this.editedMod.Version == "") { - Invoke(() => ProgressBarMarquee()); - //Invoke(() => Display("Unfreezing...")); - this.changedMod.Unfreeze( - (text, percent) => - { - Invoke(() => Display(text)); - //Invoke(() => ProgressBarContinuous(percent)); - }, - (success) => - { - Invoke(() => - { - Invoke(() => ProgressBarContinuous(100)); - this.ModDetailsFeedback(this.changedMod); - UpdateSidePanel(); - if (success) - DisplayAllDone(); - else - DisplayFailState(); - }); - } - ); - }); - thread.IsBackground = true; - thread.Start(); + MsgBox.Show("Can't endorse", "Please enter a version and try again.", MessageBoxIcon.Information); + return; + } + + if (!NexusMods.User.IsLoggedIn) + { + MsgBox.ShowID("nexusModsNotLoggedIn", MessageBoxIcon.Information); + return; + } + + if (this.editedMod.RemoteInfo != null) + if (this.editedMod.RemoteInfo.Endorse(this.editedMod.Version)) + UpdateSidePanel(); } - private void buttonModDetailsSuggestArchiveName_Click(object sender, EventArgs e) + private void buttonModAbstain_Click(object sender, EventArgs e) { - this.changedMod.ArchiveName = Utils.GetValidFileName(this.changedMod.Title, ".ba2"); - this.textBoxModArchiveName.Text = this.changedMod.ArchiveName; + if (editingBulk) + return; + + if (this.editedMod.Version == "") + { + MsgBox.Show("Can't abstain from endorsing", "Please enter a version and try again.", MessageBoxIcon.Information); + return; + } + + if (!NexusMods.User.IsLoggedIn) + { + MsgBox.ShowID("nexusModsNotLoggedIn", MessageBoxIcon.Information); + return; + } + + if (this.editedMod.RemoteInfo != null) + if (this.editedMod.RemoteInfo.Abstain(this.editedMod.Version)) + UpdateSidePanel(); } - private void buttonModDetailsApply_Click(object sender, EventArgs e) + + /* + * Drag & drop + */ + + private void panelModDetailsReplaceDragAndDrop_DragEnter(object sender, DragEventArgs e) { - UpdateModFolder(); - this.ModDetailsFeedback(this.changedMod); + if (e.Data.GetDataPresent(DataFormats.FileDrop)) + e.Effect = DragDropEffects.Copy; } - private void buttonModDetailsCancel_Click(object sender, EventArgs e) + private void panelModDetailsReplaceDragAndDrop_DragDrop(object sender, DragEventArgs e) { - this.CloseSidePanel(); + string[] files = (string[])e.Data.GetData(DataFormats.FileDrop); + AddToModBulkThreaded(files); } - private void buttonModDetailsOK_Click(object sender, EventArgs e) + private void AddFolderToModThreaded(string folderPath) { - UpdateModFolder(); - this.ModDetailsFeedback(this.changedMod); - this.ModDetailsClosed(); - this.CollapseAndHideSidePanel(); + RunThreaded(() => { + DisableUI(); + }, () => { + try + { + ModInstallations.AddFolder(editedMod, folderPath, false, UpdateProgress); + } + catch (Exception exc) + { + MsgBox.Get("failed").FormatText(exc.Message).Show(MessageBoxIcon.Error); + return false; + } + return true; + }, (success) => { + EnableUI(); + UpdateSidePanel(); + }); + } + + private void AddArchiveToModThreaded(string filePath) + { + RunThreaded(() => { + DisableUI(); + }, () => { + try + { + ModInstallations.AddArchive(editedMod, filePath, UpdateProgress); + } + catch (Archive2RequirementsException exc) + { + MsgBox.ShowID("archive2InstallRequirements", MessageBoxIcon.Error); + return false; + } + catch (Archive2Exception exc) + { + MsgBox.ShowID("archive2Error", MessageBoxIcon.Error); + return false; + } + catch (Exception exc) + { + MsgBox.Get("failed").FormatText(exc.Message).Show(MessageBoxIcon.Error); + return false; + } + return true; + }, (success) => { + EnableUI(); + UpdateSidePanel(); + }); + } + + private void AddToModBulkThreaded(string[] files) + { + RunThreaded(() => { + DisableUI(); + }, () => { + try + { + AddToModBulk(files, UpdateProgress); + } + catch (Archive2RequirementsException exc) + { + MsgBox.ShowID("archive2InstallRequirements", MessageBoxIcon.Error); + return false; + } + catch (Archive2Exception exc) + { + MsgBox.ShowID("archive2Error", MessageBoxIcon.Error); + return false; + } + catch (Exception exc) + { + MsgBox.Get("failed").FormatText(exc.Message).Show(MessageBoxIcon.Error); + return false; + } + return true; + }, (success) => { + EnableUI(); + UpdateSidePanel(); + }); + } + + private void AddToModBulk(string[] files, Action ProgressChanged = null) + { + if (editingBulk) + return; + int i = 0; + string phaseStr = "Importing {0} of {1} files/folders - {2}"; + foreach (string filePath in files) + { + Action PhasedProgressChanged = Progress.BuildPhasedProgressChanged(ProgressChanged, phaseStr, i++, files.Length); + + string fileExtension = Path.GetExtension(filePath); + string fileName = Path.GetFileName(filePath); + string longFilePath = ModInstallations.EnsureLongPathSupport(filePath); + + if (Directory.Exists(longFilePath)) + ModInstallations.AddFolder(editedMod, filePath, true, PhasedProgressChanged); + else if ((new string[] { ".ba2", ".zip", ".rar", ".tar", ".7z" }).Contains(fileExtension.ToLower())) + ModInstallations.AddArchive(editedMod, filePath, PhasedProgressChanged); + else + { + PhasedProgressChanged.Invoke(Progress.Indetermined($"Copying '{fileName}'...")); + File.Copy(longFilePath, Path.Combine(editedMod.ManagedFolderPath, fileName), true); + } + } + ProgressChanged?.Invoke(Progress.Done("File(s)/folder(s) added.")); } } } diff --git a/Fo76ini/Forms/FormMods/FormMods.cs b/Fo76ini/Forms/FormMods/FormMods.cs index becafea..c38670d 100644 --- a/Fo76ini/Forms/FormMods/FormMods.cs +++ b/Fo76ini/Forms/FormMods/FormMods.cs @@ -1,4 +1,9 @@ -using Fo76ini.Mods; +using Fo76ini.Interface; +using Fo76ini.Mods; +using Fo76ini.NexusAPI; +using Fo76ini.Profiles; +using Fo76ini.Tweaks.ResourceLists; +using Fo76ini.Utilities; using System; using System.Collections.Generic; using System.ComponentModel; @@ -8,37 +13,57 @@ using System.IO; using System.Linq; using System.Media; -using System.Text; using System.Threading; -using System.Threading.Tasks; using System.Windows.Forms; +using System.Xml; namespace Fo76ini { public partial class FormMods : Form { - //private UILoader uiLoader = new UILoader(); - private int selectedIndex = -1; private List selectedIndices = new List(); + + private GameInstance game; + private ManagedMods Mods; + + public static event NuclearWinterEventHandler NWModeUpdated; + + /// + /// isUpdating is set to true when updating the UI. + /// The value is checked in event handlers and if it is true, the event will be ignored. + /// TODO: Messy workaround, find a better solution, plz! + /// private bool isUpdating = false; + #region Related to opening, closing, or (re)loading the entire form public FormMods() { InitializeComponent(); InitializeDetailControls(); + // Handle changes: + ProfileManager.ProfileChanged += OnProfileChanged; + + // Make this form translatable: LocalizedForm form = new LocalizedForm(this, this.toolTip); Localization.LocalizedForms.Add(form); - // Game Edition - /*uiLoader.LinkList( - new RadioButton[] { this.radioButtonEditionBethesdaNet, this.radioButtonEditionSteam }, - new String[] { "1", "2" }, - IniFile.Config, "Preferences", "uGameEdition", - "0" - );*/ - + // Add control elements to blacklist: + Translation.BlackList.AddRange(new string[] { + "labelModTitle", + "labelModsDeploy", + "labelModSummary", + "labelModLatestVersion", + "labelModAuthor", + "labelModEndorseStatus", + "labelModGUID", + "labelModInstallWarning", + "toolStripStatusLabelModCount", + "toolStripStatusLabelDeploymentStatus", + "toolStripStatusLabelSpacer", + "toolStripStatusLabelEnabledCount" + }); this.FormClosing += this.FormMods_FormClosing; this.KeyDown += this.FormMods_KeyDown; @@ -50,53 +75,175 @@ public FormMods() this.listViewMods.AllowDrop = true; this.listViewMods.DragEnter += new DragEventHandler(listViewMods_DragEnter); this.listViewMods.DragDrop += new DragEventHandler(listViewMods_DragDrop); - this.listViewMods.MouseUp += listViewMods_MouseUp; } + private void OnProfileChanged(object sender, ProfileEventArgs e) + { + this.game = e.ActiveGameInstance; + ReloadModManager(); + } + + private void FormMods_Load(object sender, EventArgs e) + { + Configuration.LoadWindowState("FormMods", this); + Configuration.LoadListViewState("FormMods", this.listViewMods); + } + + private void FormMods_FormClosing(object sender, FormClosingEventArgs e) + { + if (e.CloseReason == CloseReason.UserClosing) + { + CloseSidePanel(); + Configuration.SaveWindowState("FormMods", this); + Configuration.SaveListViewState("FormMods", this.listViewMods); + e.Cancel = true; + if (this.buttonModsDeploy.Enabled) + Hide(); + } + } + + private void LoadMods(string GamePath) + { + Mods = new ManagedMods(GamePath); + Mods.Load(); + } + + private void ReloadModManager() + { + if (!IniFiles.IsLoaded()) + return; + if (!game.ValidateGamePath()) + return; + try + { + CloseSidePanel(); + LoadMods(game.GamePath); + UpdateUI(); + TriggerNWModeUpdated(); + + if (!LegacyManagedMods.CheckLegacy(game.GamePath)) + Mods.SaveResources(); + } + catch (Exception exc) + { + MsgBox.Popup("Failed to load mods", $"Failed to load mods.\n{exc.GetType()}: {exc.Message}", MessageBoxIcon.Error); + } + } + + private bool ConvertLegacyConditional() + { + if (LegacyManagedMods.CheckLegacy(game.GamePath)) + { + DialogResult resp = MsgBox.ShowID("modsLegacyFormatDetected", MessageBoxButtons.YesNo, MessageBoxIcon.Question); + if (resp == DialogResult.No) + return false; + else if (resp == DialogResult.Yes) + ConvertLegacyThreaded(); + } + return true; + } + + private void ConvertLegacyThreaded() + { + RunThreaded(() => { + ShowLoadingUI(); + }, () => { + LegacyManagedMods.ConvertLegacy(Mods, game.Edition, UpdateProgress); + return true; + }, (success) => { + UpdateUI(); + EnableUI(); + }); + } + + /// + /// Checks whether the game path has been set, all required executables exist, and so on. + /// Displays messageboxes if something is amiss. + /// + /// true if all is good. false if something is amiss. + private bool CheckIntegrity() + { + if (this.game == null) + return false; + + if (!this.game.ValidateGamePath()) + { + MsgBox.ShowID("modsGamePathNotSet", MessageBoxIcon.Error); + return false; + } + if (!Archive2.ValidatePath()) + { + MsgBox.ShowID("modsArchive2Missing", MessageBoxIcon.Error); + return false; + } + if (!File.Exists(Utils.SevenZipPath)) + { + MsgBox.ShowID("7ZipMissing", MessageBoxIcon.Error); + return false; + } + + return true; + } + + /// + /// Opens the window and updates the form. + /// public void OpenUI() { - //Utils.SetFormPosition(this, Form1.Instance.Location.X + Form1.Instance.Width, Form1.Instance.Location.Y); - Utils.SetFormPosition(this, Form1.Instance.Location.X + 100, Form1.Instance.Location.Y + 50); + if (!CheckIntegrity()) + return; + this.WindowState = FormWindowState.Normal; - this.UpdateUI(); - this.Show(); - this.Focus(); + ReloadModManager(); + + Show(); + Focus(); + + if (!ConvertLegacyConditional()) + { + Hide(); + return; + } } - public void UpdateUI() + /// + /// Updates the form. + /// + private void UpdateUI() { + UpdateSelectedIndices(); UpdateModList(); UpdateSettings(); - UpdateLabel(); + UpdateStatusStrip(); } + #endregion + + #region User interface + /// + /// Goes through the mod list and updates the list view. + /// private void UpdateModList() { /* * Iterate one row at a time... */ isUpdating = true; + //UpdateSelectedIndices(); this.listViewMods.Items.Clear(); - for (int i = 0; i < ManagedMods.Instance.Mods.Count; i++) + for (int i = 0; i < Mods.Count; i++) { /* * Define sub-items */ - Mod mod = ManagedMods.Instance.Mods[i]; - - //bool isCompressed = mod.Compression == Mod.ArchiveCompression.Compressed; - bool enabled = ManagedMods.Instance.isModEnabled(i); var type = new ListViewItem.ListViewSubItem(); - //var size = new ListViewItem.ListViewSubItem(); var version = new ListViewItem.ListViewSubItem(); var format = new ListViewItem.ListViewSubItem(); var archiveName = new ListViewItem.ListViewSubItem(); var rootDir = new ListViewItem.ListViewSubItem(); var frozen = new ListViewItem.ListViewSubItem(); var compressed = new ListViewItem.ListViewSubItem(); - //compressed.Text = isCompressed ? Translation.localizedStrings["yes"] : Translation.localizedStrings["no"]; - //compressed.ForeColor = isCompressed ? Color.Black : Color.DarkGreen; /* @@ -112,49 +259,67 @@ private void UpdateModList() /* - * Fill sub-items + * Get some info */ - // Size? - /*long folderSize = Utils.GetSizeInBytes(mod.GetManagedPath()); - size.Text = Utils.GetFormatedSize(folderSize); - if (folderSize >= 1073741824) // > 1 GiB - size.ForeColor = Color.DarkRed; - else if (folderSize >= 209715200) // > 200 MiB - size.ForeColor = Color.OrangeRed; - else if (folderSize >= 104857600) // > 100 MiB - size.ForeColor = Color.DarkOrange; - else if (folderSize >= 10485760) // > 10 MiB - size.ForeColor = Color.Goldenrod; - else - size.ForeColor = Color.DarkGreen;*/ + ManagedMod mod = Mods[i]; + NMMod nmMod = mod.RemoteInfo; + + bool enabled = mod.Enabled; + + + /* + * Fill sub-items + */ // Version: - version.Text = $"{mod.Version}"; - version.ForeColor = Color.Gray; + if (mod.Version != "") + { + if (nmMod != null) + { + int cmp = Utils.CompareVersions(nmMod.LatestVersion, mod.Version); + if (cmp > 0) + { + // Update available: + version.Text = $"{mod.Version} ({nmMod.LatestVersion})"; + version.ForeColor = Color.DarkRed; + } + else + { + // Latest version: + version.Text = $"{mod.Version}"; + version.ForeColor = Color.DarkGreen; + } + } + else + { + version.Text = $"{mod.Version}"; + version.ForeColor = Color.Gray; + } + } // Frozen? - if (mod.isFrozen()) + if (mod.Frozen) { - frozen.Text = Localization.GetString("yes"); + frozen.Text = Localization.GetString("yes"); // "Frozen" frozen.ForeColor = Color.DarkCyan; } - else if (mod.freeze) + else if (mod.Freeze) { - frozen.Text = Localization.GetString("modTableFrozenPending"); + frozen.Text = Localization.GetString("modTableFrozenPending"); // "Pending" frozen.ForeColor = Color.DarkBlue; } else - frozen.Text = Localization.GetString("no"); + frozen.Text = Localization.GetString("no"); // "Thawed" // Archive format switch (mod.Format) { - case Mod.ArchiveFormat.General: + case ManagedMod.ArchiveFormat.General: format.Text = Localization.GetString("modsTableFormatGeneral"); format.ForeColor = Color.OrangeRed; break; - case Mod.ArchiveFormat.Textures: + case ManagedMod.ArchiveFormat.Textures: format.Text = Localization.GetString("modsTableFormatTextures"); format.ForeColor = Color.RoyalBlue; break; @@ -167,11 +332,11 @@ private void UpdateModList() // Archive compression switch (mod.Compression) { - case Mod.ArchiveCompression.Compressed: + case ManagedMod.ArchiveCompression.Compressed: compressed.Text = Localization.GetString("yes"); compressed.ForeColor = Color.DarkGreen; break; - case Mod.ArchiveCompression.Uncompressed: + case ManagedMod.ArchiveCompression.Uncompressed: compressed.Text = Localization.GetString("no"); compressed.ForeColor = Color.Black; break; @@ -182,12 +347,12 @@ private void UpdateModList() } // Fill stuff depending on installation type - switch (mod.Type) + switch (mod.Method) { /* * Bundled *.ba2 archive */ - case Mod.FileType.BundledBA2: + case ManagedMod.DeploymentMethod.BundledBA2: // Installation type type.Text = Localization.GetString("modsTableTypeBundled"); type.ForeColor = Color.OrangeRed; @@ -198,7 +363,7 @@ private void UpdateModList() format.ForeColor = Color.Silver; // Archive name - archiveName.Text = "bundled.ba2"; + archiveName.Text = "Bundled*.ba2"; archiveName.Font = notApplicable; archiveName.ForeColor = Color.Silver; @@ -221,9 +386,9 @@ private void UpdateModList() /* * Separate *.ba2 archive */ - case Mod.FileType.SeparateBA2: + case ManagedMod.DeploymentMethod.SeparateBA2: // Installation type - if (mod.isFrozen()) + if (mod.Freeze) { type.Text = Localization.GetString("modsTableTypeSeparateFrozen"); type.ForeColor = Color.Teal; @@ -246,7 +411,7 @@ private void UpdateModList() /* * Loose files */ - case Mod.FileType.Loose: + case ManagedMod.DeploymentMethod.LooseFiles: // Installation type type.Text = Localization.GetString("modsTableTypeLoose"); type.ForeColor = Color.MediumVioletRed; @@ -305,26 +470,12 @@ private void UpdateModList() private void UpdateSettings() { - if (!IniFiles.Instance.IsLoaded()) - return; - this.checkBoxDisableMods.Checked = ManagedMods.Instance.ModsDisabled; - this.checkBoxAddArchivesAsBundled.Checked = IniFiles.Instance.GetBool(IniFile.Config, "Mods", "bUnpackBA2ByDefault", false); - this.checkBoxModsUseHardlinks.Checked = IniFiles.Instance.GetBool(IniFile.Config, "Mods", "bUseHardlinks", true); - this.checkBoxFreezeBundledArchives.Checked = IniFiles.Instance.GetBool(IniFile.Config, "Mods", "bFreezeBundledArchives", false); - - //this.textBoxGamePath.Text = Shared.GamePath; - - LoadTextBoxResourceLists(); - } + this.checkBoxDisableMods.Checked = this.Mods.ModsDisabled; + this.checkBoxAddArchivesAsBundled.Checked = IniFiles.Config.GetBool("Mods", "bUnpackBA2ByDefault", false); + this.checkBoxModsUseHardlinks.Checked = IniFiles.Config.GetBool("Mods", "bUseHardlinks", true); + this.checkBoxFreezeBundledArchives.Checked = IniFiles.Config.GetBool("Mods", "bFreezeBundledArchives", false); - private void UpdateLabel(bool success = true) - { - if (ManagedMods.Instance.isDeploymentNecessary()) - this.DisplayDeploymentNecessary(); - else if (success) - this.DisplayAllDone(); - else - this.DisplayFailState(); + LoadTextBoxResourceList(Mods.Resources); } private void UpdateSelectedIndices() @@ -336,9 +487,12 @@ private void UpdateSelectedIndices() private void RestoreSelectedIndices() { - this.listViewMods.Clear(); - foreach (int index in this.selectedIndices) - this.listViewMods.Items[index].Selected = true; + // Doesn't work. + foreach (ListViewItem item in this.listViewMods.Items) + if (selectedIndices.Contains(item.Index)) + item.Selected = true; + else + item.Selected = false; } private void EnableUI() @@ -375,66 +529,180 @@ private void ShowLoadingUI() { DisableUI(); this.tabControl1.Enabled = true; - this.pictureBoxModsLoadingGIF.Visible = true; this.tabControl1.SelectedIndex = 0; this.tabPageModsSettings.Enabled = false; + + this.pictureBoxModsLoadingGIF.Visible = true; + this.pictureBoxModsLoadingGIF.Width = this.Width; + this.pictureBoxModsLoadingGIF.Height = this.tabControl1.Height; + this.pictureBoxModsLoadingGIF.Anchor = + AnchorStyles.Top | + AnchorStyles.Bottom | + AnchorStyles.Left | + AnchorStyles.Right; } - public void ModDetailsFeedback(Mod changedMod) + #endregion + + /* + ********************************************************************************** + * Nuclear Winter mode + ********************************************************************************** + */ + + #region Nuclear Winter mode + + public void ToggleNuclearWinterMode() { - if (editedIndices.Count() == 1) - ManagedMods.Instance.Mods[editedIndex] = changedMod.CreateCopy(); + if (Mods.NuclearWinterModeEnabled) + DisableNuclearWinterMode(); else + EnableNuclearWinterMode(); + } + + public void EnableNuclearWinterMode() + { + Mods.NuclearWinterModeEnabled = true; + + // Uninstall mods: + if (!Mods.ModsDisabled && + IniFiles.Config.GetBool("NuclearWinter", "bAutoDisableMods", true)) { - foreach (int index in editedIndices) - { - if (!ManagedMods.Instance.Mods[index].isFrozen()) - { - ManagedMods.Instance.Mods[index].Type = changedMod.Type; - ManagedMods.Instance.Mods[index].Compression = changedMod.Compression; - ManagedMods.Instance.Mods[index].Format = changedMod.Format; - ManagedMods.Instance.Mods[index].RootFolder = changedMod.RootFolder; - ManagedMods.Instance.Mods[index].freeze = changedMod.freeze; - } - } + Mods.ModsDisabled = true; + this.DeployMods(); } - UpdateModList(); + + // Rename added *.dll files: + if (IniFiles.Config.GetBool("NuclearWinter", "bRenameDLLs", true)) + ModDeployment.RenameAddedDLLs(Mods.GamePath); + + // Backwards-compatibility: + IniFiles.Config.Set("NuclearWinter", "bNWMode", true); + IniFiles.Config.Set("Preferences", "bNWMode", true); + + // Save and update UI: + Mods.Save(); + TriggerNWModeUpdated(); } - public void ModDetailsClosed() + public void DisableNuclearWinterMode() { - UpdateModList(); - EnableUI(); + Mods.NuclearWinterModeEnabled = false; + + // Install mods: + if (Mods.ModsDisabled && + IniFiles.Config.GetBool("NuclearWinter", "bAutoDeployMods", true)) + { + Mods.ModsDisabled = false; + if (Mods.Count() > 0) + this.DeployMods(); + } + + // Restore added *.dll files: + ModDeployment.RestoreAddedDLLs(Mods.GamePath); + + // Backwards-compatibility: + IniFiles.Config.Set("NuclearWinter", "bNWMode", false); + IniFiles.Config.Set("Preferences", "bNWMode", false); + + // Save and update UI: + Mods.Save(); + TriggerNWModeUpdated(); } + private void TriggerNWModeUpdated() + { + if (NWModeUpdated != null) + NWModeUpdated(null, BuildNuclearWinterEventArgs()); + } + + public bool IsNuclearWinterModeEnabled() + { + return Mods.NuclearWinterModeEnabled; + } + + public void ToggleNuclearWinterModeThreaded() + { + if (Mods.NuclearWinterModeEnabled) + DisableNuclearWinterModeThreaded(); + else + EnableNuclearWinterModeThreaded(); + } + + public void EnableNuclearWinterModeThreaded() + { + Show(); + Focus(); + RunThreaded(() => { + CloseSidePanel(); + ShowLoadingUI(); + }, () => { + EnableNuclearWinterMode(); + return true; + }, (success) => { + if (success) + MsgBox.Get("nwModeDisabled").Popup(MessageBoxIcon.Information); + UpdateUI(); + EnableUI(); + Hide(); + }); + } + + public void DisableNuclearWinterModeThreaded() + { + Show(); + Focus(); + RunThreaded(() => { + CloseSidePanel(); + ShowLoadingUI(); + }, () => { + DisableNuclearWinterMode(); + return true; + }, (success) => { + if (success) + MsgBox.Get("nwModeDisabled").Popup(MessageBoxIcon.Information); + UpdateUI(); + EnableUI(); + Hide(); + }); + } + + private NuclearWinterEventArgs BuildNuclearWinterEventArgs() + { + NuclearWinterEventArgs args = new NuclearWinterEventArgs(); + args.NuclearWinterModeEnabled = Mods.NuclearWinterModeEnabled; + return args; + } + + #endregion /* + ********************************************************************************** * Event handler + ********************************************************************************** */ - private void FormMods_Load(object sender, EventArgs e) + // Deploy + private void buttonModsDeploy_Click(object sender, EventArgs e) { - IniFiles.Instance.LoadWindowState("FormMods", this); - IniFiles.Instance.LoadListViewState("FormMods", this.listViewMods); + DeployModsThreaded(); } - private void FormMods_FormClosing(object sender, FormClosingEventArgs e) + // Disable mods + private void checkBoxDisableMods_CheckedChanged(object sender, EventArgs e) { - if (e.CloseReason == CloseReason.UserClosing) - { - IniFiles.Instance.SaveWindowState("FormMods", this); - IniFiles.Instance.SaveListViewState("FormMods", this.listViewMods); - e.Cancel = true; - if (this.buttonModsDeploy.Enabled && (true || MsgBox.ShowID("modsOnCloseDeploymentNecessary", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)) - Hide(); - } + this.Mods.ModsDisabled = checkBoxDisableMods.Checked; + this.Mods.Save(); + UpdateStatusStrip(); } + #region All event handler that control the ListView + private void FormMods_KeyDown(object sender, KeyEventArgs e) { if (e.KeyCode == Keys.F1) { - // Open README + // Open guide showGuideToolStripMenuItem_Click(sender, e); } else if (e.KeyCode == Keys.F5) @@ -442,10 +710,12 @@ private void FormMods_KeyDown(object sender, KeyEventArgs e) // Reload UI: reloadUIToolStripMenuItem_Click(sender, e); } - /*else if (e.Control == true && e.Shift && e.KeyCode == Keys.F12) + + if (e.Control && e.KeyCode == Keys.S) { - FormConsole.Instance.OpenUI(); - }*/ + // Save changes: + saveToolStripMenuItem_Click(sender, e); + } // These shortcuts only apply to the mod list: if (this.listViewMods.Focused) @@ -455,11 +725,6 @@ private void FormMods_KeyDown(object sender, KeyEventArgs e) // Delete mods: toolStripButtonDeleteMod_Click(sender, e); } - else if (e.KeyCode == Keys.Enter || e.KeyCode == Keys.Return) - { - // Edit mods: - toolStripButtonModEdit_Click(sender, e); - } else if (e.Control && e.KeyCode == Keys.Up) { // Move mods up: @@ -470,133 +735,80 @@ private void FormMods_KeyDown(object sender, KeyEventArgs e) // Move mods down: toolStripButtonMoveDown_Click(sender, e); } + else if (e.Control && e.KeyCode == Keys.A) + { + // Select all: + foreach (ListViewItem item in this.listViewMods.Items) + item.Selected = true; + UpdateSelectedIndices(); + } } } private void listViewMods_SelectedIndexChanged(object sender, EventArgs e) { + if (isUpdating) + return; + if (this.listViewMods.SelectedItems.Count > 0) selectedIndex = this.listViewMods.SelectedItems[0].Index; else selectedIndex = -1; - } - private void listViewMods_MouseUp(object sender, MouseEventArgs e) - { - if (e.Button == MouseButtons.Right) - toolStripButtonModEdit_Click(sender, (EventArgs)e); - } - - // Deploy - private void buttonModsDeploy_Click(object sender, EventArgs e) - { - if (!ManagedMods.Instance.ValidateGamePath()) - { - MsgBox.ShowID("modsGamePathNotSet", MessageBoxIcon.Information); - return; - } - Thread thread = new Thread(Deploy); - thread.IsBackground = true; - thread.Start(); - } - - // Disable mods - private void checkBoxDisableMods_CheckedChanged(object sender, EventArgs e) - { - ManagedMods.Instance.ModsDisabled = checkBoxDisableMods.Checked; - DisplayDeploymentNecessary(); + // Edit mod: + UpdateSelectedIndices(); + if (selectedIndices.Count() > 0) + EditMods(selectedIndices); } // Drag & Drop void listViewMods_DragEnter(object sender, DragEventArgs e) { - if (e.Data.GetDataPresent(DataFormats.FileDrop)) e.Effect = DragDropEffects.Copy; + if (e.Data.GetDataPresent(DataFormats.FileDrop)) + e.Effect = DragDropEffects.Copy; } void listViewMods_DragDrop(object sender, DragEventArgs e) { - if (!ManagedMods.Instance.ValidateGamePath()) - { - MsgBox.ShowID("modsGamePathNotSet", MessageBoxIcon.Information); - return; - } string[] files = (string[])e.Data.GetData(DataFormats.FileDrop); - Thread thread = new Thread(() => InstallBulk(files)); - thread.IsBackground = true; - thread.Start(); + InstallBulkThreaded(files); } - /* - * Mod order buttons - */ - - // Edit mod details: - private void toolStripButtonModEdit_Click(object sender, EventArgs e) + // Mod enabled/disabled + private void listViewMods_ItemCheck(object sender, ItemCheckEventArgs e) { - UpdateSelectedIndices(); - this.editedIndex = this.selectedIndex; - this.editedIndices = this.selectedIndices.ToList(); // Make a shallow copy + if (isUpdating) + return; - int modCount = editedIndices.Count(); - if (modCount <= 0 || editedIndex < 0) + if (e.NewValue == CheckState.Checked) { - SystemSounds.Beep.Play(); - return; + Mods.EnableMod(e.Index); + listViewMods.Items[e.Index].ForeColor = Color.DarkGreen; } - - if (modCount == 1) - UpdateSidePanel(ManagedMods.Instance.Mods[editedIndex], 1); - //this.formModDetails.UpdateUI(ManagedMods.Instance.Mods[selectedIndex], 1); - else + else if (e.NewValue == CheckState.Unchecked) { - Mod bulkMod = new Mod(); - Mod fallbackMod = null; - int realModCount = 0; - foreach (int index in editedIndices) - { - Mod mod = ManagedMods.Instance.Mods[index]; - if (mod.isFrozen()) - continue; - fallbackMod = mod; - bulkMod.Type = mod.Type; - bulkMod.Compression = mod.Compression; - bulkMod.Format = mod.Format; - bulkMod.freeze = false; - realModCount++; - } - bulkMod.RootFolder = "Data"; - if (realModCount == 0) - { - SystemSounds.Beep.Play(); - return; - } - else if (realModCount == 1) - UpdateSidePanel(fallbackMod != null ? fallbackMod : ManagedMods.Instance.Mods[editedIndex], 1); - //this.formModDetails.UpdateUI(fallbackMod != null ? fallbackMod : ManagedMods.Instance.Mods[editedIndex], 1); - else - UpdateSidePanel(bulkMod, realModCount); - //this.formModDetails.UpdateUI(bulkMod, realModCount); + Mods.DisableMod(e.Index); + listViewMods.Items[e.Index].ForeColor = Color.DarkRed; } - //DisableUI_SidePanelOpen(); - //Utils.SetFormPosition(this.formModDetails, this.Location.X + (int)(this.Width / 2 - this.formModDetails.Width / 2), this.Location.Y + (int)(this.Height / 2 - this.formModDetails.Height / 2)); - //this.formModDetails.Show(); + UpdateStatusStrip(); + if (sidePanelStatus != SidePanelStatus.Closed) + UpdateSidePanel(); } + #endregion + + #region Toolstrip event handler + // Open mod folder: private void toolStripButtonModOpenFolder_Click(object sender, EventArgs e) { - if (!ManagedMods.Instance.ValidateGamePath()) - { - MsgBox.ShowID("modsGamePathNotSet", MessageBoxIcon.Information); - return; - } UpdateSelectedIndices(); if (selectedIndices.Count > 0) { foreach (int index in selectedIndices) { - String path = ManagedMods.Instance.Mods[index].GetManagedPath(); + string path = Mods[index].ManagedFolderPath; if (Directory.Exists(path)) Utils.OpenExplorer(path); else @@ -605,7 +817,7 @@ private void toolStripButtonModOpenFolder_Click(object sender, EventArgs e) } else { - String path = Path.Combine(Shared.GamePath, "Mods"); + string path = Path.Combine(this.game.GamePath, "Mods"); if (Directory.Exists(path)) Utils.OpenExplorer(path); } @@ -615,76 +827,56 @@ private void toolStripButtonModOpenFolder_Click(object sender, EventArgs e) private void toolStripButtonMoveUp_Click(object sender, EventArgs e) { UpdateSelectedIndices(); - CloseSidePanel(); + //CloseSidePanel(); /*if (selectedIndex < 0) return; selectedIndex = ManagedMods.Instance.MoveModUp(selectedIndex);*/ + List newSelectedIndices = new List(); if (selectedIndices.Count <= 0) return; else if (selectedIndices.Count == 1) { - selectedIndex = ManagedMods.Instance.MoveModUp(selectedIndex); - selectedIndices.Clear(); + selectedIndex = Mods.MoveModUp(selectedIndex); + newSelectedIndices.Add(selectedIndex); } else { selectedIndex = -1; selectedIndices = selectedIndices.OrderBy(i => i).ToList(); - List newSelectedIndices = new List(); foreach (int index in selectedIndices) - newSelectedIndices.Add(ManagedMods.Instance.MoveModUp(index)); - selectedIndices = newSelectedIndices; + newSelectedIndices.Add(Mods.MoveModUp(index)); } + selectedIndices = newSelectedIndices; UpdateModList(); - UpdateLabel(); + UpdateStatusStrip(); } // Move down private void toolStripButtonMoveDown_Click(object sender, EventArgs e) { UpdateSelectedIndices(); - CloseSidePanel(); + //CloseSidePanel(); /*if (selectedIndex < 0) return; selectedIndex = ManagedMods.Instance.MoveModDown(selectedIndex);*/ + List newSelectedIndices = new List(); if (selectedIndices.Count <= 0) return; else if (selectedIndices.Count == 1) { - selectedIndex = ManagedMods.Instance.MoveModDown(selectedIndex); - selectedIndices.Clear(); + selectedIndex = Mods.MoveModDown(selectedIndex); + newSelectedIndices.Add(selectedIndex); } else { selectedIndex = -1; selectedIndices = selectedIndices.OrderByDescending(i => i).ToList(); - List newSelectedIndices = new List(); foreach (int index in selectedIndices) - newSelectedIndices.Add(ManagedMods.Instance.MoveModDown(index)); - selectedIndices = newSelectedIndices; + newSelectedIndices.Add(Mods.MoveModDown(index)); } + selectedIndices = newSelectedIndices; UpdateModList(); - UpdateLabel(); - } - - // Mod enabled/disabled - private void listViewMods_ItemCheck(object sender, ItemCheckEventArgs e) - { - if (isUpdating) - return; - - if (e.NewValue == CheckState.Checked) - { - ManagedMods.Instance.EnableMod(e.Index); - listViewMods.Items[e.Index].ForeColor = Color.DarkGreen; - } - else if (e.NewValue == CheckState.Unchecked) - { - ManagedMods.Instance.DisableMod(e.Index); - listViewMods.Items[e.Index].ForeColor = Color.DarkRed; - } - - UpdateLabel(); + UpdateStatusStrip(); } // Check/uncheck all @@ -703,8 +895,8 @@ private void toolStripButtonCheckAll_Click(object sender, EventArgs e) break; } } - foreach (Mod mod in ManagedMods.Instance.Mods) - mod.isEnabled = state; + foreach (ManagedMod mod in Mods) + mod.Enabled = state; } else { @@ -717,125 +909,70 @@ private void toolStripButtonCheckAll_Click(object sender, EventArgs e) } } foreach (ListViewItem item in this.listViewMods.SelectedItems) - ManagedMods.Instance.Mods[item.Index].isEnabled = state; + Mods[item.Index].Enabled = state; } + UpdateSelectedIndices(); UpdateModList(); - UpdateLabel(); + UpdateStatusStrip(); + if (sidePanelStatus != SidePanelStatus.Closed) + UpdateSidePanel(); } // Delete mod private void toolStripButtonDeleteMod_Click(object sender, EventArgs e) { - bool deleteAccepted = false; if (selectedIndex < 0) return; if (this.listViewMods.SelectedItems.Count > 1) { - DialogResult res = MsgBox.Get("modsDeleteBulkBtn").FormatText(this.listViewMods.SelectedItems.Count.ToString()).Show(MessageBoxButtons.YesNo, MessageBoxIcon.Question); + string count = this.listViewMods.SelectedItems.Count.ToString(); + DialogResult res = MsgBox.Get("deleteMultipleQuestion").FormatTitle(count).FormatText(count).Show(MessageBoxButtons.YesNo, MessageBoxIcon.Question); if (res == DialogResult.Yes) { - deleteAccepted = true; List indices = new List(); foreach (ListViewItem item in this.listViewMods.SelectedItems) indices.Add(item.Index); - Thread thread = new Thread(() => DeleteModsBulk(indices)); - thread.IsBackground = true; - thread.Start(); + DeleteModsBulkThreaded(indices); } } else { - Mod mod = ManagedMods.Instance.Mods[selectedIndex]; - DialogResult res = MsgBox.Get("modsDeleteBtn").FormatText(mod.Title).Show(MessageBoxButtons.YesNo, MessageBoxIcon.Question); + ManagedMod mod = Mods[selectedIndex]; + DialogResult res = MsgBox.Get("deleteQuestion").FormatTitle(mod.Title).FormatText(mod.Title).Show(MessageBoxButtons.YesNo, MessageBoxIcon.Question); if (res == DialogResult.Yes) - { - deleteAccepted = true; - Thread thread = new Thread(() => DeleteMod(selectedIndex)); - thread.IsBackground = true; - thread.Start(); - } + DeleteModThreaded(selectedIndex); } - if (deleteAccepted) - CloseSidePanel(); } // Add mod archive private void toolStripButtonAddMod_Click(object sender, EventArgs e) { - if (!ManagedMods.Instance.ValidateGamePath()) - { - MsgBox.ShowID("modsGamePathNotSet", MessageBoxIcon.Information); - return; - } if (this.openFileDialogMod.ShowDialog() == DialogResult.OK) - { - Thread thread = new Thread(() => InstallModArchive(this.openFileDialogMod.FileName)); - thread.IsBackground = true; - thread.Start(); - - CloseSidePanel(); - } + InstallModArchiveThreaded(this.openFileDialogMod.FileName, false); } // Add mod folder private void toolStripButtonAddModFolder_Click(object sender, EventArgs e) { - if (!ManagedMods.Instance.ValidateGamePath()) - { - MsgBox.ShowID("modsGamePathNotSet", MessageBoxIcon.Information); - return; - } if (this.folderBrowserDialogMod.ShowDialog() == DialogResult.OK) - { - Thread thread = new Thread(() => InstallModFolder(this.folderBrowserDialogMod.SelectedPath)); - thread.IsBackground = true; - thread.Start(); - - CloseSidePanel(); - } - } - - // Add frozen mod archive (*.ba2) - private void toolStripButtonAddModFrozen_Click(object sender, EventArgs e) - { - if (!ManagedMods.Instance.ValidateGamePath()) - { - MsgBox.ShowID("modsGamePathNotSet", MessageBoxIcon.Information); - return; - } - if (this.openFileDialogBA2.ShowDialog() == DialogResult.OK) - { - Thread thread = new Thread(() => InstallModArchiveFrozen(this.openFileDialogBA2.FileName)); - thread.IsBackground = true; - thread.Start(); - - CloseSidePanel(); - } - } - - // Unfreeze - private void toolStripButtonUnfreeze_Click(object sender, EventArgs e) - { - if (!ManagedMods.Instance.ValidateGamePath()) - { - MsgBox.ShowID("modsGamePathNotSet", MessageBoxIcon.Information); - return; - } - List indices = new List(); - foreach (ListViewItem item in this.listViewMods.SelectedItems) - indices.Add(item.Index); - Thread thread = new Thread(() => UnfreezeBulkMods(indices)); - thread.IsBackground = true; - thread.Start(); - CloseSidePanel(); + InstallModFolderThreaded(this.folderBrowserDialogMod.SelectedPath); } + #endregion + #region Menustrip /* * Menu */ + // File > Add mod > Empty mod + private void emptyModToolStripMenuItem_Click(object sender, EventArgs e) + { + ModInstallations.InstallBlank(Mods); + UpdateModList(); + } + // File > Add mod > From archive private void fromArchiveToolStripMenuItem_Click(object sender, EventArgs e) { @@ -851,20 +988,16 @@ private void fromFolderToolStripMenuItem_Click(object sender, EventArgs e) // File > Add mod > From *.ba2 archive (frozen) private void fromba2ArchivefrozenToolStripMenuItem_Click(object sender, EventArgs e) { - toolStripButtonAddModFrozen_Click(sender, e); + if (this.openFileDialogBA2.ShowDialog() == DialogResult.OK) + InstallModArchiveThreaded(this.openFileDialogBA2.FileName, true); } // File > Import installed mods private void toolStripMenuItemModsImport_Click(object sender, EventArgs e) { - if (!ManagedMods.Instance.ValidateGamePath()) - { - MsgBox.ShowID("modsGamePathNotSet", MessageBoxIcon.Information); - return; - } if (MsgBox.ShowID("modsImportQuestion", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) { - ManagedMods.Instance.ImportInstalledMods(); + ImportInstalledModsThreaded(UpdateProgress); this.UpdateModList(); CloseSidePanel(); @@ -877,23 +1010,32 @@ private void deployToolStripMenuItem_Click(object sender, EventArgs e) buttonModsDeploy_Click(sender, e); } + // File > Save + private void saveToolStripMenuItem_Click(object sender, EventArgs e) + { + Mods.Save(); + this.labelModsDeploy.Text = "Changes saved."; + this.labelModsDeploy.ForeColor = Color.DarkGreen; + } + // View > Show conflicting files private void showConflictingFilesToolStripMenuItem_Click(object sender, EventArgs e) { - List conflicts = ManagedMods.Instance.GetConflictingFiles(); + // TODO: "Show conflicting files"... uhhh, well. As long as it works, I guess? + List conflicts = ModHelpers.GetConflictingFiles(Mods.Mods); if (conflicts.Count == 0) { MsgBox.ShowID("modsNoConflictingFiles", MessageBoxIcon.Information); return; } - String tempFile = Path.GetTempFileName(); + string tempFile = Path.GetTempFileName(); using (StreamWriter f = File.AppendText(tempFile)) { f.WriteLine("Conflicting mods:"); - foreach (ManagedMods.Conflict conflict in conflicts) + foreach (ModHelpers.Conflict conflict in conflicts) { - f.WriteLine("\n* " +conflict.conflictText + " (" + conflict.conflictingFiles.Count + " conflicting file" + (conflict.conflictingFiles.Count == 1 ? "" : "s") + ")"); - foreach (String conflictingFile in conflict.conflictingFiles) + f.WriteLine("\n* " + conflict.conflictText + " (" + conflict.conflictingFiles.Count + " conflicting file" + (conflict.conflictingFiles.Count == 1 ? "" : "s") + ")"); + foreach (string conflictingFile in conflict.conflictingFiles) f.WriteLine(" -> " + conflictingFile); } } @@ -905,6 +1047,28 @@ private void showConflictingFilesToolStripMenuItem_Click(object sender, EventArg private void reloadUIToolStripMenuItem_Click(object sender, EventArgs e) { this.UpdateUI(); + if (this.sidePanelStatus != SidePanelStatus.Closed) + UpdateSidePanel(); + } + + // View > Show loading animation + private void showLoadingAnimationToolStripMenuItem_Click(object sender, EventArgs e) + { + RunThreaded(() => { + ShowLoadingUI(); + }, () => { + for (int i = 1; i <= 5 * 2; i++) + { + this.progressBarMods.Invoke(new Action(() => { + this.progressBarMods.Value = (int)((float)i * 100 / 10); + })); + Thread.Sleep(500); + } + return true; + }, (success) => { + this.progressBarMods.Value = 0; + EnableUI(); + }); } // Tools > Archive2 > Open Archive2 @@ -922,354 +1086,568 @@ private void exploreba2ArchiveToolStripMenuItem_Click(object sender, EventArgs e } } - // Help > Show README - private void showGuideToolStripMenuItem_Click(object sender, EventArgs e) + // Tools > NexusMods > Update mod information + private void updateModInformationToolStripMenuItem_Click(object sender, EventArgs e) { - System.Diagnostics.Process.Start("https://www.nexusmods.com/fallout76/articles/40"); - // https://www.nexusmods.com/fallout76/mods/546 - // https://felisdiligens.github.io/Fo76ini/ManageMods.html + UpdateRemoteModInfoThreaded(); + } + + // Tools > NexusMods > Endorse mods + private void endorseModsToolStripMenuItem_Click(object sender, EventArgs e) + { + if (MsgBox.ShowID("nexusModsEndorseAllQuestion", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) + EndorseModsThreaded(); } - private void showREADMEToolStripMenuItem_Click(object sender, EventArgs e) + // Tools > NexusMods > Check for updates + private void checkForUpdatesToolStripMenuItem_Click(object sender, EventArgs e) { - System.Diagnostics.Process.Start("https://www.nexusmods.com/fallout76/mods/546"); + CheckForUpdatesThreaded(); + } + + // Help > Show guide + private void showGuideToolStripMenuItem_Click(object sender, EventArgs e) + { + Process.Start("https://github.com/FelisDiligens/Fallout76-QuickConfiguration/wiki/Mod-Manager-Guide"); + // Previous pages: + // https://www.nexusmods.com/fallout76/articles/40 + // https://www.nexusmods.com/fallout76/mods/546 + // https://felisdiligens.github.io/Fo76ini/ManageMods.html + // Well, I have moved info pages a lot, lol. } // Help > Log files > Show modmanager.log.txt private void showModmanagerlogtxtToolStripMenuItem_Click(object sender, EventArgs e) { - if (File.Exists(ManagedMods.Instance.logFile.GetFilePath())) - Utils.OpenNotepad(ManagedMods.Instance.logFile.GetFilePath()); + if (File.Exists(ModDeployment.LogFile.GetFilePath())) + Utils.OpenNotepad(ModDeployment.LogFile.GetFilePath()); } // Help > Log files > Show archive2.log.txt private void showArchive2logtxtToolStripMenuItem_Click(object sender, EventArgs e) { - if (File.Exists(Archive2.logFile.GetFilePath())) - Utils.OpenNotepad(Archive2.logFile.GetFilePath()); + if (File.Exists(Archive2.LogFile.GetFilePath())) + Utils.OpenNotepad(Archive2.LogFile.GetFilePath()); } + #endregion /* * Settings */ - private void LoadTextBoxResourceLists() + #region Resource list textboxes + private void LoadTextBoxResourceList(ResourceList list) { - this.textBoxsResourceIndexFileList.Text = String.Join(Environment.NewLine, ManagedMods.Instance.LoadResourceList("sResourceIndexFileList")); - this.textBoxsResourceArchive2List.Text = String.Join(Environment.NewLine, ManagedMods.Instance.LoadResourceList("sResourceArchive2List")); + this.textBoxResourceList.Text = list.ToString("\n").Replace("\n", "\r\n"); } // Clean lists - private void buttonModsCleanLists_Click(object sender, EventArgs e) + private void buttonModsCleanList_Click(object sender, EventArgs e) { - List sResourceIndexFileList = this.textBoxsResourceIndexFileList.Text.Replace(Environment.NewLine, "\n").Split(new char[] { '\n', ',' }, StringSplitOptions.RemoveEmptyEntries).Distinct().Select(x => x.Trim()).ToList(); - List sResourceArchive2List = this.textBoxsResourceArchive2List.Text.Replace(Environment.NewLine, "\n").Split(new char[] { '\n', ',' }, StringSplitOptions.RemoveEmptyEntries).Distinct().Select(x => x.Trim()).ToList(); + // Load list: + ResourceList list = ResourceList.FromString(this.textBoxResourceList.Text.Replace("\r\n", "\n")); - String[] temp = new String[sResourceIndexFileList.Count()]; - sResourceIndexFileList.CopyTo(temp); - foreach (String ba2file in temp) - { - Console.WriteLine(ba2file); - if (!File.Exists(Path.Combine(Shared.GamePath, "Data", ba2file))) - sResourceIndexFileList.Remove(ba2file); - } + // Remove non-existing files: + list.CleanUp(this.game.GamePath); - temp = new String[sResourceArchive2List.Count()]; - sResourceArchive2List.CopyTo(temp); - foreach (String ba2file in temp) - { - if (!File.Exists(Path.Combine(Shared.GamePath, "Data", ba2file))) - sResourceArchive2List.Remove(ba2file); - if (sResourceIndexFileList.Contains(ba2file)) - sResourceArchive2List.Remove(ba2file); - } - this.textBoxsResourceIndexFileList.Text = String.Join(Environment.NewLine, sResourceIndexFileList); - this.textBoxsResourceArchive2List.Text = String.Join(Environment.NewLine, sResourceArchive2List); + LoadTextBoxResourceList(list); } // Apply changes - private void buttonModsApplyTextBoxes_Click(object sender, EventArgs e) + private void buttonModsApplyTextBox_Click(object sender, EventArgs e) { - /*IniFile iniFile = ManagedMods.Instance.WriteToF76Custom ? IniFile.F76Custom : IniFile.Config; - IniFiles.Instance.Set(iniFile, "Archive", "sResourceArchive2List", String.Join(",", this.textBoxsResourceArchive2List.Text.Replace(Environment.NewLine, "\n").Split(new char[] { '\n', ',' }, StringSplitOptions.RemoveEmptyEntries))); - IniFiles.Instance.Set(iniFile, "Archive", "sResourceIndexFileList", String.Join(",", this.textBoxsResourceIndexFileList.Text.Replace(Environment.NewLine, "\n").Split(new char[] { '\n', ',' }, StringSplitOptions.RemoveEmptyEntries)));*/ - ManagedMods.Instance.logFile.WriteLine("\n\nSaving changes to resource lists..."); - ManagedMods.Instance.SaveResourceList("sResourceIndexFileList", this.textBoxsResourceIndexFileList.Text.Replace(Environment.NewLine, "\n").Split(new char[] { '\n', ',' }, StringSplitOptions.RemoveEmptyEntries).ToList()); - ManagedMods.Instance.SaveResourceList("sResourceArchive2List", this.textBoxsResourceArchive2List.Text.Replace(Environment.NewLine, "\n").Split(new char[] { '\n', ',' }, StringSplitOptions.RemoveEmptyEntries).ToList()); - ManagedMods.Instance.CopyINILists(); - IniFiles.Instance.SaveAll(); + ResourceList list = ResourceList.FromString(this.textBoxResourceList.Text.Replace("\r\n", "\n")); + Mods.Resources.ReplaceRange(list); + Mods.Save(); + LoadTextBoxResourceList(Mods.Resources); } // Reset - private void buttonModsResetTextboxes_Click(object sender, EventArgs e) + private void buttonModsResetTextbox_Click(object sender, EventArgs e) { - LoadTextBoxResourceLists(); + LoadTextBoxResourceList(Mods.Resources); } + #endregion - /*public void ChangeGameEdition(GameEdition gameEdition) - { - ManagedMods.Instance.CopyINILists(); - ManagedMods.Instance.Unload(); - IniFiles.Instance.Set(IniFile.Config, "Preferences", "uGameEdition", (uint)gameEdition); - ManagedMods.Instance.GameEdition = gameEdition; - Shared.GamePath = IniFiles.Instance.GetString(IniFile.Config, "Preferences", Shared.GamePathKey, ""); - //this.textBoxGamePath.Text = Shared.GamePath; - ManagedMods.Instance.Load(); - UpdateUI(); - }*/ - + #region Settings - Checkboxes // Alternative *.ba2 import method private void checkBoxAddArchivesAsBundled_CheckedChanged(object sender, EventArgs e) { - IniFiles.Instance.Set(IniFile.Config, "Mods", "bUnpackBA2ByDefault", this.checkBoxAddArchivesAsBundled.Checked); - IniFiles.Instance.SaveConfig(); + IniFiles.Config.Set("Mods", "bUnpackBA2ByDefault", this.checkBoxAddArchivesAsBundled.Checked); + IniFiles.Config.Save(); } // Hard links private void checkBoxModsUseHardlinks_CheckedChanged(object sender, EventArgs e) { - IniFiles.Instance.Set(IniFile.Config, "Mods", "bUseHardlinks", this.checkBoxModsUseHardlinks.Checked); - IniFiles.Instance.SaveConfig(); + IniFiles.Config.Set("Mods", "bUseHardlinks", this.checkBoxModsUseHardlinks.Checked); + IniFiles.Config.Save(); } // Freeze bundled archives private void checkBoxFreezeBundledArchives_CheckedChanged(object sender, EventArgs e) { - IniFiles.Instance.Set(IniFile.Config, "Mods", "bFreezeBundledArchives", this.checkBoxFreezeBundledArchives.Checked); - IniFiles.Instance.SaveConfig(); + IniFiles.Config.Set("Mods", "bFreezeBundledArchives", this.checkBoxFreezeBundledArchives.Checked); + IniFiles.Config.Save(); } + #endregion - private void checkBoxModsWriteSResourceDataDirsFinal_CheckedChanged(object sender, EventArgs e) - { - ManagedMods.Instance.WriteDataDirs = this.checkBoxModsWriteSResourceDataDirsFinal.Checked; - IniFiles.Instance.Set(IniFile.Config, "Mods", "bWriteSResourceDataDirsFinal", this.checkBoxModsWriteSResourceDataDirsFinal.Checked); - IniFiles.Instance.SaveConfig(); - } /* - * Threads + ********************************************************************************** + * Threaded methods + ********************************************************************************** */ + #region Threaded methods - private void InstallModArchive(String path) - { - Invoke(() => DisableUI()); - Invoke(() => ProgressBarMarquee()); - ManagedMods.Instance.InstallModArchive(path, - (text, percent) => { - Invoke(() => Display(text)); - }, - (success) => { - Invoke(() => ProgressBarContinuous(100)); - Invoke(() => HideLabel()); - Invoke(() => EnableUI()); - Invoke(() => selectedIndex = ManagedMods.Instance.Mods.Count - 1); - Invoke(() => UpdateModList()); - Invoke(() => UpdateLabel(success)); + private void InstallModArchiveThreaded(string path, bool freeze) + { + RunThreaded(() => { + DisableUI(); + CloseSidePanel(); + }, () => { + try + { + ModInstallations.InstallArchive(Mods, path, freeze, UpdateProgress); + } + catch (Archive2RequirementsException exc) + { + MsgBox.ShowID("archive2InstallRequirements", MessageBoxIcon.Error); + UpdateProgress(Progress.Aborted("Archive2 installation requirements not met.", exc)); + return false; + } + catch (Archive2Exception exc) + { + MsgBox.ShowID("archive2Error", MessageBoxIcon.Error); + UpdateProgress(Progress.Aborted("Archive2 error", exc)); + return false; } - ); - } - - private void InstallModArchiveFrozen(String path) - { - Invoke(() => DisableUI()); - Invoke(() => ProgressBarMarquee()); - ManagedMods.Instance.InstallModArchiveFrozen(path, - (text, percent) => { - Invoke(() => Display(text)); - }, - (success) => { - Invoke(() => ProgressBarContinuous(100)); - Invoke(() => HideLabel()); - Invoke(() => EnableUI()); - Invoke(() => selectedIndex = ManagedMods.Instance.Mods.Count - 1); - Invoke(() => UpdateModList()); - Invoke(() => UpdateLabel(success)); + catch (NotSupportedException exc) + { + MsgBox.ShowID("modsArchiveTypeNotSupported", MessageBoxIcon.Error); + UpdateProgress(Progress.Aborted("Failed", exc)); + return false; } - ); - } - - private void InstallModFolder(String path) - { - Invoke(() => DisableUI()); - Invoke(() => ProgressBarContinuous(0)); - ManagedMods.Instance.InstallModFolder(path, - (text, percent) => { - Invoke(() => Display(text)); - Invoke(() => { if (percent >= 0) { ProgressBarContinuous(percent); } else { ProgressBarMarquee(); } }); - }, - (success) => { - Invoke(() => ProgressBarContinuous(100)); - Invoke(() => HideLabel()); - Invoke(() => EnableUI()); - Invoke(() => selectedIndex = ManagedMods.Instance.Mods.Count - 1); - Invoke(() => UpdateModList()); - Invoke(() => UpdateLabel(success)); + catch (Exception exc) + { + MsgBox.Get("failed").FormatText(exc.Message).Show(MessageBoxIcon.Error); + UpdateProgress(Progress.Aborted("Failed", exc)); + return false; } - ); + return true; + }, (success) => { + EnableUI(); + if (success) + { + selectedIndex = Mods.Count - 1; + selectedIndices.Clear(); + selectedIndices.Add(selectedIndex); + } + UpdateModList(); + UpdateStatusStrip(); + }); } - private void InstallBulk(String[] files) + private void InstallModFolderThreaded(string path) { - foreach (string filePath in files) - { - bool unpackBA2ByDefault = IniFiles.Instance.GetBool(IniFile.Config, "Mods", "bUnpackBA2ByDefault", false); - String fullFilePath = Path.GetFullPath(filePath); - if (fullFilePath.Length > 259 && Directory.Exists(@"\\?\" + fullFilePath)) - fullFilePath = @"\\?\" + fullFilePath; + RunThreaded(() => { + DisableUI(); + CloseSidePanel(); + }, () => { try { - if (Directory.Exists(fullFilePath)) - InstallModFolder(fullFilePath); - else if ((new String[] { ".zip", ".rar", ".7z", ".tar", ".tar.gz", ".gz" }).Contains(Path.GetExtension(fullFilePath))) - InstallModArchive(fullFilePath); - else if (Path.GetExtension(fullFilePath).ToLower() == ".ba2") - { - if (unpackBA2ByDefault) - InstallModArchive(fullFilePath); - else - InstallModArchiveFrozen(fullFilePath); - } - else - MsgBox.Get("modsArchiveTypeNotSupported").FormatText(Path.GetExtension(fullFilePath)).Show(MessageBoxIcon.Error); + ModInstallations.InstallFolder(Mods, path, UpdateProgress); + } + catch (Archive2RequirementsException exc) + { + MsgBox.ShowID("archive2InstallRequirements", MessageBoxIcon.Error); + UpdateProgress(Progress.Aborted("Archive2 installation requirements not met.", exc)); + return false; + } + catch (Archive2Exception exc) + { + MsgBox.ShowID("archive2Error", MessageBoxIcon.Error); + UpdateProgress(Progress.Aborted("Archive2 error", exc)); + return false; + } + catch (Exception exc) + { + MsgBox.Get("failed").FormatText(exc.Message).Show(MessageBoxIcon.Error); + UpdateProgress(Progress.Aborted("Failed", exc)); + return false; + } + return true; + }, (success) => { + EnableUI(); + if (success) + { + selectedIndex = Mods.Count - 1; + selectedIndices.Clear(); + selectedIndices.Add(selectedIndex); } - catch (FileNotFoundException exc) + UpdateModList(); + UpdateStatusStrip(); + }); + } + + private void InstallBulkThreaded(string[] files) + { + RunThreaded(() => { + DisableUI(); + CloseSidePanel(); + }, () => { + try + { + InstallBulk(files); + } + catch (Archive2RequirementsException exc) { - Console.WriteLine($"File not found: ({fullFilePath.Length}) {exc.Message}"); + MsgBox.ShowID("archive2InstallRequirements", MessageBoxIcon.Error); + UpdateProgress(Progress.Aborted("Archive2 installation requirements not met.", exc)); + return false; } + catch (Archive2Exception exc) + { + MsgBox.ShowID("archive2Error", MessageBoxIcon.Error); + UpdateProgress(Progress.Aborted("Archive2 error", exc)); + return false; + } + catch (NotSupportedException exc) + { + MsgBox.ShowID("modsArchiveTypeNotSupported", MessageBoxIcon.Error); + UpdateProgress(Progress.Aborted("Failed", exc)); + return false; + } + catch (Exception exc) + { + MsgBox.Get("failed").FormatText(exc.Message).Show(MessageBoxIcon.Error); + UpdateProgress(Progress.Aborted("Failed", exc)); + return false; + } + return true; + }, (success) => { + EnableUI(); + if (success) + { + selectedIndex = -1; + selectedIndices.Clear(); + UpdateProgress(Progress.Done("Mods imported.")); + } + UpdateModList(); + UpdateStatusStrip(); + }); + } + + private void InstallBulk(string[] files) + { + bool unpackBA2ByDefault = IniFiles.Config.GetBool("Mods", "bUnpackBA2ByDefault", false); + int i = 0; + foreach (string filePath in files) + { + UpdateProgress(Progress.Ongoing($"Importing {++i} of {files.Length} files/folders...", (float)i / (float)files.Length)); + string longFilePath = ModInstallations.EnsureLongPathSupport(filePath); + if (Directory.Exists(longFilePath)) + ModInstallations.InstallFolder(Mods, filePath); + else + ModInstallations.InstallArchive(Mods, filePath, !unpackBA2ByDefault); } } - private void UnfreezeBulkMods(List indices) + private void DeleteModThreaded(int index) { - Invoke(DisableUI); - ManagedMods.Instance.UnfreezeMods(indices, - (text, percent) => { - Invoke(() => Display(text)); - Invoke(() => { if (percent >= 0) { ProgressBarContinuous(percent); } else { ProgressBarMarquee(); } }); - }, - () => { - Invoke(() => EnableUI()); - Invoke(() => UpdateModList()); - Invoke(() => UpdateLabel()); + RunThreaded(() => { + CloseSidePanel(); + DisableUI(); + }, () => { + ModActions.DeleteMod(Mods, index, UpdateProgress); + return true; + }, (success) => { + EnableUI(); + if (success) + { + selectedIndex = -1; + selectedIndices.Clear(); } - ); + UpdateModList(); + UpdateStatusStrip(); + }); } - private void DeleteMod(int index) + private void DeleteModsBulkThreaded(List indices) { - Invoke(() => DisableUI()); - Invoke(() => ProgressBarMarquee()); - ManagedMods.Instance.DeleteMod(index, () => { - Invoke(() => ProgressBarContinuous(100)); - Invoke(() => EnableUI()); - Invoke(() => selectedIndex = -1); - Invoke(() => UpdateModList()); - Invoke(() => UpdateLabel()); + RunThreaded(() => { + CloseSidePanel(); + DisableUI(); + }, () => { + ModActions.DeleteMods(Mods, indices, UpdateProgress); + return true; + }, (success) => { + EnableUI(); + if (success) + { + selectedIndex = -1; + selectedIndices.Clear(); + } + UpdateModList(); + UpdateStatusStrip(); }); } - private void DeleteModsBulk(List indices) + private bool DeployMods() { - Invoke(() => DisableUI()); - Invoke(() => ProgressBarMarquee()); - ManagedMods.Instance.DeleteMods(indices, () => { - Invoke(() => ProgressBarContinuous(100)); - Invoke(() => EnableUI()); - Invoke(() => selectedIndex = -1); - Invoke(() => UpdateModList()); - Invoke(() => UpdateLabel()); + try + { + bool invalidateBundledFrozenArchives = true; + if (IniFiles.Config.GetBool("Mods", "bFreezeBundledArchives", false)) + invalidateBundledFrozenArchives = MsgBox.Get("modsRepackFrozenBundledArchives").Show(MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes; + ModDeployment.Deploy(Mods, UpdateProgress, invalidateBundledFrozenArchives); + } + catch (Archive2RequirementsException exc) + { + MsgBox.ShowID("archive2InstallRequirements", MessageBoxIcon.Error); + UpdateProgress(Progress.Aborted("Archive2 installation requirements not met.", exc)); + return false; + } + catch (Archive2Exception exc) + { + MsgBox.ShowID("archive2Error", MessageBoxIcon.Error); + UpdateProgress(Progress.Aborted("Archive2 error", exc)); + return false; + } + catch (Exception exc) + { + MsgBox.Get("failed").FormatText(exc.Message).Show(MessageBoxIcon.Error); + UpdateProgress(Progress.Aborted("Failed", exc)); + return false; + } + return true; + } + + private void DeployModsThreaded() + { + RunThreaded(() => { + CloseSidePanel(); + ShowLoadingUI(); + }, () => { + return DeployMods(); + }, (success) => { + if (success) + { + if (Mods.ModsDisabled) + MsgBox.Get("modsDisabledDone").Popup(MessageBoxIcon.Information); + else + MsgBox.Get("modsDeployedDone").Popup(MessageBoxIcon.Information); + } + else + { + MsgBox.Get("modsDeploymentFailed").Popup(MessageBoxIcon.Information); + } + UpdateUI(); + EnableUI(); }); } - public void Deploy() - { - Invoke(() => this.pictureBoxModsLoadingGIF.Visible = true); - Invoke(() => ShowLoadingUI()); - Invoke(() => ProgressBarContinuous(0)); - Invoke(() => Display("Deploying...")); - ManagedMods.Instance.Deploy( - (text, percent) => { - Invoke(() => Display(text)); - Invoke(() => { if (percent >= 0) { ProgressBarContinuous(percent); } else { ProgressBarMarquee(); } }); - }, - (success) => { - Invoke(() => { - UpdateUI(); - ProgressBarContinuous(100); - EnableUI(); - this.pictureBoxModsLoadingGIF.Visible = false; - - if (success) - { - DisplayAllDone(); + private void UpdateRemoteModInfoThreaded() + { + if (!NexusMods.User.IsLoggedIn) + { + MsgBox.ShowID("nexusModsNotLoggedIn", MessageBoxIcon.Information); + return; + } + RunThreaded(() => { + CloseSidePanel(); + ShowLoadingUI(); + }, () => { + UpdateRemoteModInfo(UpdateProgress); + return true; + }, (success) => { + EnableUI(); + UpdateUI(); + }); + } - if (ManagedMods.Instance.ModsDisabled) - MsgBox.Get("modsDisabledDone").Popup(MessageBoxIcon.Information); - else - MsgBox.Get("modsDeployedDone").Popup(MessageBoxIcon.Information); - } - else - { - DisplayFailState(); - MsgBox.Get("modsDeploymentFailed").Popup(MessageBoxIcon.Information); - } - }); + private void CheckForUpdatesThreaded() + { + if (!NexusMods.User.IsLoggedIn) + { + MsgBox.ShowID("nexusModsNotLoggedIn", MessageBoxIcon.Information); + return; + } + RunThreaded(() => { + CloseSidePanel(); + ShowLoadingUI(); + }, () => { + UpdateRemoteModInfo(UpdateProgress); + return true; + }, (success) => { + EnableUI(); + UpdateModList(); + UpdateStatusStrip(); + + // TODO: Check for updates could be so much better. + List modsWithUpdates = new List(); + foreach (ManagedMod mod in Mods) + if (mod.RemoteInfo != null && Utils.CompareVersions(mod.Version, mod.RemoteInfo.LatestVersion) < 0) + modsWithUpdates.Add($"{mod.Title} (updated from {mod.Version} to {mod.RemoteInfo.LatestVersion})"); + + if (modsWithUpdates.Count() > 0) + { + MsgBox.Show("Updates available", $"{modsWithUpdates.Count()} updates found:\n\n{String.Join("\n", modsWithUpdates)}", MessageBoxIcon.Information); + } + else + { + MsgBox.Show("Up to date", "No updates found.", MessageBoxIcon.Information); } - ); + }); + } + + private void EndorseModsThreaded() + { + if (!NexusMods.User.IsLoggedIn) + { + MsgBox.ShowID("nexusModsNotLoggedIn", MessageBoxIcon.Information); + return; + } + RunThreaded(() => { + CloseSidePanel(); + DisableUI(); + }, () => { + EndorseMods(UpdateProgress); + return true; + }, (success) => { + EnableUI(); + }); } - private void Invoke(Action func) + private void EndorseMods(Action ProgressChanged = null) { - this.progressBarMods.Invoke(func); + int i = 0; + foreach (ManagedMod mod in Mods) + { + i++; + if (mod.RemoteInfo != null && mod.Version != null && mod.Version != "" && mod.RemoteInfo.Endorsement != NMMod.EndorseStatus.Endorsed) + { + mod.RemoteInfo.Endorse(mod.Version); + ProgressChanged?.Invoke(Progress.Ongoing($"Endorsing \"{mod.Title}\"", (float)i / (float)Mods.Count())); + } + } + ProgressChanged?.Invoke(Progress.Done("All mods endorsed.")); } - private void ProgressBarMarquee() + private void UpdateRemoteModInfo(Action ProgressChanged = null) { - this.progressBarMods.Style = ProgressBarStyle.Marquee; - //this.progressBarMods.MarqueeAnimationSpeed = 15; + int i = 0; + int len = Mods.Count(); + List updatedIDs = new List(); + foreach (ManagedMod mod in Mods) + { + i++; + if (mod.URL != "") + { + // Don't update mods twice: + if (updatedIDs.Contains(mod.ID)) + continue; + updatedIDs.Add(mod.ID); + + // Don't update mods in quick succession (1 minute): + if (mod.RemoteInfo != null) + { + long lastUpdated = Utils.GetUnixTimeStamp() - mod.RemoteInfo.LastAccessTimestamp; + if (lastUpdated < 60) + continue; + } + + ProgressChanged?.Invoke(Progress.Ongoing($"[{i}/{len}] Requesting info for \"{mod.Title}\"", (float)i / (float)len)); + NexusMods.RequestModInformation(mod.URL); + } + } + ProgressChanged?.Invoke(Progress.Done("Mod information updated.")); + NexusMods.Save(); } - private void ProgressBarContinuous(int value) + private void ImportInstalledModsThreaded(Action ProgressChanged = null) { - this.progressBarMods.Style = ProgressBarStyle.Continuous; - this.progressBarMods.Value = Utils.Clamp(value, 0, 100); + RunThreaded(() => { + ShowLoadingUI(); + CloseSidePanel(); + }, () => { + ModInstallations.ImportInstalledMods(Mods, ProgressChanged); + return true; + }, (success) => { + EnableUI(); + }); } - private void HideLabel() + #endregion + + + /* + ********************************************************************************** + * Utility methods + ********************************************************************************** + */ + #region Utility methods + + private void RunThreaded(Action prepareWork, Func doWork, Action finishWork) { - this.labelModsDeploy.Visible = false; + Thread thread = new Thread(() => + { + this.Invoke(prepareWork); + bool result = doWork(); + this.Invoke(new Action(() => finishWork(result))); + }); + thread.IsBackground = true; + thread.Start(); } - private void Display(String text) + private void UpdateProgress(Progress progress) { - this.labelModsDeploy.ForeColor = Color.Black; - this.labelModsDeploy.Text = text; - this.labelModsDeploy.Visible = true; + this.progressBarMods.Invoke(new Action(() => { + this.labelModsDeploy.Visible = true; + progress.Update(labelModsDeploy, progressBarMods); + })); } private void DisplayDeploymentNecessary() { - this.labelModsDeploy.Visible = true; - this.labelModsDeploy.ForeColor = Color.Crimson; - this.labelModsDeploy.Text = Localization.GetString("modsDeploymentNecessary"); + this.toolStripStatusLabelDeploymentStatus.Visible = true; + this.toolStripStatusLabelDeploymentStatus.ForeColor = Color.Crimson; + this.toolStripStatusLabelDeploymentStatus.Text = Localization.GetString("modsDeploymentNecessary"); } private void DisplayAllDone() { - this.labelModsDeploy.Visible = true; - this.labelModsDeploy.ForeColor = Color.DarkGreen; - this.labelModsDeploy.Text = Localization.GetString("modsAllDone"); + this.toolStripStatusLabelDeploymentStatus.Visible = false; } - private void DisplayFailState() + private void UpdateStatusStrip() { - this.labelModsDeploy.Visible = true; - this.labelModsDeploy.ForeColor = Color.Red; - this.labelModsDeploy.Text = Localization.GetString("modsFailed"); + if (Mods.isDeploymentNecessary()) + this.DisplayDeploymentNecessary(); + else + this.DisplayAllDone(); + + this.toolStripStatusLabelModCount.Text = Mods.Count().ToString(); + + int enabledCount = 0; + foreach (ManagedMod mod in Mods) + if (mod.Enabled) + enabledCount++; + this.toolStripStatusLabelEnabledCount.Text = enabledCount.ToString(); } + + #endregion + } + + + public delegate void NuclearWinterEventHandler(object sender, NuclearWinterEventArgs e); + + public class NuclearWinterEventArgs : EventArgs + { + public bool NuclearWinterModeEnabled; } } diff --git a/Fo76ini/Forms/FormMods/FormMods.resx b/Fo76ini/Forms/FormMods/FormMods.resx index 75fb895..33151f7 100644 --- a/Fo76ini/Forms/FormMods/FormMods.resx +++ b/Fo76ini/Forms/FormMods/FormMods.resx @@ -118,7 +118,7 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - 17, 17 + 6, 11 @@ -138,48 +138,48 @@
- 132, 17 + 5, 63 - 222, 17 + 5, 37 iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAHDSURBVEhL5ZbNK0RhFMZPkoUkabKU5SRZSJIkTZLkL5lk - IQsrO02SJEmykpW1LCwkyUIpG1/jo0mThZWFhSSN33MdGePmmmsz5dTTec/X87zzvrd7x6LszKzjwmz3 - 3OwB/yhoTX4fdHtbPIOoBZL8ntkr/h7yO0HrolzS28s3hidBAaE1fOLIrFY4MWskXvFaxtujjR3pOFJF - 2BQJmCrKBYB4Al9gZqck3+l0X03HcWz2pKE/4hnRNqd9t0uzegRmQprjYkHH6PRmBM26tJDG2GDTrU4f - CNSRTPMrllTE74GxcsDcts+uckSjObMGp/80iv1qAoue+rUxM61ZyEc89d1KBfBpPSWgQ48nfh1s6M6o - JVXDj3tvtEDWrM/vIhBAcF5DIOWkVxDkdYH0dqmmI/HejOJ/IkDzkuI4AuSHFYdapQsEb4LKEKBxWXFF - CbCeVfyjAA29LrCiOI4AGFIcahQDgY8hSFshHCGf2DWrxqcgHkCgRi8zr7Wrl5k51j8L0NTjAlsi9HSk - FcyqENuQAH7Q099NuzpFx4/plvUN/sqRLUGQ954ceJG/NmtyunBjB/ouH4DgL8pvwdyhTsBp3MzeANnF - IIOkd+qKAAAAAElFTkSuQmCC + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAHCSURBVEhL5ZbNK0RhFMZPkoUkSZaylGQhSZI0SZK/ZJKF + LKzsJEmSJk1Wspq1LCwkyUIpG1/jo0mThZWFhSSN33MdGTO3GXNtppx6Ou/5ep533vd271g5uzDruTLb + vzR7wj8LWpM/BP3eFs0gaocku2/2jn+E/EHQOi/X4e2VG8OzIIfQJr7lxKxeODNrJk56bcHbyxs70nHE + 8rAtEjCXlwsA8Qw+x8xeQb7X6X6ajuPU7EVDf8Qrol1O+2nXZo0ILIY0R8WqjtHpzQjadGkhjZHBpjud + PhBoIBnnVyRUxB+AqUrA3K7PbnBEkxmzJqf/NorDagJrnvq1MTOvWcgnPFVshQL4uJ4S0KPHE78FUroz + ah2q4ae9t7xA2mzI7yIQQHBFQyDmpDcQZHWB9PappiPx3gXF/0SA5oTiKALkxxWHWrULBG+C6hCgcV1x + VQmwXlJcUoCGQRdIKo4iAMYUhxrFQOBrCNJOCCfIt5CvxccgHkGgTi8zr3Wrl5ll1qUFaBpwgR0Rerqs + 5cxqEEtJAD/q6WLTrs7R8WO6Z32Hv3GkCxDkvScD3uRvzVqdLtzYgb7LRyD4i/JbMHesE3AaN7MPXQUg + Yy7JZ6QAAAAASUVORK5CYII= + + 5, 63 + - 327, 17 + 137, 46 - 486, 17 + 136, 119 - 674, 17 + 136, 77 - 864, 17 + 137, 16 - 17, 56 - - - 243, 56 + 136, 149 - - 491, 56 + + 6, 95 - 151 + 346 diff --git a/Fo76ini/Forms/FormSettings/FormSettings.Designer.cs b/Fo76ini/Forms/FormSettings/FormSettings.Designer.cs new file mode 100644 index 0000000..402daf6 --- /dev/null +++ b/Fo76ini/Forms/FormSettings/FormSettings.Designer.cs @@ -0,0 +1,1511 @@ +namespace Fo76ini.Forms.FormSettings +{ + partial class FormSettings + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.components = new System.ComponentModel.Container(); + System.Windows.Forms.ListViewItem listViewItem6 = new System.Windows.Forms.ListViewItem("Default", 0); + System.Windows.Forms.ListViewItem listViewItem7 = new System.Windows.Forms.ListViewItem(new string[] { + "Steam"}, 2, System.Drawing.Color.Empty, System.Drawing.SystemColors.Window, null); + System.Windows.Forms.ListViewItem listViewItem8 = new System.Windows.Forms.ListViewItem("Bethesda.net", 1); + System.Windows.Forms.ListViewItem listViewItem9 = new System.Windows.Forms.ListViewItem("Bethesda.net PTS", 1); + System.Windows.Forms.ListViewItem listViewItem10 = new System.Windows.Forms.ListViewItem("Microsoft Store", 3); + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FormSettings)); + this.tabControl1 = new System.Windows.Forms.TabControl(); + this.tabPageGeneral = new System.Windows.Forms.TabPage(); + this.groupBoxActions = new System.Windows.Forms.GroupBox(); + this.linkLabelEnableDangerZone = new System.Windows.Forms.LinkLabel(); + this.groupBoxOptions = new System.Windows.Forms.GroupBox(); + this.checkBoxReadOnly = new System.Windows.Forms.CheckBox(); + this.groupBoxNuclearWinterMode = new System.Windows.Forms.GroupBox(); + this.checkBoxNWAutoDeployMods = new System.Windows.Forms.CheckBox(); + this.labelNWmodoptions = new System.Windows.Forms.Label(); + this.labelNWdlloptions = new System.Windows.Forms.Label(); + this.checkBoxNWAutoDisableMods = new System.Windows.Forms.CheckBox(); + this.checkBoxNWRenameDLL = new System.Windows.Forms.CheckBox(); + this.groupBoxBehavior = new System.Windows.Forms.GroupBox(); + this.checkBoxPlayNotificationSound = new System.Windows.Forms.CheckBox(); + this.checkBoxIgnoreUpdates = new System.Windows.Forms.CheckBox(); + this.checkBoxQuitOnGameLaunch = new System.Windows.Forms.CheckBox(); + this.checkBoxAutoApply = new System.Windows.Forms.CheckBox(); + this.groupBoxLocalization = new System.Windows.Forms.GroupBox(); + this.buttonRefreshLanguage = new System.Windows.Forms.Button(); + this.pictureBoxSpinnerDownloadLanguages = new System.Windows.Forms.PictureBox(); + this.labelOutdatedLanguage = new System.Windows.Forms.Label(); + this.labelLanguage = new System.Windows.Forms.Label(); + this.buttonDownloadLanguages = new System.Windows.Forms.Button(); + this.comboBoxLanguage = new System.Windows.Forms.ComboBox(); + this.tabPageGameProfiles = new System.Windows.Forms.TabPage(); + this.panel1 = new System.Windows.Forms.Panel(); + this.groupBoxSettings = new System.Windows.Forms.GroupBox(); + this.panelSettings = new System.Windows.Forms.Panel(); + this.groupBox2 = new System.Windows.Forms.GroupBox(); + this.textBoxLaunchURL = new System.Windows.Forms.TextBox(); + this.labelLaunchURL = new System.Windows.Forms.Label(); + this.textBoxParameters = new System.Windows.Forms.TextBox(); + this.labelParameters = new System.Windows.Forms.Label(); + this.textBoxExecutable = new System.Windows.Forms.TextBox(); + this.labelExecutable = new System.Windows.Forms.Label(); + this.textBoxIniPrefix = new System.Windows.Forms.TextBox(); + this.labelIniPrefix = new System.Windows.Forms.Label(); + this.groupBoxLaunchOptions = new System.Windows.Forms.GroupBox(); + this.labelLaunchOptionMSStoreNotice = new System.Windows.Forms.Label(); + this.radioButtonLaunchViaExecutable = new System.Windows.Forms.RadioButton(); + this.radioButtonLaunchViaLink = new System.Windows.Forms.RadioButton(); + this.groupBoxGameLocation = new System.Windows.Forms.GroupBox(); + this.buttonAutoDetect = new System.Windows.Forms.Button(); + this.textBoxGamePath = new System.Windows.Forms.TextBox(); + this.buttonPickGamePath = new System.Windows.Forms.Button(); + this.groupBoxGameEdition = new System.Windows.Forms.GroupBox(); + this.radioButtonEditionUnknown = new System.Windows.Forms.RadioButton(); + this.pictureBoxUnknown = new System.Windows.Forms.PictureBox(); + this.pictureBoxMSStore = new System.Windows.Forms.PictureBox(); + this.pictureBoxSteam = new System.Windows.Forms.PictureBox(); + this.pictureBoxBethesdaNetPTS = new System.Windows.Forms.PictureBox(); + this.pictureBoxBethesdaNet = new System.Windows.Forms.PictureBox(); + this.radioButtonEditionMSStore = new System.Windows.Forms.RadioButton(); + this.radioButtonEditionBethesdaNetPTS = new System.Windows.Forms.RadioButton(); + this.radioButtonEditionSteam = new System.Windows.Forms.RadioButton(); + this.radioButtonEditionBethesdaNet = new System.Windows.Forms.RadioButton(); + this.groupBoxGame = new System.Windows.Forms.GroupBox(); + this.listViewGameInstances = new System.Windows.Forms.ListView(); + this.columnHeader1 = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader())); + this.contextMenuStripGame = new System.Windows.Forms.ContextMenuStrip(this.components); + this.gameToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.launchGameToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.toolStripSeparator2 = new System.Windows.Forms.ToolStripSeparator(); + this.renameGameToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.removeGameToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.imageList1 = new System.Windows.Forms.ImageList(this.components); + this.labelTip = new System.Windows.Forms.Label(); + this.toolStrip1 = new System.Windows.Forms.ToolStrip(); + this.toolStripButtonAddGame = new System.Windows.Forms.ToolStripButton(); + this.tabPageNexusMods = new System.Windows.Forms.TabPage(); + this.panel2 = new System.Windows.Forms.Panel(); + this.labelAPIKey = new System.Windows.Forms.Label(); + this.checkBoxShowAPIKey = new System.Windows.Forms.CheckBox(); + this.textBoxAPIKey = new System.Windows.Forms.TextBox(); + this.buttonNMLogin = new System.Windows.Forms.Button(); + this.buttonNWDeleteCache = new System.Windows.Forms.Button(); + this.buttonNWLogout = new System.Windows.Forms.Button(); + this.checkBoxNMDownloadThumbnails = new System.Windows.Forms.CheckBox(); + this.labelNMOptions = new System.Windows.Forms.Label(); + this.checkBoxNMUpdateProfile = new System.Windows.Forms.CheckBox(); + this.buttonNMUpdateProfile = new System.Windows.Forms.Button(); + this.panel3 = new System.Windows.Forms.Panel(); + this.labelNMNotLoggedIn = new System.Windows.Forms.Label(); + this.labelNMUserID = new System.Windows.Forms.Label(); + this.labelNMDescUserID = new System.Windows.Forms.Label(); + this.labelNMHourlyRateLimit = new System.Windows.Forms.Label(); + this.labelNMDescHourlyRateLimit = new System.Windows.Forms.Label(); + this.pictureBoxNMProfilePicture = new System.Windows.Forms.PictureBox(); + this.labelNMUserName = new System.Windows.Forms.Label(); + this.labelNMDescMembership = new System.Windows.Forms.Label(); + this.labelNMDailyRateLimitReset = new System.Windows.Forms.Label(); + this.labelNMMembership = new System.Windows.Forms.Label(); + this.labelNMDescLimitReset = new System.Windows.Forms.Label(); + this.labelNMDescDailyRateLimit = new System.Windows.Forms.Label(); + this.labelNMDailyRateLimit = new System.Windows.Forms.Label(); + this.toolTip = new System.Windows.Forms.ToolTip(this.components); + this.openFileDialogGamePath = new System.Windows.Forms.OpenFileDialog(); + this.backgroundWorkerDownloadLanguages = new System.ComponentModel.BackgroundWorker(); + this.backgroundWorkerRetrieveProfileInfo = new System.ComponentModel.BackgroundWorker(); + this.backgroundWorkerSSOLogin = new System.ComponentModel.BackgroundWorker(); + this.buttonNMLoginManually = new System.Windows.Forms.Button(); + this.linkLabelAPIKeyHelp = new System.Windows.Forms.LinkLabel(); + this.pictureBoxAPIKeyHelp = new System.Windows.Forms.PictureBox(); + this.label1 = new System.Windows.Forms.Label(); + this.tabControl1.SuspendLayout(); + this.tabPageGeneral.SuspendLayout(); + this.groupBoxActions.SuspendLayout(); + this.groupBoxOptions.SuspendLayout(); + this.groupBoxNuclearWinterMode.SuspendLayout(); + this.groupBoxBehavior.SuspendLayout(); + this.groupBoxLocalization.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.pictureBoxSpinnerDownloadLanguages)).BeginInit(); + this.tabPageGameProfiles.SuspendLayout(); + this.panel1.SuspendLayout(); + this.groupBoxSettings.SuspendLayout(); + this.panelSettings.SuspendLayout(); + this.groupBox2.SuspendLayout(); + this.groupBoxLaunchOptions.SuspendLayout(); + this.groupBoxGameLocation.SuspendLayout(); + this.groupBoxGameEdition.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.pictureBoxUnknown)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.pictureBoxMSStore)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.pictureBoxSteam)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.pictureBoxBethesdaNetPTS)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.pictureBoxBethesdaNet)).BeginInit(); + this.groupBoxGame.SuspendLayout(); + this.contextMenuStripGame.SuspendLayout(); + this.toolStrip1.SuspendLayout(); + this.tabPageNexusMods.SuspendLayout(); + this.panel2.SuspendLayout(); + this.panel3.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.pictureBoxNMProfilePicture)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.pictureBoxAPIKeyHelp)).BeginInit(); + this.SuspendLayout(); + // + // tabControl1 + // + this.tabControl1.Controls.Add(this.tabPageGeneral); + this.tabControl1.Controls.Add(this.tabPageGameProfiles); + this.tabControl1.Controls.Add(this.tabPageNexusMods); + this.tabControl1.Location = new System.Drawing.Point(12, 12); + this.tabControl1.Name = "tabControl1"; + this.tabControl1.SelectedIndex = 0; + this.tabControl1.Size = new System.Drawing.Size(774, 534); + this.tabControl1.TabIndex = 0; + // + // tabPageGeneral + // + this.tabPageGeneral.Controls.Add(this.groupBoxActions); + this.tabPageGeneral.Controls.Add(this.groupBoxOptions); + this.tabPageGeneral.Controls.Add(this.groupBoxNuclearWinterMode); + this.tabPageGeneral.Controls.Add(this.groupBoxBehavior); + this.tabPageGeneral.Controls.Add(this.groupBoxLocalization); + this.tabPageGeneral.Location = new System.Drawing.Point(4, 22); + this.tabPageGeneral.Name = "tabPageGeneral"; + this.tabPageGeneral.Padding = new System.Windows.Forms.Padding(3); + this.tabPageGeneral.Size = new System.Drawing.Size(766, 508); + this.tabPageGeneral.TabIndex = 0; + this.tabPageGeneral.Text = "General"; + this.tabPageGeneral.UseVisualStyleBackColor = true; + // + // groupBoxActions + // + this.groupBoxActions.Controls.Add(this.linkLabelEnableDangerZone); + this.groupBoxActions.Location = new System.Drawing.Point(6, 227); + this.groupBoxActions.Name = "groupBoxActions"; + this.groupBoxActions.Size = new System.Drawing.Size(390, 78); + this.groupBoxActions.TabIndex = 43; + this.groupBoxActions.TabStop = false; + this.groupBoxActions.Text = "Actions"; + // + // linkLabelEnableDangerZone + // + this.linkLabelEnableDangerZone.AutoSize = true; + this.linkLabelEnableDangerZone.LinkBehavior = System.Windows.Forms.LinkBehavior.HoverUnderline; + this.linkLabelEnableDangerZone.LinkColor = System.Drawing.Color.Red; + this.linkLabelEnableDangerZone.Location = new System.Drawing.Point(8, 18); + this.linkLabelEnableDangerZone.Name = "linkLabelEnableDangerZone"; + this.linkLabelEnableDangerZone.Size = new System.Drawing.Size(121, 13); + this.linkLabelEnableDangerZone.TabIndex = 44; + this.linkLabelEnableDangerZone.TabStop = true; + this.linkLabelEnableDangerZone.Text = "⚠️ Enable Danger Zone"; + this.linkLabelEnableDangerZone.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.linkLabelEnableDangerZone_LinkClicked); + // + // groupBoxOptions + // + this.groupBoxOptions.Controls.Add(this.checkBoxReadOnly); + this.groupBoxOptions.Location = new System.Drawing.Point(402, 6); + this.groupBoxOptions.Name = "groupBoxOptions"; + this.groupBoxOptions.Size = new System.Drawing.Size(358, 47); + this.groupBoxOptions.TabIndex = 42; + this.groupBoxOptions.TabStop = false; + this.groupBoxOptions.Text = "Options"; + // + // checkBoxReadOnly + // + this.checkBoxReadOnly.AutoSize = true; + this.checkBoxReadOnly.Location = new System.Drawing.Point(11, 19); + this.checkBoxReadOnly.Name = "checkBoxReadOnly"; + this.checkBoxReadOnly.Size = new System.Drawing.Size(140, 17); + this.checkBoxReadOnly.TabIndex = 4; + this.checkBoxReadOnly.Text = "Make *.ini files read-only"; + this.checkBoxReadOnly.UseVisualStyleBackColor = true; + // + // groupBoxNuclearWinterMode + // + this.groupBoxNuclearWinterMode.Controls.Add(this.checkBoxNWAutoDeployMods); + this.groupBoxNuclearWinterMode.Controls.Add(this.labelNWmodoptions); + this.groupBoxNuclearWinterMode.Controls.Add(this.labelNWdlloptions); + this.groupBoxNuclearWinterMode.Controls.Add(this.checkBoxNWAutoDisableMods); + this.groupBoxNuclearWinterMode.Controls.Add(this.checkBoxNWRenameDLL); + this.groupBoxNuclearWinterMode.Location = new System.Drawing.Point(402, 59); + this.groupBoxNuclearWinterMode.Name = "groupBoxNuclearWinterMode"; + this.groupBoxNuclearWinterMode.Size = new System.Drawing.Size(358, 162); + this.groupBoxNuclearWinterMode.TabIndex = 41; + this.groupBoxNuclearWinterMode.TabStop = false; + this.groupBoxNuclearWinterMode.Text = "Nuclear Winter options"; + // + // checkBoxNWAutoDeployMods + // + this.checkBoxNWAutoDeployMods.AutoSize = true; + this.checkBoxNWAutoDeployMods.Location = new System.Drawing.Point(10, 117); + this.checkBoxNWAutoDeployMods.Name = "checkBoxNWAutoDeployMods"; + this.checkBoxNWAutoDeployMods.Size = new System.Drawing.Size(221, 17); + this.checkBoxNWAutoDeployMods.TabIndex = 25; + this.checkBoxNWAutoDeployMods.Text = "Automatically deploy mods upon disabling"; + this.checkBoxNWAutoDeployMods.UseVisualStyleBackColor = true; + // + // labelNWmodoptions + // + this.labelNWmodoptions.AutoSize = true; + this.labelNWmodoptions.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.labelNWmodoptions.Location = new System.Drawing.Point(7, 76); + this.labelNWmodoptions.Name = "labelNWmodoptions"; + this.labelNWmodoptions.Size = new System.Drawing.Size(80, 13); + this.labelNWmodoptions.TabIndex = 24; + this.labelNWmodoptions.Text = "Mod options:"; + // + // labelNWdlloptions + // + this.labelNWdlloptions.AutoSize = true; + this.labelNWdlloptions.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.labelNWdlloptions.Location = new System.Drawing.Point(7, 23); + this.labelNWdlloptions.Name = "labelNWdlloptions"; + this.labelNWdlloptions.Size = new System.Drawing.Size(78, 13); + this.labelNWdlloptions.TabIndex = 23; + this.labelNWdlloptions.Text = "*.dll options:"; + // + // checkBoxNWAutoDisableMods + // + this.checkBoxNWAutoDisableMods.AutoSize = true; + this.checkBoxNWAutoDisableMods.Location = new System.Drawing.Point(10, 94); + this.checkBoxNWAutoDisableMods.Name = "checkBoxNWAutoDisableMods"; + this.checkBoxNWAutoDisableMods.Size = new System.Drawing.Size(224, 17); + this.checkBoxNWAutoDisableMods.TabIndex = 19; + this.checkBoxNWAutoDisableMods.Text = "Automatically remove mods upon enabling"; + this.checkBoxNWAutoDisableMods.UseVisualStyleBackColor = true; + // + // checkBoxNWRenameDLL + // + this.checkBoxNWRenameDLL.AutoSize = true; + this.checkBoxNWRenameDLL.Location = new System.Drawing.Point(10, 41); + this.checkBoxNWRenameDLL.Name = "checkBoxNWRenameDLL"; + this.checkBoxNWRenameDLL.Size = new System.Drawing.Size(140, 17); + this.checkBoxNWRenameDLL.TabIndex = 18; + this.checkBoxNWRenameDLL.Text = "Rename added *.dll files"; + this.checkBoxNWRenameDLL.UseVisualStyleBackColor = true; + // + // groupBoxBehavior + // + this.groupBoxBehavior.Controls.Add(this.checkBoxPlayNotificationSound); + this.groupBoxBehavior.Controls.Add(this.checkBoxIgnoreUpdates); + this.groupBoxBehavior.Controls.Add(this.checkBoxQuitOnGameLaunch); + this.groupBoxBehavior.Controls.Add(this.checkBoxAutoApply); + this.groupBoxBehavior.Location = new System.Drawing.Point(6, 103); + this.groupBoxBehavior.Name = "groupBoxBehavior"; + this.groupBoxBehavior.Size = new System.Drawing.Size(390, 118); + this.groupBoxBehavior.TabIndex = 32; + this.groupBoxBehavior.TabStop = false; + this.groupBoxBehavior.Text = "Behavior"; + // + // checkBoxPlayNotificationSound + // + this.checkBoxPlayNotificationSound.AutoSize = true; + this.checkBoxPlayNotificationSound.Location = new System.Drawing.Point(9, 89); + this.checkBoxPlayNotificationSound.Name = "checkBoxPlayNotificationSound"; + this.checkBoxPlayNotificationSound.Size = new System.Drawing.Size(132, 17); + this.checkBoxPlayNotificationSound.TabIndex = 25; + this.checkBoxPlayNotificationSound.Text = "Play notification sound"; + this.checkBoxPlayNotificationSound.UseVisualStyleBackColor = true; + // + // checkBoxIgnoreUpdates + // + this.checkBoxIgnoreUpdates.AutoSize = true; + this.checkBoxIgnoreUpdates.Location = new System.Drawing.Point(9, 66); + this.checkBoxIgnoreUpdates.Name = "checkBoxIgnoreUpdates"; + this.checkBoxIgnoreUpdates.Size = new System.Drawing.Size(143, 17); + this.checkBoxIgnoreUpdates.TabIndex = 24; + this.checkBoxIgnoreUpdates.Text = "Don\'t check for updates."; + this.checkBoxIgnoreUpdates.UseVisualStyleBackColor = true; + this.checkBoxIgnoreUpdates.CheckedChanged += new System.EventHandler(this.checkBoxIgnoreUpdates_CheckedChanged); + // + // checkBoxQuitOnGameLaunch + // + this.checkBoxQuitOnGameLaunch.AutoSize = true; + this.checkBoxQuitOnGameLaunch.Location = new System.Drawing.Point(9, 19); + this.checkBoxQuitOnGameLaunch.Name = "checkBoxQuitOnGameLaunch"; + this.checkBoxQuitOnGameLaunch.Size = new System.Drawing.Size(223, 17); + this.checkBoxQuitOnGameLaunch.TabIndex = 20; + this.checkBoxQuitOnGameLaunch.Text = "Close the tool when the game is launched"; + this.checkBoxQuitOnGameLaunch.UseVisualStyleBackColor = true; + // + // checkBoxAutoApply + // + this.checkBoxAutoApply.AutoSize = true; + this.checkBoxAutoApply.Location = new System.Drawing.Point(9, 42); + this.checkBoxAutoApply.Name = "checkBoxAutoApply"; + this.checkBoxAutoApply.Size = new System.Drawing.Size(354, 17); + this.checkBoxAutoApply.TabIndex = 21; + this.checkBoxAutoApply.Text = "Automatically apply changes when tool is closed or game is launched."; + this.checkBoxAutoApply.UseVisualStyleBackColor = true; + // + // groupBoxLocalization + // + this.groupBoxLocalization.Controls.Add(this.buttonRefreshLanguage); + this.groupBoxLocalization.Controls.Add(this.pictureBoxSpinnerDownloadLanguages); + this.groupBoxLocalization.Controls.Add(this.labelOutdatedLanguage); + this.groupBoxLocalization.Controls.Add(this.labelLanguage); + this.groupBoxLocalization.Controls.Add(this.buttonDownloadLanguages); + this.groupBoxLocalization.Controls.Add(this.comboBoxLanguage); + this.groupBoxLocalization.Location = new System.Drawing.Point(6, 6); + this.groupBoxLocalization.Name = "groupBoxLocalization"; + this.groupBoxLocalization.Size = new System.Drawing.Size(390, 91); + this.groupBoxLocalization.TabIndex = 31; + this.groupBoxLocalization.TabStop = false; + this.groupBoxLocalization.Text = "Localization"; + // + // buttonRefreshLanguage + // + this.buttonRefreshLanguage.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.buttonRefreshLanguage.BackColor = System.Drawing.Color.Transparent; + this.buttonRefreshLanguage.FlatAppearance.BorderColor = System.Drawing.Color.Gray; + this.buttonRefreshLanguage.FlatAppearance.BorderSize = 0; + this.buttonRefreshLanguage.FlatStyle = System.Windows.Forms.FlatStyle.Flat; + this.buttonRefreshLanguage.Image = global::Fo76ini.Properties.Resources.available_updates; + this.buttonRefreshLanguage.Location = new System.Drawing.Point(351, 49); + this.buttonRefreshLanguage.Name = "buttonRefreshLanguage"; + this.buttonRefreshLanguage.Size = new System.Drawing.Size(32, 32); + this.buttonRefreshLanguage.TabIndex = 40; + this.toolTip.SetToolTip(this.buttonRefreshLanguage, "Refresh language list and reapply translation"); + this.buttonRefreshLanguage.UseVisualStyleBackColor = false; + this.buttonRefreshLanguage.Click += new System.EventHandler(this.buttonRefreshLanguage_Click); + // + // pictureBoxSpinnerDownloadLanguages + // + this.pictureBoxSpinnerDownloadLanguages.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.pictureBoxSpinnerDownloadLanguages.Image = global::Fo76ini.Properties.Resources.Spinner_24; + this.pictureBoxSpinnerDownloadLanguages.Location = new System.Drawing.Point(283, 53); + this.pictureBoxSpinnerDownloadLanguages.Name = "pictureBoxSpinnerDownloadLanguages"; + this.pictureBoxSpinnerDownloadLanguages.Size = new System.Drawing.Size(24, 24); + this.pictureBoxSpinnerDownloadLanguages.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom; + this.pictureBoxSpinnerDownloadLanguages.TabIndex = 40; + this.pictureBoxSpinnerDownloadLanguages.TabStop = false; + this.pictureBoxSpinnerDownloadLanguages.Visible = false; + // + // labelOutdatedLanguage + // + this.labelOutdatedLanguage.AutoSize = true; + this.labelOutdatedLanguage.ForeColor = System.Drawing.Color.Firebrick; + this.labelOutdatedLanguage.Location = new System.Drawing.Point(8, 53); + this.labelOutdatedLanguage.Name = "labelOutdatedLanguage"; + this.labelOutdatedLanguage.Size = new System.Drawing.Size(209, 26); + this.labelOutdatedLanguage.TabIndex = 21; + this.labelOutdatedLanguage.Text = "This translation is out-dated.\r\nSome elements might not be translated yet."; + // + // labelLanguage + // + this.labelLanguage.AutoSize = true; + this.labelLanguage.Location = new System.Drawing.Point(7, 25); + this.labelLanguage.Name = "labelLanguage"; + this.labelLanguage.Size = new System.Drawing.Size(58, 13); + this.labelLanguage.TabIndex = 16; + this.labelLanguage.Text = "Language:"; + // + // buttonDownloadLanguages + // + this.buttonDownloadLanguages.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.buttonDownloadLanguages.FlatAppearance.BorderColor = System.Drawing.Color.Gray; + this.buttonDownloadLanguages.FlatAppearance.BorderSize = 0; + this.buttonDownloadLanguages.FlatStyle = System.Windows.Forms.FlatStyle.Flat; + this.buttonDownloadLanguages.Image = global::Fo76ini.Properties.Resources.download_2_24; + this.buttonDownloadLanguages.Location = new System.Drawing.Point(313, 49); + this.buttonDownloadLanguages.Name = "buttonDownloadLanguages"; + this.buttonDownloadLanguages.Size = new System.Drawing.Size(32, 32); + this.buttonDownloadLanguages.TabIndex = 20; + this.toolTip.SetToolTip(this.buttonDownloadLanguages, "Download / update language files"); + this.buttonDownloadLanguages.UseVisualStyleBackColor = true; + this.buttonDownloadLanguages.Click += new System.EventHandler(this.buttonDownloadLanguages_Click); + // + // comboBoxLanguage + // + this.comboBoxLanguage.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.comboBoxLanguage.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; + this.comboBoxLanguage.FormattingEnabled = true; + this.comboBoxLanguage.Location = new System.Drawing.Point(117, 22); + this.comboBoxLanguage.Name = "comboBoxLanguage"; + this.comboBoxLanguage.Size = new System.Drawing.Size(266, 21); + this.comboBoxLanguage.TabIndex = 17; + // + // tabPageGameProfiles + // + this.tabPageGameProfiles.Controls.Add(this.panel1); + this.tabPageGameProfiles.Controls.Add(this.toolStrip1); + this.tabPageGameProfiles.Location = new System.Drawing.Point(4, 22); + this.tabPageGameProfiles.Name = "tabPageGameProfiles"; + this.tabPageGameProfiles.Padding = new System.Windows.Forms.Padding(3); + this.tabPageGameProfiles.Size = new System.Drawing.Size(766, 508); + this.tabPageGameProfiles.TabIndex = 1; + this.tabPageGameProfiles.Text = "Game profiles"; + this.tabPageGameProfiles.UseVisualStyleBackColor = true; + // + // panel1 + // + this.panel1.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) + | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.panel1.Controls.Add(this.groupBoxSettings); + this.panel1.Controls.Add(this.groupBoxGame); + this.panel1.Controls.Add(this.labelTip); + this.panel1.Location = new System.Drawing.Point(3, 39); + this.panel1.Margin = new System.Windows.Forms.Padding(0); + this.panel1.Name = "panel1"; + this.panel1.Size = new System.Drawing.Size(760, 466); + this.panel1.TabIndex = 20; + // + // groupBoxSettings + // + this.groupBoxSettings.Controls.Add(this.panelSettings); + this.groupBoxSettings.Location = new System.Drawing.Point(348, 8); + this.groupBoxSettings.Name = "groupBoxSettings"; + this.groupBoxSettings.Size = new System.Drawing.Size(404, 419); + this.groupBoxSettings.TabIndex = 45; + this.groupBoxSettings.TabStop = false; + this.groupBoxSettings.Text = "Settings"; + // + // panelSettings + // + this.panelSettings.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) + | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.panelSettings.AutoScroll = true; + this.panelSettings.AutoScrollMargin = new System.Drawing.Size(0, 8); + this.panelSettings.BackColor = System.Drawing.SystemColors.Window; + this.panelSettings.Controls.Add(this.groupBox2); + this.panelSettings.Controls.Add(this.groupBoxLaunchOptions); + this.panelSettings.Controls.Add(this.groupBoxGameLocation); + this.panelSettings.Controls.Add(this.groupBoxGameEdition); + this.panelSettings.Location = new System.Drawing.Point(2, 14); + this.panelSettings.Name = "panelSettings"; + this.panelSettings.Size = new System.Drawing.Size(401, 402); + this.panelSettings.TabIndex = 39; + // + // groupBox2 + // + this.groupBox2.Controls.Add(this.textBoxLaunchURL); + this.groupBox2.Controls.Add(this.labelLaunchURL); + this.groupBox2.Controls.Add(this.textBoxParameters); + this.groupBox2.Controls.Add(this.labelParameters); + this.groupBox2.Controls.Add(this.textBoxExecutable); + this.groupBox2.Controls.Add(this.labelExecutable); + this.groupBox2.Controls.Add(this.textBoxIniPrefix); + this.groupBox2.Controls.Add(this.labelIniPrefix); + this.groupBox2.Location = new System.Drawing.Point(7, 397); + this.groupBox2.Name = "groupBox2"; + this.groupBox2.Size = new System.Drawing.Size(369, 128); + this.groupBox2.TabIndex = 38; + this.groupBox2.TabStop = false; + this.groupBox2.Text = "Advanced"; + // + // textBoxLaunchURL + // + this.textBoxLaunchURL.Location = new System.Drawing.Point(112, 95); + this.textBoxLaunchURL.Name = "textBoxLaunchURL"; + this.textBoxLaunchURL.Size = new System.Drawing.Size(251, 20); + this.textBoxLaunchURL.TabIndex = 7; + this.textBoxLaunchURL.TextChanged += new System.EventHandler(this.textBoxLaunchURL_TextChanged); + // + // labelLaunchURL + // + this.labelLaunchURL.AutoSize = true; + this.labelLaunchURL.Location = new System.Drawing.Point(8, 98); + this.labelLaunchURL.Name = "labelLaunchURL"; + this.labelLaunchURL.Size = new System.Drawing.Size(71, 13); + this.labelLaunchURL.TabIndex = 6; + this.labelLaunchURL.Text = "Launch URL:"; + // + // textBoxParameters + // + this.textBoxParameters.Location = new System.Drawing.Point(112, 69); + this.textBoxParameters.Name = "textBoxParameters"; + this.textBoxParameters.Size = new System.Drawing.Size(251, 20); + this.textBoxParameters.TabIndex = 5; + this.textBoxParameters.TextChanged += new System.EventHandler(this.textBoxParameters_TextChanged); + // + // labelParameters + // + this.labelParameters.AutoSize = true; + this.labelParameters.Location = new System.Drawing.Point(8, 72); + this.labelParameters.Name = "labelParameters"; + this.labelParameters.Size = new System.Drawing.Size(63, 13); + this.labelParameters.TabIndex = 4; + this.labelParameters.Text = "Parameters:"; + // + // textBoxExecutable + // + this.textBoxExecutable.Location = new System.Drawing.Point(112, 43); + this.textBoxExecutable.Name = "textBoxExecutable"; + this.textBoxExecutable.Size = new System.Drawing.Size(251, 20); + this.textBoxExecutable.TabIndex = 3; + this.textBoxExecutable.Text = "Fallout76.exe"; + this.textBoxExecutable.TextChanged += new System.EventHandler(this.textBoxExecutable_TextChanged); + // + // labelExecutable + // + this.labelExecutable.AutoSize = true; + this.labelExecutable.Location = new System.Drawing.Point(7, 46); + this.labelExecutable.Name = "labelExecutable"; + this.labelExecutable.Size = new System.Drawing.Size(63, 13); + this.labelExecutable.TabIndex = 2; + this.labelExecutable.Text = "Executable:"; + // + // textBoxIniPrefix + // + this.textBoxIniPrefix.Location = new System.Drawing.Point(112, 17); + this.textBoxIniPrefix.Name = "textBoxIniPrefix"; + this.textBoxIniPrefix.Size = new System.Drawing.Size(251, 20); + this.textBoxIniPrefix.TabIndex = 1; + this.textBoxIniPrefix.Text = "Fallout76"; + this.textBoxIniPrefix.TextChanged += new System.EventHandler(this.textBoxIniPrefix_TextChanged); + // + // labelIniPrefix + // + this.labelIniPrefix.AutoSize = true; + this.labelIniPrefix.Location = new System.Drawing.Point(7, 20); + this.labelIniPrefix.Name = "labelIniPrefix"; + this.labelIniPrefix.Size = new System.Drawing.Size(56, 13); + this.labelIniPrefix.TabIndex = 0; + this.labelIniPrefix.Text = "*.ini Prefix:"; + // + // groupBoxLaunchOptions + // + this.groupBoxLaunchOptions.Controls.Add(this.labelLaunchOptionMSStoreNotice); + this.groupBoxLaunchOptions.Controls.Add(this.radioButtonLaunchViaExecutable); + this.groupBoxLaunchOptions.Controls.Add(this.radioButtonLaunchViaLink); + this.groupBoxLaunchOptions.Location = new System.Drawing.Point(7, 283); + this.groupBoxLaunchOptions.Name = "groupBoxLaunchOptions"; + this.groupBoxLaunchOptions.Size = new System.Drawing.Size(369, 108); + this.groupBoxLaunchOptions.TabIndex = 36; + this.groupBoxLaunchOptions.TabStop = false; + this.groupBoxLaunchOptions.Text = "Launch options"; + // + // labelLaunchOptionMSStoreNotice + // + this.labelLaunchOptionMSStoreNotice.ForeColor = System.Drawing.Color.Red; + this.labelLaunchOptionMSStoreNotice.Location = new System.Drawing.Point(7, 68); + this.labelLaunchOptionMSStoreNotice.Name = "labelLaunchOptionMSStoreNotice"; + this.labelLaunchOptionMSStoreNotice.Size = new System.Drawing.Size(356, 29); + this.labelLaunchOptionMSStoreNotice.TabIndex = 4; + this.labelLaunchOptionMSStoreNotice.Text = "Fallout 76 cannot be run directly, if installed through the Microsoft Store."; + this.labelLaunchOptionMSStoreNotice.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; + this.labelLaunchOptionMSStoreNotice.Visible = false; + // + // radioButtonLaunchViaExecutable + // + this.radioButtonLaunchViaExecutable.AutoSize = true; + this.radioButtonLaunchViaExecutable.Location = new System.Drawing.Point(10, 43); + this.radioButtonLaunchViaExecutable.Name = "radioButtonLaunchViaExecutable"; + this.radioButtonLaunchViaExecutable.Size = new System.Drawing.Size(157, 17); + this.radioButtonLaunchViaExecutable.TabIndex = 1; + this.radioButtonLaunchViaExecutable.TabStop = true; + this.radioButtonLaunchViaExecutable.Text = "Run \"Fallout76.exe\" directly"; + this.radioButtonLaunchViaExecutable.UseVisualStyleBackColor = true; + this.radioButtonLaunchViaExecutable.CheckedChanged += new System.EventHandler(this.radioButtonLaunchViaExecutable_CheckedChanged); + // + // radioButtonLaunchViaLink + // + this.radioButtonLaunchViaLink.AutoSize = true; + this.radioButtonLaunchViaLink.Location = new System.Drawing.Point(10, 20); + this.radioButtonLaunchViaLink.Name = "radioButtonLaunchViaLink"; + this.radioButtonLaunchViaLink.Size = new System.Drawing.Size(261, 17); + this.radioButtonLaunchViaLink.TabIndex = 0; + this.radioButtonLaunchViaLink.TabStop = true; + this.radioButtonLaunchViaLink.Text = "Launch via Steam / Bethesda.net (recommended)"; + this.radioButtonLaunchViaLink.UseVisualStyleBackColor = true; + this.radioButtonLaunchViaLink.CheckedChanged += new System.EventHandler(this.radioButtonLaunchViaLink_CheckedChanged); + // + // groupBoxGameLocation + // + this.groupBoxGameLocation.Controls.Add(this.buttonAutoDetect); + this.groupBoxGameLocation.Controls.Add(this.textBoxGamePath); + this.groupBoxGameLocation.Controls.Add(this.buttonPickGamePath); + this.groupBoxGameLocation.Location = new System.Drawing.Point(7, 190); + this.groupBoxGameLocation.Name = "groupBoxGameLocation"; + this.groupBoxGameLocation.Size = new System.Drawing.Size(369, 87); + this.groupBoxGameLocation.TabIndex = 37; + this.groupBoxGameLocation.TabStop = false; + this.groupBoxGameLocation.Text = "Game location"; + // + // buttonAutoDetect + // + this.buttonAutoDetect.Location = new System.Drawing.Point(6, 48); + this.buttonAutoDetect.Name = "buttonAutoDetect"; + this.buttonAutoDetect.Size = new System.Drawing.Size(357, 23); + this.buttonAutoDetect.TabIndex = 32; + this.buttonAutoDetect.Text = "Attempt auto-detect"; + this.buttonAutoDetect.UseVisualStyleBackColor = true; + this.buttonAutoDetect.Click += new System.EventHandler(this.buttonAutoDetect_Click); + // + // textBoxGamePath + // + this.textBoxGamePath.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.textBoxGamePath.Location = new System.Drawing.Point(6, 21); + this.textBoxGamePath.Name = "textBoxGamePath"; + this.textBoxGamePath.Size = new System.Drawing.Size(323, 20); + this.textBoxGamePath.TabIndex = 30; + this.textBoxGamePath.TextChanged += new System.EventHandler(this.textBoxGamePath_TextChanged); + // + // buttonPickGamePath + // + this.buttonPickGamePath.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.buttonPickGamePath.Location = new System.Drawing.Point(335, 19); + this.buttonPickGamePath.Name = "buttonPickGamePath"; + this.buttonPickGamePath.Size = new System.Drawing.Size(28, 23); + this.buttonPickGamePath.TabIndex = 31; + this.buttonPickGamePath.Text = "..."; + this.buttonPickGamePath.UseVisualStyleBackColor = true; + this.buttonPickGamePath.Click += new System.EventHandler(this.buttonPickGamePath_Click); + // + // groupBoxGameEdition + // + this.groupBoxGameEdition.Controls.Add(this.radioButtonEditionUnknown); + this.groupBoxGameEdition.Controls.Add(this.pictureBoxUnknown); + this.groupBoxGameEdition.Controls.Add(this.pictureBoxMSStore); + this.groupBoxGameEdition.Controls.Add(this.pictureBoxSteam); + this.groupBoxGameEdition.Controls.Add(this.pictureBoxBethesdaNetPTS); + this.groupBoxGameEdition.Controls.Add(this.pictureBoxBethesdaNet); + this.groupBoxGameEdition.Controls.Add(this.radioButtonEditionMSStore); + this.groupBoxGameEdition.Controls.Add(this.radioButtonEditionBethesdaNetPTS); + this.groupBoxGameEdition.Controls.Add(this.radioButtonEditionSteam); + this.groupBoxGameEdition.Controls.Add(this.radioButtonEditionBethesdaNet); + this.groupBoxGameEdition.Location = new System.Drawing.Point(7, 9); + this.groupBoxGameEdition.Name = "groupBoxGameEdition"; + this.groupBoxGameEdition.Size = new System.Drawing.Size(369, 175); + this.groupBoxGameEdition.TabIndex = 35; + this.groupBoxGameEdition.TabStop = false; + this.groupBoxGameEdition.Text = "Game edition"; + // + // radioButtonEditionUnknown + // + this.radioButtonEditionUnknown.AutoSize = true; + this.radioButtonEditionUnknown.Location = new System.Drawing.Point(43, 142); + this.radioButtonEditionUnknown.Name = "radioButtonEditionUnknown"; + this.radioButtonEditionUnknown.Size = new System.Drawing.Size(51, 17); + this.radioButtonEditionUnknown.TabIndex = 31; + this.radioButtonEditionUnknown.Text = "Other"; + this.radioButtonEditionUnknown.UseVisualStyleBackColor = true; + this.radioButtonEditionUnknown.CheckedChanged += new System.EventHandler(this.radioButtonEditionUnknown_CheckedChanged); + // + // pictureBoxUnknown + // + this.pictureBoxUnknown.BackColor = System.Drawing.Color.Transparent; + this.pictureBoxUnknown.Image = global::Fo76ini.Properties.Resources.help_24; + this.pictureBoxUnknown.Location = new System.Drawing.Point(11, 139); + this.pictureBoxUnknown.Name = "pictureBoxUnknown"; + this.pictureBoxUnknown.Size = new System.Drawing.Size(24, 24); + this.pictureBoxUnknown.TabIndex = 30; + this.pictureBoxUnknown.TabStop = false; + // + // pictureBoxMSStore + // + this.pictureBoxMSStore.BackColor = System.Drawing.Color.Transparent; + this.pictureBoxMSStore.Image = global::Fo76ini.Properties.Resources.msstore_24; + this.pictureBoxMSStore.Location = new System.Drawing.Point(11, 109); + this.pictureBoxMSStore.Name = "pictureBoxMSStore"; + this.pictureBoxMSStore.Size = new System.Drawing.Size(24, 24); + this.pictureBoxMSStore.TabIndex = 29; + this.pictureBoxMSStore.TabStop = false; + // + // pictureBoxSteam + // + this.pictureBoxSteam.BackColor = System.Drawing.Color.Transparent; + this.pictureBoxSteam.Image = global::Fo76ini.Properties.Resources.steam_24px; + this.pictureBoxSteam.Location = new System.Drawing.Point(11, 79); + this.pictureBoxSteam.Name = "pictureBoxSteam"; + this.pictureBoxSteam.Size = new System.Drawing.Size(24, 24); + this.pictureBoxSteam.TabIndex = 28; + this.pictureBoxSteam.TabStop = false; + // + // pictureBoxBethesdaNetPTS + // + this.pictureBoxBethesdaNetPTS.BackColor = System.Drawing.Color.Transparent; + this.pictureBoxBethesdaNetPTS.Image = global::Fo76ini.Properties.Resources.bethesda_24; + this.pictureBoxBethesdaNetPTS.Location = new System.Drawing.Point(11, 49); + this.pictureBoxBethesdaNetPTS.Name = "pictureBoxBethesdaNetPTS"; + this.pictureBoxBethesdaNetPTS.Size = new System.Drawing.Size(24, 24); + this.pictureBoxBethesdaNetPTS.TabIndex = 27; + this.pictureBoxBethesdaNetPTS.TabStop = false; + // + // pictureBoxBethesdaNet + // + this.pictureBoxBethesdaNet.BackColor = System.Drawing.Color.Transparent; + this.pictureBoxBethesdaNet.Image = global::Fo76ini.Properties.Resources.bethesda_24; + this.pictureBoxBethesdaNet.Location = new System.Drawing.Point(11, 19); + this.pictureBoxBethesdaNet.Name = "pictureBoxBethesdaNet"; + this.pictureBoxBethesdaNet.Size = new System.Drawing.Size(24, 24); + this.pictureBoxBethesdaNet.TabIndex = 26; + this.pictureBoxBethesdaNet.TabStop = false; + // + // radioButtonEditionMSStore + // + this.radioButtonEditionMSStore.AutoSize = true; + this.radioButtonEditionMSStore.Location = new System.Drawing.Point(43, 112); + this.radioButtonEditionMSStore.Name = "radioButtonEditionMSStore"; + this.radioButtonEditionMSStore.Size = new System.Drawing.Size(188, 17); + this.radioButtonEditionMSStore.TabIndex = 3; + this.radioButtonEditionMSStore.Text = "Microsoft Store / Xbox Game Pass"; + this.radioButtonEditionMSStore.UseVisualStyleBackColor = true; + this.radioButtonEditionMSStore.CheckedChanged += new System.EventHandler(this.radioButtonEditionMSStore_CheckedChanged); + // + // radioButtonEditionBethesdaNetPTS + // + this.radioButtonEditionBethesdaNetPTS.AutoSize = true; + this.radioButtonEditionBethesdaNetPTS.Location = new System.Drawing.Point(43, 52); + this.radioButtonEditionBethesdaNetPTS.Name = "radioButtonEditionBethesdaNetPTS"; + this.radioButtonEditionBethesdaNetPTS.Size = new System.Drawing.Size(118, 17); + this.radioButtonEditionBethesdaNetPTS.TabIndex = 2; + this.radioButtonEditionBethesdaNetPTS.Text = "Bethesda.net (PTS)"; + this.radioButtonEditionBethesdaNetPTS.UseVisualStyleBackColor = true; + this.radioButtonEditionBethesdaNetPTS.CheckedChanged += new System.EventHandler(this.radioButtonEditionBethesdaNetPTS_CheckedChanged); + // + // radioButtonEditionSteam + // + this.radioButtonEditionSteam.AutoSize = true; + this.radioButtonEditionSteam.Location = new System.Drawing.Point(43, 82); + this.radioButtonEditionSteam.Name = "radioButtonEditionSteam"; + this.radioButtonEditionSteam.Size = new System.Drawing.Size(55, 17); + this.radioButtonEditionSteam.TabIndex = 1; + this.radioButtonEditionSteam.Text = "Steam"; + this.radioButtonEditionSteam.UseVisualStyleBackColor = true; + this.radioButtonEditionSteam.CheckedChanged += new System.EventHandler(this.radioButtonEditionSteam_CheckedChanged); + // + // radioButtonEditionBethesdaNet + // + this.radioButtonEditionBethesdaNet.AutoSize = true; + this.radioButtonEditionBethesdaNet.Location = new System.Drawing.Point(43, 22); + this.radioButtonEditionBethesdaNet.Name = "radioButtonEditionBethesdaNet"; + this.radioButtonEditionBethesdaNet.Size = new System.Drawing.Size(88, 17); + this.radioButtonEditionBethesdaNet.TabIndex = 0; + this.radioButtonEditionBethesdaNet.Text = "Bethesda.net"; + this.radioButtonEditionBethesdaNet.UseVisualStyleBackColor = true; + this.radioButtonEditionBethesdaNet.CheckedChanged += new System.EventHandler(this.radioButtonEditionBethesdaNet_CheckedChanged); + // + // groupBoxGame + // + this.groupBoxGame.Controls.Add(this.listViewGameInstances); + this.groupBoxGame.Location = new System.Drawing.Point(3, 8); + this.groupBoxGame.Name = "groupBoxGame"; + this.groupBoxGame.Size = new System.Drawing.Size(339, 419); + this.groupBoxGame.TabIndex = 44; + this.groupBoxGame.TabStop = false; + this.groupBoxGame.Text = "Game"; + // + // listViewGameInstances + // + this.listViewGameInstances.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) + | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.listViewGameInstances.BorderStyle = System.Windows.Forms.BorderStyle.None; + this.listViewGameInstances.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] { + this.columnHeader1}); + this.listViewGameInstances.ContextMenuStrip = this.contextMenuStripGame; + this.listViewGameInstances.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.listViewGameInstances.FullRowSelect = true; + this.listViewGameInstances.HideSelection = false; + this.listViewGameInstances.Items.AddRange(new System.Windows.Forms.ListViewItem[] { + listViewItem6, + listViewItem7, + listViewItem8, + listViewItem9, + listViewItem10}); + this.listViewGameInstances.LabelWrap = false; + this.listViewGameInstances.LargeImageList = this.imageList1; + this.listViewGameInstances.Location = new System.Drawing.Point(3, 18); + this.listViewGameInstances.MultiSelect = false; + this.listViewGameInstances.Name = "listViewGameInstances"; + this.listViewGameInstances.Size = new System.Drawing.Size(333, 398); + this.listViewGameInstances.SmallImageList = this.imageList1; + this.listViewGameInstances.TabIndex = 21; + this.listViewGameInstances.UseCompatibleStateImageBehavior = false; + this.listViewGameInstances.View = System.Windows.Forms.View.Details; + this.listViewGameInstances.SelectedIndexChanged += new System.EventHandler(this.listViewGameInstances_SelectedIndexChanged); + // + // columnHeader1 + // + this.columnHeader1.Text = "Game"; + this.columnHeader1.Width = 312; + // + // contextMenuStripGame + // + this.contextMenuStripGame.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.gameToolStripMenuItem, + this.launchGameToolStripMenuItem, + this.toolStripSeparator2, + this.renameGameToolStripMenuItem, + this.removeGameToolStripMenuItem}); + this.contextMenuStripGame.Name = "contextMenuStripGame"; + this.contextMenuStripGame.Size = new System.Drawing.Size(118, 98); + this.contextMenuStripGame.Opening += new System.ComponentModel.CancelEventHandler(this.contextMenuStripGame_Opening); + // + // gameToolStripMenuItem + // + this.gameToolStripMenuItem.Enabled = false; + this.gameToolStripMenuItem.Font = new System.Drawing.Font("Segoe UI", 9F, System.Drawing.FontStyle.Italic, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.gameToolStripMenuItem.Name = "gameToolStripMenuItem"; + this.gameToolStripMenuItem.Size = new System.Drawing.Size(117, 22); + this.gameToolStripMenuItem.Text = "Game"; + // + // launchGameToolStripMenuItem + // + this.launchGameToolStripMenuItem.Image = global::Fo76ini.Properties.Resources.play; + this.launchGameToolStripMenuItem.Name = "launchGameToolStripMenuItem"; + this.launchGameToolStripMenuItem.Size = new System.Drawing.Size(117, 22); + this.launchGameToolStripMenuItem.Text = "Launch"; + this.launchGameToolStripMenuItem.Click += new System.EventHandler(this.launchGameToolStripMenuItem_Click); + // + // toolStripSeparator2 + // + this.toolStripSeparator2.Name = "toolStripSeparator2"; + this.toolStripSeparator2.Size = new System.Drawing.Size(114, 6); + // + // renameGameToolStripMenuItem + // + this.renameGameToolStripMenuItem.Image = global::Fo76ini.Properties.Resources.text_24; + this.renameGameToolStripMenuItem.Name = "renameGameToolStripMenuItem"; + this.renameGameToolStripMenuItem.Size = new System.Drawing.Size(117, 22); + this.renameGameToolStripMenuItem.Text = "Rename"; + this.renameGameToolStripMenuItem.Click += new System.EventHandler(this.renameGameToolStripMenuItem_Click); + // + // removeGameToolStripMenuItem + // + this.removeGameToolStripMenuItem.Image = global::Fo76ini.Properties.Resources.delete_24; + this.removeGameToolStripMenuItem.Name = "removeGameToolStripMenuItem"; + this.removeGameToolStripMenuItem.Size = new System.Drawing.Size(117, 22); + this.removeGameToolStripMenuItem.Text = "Remove"; + this.removeGameToolStripMenuItem.Click += new System.EventHandler(this.removeGameToolStripMenuItem_Click); + // + // imageList1 + // + this.imageList1.ImageStream = ((System.Windows.Forms.ImageListStreamer)(resources.GetObject("imageList1.ImageStream"))); + this.imageList1.TransparentColor = System.Drawing.Color.Transparent; + this.imageList1.Images.SetKeyName(0, "help-24.png"); + this.imageList1.Images.SetKeyName(1, "bethesda_24px.png"); + this.imageList1.Images.SetKeyName(2, "steam_24px.png"); + this.imageList1.Images.SetKeyName(3, "msstore_24px.png"); + // + // labelTip + // + this.labelTip.AutoSize = true; + this.labelTip.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.labelTip.ForeColor = System.Drawing.Color.DimGray; + this.labelTip.Location = new System.Drawing.Point(8, 443); + this.labelTip.Name = "labelTip"; + this.labelTip.Size = new System.Drawing.Size(243, 13); + this.labelTip.TabIndex = 43; + this.labelTip.Text = "Tip: Right-click on a game profile for more options."; + // + // toolStrip1 + // + this.toolStrip1.BackColor = System.Drawing.Color.White; + this.toolStrip1.GripMargin = new System.Windows.Forms.Padding(0); + this.toolStrip1.GripStyle = System.Windows.Forms.ToolStripGripStyle.Hidden; + this.toolStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.toolStripButtonAddGame}); + this.toolStrip1.Location = new System.Drawing.Point(3, 3); + this.toolStrip1.Name = "toolStrip1"; + this.toolStrip1.Padding = new System.Windows.Forms.Padding(5); + this.toolStrip1.RenderMode = System.Windows.Forms.ToolStripRenderMode.System; + this.toolStrip1.Size = new System.Drawing.Size(760, 37); + this.toolStrip1.TabIndex = 19; + this.toolStrip1.Text = "toolStrip1"; + // + // toolStripButtonAddGame + // + this.toolStripButtonAddGame.BackColor = System.Drawing.Color.White; + this.toolStripButtonAddGame.Image = global::Fo76ini.Properties.Resources.plus_24; + this.toolStripButtonAddGame.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft; + this.toolStripButtonAddGame.ImageTransparentColor = System.Drawing.Color.Magenta; + this.toolStripButtonAddGame.Name = "toolStripButtonAddGame"; + this.toolStripButtonAddGame.Padding = new System.Windows.Forms.Padding(4, 2, 4, 2); + this.toolStripButtonAddGame.Size = new System.Drawing.Size(90, 24); + this.toolStripButtonAddGame.Text = "Add game"; + this.toolStripButtonAddGame.Click += new System.EventHandler(this.toolStripButtonAddGame_Click); + // + // tabPageNexusMods + // + this.tabPageNexusMods.Controls.Add(this.panel2); + this.tabPageNexusMods.Controls.Add(this.panel3); + this.tabPageNexusMods.Location = new System.Drawing.Point(4, 22); + this.tabPageNexusMods.Name = "tabPageNexusMods"; + this.tabPageNexusMods.Padding = new System.Windows.Forms.Padding(3); + this.tabPageNexusMods.Size = new System.Drawing.Size(766, 508); + this.tabPageNexusMods.TabIndex = 2; + this.tabPageNexusMods.Text = "NexusMods"; + this.tabPageNexusMods.UseVisualStyleBackColor = true; + // + // panel2 + // + this.panel2.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) + | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.panel2.BackColor = System.Drawing.SystemColors.Window; + this.panel2.Controls.Add(this.pictureBoxAPIKeyHelp); + this.panel2.Controls.Add(this.linkLabelAPIKeyHelp); + this.panel2.Controls.Add(this.buttonNMLoginManually); + this.panel2.Controls.Add(this.labelAPIKey); + this.panel2.Controls.Add(this.checkBoxShowAPIKey); + this.panel2.Controls.Add(this.textBoxAPIKey); + this.panel2.Controls.Add(this.label1); + this.panel2.Controls.Add(this.buttonNMLogin); + this.panel2.Controls.Add(this.buttonNWDeleteCache); + this.panel2.Controls.Add(this.buttonNWLogout); + this.panel2.Controls.Add(this.checkBoxNMDownloadThumbnails); + this.panel2.Controls.Add(this.labelNMOptions); + this.panel2.Controls.Add(this.checkBoxNMUpdateProfile); + this.panel2.Controls.Add(this.buttonNMUpdateProfile); + this.panel2.Location = new System.Drawing.Point(0, 169); + this.panel2.Name = "panel2"; + this.panel2.Size = new System.Drawing.Size(766, 339); + this.panel2.TabIndex = 78; + // + // labelAPIKey + // + this.labelAPIKey.AutoSize = true; + this.labelAPIKey.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.labelAPIKey.Location = new System.Drawing.Point(6, 239); + this.labelAPIKey.Name = "labelAPIKey"; + this.labelAPIKey.Size = new System.Drawing.Size(62, 16); + this.labelAPIKey.TabIndex = 109; + this.labelAPIKey.Text = "API Key"; + // + // checkBoxShowAPIKey + // + this.checkBoxShowAPIKey.AutoSize = true; + this.checkBoxShowAPIKey.Location = new System.Drawing.Point(20, 314); + this.checkBoxShowAPIKey.Name = "checkBoxShowAPIKey"; + this.checkBoxShowAPIKey.Size = new System.Drawing.Size(93, 17); + this.checkBoxShowAPIKey.TabIndex = 108; + this.checkBoxShowAPIKey.Text = "Show API key"; + this.checkBoxShowAPIKey.UseVisualStyleBackColor = true; + this.checkBoxShowAPIKey.CheckedChanged += new System.EventHandler(this.checkBoxShowAPIKey_CheckedChanged); + // + // textBoxAPIKey + // + this.textBoxAPIKey.Location = new System.Drawing.Point(20, 288); + this.textBoxAPIKey.Name = "textBoxAPIKey"; + this.textBoxAPIKey.Size = new System.Drawing.Size(726, 20); + this.textBoxAPIKey.TabIndex = 107; + this.textBoxAPIKey.UseSystemPasswordChar = true; + this.textBoxAPIKey.TextChanged += new System.EventHandler(this.textBoxAPIKey_TextChanged); + // + // buttonNMLogin + // + this.buttonNMLogin.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(218)))), ((int)(((byte)(142)))), ((int)(((byte)(53))))); + this.buttonNMLogin.FlatStyle = System.Windows.Forms.FlatStyle.Flat; + this.buttonNMLogin.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.buttonNMLogin.ForeColor = System.Drawing.SystemColors.ControlLightLight; + this.buttonNMLogin.Image = global::Fo76ini.Properties.Resources.login_48; + this.buttonNMLogin.Location = new System.Drawing.Point(20, 23); + this.buttonNMLogin.Name = "buttonNMLogin"; + this.buttonNMLogin.Padding = new System.Windows.Forms.Padding(4); + this.buttonNMLogin.Size = new System.Drawing.Size(120, 120); + this.buttonNMLogin.TabIndex = 105; + this.buttonNMLogin.Text = "Log in"; + this.buttonNMLogin.TextAlign = System.Drawing.ContentAlignment.BottomCenter; + this.buttonNMLogin.UseVisualStyleBackColor = false; + this.buttonNMLogin.Click += new System.EventHandler(this.buttonNMLogin_Click); + // + // buttonNWDeleteCache + // + this.buttonNWDeleteCache.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(160)))), ((int)(((byte)(34)))), ((int)(((byte)(34))))); + this.buttonNWDeleteCache.FlatStyle = System.Windows.Forms.FlatStyle.Flat; + this.buttonNWDeleteCache.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.buttonNWDeleteCache.ForeColor = System.Drawing.SystemColors.ControlLightLight; + this.buttonNWDeleteCache.Image = global::Fo76ini.Properties.Resources.delete_48; + this.buttonNWDeleteCache.Location = new System.Drawing.Point(524, 23); + this.buttonNWDeleteCache.Name = "buttonNWDeleteCache"; + this.buttonNWDeleteCache.Padding = new System.Windows.Forms.Padding(4); + this.buttonNWDeleteCache.Size = new System.Drawing.Size(120, 120); + this.buttonNWDeleteCache.TabIndex = 104; + this.buttonNWDeleteCache.Text = "Delete cache"; + this.buttonNWDeleteCache.TextAlign = System.Drawing.ContentAlignment.BottomCenter; + this.buttonNWDeleteCache.UseVisualStyleBackColor = false; + this.buttonNWDeleteCache.Click += new System.EventHandler(this.buttonNWDeleteCache_Click); + // + // buttonNWLogout + // + this.buttonNWLogout.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(62)))), ((int)(((byte)(128)))), ((int)(((byte)(62))))); + this.buttonNWLogout.FlatStyle = System.Windows.Forms.FlatStyle.Flat; + this.buttonNWLogout.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.buttonNWLogout.ForeColor = System.Drawing.SystemColors.ControlLightLight; + this.buttonNWLogout.Image = global::Fo76ini.Properties.Resources.exit_48; + this.buttonNWLogout.Location = new System.Drawing.Point(272, 23); + this.buttonNWLogout.Name = "buttonNWLogout"; + this.buttonNWLogout.Padding = new System.Windows.Forms.Padding(4); + this.buttonNWLogout.Size = new System.Drawing.Size(120, 120); + this.buttonNWLogout.TabIndex = 103; + this.buttonNWLogout.Text = "Logout"; + this.buttonNWLogout.TextAlign = System.Drawing.ContentAlignment.BottomCenter; + this.buttonNWLogout.UseVisualStyleBackColor = false; + this.buttonNWLogout.Click += new System.EventHandler(this.buttonNWLogout_Click); + // + // checkBoxNMDownloadThumbnails + // + this.checkBoxNMDownloadThumbnails.AutoSize = true; + this.checkBoxNMDownloadThumbnails.Checked = true; + this.checkBoxNMDownloadThumbnails.CheckState = System.Windows.Forms.CheckState.Checked; + this.checkBoxNMDownloadThumbnails.Location = new System.Drawing.Point(20, 200); + this.checkBoxNMDownloadThumbnails.Name = "checkBoxNMDownloadThumbnails"; + this.checkBoxNMDownloadThumbnails.Size = new System.Drawing.Size(127, 17); + this.checkBoxNMDownloadThumbnails.TabIndex = 102; + this.checkBoxNMDownloadThumbnails.Text = "Download thumbnails"; + this.checkBoxNMDownloadThumbnails.UseVisualStyleBackColor = true; + this.checkBoxNMDownloadThumbnails.CheckedChanged += new System.EventHandler(this.checkBoxNMDownloadThumbnails_CheckedChanged); + // + // labelNMOptions + // + this.labelNMOptions.AutoSize = true; + this.labelNMOptions.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.labelNMOptions.Location = new System.Drawing.Point(6, 155); + this.labelNMOptions.Name = "labelNMOptions"; + this.labelNMOptions.Size = new System.Drawing.Size(61, 16); + this.labelNMOptions.TabIndex = 101; + this.labelNMOptions.Text = "Options"; + // + // checkBoxNMUpdateProfile + // + this.checkBoxNMUpdateProfile.AutoSize = true; + this.checkBoxNMUpdateProfile.Checked = true; + this.checkBoxNMUpdateProfile.CheckState = System.Windows.Forms.CheckState.Checked; + this.checkBoxNMUpdateProfile.Location = new System.Drawing.Point(20, 177); + this.checkBoxNMUpdateProfile.Name = "checkBoxNMUpdateProfile"; + this.checkBoxNMUpdateProfile.Size = new System.Drawing.Size(156, 17); + this.checkBoxNMUpdateProfile.TabIndex = 100; + this.checkBoxNMUpdateProfile.Text = "Update profile automatically"; + this.checkBoxNMUpdateProfile.UseVisualStyleBackColor = true; + this.checkBoxNMUpdateProfile.CheckedChanged += new System.EventHandler(this.checkBoxNMUpdateProfile_CheckedChanged); + // + // buttonNMUpdateProfile + // + this.buttonNMUpdateProfile.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(218)))), ((int)(((byte)(142)))), ((int)(((byte)(53))))); + this.buttonNMUpdateProfile.FlatStyle = System.Windows.Forms.FlatStyle.Flat; + this.buttonNMUpdateProfile.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.buttonNMUpdateProfile.ForeColor = System.Drawing.SystemColors.ControlLightLight; + this.buttonNMUpdateProfile.Image = global::Fo76ini.Properties.Resources.available_updates_48; + this.buttonNMUpdateProfile.Location = new System.Drawing.Point(398, 23); + this.buttonNMUpdateProfile.Name = "buttonNMUpdateProfile"; + this.buttonNMUpdateProfile.Padding = new System.Windows.Forms.Padding(4); + this.buttonNMUpdateProfile.Size = new System.Drawing.Size(120, 120); + this.buttonNMUpdateProfile.TabIndex = 94; + this.buttonNMUpdateProfile.Text = "Update profile"; + this.buttonNMUpdateProfile.TextAlign = System.Drawing.ContentAlignment.BottomCenter; + this.buttonNMUpdateProfile.UseVisualStyleBackColor = false; + this.buttonNMUpdateProfile.Click += new System.EventHandler(this.buttonNMUpdateProfile_Click); + // + // panel3 + // + this.panel3.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.panel3.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(24)))), ((int)(((byte)(24)))), ((int)(((byte)(24))))); + this.panel3.Controls.Add(this.labelNMNotLoggedIn); + this.panel3.Controls.Add(this.labelNMUserID); + this.panel3.Controls.Add(this.labelNMDescUserID); + this.panel3.Controls.Add(this.labelNMHourlyRateLimit); + this.panel3.Controls.Add(this.labelNMDescHourlyRateLimit); + this.panel3.Controls.Add(this.pictureBoxNMProfilePicture); + this.panel3.Controls.Add(this.labelNMUserName); + this.panel3.Controls.Add(this.labelNMDescMembership); + this.panel3.Controls.Add(this.labelNMDailyRateLimitReset); + this.panel3.Controls.Add(this.labelNMMembership); + this.panel3.Controls.Add(this.labelNMDescLimitReset); + this.panel3.Controls.Add(this.labelNMDescDailyRateLimit); + this.panel3.Controls.Add(this.labelNMDailyRateLimit); + this.panel3.Location = new System.Drawing.Point(0, 0); + this.panel3.Name = "panel3"; + this.panel3.Size = new System.Drawing.Size(766, 170); + this.panel3.TabIndex = 77; + // + // labelNMNotLoggedIn + // + this.labelNMNotLoggedIn.AutoSize = true; + this.labelNMNotLoggedIn.ForeColor = System.Drawing.SystemColors.ControlLightLight; + this.labelNMNotLoggedIn.Location = new System.Drawing.Point(173, 57); + this.labelNMNotLoggedIn.Name = "labelNMNotLoggedIn"; + this.labelNMNotLoggedIn.Size = new System.Drawing.Size(73, 13); + this.labelNMNotLoggedIn.TabIndex = 80; + this.labelNMNotLoggedIn.Text = "Not logged in."; + // + // labelNMUserID + // + this.labelNMUserID.AutoSize = true; + this.labelNMUserID.ForeColor = System.Drawing.SystemColors.ControlLightLight; + this.labelNMUserID.Location = new System.Drawing.Point(296, 85); + this.labelNMUserID.Name = "labelNMUserID"; + this.labelNMUserID.Size = new System.Drawing.Size(16, 13); + this.labelNMUserID.TabIndex = 79; + this.labelNMUserID.Text = "-1"; + // + // labelNMDescUserID + // + this.labelNMDescUserID.AutoSize = true; + this.labelNMDescUserID.ForeColor = System.Drawing.SystemColors.ControlLightLight; + this.labelNMDescUserID.Location = new System.Drawing.Point(173, 85); + this.labelNMDescUserID.Name = "labelNMDescUserID"; + this.labelNMDescUserID.Size = new System.Drawing.Size(46, 13); + this.labelNMDescUserID.TabIndex = 78; + this.labelNMDescUserID.Text = "User-ID:"; + // + // labelNMHourlyRateLimit + // + this.labelNMHourlyRateLimit.AutoSize = true; + this.labelNMHourlyRateLimit.ForeColor = System.Drawing.SystemColors.ControlLightLight; + this.labelNMHourlyRateLimit.Location = new System.Drawing.Point(585, 85); + this.labelNMHourlyRateLimit.Name = "labelNMHourlyRateLimit"; + this.labelNMHourlyRateLimit.Size = new System.Drawing.Size(30, 13); + this.labelNMHourlyRateLimit.TabIndex = 77; + this.labelNMHourlyRateLimit.Text = "0 left"; + // + // labelNMDescHourlyRateLimit + // + this.labelNMDescHourlyRateLimit.AutoSize = true; + this.labelNMDescHourlyRateLimit.ForeColor = System.Drawing.SystemColors.ControlLightLight; + this.labelNMDescHourlyRateLimit.Location = new System.Drawing.Point(457, 85); + this.labelNMDescHourlyRateLimit.Name = "labelNMDescHourlyRateLimit"; + this.labelNMDescHourlyRateLimit.Size = new System.Drawing.Size(81, 13); + this.labelNMDescHourlyRateLimit.TabIndex = 76; + this.labelNMDescHourlyRateLimit.Text = "Hourly rate limit:"; + // + // pictureBoxNMProfilePicture + // + this.pictureBoxNMProfilePicture.Cursor = System.Windows.Forms.Cursors.Hand; + this.pictureBoxNMProfilePicture.Image = ((System.Drawing.Image)(resources.GetObject("pictureBoxNMProfilePicture.Image"))); + this.pictureBoxNMProfilePicture.Location = new System.Drawing.Point(20, 20); + this.pictureBoxNMProfilePicture.Name = "pictureBoxNMProfilePicture"; + this.pictureBoxNMProfilePicture.Size = new System.Drawing.Size(128, 128); + this.pictureBoxNMProfilePicture.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage; + this.pictureBoxNMProfilePicture.TabIndex = 65; + this.pictureBoxNMProfilePicture.TabStop = false; + this.pictureBoxNMProfilePicture.Click += new System.EventHandler(this.pictureBoxNMProfilePicture_Click); + // + // labelNMUserName + // + this.labelNMUserName.AutoSize = true; + this.labelNMUserName.Font = new System.Drawing.Font("Microsoft Sans Serif", 21.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.labelNMUserName.ForeColor = System.Drawing.SystemColors.ControlLightLight; + this.labelNMUserName.Location = new System.Drawing.Point(170, 20); + this.labelNMUserName.Name = "labelNMUserName"; + this.labelNMUserName.Size = new System.Drawing.Size(169, 33); + this.labelNMUserName.TabIndex = 66; + this.labelNMUserName.Text = "Anonymous"; + // + // labelNMDescMembership + // + this.labelNMDescMembership.AutoSize = true; + this.labelNMDescMembership.ForeColor = System.Drawing.SystemColors.ControlLightLight; + this.labelNMDescMembership.Location = new System.Drawing.Point(173, 64); + this.labelNMDescMembership.Name = "labelNMDescMembership"; + this.labelNMDescMembership.Size = new System.Drawing.Size(67, 13); + this.labelNMDescMembership.TabIndex = 67; + this.labelNMDescMembership.Text = "Membership:"; + // + // labelNMDailyRateLimitReset + // + this.labelNMDailyRateLimitReset.AutoSize = true; + this.labelNMDailyRateLimitReset.ForeColor = System.Drawing.SystemColors.ControlLightLight; + this.labelNMDailyRateLimitReset.Location = new System.Drawing.Point(585, 107); + this.labelNMDailyRateLimitReset.Name = "labelNMDailyRateLimitReset"; + this.labelNMDailyRateLimitReset.Size = new System.Drawing.Size(36, 13); + this.labelNMDailyRateLimitReset.TabIndex = 72; + this.labelNMDailyRateLimitReset.Text = "Never"; + // + // labelNMMembership + // + this.labelNMMembership.AutoSize = true; + this.labelNMMembership.ForeColor = System.Drawing.SystemColors.ControlLightLight; + this.labelNMMembership.Location = new System.Drawing.Point(296, 64); + this.labelNMMembership.Name = "labelNMMembership"; + this.labelNMMembership.Size = new System.Drawing.Size(33, 13); + this.labelNMMembership.TabIndex = 68; + this.labelNMMembership.Text = "Basic"; + // + // labelNMDescLimitReset + // + this.labelNMDescLimitReset.AutoSize = true; + this.labelNMDescLimitReset.ForeColor = System.Drawing.SystemColors.ControlLightLight; + this.labelNMDescLimitReset.Location = new System.Drawing.Point(457, 107); + this.labelNMDescLimitReset.Name = "labelNMDescLimitReset"; + this.labelNMDescLimitReset.Size = new System.Drawing.Size(57, 13); + this.labelNMDescLimitReset.TabIndex = 71; + this.labelNMDescLimitReset.Text = "Limit reset:"; + // + // labelNMDescDailyRateLimit + // + this.labelNMDescDailyRateLimit.AutoSize = true; + this.labelNMDescDailyRateLimit.ForeColor = System.Drawing.SystemColors.ControlLightLight; + this.labelNMDescDailyRateLimit.Location = new System.Drawing.Point(457, 64); + this.labelNMDescDailyRateLimit.Name = "labelNMDescDailyRateLimit"; + this.labelNMDescDailyRateLimit.Size = new System.Drawing.Size(74, 13); + this.labelNMDescDailyRateLimit.TabIndex = 69; + this.labelNMDescDailyRateLimit.Text = "Daily rate limit:"; + // + // labelNMDailyRateLimit + // + this.labelNMDailyRateLimit.AutoSize = true; + this.labelNMDailyRateLimit.ForeColor = System.Drawing.SystemColors.ControlLightLight; + this.labelNMDailyRateLimit.Location = new System.Drawing.Point(585, 64); + this.labelNMDailyRateLimit.Name = "labelNMDailyRateLimit"; + this.labelNMDailyRateLimit.Size = new System.Drawing.Size(30, 13); + this.labelNMDailyRateLimit.TabIndex = 70; + this.labelNMDailyRateLimit.Text = "0 left"; + // + // toolTip + // + this.toolTip.AutoPopDelay = 20000; + this.toolTip.InitialDelay = 500; + this.toolTip.IsBalloon = true; + this.toolTip.ReshowDelay = 100; + // + // openFileDialogGamePath + // + this.openFileDialogGamePath.FileName = "Fallout76.exe"; + this.openFileDialogGamePath.Filter = "Executable|*.exe"; + this.openFileDialogGamePath.FilterIndex = 2; + // + // backgroundWorkerDownloadLanguages + // + this.backgroundWorkerDownloadLanguages.DoWork += new System.ComponentModel.DoWorkEventHandler(this.backgroundWorkerDownloadLanguages_DoWork); + // + // backgroundWorkerRetrieveProfileInfo + // + this.backgroundWorkerRetrieveProfileInfo.DoWork += new System.ComponentModel.DoWorkEventHandler(this.backgroundWorkerRetrieveProfileInfo_DoWork); + // + // backgroundWorkerSSOLogin + // + this.backgroundWorkerSSOLogin.DoWork += new System.ComponentModel.DoWorkEventHandler(this.backgroundWorkerSSOLogin_DoWork); + // + // buttonNMLoginManually + // + this.buttonNMLoginManually.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(218)))), ((int)(((byte)(142)))), ((int)(((byte)(53))))); + this.buttonNMLoginManually.FlatStyle = System.Windows.Forms.FlatStyle.Flat; + this.buttonNMLoginManually.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.buttonNMLoginManually.ForeColor = System.Drawing.SystemColors.ControlLightLight; + this.buttonNMLoginManually.Image = global::Fo76ini.Properties.Resources.login_48; + this.buttonNMLoginManually.Location = new System.Drawing.Point(146, 23); + this.buttonNMLoginManually.Name = "buttonNMLoginManually"; + this.buttonNMLoginManually.Padding = new System.Windows.Forms.Padding(4); + this.buttonNMLoginManually.Size = new System.Drawing.Size(120, 120); + this.buttonNMLoginManually.TabIndex = 110; + this.buttonNMLoginManually.Text = "Log in with key"; + this.buttonNMLoginManually.TextAlign = System.Drawing.ContentAlignment.BottomCenter; + this.buttonNMLoginManually.UseVisualStyleBackColor = false; + this.buttonNMLoginManually.Click += new System.EventHandler(this.buttonNMLoginManually_Click); + // + // linkLabelAPIKeyHelp + // + this.linkLabelAPIKeyHelp.AutoSize = true; + this.linkLabelAPIKeyHelp.Location = new System.Drawing.Point(51, 264); + this.linkLabelAPIKeyHelp.Name = "linkLabelAPIKeyHelp"; + this.linkLabelAPIKeyHelp.Size = new System.Drawing.Size(158, 13); + this.linkLabelAPIKeyHelp.TabIndex = 111; + this.linkLabelAPIKeyHelp.TabStop = true; + this.linkLabelAPIKeyHelp.Text = "How do I login with an API key?"; + this.linkLabelAPIKeyHelp.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.linkLabelAPIKeyHelp_LinkClicked); + // + // pictureBoxAPIKeyHelp + // + this.pictureBoxAPIKeyHelp.Image = global::Fo76ini.Properties.Resources.help_24; + this.pictureBoxAPIKeyHelp.Location = new System.Drawing.Point(20, 258); + this.pictureBoxAPIKeyHelp.Name = "pictureBoxAPIKeyHelp"; + this.pictureBoxAPIKeyHelp.Size = new System.Drawing.Size(24, 24); + this.pictureBoxAPIKeyHelp.TabIndex = 112; + this.pictureBoxAPIKeyHelp.TabStop = false; + // + // label1 + // + this.label1.AutoSize = true; + this.label1.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.label1.Location = new System.Drawing.Point(6, 4); + this.label1.Name = "label1"; + this.label1.Size = new System.Drawing.Size(59, 16); + this.label1.TabIndex = 106; + this.label1.Text = "Actions"; + // + // FormSettings + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(796, 561); + this.Controls.Add(this.tabControl1); + this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog; + this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); + this.MaximizeBox = false; + this.MinimizeBox = false; + this.Name = "FormSettings"; + this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent; + this.Text = "Settings"; + this.Load += new System.EventHandler(this.FormSettings_Load); + this.tabControl1.ResumeLayout(false); + this.tabPageGeneral.ResumeLayout(false); + this.groupBoxActions.ResumeLayout(false); + this.groupBoxActions.PerformLayout(); + this.groupBoxOptions.ResumeLayout(false); + this.groupBoxOptions.PerformLayout(); + this.groupBoxNuclearWinterMode.ResumeLayout(false); + this.groupBoxNuclearWinterMode.PerformLayout(); + this.groupBoxBehavior.ResumeLayout(false); + this.groupBoxBehavior.PerformLayout(); + this.groupBoxLocalization.ResumeLayout(false); + this.groupBoxLocalization.PerformLayout(); + ((System.ComponentModel.ISupportInitialize)(this.pictureBoxSpinnerDownloadLanguages)).EndInit(); + this.tabPageGameProfiles.ResumeLayout(false); + this.tabPageGameProfiles.PerformLayout(); + this.panel1.ResumeLayout(false); + this.panel1.PerformLayout(); + this.groupBoxSettings.ResumeLayout(false); + this.panelSettings.ResumeLayout(false); + this.groupBox2.ResumeLayout(false); + this.groupBox2.PerformLayout(); + this.groupBoxLaunchOptions.ResumeLayout(false); + this.groupBoxLaunchOptions.PerformLayout(); + this.groupBoxGameLocation.ResumeLayout(false); + this.groupBoxGameLocation.PerformLayout(); + this.groupBoxGameEdition.ResumeLayout(false); + this.groupBoxGameEdition.PerformLayout(); + ((System.ComponentModel.ISupportInitialize)(this.pictureBoxUnknown)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.pictureBoxMSStore)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.pictureBoxSteam)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.pictureBoxBethesdaNetPTS)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.pictureBoxBethesdaNet)).EndInit(); + this.groupBoxGame.ResumeLayout(false); + this.contextMenuStripGame.ResumeLayout(false); + this.toolStrip1.ResumeLayout(false); + this.toolStrip1.PerformLayout(); + this.tabPageNexusMods.ResumeLayout(false); + this.panel2.ResumeLayout(false); + this.panel2.PerformLayout(); + this.panel3.ResumeLayout(false); + this.panel3.PerformLayout(); + ((System.ComponentModel.ISupportInitialize)(this.pictureBoxNMProfilePicture)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.pictureBoxAPIKeyHelp)).EndInit(); + this.ResumeLayout(false); + + } + + #endregion + + private System.Windows.Forms.TabControl tabControl1; + private System.Windows.Forms.TabPage tabPageGeneral; + private System.Windows.Forms.TabPage tabPageGameProfiles; + private System.Windows.Forms.TabPage tabPageNexusMods; + private System.Windows.Forms.GroupBox groupBoxLocalization; + private System.Windows.Forms.Button buttonRefreshLanguage; + private System.Windows.Forms.PictureBox pictureBoxSpinnerDownloadLanguages; + public System.Windows.Forms.Label labelOutdatedLanguage; + private System.Windows.Forms.Label labelLanguage; + private System.Windows.Forms.Button buttonDownloadLanguages; + private System.Windows.Forms.ComboBox comboBoxLanguage; + private System.Windows.Forms.GroupBox groupBoxBehavior; + private System.Windows.Forms.CheckBox checkBoxPlayNotificationSound; + private System.Windows.Forms.CheckBox checkBoxIgnoreUpdates; + private System.Windows.Forms.CheckBox checkBoxQuitOnGameLaunch; + private System.Windows.Forms.CheckBox checkBoxAutoApply; + private System.Windows.Forms.GroupBox groupBoxNuclearWinterMode; + private System.Windows.Forms.CheckBox checkBoxNWAutoDeployMods; + private System.Windows.Forms.Label labelNWmodoptions; + private System.Windows.Forms.Label labelNWdlloptions; + private System.Windows.Forms.CheckBox checkBoxNWAutoDisableMods; + private System.Windows.Forms.CheckBox checkBoxNWRenameDLL; + private System.Windows.Forms.Panel panel1; + private System.Windows.Forms.Label labelTip; + private System.Windows.Forms.Panel panelSettings; + private System.Windows.Forms.GroupBox groupBox2; + private System.Windows.Forms.TextBox textBoxLaunchURL; + private System.Windows.Forms.Label labelLaunchURL; + private System.Windows.Forms.TextBox textBoxParameters; + private System.Windows.Forms.Label labelParameters; + private System.Windows.Forms.TextBox textBoxExecutable; + private System.Windows.Forms.Label labelExecutable; + private System.Windows.Forms.TextBox textBoxIniPrefix; + private System.Windows.Forms.Label labelIniPrefix; + private System.Windows.Forms.GroupBox groupBoxLaunchOptions; + private System.Windows.Forms.Label labelLaunchOptionMSStoreNotice; + private System.Windows.Forms.RadioButton radioButtonLaunchViaExecutable; + private System.Windows.Forms.RadioButton radioButtonLaunchViaLink; + private System.Windows.Forms.GroupBox groupBoxGameLocation; + private System.Windows.Forms.Button buttonAutoDetect; + private System.Windows.Forms.TextBox textBoxGamePath; + private System.Windows.Forms.Button buttonPickGamePath; + private System.Windows.Forms.GroupBox groupBoxGameEdition; + private System.Windows.Forms.PictureBox pictureBoxMSStore; + private System.Windows.Forms.PictureBox pictureBoxSteam; + private System.Windows.Forms.PictureBox pictureBoxBethesdaNetPTS; + private System.Windows.Forms.PictureBox pictureBoxBethesdaNet; + private System.Windows.Forms.RadioButton radioButtonEditionMSStore; + private System.Windows.Forms.RadioButton radioButtonEditionBethesdaNetPTS; + private System.Windows.Forms.RadioButton radioButtonEditionSteam; + private System.Windows.Forms.RadioButton radioButtonEditionBethesdaNet; + private System.Windows.Forms.ListView listViewGameInstances; + private System.Windows.Forms.ColumnHeader columnHeader1; + private System.Windows.Forms.ToolStrip toolStrip1; + private System.Windows.Forms.ToolStripButton toolStripButtonAddGame; + private System.Windows.Forms.Panel panel3; + private System.Windows.Forms.Label labelNMNotLoggedIn; + private System.Windows.Forms.Label labelNMUserID; + private System.Windows.Forms.Label labelNMDescUserID; + private System.Windows.Forms.Label labelNMHourlyRateLimit; + private System.Windows.Forms.Label labelNMDescHourlyRateLimit; + private System.Windows.Forms.PictureBox pictureBoxNMProfilePicture; + private System.Windows.Forms.Label labelNMUserName; + private System.Windows.Forms.Label labelNMDescMembership; + private System.Windows.Forms.Label labelNMDailyRateLimitReset; + private System.Windows.Forms.Label labelNMMembership; + private System.Windows.Forms.Label labelNMDescLimitReset; + private System.Windows.Forms.Label labelNMDescDailyRateLimit; + private System.Windows.Forms.Label labelNMDailyRateLimit; + private System.Windows.Forms.Panel panel2; + private System.Windows.Forms.Button buttonNWDeleteCache; + private System.Windows.Forms.Button buttonNWLogout; + private System.Windows.Forms.CheckBox checkBoxNMDownloadThumbnails; + private System.Windows.Forms.Label labelNMOptions; + private System.Windows.Forms.CheckBox checkBoxNMUpdateProfile; + private System.Windows.Forms.Button buttonNMUpdateProfile; + public System.Windows.Forms.ToolTip toolTip; + private System.Windows.Forms.ImageList imageList1; + private System.Windows.Forms.OpenFileDialog openFileDialogGamePath; + private System.Windows.Forms.ContextMenuStrip contextMenuStripGame; + private System.Windows.Forms.ToolStripMenuItem gameToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem launchGameToolStripMenuItem; + private System.Windows.Forms.ToolStripSeparator toolStripSeparator2; + private System.Windows.Forms.ToolStripMenuItem renameGameToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem removeGameToolStripMenuItem; + private System.ComponentModel.BackgroundWorker backgroundWorkerDownloadLanguages; + private System.Windows.Forms.GroupBox groupBoxSettings; + private System.Windows.Forms.GroupBox groupBoxGame; + private System.Windows.Forms.GroupBox groupBoxOptions; + private System.Windows.Forms.CheckBox checkBoxReadOnly; + private System.ComponentModel.BackgroundWorker backgroundWorkerRetrieveProfileInfo; + private System.Windows.Forms.RadioButton radioButtonEditionUnknown; + private System.Windows.Forms.PictureBox pictureBoxUnknown; + private System.Windows.Forms.GroupBox groupBoxActions; + private System.Windows.Forms.LinkLabel linkLabelEnableDangerZone; + private System.Windows.Forms.Button buttonNMLogin; + private System.ComponentModel.BackgroundWorker backgroundWorkerSSOLogin; + private System.Windows.Forms.Label labelAPIKey; + private System.Windows.Forms.CheckBox checkBoxShowAPIKey; + private System.Windows.Forms.TextBox textBoxAPIKey; + private System.Windows.Forms.Button buttonNMLoginManually; + private System.Windows.Forms.PictureBox pictureBoxAPIKeyHelp; + private System.Windows.Forms.LinkLabel linkLabelAPIKeyHelp; + private System.Windows.Forms.Label label1; + } +} \ No newline at end of file diff --git a/Fo76ini/Forms/FormSettings/FormSettings.cs b/Fo76ini/Forms/FormSettings/FormSettings.cs new file mode 100644 index 0000000..d4d83c4 --- /dev/null +++ b/Fo76ini/Forms/FormSettings/FormSettings.cs @@ -0,0 +1,843 @@ +using Fo76ini.Forms.FormTextPrompt; +using Fo76ini.Interface; +using Fo76ini.NexusAPI; +using Fo76ini.Profiles; +using Fo76ini.Properties; +using Fo76ini.Tweaks; +using Fo76ini.Tweaks.Config; +using Fo76ini.Tweaks.Inis; +using Fo76ini.Tweaks.NuclearWinterMode; +using Fo76ini.Utilities; +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.IO; +using System.Linq; +using System.Net; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; + +namespace Fo76ini.Forms.FormSettings +{ + public partial class FormSettings : Form + { + private bool UpdatingUI = false; + + public static event EventHandler SettingsClosing; + + public static bool DangerZoneEnabled = false; + + public FormSettings() + { + InitializeComponent(); + + // Make this form translatable: + Localization.LocalizedForms.Add(new LocalizedForm(this, toolTip)); + + // Handle translations: + Translation.LanguageChanged += OnLanguageChanged; + + // Assign a dropdown menu to hold languages: + Localization.AssignDropDown(this.comboBoxLanguage); + + Translation.BlackList.AddRange(new string[] { + "buttonDownloadLanguages", + "buttonRefreshLanguage", + "labelNMUserID", + "labelNMHourlyRateLimit", + "labelNMAPIKeyStatus", + "labelNMUserName", + "labelNMDailyRateLimitReset", + "labelNMMembership", + "labelNMDailyRateLimit" + }); + + // Link tweaks + LinkInfo(); + LinkControlsToTweaks(); + + // Load NexusMods + NexusMods.Load(); + + + // Init components / assign event handler: + this.listViewGameInstances.HeaderStyle = ColumnHeaderStyle.None; + + this.backgroundWorkerDownloadLanguages.RunWorkerCompleted += backgroundWorkerDownloadLanguages_RunWorkerCompleted; + this.backgroundWorkerRetrieveProfileInfo.RunWorkerCompleted += backgroundWorkerRetrieveProfileInfo_RunWorkerCompleted; + this.FormClosing += FormSettings_FormClosing; + + SingleSignOn.SSOFinished += SingleSignOn_SSOFinished; + } + + private void FormSettings_Load(object sender, EventArgs e) + { + LinkedTweaks.LoadValues(); + UpdateGamesTab(); + RefreshNMUI(); + if (IniFiles.Config.GetBool("NexusMods", "bAutoUpdateProfile", true)) + UpdateNMProfile(); + } + + private void FormSettings_FormClosing(object sender, FormClosingEventArgs e) + { + if (e.CloseReason == CloseReason.UserClosing) + { + e.Cancel = true; + ProfileManager.Save(); + ProfileManager.Feedback(); + if (SettingsClosing != null) + SettingsClosing(this, null); + this.Hide(); + } + } + + /// + /// Opens the "General" tab and shows the form as a modal dialog box (ShowDialog). + /// + public void ShowSettings() + { + this.tabControl1.SelectedTab = this.tabPageGeneral; + this.ShowDialog(); + } + + /// + /// Opens the "Game profiles" tab and shows the form as a modal dialog box (ShowDialog). + /// + public void ShowProfiles() + { + this.tabControl1.SelectedTab = this.tabPageGameProfiles; + this.ShowDialog(); + } + + #region General + + public void LinkInfo() + { + LinkedTweaks.LinkInfo(checkBoxReadOnly, toolTip, iniReadOnlyTweak); + LinkedTweaks.LinkInfo(checkBoxAutoApply, toolTip, autoApplyTweak); + LinkedTweaks.LinkInfo(checkBoxIgnoreUpdates, toolTip, ignoreUpdatesTweak); + LinkedTweaks.LinkInfo(checkBoxPlayNotificationSound, toolTip, playNotificationSoundsTweak); + LinkedTweaks.LinkInfo(checkBoxQuitOnGameLaunch, toolTip, toolQuitOnLaunchTweak); + LinkedTweaks.LinkInfo(checkBoxNWRenameDLL, toolTip, renameDLLsTweak); + LinkedTweaks.LinkInfo(checkBoxNWAutoDeployMods, toolTip, deployModsOnNWModeTweak); + LinkedTweaks.LinkInfo(checkBoxNWAutoDisableMods, toolTip, removeModsOnNWModeTweak); + } + + public void LinkControlsToTweaks() + { + // Make *.ini files read-only + LinkedTweaks.LinkTweak(checkBoxReadOnly, iniReadOnlyTweak); + + // Automatically apply changes when tool is closed or game is launched + LinkedTweaks.LinkTweak(checkBoxAutoApply, autoApplyTweak); + + // Don't check for updates on startup. + LinkedTweaks.LinkTweak(checkBoxIgnoreUpdates, ignoreUpdatesTweak); + + // Play notification sounds + LinkedTweaks.LinkTweak(checkBoxPlayNotificationSound, playNotificationSoundsTweak); + + // Close the tool when the game is launched. + LinkedTweaks.LinkTweak(checkBoxQuitOnGameLaunch, toolQuitOnLaunchTweak); + + + /* + * Nuclear Winter options + */ + + // Rename added *.dll files + LinkedTweaks.LinkTweak(checkBoxNWRenameDLL, renameDLLsTweak); + + // Automatically deploy mods + LinkedTweaks.LinkTweak(checkBoxNWAutoDeployMods, deployModsOnNWModeTweak); + + // Automatically remove mods + LinkedTweaks.LinkTweak(checkBoxNWAutoDisableMods, removeModsOnNWModeTweak); + } + + private void linkLabelEnableDangerZone_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) + { + if (MsgBox.Show("Warning", "Tweaks in the danger zone might introduce graphical glitches or make the game crash.\nAre you sure you want to enable it?", MessageBoxButtons.YesNo, MessageBoxIcon.Warning) + == DialogResult.Yes) + { + DangerZoneEnabled = true; + this.linkLabelEnableDangerZone.Enabled = false; + } + } + + private void checkBoxIgnoreUpdates_CheckedChanged(object sender, EventArgs e) + { + // TODO: When checkBoxIgnoreUpdates gets checked, call Form1.CheckVersion + } + + #endregion + + #region Profiles + + private void UpdateGamesTab() + { + UpdatingUI = true; + + // For each managed game instance... + this.listViewGameInstances.Items.Clear(); + foreach (GameInstance game in ProfileManager.Games) + { + // ... add it to the list. + ListViewItem gameItem = new ListViewItem(game.Title, GetImageIndex(game.Edition)); + this.listViewGameInstances.Items.Add(gameItem); + + // If it is the currently selected game, then... + if (ProfileManager.IsSelected(game)) + { + // ... select it in the list ... + gameItem.Selected = true; + + // ... set the title of the window ... + //this.Text = $"Profiles ({game.Title})"; + + // ... fill the list of profiles: + /*this.listBoxProfile.Items.Clear(); + int i = 0; + foreach (Profile profile in game.Profiles) + { + this.listBoxProfile.Items.Add(profile.Name); + if (game.SelectedProfile.guid == profile.guid) + this.listBoxProfile.SelectedIndex = i; + i++; + }*/ + + // ... and update the settings: + switch (game.Edition) + { + case GameEdition.BethesdaNet: + this.radioButtonEditionBethesdaNet.Checked = true; + break; + case GameEdition.BethesdaNetPTS: + this.radioButtonEditionBethesdaNetPTS.Checked = true; + break; + case GameEdition.Steam: + this.radioButtonEditionSteam.Checked = true; + break; + case GameEdition.MSStore: + this.radioButtonEditionMSStore.Checked = true; + break; + default: + this.radioButtonEditionUnknown.Checked = true; + break; + } + + this.radioButtonLaunchViaLink.Checked = game.PreferredLaunchOption == LaunchOption.OpenURL; + this.radioButtonLaunchViaExecutable.Checked = game.PreferredLaunchOption == LaunchOption.RunExec; + + this.textBoxGamePath.Text = game.GamePath; + this.textBoxExecutable.Text = game.ExecutableName; + this.textBoxIniPrefix.Text = game.IniPrefix; + this.textBoxParameters.Text = game.ExecParameters; + this.textBoxLaunchURL.Text = game.LauncherURL; + + this.labelLaunchOptionMSStoreNotice.Visible = game.Edition == GameEdition.MSStore; + } + } + + UpdatingUI = false; + } + + private int GetImageIndex(GameEdition edition) + { + switch (edition) + { + case GameEdition.BethesdaNet: + case GameEdition.BethesdaNetPTS: + return 1; + case GameEdition.Steam: + return 2; + case GameEdition.MSStore: + return 3; + default: + return 0; + } + } + + + private void listViewGameInstances_SelectedIndexChanged(object sender, EventArgs e) + { + if (UpdatingUI) + return; + if (this.listViewGameInstances.SelectedItems != null && this.listViewGameInstances.SelectedItems.Count > 0) + { + int index = this.listViewGameInstances.SelectedItems[0].Index; + if (ProfileManager.SelectedGameIndex != index) + { + ProfileManager.SelectedGameIndex = index; + UpdateGamesTab(); + } + } + } + + private void radioButtonEditionBethesdaNet_CheckedChanged(object sender, EventArgs e) + { + if (UpdatingUI) + return; + ProfileManager.SelectedGame.Edition = GameEdition.BethesdaNet; + ProfileManager.SelectedGame.SetDefaultSettings(GameEdition.BethesdaNet); + UpdateGamesTab(); + } + + private void radioButtonEditionBethesdaNetPTS_CheckedChanged(object sender, EventArgs e) + { + if (UpdatingUI) + return; + ProfileManager.SelectedGame.Edition = GameEdition.BethesdaNetPTS; + ProfileManager.SelectedGame.SetDefaultSettings(GameEdition.BethesdaNetPTS); + UpdateGamesTab(); + } + + private void radioButtonEditionSteam_CheckedChanged(object sender, EventArgs e) + { + if (UpdatingUI) + return; + ProfileManager.SelectedGame.Edition = GameEdition.Steam; + ProfileManager.SelectedGame.SetDefaultSettings(GameEdition.Steam); + UpdateGamesTab(); + } + + private void radioButtonEditionMSStore_CheckedChanged(object sender, EventArgs e) + { + if (UpdatingUI) + return; + ProfileManager.SelectedGame.Edition = GameEdition.MSStore; + ProfileManager.SelectedGame.SetDefaultSettings(GameEdition.MSStore); + UpdateGamesTab(); + } + + private void radioButtonEditionUnknown_CheckedChanged(object sender, EventArgs e) + { + if (UpdatingUI) + return; + ProfileManager.SelectedGame.Edition = GameEdition.Unknown; + UpdateGamesTab(); + } + + private void textBoxGamePath_TextChanged(object sender, EventArgs e) + { + if (UpdatingUI) + return; + ProfileManager.SelectedGame.GamePath = this.textBoxGamePath.Text; + this.textBoxGamePath.ForeColor = ProfileManager.SelectedGame.ValidateGamePath() ? Color.Black : Color.Maroon; + } + + private void buttonPickGamePath_Click(object sender, EventArgs e) + { + if (UpdatingUI) + return; + this.openFileDialogGamePath.FileName = ProfileManager.SelectedGame.ExecutableName; + if (this.openFileDialogGamePath.ShowDialog() == DialogResult.OK) + { + string path = Path.GetDirectoryName(this.openFileDialogGamePath.FileName); // We want the path where Fallout76.exe resides. + if (GameInstance.ValidateGamePath(path)) + { + this.textBoxGamePath.Text = path; + ProfileManager.SelectedGame.GamePath = path; + UpdateGamesTab(); + } + else + MsgBox.ShowID("modsGamePathInvalid"); + } + } + + public static string AutoDetectGamePath () + { + // Search most common installation directories (probably good enough for now): + string foundPath = null; + string steamPath = @"C:\Program Files(x86)\Steam\steamapps\common\Fallout76"; + string bethNetPath = @"C:\Program Files (x86)\Bethesda.net Launcher\games\Fallout76"; + string xboxPathC = @"C:\Program Files\ModifiableWindowsApps\Fallout76"; + string xboxPathD = @"D:\Program Files\ModifiableWindowsApps\Fallout76"; + + GameEdition edition = ProfileManager.SelectedGame.Edition; + + if (edition == GameEdition.Steam && GameInstance.ValidateGamePath(steamPath)) + foundPath = steamPath; + + if ((edition == GameEdition.BethesdaNet || edition == GameEdition.BethesdaNetPTS) && GameInstance.ValidateGamePath(bethNetPath)) + foundPath = bethNetPath; + + if (edition == GameEdition.MSStore && GameInstance.ValidateGamePath(xboxPathC)) + foundPath = xboxPathC; + + if (edition == GameEdition.MSStore && GameInstance.ValidateGamePath(xboxPathD)) + foundPath = xboxPathD; + + /* + Registry? I only found this: + Path: Computer\HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall\Fallout 76 + Name: Path + Type: REG_SZ + Data: "D:\Bethesda.net\Fallout76" + */ + + return foundPath; + } + + private void buttonAutoDetect_Click(object sender, EventArgs e) + { + string foundPath = AutoDetectGamePath(); + if (foundPath != null) + TextPrompt.Prompt("Found a path. Proceed?", foundPath, (newPath) => this.textBoxGamePath.Text = newPath); + else + MsgBox.ShowID("gamePathAutoDetectFailed", MessageBoxIcon.Information); + } + + private void radioButtonLaunchViaLink_CheckedChanged(object sender, EventArgs e) + { + if (UpdatingUI) + return; + ProfileManager.SelectedGame.PreferredLaunchOption = LaunchOption.OpenURL; + } + + private void radioButtonLaunchViaExecutable_CheckedChanged(object sender, EventArgs e) + { + if (UpdatingUI) + return; + ProfileManager.SelectedGame.PreferredLaunchOption = LaunchOption.RunExec; + } + + private void textBoxIniPrefix_TextChanged(object sender, EventArgs e) + { + if (UpdatingUI) + return; + ProfileManager.SelectedGame.IniPrefix = this.textBoxIniPrefix.Text; + } + + private void textBoxExecutable_TextChanged(object sender, EventArgs e) + { + if (UpdatingUI) + return; + ProfileManager.SelectedGame.ExecutableName = this.textBoxExecutable.Text; + } + + private void textBoxParameters_TextChanged(object sender, EventArgs e) + { + if (UpdatingUI) + return; + ProfileManager.SelectedGame.ExecParameters = this.textBoxParameters.Text; + } + + private void textBoxLaunchURL_TextChanged(object sender, EventArgs e) + { + if (UpdatingUI) + return; + ProfileManager.SelectedGame.LauncherURL = this.textBoxLaunchURL.Text; + } + + private void toolStripButtonAddGame_Click(object sender, EventArgs e) + { + GameInstance game = new GameInstance(); + ProfileManager.AddGame(game); + ProfileManager.SelectGame(game); + UpdateGamesTab(); + } + private void launchGameToolStripMenuItem_Click(object sender, EventArgs e) + { + ProfileManager.SelectedGame.LaunchGame(); + } + + private void renameGameToolStripMenuItem_Click(object sender, EventArgs e) + { + String oldName = ProfileManager.SelectedGame.Title; + TextPrompt.Prompt($"Edit title of game {oldName}", oldName, (newName) => { + if (newName.Trim() != "") + { + ProfileManager.SelectedGame.Title = newName; + UpdateGamesTab(); + } + }); + } + + private void removeGameToolStripMenuItem_Click(object sender, EventArgs e) + { + if (ProfileManager.Count == 1) + { + MsgBox.Get("errorAtLeastOneGameOrProfile").Show(MessageBoxIcon.Error); + return; + } + + if (MsgBox.Get("deleteQuestion") + .FormatTitle(ProfileManager.SelectedGame.Title) + .FormatText(ProfileManager.SelectedGame.Title) + .Show(MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) + { + ProfileManager.RemoveGame(ProfileManager.SelectedGame); + ProfileManager.SelectedGameIndex -= 1; + UpdateGamesTab(); + } + } + + private void contextMenuStripGame_Opening(object sender, CancelEventArgs e) + { + this.gameToolStripMenuItem.Text = ProfileManager.SelectedGame.Title; + } + + #endregion + + #region Translations + + public void OnLanguageChanged(object sender, TranslationEventArgs e) + { + Translation translation = (Translation)sender; + this.labelOutdatedLanguage.Visible = translation.IsOutdated(); + } + + private void buttonDownloadLanguages_Click(object sender, EventArgs e) + { + if (this.backgroundWorkerDownloadLanguages.IsBusy) + return; + this.groupBoxLocalization.Focus(); + this.buttonDownloadLanguages.Enabled = false; + this.pictureBoxSpinnerDownloadLanguages.Visible = true; + this.backgroundWorkerDownloadLanguages.RunWorkerAsync(); + } + + private void buttonRefreshLanguage_Click(object sender, EventArgs e) + { + Localization.LookupLanguages(); + } + + private string errorMessageDownloadLanguages = null; + private string messageDownloadLanguages = null; + private void backgroundWorkerDownloadLanguages_DoWork(object sender, DoWorkEventArgs e) + { + // Download / update languages: + try + { + WebClient wc = new WebClient(); + wc.CachePolicy = new System.Net.Cache.RequestCachePolicy(System.Net.Cache.RequestCacheLevel.BypassCache); + + byte[] raw = wc.DownloadData("https://raw.githubusercontent.com/FelisDiligens/Fallout76-QuickConfiguration/master/Fo76ini/languages/list.txt"); + string encoded = Encoding.UTF8.GetString(raw).Trim(); + + string[] list = encoded.Split('\n', ','); + + foreach (string file in list) + { + wc.DownloadFile("https://raw.githubusercontent.com/FelisDiligens/Fallout76-QuickConfiguration/master/Fo76ini/languages/" + file, Path.Combine(Localization.LanguageFolder, file)); + } + + errorMessageDownloadLanguages = null; + messageDownloadLanguages = string.Join(", ", list); + } + catch (WebException ex) + { + errorMessageDownloadLanguages = ex.ToString(); + messageDownloadLanguages = null; + } + catch + { + errorMessageDownloadLanguages = "Unknown error"; + messageDownloadLanguages = null; + } + } + + private void backgroundWorkerDownloadLanguages_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e) + { + if (errorMessageDownloadLanguages != null) + MsgBox.Get("failed").FormatText("Downloading language files failed.\n" + errorMessageDownloadLanguages).Popup(MessageBoxIcon.Error); + else + MsgBox.Get("downloadLanguagesFinished").FormatText(messageDownloadLanguages).Popup(MessageBoxIcon.Information); + this.buttonDownloadLanguages.Enabled = true; + this.pictureBoxSpinnerDownloadLanguages.Visible = false; + Localization.LookupLanguages(); + } + + #endregion + + #region NexusAPI + + /* + * Interface: + */ + + /// + /// As a last resort, if the SSO fails, the user can enter their API key manually. + /// + private bool APIKeyTextboxEnabled = false; + + public void RefreshNMUI() + { + /* + * Visiblility of labels: + */ + + bool loggedIn = NexusMods.User.IsLoggedIn; + + // Labels: + this.labelNMNotLoggedIn.Visible = !loggedIn; + this.labelNMDailyRateLimit.Visible = loggedIn; + this.labelNMHourlyRateLimit.Visible = loggedIn; + this.labelNMDailyRateLimitReset.Visible = loggedIn; + this.labelNMDescDailyRateLimit.Visible = loggedIn; + this.labelNMDescHourlyRateLimit.Visible = loggedIn; + this.labelNMDescLimitReset.Visible = loggedIn; + this.labelNMDescMembership.Visible = loggedIn; + this.labelNMDescUserID.Visible = loggedIn; + this.labelNMMembership.Visible = loggedIn; + this.labelNMUserID.Visible = loggedIn; + + + /* + * Position and visiblility of buttons: + */ + + int buttonMargin = 6; // px + int buttonOffset = 25; // px + + Button[] buttons = new Button[] { buttonNMLogin, buttonNMLoginManually, buttonNWLogout, buttonNMUpdateProfile, buttonNWDeleteCache }; + bool[] visiblity = new bool[] { !loggedIn, !loggedIn && APIKeyTextboxEnabled, loggedIn, loggedIn, true }; + + for (int i = 0; i < buttons.Length; i++) + { + int left = buttonOffset; + for (int j = 0; j < i; j++) + { + if (j >= 0 && visiblity[j]) + left += buttons[j].Width + buttonMargin; + } + buttons[i].Left = left; + buttons[i].Visible = visiblity[i]; + } + + + /* + * API Key textbox: + */ + + this.textBoxAPIKey.Visible = APIKeyTextboxEnabled; + this.checkBoxShowAPIKey.Visible = APIKeyTextboxEnabled; + this.labelAPIKey.Visible = APIKeyTextboxEnabled; + this.linkLabelAPIKeyHelp.Visible = APIKeyTextboxEnabled; + this.pictureBoxAPIKeyHelp.Visible = APIKeyTextboxEnabled; + + if (APIKeyTextboxEnabled) + { + this.textBoxAPIKey.Text = NexusMods.User.APIKey; + } + + + /* + * Fill in information: + */ + + this.labelNMUserName.Text = NexusMods.User.UserName; + this.labelNMUserID.Text = NexusMods.User.UserID.ToString(); + + switch (NexusMods.User.Status) + { + case NMUserProfile.Membership.Premium: + this.labelNMMembership.Text = Localization.GetString("nmPremiumAccount"); + this.labelNMMembership.ForeColor = Color.PaleGreen; + break; + case NMUserProfile.Membership.Supporter: + this.labelNMMembership.Text = Localization.GetString("nmSupporterAccount"); + this.labelNMMembership.ForeColor = Color.Orange; + break; + case NMUserProfile.Membership.Basic: + default: + this.labelNMMembership.Text = Localization.GetString("nmBasicAccount"); + this.labelNMMembership.ForeColor = Color.White; + break; + } + + this.labelNMDailyRateLimit.Text = string.Format(Localization.GetString("nmRateLimitLeft"), NexusMods.User.DailyRateLimit); + this.labelNMHourlyRateLimit.Text = string.Format(Localization.GetString("nmRateLimitLeft"), NexusMods.User.HourlyRateLimit); + DateTime dailyRateLimitReset; + if (NexusMods.User.DailyRateLimitResetString != "" && + NexusMods.User.TryParseDailyRateLimitReset(out dailyRateLimitReset)) + { + TimeSpan diff = dailyRateLimitReset - DateTime.Now; + this.labelNMDailyRateLimitReset.Text = string.Format(Localization.GetString("nmResetTime"), diff.Hours, diff.Minutes); + } + else + { + this.labelNMDailyRateLimitReset.Text = Localization.GetString("unknown"); + } + + this.pictureBoxNMProfilePicture.Image = Resources.user_white; + if (NexusMods.User.ProfilePictureFileName != null && + File.Exists(NexusMods.User.ProfilePictureFilePath)) + { + Bitmap bitmap; + using (Image img = Image.FromFile(NexusMods.User.ProfilePictureFilePath)) + { + bitmap = new Bitmap(img); + this.pictureBoxNMProfilePicture.Image = bitmap; + //this.pictureBoxNMProfilePicture.Image = Image.FromFile(NexusMods.User.ProfilePictureFilePath); + } + } + + this.checkBoxNMUpdateProfile.Checked = IniFiles.Config.GetBool("NexusMods", "bAutoUpdateProfile", true); + //this.checkBoxNMUpdateModInfo.Checked = IniFiles.Instance.GetBool(IniFile.Config, "NexusMods", "bAutoUpdateModInfo", false); + this.checkBoxNMDownloadThumbnails.Checked = IniFiles.Config.GetBool("NexusMods", "bDownloadThumbnailsOnUpdate", true); + } + + /* + * Event handler: + */ + + private void UpdateNMProfile() + { + if (this.backgroundWorkerRetrieveProfileInfo.IsBusy) + return; + if (NexusMods.User.APIKey == "") + return; + this.pictureBoxNMProfilePicture.Image = Resources.Spinner_200; + this.backgroundWorkerRetrieveProfileInfo.RunWorkerAsync(); + } + + private void buttonNMLogin_Click(object sender, EventArgs e) + { + MsgBox.Show("Login to NexusMods", "When the web browser opens, please click on 'Authorize' to login in.\nClick 'OK' to continue.", MessageBoxIcon.Information); + backgroundWorkerSSOLogin.RunWorkerAsync(); + } + + private void SingleSignOn_SSOFinished(object sender, SSOEventArgs e) + { + // The SSOFinished event handler is called from another thread, therefore Invoke is required: + this.tabPageNexusMods.Invoke(new Action(() => { + if (e.success) + { + NexusMods.User.APIKey = e.APIKey; + MsgBox.Popup("Success", "You are now logged in with your NexusMods account.", MessageBoxIcon.Information); + UpdateNMProfile(); + } + else + { + if (e.Exception != null) + { + if (e.Exception is PlatformNotSupportedException) + { + MsgBox.Show("Failed", "** WebSockets are not supported on Windows 7 and older. **\nBut you can still enter the API key manually to login. Please follow the instructions on the GitHub wiki.", MessageBoxIcon.Error); + } + else + { + MsgBox.Show("Failed", $"{e.Exception.GetType()}: {e.Exception.Message}", MessageBoxIcon.Error); + } + } + else + { + MsgBox.Popup("Failed", "Something went wrong.", MessageBoxIcon.Error); + } + + APIKeyTextboxEnabled = true; + RefreshNMUI(); + } + })); + } + + private void buttonNMLoginManually_Click(object sender, EventArgs e) + { + UpdateNMProfile(); + } + + private void buttonNMUpdateProfile_Click(object sender, EventArgs e) + { + UpdateNMProfile(); + } + + private void buttonNWLogout_Click(object sender, EventArgs e) + { + if (MsgBox.Get("areYouSure").FormatText("Do you really want to log out?").Show(MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) + { + this.pictureBoxNMProfilePicture.Image = Resources.user_white; + NexusMods.User.Remove(); + RefreshNMUI(); + MsgBox.Get("done").FormatText("Logged out").Popup(MessageBoxIcon.Information); + } + } + + private void buttonNWDeleteCache_Click(object sender, EventArgs e) + { + if (MsgBox.Get("areYouSure").FormatText("Do you really want to delete all remote information?").Show(MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) + { + // TODO: Call FormMods.UpdateModList after deleting remote info + NexusMods.DeleteCache(); + MsgBox.Get("done").FormatText("Removed remote information").Popup(MessageBoxIcon.Information); + } + } + + private void pictureBoxNMProfilePicture_Click(object sender, EventArgs e) + { + if (NexusMods.User.UserID >= 0) + Utils.OpenURL("https://www.nexusmods.com/users/"+ NexusMods.User.UserID); + } + + private void checkBoxShowAPIKey_CheckedChanged(object sender, EventArgs e) + { + this.textBoxAPIKey.UseSystemPasswordChar = !this.checkBoxShowAPIKey.Checked; + this.textBoxAPIKey.PasswordChar = !this.checkBoxShowAPIKey.Checked ? '\u2022' : '\0'; + } + + private void textBoxAPIKey_TextChanged(object sender, EventArgs e) + { + NexusMods.User.APIKey = this.textBoxAPIKey.Text; + } + + private void linkLabelAPIKeyHelp_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) + { + Utils.OpenURL("https://github.com/FelisDiligens/Fallout76-QuickConfiguration/wiki/Troubleshooting:-Login-with-NexusMods-failed"); + } + + + // Options: + + private void checkBoxNMUpdateProfile_CheckedChanged(object sender, EventArgs e) + { + IniFiles.Config.Set("NexusMods", "bAutoUpdateProfile", this.checkBoxNMUpdateProfile.Checked); + IniFiles.Config.Save(); + } + + private void checkBoxNMDownloadThumbnails_CheckedChanged(object sender, EventArgs e) + { + IniFiles.Config.Set("NexusMods", "bDownloadThumbnailsOnUpdate", this.checkBoxNMDownloadThumbnails.Checked); + IniFiles.Config.Save(); + } + + + /* + * Background worker: + */ + + // Retrieve profile info: + + private void backgroundWorkerRetrieveProfileInfo_DoWork(object sender, DoWorkEventArgs e) + { + NexusMods.User.Update(); + NexusMods.User.Save(); + } + + private void backgroundWorkerRetrieveProfileInfo_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e) + { + RefreshNMUI(); + } + + private void backgroundWorkerSSOLogin_DoWork(object sender, DoWorkEventArgs e) + { + SingleSignOn.Connect(); + } + + #endregion + + private INIReadOnlyTweak iniReadOnlyTweak = new INIReadOnlyTweak(); + private AutoApplyTweak autoApplyTweak = new AutoApplyTweak(); + private IgnoreUpdatesTweak ignoreUpdatesTweak = new IgnoreUpdatesTweak(); + private PlayNotificationSoundsTweak playNotificationSoundsTweak = new PlayNotificationSoundsTweak(); + private ToolQuitOnLaunchTweak toolQuitOnLaunchTweak = new ToolQuitOnLaunchTweak(); + + private DeployModsOnNWModeTweak deployModsOnNWModeTweak = new DeployModsOnNWModeTweak(); + private RemoveModsOnNWModeTweak removeModsOnNWModeTweak = new RemoveModsOnNWModeTweak(); + private RenameDLLsTweak renameDLLsTweak = new RenameDLLsTweak(); + } +} diff --git a/Fo76ini/Forms/FormSettings/FormSettings.resx b/Fo76ini/Forms/FormSettings/FormSettings.resx new file mode 100644 index 0000000..e97704e --- /dev/null +++ b/Fo76ini/Forms/FormSettings/FormSettings.resx @@ -0,0 +1,306 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 17, 17 + + + 107, 17 + + + 207, 60 + + + 388, 60 + + + + AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w + LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0 + ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAADI + DAAAAk1TRnQBSQFMAgEBBAEAAegBAAHoAQABGAEAARgBAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo + AwABYAMAATADAAEBAQABCAYAARIYAAGAAgABgAMAAoABAAGAAwABgAEAAYABAAKAAgADwAEAAcAB3AHA + AQAB8AHKAaYBAAEzBQABMwEAATMBAAEzAQACMwIAAxYBAAMcAQADIgEAAykBAANVAQADTQEAA0IBAAM5 + AQABgAF8Af8BAAJQAf8BAAGTAQAB1gEAAf8B7AHMAQABxgHWAe8BAAHWAucBAAGQAakBrQIAAf8BMwMA + AWYDAAGZAwABzAIAATMDAAIzAgABMwFmAgABMwGZAgABMwHMAgABMwH/AgABZgMAAWYBMwIAAmYCAAFm + AZkCAAFmAcwCAAFmAf8CAAGZAwABmQEzAgABmQFmAgACmQIAAZkBzAIAAZkB/wIAAcwDAAHMATMCAAHM + AWYCAAHMAZkCAALMAgABzAH/AgAB/wFmAgAB/wGZAgAB/wHMAQABMwH/AgAB/wEAATMBAAEzAQABZgEA + ATMBAAGZAQABMwEAAcwBAAEzAQAB/wEAAf8BMwIAAzMBAAIzAWYBAAIzAZkBAAIzAcwBAAIzAf8BAAEz + AWYCAAEzAWYBMwEAATMCZgEAATMBZgGZAQABMwFmAcwBAAEzAWYB/wEAATMBmQIAATMBmQEzAQABMwGZ + AWYBAAEzApkBAAEzAZkBzAEAATMBmQH/AQABMwHMAgABMwHMATMBAAEzAcwBZgEAATMBzAGZAQABMwLM + AQABMwHMAf8BAAEzAf8BMwEAATMB/wFmAQABMwH/AZkBAAEzAf8BzAEAATMC/wEAAWYDAAFmAQABMwEA + AWYBAAFmAQABZgEAAZkBAAFmAQABzAEAAWYBAAH/AQABZgEzAgABZgIzAQABZgEzAWYBAAFmATMBmQEA + AWYBMwHMAQABZgEzAf8BAAJmAgACZgEzAQADZgEAAmYBmQEAAmYBzAEAAWYBmQIAAWYBmQEzAQABZgGZ + AWYBAAFmApkBAAFmAZkBzAEAAWYBmQH/AQABZgHMAgABZgHMATMBAAFmAcwBmQEAAWYCzAEAAWYBzAH/ + AQABZgH/AgABZgH/ATMBAAFmAf8BmQEAAWYB/wHMAQABzAEAAf8BAAH/AQABzAEAApkCAAGZATMBmQEA + AZkBAAGZAQABmQEAAcwBAAGZAwABmQIzAQABmQEAAWYBAAGZATMBzAEAAZkBAAH/AQABmQFmAgABmQFm + ATMBAAGZATMBZgEAAZkBZgGZAQABmQFmAcwBAAGZATMB/wEAApkBMwEAApkBZgEAA5kBAAKZAcwBAAKZ + Af8BAAGZAcwCAAGZAcwBMwEAAWYBzAFmAQABmQHMAZkBAAGZAswBAAGZAcwB/wEAAZkB/wIAAZkB/wEz + AQABmQHMAWYBAAGZAf8BmQEAAZkB/wHMAQABmQL/AQABzAMAAZkBAAEzAQABzAEAAWYBAAHMAQABmQEA + AcwBAAHMAQABmQEzAgABzAIzAQABzAEzAWYBAAHMATMBmQEAAcwBMwHMAQABzAEzAf8BAAHMAWYCAAHM + AWYBMwEAAZkCZgEAAcwBZgGZAQABzAFmAcwBAAGZAWYB/wEAAcwBmQIAAcwBmQEzAQABzAGZAWYBAAHM + ApkBAAHMAZkBzAEAAcwBmQH/AQACzAIAAswBMwEAAswBZgEAAswBmQEAA8wBAALMAf8BAAHMAf8CAAHM + Af8BMwEAAZkB/wFmAQABzAH/AZkBAAHMAf8BzAEAAcwC/wEAAcwBAAEzAQAB/wEAAWYBAAH/AQABmQEA + AcwBMwIAAf8CMwEAAf8BMwFmAQAB/wEzAZkBAAH/ATMBzAEAAf8BMwH/AQAB/wFmAgAB/wFmATMBAAHM + AmYBAAH/AWYBmQEAAf8BZgHMAQABzAFmAf8BAAH/AZkCAAH/AZkBMwEAAf8BmQFmAQAB/wKZAQAB/wGZ + AcwBAAH/AZkB/wEAAf8BzAIAAf8BzAEzAQAB/wHMAWYBAAH/AcwBmQEAAf8CzAEAAf8BzAH/AQAC/wEz + AQABzAH/AWYBAAL/AZkBAAL/AcwBAAJmAf8BAAFmAf8BZgEAAWYC/wEAAf8CZgEAAf8BZgH/AQAC/wFm + AQABIQEAAaUBAANfAQADdwEAA4YBAAOWAQADywEAA7IBAAPXAQAD3QEAA+MBAAPqAQAD8QEAA/gBAAHw + AfsB/wEAAaQCoAEAA4ADAAH/AgAB/wMAAv8BAAH/AwAB/wEAAf8BAAL/AgAD//8A/wD/AP8A/wD/AP8A + /wD/ABEAAf8B3QG1AbQCzwG0AbUB3QH/JgAB/wHwAbsDswG0AboB8AH/BwAB9BbzAfQFAAH/AQkBzwit + Ac8BCQH/IgAB/wG7AYsIigGLAbsB/wUAGPMEAAHzAc8MrQHPAfMgAAHyAYsMigGLAfMEABjzAwAB3RCt + Ad0eAAG8EIoB8AMAB/ME8gLzBBsH8wIAAfMIrQK1CK0B8xwAAfIDigG0AvABCQGLCooB8wIAB/ME0wHb + AXoEOAfzAQAB/wHPB60BCQL/AQkHrQHPAf8GAA7/BgAB/wGLAooBtAG7ArQBiwHwAYsJigGLAf8BAAfz + BNMB2wF6BDgH8wEAAQkIrQHzAgABGQitAQkGAA7/BgABtQJlAYsB8wP/AfEBkQG1CmUB7wEAB/ME0wHb + AXoEOAfzAf8BzwitAbUC/wG1CK0BzwH/BQAO/wUAAf8BZgGuAbwG/wGLAfABZgllAWYB/wfzBNMB2wF6 + BDgH8wHxCq0CzwqtAd0FAA7/BQAB8AHzB/8BBwG0Af8B8wGLCWUB8AfzBNsBCQGaBHoH8wG1Cq0BzwG0 + Cq0BtQUADv8FAAHzBv8B8wKRBP8B9whlAZEH8wR1AZQBmQR4AfIG8wG0Cq0B3QHzCq0BtAUABf8EAAX/ + BQAE/wH0AfcBiwG1AfEG/wHwAZIBiwVlAa4H8wRNAXUBeAQ1AfIG8wHPCq0BCQH/AQkJrQHPBQAF/wQA + Bf8FAAL/AbwBrgRlAWYB9Aj/AbwBZgNlAWYH8wRNAXUBeAQ1AfIG8wHPC60B9AH/AfEIrQHPBQAF/wQA + Bf8FAAHvAWYHZQGuA/8B9AGuAmwBkQH/AQcDZQFmB/METQF1AXgENQHyBvMBtAutAbUC/wEJB60BtAUA + Bf8EAAX/BQABbAkNAe8C/wGuAe8C/wH3Ae0B/wFmAg0B6gfzBE0BdQF4BDUB8gbzAQkMrQH0AQAB/wHP + Bq0BtQUADv8FAAHsCQ0BZQHzAf8B6gT/AWwB/wGRAg0B7AzzBfIH8wEZCK0B3QG1Aq0B3QIAAbUGrQHx + BQAO/wUAAbwKDQH3Af8B6gT/AWwB/wHsAg0BvBjzAf8BzwatAbQBAAH0Aq0B3QEAAf8BtAWtAc8B/wUA + Dv8FAAH/Cg0BrgH/Aa4BBwL/AfcB7AH/AWYCDQH/GPMBAAEJBq0BzwL/ArQB9AEAAfQGrQEJBgAO/wYA + Ae0KDQHwAfQB6wJsAewB/wEHAg0B9wEAB/MB8gjzAfIH8wEAAf8BtAatAbUB9AP/AfMBzwWtAbQB/wYA + Dv8GAAH/AUMJDQFmAfAE/wEHAg0BQwH/CAAB8wH0AfMB9AQAAfQD8wcAAfMIrQK0Ac8HrQHzHAAB8QsN + AW0C7QESAw0B8gkAAfMB9ALzBAAB9ALzAfQIAAEZEK0B8R4AAbwQDQG8CgAB9AHzAf8B8wH/AwAB8wH0 + AfMB/wkAAfMBtAytAbQB8yAAAfEBQwwNAUMB8gsAAf8B8wH/AfQB8wH0Af8B9AHzAf8B9AsAAf8BCQHP + CK0BzwEJAf8iAAH0AfcBEAgNARAB9wH/DQAB9AHzAfQB/wH0AvMB9AH/DgAB/wEZAQkBtALPAbQBCQEZ + Af8mAAH0AbwB7AESAkMBEgHsAbwB/xAAAf8E8wH/CQABQgFNAT4HAAE+AwABKAMAAWADAAEwAwABAQEA + AQEFAAFAAQIWAAP//wAiAAH+AQABfwMAAf4BAAF/AwAB+AEAAR8DAAH4AQABHwMAAfABAAEPAwAB8AEA + AQ8DAAHgAQABBwMAAeABAAEHAwABwAEAAQMDAAHAAQABAwMAAYABAAEBAwABgAEAAQEDAAGAARgBAQMA + AYABAAEBWAABAgsAAQMLAAFCCgABgAECAQEDAAGAAQABAQMAAYABAAEBAwABgAEAAQEB/gEeAR8BwAEA + AQMDAAHAAQABAwH+AR4BHwHgAQABBwMAAeABAAEHAf4BDgEfAfABAAEPAwAB8AEAAQ8B/gEAAT8B+AEA + AR8DAAH4AQABHwH/AQABfwH+AQABfwMAAf4BAAF/Af8BgQH/Cw== + + + + 17, 17 + + + + + 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 + + + + 107, 17 + + + 17, 60 + + + 498, 60 + + + 17, 99 + + + 269, 101 + + + 346 + + + + AAABAAEAGBgAAAEAIACICQAAFgAAACgAAAAYAAAAMAAAAAEAIAAAAAAAAAkAAMMOAADDDgAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADhaUEA4GhAq+FpQfPgaUDz4GlBq+Fp + QQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAADgaEEq4WlB8eBpQf/haUH/4WlB8eBoQSoAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4GhASOBpQCoAAAAAAAAAAAAAAADhaUGF4WlA/+Fp + Qf/haUD/4WlB/+FpQIUAAAAAAAAAAAAAAADhaUEq4WlBSAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AADgaEFq4WlB+eBoQf/haUG54GhAUuFpQTrhaUHr4WlB/+FpQf/haUD/4WlB/+FoQOvgaEE64WlAUuFp + QbnhaUD/4GhB+eBpQWoAAAAAAAAAAAAAAAAAAAAAAAAAAOFpQUjgaED54WlB/+FpQf/haEH/4GlB/eFp + QfnhaEH/4GlB/+BpQf/haUH/4WlB/+FpQf/gaUH54WhB/eFpQf/haUH/4WlB/+BoQfnhaUFIAAAAAAAA + AAAAAAAAAAAAAOFpQCrhaUH/4WlA/+FpQf/haUH/4WlA/+FpQf/haUH/4WlA/+FpQf/haUD/4WlB/+Fp + QP/haUD/4WlB/+FpQP/haUD/4WlB/+FpQP/haUEqAAAAAAAAAAAAAAAAAAAAAAAAAADgaEG54WlB/+Bo + Qf/haUH/4WlB/+FpQf/haUH/4WlB/+FpQf/haUD/4WlB/+FoQP/haUD/4WlB/+FoQP/haUD/4WlB/+Fp + QLkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADhaUFS4WlB/eFpQf/haEH/4GlB/+BpQf/gaEH74GhA0eFo + QZvhaUGb4WlB0eFoQfvhaUH/4WlB/+FpQf/haUH/4WlB/eFoQVIAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AADhaUE64WlB+eFpQf/haUH/4WlA/+FpQfXhaUFa4WhBBgAAAAAAAAAA4GhBBuFpQFrhaUD14WlB/+Fp + QP/haUD/4WhA+eBoQTgAAAAAAAAAAAAAAADhaEEA4WlBKuFpQYXhaEHr4WlB/+BoQf/haUH/4WlB++Fo + QVgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgaEFY4WlB++FoQP/haUD/4WlB/+FoQOvhaUGF4GlBKuFp + QQDgaEGr4WlB8eFpQf/haUH/4WlB/+FpQf/haEH/4GhAzeFpQQYAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AADhaUEG4WlBzeFpQf/haUH/4WlB/+FpQf/haUH/4WlB8eBoQKvhaUDz4WlB/+FpQf/haUH/4WlA/+Fp + Qf/haUH/4WlBlQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4WlBleFpQP/haUD/4WlB/+Fp + QP/haUD/4WlB/+FpQPPhaUDz4WlB/+FpQf/haEH/4WlB/+FpQf/gaEH/4WlBkwAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAA4WlBk+FpQf/haUH/4WlB/+FpQf/haUH/4WlB/+FpQfPhaUGr4WlB8eFp + Qf/haUH/4WhB/+FpQf/haUD/4WlByeFpQQQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADhaUEE4GlByeFp + Qf/haUH/4WlB/+FpQf/haUH/4WlB8eBpQavgaEAA4WhAKOBoQYXhaUHr4WlB/+FpQf/gaEH/4WhA+eBo + QVAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADhaEBQ4GhA+eBoQP/gaED/4GhA/+BoQOvhaUGF4WlBKOFp + QQAAAAAAAAAAAAAAAADgaEE64WlB+eFpQf/gaEH/4WlB/+FoQfHgaUFO4WlBBAAAAAAAAAAA4WlBBOFp + QU7haUHx4WlB/+FpQf/haUH/4GhB+eFoQTwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADhaEFS4WhA/eFp + Qf/haUD/4WlB/+FpQf/gaED54WlBw+FpQYvhaUGL4WhBw+FpQPnhaUH/4WlB/+FpQf/haUH/4WlB/eBo + QFIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADhaUG54WlB/+FpQf/gaEH/4WlA/+BoQf/gaEH/4WlA/+Bo + Qf/gaED/4GhA/+BoQP/gaED/4GhA/+BoQP/gaED/4GhA/+FpQLkAAAAAAAAAAAAAAAAAAAAAAAAAAOFp + QSrhaEH/4WlB/+FoQf/haUH/4WlB/+FpQf/haUH/4WlB/+FpQf/haUH/4WlB/+FoQf/haUH/4WlB/+Fo + Qf/haUH/4WlB/+FoQf/gaUAqAAAAAAAAAAAAAAAAAAAAAOFpQUjhaUH54WhB/+FpQf/haUH/4WlB/eFo + QfnhaUH/4WhB/+FpQf/haUH/4WlB/+FpQf/haUH54WlB/eFpQf/haUH/4WlB/+FpQfngaEBIAAAAAAAA + AAAAAAAAAAAAAAAAAADgaEFq4GhA+eBoQf/haUG54WhBUuFpQTzgaEHr4WhB/+BoQf/gaED/4GhA/+Bo + QOvhaUE44WhBUuBoQbngaED/4GlA+eBoQWoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4WhBSOFo + QCoAAAAAAAAAAAAAAADgaECF4WlB/+FpQf/haUH/4WlB/+BpQIUAAAAAAAAAAAAAAADhaUAq4WlBSAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgaUEq4WlA8eFp + Qf/haUH/4WlB8eFpQSoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgaEAA4GhBq+FpQPPhaUDz4GhBq+FoQQAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/w/8A/4H/APOBzwDgAAcAwAADAMAAAwDgAAcA4AAHAOAY + BwCAfgEAAH4AAAD/AAAA/wAAAH4AAIB+AQDgGAcA4AAHAOAABwDAAAMAwAADAOAABwDzgc8A/4H/AP/D + /wA= + + + \ No newline at end of file diff --git a/Fo76ini/Forms/FormSplash/FormSplash.Designer.cs b/Fo76ini/Forms/FormSplash/FormSplash.Designer.cs new file mode 100644 index 0000000..c8d56a7 --- /dev/null +++ b/Fo76ini/Forms/FormSplash/FormSplash.Designer.cs @@ -0,0 +1,117 @@ +namespace Fo76ini.Forms.FormSplash +{ + partial class FormSplash + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FormSplash)); + this.pictureBox1 = new System.Windows.Forms.PictureBox(); + this.labelVersion = new System.Windows.Forms.Label(); + this.progressBar1 = new System.Windows.Forms.ProgressBar(); + this.labelLoading = new System.Windows.Forms.Label(); + ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit(); + this.SuspendLayout(); + // + // pictureBox1 + // + this.pictureBox1.BackColor = System.Drawing.Color.Transparent; + this.pictureBox1.Image = global::Fo76ini.Properties.Resources.banner; + this.pictureBox1.Location = new System.Drawing.Point(0, 0); + this.pictureBox1.Name = "pictureBox1"; + this.pictureBox1.Size = new System.Drawing.Size(500, 223); + this.pictureBox1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom; + this.pictureBox1.TabIndex = 0; + this.pictureBox1.TabStop = false; + // + // labelVersion + // + this.labelVersion.AutoSize = true; + this.labelVersion.BackColor = System.Drawing.Color.Black; + this.labelVersion.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.labelVersion.ForeColor = System.Drawing.Color.White; + this.labelVersion.Location = new System.Drawing.Point(295, 186); + this.labelVersion.Name = "labelVersion"; + this.labelVersion.Size = new System.Drawing.Size(57, 20); + this.labelVersion.TabIndex = 1; + this.labelVersion.Text = "v2.0.0"; + // + // progressBar1 + // + this.progressBar1.BackColor = System.Drawing.Color.Black; + this.progressBar1.Location = new System.Drawing.Point(8, 220); + this.progressBar1.MarqueeAnimationSpeed = 10; + this.progressBar1.Name = "progressBar1"; + this.progressBar1.Size = new System.Drawing.Size(484, 20); + this.progressBar1.Style = System.Windows.Forms.ProgressBarStyle.Marquee; + this.progressBar1.TabIndex = 2; + // + // labelLoading + // + this.labelLoading.AutoSize = true; + this.labelLoading.BackColor = System.Drawing.Color.Black; + this.labelLoading.Font = new System.Drawing.Font("Microsoft Sans Serif", 11.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.labelLoading.ForeColor = System.Drawing.Color.White; + this.labelLoading.Location = new System.Drawing.Point(5, 198); + this.labelLoading.Name = "labelLoading"; + this.labelLoading.Size = new System.Drawing.Size(72, 18); + this.labelLoading.TabIndex = 3; + this.labelLoading.Text = "Loading..."; + // + // FormSplash + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.BackColor = System.Drawing.Color.Black; + this.ClientSize = new System.Drawing.Size(500, 250); + this.ControlBox = false; + this.Controls.Add(this.labelLoading); + this.Controls.Add(this.progressBar1); + this.Controls.Add(this.labelVersion); + this.Controls.Add(this.pictureBox1); + this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None; + this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); + this.MaximizeBox = false; + this.MaximumSize = new System.Drawing.Size(500, 250); + this.MinimizeBox = false; + this.MinimumSize = new System.Drawing.Size(500, 250); + this.Name = "FormSplash"; + this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen; + this.Text = "Fallout 76 Quick Configuration"; + ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).EndInit(); + this.ResumeLayout(false); + this.PerformLayout(); + + } + + #endregion + + private System.Windows.Forms.PictureBox pictureBox1; + private System.Windows.Forms.Label labelVersion; + private System.Windows.Forms.ProgressBar progressBar1; + private System.Windows.Forms.Label labelLoading; + } +} \ No newline at end of file diff --git a/Fo76ini/Forms/FormSplash/FormSplash.cs b/Fo76ini/Forms/FormSplash/FormSplash.cs new file mode 100644 index 0000000..98dffee --- /dev/null +++ b/Fo76ini/Forms/FormSplash/FormSplash.cs @@ -0,0 +1,58 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Threading; +using System.Threading.Tasks; +using System.Windows.Forms; + +namespace Fo76ini.Forms.FormSplash +{ + // https://stackoverflow.com/questions/15836027/c-sharp-winform-loading-screen/15836105#15836105 + public partial class FormSplash : Form + { + // Delegate for cross thread call to close + private delegate void CloseDelegate(); + + // The type of form to be displayed as the splash screen. + private static FormSplash splashForm; + + public FormSplash() + { + InitializeComponent(); + } + + public static void ShowSplashScreen() + { + // Make sure it is only launched once. + if (splashForm != null) return; + splashForm = new FormSplash(); + Thread thread = new Thread(new ThreadStart(FormSplash.ShowForm)); + thread.IsBackground = true; + thread.SetApartmentState(ApartmentState.STA); + thread.Start(); + } + + private static void ShowForm() + { + if (splashForm != null) Application.Run(splashForm); + } + + public static void CloseForm() + { + splashForm?.Invoke(new CloseDelegate(FormSplash.CloseFormInternal)); + } + + private static void CloseFormInternal() + { + if (splashForm != null) + { + splashForm.Close(); + splashForm = null; + }; + } + } +} diff --git a/Fo76ini/Forms/FormSplash/FormSplash.resx b/Fo76ini/Forms/FormSplash/FormSplash.resx new file mode 100644 index 0000000..fed7c34 --- /dev/null +++ b/Fo76ini/Forms/FormSplash/FormSplash.resx @@ -0,0 +1,825 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + + 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 + w/4VRWD/GyEk/xwbGv8cHBz/HBwc/xwcHP8cHBz/HBwc/xwcHP8cGxv/HB8h/xY+Vf8Mern/B5jq6weU + 5e0Khs7+Dmyi/w1yrP8Hl+rXCZDeJQmR4QAAAAAADoPLAAC//wAHl+pzCYzW/Rg0RP8cGxv/Gicv/xc9 + VP8US2v/Gis1/xwaGf8cHBv/HBwc/xwcHP8cHBz/HBwc/xwcHP8cHBz/HBwc/xwcHP8cHBz/HBoZ/xon + Lv8VSWj/FkBZ/xopMv8cHB3/Gis1/wqEyv8HmOyMFG+rAgyI0wAIkuIACZDfKAeY7NsRW4b/HBwc/xwc + HP8cGxv/HBoZ/xwaGf8cGxv/HBwc/xwcHP8cHBz/HBwc/xwbGv8cGhn/HBoZ/xwaGf8cHBv/HBwc/xwc + HP8cHBz/HBsb/xwaGf8cGhn/HBsb/xwcHP8cGxr/FE9x/weX6ekIk+M6B5boABF4ugQHmOyQC4LG/xoq + M/8cGxr/HBwc/xwcHP8cHBz/HBwc/xwcHP8cHBz/HBwc/xwbGv8cHh//GS46/xY+Vf8WQVv/GDZI/xsk + Kf8cGxr/HBwb/xwcHP8cHBz/HBwc/xwcHP8cHBz/HBwc/xwbG/8bJCn/DHi2/weZ7akMiNILCZHhRAeX + 6usUT3L/HBoY/xwcHP8cHBz/HBwc/xwcHP8cHBz/HBwc/xwcHP8cGxr/GDNC/w9roP8JitT/CYzX/wmL + 1f8Jjdj/C36//xRLa/8bICL/HBsb/xwcHP8cHBz/HBwc/xwcHP8cHBz/HBwc/xwaGP8WQl3/B5Xl9AiT + 5F4JkuFBB5jr4A9roP8bJSv/HBsa/xwcHP8cHBz/HBwc/xwcHP8cHBz/HBsa/xc9VP8Kh8//C37A/xRM + bP8YMkL/GS88/xc9U/8PZ5r/CI/c/xBikP8bIST/HBwb/xwcHP8cHBz/HBwc/xwcHP8cGxv/GyEk/xBg + j/8Hl+nrCJPkWQD//wAJkuFMB5jq4Q5to/8aJi3/HBsb/xwcHP8cHBz/HBwc/xwbGv8ZLjr/CoXL/w5v + p/8aJy//HBoY/xwbGv8cGxr/HBoZ/xwdHf8VSWj/CI/c/xNTeP8cGxv/HBwc/xwcHP8cHBz/HBsb/xsi + Jv8QY5L/B5bo7AiT42ASeboCEXq8AAD//wAIlORFBpru2w9qnv8bICP/HBwb/xwcHP8cHBz/HBsb/xFf + jP8Khcv/Gis1/xwaGf8cHBz/HBwc/xwcHP8cHBz/HBwb/xwbG/8RXYj/CobO/xorNf8cGxr/HBwc/xwc + HP8cHR7/EV6L/weY6+YIledYGF+SAg6AxQAAAAAADIvYAAOj/AAHl+pyCofP/xooMf8cGxv/HBwc/xwb + G/8bJCr/C4HE/xFch/8cGhn/HBwc/xwcHP8cHBz/HBwc/xwcHP8cHBz/HBsa/xkwPv8Ji9b/FUdj/xwa + Gf8cHBz/HBwb/xsiJv8Lfr//B5ntjQD//wALjNkAAAAAAAAAAAAAAAAABpvwAAeZ7GwLgsb/GyUr/xwb + G/8cHBz/HBsa/xktOf8JitT/FURf/xwaGP8cHBz/HBwc/xwcHP8cHBz/HBwc/xwcHP8cHBv/GyIn/wt/ + wv8SWYL/HBoZ/xwcHP8cHBz/HB8i/w13tP8Hmu6IAaj/ABF8vwAAAAAAAAAAAAAAAAAGm/AAB5nsbAuC + xv8bJSv/HBsb/xwcHP8cGxr/GS05/wmK1P8VRF//HBoY/xwcHP8cHBz/HBwc/xwcHP8cHBz/HBwc/xwc + G/8bIif/C3/C/xJZgv8cGhn/HBwc/xwcHP8cHyL/DXe0/wea7ogBqP8AEXy/AAAAAAAAAAAADIvYAAOj + /AAHl+pyCofP/xooMf8cGxv/HBwc/xwbG/8bJCr/C4HE/xFch/8cGhn/HBwc/xwcHP8cHBz/HBwc/xwc + HP8cHBz/HBsa/xkwPv8Ji9b/FUdj/xwaGf8cHBz/HBwb/xsiJv8Lfr//B5ntjQD//wALjNkAAAAAABF6 + vAAA//8ACJTkRQaa7tsPap7/GyAj/xwcG/8cHBz/HBwc/xwbG/8RX4z/CoXL/xorNf8cGhn/HBwc/xwc + HP8cHBz/HBwc/xwcG/8cGxv/EV2I/wqGzv8aKzX/HBsa/xwcHP8cHBz/HB0e/xFei/8HmOvmCJXnWBhf + kgIOgMUAAP//AAmS4UwHmOrhDm2j/xomLf8cGxv/HBwc/xwcHP8cHBz/HBsa/xkuOv8Khcv/Dm+n/xon + L/8cGhj/HBsa/xwbGv8cGhn/HB0d/xVJaP8Ij9z/E1N4/xwbG/8cHBz/HBwc/xwcHP8cGxv/GyIm/xBj + kv8HlujsCJPjYBJ5ugIJkuFBB5jr4A9roP8bJSv/HBsa/xwcHP8cHBz/HBwc/xwcHP8cHBz/HBsa/xc9 + VP8Kh8//C37A/xRMbP8YMkL/GS88/xc9U/8PZ5r/CI/c/xBhkP8bIST/HBwb/xwcHP8cHBz/HBwc/xwc + HP8cGxv/GyEk/xBgj/8Hl+nrCJPkWQmR4UQHl+rrFE9y/xwaGP8cHBz/HBwc/xwcHP8cHBz/HBwc/xwc + HP8cHBz/HBsa/xgzQv8Pa6D/CYrU/wmM1/8Ji9X/CY3Y/wt+v/8US2v/GyAi/xwbG/8cHBz/HBwc/xwc + HP8cHBz/HBwc/xwcHP8cGhj/FkJd/weV5fQIk+ReEXi6BAeY7JALgsb/Gioz/xwbGv8cHBz/HBwc/xwc + HP8cHBz/HBwc/xwcHP8cHBz/HBsa/xweH/8ZLjr/Fj5V/xZBW/8YNkj/GyQp/xwbGv8cHBv/HBwc/xwc + HP8cHBz/HBwc/xwcHP8cHBz/HBsb/xskKf8MeLb/B5ntqQyI0gsIkuIACZDfKAeY7NsRW4b/HBwc/xwc + HP8cGxv/HBoZ/xwaGf8cGxv/HBwc/xwcHP8cHBz/HBwc/xwbGv8cGhn/HBoZ/xwaGf8cHBv/HBwc/xwc + HP8cHBz/HBsb/xwaGf8cGhn/HBsb/xwcHP8cGxr/FE9x/weX6ekIk+M6B5boAA6DywAAv/8AB5fqcwmM + 1v0YNET/HBsb/xonL/8XPVT/FEtr/xorNf8cGhn/HBwb/xwcHP8cHBz/HBwc/xwcHP8cHBz/HBwc/xwc + HP8cHBz/HBwc/xwaGf8aJy7/FElo/xZAWf8aKTL/HBwd/xorNf8KhMr/B5jsjBRvqwIMiNMAAAAAAAmP + 3AAKjdkWB5jrxQx4tv8PaZ3/CoTJ/giT4/AHmOvoC4DD/hVFYP8bIST/HBsa/xwcHP8cHBz/HBwc/xwc + HP8cHBz/HBwc/xwbG/8cHyH/Fj5V/wx6uf8HmOrrB5Tl7QqGzv4ObKL/DXKs/weX6tcJkN4lCZHhAAAA + AAAAAAAAD3y/AAWe9AAIk+NSB5js1geZ7bMHmOt0CJPkOQmQ3zAHmeyfB5Tk8g11sP8YNUf/HBsa/xwc + HP8cHBz/HBwc/xwcHP8cGxr/GS47/w5upv8IkuH2B5ntrgmS4TkJkuIyB5jqbAeZ7awHmezYCJTlaAC9 + /wANgsgAAAAAAAAAAAAAAAAADIjSAAyG0AULitYZDYTMBwDU/wAeSXIACo7cAAuJ1AgIlOVHBpzxzA5s + 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 + 7/8RYI7/HCAk/xktOf8VRmP/EGWW/wuBxP8IkN3/DH2+/xc/V/8cHR3/HBsa/xwcHP8cHBz/HBwc/xwc + HP8cHBz/HBwc/xwcHP8cHBz/HBwc/xwcHP8cHBz/HBwc/xwcHP8cHBz/HBsb/xwbG/8YNUb/DXOu/wiQ + 3f8Khcv/D2qf/xRMbP8ZMUD/HCAj/xRNb/8HmOr/B5fpzAuJ1BwKjNkAAAAAAAAAAAAAAAAAE3GuAAWf + 9gAJkeBXBpru9gqFzP8aLTj/HBsa/xwbGv8cGhn/HBwc/xslLP8ZMUD/GyYt/xwbGv8cHBz/HBwc/xwc + HP8cHBz/HBwc/xwcHP8cHBz/HBwc/xwcHP8cHBz/HBwc/xwcHP8cHBz/HBwc/xwcHP8cHBz/HBwc/xwc + HP8cGxr/GyMn/xkxQP8aKDH/HB0e/xwaGf8cGxr/HBsa/xsjKP8NdrP/Bpvw/giT433UAAAAD33CAAAA + AAAAAAAAC4rVAAyI0hgHlunGBpjr/xRQdP8cGxr/HBwc/xwcHP8cHBz/HBwc/xwbG/8cGxr/HBsb/xwc + HP8cHBz/HBwc/xwcHP8cHBz/HBwc/xwcHP8cHBz/HBwc/xwcHP8cHBz/HBwc/xwcHP8cHBz/HBwc/xwc + HP8cHBz/HBwc/xwcHP8cHBz/HBwb/xwbGv8cGxv/HBwc/xwcHP8cHBz/HBwc/xwaGf8XPlb/CJPi/weY + 6+EKjNkwCZDfAAAAAAAOgccAAO3/AAiS4nYGm/D9DHm5/xslK/8cGxv/HBwc/xwcHP8cHBz/HBwc/xwc + HP8cHBz/HBwc/xwcHP8cHBz/HBwc/xwcHP8cHBz/HBwc/xwcHP8cGxr/HBoZ/xwaGf8cGhn/HBoZ/xwa + Gf8cGxv/HBwc/xwcHP8cHBz/HBwc/xwcHP8cHBz/HBwc/xwcHP8cHBz/HBwc/xwcHP8cHBz/HBwc/xwc + HP8cHiD/D2ic/wab8P8IlOWbEHu+Bg2FzgAJkN8ACo3aKgeY69wHlOT/FkJc/xwaGf8cHBz/HBwc/xwc + HP8cHBz/HBwc/xwcHP8cHBz/HBwc/xwcHP8cHBz/HBwc/xwcHP8cHBz/HBsa/xwdHf8aKzX/Fz9W/xRM + bf8UTnH/FUlo/xg4S/8bJSv/HBsa/xwbG/8cHBz/HBwc/xwcHP8cHBz/HBwc/xwcHP8cHBz/HBwc/xwc + HP8cHBz/HBwc/xwcHP8cGxr/GTJC/wmL1f8Gme3vCZDeRweY6wATcK0GCJTklAab7/8Pap//HB8h/xwc + G/8cHBz/HBwc/xwcHP8cHBz/HBwc/xwcHP8cHBz/HBwc/xwcHP8cHBz/HBwc/xwcG/8cHBz/GDRE/xBl + lv8KiNH/B5jq/wac8f8GnPL/Bpvw/weU5P8Lf8H/E1R6/xonL/8cGxr/HBwc/xwcHP8cHBz/HBwc/xwc + HP8cHBz/HBwc/xwcHP8cHBz/HBwc/xwcHP8cHBz/HBwb/xJYgP8Gme3/B5bntw2DyxMMiNIjB5bp3AaZ + 7f8TVHv/HBsa/xwcHP8cHBz/HBwc/xwcHP8cHBz/HBwc/xwcHP8cHBz/HBwc/xwcHP8cHBz/HBwb/xwf + If8UT3P/CYzX/wad8v8IkN7/DXe1/xBll/8RYZD/D2qf/wuAw/8Hl+n/Bpvw/wx8vP8XOU3/HBsb/xwc + HP8cHBz/HBwc/xwcHP8cHBz/HBwc/xwcHP8cHBz/HBwc/xwcHP8cHBz/HBoZ/xZCXP8HlOX/B5jr8QqM + 2UUPgMYICJPkhAaZ7fkIj9v/FUlo/xwcHP8cHBv/HBwc/xwcHP8cHBz/HBwc/xwcHP8cHBz/HBwc/xwc + HP8cHBz/HB4f/xJYgP8Hl+n/B5Xm/xBmmP8YNUb/GyAk/xwcG/8cGxv/HBwd/xslK/8WQl3/DHq5/wab + 8P8JidL/FzxS/xwbGv8cHBz/HBwc/xwcHP8cHBz/HBwc/xwcHP8cHBz/HBwc/xwcHP8cGxr/FztQ/wqG + zf8Gmu7+CJXmpAyI0xUMh9EADoHHCgmR4IcGme35CJHf/xRLbP8cHB3/HBwb/xwcHP8cHBz/HBwc/xwc + HP8cHBz/HBwc/xwcHP8cGxr/FUhm/weV5v8Ikd//FExt/xweH/8cGhn/HBwb/xwcHP8cHBz/HBwc/xwb + G/8cGhn/GyYu/xBnmv8Gm+//C4PI/xkuOv8cGxr/HBwc/xwcHP8cHBz/HBwc/xwcHP8cHBz/HBwc/xwb + Gv8XPVT/CojR/waa7/4Ik+OmDIbQFgqN2gAAAAAADn/EABB3uAoJkN+BBpru9QiS4f8UTnD/HB0e/xwc + HP8cHBz/HBwc/xwcHP8cHBz/HBwc/xwbGv8aKjT/C4PI/waY6/8TUXb/HBwb/xwcG/8cHBz/HBwc/xwc + HP8cHBz/HBwc/xwcHP8cHBz/HBsa/xskKf8Ocar/Bpzy/xBklf8cHR7/HBwc/xwcHP8cHBz/HBwc/xwc + HP8cHBz/HBwb/xY/V/8JitP/Bpvw/AiS4p8Of8QWDIfRAAAAAAAAAAAAAAAAAAyH0QAPfMAHCJXmdAaa + 7vMIkeD/Fz5V/xwaGf8cHBz/HBwc/xwcHP8cHBz/HBwc/xwaGf8TUXT/Bpvw/w10sP8bIib/HBsb/xwc + HP8cHBz/HBwc/xwcHP8cHBz/HBwc/xwcHP8cHBz/HBwc/xwaGf8YNUb/CI7b/wmN2v8ZMUD/HBsa/xwc + HP8cHBz/HBwc/xwcHP8cGxr/GS89/wqHz/8Gm/D7B5bokwyI0hAJkuIAOQAAAAAAAAAAAAAAAAAAAAAA + AAAMitYAEH3BBQiV5pwGm/D/E1Z9/xwaGf8cHBz/HBwc/xwcHP8cHBz/HBwc/xwfIv8NdLD/Bpnt/xVH + ZP8cGhn/HBwc/xwcHP8cHBz/HBwc/xwcHP8cHBz/HBwc/xwcHP8cHBz/HBwc/xwcHP8cHR7/D2ug/wac + 8f8UUHP/HBoZ/xwcHP8cHBz/HBwc/xwcHP8cGhn/FkJc/weY6v8HlunADInTEguL1wAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAVaaIAAP//AAiS4pcGmu7/FE1u/xwaGf8cHBz/HBwc/xwcHP8cHBz/HBsb/xop + Mv8KiND/CY3Z/xkuOv8cGxr/HBwc/xwcHP8cHBz/HBwc/xwcHP8cHBz/HBwc/xwcHP8cHBz/HBwc/xwc + HP8cGhn/FE1u/wac8f8PZ5r/HBwc/xwcHP8cHBz/HBwc/xwcHP8cGhn/FzpP/weU5f8Ilea9EXW1ChB5 + uwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPhMsA/wAAAAiW6JsGmOz/FUdk/xwaGf8cHBz/HBwc/xwc + HP8cHBz/HBsa/xkwPv8IkN3/CoPI/xslK/8cGxv/HBwc/xwcHP8cHBz/HBwc/xwcHP8cHBz/HBwc/xwc + HP8cHBz/HBwc/xwcHP8cGhn/Fj5V/weY6/8Nc67/HB8g/xwcHP8cHBz/HBwc/xwcHP8cGhn/GDVH/wiS + 4f8HmOvBDYrUCwyL1gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPhMsA/wAAAAiW6JsGmOz/FUdk/xwa + Gf8cHBz/HBwc/xwcHP8cHBz/HBsa/xkwPv8IkN3/CoPI/xslK/8cGxv/HBwc/xwcHP8cHBz/HBwc/xwc + HP8cHBz/HBwc/xwcHP8cHBz/HBwc/xwcHP8cGhn/Fj5V/weY6/8Nc67/HB8g/xwcHP8cHBz/HBwc/xwc + HP8cGhn/GDVH/wiS4f8HmOvBDYrUCwyL1gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAVaaIAAP//AAiS + 4pcGmu7/FE1u/xwaGf8cHBz/HBwc/xwcHP8cHBz/HBsb/xopMv8KiND/CY3Z/xkuOv8cGxr/HBwc/xwc + HP8cHBz/HBwc/xwcHP8cHBz/HBwc/xwcHP8cHBz/HBwc/xwcHP8cGhn/FE1u/wac8f8PZ5r/HBwc/xwc + HP8cHBz/HBwc/xwcHP8cGhn/FzpP/weU5f8Ilea9EXW1ChB5uwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAMitYAEH3BBQiV5pwGm/D/E1Z9/xwaGf8cHBz/HBwc/xwcHP8cHBz/HBwc/xwfIv8NdLD/Bpnt/xVH + ZP8cGhn/HBwc/xwcHP8cHBz/HBwc/xwcHP8cHBz/HBwc/xwcHP8cHBz/HBwc/xwcHP8cHR7/D2ug/wac + 8f8UUHP/HBoZ/xwcHP8cHBz/HBwc/xwcHP8cGhn/FkJc/weY6v8HlunADInTEguL1wAAAAAAAAAAAAAA + AAAAAAAAAAAAAAyH0QAPfMAHCJXmdAaa7vMIkeD/Fz5V/xwaGf8cHBz/HBwc/xwcHP8cHBz/HBwc/xwa + Gf8TUXT/Bpvw/w10sP8bIib/HBsb/xwcHP8cHBz/HBwc/xwcHP8cHBz/HBwc/xwcHP8cHBz/HBwc/xwa + Gf8YNUb/CI7b/wmN2v8ZMUD/HBsa/xwcHP8cHBz/HBwc/xwcHP8cGxr/GS89/wqHz/8Gm/D7B5bokwyI + 0hAJkuIAOQAAAAAAAAAAAAAADn/EABB3uAoJkN+BBpru9QiS4P8UTm//HB0e/xwcHP8cHBz/HBwc/xwc + HP8cHBz/HBwc/xwbGv8aKjT/C4PI/waY6/8TUXb/HBwb/xwcG/8cHBz/HBwc/xwcHP8cHBz/HBwc/xwc + HP8cHBz/HBsa/xskKf8Ocar/Bpzy/xBklf8cHR7/HBwc/xwcHP8cHBz/HBwc/xwcHP8cHBz/HBwb/xY/ + V/8JitP/Bpvw/AiS4p8Of8QWDIfRAAAAAAAMh9EADoHHCgmR4IcGme35CJHf/xRLbP8cHB3/HBwb/xwc + HP8cHBz/HBwc/xwcHP8cHBz/HBwc/xwcHP8cGxr/FUhm/weV5v8Ikd//FExt/xweH/8cGhn/HBwb/xwc + HP8cHBz/HBwc/xwbG/8cGhn/GyYu/xBnmv8Gm+//C4PI/xkuOv8cGxr/HBwc/xwcHP8cHBz/HBwc/xwc + HP8cHBz/HBwc/xwbGv8XPVT/CojR/waa7/4Ik+OmDIbQFgqN2gAPgMYICJPkhAaZ7fkIj9v/FUlo/xwc + HP8cHBv/HBwc/xwcHP8cHBz/HBwc/xwcHP8cHBz/HBwc/xwcHP8cHBz/HB4f/xJYgP8Hl+n/B5Xm/xBm + mP8YNUb/GyAk/xwcG/8cGxv/HBwd/xslK/8WQl3/DHq5/wab8P8JidL/FzxS/xwbGv8cHBz/HBwc/xwc + HP8cHBz/HBwc/xwcHP8cHBz/HBwc/xwcHP8cGxr/FztQ/wqGzf8Gmu7+CJXmpAyI0xUMiNIjB5bp3AaZ + 7f8TVHv/HBsa/xwcHP8cHBz/HBwc/xwcHP8cHBz/HBwc/xwcHP8cHBz/HBwc/xwcHP8cHBz/HBwb/xwf + If8UT3P/CYzX/wad8v8IkN7/DXe1/xBll/8RYZD/D2qf/wuAw/8Hl+n/Bpvw/wx8vP8XOU3/HBsb/xwc + HP8cHBz/HBwc/xwcHP8cHBz/HBwc/xwcHP8cHBz/HBwc/xwcHP8cHBz/HBoZ/xZCXP8HlOX/B5jr8QqM + 2UUTcK0GCJTklAab7/8Pap//HB8h/xwcG/8cHBz/HBwc/xwcHP8cHBz/HBwc/xwcHP8cHBz/HBwc/xwc + HP8cHBz/HBwc/xwcG/8cHBz/GDRE/xBllv8KiNH/B5jq/wac8f8GnPL/Bpvw/weU5P8Lf8H/E1R6/xon + L/8cGxr/HBwc/xwcHP8cHBz/HBwc/xwcHP8cHBz/HBwc/xwcHP8cHBz/HBwc/xwcHP8cHBz/HBwb/xJY + gP8Gme3/B5bntw2DyxMJkN8ACo3aKgeY69wHlOT/FkJc/xwaGf8cHBz/HBwc/xwcHP8cHBz/HBwc/xwc + HP8cHBz/HBwc/xwcHP8cHBz/HBwc/xwcHP8cHBz/HBsa/xwdHf8aKzX/Fz9W/xRMbf8UTnH/FUlo/xg4 + S/8bJSv/HBsa/xwbG/8cHBz/HBwc/xwcHP8cHBz/HBwc/xwcHP8cHBz/HBwc/xwcHP8cHBz/HBwc/xwc + HP8cGxr/GTJC/wmL1f8Gme3vCZDeRweY6wAOgccAAO3/AAiS4nYGm/D9DHm5/xslK/8cGxv/HBwc/xwc + HP8cHBz/HBwc/xwcHP8cHBz/HBwc/xwcHP8cHBz/HBwc/xwcHP8cHBz/HBwc/xwcHP8cGxr/HBoZ/xwa + Gf8cGhn/HBoZ/xwaGf8cGxv/HBwc/xwcHP8cHBz/HBwc/xwcHP8cHBz/HBwc/xwcHP8cHBz/HBwc/xwc + HP8cHBz/HBwc/xwcHP8cHiD/D2ic/wab8P8IlOWbEHu+Bg2FzgAAAAAAC4rVAAyI0hgHlunGBpjr/xRQ + dP8cGxr/HBwc/xwcHP8cHBz/HBwc/xwbG/8cGxr/HBsb/xwcHP8cHBz/HBwc/xwcHP8cHBz/HBwc/xwc + HP8cHBz/HBwc/xwcHP8cHBz/HBwc/xwcHP8cHBz/HBwc/xwcHP8cHBz/HBwc/xwcHP8cHBz/HBwb/xwb + Gv8cGxv/HBwc/xwcHP8cHBz/HBwc/xwaGf8XPlb/CJPi/weY6+EKjNkwCZDfAAAAAAAAAAAAE3GuAAWf + 9gAJkeBXBpru9gqFzP8aLTj/HBsa/xwbGv8cGhn/HBwc/xslLP8ZMUD/GyYt/xwbGv8cHBz/HBwc/xwc + HP8cHBz/HBwc/xwcHP8cHBz/HBwc/xwcHP8cHBz/HBwc/xwcHP8cHBz/HBwc/xwcHP8cHBz/HBwc/xwc + HP8cGxr/GyMn/xkxQP8aKDH/HB0e/xwaGf8cGxr/HBsa/xsjKP8NdrP/Bpvw/giT433SAAAAD33CAAAA + AAAAAAAAAAAAAAyH0AAOgccLCJXmrAab7/8RYI7/HCAk/xktOf8VRmP/EGWW/wuBxP8IkN3/DH2+/xc/ + V/8cHR3/HBsa/xwcHP8cHBz/HBwc/xwcHP8cHBz/HBwc/xwcHP8cHBz/HBwc/xwcHP8cHBz/HBwc/xwc + HP8cHBz/HBsb/xwbG/8YNUb/DXOu/wiQ3f8Khcv/D2qf/xRMbP8ZMUD/HCAj/xRNb/8HmOr/B5fpzAuJ + 1BwKjNkAAAAAAAAAAAAAAAAAAAAAABddjwAIlOUACo3bPgeY7OoIkd//DXi2/wmL1f8HmOv/Bpvw/waa + 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 + wv8Hc8xO37nEVU8AAAAASUVORK5CYII= + + + \ No newline at end of file diff --git a/Fo76ini/Forms/FormTextPrompt/TextPrompt.Designer.cs b/Fo76ini/Forms/FormTextPrompt/TextPrompt.Designer.cs new file mode 100644 index 0000000..509e227 --- /dev/null +++ b/Fo76ini/Forms/FormTextPrompt/TextPrompt.Designer.cs @@ -0,0 +1,103 @@ +namespace Fo76ini.Forms.FormTextPrompt +{ + partial class TextPrompt + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.textBox = new System.Windows.Forms.TextBox(); + this.label = new System.Windows.Forms.Label(); + this.buttonCancel = new System.Windows.Forms.Button(); + this.buttonOK = new System.Windows.Forms.Button(); + this.SuspendLayout(); + // + // textBox + // + this.textBox.Location = new System.Drawing.Point(12, 58); + this.textBox.Name = "textBox"; + this.textBox.Size = new System.Drawing.Size(321, 20); + this.textBox.TabIndex = 0; + // + // label + // + this.label.Font = new System.Drawing.Font("Microsoft Sans Serif", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.label.Location = new System.Drawing.Point(12, 13); + this.label.Name = "label"; + this.label.Size = new System.Drawing.Size(321, 42); + this.label.TabIndex = 1; + this.label.Text = "Text"; + this.label.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; + // + // buttonCancel + // + this.buttonCancel.Location = new System.Drawing.Point(258, 97); + this.buttonCancel.Name = "buttonCancel"; + this.buttonCancel.Size = new System.Drawing.Size(75, 23); + this.buttonCancel.TabIndex = 2; + this.buttonCancel.Text = "Cancel"; + this.buttonCancel.UseVisualStyleBackColor = true; + this.buttonCancel.Click += new System.EventHandler(this.buttonCancel_Click); + // + // buttonOK + // + this.buttonOK.Location = new System.Drawing.Point(177, 97); + this.buttonOK.Name = "buttonOK"; + this.buttonOK.Size = new System.Drawing.Size(75, 23); + this.buttonOK.TabIndex = 3; + this.buttonOK.Text = "OK"; + this.buttonOK.UseVisualStyleBackColor = true; + this.buttonOK.Click += new System.EventHandler(this.buttonOK_Click); + // + // TextPrompt + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(345, 129); + this.ControlBox = false; + this.Controls.Add(this.buttonOK); + this.Controls.Add(this.buttonCancel); + this.Controls.Add(this.label); + this.Controls.Add(this.textBox); + this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog; + this.MaximizeBox = false; + this.MinimizeBox = false; + this.Name = "TextPrompt"; + this.ShowIcon = false; + this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent; + this.Text = "Text prompt"; + this.ResumeLayout(false); + this.PerformLayout(); + + } + + #endregion + + private System.Windows.Forms.TextBox textBox; + private System.Windows.Forms.Label label; + private System.Windows.Forms.Button buttonCancel; + private System.Windows.Forms.Button buttonOK; + } +} \ No newline at end of file diff --git a/Fo76ini/Forms/FormTextPrompt/TextPrompt.cs b/Fo76ini/Forms/FormTextPrompt/TextPrompt.cs new file mode 100644 index 0000000..eb80ee9 --- /dev/null +++ b/Fo76ini/Forms/FormTextPrompt/TextPrompt.cs @@ -0,0 +1,68 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; + +namespace Fo76ini.Forms.FormTextPrompt +{ + public partial class TextPrompt : Form + { + Action CallbackOK = null; + Action CallbackCancel = null; + + public TextPrompt() + { + InitializeComponent(); + this.textBox.KeyDown += textBox_KeyDown; + } + + public static void Prompt(String text, Action callbackOk, Action callbackCancel = null) + { + Prompt(text, "", callbackOk, callbackCancel); + } + + public static void Prompt(String text, String value, Action callbackOk, Action callbackCancel = null) + { + TextPrompt prompt = new TextPrompt(); + prompt.CallbackOK = callbackOk; + prompt.CallbackCancel = callbackCancel; + prompt.Text = text; + prompt.label.Text = text; + prompt.textBox.Text = value; + prompt.ShowDialog(); + prompt.Focus(); + } + + private void buttonOK_Click(object sender, EventArgs e) + { + CallbackOK?.Invoke(this.textBox.Text); + this.Close(); + this.Dispose(); + } + + private void buttonCancel_Click(object sender, EventArgs e) + { + CallbackCancel?.Invoke(); + this.Close(); + this.Dispose(); + } + + private void textBox_KeyDown(object sender, KeyEventArgs e) + { + switch (e.KeyCode) + { + case Keys.Enter: + buttonOK_Click(sender, e); + break; + case Keys.Escape: + buttonCancel_Click(sender, e); + break; + } + } + } +} diff --git a/Fo76ini/Forms/FormTextPrompt/TextPrompt.resx b/Fo76ini/Forms/FormTextPrompt/TextPrompt.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/Fo76ini/Forms/FormTextPrompt/TextPrompt.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/Fo76ini/Forms/FormWelcome/FormWelcome.Designer.cs b/Fo76ini/Forms/FormWelcome/FormWelcome.Designer.cs new file mode 100644 index 0000000..5db5a25 --- /dev/null +++ b/Fo76ini/Forms/FormWelcome/FormWelcome.Designer.cs @@ -0,0 +1,371 @@ + +namespace Fo76ini.Forms.FormWelcome +{ + partial class FormWelcome + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FormWelcome)); + this.label1 = new System.Windows.Forms.Label(); + this.labelTitle = new System.Windows.Forms.Label(); + this.panel1 = new System.Windows.Forms.Panel(); + this.groupBoxGameLocation = new System.Windows.Forms.GroupBox(); + this.label3 = new System.Windows.Forms.Label(); + this.label2 = new System.Windows.Forms.Label(); + this.buttonAutoDetect = new System.Windows.Forms.Button(); + this.textBoxGamePath = new System.Windows.Forms.TextBox(); + this.buttonPickGamePath = new System.Windows.Forms.Button(); + this.groupBoxGameEdition = new System.Windows.Forms.GroupBox(); + this.radioButtonEditionUnknown = new System.Windows.Forms.RadioButton(); + this.pictureBoxUnknown = new System.Windows.Forms.PictureBox(); + this.pictureBoxMSStore = new System.Windows.Forms.PictureBox(); + this.pictureBoxSteam = new System.Windows.Forms.PictureBox(); + this.pictureBoxBethesdaNetPTS = new System.Windows.Forms.PictureBox(); + this.pictureBoxBethesdaNet = new System.Windows.Forms.PictureBox(); + this.radioButtonEditionMSStore = new System.Windows.Forms.RadioButton(); + this.radioButtonEditionBethesdaNetPTS = new System.Windows.Forms.RadioButton(); + this.radioButtonEditionSteam = new System.Windows.Forms.RadioButton(); + this.radioButtonEditionBethesdaNet = new System.Windows.Forms.RadioButton(); + this.buttonOK = new System.Windows.Forms.Button(); + this.openFileDialogGamePath = new System.Windows.Forms.OpenFileDialog(); + this.label4 = new System.Windows.Forms.Label(); + this.panel1.SuspendLayout(); + this.groupBoxGameLocation.SuspendLayout(); + this.groupBoxGameEdition.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.pictureBoxUnknown)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.pictureBoxMSStore)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.pictureBoxSteam)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.pictureBoxBethesdaNetPTS)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.pictureBoxBethesdaNet)).BeginInit(); + this.SuspendLayout(); + // + // label1 + // + this.label1.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.label1.Location = new System.Drawing.Point(12, 43); + this.label1.Name = "label1"; + this.label1.Size = new System.Drawing.Size(422, 28); + this.label1.TabIndex = 8; + this.label1.Text = "Hi, it seems like you started the tool for the first time!\r\n"; + // + // labelTitle + // + this.labelTitle.Font = new System.Drawing.Font("Microsoft Sans Serif", 14.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.labelTitle.Location = new System.Drawing.Point(12, 9); + this.labelTitle.Name = "labelTitle"; + this.labelTitle.Size = new System.Drawing.Size(291, 24); + this.labelTitle.TabIndex = 7; + this.labelTitle.Text = "Welcome"; + // + // panel1 + // + this.panel1.BackColor = System.Drawing.Color.White; + this.panel1.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.panel1.Controls.Add(this.groupBoxGameLocation); + this.panel1.Controls.Add(this.groupBoxGameEdition); + this.panel1.Location = new System.Drawing.Point(12, 114); + this.panel1.Name = "panel1"; + this.panel1.Size = new System.Drawing.Size(422, 424); + this.panel1.TabIndex = 40; + // + // groupBoxGameLocation + // + this.groupBoxGameLocation.Controls.Add(this.label3); + this.groupBoxGameLocation.Controls.Add(this.label2); + this.groupBoxGameLocation.Controls.Add(this.buttonAutoDetect); + this.groupBoxGameLocation.Controls.Add(this.textBoxGamePath); + this.groupBoxGameLocation.Controls.Add(this.buttonPickGamePath); + this.groupBoxGameLocation.Location = new System.Drawing.Point(11, 190); + this.groupBoxGameLocation.Name = "groupBoxGameLocation"; + this.groupBoxGameLocation.Size = new System.Drawing.Size(400, 224); + this.groupBoxGameLocation.TabIndex = 41; + this.groupBoxGameLocation.TabStop = false; + this.groupBoxGameLocation.Text = "Game location"; + // + // label3 + // + this.label3.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.label3.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.label3.Location = new System.Drawing.Point(8, 84); + this.label3.Name = "label3"; + this.label3.Size = new System.Drawing.Size(386, 34); + this.label3.TabIndex = 34; + this.label3.Text = "You can skip the game location, if you don\'t want to install mods."; + // + // label2 + // + this.label2.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.label2.Location = new System.Drawing.Point(8, 127); + this.label2.Name = "label2"; + this.label2.Size = new System.Drawing.Size(386, 88); + this.label2.TabIndex = 33; + this.label2.Text = resources.GetString("label2.Text"); + // + // buttonAutoDetect + // + this.buttonAutoDetect.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.buttonAutoDetect.Location = new System.Drawing.Point(6, 48); + this.buttonAutoDetect.Name = "buttonAutoDetect"; + this.buttonAutoDetect.Size = new System.Drawing.Size(388, 23); + this.buttonAutoDetect.TabIndex = 32; + this.buttonAutoDetect.Text = "Attempt auto-detect"; + this.buttonAutoDetect.UseVisualStyleBackColor = true; + this.buttonAutoDetect.Click += new System.EventHandler(this.buttonAutoDetect_Click); + // + // textBoxGamePath + // + this.textBoxGamePath.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.textBoxGamePath.Location = new System.Drawing.Point(6, 21); + this.textBoxGamePath.Name = "textBoxGamePath"; + this.textBoxGamePath.Size = new System.Drawing.Size(354, 20); + this.textBoxGamePath.TabIndex = 30; + this.textBoxGamePath.TextChanged += new System.EventHandler(this.textBoxGamePath_TextChanged); + // + // buttonPickGamePath + // + this.buttonPickGamePath.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.buttonPickGamePath.Location = new System.Drawing.Point(366, 19); + this.buttonPickGamePath.Name = "buttonPickGamePath"; + this.buttonPickGamePath.Size = new System.Drawing.Size(28, 23); + this.buttonPickGamePath.TabIndex = 31; + this.buttonPickGamePath.Text = "..."; + this.buttonPickGamePath.UseVisualStyleBackColor = true; + this.buttonPickGamePath.Click += new System.EventHandler(this.buttonPickGamePath_Click); + // + // groupBoxGameEdition + // + this.groupBoxGameEdition.Controls.Add(this.radioButtonEditionUnknown); + this.groupBoxGameEdition.Controls.Add(this.pictureBoxUnknown); + this.groupBoxGameEdition.Controls.Add(this.pictureBoxMSStore); + this.groupBoxGameEdition.Controls.Add(this.pictureBoxSteam); + this.groupBoxGameEdition.Controls.Add(this.pictureBoxBethesdaNetPTS); + this.groupBoxGameEdition.Controls.Add(this.pictureBoxBethesdaNet); + this.groupBoxGameEdition.Controls.Add(this.radioButtonEditionMSStore); + this.groupBoxGameEdition.Controls.Add(this.radioButtonEditionBethesdaNetPTS); + this.groupBoxGameEdition.Controls.Add(this.radioButtonEditionSteam); + this.groupBoxGameEdition.Controls.Add(this.radioButtonEditionBethesdaNet); + this.groupBoxGameEdition.Location = new System.Drawing.Point(11, 9); + this.groupBoxGameEdition.Name = "groupBoxGameEdition"; + this.groupBoxGameEdition.Size = new System.Drawing.Size(400, 175); + this.groupBoxGameEdition.TabIndex = 40; + this.groupBoxGameEdition.TabStop = false; + this.groupBoxGameEdition.Text = "Game edition"; + // + // radioButtonEditionUnknown + // + this.radioButtonEditionUnknown.AutoSize = true; + this.radioButtonEditionUnknown.Location = new System.Drawing.Point(43, 142); + this.radioButtonEditionUnknown.Name = "radioButtonEditionUnknown"; + this.radioButtonEditionUnknown.Size = new System.Drawing.Size(51, 17); + this.radioButtonEditionUnknown.TabIndex = 31; + this.radioButtonEditionUnknown.Text = "Other"; + this.radioButtonEditionUnknown.UseVisualStyleBackColor = true; + this.radioButtonEditionUnknown.CheckedChanged += new System.EventHandler(this.radioButtonEditionUnknown_CheckedChanged); + // + // pictureBoxUnknown + // + this.pictureBoxUnknown.BackColor = System.Drawing.Color.Transparent; + this.pictureBoxUnknown.Image = global::Fo76ini.Properties.Resources.help_24; + this.pictureBoxUnknown.Location = new System.Drawing.Point(11, 139); + this.pictureBoxUnknown.Name = "pictureBoxUnknown"; + this.pictureBoxUnknown.Size = new System.Drawing.Size(24, 24); + this.pictureBoxUnknown.TabIndex = 30; + this.pictureBoxUnknown.TabStop = false; + // + // pictureBoxMSStore + // + this.pictureBoxMSStore.BackColor = System.Drawing.Color.Transparent; + this.pictureBoxMSStore.Image = global::Fo76ini.Properties.Resources.msstore_24; + this.pictureBoxMSStore.Location = new System.Drawing.Point(11, 109); + this.pictureBoxMSStore.Name = "pictureBoxMSStore"; + this.pictureBoxMSStore.Size = new System.Drawing.Size(24, 24); + this.pictureBoxMSStore.TabIndex = 29; + this.pictureBoxMSStore.TabStop = false; + // + // pictureBoxSteam + // + this.pictureBoxSteam.BackColor = System.Drawing.Color.Transparent; + this.pictureBoxSteam.Image = global::Fo76ini.Properties.Resources.steam_24px; + this.pictureBoxSteam.Location = new System.Drawing.Point(11, 79); + this.pictureBoxSteam.Name = "pictureBoxSteam"; + this.pictureBoxSteam.Size = new System.Drawing.Size(24, 24); + this.pictureBoxSteam.TabIndex = 28; + this.pictureBoxSteam.TabStop = false; + // + // pictureBoxBethesdaNetPTS + // + this.pictureBoxBethesdaNetPTS.BackColor = System.Drawing.Color.Transparent; + this.pictureBoxBethesdaNetPTS.Image = global::Fo76ini.Properties.Resources.bethesda_24; + this.pictureBoxBethesdaNetPTS.Location = new System.Drawing.Point(11, 49); + this.pictureBoxBethesdaNetPTS.Name = "pictureBoxBethesdaNetPTS"; + this.pictureBoxBethesdaNetPTS.Size = new System.Drawing.Size(24, 24); + this.pictureBoxBethesdaNetPTS.TabIndex = 27; + this.pictureBoxBethesdaNetPTS.TabStop = false; + // + // pictureBoxBethesdaNet + // + this.pictureBoxBethesdaNet.BackColor = System.Drawing.Color.Transparent; + this.pictureBoxBethesdaNet.Image = global::Fo76ini.Properties.Resources.bethesda_24; + this.pictureBoxBethesdaNet.Location = new System.Drawing.Point(11, 19); + this.pictureBoxBethesdaNet.Name = "pictureBoxBethesdaNet"; + this.pictureBoxBethesdaNet.Size = new System.Drawing.Size(24, 24); + this.pictureBoxBethesdaNet.TabIndex = 26; + this.pictureBoxBethesdaNet.TabStop = false; + // + // radioButtonEditionMSStore + // + this.radioButtonEditionMSStore.AutoSize = true; + this.radioButtonEditionMSStore.Location = new System.Drawing.Point(43, 112); + this.radioButtonEditionMSStore.Name = "radioButtonEditionMSStore"; + this.radioButtonEditionMSStore.Size = new System.Drawing.Size(188, 17); + this.radioButtonEditionMSStore.TabIndex = 3; + this.radioButtonEditionMSStore.Text = "Microsoft Store / Xbox Game Pass"; + this.radioButtonEditionMSStore.UseVisualStyleBackColor = true; + this.radioButtonEditionMSStore.CheckedChanged += new System.EventHandler(this.radioButtonEditionMSStore_CheckedChanged); + // + // radioButtonEditionBethesdaNetPTS + // + this.radioButtonEditionBethesdaNetPTS.AutoSize = true; + this.radioButtonEditionBethesdaNetPTS.Location = new System.Drawing.Point(43, 52); + this.radioButtonEditionBethesdaNetPTS.Name = "radioButtonEditionBethesdaNetPTS"; + this.radioButtonEditionBethesdaNetPTS.Size = new System.Drawing.Size(118, 17); + this.radioButtonEditionBethesdaNetPTS.TabIndex = 2; + this.radioButtonEditionBethesdaNetPTS.Text = "Bethesda.net (PTS)"; + this.radioButtonEditionBethesdaNetPTS.UseVisualStyleBackColor = true; + this.radioButtonEditionBethesdaNetPTS.CheckedChanged += new System.EventHandler(this.radioButtonEditionBethesdaNetPTS_CheckedChanged); + // + // radioButtonEditionSteam + // + this.radioButtonEditionSteam.AutoSize = true; + this.radioButtonEditionSteam.Location = new System.Drawing.Point(43, 82); + this.radioButtonEditionSteam.Name = "radioButtonEditionSteam"; + this.radioButtonEditionSteam.Size = new System.Drawing.Size(55, 17); + this.radioButtonEditionSteam.TabIndex = 1; + this.radioButtonEditionSteam.Text = "Steam"; + this.radioButtonEditionSteam.UseVisualStyleBackColor = true; + this.radioButtonEditionSteam.CheckedChanged += new System.EventHandler(this.radioButtonEditionSteam_CheckedChanged); + // + // radioButtonEditionBethesdaNet + // + this.radioButtonEditionBethesdaNet.AutoSize = true; + this.radioButtonEditionBethesdaNet.Location = new System.Drawing.Point(43, 22); + this.radioButtonEditionBethesdaNet.Name = "radioButtonEditionBethesdaNet"; + this.radioButtonEditionBethesdaNet.Size = new System.Drawing.Size(88, 17); + this.radioButtonEditionBethesdaNet.TabIndex = 0; + this.radioButtonEditionBethesdaNet.Text = "Bethesda.net"; + this.radioButtonEditionBethesdaNet.UseVisualStyleBackColor = true; + this.radioButtonEditionBethesdaNet.CheckedChanged += new System.EventHandler(this.radioButtonEditionBethesdaNet_CheckedChanged); + // + // buttonOK + // + this.buttonOK.Location = new System.Drawing.Point(300, 547); + this.buttonOK.Name = "buttonOK"; + this.buttonOK.Size = new System.Drawing.Size(134, 27); + this.buttonOK.TabIndex = 41; + this.buttonOK.Text = "OK"; + this.buttonOK.UseVisualStyleBackColor = true; + this.buttonOK.Click += new System.EventHandler(this.buttonOK_Click); + // + // openFileDialogGamePath + // + this.openFileDialogGamePath.FileName = "Fallout76.exe"; + this.openFileDialogGamePath.Filter = "Executable|*.exe"; + this.openFileDialogGamePath.FilterIndex = 2; + // + // label4 + // + this.label4.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(112)))), ((int)(((byte)(112)))), ((int)(((byte)(112))))); + this.label4.Location = new System.Drawing.Point(12, 63); + this.label4.Name = "label4"; + this.label4.Size = new System.Drawing.Size(422, 46); + this.label4.TabIndex = 42; + this.label4.Text = "» Now, I know you\'re a busy fellow, so I won\'t take up much of your time.\r\n I j" + + "ust need to verify some information, that\'s all! «\r\n – Vault-Tec rep, Oct." + + " 2077"; + // + // FormWelcome + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(446, 581); + this.Controls.Add(this.label4); + this.Controls.Add(this.buttonOK); + this.Controls.Add(this.panel1); + this.Controls.Add(this.label1); + this.Controls.Add(this.labelTitle); + this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog; + this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); + this.MaximizeBox = false; + this.MinimizeBox = false; + this.Name = "FormWelcome"; + this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen; + this.Text = "Welcome"; + this.panel1.ResumeLayout(false); + this.groupBoxGameLocation.ResumeLayout(false); + this.groupBoxGameLocation.PerformLayout(); + this.groupBoxGameEdition.ResumeLayout(false); + this.groupBoxGameEdition.PerformLayout(); + ((System.ComponentModel.ISupportInitialize)(this.pictureBoxUnknown)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.pictureBoxMSStore)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.pictureBoxSteam)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.pictureBoxBethesdaNetPTS)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.pictureBoxBethesdaNet)).EndInit(); + this.ResumeLayout(false); + + } + + #endregion + + private System.Windows.Forms.Label label1; + private System.Windows.Forms.Label labelTitle; + private System.Windows.Forms.Panel panel1; + private System.Windows.Forms.GroupBox groupBoxGameLocation; + private System.Windows.Forms.Button buttonAutoDetect; + private System.Windows.Forms.TextBox textBoxGamePath; + private System.Windows.Forms.Button buttonPickGamePath; + private System.Windows.Forms.GroupBox groupBoxGameEdition; + private System.Windows.Forms.RadioButton radioButtonEditionUnknown; + private System.Windows.Forms.PictureBox pictureBoxUnknown; + private System.Windows.Forms.PictureBox pictureBoxMSStore; + private System.Windows.Forms.PictureBox pictureBoxSteam; + private System.Windows.Forms.PictureBox pictureBoxBethesdaNetPTS; + private System.Windows.Forms.PictureBox pictureBoxBethesdaNet; + private System.Windows.Forms.RadioButton radioButtonEditionMSStore; + private System.Windows.Forms.RadioButton radioButtonEditionBethesdaNetPTS; + private System.Windows.Forms.RadioButton radioButtonEditionSteam; + private System.Windows.Forms.RadioButton radioButtonEditionBethesdaNet; + private System.Windows.Forms.Button buttonOK; + private System.Windows.Forms.Label label2; + private System.Windows.Forms.Label label3; + private System.Windows.Forms.OpenFileDialog openFileDialogGamePath; + private System.Windows.Forms.Label label4; + } +} \ No newline at end of file diff --git a/Fo76ini/Forms/FormWelcome/FormWelcome.cs b/Fo76ini/Forms/FormWelcome/FormWelcome.cs new file mode 100644 index 0000000..5aa96f7 --- /dev/null +++ b/Fo76ini/Forms/FormWelcome/FormWelcome.cs @@ -0,0 +1,149 @@ +using Fo76ini.Forms.FormTextPrompt; +using Fo76ini.Interface; +using Fo76ini.Profiles; +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.IO; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; + +namespace Fo76ini.Forms.FormWelcome +{ + public partial class FormWelcome : Form + { + private bool UpdatingUI = false; + + public FormWelcome() + { + InitializeComponent(); + this.FormClosing += FormWelcome_FormClosing; + } + + public static DialogResult OpenDialog() + { + FormWelcome form = new FormWelcome(); + form.UpdatingUI = true; + + switch (ProfileManager.SelectedGame.Edition) + { + case GameEdition.BethesdaNet: + form.radioButtonEditionBethesdaNet.Checked = true; + break; + case GameEdition.BethesdaNetPTS: + form.radioButtonEditionBethesdaNetPTS.Checked = true; + break; + case GameEdition.Steam: + form.radioButtonEditionSteam.Checked = true; + break; + case GameEdition.MSStore: + form.radioButtonEditionMSStore.Checked = true; + break; + default: + form.radioButtonEditionUnknown.Checked = true; + break; + } + + form.textBoxGamePath.Text = ProfileManager.SelectedGame.GamePath; + + form.UpdatingUI = false; + return form.ShowDialog(); + } + + private void FormWelcome_FormClosing(object sender, FormClosingEventArgs e) + { + if (e.CloseReason == CloseReason.UserClosing) + { + ProfileManager.Save(); + ProfileManager.Feedback(); + } + } + + private void buttonOK_Click(object sender, EventArgs e) + { + ProfileManager.Save(); + ProfileManager.Feedback(); + this.DialogResult = DialogResult.OK; + } + + private void radioButtonEditionBethesdaNet_CheckedChanged(object sender, EventArgs e) + { + if (UpdatingUI) + return; + ProfileManager.SelectedGame.Edition = GameEdition.BethesdaNet; + ProfileManager.SelectedGame.SetDefaultSettings(GameEdition.BethesdaNet); + ProfileManager.SelectedGame.Title = "Bethesda.net"; + } + + private void radioButtonEditionBethesdaNetPTS_CheckedChanged(object sender, EventArgs e) + { + if (UpdatingUI) + return; + ProfileManager.SelectedGame.Edition = GameEdition.BethesdaNetPTS; + ProfileManager.SelectedGame.SetDefaultSettings(GameEdition.BethesdaNetPTS); + ProfileManager.SelectedGame.Title = "Bethesda.net (PTS)"; + } + + private void radioButtonEditionSteam_CheckedChanged(object sender, EventArgs e) + { + if (UpdatingUI) + return; + ProfileManager.SelectedGame.Edition = GameEdition.Steam; + ProfileManager.SelectedGame.SetDefaultSettings(GameEdition.Steam); + ProfileManager.SelectedGame.Title = "Steam"; + } + + private void radioButtonEditionMSStore_CheckedChanged(object sender, EventArgs e) + { + if (UpdatingUI) + return; + ProfileManager.SelectedGame.Edition = GameEdition.MSStore; + ProfileManager.SelectedGame.SetDefaultSettings(GameEdition.MSStore); + ProfileManager.SelectedGame.Title = "Microsoft Store"; + } + + private void radioButtonEditionUnknown_CheckedChanged(object sender, EventArgs e) + { + if (UpdatingUI) + return; + ProfileManager.SelectedGame.Edition = GameEdition.Unknown; + ProfileManager.SelectedGame.Title = "Unknown"; + } + + private void textBoxGamePath_TextChanged(object sender, EventArgs e) + { + if (UpdatingUI) + return; + ProfileManager.SelectedGame.GamePath = this.textBoxGamePath.Text; + this.textBoxGamePath.ForeColor = ProfileManager.SelectedGame.ValidateGamePath() ? Color.Black : Color.Maroon; + } + + private void buttonPickGamePath_Click(object sender, EventArgs e) + { + if (UpdatingUI) + return; + this.openFileDialogGamePath.FileName = ProfileManager.SelectedGame.ExecutableName; + if (this.openFileDialogGamePath.ShowDialog() == DialogResult.OK) + { + string path = Path.GetDirectoryName(this.openFileDialogGamePath.FileName); // We want the path where Fallout76.exe resides. + if (GameInstance.ValidateGamePath(path)) + this.textBoxGamePath.Text = path; + else + MsgBox.ShowID("modsGamePathInvalid"); + } + } + + private void buttonAutoDetect_Click(object sender, EventArgs e) + { + string foundPath = FormSettings.FormSettings.AutoDetectGamePath(); + if (foundPath != null) + TextPrompt.Prompt("Found a path. Proceed?", foundPath, (newPath) => this.textBoxGamePath.Text = newPath); + else + MsgBox.ShowID("gamePathAutoDetectFailed", MessageBoxIcon.Information); + } + } +} diff --git a/Fo76ini/Forms/FormWelcome/FormWelcome.resx b/Fo76ini/Forms/FormWelcome/FormWelcome.resx new file mode 100644 index 0000000..6189415 --- /dev/null +++ b/Fo76ini/Forms/FormWelcome/FormWelcome.resx @@ -0,0 +1,835 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + If you have trouble finding the game location: + +Steam: C:\Program Files (x86)\Steam\steamapps\common\Fallout76\ +Bethesda.net: C:\Program Files (x86)\Bethesda.net Launcher\games\Fallout76\ +Microsoft Store: C:\Program Files\ModifiableWindowsApps\Fallout76\ + + + 17, 17 + + + + + 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 + w/4VRWD/GyEk/xwbGv8cHBz/HBwc/xwcHP8cHBz/HBwc/xwcHP8cGxv/HB8h/xY+Vf8Mern/B5jq6weU + 5e0Khs7+Dmyi/w1yrP8Hl+rXCZDeJQmR4QAAAAAADoPLAAC//wAHl+pzCYzW/Rg0RP8cGxv/Gicv/xc9 + VP8US2v/Gis1/xwaGf8cHBv/HBwc/xwcHP8cHBz/HBwc/xwcHP8cHBz/HBwc/xwcHP8cHBz/HBoZ/xon + Lv8VSWj/FkBZ/xopMv8cHB3/Gis1/wqEyv8HmOyMFG+rAgyI0wAIkuIACZDfKAeY7NsRW4b/HBwc/xwc + HP8cGxv/HBoZ/xwaGf8cGxv/HBwc/xwcHP8cHBz/HBwc/xwbGv8cGhn/HBoZ/xwaGf8cHBv/HBwc/xwc + HP8cHBz/HBsb/xwaGf8cGhn/HBsb/xwcHP8cGxr/FE9x/weX6ekIk+M6B5boABF4ugQHmOyQC4LG/xoq + M/8cGxr/HBwc/xwcHP8cHBz/HBwc/xwcHP8cHBz/HBwc/xwbGv8cHh//GS46/xY+Vf8WQVv/GDZI/xsk + Kf8cGxr/HBwb/xwcHP8cHBz/HBwc/xwcHP8cHBz/HBwc/xwbG/8bJCn/DHi2/weZ7akMiNILCZHhRAeX + 6usUT3L/HBoY/xwcHP8cHBz/HBwc/xwcHP8cHBz/HBwc/xwcHP8cGxr/GDNC/w9roP8JitT/CYzX/wmL + 1f8Jjdj/C36//xRLa/8bICL/HBsb/xwcHP8cHBz/HBwc/xwcHP8cHBz/HBwc/xwaGP8WQl3/B5Xl9AiT + 5F4JkuFBB5jr4A9roP8bJSv/HBsa/xwcHP8cHBz/HBwc/xwcHP8cHBz/HBsa/xc9VP8Kh8//C37A/xRM + bP8YMkL/GS88/xc9U/8PZ5r/CI/c/xBikP8bIST/HBwb/xwcHP8cHBz/HBwc/xwcHP8cGxv/GyEk/xBg + j/8Hl+nrCJPkWQD//wAJkuFMB5jq4Q5to/8aJi3/HBsb/xwcHP8cHBz/HBwc/xwbGv8ZLjr/CoXL/w5v + p/8aJy//HBoY/xwbGv8cGxr/HBoZ/xwdHf8VSWj/CI/c/xNTeP8cGxv/HBwc/xwcHP8cHBz/HBsb/xsi + Jv8QY5L/B5bo7AiT42ASeboCEXq8AAD//wAIlORFBpru2w9qnv8bICP/HBwb/xwcHP8cHBz/HBsb/xFf + jP8Khcv/Gis1/xwaGf8cHBz/HBwc/xwcHP8cHBz/HBwb/xwbG/8RXYj/CobO/xorNf8cGxr/HBwc/xwc + HP8cHR7/EV6L/weY6+YIledYGF+SAg6AxQAAAAAADIvYAAOj/AAHl+pyCofP/xooMf8cGxv/HBwc/xwb + G/8bJCr/C4HE/xFch/8cGhn/HBwc/xwcHP8cHBz/HBwc/xwcHP8cHBz/HBsa/xkwPv8Ji9b/FUdj/xwa + Gf8cHBz/HBwb/xsiJv8Lfr//B5ntjQD//wALjNkAAAAAAAAAAAAAAAAABpvwAAeZ7GwLgsb/GyUr/xwb + G/8cHBz/HBsa/xktOf8JitT/FURf/xwaGP8cHBz/HBwc/xwcHP8cHBz/HBwc/xwcHP8cHBv/GyIn/wt/ + wv8SWYL/HBoZ/xwcHP8cHBz/HB8i/w13tP8Hmu6IAaj/ABF8vwAAAAAAAAAAAAAAAAAGm/AAB5nsbAuC + xv8bJSv/HBsb/xwcHP8cGxr/GS05/wmK1P8VRF//HBoY/xwcHP8cHBz/HBwc/xwcHP8cHBz/HBwc/xwc + G/8bIif/C3/C/xJZgv8cGhn/HBwc/xwcHP8cHyL/DXe0/wea7ogBqP8AEXy/AAAAAAAAAAAADIvYAAOj + /AAHl+pyCofP/xooMf8cGxv/HBwc/xwbG/8bJCr/C4HE/xFch/8cGhn/HBwc/xwcHP8cHBz/HBwc/xwc + HP8cHBz/HBsa/xkwPv8Ji9b/FUdj/xwaGf8cHBz/HBwb/xsiJv8Lfr//B5ntjQD//wALjNkAAAAAABF6 + vAAA//8ACJTkRQaa7tsPap7/GyAj/xwcG/8cHBz/HBwc/xwbG/8RX4z/CoXL/xorNf8cGhn/HBwc/xwc + HP8cHBz/HBwc/xwcG/8cGxv/EV2I/wqGzv8aKzX/HBsa/xwcHP8cHBz/HB0e/xFei/8HmOvmCJXnWBhf + kgIOgMUAAP//AAmS4UwHmOrhDm2j/xomLf8cGxv/HBwc/xwcHP8cHBz/HBsa/xkuOv8Khcv/Dm+n/xon + L/8cGhj/HBsa/xwbGv8cGhn/HB0d/xVJaP8Ij9z/E1N4/xwbG/8cHBz/HBwc/xwcHP8cGxv/GyIm/xBj + kv8HlujsCJPjYBJ5ugIJkuFBB5jr4A9roP8bJSv/HBsa/xwcHP8cHBz/HBwc/xwcHP8cHBz/HBsa/xc9 + VP8Kh8//C37A/xRMbP8YMkL/GS88/xc9U/8PZ5r/CI/c/xBhkP8bIST/HBwb/xwcHP8cHBz/HBwc/xwc + HP8cGxv/GyEk/xBgj/8Hl+nrCJPkWQmR4UQHl+rrFE9y/xwaGP8cHBz/HBwc/xwcHP8cHBz/HBwc/xwc + HP8cHBz/HBsa/xgzQv8Pa6D/CYrU/wmM1/8Ji9X/CY3Y/wt+v/8US2v/GyAi/xwbG/8cHBz/HBwc/xwc + HP8cHBz/HBwc/xwcHP8cGhj/FkJd/weV5fQIk+ReEXi6BAeY7JALgsb/Gioz/xwbGv8cHBz/HBwc/xwc + HP8cHBz/HBwc/xwcHP8cHBz/HBsa/xweH/8ZLjr/Fj5V/xZBW/8YNkj/GyQp/xwbGv8cHBv/HBwc/xwc + HP8cHBz/HBwc/xwcHP8cHBz/HBsb/xskKf8MeLb/B5ntqQyI0gsIkuIACZDfKAeY7NsRW4b/HBwc/xwc + HP8cGxv/HBoZ/xwaGf8cGxv/HBwc/xwcHP8cHBz/HBwc/xwbGv8cGhn/HBoZ/xwaGf8cHBv/HBwc/xwc + HP8cHBz/HBsb/xwaGf8cGhn/HBsb/xwcHP8cGxr/FE9x/weX6ekIk+M6B5boAA6DywAAv/8AB5fqcwmM + 1v0YNET/HBsb/xonL/8XPVT/FEtr/xorNf8cGhn/HBwb/xwcHP8cHBz/HBwc/xwcHP8cHBz/HBwc/xwc + HP8cHBz/HBwc/xwaGf8aJy7/FElo/xZAWf8aKTL/HBwd/xorNf8KhMr/B5jsjBRvqwIMiNMAAAAAAAmP + 3AAKjdkWB5jrxQx4tv8PaZ3/CoTJ/giT4/AHmOvoC4DD/hVFYP8bIST/HBsa/xwcHP8cHBz/HBwc/xwc + HP8cHBz/HBwc/xwbG/8cHyH/Fj5V/wx6uf8HmOrrB5Tl7QqGzv4ObKL/DXKs/weX6tcJkN4lCZHhAAAA + AAAAAAAAD3y/AAWe9AAIk+NSB5js1geZ7bMHmOt0CJPkOQmQ3zAHmeyfB5Tk8g11sP8YNUf/HBsa/xwc + HP8cHBz/HBwc/xwcHP8cGxr/GS47/w5upv8IkuH2B5ntrgmS4TkJkuIyB5jqbAeZ7awHmezYCJTlaAC9 + /wANgsgAAAAAAAAAAAAAAAAADIjSAAyG0AULitYZDYTMBwDU/wAeSXIACo7cAAuJ1AgIlOVHBpzxzA5s + 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 + 7/8RYI7/HCAk/xktOf8VRmP/EGWW/wuBxP8IkN3/DH2+/xc/V/8cHR3/HBsa/xwcHP8cHBz/HBwc/xwc + HP8cHBz/HBwc/xwcHP8cHBz/HBwc/xwcHP8cHBz/HBwc/xwcHP8cHBz/HBsb/xwbG/8YNUb/DXOu/wiQ + 3f8Khcv/D2qf/xRMbP8ZMUD/HCAj/xRNb/8HmOr/B5fpzAuJ1BwKjNkAAAAAAAAAAAAAAAAAE3GuAAWf + 9gAJkeBXBpru9gqFzP8aLTj/HBsa/xwbGv8cGhn/HBwc/xslLP8ZMUD/GyYt/xwbGv8cHBz/HBwc/xwc + HP8cHBz/HBwc/xwcHP8cHBz/HBwc/xwcHP8cHBz/HBwc/xwcHP8cHBz/HBwc/xwcHP8cHBz/HBwc/xwc + HP8cGxr/GyMn/xkxQP8aKDH/HB0e/xwaGf8cGxr/HBsa/xsjKP8NdrP/Bpvw/giT433UAAAAD33CAAAA + AAAAAAAAC4rVAAyI0hgHlunGBpjr/xRQdP8cGxr/HBwc/xwcHP8cHBz/HBwc/xwbG/8cGxr/HBsb/xwc + HP8cHBz/HBwc/xwcHP8cHBz/HBwc/xwcHP8cHBz/HBwc/xwcHP8cHBz/HBwc/xwcHP8cHBz/HBwc/xwc + HP8cHBz/HBwc/xwcHP8cHBz/HBwb/xwbGv8cGxv/HBwc/xwcHP8cHBz/HBwc/xwaGf8XPlb/CJPi/weY + 6+EKjNkwCZDfAAAAAAAOgccAAO3/AAiS4nYGm/D9DHm5/xslK/8cGxv/HBwc/xwcHP8cHBz/HBwc/xwc + HP8cHBz/HBwc/xwcHP8cHBz/HBwc/xwcHP8cHBz/HBwc/xwcHP8cGxr/HBoZ/xwaGf8cGhn/HBoZ/xwa + Gf8cGxv/HBwc/xwcHP8cHBz/HBwc/xwcHP8cHBz/HBwc/xwcHP8cHBz/HBwc/xwcHP8cHBz/HBwc/xwc + HP8cHiD/D2ic/wab8P8IlOWbEHu+Bg2FzgAJkN8ACo3aKgeY69wHlOT/FkJc/xwaGf8cHBz/HBwc/xwc + HP8cHBz/HBwc/xwcHP8cHBz/HBwc/xwcHP8cHBz/HBwc/xwcHP8cHBz/HBsa/xwdHf8aKzX/Fz9W/xRM + bf8UTnH/FUlo/xg4S/8bJSv/HBsa/xwbG/8cHBz/HBwc/xwcHP8cHBz/HBwc/xwcHP8cHBz/HBwc/xwc + HP8cHBz/HBwc/xwcHP8cGxr/GTJC/wmL1f8Gme3vCZDeRweY6wATcK0GCJTklAab7/8Pap//HB8h/xwc + G/8cHBz/HBwc/xwcHP8cHBz/HBwc/xwcHP8cHBz/HBwc/xwcHP8cHBz/HBwc/xwcG/8cHBz/GDRE/xBl + lv8KiNH/B5jq/wac8f8GnPL/Bpvw/weU5P8Lf8H/E1R6/xonL/8cGxr/HBwc/xwcHP8cHBz/HBwc/xwc + HP8cHBz/HBwc/xwcHP8cHBz/HBwc/xwcHP8cHBz/HBwb/xJYgP8Gme3/B5bntw2DyxMMiNIjB5bp3AaZ + 7f8TVHv/HBsa/xwcHP8cHBz/HBwc/xwcHP8cHBz/HBwc/xwcHP8cHBz/HBwc/xwcHP8cHBz/HBwb/xwf + If8UT3P/CYzX/wad8v8IkN7/DXe1/xBll/8RYZD/D2qf/wuAw/8Hl+n/Bpvw/wx8vP8XOU3/HBsb/xwc + HP8cHBz/HBwc/xwcHP8cHBz/HBwc/xwcHP8cHBz/HBwc/xwcHP8cHBz/HBoZ/xZCXP8HlOX/B5jr8QqM + 2UUPgMYICJPkhAaZ7fkIj9v/FUlo/xwcHP8cHBv/HBwc/xwcHP8cHBz/HBwc/xwcHP8cHBz/HBwc/xwc + HP8cHBz/HB4f/xJYgP8Hl+n/B5Xm/xBmmP8YNUb/GyAk/xwcG/8cGxv/HBwd/xslK/8WQl3/DHq5/wab + 8P8JidL/FzxS/xwbGv8cHBz/HBwc/xwcHP8cHBz/HBwc/xwcHP8cHBz/HBwc/xwcHP8cGxr/FztQ/wqG + zf8Gmu7+CJXmpAyI0xUMh9EADoHHCgmR4IcGme35CJHf/xRLbP8cHB3/HBwb/xwcHP8cHBz/HBwc/xwc + HP8cHBz/HBwc/xwcHP8cGxr/FUhm/weV5v8Ikd//FExt/xweH/8cGhn/HBwb/xwcHP8cHBz/HBwc/xwb + G/8cGhn/GyYu/xBnmv8Gm+//C4PI/xkuOv8cGxr/HBwc/xwcHP8cHBz/HBwc/xwcHP8cHBz/HBwc/xwb + Gv8XPVT/CojR/waa7/4Ik+OmDIbQFgqN2gAAAAAADn/EABB3uAoJkN+BBpru9QiS4f8UTnD/HB0e/xwc + HP8cHBz/HBwc/xwcHP8cHBz/HBwc/xwbGv8aKjT/C4PI/waY6/8TUXb/HBwb/xwcG/8cHBz/HBwc/xwc + HP8cHBz/HBwc/xwcHP8cHBz/HBsa/xskKf8Ocar/Bpzy/xBklf8cHR7/HBwc/xwcHP8cHBz/HBwc/xwc + HP8cHBz/HBwb/xY/V/8JitP/Bpvw/AiS4p8Of8QWDIfRAAAAAAAAAAAAAAAAAAyH0QAPfMAHCJXmdAaa + 7vMIkeD/Fz5V/xwaGf8cHBz/HBwc/xwcHP8cHBz/HBwc/xwaGf8TUXT/Bpvw/w10sP8bIib/HBsb/xwc + HP8cHBz/HBwc/xwcHP8cHBz/HBwc/xwcHP8cHBz/HBwc/xwaGf8YNUb/CI7b/wmN2v8ZMUD/HBsa/xwc + HP8cHBz/HBwc/xwcHP8cGxr/GS89/wqHz/8Gm/D7B5bokwyI0hAJkuIAOQAAAAAAAAAAAAAAAAAAAAAA + AAAMitYAEH3BBQiV5pwGm/D/E1Z9/xwaGf8cHBz/HBwc/xwcHP8cHBz/HBwc/xwfIv8NdLD/Bpnt/xVH + ZP8cGhn/HBwc/xwcHP8cHBz/HBwc/xwcHP8cHBz/HBwc/xwcHP8cHBz/HBwc/xwcHP8cHR7/D2ug/wac + 8f8UUHP/HBoZ/xwcHP8cHBz/HBwc/xwcHP8cGhn/FkJc/weY6v8HlunADInTEguL1wAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAVaaIAAP//AAiS4pcGmu7/FE1u/xwaGf8cHBz/HBwc/xwcHP8cHBz/HBsb/xop + Mv8KiND/CY3Z/xkuOv8cGxr/HBwc/xwcHP8cHBz/HBwc/xwcHP8cHBz/HBwc/xwcHP8cHBz/HBwc/xwc + HP8cGhn/FE1u/wac8f8PZ5r/HBwc/xwcHP8cHBz/HBwc/xwcHP8cGhn/FzpP/weU5f8Ilea9EXW1ChB5 + uwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPhMsA/wAAAAiW6JsGmOz/FUdk/xwaGf8cHBz/HBwc/xwc + HP8cHBz/HBsa/xkwPv8IkN3/CoPI/xslK/8cGxv/HBwc/xwcHP8cHBz/HBwc/xwcHP8cHBz/HBwc/xwc + HP8cHBz/HBwc/xwcHP8cGhn/Fj5V/weY6/8Nc67/HB8g/xwcHP8cHBz/HBwc/xwcHP8cGhn/GDVH/wiS + 4f8HmOvBDYrUCwyL1gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPhMsA/wAAAAiW6JsGmOz/FUdk/xwa + Gf8cHBz/HBwc/xwcHP8cHBz/HBsa/xkwPv8IkN3/CoPI/xslK/8cGxv/HBwc/xwcHP8cHBz/HBwc/xwc + HP8cHBz/HBwc/xwcHP8cHBz/HBwc/xwcHP8cGhn/Fj5V/weY6/8Nc67/HB8g/xwcHP8cHBz/HBwc/xwc + HP8cGhn/GDVH/wiS4f8HmOvBDYrUCwyL1gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAVaaIAAP//AAiS + 4pcGmu7/FE1u/xwaGf8cHBz/HBwc/xwcHP8cHBz/HBsb/xopMv8KiND/CY3Z/xkuOv8cGxr/HBwc/xwc + HP8cHBz/HBwc/xwcHP8cHBz/HBwc/xwcHP8cHBz/HBwc/xwcHP8cGhn/FE1u/wac8f8PZ5r/HBwc/xwc + HP8cHBz/HBwc/xwcHP8cGhn/FzpP/weU5f8Ilea9EXW1ChB5uwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAMitYAEH3BBQiV5pwGm/D/E1Z9/xwaGf8cHBz/HBwc/xwcHP8cHBz/HBwc/xwfIv8NdLD/Bpnt/xVH + ZP8cGhn/HBwc/xwcHP8cHBz/HBwc/xwcHP8cHBz/HBwc/xwcHP8cHBz/HBwc/xwcHP8cHR7/D2ug/wac + 8f8UUHP/HBoZ/xwcHP8cHBz/HBwc/xwcHP8cGhn/FkJc/weY6v8HlunADInTEguL1wAAAAAAAAAAAAAA + AAAAAAAAAAAAAAyH0QAPfMAHCJXmdAaa7vMIkeD/Fz5V/xwaGf8cHBz/HBwc/xwcHP8cHBz/HBwc/xwa + Gf8TUXT/Bpvw/w10sP8bIib/HBsb/xwcHP8cHBz/HBwc/xwcHP8cHBz/HBwc/xwcHP8cHBz/HBwc/xwa + Gf8YNUb/CI7b/wmN2v8ZMUD/HBsa/xwcHP8cHBz/HBwc/xwcHP8cGxr/GS89/wqHz/8Gm/D7B5bokwyI + 0hAJkuIAOQAAAAAAAAAAAAAADn/EABB3uAoJkN+BBpru9QiS4P8UTm//HB0e/xwcHP8cHBz/HBwc/xwc + HP8cHBz/HBwc/xwbGv8aKjT/C4PI/waY6/8TUXb/HBwb/xwcG/8cHBz/HBwc/xwcHP8cHBz/HBwc/xwc + HP8cHBz/HBsa/xskKf8Ocar/Bpzy/xBklf8cHR7/HBwc/xwcHP8cHBz/HBwc/xwcHP8cHBz/HBwb/xY/ + V/8JitP/Bpvw/AiS4p8Of8QWDIfRAAAAAAAMh9EADoHHCgmR4IcGme35CJHf/xRLbP8cHB3/HBwb/xwc + HP8cHBz/HBwc/xwcHP8cHBz/HBwc/xwcHP8cGxr/FUhm/weV5v8Ikd//FExt/xweH/8cGhn/HBwb/xwc + HP8cHBz/HBwc/xwbG/8cGhn/GyYu/xBnmv8Gm+//C4PI/xkuOv8cGxr/HBwc/xwcHP8cHBz/HBwc/xwc + HP8cHBz/HBwc/xwbGv8XPVT/CojR/waa7/4Ik+OmDIbQFgqN2gAPgMYICJPkhAaZ7fkIj9v/FUlo/xwc + HP8cHBv/HBwc/xwcHP8cHBz/HBwc/xwcHP8cHBz/HBwc/xwcHP8cHBz/HB4f/xJYgP8Hl+n/B5Xm/xBm + mP8YNUb/GyAk/xwcG/8cGxv/HBwd/xslK/8WQl3/DHq5/wab8P8JidL/FzxS/xwbGv8cHBz/HBwc/xwc + HP8cHBz/HBwc/xwcHP8cHBz/HBwc/xwcHP8cGxr/FztQ/wqGzf8Gmu7+CJXmpAyI0xUMiNIjB5bp3AaZ + 7f8TVHv/HBsa/xwcHP8cHBz/HBwc/xwcHP8cHBz/HBwc/xwcHP8cHBz/HBwc/xwcHP8cHBz/HBwb/xwf + If8UT3P/CYzX/wad8v8IkN7/DXe1/xBll/8RYZD/D2qf/wuAw/8Hl+n/Bpvw/wx8vP8XOU3/HBsb/xwc + HP8cHBz/HBwc/xwcHP8cHBz/HBwc/xwcHP8cHBz/HBwc/xwcHP8cHBz/HBoZ/xZCXP8HlOX/B5jr8QqM + 2UUTcK0GCJTklAab7/8Pap//HB8h/xwcG/8cHBz/HBwc/xwcHP8cHBz/HBwc/xwcHP8cHBz/HBwc/xwc + HP8cHBz/HBwc/xwcG/8cHBz/GDRE/xBllv8KiNH/B5jq/wac8f8GnPL/Bpvw/weU5P8Lf8H/E1R6/xon + L/8cGxr/HBwc/xwcHP8cHBz/HBwc/xwcHP8cHBz/HBwc/xwcHP8cHBz/HBwc/xwcHP8cHBz/HBwb/xJY + gP8Gme3/B5bntw2DyxMJkN8ACo3aKgeY69wHlOT/FkJc/xwaGf8cHBz/HBwc/xwcHP8cHBz/HBwc/xwc + HP8cHBz/HBwc/xwcHP8cHBz/HBwc/xwcHP8cHBz/HBsa/xwdHf8aKzX/Fz9W/xRMbf8UTnH/FUlo/xg4 + S/8bJSv/HBsa/xwbG/8cHBz/HBwc/xwcHP8cHBz/HBwc/xwcHP8cHBz/HBwc/xwcHP8cHBz/HBwc/xwc + HP8cGxr/GTJC/wmL1f8Gme3vCZDeRweY6wAOgccAAO3/AAiS4nYGm/D9DHm5/xslK/8cGxv/HBwc/xwc + HP8cHBz/HBwc/xwcHP8cHBz/HBwc/xwcHP8cHBz/HBwc/xwcHP8cHBz/HBwc/xwcHP8cGxr/HBoZ/xwa + Gf8cGhn/HBoZ/xwaGf8cGxv/HBwc/xwcHP8cHBz/HBwc/xwcHP8cHBz/HBwc/xwcHP8cHBz/HBwc/xwc + HP8cHBz/HBwc/xwcHP8cHiD/D2ic/wab8P8IlOWbEHu+Bg2FzgAAAAAAC4rVAAyI0hgHlunGBpjr/xRQ + dP8cGxr/HBwc/xwcHP8cHBz/HBwc/xwbG/8cGxr/HBsb/xwcHP8cHBz/HBwc/xwcHP8cHBz/HBwc/xwc + HP8cHBz/HBwc/xwcHP8cHBz/HBwc/xwcHP8cHBz/HBwc/xwcHP8cHBz/HBwc/xwcHP8cHBz/HBwb/xwb + Gv8cGxv/HBwc/xwcHP8cHBz/HBwc/xwaGf8XPlb/CJPi/weY6+EKjNkwCZDfAAAAAAAAAAAAE3GuAAWf + 9gAJkeBXBpru9gqFzP8aLTj/HBsa/xwbGv8cGhn/HBwc/xslLP8ZMUD/GyYt/xwbGv8cHBz/HBwc/xwc + HP8cHBz/HBwc/xwcHP8cHBz/HBwc/xwcHP8cHBz/HBwc/xwcHP8cHBz/HBwc/xwcHP8cHBz/HBwc/xwc + HP8cGxr/GyMn/xkxQP8aKDH/HB0e/xwaGf8cGxr/HBsa/xsjKP8NdrP/Bpvw/giT433SAAAAD33CAAAA + AAAAAAAAAAAAAAyH0AAOgccLCJXmrAab7/8RYI7/HCAk/xktOf8VRmP/EGWW/wuBxP8IkN3/DH2+/xc/ + V/8cHR3/HBsa/xwcHP8cHBz/HBwc/xwcHP8cHBz/HBwc/xwcHP8cHBz/HBwc/xwcHP8cHBz/HBwc/xwc + HP8cHBz/HBsb/xwbG/8YNUb/DXOu/wiQ3f8Khcv/D2qf/xRMbP8ZMUD/HCAj/xRNb/8HmOr/B5fpzAuJ + 1BwKjNkAAAAAAAAAAAAAAAAAAAAAABddjwAIlOUACo3bPgeY7OoIkd//DXi2/wmL1f8HmOv/Bpvw/waa + 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 + wv8Hc8xO37nEVU8AAAAASUVORK5CYII= + + + \ No newline at end of file diff --git a/Fo76ini/Forms/FormWhatsNew/FormWhatsNew.Designer.cs b/Fo76ini/Forms/FormWhatsNew/FormWhatsNew.Designer.cs index 3cd0dee..de1b1c8 100644 --- a/Fo76ini/Forms/FormWhatsNew/FormWhatsNew.Designer.cs +++ b/Fo76ini/Forms/FormWhatsNew/FormWhatsNew.Designer.cs @@ -120,7 +120,7 @@ private void InitializeComponent() this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); this.MaximizeBox = false; this.MinimizeBox = false; - this.MinimumSize = new System.Drawing.Size(350, 250); + this.MinimumSize = new System.Drawing.Size(520, 500); this.Name = "FormWhatsNew"; this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen; this.Text = "What\'s new?"; diff --git a/Fo76ini/Forms/FormWhatsNew/FormWhatsNew.cs b/Fo76ini/Forms/FormWhatsNew/FormWhatsNew.cs index b150c5e..bcaa20e 100644 --- a/Fo76ini/Forms/FormWhatsNew/FormWhatsNew.cs +++ b/Fo76ini/Forms/FormWhatsNew/FormWhatsNew.cs @@ -1,10 +1,5 @@ using System; -using System.Collections.Generic; using System.ComponentModel; -using System.Data; -using System.Drawing; -using System.IO; -using System.Linq; using System.Net; using System.Text; using System.Windows.Forms; @@ -17,6 +12,13 @@ public FormWhatsNew() { InitializeComponent(); + // Make this form translatable: + Localization.LocalizedForms.Add(new LocalizedForm(this, null)); + + Translation.BlackList.AddRange(new string[] { + "richTextBox" + }); + this.FormClosing += this.Form1_FormClosing; this.backgroundWorkerDownloadRTF.RunWorkerCompleted += backgroundWorkerDownloadRTF_RunWorkerCompleted; } @@ -29,8 +31,8 @@ private void Form1_FormClosing(object sender, FormClosingEventArgs e) private void FormWhatsNew_Load(object sender, EventArgs e) { - if (IniFiles.Instance.Exists(IniFile.Config, "Debug", "sWhatsNewFilePath")) - richTextBox.LoadFile(IniFiles.Instance.GetString(IniFile.Config, "Debug", "sWhatsNewFilePath")); + if (IniFiles.Config.Exists("Debug", "sWhatsNewFilePath")) + richTextBox.LoadFile(IniFiles.Config.GetString("Debug", "sWhatsNewFilePath")); else this.backgroundWorkerDownloadRTF.RunWorkerAsync(); } @@ -51,7 +53,7 @@ private void backgroundWorkerDownloadRTF_DoWork(object sender, DoWorkEventArgs e private void backgroundWorkerDownloadRTF_RunWorkerCompleted(object sender, System.ComponentModel.RunWorkerCompletedEventArgs e) { - richTextBox.Rtf = (String)e.Result; + richTextBox.Rtf = (string)e.Result; } private void buttonClose_Click(object sender, EventArgs e) @@ -61,8 +63,8 @@ private void buttonClose_Click(object sender, EventArgs e) private void checkBoxDontShowAgain_CheckedChanged(object sender, EventArgs e) { - IniFiles.Instance.Set(IniFile.Config, "Preferences", "bDisableWhatsNew", this.checkBoxDontShowAgain.Checked); - IniFiles.Instance.SaveConfig(); + IniFiles.Config.Set("Preferences", "bDisableWhatsNew", this.checkBoxDontShowAgain.Checked); + IniFiles.Config.Save(); } } } diff --git a/Fo76ini/Ini/IniFile.cs b/Fo76ini/Ini/IniFile.cs new file mode 100644 index 0000000..603684a --- /dev/null +++ b/Fo76ini/Ini/IniFile.cs @@ -0,0 +1,314 @@ +using Fo76ini.Ini; +using Fo76ini.Utilities; +using IniParser; +using IniParser.Model; +using IniParser.Model.Configuration; +using IniParser.Parser; +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Text; + +namespace Fo76ini +{ + public class IniFile + { + public readonly string FilePath; + public readonly string FileName; + public string DefaultPath; // Fallback to this path, if the actual path doesn't exist. (To load defaults) + + public bool IsReadOnly + { + get + { + if (File.Exists(FilePath)) + return new FileInfo(FilePath).IsReadOnly; + else + return false; + } + set + { + SetFileReadOnlyAttribute(value); + } + } + + private FileIniDataParser iniParser; + private IniData data; + + private DateTime lastModified; + private Encoding encoding = new UTF8Encoding(false); // UTF-8 without BOM + //private static readonly System.Globalization.CultureInfo en_US = System.Globalization.CultureInfo.CreateSpecificCulture("en-US"); + + public IniFile(String path, String defaultPath = null) + { + this.FilePath = path; + this.FileName = Path.GetFileName(path); + this.DefaultPath = defaultPath; + + // Configuring INI parser + IniParserConfiguration iniParserConfig = new IniParserConfiguration(); + iniParserConfig.AllowCreateSectionsOnFly = true; + iniParserConfig.AssigmentSpacer = ""; + iniParserConfig.CaseInsensitive = true; + iniParserConfig.CommentRegex = new System.Text.RegularExpressions.Regex(@"^;.*"); + + // Be very generous, allow everything: + iniParserConfig.AllowDuplicateKeys = true; + iniParserConfig.AllowDuplicateSections = true; + iniParserConfig.AllowKeysWithoutSection = true; + iniParserConfig.OverrideDuplicateKeys = true; + + // Initialize INI parser + this.iniParser = new FileIniDataParser(new IniDataParser(iniParserConfig)); + } + + public void Save() + { + if (data == null) + return; + + RemoveEmptySections(); + bool readOnly = this.IsReadOnly; + SetFileReadOnlyAttribute(false); + this.iniParser.WriteFile(FilePath, data, encoding); + SetFileReadOnlyAttribute(readOnly); + UpdateLastModifiedDate(); + } + + public void Load() + { + try + { + if (File.Exists(FilePath)) + data = this.iniParser.ReadFile(FilePath, encoding); + else if (DefaultPath != null && File.Exists(DefaultPath)) + data = this.iniParser.ReadFile(DefaultPath, encoding); + else + data = new IniData(); + } + catch (IniParser.Exceptions.ParsingException exc) + { + // Add the path to the exception (since IniParser doesn't do this) and throw again: + // throw new IniParser.Exceptions.ParsingException($"{Path} couldn't be parsed: {e.Message}", e); + throw IniParsingException.CreateException(exc, FilePath); + } + UpdateLastModifiedDate(); + } + + public void LoadDefault() + { + try + { + if (DefaultPath != null && File.Exists(DefaultPath)) + data = this.iniParser.ReadFile(DefaultPath, encoding); + else + data = new IniData(); + } + catch + { + data = new IniData(); + } + UpdateLastModifiedDate(); + } + + public bool IsLoaded() + { + return data != null; + } + + public void Merge(IniFile f) + { + this.data.Merge(f.data); + } + + public void Merge(IniData d) + { + this.data.Merge(d); + } + + public bool FileHasBeenModified() + { + return this.lastModified != File.GetLastWriteTime(FilePath); + } + + public void UpdateLastModifiedDate() + { + this.lastModified = File.GetLastWriteTime(FilePath); + } + + protected void RemoveEmptySections() + { + List sectionNames = new List(); + foreach (SectionData section in data.Sections) + if (section.Keys.Count == 0) + sectionNames.Add(section.SectionName); + foreach (string sectionName in sectionNames) + data.Sections.RemoveSection(sectionName); + } + + protected void SetFileReadOnlyAttribute(bool readOnly) + { + // https://stackoverflow.com/questions/8081242/c-sharp-make-file-read-write-from-readonly + if (File.Exists(FilePath)) + { + var attr = File.GetAttributes(FilePath); + + if (readOnly) + attr = attr | FileAttributes.ReadOnly; + else + attr = attr & ~FileAttributes.ReadOnly; + + File.SetAttributes(FilePath, attr); + } + } + + /* + ********************************************************************************************************************************************* + * GETTER AND SETTER + ******************************************************************************************************************************************** + */ + + public bool Exists(string section, string key) + { + return data != null && data[section][key] != null; + } + + public string GetString(string section, string key, string defaultValue) + { + return Exists(section, key) ? data[section][key] : defaultValue; + } + + public string GetString(string section, string key) + { + if (!Exists(section, key)) + throw new KeyNotFoundException($"Couldn't find [{section}] {key} in any *.ini file."); + return data[section][key]; + } + + public static readonly string[] ValidBoolValues = new string[] { "1", "0", "" }; + + public bool GetBool(string section, string key) + { + return GetString(section, key) == "1"; + } + + public bool GetBool(string section, string key, bool defaultValue) + { + string value = GetString(section, key, defaultValue ? "1" : "0"); + if (ValidBoolValues.Contains(value)) + return value == "1"; + else + return defaultValue; + } + + public float GetFloat(string section, string key) + { + return Utils.ToFloat(GetString(section, key)); + } + + public float GetFloat(string section, string key, float defaultValue) + { + try + { + return Utils.ToFloat(GetString(section, key, defaultValue.ToString(Shared.en_US))); + } + catch + { + return defaultValue; + } + } + + public uint GetUInt(string section, string key) + { + return Utils.ToUInt(GetString(section, key)); + } + + public uint GetUInt(string section, string key, uint defaultValue) + { + try + { + return Utils.ToUInt(GetString(section, key, defaultValue.ToString(Shared.en_US))); + } + catch + { + return defaultValue; + } + } + + public int GetInt(string section, string key) + { + return Utils.ToInt(GetString(section, key)); + } + + public int GetInt(string section, string key, int defaultValue) + { + try + { + return Utils.ToInt(GetString(section, key, defaultValue.ToString(Shared.en_US))); + } + catch + { + return defaultValue; + } + } + + public long GetLong(string section, string key) + { + return Utils.ToLong(GetString(section, key)); + } + + public long GetLong(string section, string key, int defaultValue) + { + try + { + return Utils.ToLong(GetString(section, key, defaultValue.ToString(Shared.en_US))); + } + catch + { + return defaultValue; + } + } + + public void Set(string section, string key, string value) + { + data[section][key] = value; + } + + public void Set(string section, string key, int value) + { + Set(section, key, Utils.ToString(value)); + } + + public void Set(string section, string key, uint value) + { + Set(section, key, Utils.ToString(value)); + } + + public void Set(string section, string key, long value) + { + Set(section, key, Utils.ToString(value)); + } + + public void Set(string section, string key, float value) + { + Set(section, key, Utils.ToString(value)); + } + + public void Set(string section, string key, double value) + { + Set(section, key, Utils.ToString(value)); + } + + public void Set(string section, string key, bool value) + { + Set(section, key, value ? "1" : "0"); + } + + public void Remove(string section, string key) + { + if (Exists(section, key)) + data[section].RemoveKey(key); + } + } +} diff --git a/Fo76ini/Ini/IniFiles.cs b/Fo76ini/Ini/IniFiles.cs new file mode 100644 index 0000000..0ce82e0 --- /dev/null +++ b/Fo76ini/Ini/IniFiles.cs @@ -0,0 +1,338 @@ +using Fo76ini.Profiles; +using Fo76ini.Utilities; +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Security.AccessControl; +using System.Security.Principal; + +namespace Fo76ini +{ + public static class IniFiles + { + public static IniFile F76; + public static IniFile F76Prefs; + public static IniFile F76Custom; + public static IniFile Config; + + public static readonly string ParentPath; + public static readonly string ConfigPath; + public static readonly string DefaultsPath; + + public static readonly string DefaultF76Path; + public static readonly string DefaultF76PrefsPath; + + static IniFiles() + { + ParentPath = Path.Combine( + Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments), + @"My Games\Fallout 76\" + ); + + ConfigPath = Path.Combine(Shared.AppConfigFolder, "config.ini"); + + DefaultsPath = Path.Combine(Shared.AppInstallationFolder, "DefaultINI"); + DefaultF76Path = Path.Combine(DefaultsPath, "Fallout76.ini"); + DefaultF76PrefsPath = Path.Combine(DefaultsPath, "Medium.ini"); + } + + public static void LoadConfig() + { + Config = new IniFile(ConfigPath); + Config.Load(); + } + + public static void Load(GameInstance game) + { + F76 = new IniFile( + Path.Combine(ParentPath, $"{game.IniPrefix}.ini"), + DefaultF76Path + ); + F76Prefs = new IniFile( + Path.Combine(ParentPath, $"{game.IniPrefix}Prefs.ini"), + DefaultF76PrefsPath + ); + F76Custom = new IniFile( + Path.Combine(ParentPath, $"{game.IniPrefix}Custom.ini") + ); + + F76.Load(); + F76Prefs.Load(); + F76Custom.Load(); + + FixDuplicateResourceLists(); + } + + public static bool IsLoaded() + { + return + F76 != null && + F76Prefs != null && + F76Custom != null && + F76.IsLoaded() && + F76Prefs.IsLoaded() && + F76Custom.IsLoaded(); + } + + public static void SetINIsReadOnly(bool readOnly) + { + F76.IsReadOnly = readOnly; + F76Prefs.IsReadOnly = readOnly; + F76Custom.IsReadOnly = readOnly; + } + + public static bool AreINIsReadOnly() + { + return F76.IsReadOnly && F76Prefs.IsReadOnly; + } + + public static void Save() + { + Backup(); + F76.Save(); + F76Prefs.Save(); + F76Custom.Save(); + Config.Save(); + } + + public static void Backup() + { + string backupDir = Path.Combine(ParentPath, "Backups", DateTime.Now.ToString("yyyy-MM-dd_HH-mm-ss")); + Directory.CreateDirectory(backupDir); + if (File.Exists(F76.FilePath)) + File.Copy(F76.FilePath, Path.Combine(backupDir, F76.FileName), true); + if (File.Exists(F76Prefs.FilePath)) + File.Copy(F76Prefs.FilePath, Path.Combine(backupDir, F76Prefs.FileName), true); + if (File.Exists(F76Custom.FilePath)) + File.Copy(F76Custom.FilePath, Path.Combine(backupDir, F76Custom.FileName), true); + } + + public static bool FilesHaveBeenModified() + { + return F76.FileHasBeenModified() || F76Prefs.FileHasBeenModified() || F76Custom.FileHasBeenModified(); + } + + public static void UpdateLastModifiedDates() + { + F76.UpdateLastModifiedDate(); + F76Prefs.UpdateLastModifiedDate(); + F76Custom.UpdateLastModifiedDate(); + } + + + /* + ********************************************************************************************************************************************* + * GETTER AND SETTER + ******************************************************************************************************************************************** + */ + + public static bool Exists(string section, string key) + { + foreach (IniFile ini in new IniFile[] { F76, F76Prefs, F76Custom }) + if (ini.Exists(section, key)) + return true; + return false; + } + + public static string GetString(string section, string key, string defaultValue) + { + string value = defaultValue; + foreach (IniFile ini in new IniFile[] { F76, F76Prefs, F76Custom }) + if (ini.Exists(section, key)) + value = ini.GetString(section, key); + return value; + } + + public static string GetString(string section, string key) + { + string value = GetString(section, key, null); + if (value == null) + throw new KeyNotFoundException($"Couldn't find [{section}] {key} in any *.ini file."); + return value; + } + + public static bool GetBool(string section, string key) + { + return GetString(section, key) == "1"; + } + + public static bool GetBool(string section, string key, bool defaultValue) + { + string value = GetString(section, key, defaultValue ? "1" : "0"); + if (IniFile.ValidBoolValues.Contains(value)) + return value == "1"; + else + return defaultValue; + } + + public static float GetFloat(string section, string key) + { + return Utils.ToFloat(GetString(section, key)); + } + + public static float GetFloat(string section, string key, float defaultValue) + { + try + { + return Utils.ToFloat(GetString(section, key, defaultValue.ToString(Shared.en_US))); + } + catch + { + return defaultValue; + } + } + + public static uint GetUInt(string section, string key) + { + return Utils.ToUInt(GetString(section, key)); + } + + public static uint GetUInt(string section, string key, uint defaultValue) + { + try + { + return Utils.ToUInt(GetString(section, key, defaultValue.ToString(Shared.en_US))); + } + catch + { + return defaultValue; + } + } + + public static int GetInt(string section, string key) + { + return Utils.ToInt(GetString(section, key)); + } + + public static int GetInt(string section, string key, int defaultValue) + { + try + { + return Utils.ToInt(GetString(section, key, defaultValue.ToString(Shared.en_US))); + } + catch + { + return defaultValue; + } + } + + public static long GetLong(string section, string key) + { + return Utils.ToLong(GetString(section, key)); + } + + public static long GetLong(string section, string key, int defaultValue) + { + try + { + return Utils.ToLong(GetString(section, key, defaultValue.ToString(Shared.en_US))); + } + catch + { + return defaultValue; + } + } + + /* + ********************************************************************************************************************************************* + * Fixes for invalid *.ini files: + ******************************************************************************************************************************************** + */ + + private static void MergeLists(IniFile ini, string section, string key) + { + string list = ""; + bool found = false; + int i = -1; + IEnumerable lines = File.ReadLines(ini.FilePath); + foreach (string line in lines) + { + if (line.TrimStart().ToLower().StartsWith(key.ToLower())) + { + i = line.IndexOf("="); + if (i > -1) + { + found = true; + list += ", " + line.Substring(i + 1); + } + } + } + list = string.Join(",", + list.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries) + .Select(s => s.Trim()).Distinct().ToArray() + ).Trim(',').Replace(",,", ","); + if (found) + ini.Set(section, key, list); + } + + private static void FixDuplicateResourceLists() + { + // People seem to have duplicate key=value pairs of sResourceIndexFileList and sResourceArchive2List + // Merge them. Default behaviour of the Parser is overriding and this is probably not what the user wants. + // sResourceDataDirsFinal added in v.1.3.1 + // Case insensitive, and whitespace around '=' ignored as of v1.4 + + if (!File.Exists(F76Custom.FilePath)) + return; + + MergeLists(F76Custom, "Archive", "sResourceIndexFileList"); + MergeLists(F76Custom, "Archive", "sResourceArchive2List"); + MergeLists(F76Custom, "Archive", "sResourceDataDirsFinal"); + } + + /* + ********************************************************************************************************************************************* + * Backwards-compatibility: + ******************************************************************************************************************************************** + */ + + /// + /// Allows or denies write permission to the *.ini parent path (%USERPROFILE%\Documents\My Games\Fallout 76). + /// + /// true to allow, false to deny + /// true if successful, false otherwise + public static bool SetNTFSWritePermission(bool writePermission) + { + try + { + // https://stackoverflow.com/questions/7451861/setting-ntfs-permissions-in-c-net + // https://stackoverflow.com/questions/11478917/programmatically-adding-permissions-to-a-folder/11479031 + + // 'Allow' AND 'Deny' are ticked, wtf? + // Explanation: https://answers.microsoft.com/en-us/windows/forum/all/permission-entry-neither-allow-nor-deny-is-checked/5d210777-b466-49e6-855a-6dc1e85563df + + DirectoryInfo dInfo = new DirectoryInfo(ParentPath); + DirectorySecurity dSecurity = dInfo.GetAccessControl(); + + FileSystemRights rights = FileSystemRights.Write; + + // SID: https://support.microsoft.com/en-in/help/243330/well-known-security-identifiers-in-windows-operating-systems + // String account = System.Security.Principal.WindowsIdentity.GetCurrent().Name; + // SecurityIdentifier sidAll = new SecurityIdentifier("S-1-1-0"); + // SecurityIdentifier sidAdmins = new SecurityIdentifier("S-1-5-32-544"); + SecurityIdentifier sidUsers = new SecurityIdentifier("S-1-5-32-545"); + + AccessControlType access = writePermission ? AccessControlType.Allow : AccessControlType.Deny; + + if (writePermission) + { + dSecurity.RemoveAccessRule(new FileSystemAccessRule(sidUsers, rights, InheritanceFlags.ContainerInherit | InheritanceFlags.ObjectInherit, PropagationFlags.None, AccessControlType.Deny)); + dSecurity.AddAccessRule(new FileSystemAccessRule(sidUsers, rights, InheritanceFlags.ContainerInherit | InheritanceFlags.ObjectInherit, PropagationFlags.None, AccessControlType.Allow)); + } + else + { + dSecurity.AddAccessRule(new FileSystemAccessRule(sidUsers, rights, InheritanceFlags.ContainerInherit | InheritanceFlags.ObjectInherit, PropagationFlags.None, AccessControlType.Deny)); + dSecurity.RemoveAccessRule(new FileSystemAccessRule(sidUsers, rights, InheritanceFlags.ContainerInherit | InheritanceFlags.ObjectInherit, PropagationFlags.None, AccessControlType.Allow)); + } + dInfo.SetAccessControl(dSecurity); + } + catch + { + return false; + } + + return true; + } + } +} diff --git a/Fo76ini/Ini/IniParsingException.cs b/Fo76ini/Ini/IniParsingException.cs new file mode 100644 index 0000000..171aa13 --- /dev/null +++ b/Fo76ini/Ini/IniParsingException.cs @@ -0,0 +1,70 @@ +using IniParser.Exceptions; +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Fo76ini.Ini +{ + public class IniParsingException : Exception + { + public int LineNumber; + public string LineValue; + public Version LibVersion; + public string FilePath; + public string FileName; + + public static IniParsingException CreateException(ParsingException originalException, string filePath) + { + // IniParser.Exceptions.ParsingException makes no sense (to me at least) because it displays stuff like this: + // "Unknown file format. Couldn't parse the line: 'bMBEnable1'. while parsing line number 0 with value '' - IniParser version: 2.5.2.0 while parsing line number 31 with value 'bMBEnable1' - IniParser version: 2.5.2.0 while parsing line number 0 with value '' - IniParser version: 2.5.2.0" + // Line Number 0, with value '', huh? + // So let's just extract actually usable information from it and create a new exception: + + string fileName = Path.GetFileName(filePath); + + int LineNumber = -1; + string LineValue = ""; + Version LibVersion = null; + + ParsingException innerExc = originalException; + while (innerExc != null) + { + if (innerExc.LineNumber > 0 && innerExc.LineValue != "") + { + LineNumber = innerExc.LineNumber; + LineValue = innerExc.LineValue; + LibVersion = innerExc.LibVersion; + } + try + { + innerExc = (ParsingException)innerExc.InnerException; + } + catch + { + break; + } + } + + string message = $"Couldn't parse line number {LineNumber}: '{LineValue}' in file '{fileName}'"; + + + IniParsingException newExc = new IniParsingException(message, originalException); + + newExc.LineNumber = LineNumber; + newExc.LineValue = LineValue; + newExc.LibVersion = LibVersion; + + newExc.FilePath = filePath; + newExc.FileName = fileName; + + return newExc; + } + + public IniParsingException() { } + public IniParsingException(string message) : base(message) { } + public IniParsingException(string message, Exception inner) : base(message, inner) { } + } +} diff --git a/Fo76ini/Interface/DropDown.cs b/Fo76ini/Interface/DropDown.cs index f69798d..06e5c4f 100644 --- a/Fo76ini/Interface/DropDown.cs +++ b/Fo76ini/Interface/DropDown.cs @@ -1,31 +1,29 @@ using System; using System.Collections.Generic; using System.Linq; -using System.Text; -using System.Threading.Tasks; using System.Windows.Forms; using System.Xml.Linq; -namespace Fo76ini +namespace Fo76ini.Interface { public struct DropDown { public ComboBox comboBox; - private List items; + private List items; - public static Dictionary Dict = new Dictionary(); + public static Dictionary Dict = new Dictionary(); - public static void Add(String key, DropDown comboBox) + public static void Add(string key, DropDown comboBox) { Dict.Add(key, comboBox); } - public static DropDown Get(String key) + public static DropDown Get(string key) { return Dict[key]; } - public static bool ContainsKey(String key) + public static bool ContainsKey(string key) { return Dict.ContainsKey(key); } @@ -33,12 +31,12 @@ public static bool ContainsKey(String key) public DropDown(ComboBox comboBox) { this.comboBox = comboBox; - this.items = new List(); + this.items = new List(); foreach (object item in comboBox.Items) - this.items.Add((String)item); + this.items.Add((string)item); } - public DropDown(ComboBox comboBox, List items) + public DropDown(ComboBox comboBox, List items) { this.comboBox = comboBox; this.items = items; @@ -46,35 +44,35 @@ public DropDown(ComboBox comboBox, List items) this.comboBox.Items.AddRange(this.items.ToArray()); } - public DropDown(ComboBox comboBox, String[] items) + public DropDown(ComboBox comboBox, string[] items) { this.comboBox = comboBox; - this.items = new List(); - foreach (String item in items) + this.items = new List(); + foreach (string item in items) this.items.Add(item); this.comboBox.Items.Clear(); this.comboBox.Items.AddRange(this.items.ToArray()); } - public void Add(String item) + public void Add(string item) { this.comboBox.Items.Add(item); this.items.Add(item); } - public void AddRange(String[] items) + public void AddRange(string[] items) { this.comboBox.Items.AddRange(items); - foreach (String item in items) + foreach (string item in items) this.items.Add(item); } - public bool Contains(String item) + public bool Contains(string item) { return this.items.Contains(item); } - public int FindIndex(String match) + public int FindIndex(string match) { return this.items.FindIndex(x => x == match); } @@ -90,15 +88,15 @@ public void Clear() this.items.Clear(); } - public void SetRange(String[] items) + public void SetRange(string[] items) { this.Clear(); this.comboBox.Items.AddRange(items); - foreach (String item in items) + foreach (string item in items) this.items.Add(item); } - public void ReplaceRange(String[] items) + public void ReplaceRange(string[] items) { int selectedIndex = this.comboBox.SelectedIndex; this.SetRange(items); @@ -108,16 +106,16 @@ public void ReplaceRange(String[] items) public static XElement SerializeAll() { XElement xmlDropDowns = new XElement("Dropdowns"); - foreach (KeyValuePair pair in DropDown.Dict) + foreach (KeyValuePair pair in DropDown.Dict) xmlDropDowns.Add(pair.Value.Serialize(pair.Key)); return xmlDropDowns; } - public XElement Serialize(String id) + public XElement Serialize(string id) { XElement xmlDropDown = new XElement("Dropdown"); xmlDropDown.Add(new XAttribute("id", id)); - foreach (String option in this.Items) + foreach (string option in this.Items) xmlDropDown.Add(new XElement("Option", option)); return xmlDropDown; } @@ -134,7 +132,7 @@ public static void DeserializeAll(XElement xmlDropDowns) foreach (XElement xmlDropDown in xmlDropDowns.Descendants("Dropdown")) { // Get id: - String id = xmlDropDown.Attribute("id").Value; + string id = xmlDropDown.Attribute("id").Value; // If such a combobox exists, deserialize: if (DropDown.ContainsKey(id)) @@ -152,7 +150,7 @@ public void Deserialize(XElement xmlDropDown) ... */ - List options = new List(); + List options = new List(); foreach (XElement element in xmlDropDown.Descendants("Option")) options.Add(element.Value); @@ -162,10 +160,10 @@ public void Deserialize(XElement xmlDropDown) return; } - this.ReplaceRange(options.ToArray()); + this.ReplaceRange(options.ToArray()); } - public List Items + public List Items { get { return this.items; } set @@ -182,7 +180,7 @@ public int SelectedIndex set { this.comboBox.SelectedIndex = value; } } - public String SelectedItem + public string SelectedItem { get { return this.items[this.comboBox.SelectedIndex]; } } diff --git a/Fo76ini/Interface/InvalidXmlException.cs b/Fo76ini/Interface/InvalidXmlException.cs index e5f01c9..3315332 100644 --- a/Fo76ini/Interface/InvalidXmlException.cs +++ b/Fo76ini/Interface/InvalidXmlException.cs @@ -1,7 +1,7 @@ using System; using System.Runtime.Serialization; -namespace Fo76ini +namespace Fo76ini.Interface { [Serializable] internal class InvalidXmlException : Exception diff --git a/Fo76ini/Interface/MsgBox.cs b/Fo76ini/Interface/MsgBox.cs index b54777f..53b5cff 100644 --- a/Fo76ini/Interface/MsgBox.cs +++ b/Fo76ini/Interface/MsgBox.cs @@ -3,71 +3,87 @@ using System.IO; using System.Linq; using System.Media; -using System.Text; -using System.Threading.Tasks; using System.Windows.Forms; using System.Xml.Linq; +using Fo76ini.Utilities; -namespace Fo76ini +namespace Fo76ini.Interface { public class MsgBox { - public String Title; - public String Text; - private String id; + public string Title; + public string Text; + private string id; - public const String NotificationSoundFile = @"notify.wav"; - private static SoundPlayer SoundPlayer = new SoundPlayer(NotificationSoundFile); + public const string NotificationSoundFile = @"notify.wav"; + public const string ErrorSoundFile = @"error.wav"; + private static SoundPlayer NotifySoundPlayer = new SoundPlayer(NotificationSoundFile); + private static SoundPlayer ErrorSoundPlayer = new SoundPlayer(ErrorSoundFile); public static void PlayNotificationSound() { // Don't play sound, if disabled: - if (!IniFiles.Instance.GetBool(IniFile.Config, "Preferences", "bPlayNotificationSound", true)) + if (!IniFiles.Config.GetBool("Preferences", "bPlayNotificationSound", true)) return; // Play alert.wav if available: if (File.Exists(NotificationSoundFile)) - SoundPlayer.Play(); + NotifySoundPlayer.Play(); // Fallback to system sound if alert.wav is not available: else SystemSounds.Asterisk.Play(); } - public String ID + public static void PlayErrorNotificationSound() + { + // Don't play sound, if disabled: + if (!IniFiles.Config.GetBool("Preferences", "bPlayNotificationSound", true)) + return; + + // Play alert.wav if available: + if (File.Exists(ErrorSoundFile)) + ErrorSoundPlayer.Play(); + + // Fallback to system sound if alert.wav is not available: + else + SystemSounds.Hand.Play(); + } + + public string ID { get { return id; } } - public MsgBox (String id, String title, String text) + public MsgBox(string id, string title, string text) { this.Title = title; this.Text = text; this.id = id; } - - private static Dictionary msgBoxes = new Dictionary(); + + private static Dictionary msgBoxes = new Dictionary(); public static void Add(MsgBox msgBox) { MsgBox.msgBoxes[msgBox.id] = msgBox; } - public static void Add(String id, String title, String text) + public static void Add(string id, string title, string text) { MsgBox.msgBoxes[id] = new MsgBox(id, title, text); } - public static MsgBox Get(String key) + public static MsgBox Get(string key) { if (MsgBox.msgBoxes.ContainsKey(key)) return MsgBox.msgBoxes[key]; else - return new MsgBox("notfound", $"-- Messagebox \"{key}\" not found --", $"If you read this, the programmer screwed up, lol.\nAvailable messageboxes:\n{String.Join("\n", MsgBox.msgBoxes.Keys.ToArray())}"); + return new MsgBox("notfound", $"-- Messagebox \"{key}\" not found --", "If you read this, the programmer screwed up, lol."); // $"\nAvailable messageboxes:\n{string.Join("\n", MsgBox.msgBoxes.Keys.ToArray())}" } - public MsgBox FormatTitle(params String[] values) + public MsgBox FormatTitle(params string[] values) { try { - return new MsgBox(this.ID, String.Format(this.Title, values), this.Text); + return new MsgBox(this.ID, string.Format(this.Title, values), this.Text); } catch (FormatException ex) { @@ -75,11 +91,11 @@ public MsgBox FormatTitle(params String[] values) } } - public MsgBox FormatText(params String[] values) + public MsgBox FormatText(params string[] values) { try { - return new MsgBox(this.ID, this.Title, String.Format(this.Text, values)); + return new MsgBox(this.ID, this.Title, string.Format(this.Text, values)); } catch (FormatException ex) { @@ -89,66 +105,99 @@ public MsgBox FormatText(params String[] values) - public static DialogResult ShowID(String id) + public static DialogResult ShowID(string id) { return MsgBox.Get(id).Show(); } - public static DialogResult ShowID(String id, MessageBoxButtons buttons, MessageBoxIcon icon) + public static DialogResult ShowID(string id, MessageBoxButtons buttons, MessageBoxIcon icon) { return MsgBox.Get(id).Show(buttons, icon); } - public static DialogResult ShowID(String id, MessageBoxButtons buttons) + public static DialogResult ShowID(string id, MessageBoxButtons buttons) { return MsgBox.Get(id).Show(buttons); } - public static DialogResult ShowID(String id, MessageBoxIcon icon) + public static DialogResult ShowID(string id, MessageBoxIcon icon) { return MsgBox.Get(id).Show(icon); } public DialogResult Show() { - SystemSounds.Asterisk.Play(); + //SystemSounds.Asterisk.Play(); return MessageBox.Show(this.Text, this.Title); } public DialogResult Show(MessageBoxButtons buttons, MessageBoxIcon icon) { - SystemSounds.Asterisk.Play(); + //SystemSounds.Asterisk.Play(); return MessageBox.Show(this.Text, this.Title, buttons, icon); } public DialogResult Show(MessageBoxButtons buttons) { - SystemSounds.Asterisk.Play(); + //SystemSounds.Asterisk.Play(); return MessageBox.Show(this.Text, this.Title, buttons); } public DialogResult Show(MessageBoxIcon icon) { - SystemSounds.Asterisk.Play(); + //SystemSounds.Asterisk.Play(); return MessageBox.Show(this.Text, this.Title, MessageBoxButtons.OK, icon); } - public void Popup() + public static DialogResult Show(string title, string text, MessageBoxButtons buttons, MessageBoxIcon icon) + { + return MessageBox.Show(text, title, buttons, icon); + } + + public static DialogResult Show(string title, string text, MessageBoxButtons buttons) { - Utils.CreatePopup(this.Title, this.Text).Popup(); + return MessageBox.Show(text, title, buttons); + } + + public static DialogResult Show(string title, string text, MessageBoxIcon icon) + { + return MessageBox.Show(text, title, MessageBoxButtons.OK, icon); + } + + public static DialogResult Show(string title, string text) + { + return MessageBox.Show(text, title); + } + + public static void Popup(string title, string text) + { + Utils.CreatePopup(title, text).Popup(); PlayNotificationSound(); } + public static void Popup(string title, string text, MessageBoxIcon icon) + { + Utils.CreatePopup(title, text, icon).Popup(); + if (icon == MessageBoxIcon.Warning || icon == MessageBoxIcon.Error) + PlayErrorNotificationSound(); + else + PlayNotificationSound(); + } + + public void Popup() + { + MsgBox.Popup(this.Title, this.Text); + } + public void Popup(MessageBoxIcon icon) { - Utils.CreatePopup(this.Title, this.Text, icon).Popup(); - PlayNotificationSound(); + MsgBox.Popup(this.Title, this.Text, icon); } public static XElement SerializeAll() { XElement xmlMessageBoxes = new XElement("Messageboxes"); - foreach (KeyValuePair entry in MsgBox.msgBoxes) + foreach (KeyValuePair entry in MsgBox.msgBoxes) xmlMessageBoxes.Add(entry.Value.Serialize()); return xmlMessageBoxes; } diff --git a/Fo76ini/Interface/Translation.Shared.cs b/Fo76ini/Interface/Translation.Shared.cs index 8c3b4f9..a5a8922 100644 --- a/Fo76ini/Interface/Translation.Shared.cs +++ b/Fo76ini/Interface/Translation.Shared.cs @@ -1,8 +1,4 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; +using Fo76ini.Interface; namespace Fo76ini { @@ -12,8 +8,9 @@ private static void AddSharedStrings() { localizedStrings["newVersionAvailable"] = "There is a newer version available: {0}"; localizedStrings["updateNowButton"] = "Update now!"; + localizedStrings["unknown"] = "Unknown"; localizedStrings["modsDeploymentNecessary"] = "Deployment necessary"; - localizedStrings["modsAllDone"] = "All set"; + //localizedStrings["modsAllDone"] = "All set"; localizedStrings["modsFailed"] = "Something went wrong, see log files for details."; localizedStrings["modsTableFormatGeneral"] = "General"; localizedStrings["modsTableFormatTextures"] = "Textures"; @@ -23,11 +20,13 @@ private static void AddSharedStrings() localizedStrings["modsTableTypeSeparateFrozen"] = "Separate (Frozen)"; localizedStrings["modsTableTypeLoose"] = "Loose"; localizedStrings["modTableFrozenPending"] = "Pending"; + localizedStrings["modTableFrozen"] = "Frozen"; + //localizedStrings["modTableThawed"] = "Thawed"; //localizedStrings["modDetailsTitle"] = "Edit {0}"; //localizedStrings["modDetailsTitleBulk"] = "Edit {0} mods"; localizedStrings["modDetailsTitleBulkSelected"] = "{0} mods selected"; localizedStrings["nmResetTime"] = "in {0} hour(s) and {1} minute(s)"; - localizedStrings["nmResetTimeNever"] = "Never"; + //localizedStrings["nmResetTimeNever"] = "Never"; localizedStrings["nmRateLimitLeft"] = "{0} left"; localizedStrings["nmBasicAccount"] = "Basic"; localizedStrings["nmSupporterAccount"] = "Supporter"; @@ -39,22 +38,28 @@ private static void AddSharedStrings() localizedStrings["invalid"] = "Invalid"; localizedStrings["nuclearwintermode"] = "Nuclear Winter"; localizedStrings["adventuremode"] = "Adventure"; + localizedStrings["affectedValues"] = "Affected values"; + localizedStrings["affectedFiles"] = "Affected files"; + localizedStrings["endorsedText"] = "You have endorsed this mod."; + localizedStrings["notEndorsedText"] = "You have not endorsed this mod yet."; + localizedStrings["abstainedText"] = "You have abstained from endorsing this mod."; } public static void AddSharedMessageBoxes() { // Form1: + MsgBox.Add("iniParsingError", "Couldn't parse *.ini files", - "At least one of the game's *.ini files is corrupted or contains a syntax error.\n\nYou might:\n -> read the error message and fix the error or\n -> delete the invalid *.ini file and start Fallout 76 to create a new, valid *.ini file\n -> and then try again.\n\nERROR MESSAGE:\n{0}" - ); - - MsgBox.Add("backupAndSave", - "Backup and save", - "Do you want to create a backup before applying all changes?\n\n" + - " Press \"Yes\" to create a backup and save.\n" + - " Press \"No\" to save without backup.\n" + - " Press \"Cancel\" to abort." + "At least one of the game's *.ini files is corrupted or contains a syntax error.\n" + + "\n" + + "You might:\n" + + " -> read the error message and fix the error or\n" + + " -> delete the invalid *.ini file and start Fallout 76 to create a new, valid *.ini file\n" + + " -> and then try again.\n" + + "\n" + + "ERROR MESSAGE:\n" + + "{0}" ); MsgBox.Add("changesApplied", @@ -62,22 +67,9 @@ public static void AddSharedMessageBoxes() "Changes have been applied. You may start the game now." ); - MsgBox.Add("chooseGameEdition", - "Choose Game Edition", - "Please pick your game edition under the Settings tab." - ); - - MsgBox.Add("runGameToGenerateINI", - "{0} and {1} not found", - "Please run the game first before using this tool.\n" + - "The game will generate those files on first start-up." - ); - - MsgBox.Add("oldValuesResetToDefault", + MsgBox.Add("downloadLanguagesFinished", "Done", - "Some values have been reset to default.\n" + - "Only unstable values from previous versions are affected.\n" + - "Don't forget to click 'Apply'." + "Downloaded language files: {0}" ); MsgBox.Add("iniFilesModified", @@ -87,68 +79,9 @@ public static void AddSharedMessageBoxes() "Please restart the tool to work with the new values." ); - MsgBox.Add("onLoadFuncException", - "Error while loading UI", - "{0} exception(s) occured while the UI was loaded.\n" + - "This might be caused by corrupted ini files.\n" + - "Some UI elements might not be functioning correctly.\n\n" + - "{1}" - ); - - MsgBox.Add("iniValuesInvalid", - "Invalid *.ini values found", - "{0} *.ini value(s) are invalid:\n\n" + - "{1}" - ); - - MsgBox.Add("downloadLanguagesFinished", - "Done", - "Downloaded language files: {0}" - ); - - MsgBox.Add("downloadLanguagesFailed", - "Failed", - "Downloading languages failed.\n{0}" - ); - - MsgBox.Add("msstoreRestartRequired", - "Do you want to switch?", - "Switching to or from the Microsoft Store edition requires a restart of the tool." - ); - - MsgBox.Add("msstoreRunExecutableFailed", - "Couldn't launch game: {0}", - "Unfortunately, it's not possible to launch the executable directly due to \"security\" restrictions. Thanks Microsoft, we hate it. :(" - ); - - MsgBox.Add("customIniFilesParsingError", - "Couldn't add your custom *.ini tweaks", - "At least one of your custom *.ini files contains an error.\n{0}" - ); - - MsgBox.Add("displayResolutionTooLow", - "Display resolution might be too low", - "Your display resolution is not supported.\nThe windows might be to big to fit on screen.\nYour display size: {0}\nMinimum display size: {1}\nRecommended display size: 1920 x 1080" - ); - - MsgBox.Add("restartRequired", - "Restart required.", - "A restart of the tool is required for changes to take effect.\nAre you sure, you want to change this option now?" - ); - // Gallery: - MsgBox.Add("galleryDeleteScreenshot", - "Delete {0}?", - "You are about to delete '{0}'. Are you sure?" - ); - - MsgBox.Add("galleryDeleteScreenshots", - "Delete {0} files?", - "You are about to delete {0} files. Are you sure?" - ); - MsgBox.Add("galleryDeleteThumbnails", "Are you sure?", "Are you sure you want to delete the gallery's thumbnails?\nThe next time you click on 'Refresh gallery', it will take significantly longer as it recreates all thumbnails." @@ -158,12 +91,12 @@ public static void AddSharedMessageBoxes() // Nuclear Winter: MsgBox.Add("nwModeDisabled", - "NW mode disabled", + "Nuclear Winter mode disabled", "You can now launch into Adventure mode." ); MsgBox.Add("nwModeEnabled", - "NW mode enabled", + "Nuclear Winter mode enabled", "You can now launch into Nuclear Winter mode." ); @@ -187,60 +120,18 @@ public static void AddSharedMessageBoxes() MsgBox.Add("modsArchive2Missing", "Archive2 is missing", - ".\\Archive2\\Archive2.exe is missing.\nPlease download this tool again, or install Archive2 manually." + ".\\Archive2\\Archive2.exe is missing.\nTry to reinstall this tool, or install Archive2 manually." ); MsgBox.Add("modsGamePathNotSet", - "Game path not set", - "Please set the path to the game (where Fallout76.exe resides)." - ); - - MsgBox.Add("modsGamePathInvalid", - "Wrong path", - "Wrong game folder path." - ); - - MsgBox.Add("modsDeployErrorModDirNotFound", - "Mod {0} couldn't be deployed.", - "Directory {0} does not exist.\n" + - "Please restart the mod manager and add the mod again." - ); - - MsgBox.Add("modsDeployErrorBA2RootIsNotData", - "Mod {0} couldn't be deployed.", - "The root folder has to be set to \".\\Data\" for mods, that are to be installed as a *.ba2 archive.\n" + - "Please fix the \"Install into\" setting and try again." + "Game path not specified or invalid", + "Please make sure you have set the correct path to the game.\n" + + "You can do this in the settings." ); - MsgBox.Add("modsDeleteBtn", - "Are you sure?", - "Are you sure you want to delete the mod {0}?" - ); - - MsgBox.Add("modsDeleteBulkBtn", - "Are you sure?", - "Are you sure you want to delete {0} mods?" - ); - - MsgBox.Add("modsExtractUnknownError", - "Archive couldn't be uncompressed", - "{0}" - ); - - MsgBox.Add("modsExtractUnknownErrorText", - "Archive couldn't be uncompressed", - "Please uncompress the archive and add the mod as a folder." - ); - - MsgBox.Add("modsExtractUnknownError7zip", - "7-Zip archive couldn't be uncompressed", - "{0}" - ); - - MsgBox.Add("modsArchiveTypeNotSupported", - "Unsupported file format", - "{0} files are not supported.\n" + - "Please uncompress the archive and add the mod as a folder." + MsgBox.Add("7ZipMissing", + "7-Zip is missing", + ".\\7z\\7z.exe is missing.\nTry to reinstall this tool, or copy 7-Zip manually." ); MsgBox.Add("modsNoConflictingFiles", @@ -248,62 +139,11 @@ public static void AddSharedMessageBoxes() "No conflicting files found." ); - MsgBox.Add("modsDeploymentNecessary", - "Deployment necessary", - "For this action, you have to deploy all mods first." - ); - - MsgBox.Add("modsOnCloseDeploymentNecessary", - "Are you sure?", - "You haven't deployed the changes you made.\n" + - "Are you sure you want to close the mod manager?" - ); - - MsgBox.Add("modDirNotExist", - "Mod folder does not exist.", - "The path {0} does not exist.\nThe mod folder was removed without removing the entry in the manifest." - ); - - MsgBox.Add("modsInvalidManifestEntry", - "Invalid manifest.xml entry", - "A mod entry is invalid and was ignored.\nError: {0}" - ); - - MsgBox.Add("modsInvalidManifestRoot", - "Invalid manifest.xml entry", - "The tag has invalid attributes.\nError: {0}" - ); - MsgBox.Add("modsImportQuestion", "Import manually installed mods?", "Are you sure you want to add mods installed outside of the mod manager?" ); - MsgBox.Add("modsSameArchiveName", - "Conflicting mods", - "Some mods have the same archive name: \"{0}\".\nConflicting mod name: {1}" - ); - - MsgBox.Add("modDetailsMoveManagedFolderFailed", - "Failed to rename folder", - "Managed mod folder couldn't be renamed.\nError message: \"{0}\"." - ); - - MsgBox.Add("modsRepairDDSQuestion", - "Are you sure?", - "This will attempt to repair all *.dds files.\nIt can take a long time, depending on file size and number of files.\nAre you sure you want to continue?" - ); - - MsgBox.Add("modsRepairDDSDone", - "Done", - "*.dds files have been repaired." - ); - - MsgBox.Add("modsAccessDenied", - "Access denied", - "{0}\nPlease start the tool as admin and try again." - ); - MsgBox.Add("modsRepackFrozenBundledArchives", "Would you like to repack bundled archives?", "There are frozen bundled archives available. Would you like to repack bundled archives again?\n\n" + @@ -311,70 +151,95 @@ public static void AddSharedMessageBoxes() " No - I didn't make changes, please deploy my frozen bundled archives. (quick)" ); + MsgBox.Add("archive2Error", + "Archive2 failed to pack/extract an archive", + "Archive2 failed for an unknown reason.\nPlease check the log files for details." + ); + MsgBox.Add("archive2InstallRequirements", "Archive2 failed to pack/extract an archive", "Please make sure you've installed 'Visual C++ Redistributable for Visual Studio 2012 Update 4'.\n" + "You can find a link on the NexusMods page." ); - MsgBox.Add("nwModeEnabledButModsAreDeployed", - "Mods are still deployed", - "You've enabled the Nuclear Winter mode, but your mods are still deployed.\n" + - "Do you want to disable them now?" + MsgBox.Add("modsArchiveTypeNotSupported", + "Unsupported file format", + "{0} files are not supported.\n" + + "Please uncompress the archive and add the mod as a folder." + ); + + MsgBox.Add("modsLegacyFormatDetected", + "Legacy version found", + "It seems like you've managed mods before, but with a version prior to v1.9.0.\n" + + "How mods are managed and stored has changed significantly.\n" + + "As a result, they must be converted to the new format.\n\n" + + "NOTE: This will rename folders and unfreeze archives. After they're converted, they may take up more space, depending on how many mods were frozen. Downgrading will still be possible, but some mods might load incorrectly.\n\n" + + "Would you like to convert them now? It won't take long." ); - MsgBox.Add("nwModeDisabledAndModsAreStillDisabled", - "Do you want to re-enable your mods again?", - "You've disabled the Nuclear Winter mode, but your mods are still disabled.\n" + - "Do you want to deploy them now?" + MsgBox.Add("modsInvalidManifestEntry", + "Invalid manifest.xml entry", + "A mod entry is invalid and was ignored.\nError: {0}" ); - // NexusMods + // NexusMods: MsgBox.Add("nexusModsRemoteInfoRefreshedSuccess", "Mod information updated", "Mod information updated and thumbnails downloaded." ); - MsgBox.Add("nexusModsProfileRefreshFailed", - "Failed", - "Couldn't update your profile:\n{0}" + MsgBox.Add("nexusModsEndorseAllQuestion", + "Endorse all mods?", + "This will endorse all your installed mods. Are you sure?" ); - MsgBox.Add("nexusModsDeleteThumbnails", - "Are you sure?", - "Do you really want to delete all thumbnails?" + MsgBox.Add("nexusModsNotLoggedIn", + "Not logged in", + "Please log in to NexusMods first and try again" ); - MsgBox.Add("nexusModsDeleteThumbnailsSuccess", - "Done", - "Thumbnails deleted." + + // TODO: Replace a lot of the message boxes with generic ones for easier translation. + // Generic questions: + + MsgBox.Add("deleteQuestion", + "Delete {0}?", + "You are about to delete '{0}'. Are you sure?" ); - MsgBox.Add("nexusModsDeleteThumbnailsFailed", - "Something went wrong", - "Thumbnails couldn't be deleted.\nTry again later." + MsgBox.Add("deleteMultipleQuestion", + "Delete {0} files?", + "You are about to delete {0} files. Are you sure?" ); - MsgBox.Add("nexusModsRemoveProfile", - "Are you sure?", - "Do you really want to remove your profile from the mod manager?" + MsgBox.Add("failed", + "Failed", + "{0}" ); - MsgBox.Add("nexusModsRemoveProfileSuccess", + MsgBox.Add("done", "Done", - "Profile removed." + "{0}" ); - MsgBox.Add("nexusModsRemoveRemoteInfo", + MsgBox.Add("areYouSure", "Are you sure?", - "Do you really want to remove mod information?" + "{0}" ); - MsgBox.Add("nexusModsRemoveRemoteInfoSuccess", - "Done", - "Mod information removed." + + // Profile manager: + + MsgBox.Add("errorAtLeastOneGameOrProfile", + "Cannot delete last game profile", + "At least one game profile is required." + ); + + MsgBox.Add("gamePathAutoDetectFailed", + "Auto-detect failed", + "Couldn't find any common game path. Please select the path manually." ); } } diff --git a/Fo76ini/Interface/Translation.cs b/Fo76ini/Interface/Translation.cs index 047fed9..6fadd08 100644 --- a/Fo76ini/Interface/Translation.cs +++ b/Fo76ini/Interface/Translation.cs @@ -4,26 +4,33 @@ using System.Globalization; using System.IO; using System.Linq; -using System.Net.Security; using System.Reflection; -using System.Text; using System.Text.RegularExpressions; -using System.Threading.Tasks; using System.Windows.Forms; using System.Xml.Linq; +using Fo76ini.Interface; +using Fo76ini.Tweaks; +using Fo76ini.Utilities; namespace Fo76ini { public partial class Localization { - public static Dictionary localizedStrings = new Dictionary(); - public static String languageFolder = Path.Combine(Shared.AppConfigFolder, "languages"); - private static List translations = new List(); - private static DropDown comboBoxTranslations; + public static Dictionary localizedStrings = new Dictionary(); + public static readonly string LanguageFolder = Path.Combine(Shared.AppConfigFolder, "languages"); + + /// + /// Current locale + /// + public static string Locale = "en-US"; + /// + /// Add your form to this list if you want it to get translated. + /// public static List LocalizedForms = new List(); - public static String locale = "en-US"; + private static List translations = new List(); + private static DropDown comboBoxTranslations; static Localization() { @@ -31,43 +38,73 @@ static Localization() AddSharedMessageBoxes(); } - public static String GetString(String str) + /// + /// Returns a localized string identified by 'str'. + /// + /// String identifier + /// Localized string + public static string GetString(string str) { - return Localization.localizedStrings[str]; + if (Localization.localizedStrings.ContainsKey(str)) + return Localization.localizedStrings[str]; + else + return $"\"{str}\" NOT FOUND"; } - public static void AssignDropBox(ComboBox comboBoxLanguage) + /// + /// Assigns a dropdown menu to hold all languages. + /// Also assigns an event handler 'SelectedIndexChanged' to automatically translate forms. + /// + /// + public static void AssignDropDown(ComboBox comboBoxLanguage) { Localization.comboBoxTranslations = new DropDown(comboBoxLanguage); + comboBoxLanguage.SelectedIndexChanged += (object sender, EventArgs e) => + { + Translation translation = Localization.GetTranslation(); + translation.Apply(); + + IniFiles.Config.Set("Preferences", "sLanguage", translation.ISO); + Localization.Locale = translation.ISO; + + if (translation.ISO != "en-US") + Localization.GenerateTemplate(translation); + }; } public static void LookupLanguages() { - // Create 'languages' folder: - if (!Directory.Exists(languageFolder)) - Directory.CreateDirectory(languageFolder); + // Create 'languages' folder if not existing: + Directory.CreateDirectory(LanguageFolder); // Look into the folder and add all language files to the dropdown menu: Localization.translations.Clear(); Localization.comboBoxTranslations.Clear(); - foreach (string filePath in Directory.GetFiles(languageFolder)) + foreach (string filePath in Directory.GetFiles(LanguageFolder)) { - if (filePath.EndsWith(".xml") && !filePath.EndsWith(".template.xml")) + try { - Translation translation = new Translation(); - translation.Load(filePath); - Localization.translations.Add(translation); - Localization.comboBoxTranslations.Add(translation.Name); - //Localization.comboBoxTranslations.Add($"{translation.Name} [{translation.Version}]"); + if (filePath.EndsWith(".xml") && !filePath.EndsWith(".template.xml")) + { + Translation translation = new Translation(); + translation.Load(filePath); + Localization.translations.Add(translation); + Localization.comboBoxTranslations.Add(translation.Name); + //Localization.comboBoxTranslations.Add($"{translation.Name} [{translation.Version}]"); + } + } + catch (Exception exc) + { + MsgBox.Popup("Loading translation failed", $"The translation '{Path.GetFileNameWithoutExtension(filePath)}' couldn't be loaded.\n{exc.GetType()}: {exc.Message}", MessageBoxIcon.Warning); } } // Set language: - String selectedLanguageISO = IniFiles.Instance.GetString(IniFile.Config, "Preferences", "sLanguage", CultureInfo.CurrentUICulture.Name); + string selectedLanguageISO = IniFiles.Config.GetString("Preferences", "sLanguage", CultureInfo.CurrentUICulture.Name); int languageIndex = GetTranslationIndex(selectedLanguageISO); int enUSIndex = GetTranslationIndex("en-US"); Localization.comboBoxTranslations.SelectedIndex = languageIndex > -1 ? languageIndex : enUSIndex; - Localization.locale = selectedLanguageISO; + Localization.Locale = selectedLanguageISO; } public static void GenerateTemplate(Translation translation) @@ -75,7 +112,7 @@ public static void GenerateTemplate(Translation translation) translation.Save(translation.ISO + ".template.xml", Shared.VERSION); } - public static void GenerateTemplate() + public static void GenerateDefaultTemplate() { Translation english = new Translation(); english.Name = "English (USA)"; @@ -90,7 +127,7 @@ public static Translation GetTranslation() return translations[comboBoxTranslations.SelectedIndex]; } - public static Translation GetTranslation(String iso) + public static Translation GetTranslation(string iso) { foreach (Translation translation in Localization.translations) if (translation.ISO == iso) @@ -98,7 +135,7 @@ public static Translation GetTranslation(String iso) return null; } - public static int GetTranslationIndex(String iso) + public static int GetTranslationIndex(string iso) { int index = 0; foreach (Translation translation in Localization.translations) @@ -113,7 +150,7 @@ public static int GetTranslationIndex(String iso) public static XElement SerializeStrings() { XElement xmlStrings = new XElement("Strings"); - foreach (KeyValuePair pair in Localization.localizedStrings) + foreach (KeyValuePair pair in Localization.localizedStrings) xmlStrings.Add(new XElement("String", new XAttribute("text", pair.Value), new XAttribute("id", pair.Key))); @@ -132,26 +169,30 @@ public static void DeserializeStrings(XElement strings) public class Translation { - public String Name; - public String ISO; - public String Version; - public String Author; - private String fileName; - private String filePath; - - private Dictionary dictText = new Dictionary(); - private Dictionary dictTooltip = new Dictionary(); - - private static List blackList = new List - { - "labelConfigVersion", - "labelAuthorName", - "labelTranslationAuthor", - "groupBoxWIP", - "labelNewVersion", - "labelModsDeploy", - "labelGameEdition" - }; + public string Name; + public string ISO; + public string Version; + public string Author; + private string fileName; + private string filePath; + + /// + /// Add event handler to reload UI elements after the program has been translated to another language. + /// + public static event TranslationEventHandler LanguageChanged; + + /// + /// Add control elements to this list if you want them to not be translated. + /// + public static List BlackList = new List{}; + + private Dictionary dictText = new Dictionary(); + private Dictionary dictTooltip = new Dictionary(); + + /// + /// Names of controls to ignore when setting tooltips + /// + private List ignoreTooltipsOfTheseControls = new List(); public Translation() { @@ -161,10 +202,10 @@ public Translation() * Public stuff: */ - public void Load(String fileName) + public void Load(string fileName) { this.fileName = fileName; - this.filePath = Path.Combine(Localization.languageFolder, this.fileName); + this.filePath = Path.Combine(Localization.LanguageFolder, this.fileName); /* * Read *.xml file: @@ -206,54 +247,88 @@ public bool IsOutdated() public void Apply() { - // Read *.xml file: - XDocument xmlDoc = XDocument.Load(this.filePath); - XElement xmlRoot = xmlDoc.Element("Language"); + try + { + // Read *.xml file: + XDocument xmlDoc = XDocument.Load(this.filePath); + XElement xmlRoot = xmlDoc.Element("Language"); - foreach (LocalizedForm form in Localization.LocalizedForms) + ignoreTooltipsOfTheseControls = LinkedTweaks.GetListOfLinkedControlNames(); + + // Translate each form individually: + foreach (LocalizedForm form in Localization.LocalizedForms) + { + XElement xmlForm = xmlRoot.Element(form.Form.Name); + + // Ignore non-existing forms + if (xmlForm == null) + continue; // throw new InvalidXmlException($"Couldn't find <{form.Form.Name}>"); + + // Set title, if it exists: + if (xmlForm.Attribute("title") != null) + form.Form.Text = xmlForm.Attribute("title").Value; + + // Forms: + DeserializeDictionaries(xmlForm); // TODO: xmlRoot replaced with xmlForm. Good idea? + DeserializeControls(xmlForm, form.Form, form.ToolTip); + foreach (Control subControl in form.SpecialControls) + DeserializeControl(xmlForm, subControl, form.ToolTip); + + // Message boxes: + XElement xmlMsgBox = xmlRoot.Element("Messageboxes"); + if (xmlMsgBox != null) + MsgBox.Deserialize(xmlMsgBox); + + // Strings: + XElement xmlStrings = xmlRoot.Element("Strings"); + if (xmlStrings != null) + Localization.DeserializeStrings(xmlStrings); + + // TODO: Generalize this. No outside references, plz: + + // TODO: Doesn't make sense to deserialize them multiple times: + + // Drop downs: + XElement xmlDropDowns = xmlRoot.Element("Dropdowns"); + if (xmlDropDowns != null) + DropDown.DeserializeAll(xmlDropDowns); + + // Tweak descriptions: + XElement xmlTweakDescriptions = xmlRoot.Element("TweakDescriptions"); + if (xmlTweakDescriptions != null) + LinkedTweaks.DeserializeTweakDescriptionList(xmlTweakDescriptions); + if (form.ToolTip != null) + LinkedTweaks.SetToolTips(); // TODO: No need to call it per form anymore + } + + // Call event handler: + if (LanguageChanged != null) + { + TranslationEventArgs e = new TranslationEventArgs(); + e.HasAuthor = this.Author != ""; + //e.ActiveTranslation = this; + LanguageChanged(this, e); + } + } + catch (Exception exc) { - XElement xmlForm = xmlRoot.Element(form.Form.Name); - if (xmlForm == null) - throw new InvalidXmlException($"Couldn't find <{form.Form.Name}>"); - - // Set title, if it exists: - if (xmlForm.Attribute("title") != null) - form.Form.Text = xmlForm.Attribute("title").Value; - - // Forms: - DeserializeDictionaries(xmlRoot); - DeserializeControls(xmlForm, form.Form, form.ToolTip); - foreach (Control subControl in form.SpecialControls) - DeserializeControl(xmlForm, subControl, form.ToolTip); - - // Message boxes: - XElement xmlMsgBox = xmlRoot.Element("Messageboxes"); - if (xmlMsgBox != null) - MsgBox.Deserialize(xmlMsgBox); - - // Strings: - XElement xmlStrings = xmlRoot.Element("Strings"); - if (xmlStrings != null) - Localization.DeserializeStrings(xmlStrings); - - // Drop downs: - XElement xmlDropDowns = xmlRoot.Element("Dropdowns"); - if (xmlDropDowns != null) - DropDown.DeserializeAll(xmlDropDowns); + MsgBox.Show("Loading translation failed", $"The translation '{Path.GetFileNameWithoutExtension(filePath)}' couldn't be loaded.\n{exc.GetType()}: {exc.Message}", MessageBoxIcon.Error); } } private void DeserializeControl(XElement xmlRoot, Control subControl, ToolTip toolTip) { if (subControl.Name != null && - subControl.Name.Length > 0) + subControl.Name.Length > 0 && + !BlackList.Contains(subControl.Name)) { // Set text: if (dictText.ContainsKey(subControl.Name)) subControl.Text = FromSafeString(dictText[subControl.Name]); // Set tooltip: - if (dictTooltip.ContainsKey(subControl.Name)) + if (dictTooltip.ContainsKey(subControl.Name) && + !ignoreTooltipsOfTheseControls.Contains(subControl.Name)) toolTip.SetToolTip(subControl, dictTooltip[subControl.Name]); @@ -291,7 +366,7 @@ private void DeserializeControls(XElement xmlRoot, Control control, ToolTip tool } } - private void DeserializeStrip(Component item, Dictionary dict) + private void DeserializeStrip(Component item, Dictionary dict) { if (item is MenuStrip) DeserializeStripItems(((MenuStrip)item).Items, dict); @@ -305,7 +380,7 @@ private void DeserializeStrip(Component item, Dictionary dict) DeserializeStripItems(((ToolStripDropDownButton)item).DropDownItems, dict); } - private void DeserializeStripItems(ToolStripItemCollection items, Dictionary dict) + private void DeserializeStripItems(ToolStripItemCollection items, Dictionary dict) { foreach (ToolStripItem item in items) { @@ -369,10 +444,10 @@ private void DeserializeDictionaries(XElement xmlRoot) * Serialization: */ - public void Save(String fileName, String version) + public void Save(string fileName, string version) { - String newFileName = fileName; - String newFilePath = Path.Combine(Localization.languageFolder, newFileName); + string newFileName = fileName; + string newFilePath = Path.Combine(Localization.LanguageFolder, newFileName); // Create document and root: XDocument xmlDoc = new XDocument(); @@ -381,20 +456,51 @@ public void Save(String fileName, String version) xmlRoot.Add(new XAttribute("iso", this.ISO)); if (this.ISO != "en-US" && this.Author.Length > 0) xmlRoot.Add(new XAttribute("author", this.Author)); + if (this.ISO == "en-US") - xmlDoc.AddFirst(new XComment("\n This file is auto-generated on program start.\n Therefore any changes made to this file will be overriden.\n You can use this as a template for your own translation, though.\n")); + xmlDoc.AddFirst( + new XComment("\n" + + " This file is auto-generated on program start.\n" + + " Therefore any changes made to this file will be overwritten.\n" + + " You can use this as a template for your own translation, though.\n" + + "\n" + + " If you need help with translating, you can find a guide here:\n" + + " https://github.com/FelisDiligens/Fallout76-QuickConfiguration/wiki/Translations\n")); + else + xmlDoc.AddFirst( + new XComment("\n" + + " This is a template that contains some of the already translated elements.\n" + + " You can rename it from \"*.template.xml\" to \"*.xml\" and translate the added elements.\n" + + "\n" + + " If you need help with translating, you can find a guide here:\n" + + " https://github.com/FelisDiligens/Fallout76-QuickConfiguration/wiki/Translations\n")); + xmlRoot.Add(new XAttribute("version", version)); xmlDoc.Add(xmlRoot); // Serialize external stuff: - xmlRoot.Add(Localization.SerializeStrings()); - xmlRoot.Add(DropDown.SerializeAll()); - xmlRoot.Add(MsgBox.SerializeAll()); + // TODO: Find a way to remove the references, plz: + XElement xmlStrings = Localization.SerializeStrings(); + XElement xmlDropDowns = DropDown.SerializeAll(); + XElement xmlMsgBoxes = MsgBox.SerializeAll(); + XElement xmlDescriptions = LinkedTweaks.SerializeTweakDescriptionList(); + string separator = "".PadLeft(150, '*'); + xmlStrings.AddFirst(new XComment($"\n Strings\n {separator}\n Basically little text snippets that can be used everywhere.\n ")); + xmlDropDowns.AddFirst(new XComment($"\n Dropdowns\n {separator}\n Make sure that the amount of options stays the same.\n ")); + xmlMsgBoxes.AddFirst(new XComment($"\n Message boxes\n {separator}\n The {"{0}"} is a placeholder, btw.\n ")); + xmlDescriptions.AddFirst(new XComment($"\n Descriptions\n {separator}\n These are the descriptions of almost all tweaks.\n They appear in tool tips, when the user hovers over a tweak with the mouse cursor.\n ")); + xmlRoot.Add(xmlStrings); + xmlRoot.Add(xmlDropDowns); + xmlRoot.Add(xmlMsgBoxes); + xmlRoot.Add(xmlDescriptions); + + ignoreTooltipsOfTheseControls = LinkedTweaks.GetListOfLinkedControlNames(); // Serialize all control elements: foreach (LocalizedForm form in Localization.LocalizedForms) { XElement xmlForm = new XElement(form.Form.Name, new XAttribute("title", form.Form.Text)); + xmlForm.AddFirst(new XComment($"\n {form.Form.Name}\n {separator}\n {form.Form.Text}\n ")); SerializeControls(xmlForm, form.Form, form.ToolTip); foreach (Control control in form.SpecialControls) SerializeControl(xmlForm, control, form.ToolTip); @@ -402,9 +508,7 @@ public void Save(String fileName, String version) } // Save it: - if (!Directory.Exists(Localization.languageFolder)) - Directory.CreateDirectory(Localization.languageFolder); - + Directory.CreateDirectory(Localization.LanguageFolder); xmlDoc.Save(newFilePath); } @@ -413,12 +517,20 @@ private int SerializeControl(XElement xmlElement, Control subControl, ToolTip to int count = 0; if (subControl.Name != null && subControl.Name.Length > 0 && - !blackList.Contains(subControl.Name) && + !BlackList.Contains(subControl.Name) && !subControl.Name.ToLower().Contains("separator")) { XElement subElement = new XElement(subControl.GetType().Name); bool addSubElement = false; + // Add (hopefully) helpful comment? + if (subControl is TabPage) + subElement.Add(new XComment($" ********** Tab \"{subControl.Text}\" ********** ")); + else if (subControl is GroupBox) + subElement.Add(new XComment($" Group \"{subControl.Text}\" ")); + else if (subControl is MenuStrip) + subElement.Add(new XComment($" Menu ")); + // Add text: if (subControl.Text != null && subControl.Text.Length > 0 && @@ -439,8 +551,10 @@ private int SerializeControl(XElement xmlElement, Control subControl, ToolTip to } // Add tooltip text: - if (toolTip.GetToolTip(subControl) != null && - toolTip.GetToolTip(subControl).Length > 0) + if (toolTip != null && + toolTip.GetToolTip(subControl) != null && + toolTip.GetToolTip(subControl).Length > 0 && + !ignoreTooltipsOfTheseControls.Contains(subControl.Name)) { subElement.Add(new XElement("Tooltip", toolTip.GetToolTip(subControl))); addSubElement = true; @@ -514,7 +628,7 @@ private int SerializeStripItems(XElement parent, Component stripItem) XElement xmlToolStripItem = new XElement(item.GetType().Name, new XAttribute("text", item.Text), new XAttribute("id", item.Name)); - + count += SerializeStripItems(xmlToolStripItem, item); count++; parent.Add(xmlToolStripItem); @@ -528,19 +642,19 @@ private int SerializeStripItems(XElement parent, Component stripItem) * Other stuff: */ - private String ToSafeString(String s) + private string ToSafeString(string s) { return Regex.Replace(s, @"\r\n?|\n", "\\n").Replace("\t", "\\t").Replace("\\", "\\\\").Replace("\\\\n", "\\n").Replace("\\\\t", "\\t"); } - private String FromSafeString(String s) + private string FromSafeString(string s) { return s.Replace("\\n", "\n").Replace("\\t", "\t").Replace("\\\\", "\\"); } - private Dictionary GetXMLDescendantsDict(XElement xmlItems) + private Dictionary GetXMLDescendantsDict(XElement xmlItems) { - Dictionary dict = new Dictionary(); + Dictionary dict = new Dictionary(); foreach (XElement item in xmlItems.Descendants()) { dict[item.Attribute("id").Value] = item.Attribute("text").Value; @@ -559,6 +673,14 @@ where typeof(Component).IsAssignableFrom(field.FieldType) } } + public delegate void TranslationEventHandler(object sender, TranslationEventArgs e); + + public class TranslationEventArgs : EventArgs + { + //public Translation ActiveTranslation; + public bool HasAuthor; + } + public class LocalizedForm { public Form Form; diff --git a/Fo76ini/Interface/UILoader.cs b/Fo76ini/Interface/UILoader.cs deleted file mode 100644 index 2b7e096..0000000 --- a/Fo76ini/Interface/UILoader.cs +++ /dev/null @@ -1,234 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using System.Windows.Forms; - -namespace Fo76ini -{ - public class UILoader - { - public delegate void OnLoadUIFunction(); - private List OnLoadUI = new List(); - - public void Update() - { - List exceptions = new List(); - foreach (OnLoadUIFunction func in OnLoadUI) - { - try - { - func(); - } - catch (Exception ex) - { - exceptions.Add(ex); - } - } - if (exceptions.Count > 0) - MsgBox.Get("onLoadFuncException").FormatText(exceptions.Count.ToString(), exceptions[0].ToString()).Show(MessageBoxIcon.Error); - } - - public void Add(OnLoadUIFunction func) - { - OnLoadUI.Add(func); - } - - - /* - ************************************************************** - * Link control elements together - ************************************************************** - */ - - // Link slider to num and vice-versa - - public static void LinkSlider(TrackBar slider, NumericUpDown num, double numToSliderRatio) - { - LinkSlider(slider, num, numToSliderRatio, false); - } - - public static void LinkSlider(TrackBar slider, NumericUpDown num, double numToSliderRatio, bool reversed) - { - if (!reversed) - { - slider.ValueChanged += (object sender, EventArgs e) => num.Value = Convert.ToDecimal(slider.Value / numToSliderRatio); - num.ValueChanged += (object sender, EventArgs e) => slider.Value = Utils.Clamp(Convert.ToInt32(Convert.ToDouble(num.Value) * numToSliderRatio), slider.Minimum, slider.Maximum); - } - else - { - slider.ValueChanged += (object sender, EventArgs e) => num.Value = Convert.ToDecimal((slider.Maximum - slider.Value) / numToSliderRatio); - num.ValueChanged += (object sender, EventArgs e) => slider.Value = Utils.Clamp(Convert.ToInt32(slider.Maximum - Convert.ToDouble(num.Value) * numToSliderRatio), slider.Minimum, slider.Maximum); - } - } - - - - /* - ************************************************************** - * Link *.ini states to control elements - ************************************************************** - */ - - // comboBox.SelectedIndexChanged => comboBox.SelectionChangeCommitted - // checkBox.CheckedChanged => checkBox.MouseClick - // radioButton.CheckedChanged => radioButton.MouseClick - - public void LinkCustom(CheckBox checkBox, Func getState, Action setState) - { - this.Add(() => checkBox.Checked = getState()); - checkBox.MouseClick += (object sender, MouseEventArgs e) => setState(checkBox.Checked); - } - - public void LinkCustom(ComboBox comboBox, Func getState, Action setState) - { - this.Add(() => comboBox.SelectedIndex = getState()); - comboBox.SelectionChangeCommitted += (object sender, EventArgs e) => setState(comboBox.SelectedIndex); - } - - public void LinkCustom(NumericUpDown num, Func getState, Action setState) - { - this.Add(() => num.Value = Utils.Clamp(getState(), Convert.ToInt32(num.Minimum), Convert.ToInt32(num.Maximum))); - num.ValueChanged += (object sender, EventArgs e) => setState(Convert.ToInt32(num.Value)); - } - - public void LinkCustom(NumericUpDown num, Func getState, Action setState) - { - this.Add(() => num.Value = Convert.ToDecimal(Utils.Clamp(getState(), Convert.ToSingle(num.Minimum), Convert.ToSingle(num.Maximum)))); - num.ValueChanged += (object sender, EventArgs e) => setState(Convert.ToSingle(num.Value)); - } - - public void LinkBoolNegated(CheckBox checkBox, IniFile f, String section, String key, bool defaultValue) - { - LinkBool(checkBox, f, section, key, defaultValue, true); - } - - public void LinkBool(CheckBox checkBox, IniFile f, String section, String key, bool defaultValue, bool negated = false) - { - this.Add(() => { - bool val = IniFiles.Instance.GetBool(f, section, key, defaultValue); - checkBox.Checked = negated ? !val : val; - }); - checkBox.MouseClick += (object sender, MouseEventArgs e) => { - if (f == IniFile.F76Custom && (negated ? !checkBox.Checked : checkBox.Checked) == defaultValue) - IniFiles.Instance.Remove(f, section, key); - else - IniFiles.Instance.Set(f, section, key, negated ? !checkBox.Checked : checkBox.Checked); - }; - } - - public void LinkBool(RadioButton radioButtonTrue, RadioButton radioButtonFalse, IniFile f, String section, String key, bool defaultValue) - { - this.Add(() => { - bool val = IniFiles.Instance.GetBool(f, section, key, defaultValue); - if (val) - radioButtonTrue.Checked = true; - else - radioButtonFalse.Checked = true; - }); - radioButtonTrue.MouseClick += (object sender, MouseEventArgs e) => { - if (radioButtonTrue.Checked) - IniFiles.Instance.Set(f, section, key, true); - }; - radioButtonFalse.MouseClick += (object sender, MouseEventArgs e) => { - if (radioButtonFalse.Checked) - IniFiles.Instance.Set(f, section, key, false); - }; - } - - public void LinkInt(NumericUpDown num, IniFile f, String section, String key, int defaultValue) - { - this.Add(() => { - num.Value = Utils.Clamp(IniFiles.Instance.GetInt(f, section, key, defaultValue), Convert.ToInt32(num.Minimum), Convert.ToInt32(num.Maximum)); - }); - num.ValueChanged += (object sender, EventArgs e) => { - if (f == IniFile.F76Custom && num.Value == defaultValue) - IniFiles.Instance.Remove(f, section, key); - else - IniFiles.Instance.Set(f, section, key, Convert.ToInt32(num.Value)); - }; - } - - public void LinkInt(TrackBar slider, IniFile f, String section, String key, int defaultValue) - { - this.Add(() => { - slider.Value = Utils.Clamp(IniFiles.Instance.GetInt(f, section, key, defaultValue), Convert.ToInt32(slider.Minimum), Convert.ToInt32(slider.Maximum)); - }); - slider.ValueChanged += (object sender, EventArgs e) => { - if (f == IniFile.F76Custom && slider.Value == defaultValue) - IniFiles.Instance.Remove(f, section, key); - else - IniFiles.Instance.Set(f, section, key, Convert.ToInt32(slider.Value)); - }; - } - - public void LinkFloat(NumericUpDown num, IniFile f, String section, String key, float defaultValue) - { - this.Add(() => { - num.Value = Convert.ToDecimal(Utils.Clamp(IniFiles.Instance.GetFloat(f, section, key, defaultValue), Convert.ToSingle(num.Minimum), Convert.ToSingle(num.Maximum))); - }); - num.ValueChanged += (object sender, EventArgs e) => { - if (f == IniFile.F76Custom && Convert.ToSingle(num.Value) == defaultValue) - IniFiles.Instance.Remove(f, section, key); - else - IniFiles.Instance.Set(f, section, key, Convert.ToSingle(num.Value)); - }; - } - - public void LinkString(TextBox textBox, IniFile f, String section, String key, String defaultValue) - { - this.Add(() => textBox.Text = IniFiles.Instance.GetString(section, key, defaultValue)); - textBox.TextChanged += (object sender, EventArgs e) => { - if (f == IniFile.F76Custom && textBox.Text == defaultValue) - IniFiles.Instance.Remove(f, section, key); - else - IniFiles.Instance.Set(f, section, key, textBox.Text); - }; - } - - public void LinkList(RadioButton[] radioButtons, String[] associatedValues, IniFile f, String section, String key, String defaultValue) - { - if (radioButtons.Length != associatedValues.Length) - throw new ArgumentException("LinkList: radioButtons and associatedValues have to have the same length!"); - - this.Add(() => { - String value = IniFiles.Instance.GetString(f, section, key, defaultValue); - int index = Array.IndexOf(associatedValues, value); - if (index > -1) - { - radioButtons[index].Checked = true; - } - }); - - // I have a really bad feeling about this: - for (int i = 0; i < radioButtons.Length; i++) - { - RadioButton radioButton = radioButtons[i]; - String associatedValue = associatedValues[i]; - radioButton.MouseClick += (object sender, MouseEventArgs e) => { - if (radioButton.Checked) - IniFiles.Instance.Set(f, section, key, associatedValue); - }; - } - } - - public void LinkList(ComboBox comboBox, String[] associatedValues, IniFile f, String section, String key, String defaultValue, int defaultComboBoxIndex) - { - if (comboBox.Items.Count != associatedValues.Length) - throw new ArgumentException("LinkList: comboBox has to have as many items as associatedValues has!"); - - this.Add(() => { - String value = IniFiles.Instance.GetString(f, section, key, defaultValue); - int index = Array.IndexOf(associatedValues, value); - if (index > -1) - comboBox.SelectedIndex = index; - else - comboBox.SelectedIndex = defaultComboBoxIndex; - }); - comboBox.SelectionChangeCommitted += (object sender, EventArgs e) => { - IniFiles.Instance.Set(f, section, key, associatedValues[comboBox.SelectedIndex]); - }; - } - } -} diff --git a/Fo76ini/Interface/Versioning.cs b/Fo76ini/Interface/Versioning.cs new file mode 100644 index 0000000..7b53dc5 --- /dev/null +++ b/Fo76ini/Interface/Versioning.cs @@ -0,0 +1,37 @@ +using Fo76ini.Utilities; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Net; +using System.Text; +using System.Threading.Tasks; + +namespace Fo76ini.Interface +{ + public static class Versioning + { + public static void GetLatestVersion () + { + try + { + WebClient wc = new WebClient(); + byte[] raw = wc.DownloadData("https://raw.githubusercontent.com/FelisDiligens/Fallout76-QuickConfiguration/master/VERSION"); + Shared.LatestVersion = Encoding.UTF8.GetString(raw).Trim(); + } + catch (WebException exc) + { + return; + } + } + + public static bool UpdateAvailable + { + get { return Shared.LatestVersion != null && Utils.CompareVersions(Shared.LatestVersion, Shared.VERSION) > 0; } + } + + /*public static bool PrereleaseUsed + { + get { return Shared.LatestVersion != null && Utils.CompareVersions(Shared.LatestVersion, Shared.VERSION) < 0; } + }*/ + } +} diff --git a/Fo76ini/IniFiles.cs b/Fo76ini/LegacyIniFiles.cs similarity index 64% rename from Fo76ini/IniFiles.cs rename to Fo76ini/LegacyIniFiles.cs index 0a3359a..44f529e 100644 --- a/Fo76ini/IniFiles.cs +++ b/Fo76ini/LegacyIniFiles.cs @@ -14,7 +14,7 @@ namespace Fo76ini { - public enum IniFile + public enum LegacyIniFile { F76, F76Prefs, @@ -22,7 +22,7 @@ public enum IniFile Config } - public class IniFiles + public class LegacyIniFiles { protected FileIniDataParser iniParser = null; @@ -34,7 +34,7 @@ public class IniFiles /*protected String fo76Path; protected String fo76PrefsPath; protected String fo76CustomPath;*/ - protected String configPath; + protected string configPath; protected DateTime fo76ModTime; protected DateTime fo76PrefsModTime; @@ -42,22 +42,22 @@ public class IniFiles protected Encoding iniEncoding = new UTF8Encoding(false); // UTF-8 without BOM - public String iniParentPath; + public string iniParentPath; protected System.Globalization.CultureInfo enUS = System.Globalization.CultureInfo.CreateSpecificCulture("en-US"); //public bool nuclearWinterMode = false; public bool renameF76Custom = false; - public const String nwF76CustomEnding = ".nwmodebak"; + public const string nwF76CustomEnding = ".nwmodebak"; public bool fixCustomIniDuplicateValues = true; //public GameEdition GameEdition; - private static IniFiles instance = null; + private static LegacyIniFiles instance = null; private static readonly object padlock = new object(); - public static IniFiles Instance + public static LegacyIniFiles Instance { get { @@ -65,77 +65,76 @@ public static IniFiles Instance { if (instance == null) { - instance = new IniFiles(); + instance = new LegacyIniFiles(); } return instance; } } } - public String GetIniName(IniFile iniFile, GameEdition edition = GameEdition.Unknown) + public string GetIniName(LegacyIniFile iniFile, GameEdition edition = GameEdition.Unknown) { if (edition == GameEdition.Unknown) edition = Shared.GameEdition; bool msstore = edition == GameEdition.MSStore; switch (iniFile) { - case IniFile.F76: + case LegacyIniFile.F76: return msstore ? "Project76.ini" : "Fallout76.ini"; - case IniFile.F76Prefs: + case LegacyIniFile.F76Prefs: return msstore ? "Project76Prefs.ini" : "Fallout76Prefs.ini"; - case IniFile.F76Custom: + case LegacyIniFile.F76Custom: return msstore ? "Project76Custom.ini" : "Fallout76Custom.ini"; - case IniFile.Config: - return "QuickConfiguration.ini"; + default: + throw new NotSupportedException("Ini name unknown"); } - return null; } - public String GetIniPath(IniFile iniFile, GameEdition edition) + public string GetIniPath(LegacyIniFile iniFile, GameEdition edition) { switch (iniFile) { - case IniFile.F76: - case IniFile.F76Prefs: - case IniFile.F76Custom: + case LegacyIniFile.F76: + case LegacyIniFile.F76Prefs: + case LegacyIniFile.F76Custom: return Path.Combine(this.iniParentPath, GetIniName(iniFile, edition)); - case IniFile.Config: + case LegacyIniFile.Config: return this.configPath; } return null; } - public String GetIniPath(IniFile iniFile) + public string GetIniPath(LegacyIniFile iniFile) { switch (iniFile) { - case IniFile.F76: - case IniFile.F76Prefs: - case IniFile.F76Custom: + case LegacyIniFile.F76: + case LegacyIniFile.F76Prefs: + case LegacyIniFile.F76Custom: return Path.Combine(this.iniParentPath, GetIniName(iniFile)); - case IniFile.Config: + case LegacyIniFile.Config: return this.configPath; } return null; } - protected IniData GetIniData(IniFile iniFile) + protected IniData GetIniData(LegacyIniFile iniFile) { switch (iniFile) { - case IniFile.F76: + case LegacyIniFile.F76: return this.fo76Data; - case IniFile.F76Prefs: + case LegacyIniFile.F76Prefs: return this.fo76PrefsData; - case IniFile.F76Custom: + case LegacyIniFile.F76Custom: return this.fo76CustomData; - case IniFile.Config: + case LegacyIniFile.Config: return this.configData; } return null; } - private IniFiles() + private LegacyIniFiles() { // Get the paths: this.iniParentPath = Path.Combine( @@ -143,31 +142,8 @@ private IniFiles() @"My Games\Fallout 76\" ); - /*this.GetIniName(IniFile.F76) = Path.Combine(this.iniParentPath, "Fallout76.ini"); - this.GetIniName(IniFile.F76Prefs) = Path.Combine(this.iniParentPath, "Fallout76Prefs.ini"); - this.GetIniName(IniFile.F76Custom) = Path.Combine(this.iniParentPath, "Fallout76Custom.ini");*/ - String pre1point6ConfigPath = Path.Combine(this.iniParentPath, "QuickConfiguration.ini"); - String oldConfigPath = Path.Combine(Shared.OldAppConfigFolder, "config.ini"); this.configPath = Path.Combine(Shared.AppConfigFolder, "config.ini"); - // Backwards-compatibility: Move config file to new location: - - // Pre v1.6 location: - if (File.Exists(pre1point6ConfigPath) && !File.Exists(this.configPath)) - { - if (!Directory.Exists(Path.GetDirectoryName(this.configPath))) - Directory.CreateDirectory(Path.GetDirectoryName(this.configPath)); - File.Move(pre1point6ConfigPath, this.configPath); - } - - // Pre v1.7.1 location: - if (File.Exists(oldConfigPath) && !File.Exists(this.configPath)) - { - if (!Directory.Exists(Path.GetDirectoryName(this.configPath))) - Directory.CreateDirectory(Path.GetDirectoryName(this.configPath)); - File.Copy(oldConfigPath, this.configPath); - } - // Configuring INI parser IniParserConfiguration iniParserConfig = new IniParserConfiguration(); iniParserConfig.AllowCreateSectionsOnFly = true; @@ -190,25 +166,25 @@ public void LoadGameInis() // Parse all INI files, if existing: // Do Fallout76.ini and Fallout76Prefs.ini exist? - if (!File.Exists(GetIniPath(IniFile.F76)) || !File.Exists(GetIniPath(IniFile.F76Prefs))) + if (!File.Exists(GetIniPath(LegacyIniFile.F76)) || !File.Exists(GetIniPath(LegacyIniFile.F76Prefs))) { if (Shared.GameEdition == GameEdition.MSStore) { // Do Fallout76.ini and Fallout76Prefs.ini exist? - if (File.Exists(GetIniPath(IniFile.F76, GameEdition.Steam)) && File.Exists(GetIniPath(IniFile.F76Prefs, GameEdition.Steam))) + if (File.Exists(GetIniPath(LegacyIniFile.F76, GameEdition.Steam)) && File.Exists(GetIniPath(LegacyIniFile.F76Prefs, GameEdition.Steam))) //Shared.ChangeGameEdition(GameEdition.Steam); Shared.GameEdition = GameEdition.Steam; else - throw new FileNotFoundException($"{GetIniName(IniFile.F76)} and {GetIniName(IniFile.F76Prefs)} not found"); + throw new FileNotFoundException($"{GetIniName(LegacyIniFile.F76)} and {GetIniName(LegacyIniFile.F76Prefs)} not found"); } else { // Do Project76.ini and Project76Prefs.ini exist? - if (File.Exists(GetIniPath(IniFile.F76, GameEdition.MSStore)) && File.Exists(GetIniPath(IniFile.F76Prefs, GameEdition.MSStore))) + if (File.Exists(GetIniPath(LegacyIniFile.F76, GameEdition.MSStore)) && File.Exists(GetIniPath(LegacyIniFile.F76Prefs, GameEdition.MSStore))) //Shared.ChangeGameEdition(GameEdition.MSStore); Shared.GameEdition = GameEdition.MSStore; else - throw new FileNotFoundException($"{GetIniName(IniFile.F76)} and {GetIniName(IniFile.F76Prefs)} not found"); + throw new FileNotFoundException($"{GetIniName(LegacyIniFile.F76)} and {GetIniName(LegacyIniFile.F76Prefs)} not found"); } } @@ -217,14 +193,14 @@ public void LoadGameInis() File.CreateText(this.GetIniPath(IniFile.F76Custom)).Close();*/ // Parse *.ini files: - this.fo76Data = LoadIni(GetIniPath(IniFile.F76), false); - this.fo76ModTime = File.GetLastWriteTime(GetIniPath(IniFile.F76)); - this.fo76PrefsData = LoadIni(GetIniPath(IniFile.F76Prefs), false); - this.fo76PrefsModTime = File.GetLastWriteTime(GetIniPath(IniFile.F76Prefs)); - if (File.Exists(GetIniPath(IniFile.F76Custom))) - this.fo76CustomData = LoadIni(GetIniPath(IniFile.F76Custom), false); - else if (File.Exists(GetIniPath(IniFile.F76Custom) + ".nwmodebak")) - this.fo76CustomData = LoadIni(GetIniPath(IniFile.F76Custom) + ".nwmodebak", false); + this.fo76Data = LoadIni(GetIniPath(LegacyIniFile.F76), false); + this.fo76ModTime = File.GetLastWriteTime(GetIniPath(LegacyIniFile.F76)); + this.fo76PrefsData = LoadIni(GetIniPath(LegacyIniFile.F76Prefs), false); + this.fo76PrefsModTime = File.GetLastWriteTime(GetIniPath(LegacyIniFile.F76Prefs)); + if (File.Exists(GetIniPath(LegacyIniFile.F76Custom))) + this.fo76CustomData = LoadIni(GetIniPath(LegacyIniFile.F76Custom), false); + else if (File.Exists(GetIniPath(LegacyIniFile.F76Custom) + ".nwmodebak")) + this.fo76CustomData = LoadIni(GetIniPath(LegacyIniFile.F76Custom) + ".nwmodebak", false); else this.fo76CustomData = new IniData(); @@ -248,19 +224,19 @@ public void ChangeGameEdition(GameEdition edition) //this.GameEdition = edition; /*if (reloadRequired) LoadGameInis();*/ - IniFiles.Instance.Set(IniFile.Config, "Preferences", "uGameEdition", (int)edition); + LegacyIniFiles.Instance.Set(LegacyIniFile.Config, "Preferences", "uGameEdition", (int)edition); UpdateLastModifiedDates(); } public void SaveGameInis(bool readOnly = false) { - SaveIni(this.GetIniPath(IniFile.F76), this.fo76Data, readOnly); - SaveIni(this.GetIniPath(IniFile.F76Prefs), this.fo76PrefsData, readOnly); + SaveIni(this.GetIniPath(LegacyIniFile.F76), this.fo76Data, readOnly); + SaveIni(this.GetIniPath(LegacyIniFile.F76Prefs), this.fo76PrefsData, readOnly); if (this.renameF76Custom) - SaveIni(this.GetIniPath(IniFile.F76Custom) + nwF76CustomEnding, this.fo76CustomData, readOnly); + SaveIni(this.GetIniPath(LegacyIniFile.F76Custom) + nwF76CustomEnding, this.fo76CustomData, readOnly); else - SaveIni(this.GetIniPath(IniFile.F76Custom), this.fo76CustomData, readOnly); + SaveIni(this.GetIniPath(LegacyIniFile.F76Custom), this.fo76CustomData, readOnly); UpdateLastModifiedDates(); } @@ -271,45 +247,45 @@ public void ResolveNWMode() { foreach (GameEdition edition in Enum.GetValues(typeof(GameEdition))) { - if (!File.Exists(this.GetIniPath(IniFile.F76Custom, edition))) + if (!File.Exists(this.GetIniPath(LegacyIniFile.F76Custom, edition))) return; - if (!File.Exists(this.GetIniPath(IniFile.F76Custom, edition) + nwF76CustomEnding)) - File.Copy(this.GetIniPath(IniFile.F76Custom, edition), this.GetIniPath(IniFile.F76Custom, edition) + nwF76CustomEnding); - Utils.DeleteFile(this.GetIniPath(IniFile.F76Custom, edition)); + if (!File.Exists(this.GetIniPath(LegacyIniFile.F76Custom, edition) + nwF76CustomEnding)) + File.Copy(this.GetIniPath(LegacyIniFile.F76Custom, edition), this.GetIniPath(LegacyIniFile.F76Custom, edition) + nwF76CustomEnding); + Utils.DeleteFile(this.GetIniPath(LegacyIniFile.F76Custom, edition)); } } else { foreach (GameEdition edition in Enum.GetValues(typeof(GameEdition))) { - if (!File.Exists(this.GetIniPath(IniFile.F76Custom, edition) + nwF76CustomEnding)) + if (!File.Exists(this.GetIniPath(LegacyIniFile.F76Custom, edition) + nwF76CustomEnding)) return; - if (!File.Exists(this.GetIniPath(IniFile.F76Custom, edition))) - File.Copy(this.GetIniPath(IniFile.F76Custom, edition) + nwF76CustomEnding, this.GetIniPath(IniFile.F76Custom, edition)); - Utils.DeleteFile(this.GetIniPath(IniFile.F76Custom, edition) + nwF76CustomEnding); + if (!File.Exists(this.GetIniPath(LegacyIniFile.F76Custom, edition))) + File.Copy(this.GetIniPath(LegacyIniFile.F76Custom, edition) + nwF76CustomEnding, this.GetIniPath(LegacyIniFile.F76Custom, edition)); + Utils.DeleteFile(this.GetIniPath(LegacyIniFile.F76Custom, edition) + nwF76CustomEnding); } } UpdateLastModifiedDates(); - if (this.GetBool(IniFile.Config, "Preferences", "bDenyNTFSWritePermission", false)) + if (this.GetBool(LegacyIniFile.Config, "Preferences", "bDenyNTFSWritePermission", false)) SetNTFSWritePermission(false); } public bool FilesHaveBeenModified() { - if (this.fo76ModTime != File.GetLastWriteTime(this.GetIniPath(IniFile.F76))) + if (this.fo76ModTime != File.GetLastWriteTime(this.GetIniPath(LegacyIniFile.F76))) return true; - if (this.fo76PrefsModTime != File.GetLastWriteTime(this.GetIniPath(IniFile.F76Prefs))) + if (this.fo76PrefsModTime != File.GetLastWriteTime(this.GetIniPath(LegacyIniFile.F76Prefs))) return true; - if (File.Exists(this.GetIniPath(IniFile.F76Custom))) + if (File.Exists(this.GetIniPath(LegacyIniFile.F76Custom))) { - if (this.fo76CustomModTime != File.GetLastWriteTime(this.GetIniPath(IniFile.F76Custom))) + if (this.fo76CustomModTime != File.GetLastWriteTime(this.GetIniPath(LegacyIniFile.F76Custom))) return true; } - else if (File.Exists(this.GetIniPath(IniFile.F76Custom) + ".nwmodebak")) + else if (File.Exists(this.GetIniPath(LegacyIniFile.F76Custom) + ".nwmodebak")) { - if (this.fo76CustomModTime != File.GetLastWriteTime(this.GetIniPath(IniFile.F76Custom) + ".nwmodebak")) + if (this.fo76CustomModTime != File.GetLastWriteTime(this.GetIniPath(LegacyIniFile.F76Custom) + ".nwmodebak")) return true; } return false; @@ -317,13 +293,13 @@ public bool FilesHaveBeenModified() public void UpdateLastModifiedDates() { - this.fo76ModTime = File.GetLastWriteTime(this.GetIniPath(IniFile.F76)); - this.fo76PrefsModTime = File.GetLastWriteTime(this.GetIniPath(IniFile.F76Prefs)); + this.fo76ModTime = File.GetLastWriteTime(this.GetIniPath(LegacyIniFile.F76)); + this.fo76PrefsModTime = File.GetLastWriteTime(this.GetIniPath(LegacyIniFile.F76Prefs)); - if (File.Exists(this.GetIniPath(IniFile.F76Custom))) - this.fo76CustomModTime = File.GetLastWriteTime(this.GetIniPath(IniFile.F76Custom)); - else if (File.Exists(this.GetIniPath(IniFile.F76Custom) + ".nwmodebak")) - this.fo76CustomModTime = File.GetLastWriteTime(this.GetIniPath(IniFile.F76Custom) + ".nwmodebak"); + if (File.Exists(this.GetIniPath(LegacyIniFile.F76Custom))) + this.fo76CustomModTime = File.GetLastWriteTime(this.GetIniPath(LegacyIniFile.F76Custom)); + else if (File.Exists(this.GetIniPath(LegacyIniFile.F76Custom) + ".nwmodebak")) + this.fo76CustomModTime = File.GetLastWriteTime(this.GetIniPath(LegacyIniFile.F76Custom) + ".nwmodebak"); } public void LoadConfig() @@ -351,54 +327,54 @@ public void SaveAll(bool readOnly = false) /// /// Create a backup folder and copy all *.ini files into it. /// - public void BackupAll(String backupFolder = null) + public void BackupAll(string backupFolder = null) { if (backupFolder == null) backupFolder = DateTime.Now.ToString("Backup_yyyy-MM-dd_HH-mm-ss"); - String backupPath = Path.Combine(this.iniParentPath, backupFolder); - String tempPath; + string backupPath = Path.Combine(this.iniParentPath, backupFolder); + string tempPath; if (Directory.Exists(backupPath)) Utils.DeleteDirectory(backupPath); Directory.CreateDirectory(backupPath); - if (File.Exists(this.GetIniPath(IniFile.F76))) + if (File.Exists(this.GetIniPath(LegacyIniFile.F76))) { tempPath = Path.Combine(backupPath, "Fallout76.ini"); - File.Copy(this.GetIniPath(IniFile.F76), tempPath); + File.Copy(this.GetIniPath(LegacyIniFile.F76), tempPath); SetFileReadOnlyAttribute(tempPath, false); } - if (File.Exists(this.GetIniPath(IniFile.F76Prefs))) + if (File.Exists(this.GetIniPath(LegacyIniFile.F76Prefs))) { tempPath = Path.Combine(backupPath, "Fallout76Prefs.ini"); - File.Copy(this.GetIniPath(IniFile.F76Prefs), tempPath); + File.Copy(this.GetIniPath(LegacyIniFile.F76Prefs), tempPath); SetFileReadOnlyAttribute(tempPath, false); } - if (File.Exists(this.GetIniPath(IniFile.F76Custom))) + if (File.Exists(this.GetIniPath(LegacyIniFile.F76Custom))) { tempPath = Path.Combine(backupPath, "Fallout76Custom.ini"); - File.Copy(this.GetIniPath(IniFile.F76Custom), tempPath); + File.Copy(this.GetIniPath(LegacyIniFile.F76Custom), tempPath); SetFileReadOnlyAttribute(tempPath, false); } - if (File.Exists(this.GetIniPath(IniFile.F76Custom) + ".nwmodebak")) + if (File.Exists(this.GetIniPath(LegacyIniFile.F76Custom) + ".nwmodebak")) { tempPath = Path.Combine(backupPath, "Fallout76Custom.ini.nwmodebak"); - File.Copy(this.GetIniPath(IniFile.F76Custom) + ".nwmodebak", tempPath); + File.Copy(this.GetIniPath(LegacyIniFile.F76Custom) + ".nwmodebak", tempPath); SetFileReadOnlyAttribute(tempPath, false); } } protected void RemoveEmptySections(IniData data) { - List sectionNames = new List(); + List sectionNames = new List(); foreach (SectionData section in data.Sections) if (section.Keys.Count == 0) sectionNames.Add(section.SectionName); - foreach (String sectionName in sectionNames) + foreach (string sectionName in sectionNames) data.Sections.RemoveSection(sectionName); } @@ -409,7 +385,7 @@ protected void RemoveEmptySections(IniData data) ******************************************************************************************************************************************** */ - public IniData LoadIni(String path, bool ignoreErrors) + public IniData LoadIni(string path, bool ignoreErrors) { if (!File.Exists(path)) return new IniData(); @@ -425,12 +401,12 @@ public IniData LoadIni(String path, bool ignoreErrors) } } - public IniData LoadIni(String path) + public IniData LoadIni(string path) { return LoadIni(path, true); } - public void SaveIni(String path, IniData data, bool readOnly = false) + public void SaveIni(string path, IniData data, bool readOnly = false) { if (data == null) return; @@ -446,7 +422,7 @@ public void SaveIni(String path, IniData data, bool readOnly = false) if (readOnly) SetFileReadOnlyAttribute(path, readOnly); - if (this.GetBool(IniFile.Config, "Preferences", "bDenyNTFSWritePermission", false)) + if (this.GetBool(LegacyIniFile.Config, "Preferences", "bDenyNTFSWritePermission", false)) SetNTFSWritePermission(false); } @@ -457,7 +433,7 @@ public void SaveIni(String path, IniData data, bool readOnly = false) ******************************************************************************************************************************************** */ - protected void SetFileReadOnlyAttribute(String path, bool readOnly) + protected void SetFileReadOnlyAttribute(string path, bool readOnly) { SetNTFSWritePermission(true); @@ -477,17 +453,17 @@ protected void SetFileReadOnlyAttribute(String path, bool readOnly) public void SetINIsReadOnly(bool readOnly) { - SetFileReadOnlyAttribute(this.GetIniPath(IniFile.F76), readOnly); - SetFileReadOnlyAttribute(this.GetIniPath(IniFile.F76Prefs), readOnly); - SetFileReadOnlyAttribute(this.GetIniPath(IniFile.F76Custom), readOnly); + SetFileReadOnlyAttribute(this.GetIniPath(LegacyIniFile.F76), readOnly); + SetFileReadOnlyAttribute(this.GetIniPath(LegacyIniFile.F76Prefs), readOnly); + SetFileReadOnlyAttribute(this.GetIniPath(LegacyIniFile.F76Custom), readOnly); } public bool AreINIsReadOnly() { - if (File.Exists(this.GetIniPath(IniFile.F76)) && File.Exists(this.GetIniPath(IniFile.F76Prefs))) + if (File.Exists(this.GetIniPath(LegacyIniFile.F76)) && File.Exists(this.GetIniPath(LegacyIniFile.F76Prefs))) { - FileInfo fo76fi = new FileInfo(this.GetIniPath(IniFile.F76)); - FileInfo fo76Prefsfi = new FileInfo(this.GetIniPath(IniFile.F76Prefs)); + FileInfo fo76fi = new FileInfo(this.GetIniPath(LegacyIniFile.F76)); + FileInfo fo76Prefsfi = new FileInfo(this.GetIniPath(LegacyIniFile.F76Prefs)); return fo76fi.IsReadOnly && fo76Prefsfi.IsReadOnly; } return false; @@ -535,7 +511,7 @@ public void SetNTFSWritePermission(bool writePermission) ******************************************************************************************************************************************** */ - public bool Exists(String section, String key) + public bool Exists(string section, string key) { foreach (IniData data in new IniData[] { this.configData, this.fo76Data, this.fo76PrefsData, this.fo76CustomData }) { @@ -548,7 +524,7 @@ public bool Exists(String section, String key) return false; } - public bool Exists(IniFile f, String section, String key) + public bool Exists(LegacyIniFile f, string section, string key) { return GetIniData(f)[section][key] != null; } @@ -561,9 +537,9 @@ public bool Exists(IniFile f, String section, String key) /// /// /// - public String GetString(String section, String key, String defaultValue) + public string GetString(string section, string key, string defaultValue) { - String value = defaultValue; + string value = defaultValue; foreach (IniData data in new IniData[] { this.configData, this.fo76Data, this.fo76PrefsData, this.fo76CustomData }) { if (data != null) @@ -575,9 +551,9 @@ public String GetString(String section, String key, String defaultValue) return value; } - public String GetString(String section, String key) + public string GetString(string section, string key) { - String value = GetString(section, key, null); + string value = GetString(section, key, null); if (value == null) throw new KeyNotFoundException($"Couldn't find [{section}] {key} in any *.ini file."); return value; @@ -595,9 +571,9 @@ public String GetString(String section, String key) /// /// /// - public String[] GetString(String[][] sectionKeyDefaultPairs) + public string[] GetString(string[][] sectionKeyDefaultPairs) { - String[] values = new String[sectionKeyDefaultPairs.Length]; + string[] values = new string[sectionKeyDefaultPairs.Length]; for (int i = 0; i < sectionKeyDefaultPairs.Length; i++) { if (sectionKeyDefaultPairs[i].Length > 2) @@ -612,8 +588,8 @@ public String[] GetString(String[][] sectionKeyDefaultPairs) { if (data != null) { - String section = sectionKeyDefaultPairs[i][0]; - String key = sectionKeyDefaultPairs[i][1]; + string section = sectionKeyDefaultPairs[i][0]; + string key = sectionKeyDefaultPairs[i][1]; if (data[section][key] != null) values[i] = data[section][key]; } @@ -622,101 +598,121 @@ public String[] GetString(String[][] sectionKeyDefaultPairs) return values; } - public String GetString(IniFile f, String section, String key) + public string GetString(LegacyIniFile f, string section, string key) { - String value = GetIniData(f)[section][key]; + string value = GetIniData(f)[section][key]; if (value == null) throw new KeyNotFoundException($"Couldn't find [{section}] {key} in {GetIniName(f)}"); return value; } - public String GetString(IniFile f, String section, String key, String defaultValue) + public string GetString(LegacyIniFile f, string section, string key, string defaultValue) { - String value = GetIniData(f)[section][key]; + string value = GetIniData(f)[section][key]; return value != null ? value : defaultValue; } - public bool GetBool(IniFile f, String section, String key) + public bool GetBool(LegacyIniFile f, string section, string key) { return GetString(f, section, key) == "1"; } - public bool GetBool(IniFile f, String section, String key, bool defaultValue) + public bool GetBool(LegacyIniFile f, string section, string key, bool defaultValue) { return GetString(f, section, key, defaultValue ? "1" : "0") == "1"; } - public bool GetBool(String section, String key) + public bool GetBool(string section, string key) { return GetString(section, key) == "1"; } - public bool GetBool(String section, String key, bool defaultValue) + public bool GetBool(string section, string key, bool defaultValue) { return GetString(section, key, defaultValue ? "1" : "0") == "1"; } - public float GetFloat(IniFile f, String section, String key) + public float GetFloat(LegacyIniFile f, string section, string key) { return Utils.ToFloat(GetString(f, section, key)); } - public float GetFloat(IniFile f, String section, String key, float defaultValue) + public float GetFloat(LegacyIniFile f, string section, string key, float defaultValue) { return Utils.ToFloat(GetString(f, section, key, defaultValue.ToString(enUS))); } - public float GetFloat(String section, String key) + public float GetFloat(string section, string key) { return Utils.ToFloat(GetString(section, key)); } - public float GetFloat(String section, String key, float defaultValue) + public float GetFloat(string section, string key, float defaultValue) { return Utils.ToFloat(GetString(section, key, defaultValue.ToString(enUS))); } - public uint GetUInt(IniFile f, String section, String key) + public uint GetUInt(LegacyIniFile f, string section, string key) { return Utils.ToUInt(GetString(f, section, key)); } - public uint GetUInt(IniFile f, String section, String key, uint defaultValue) + public uint GetUInt(LegacyIniFile f, string section, string key, uint defaultValue) { return Utils.ToUInt(GetString(f, section, key, defaultValue.ToString(enUS))); } - public uint GetUInt(String section, String key) + public uint GetUInt(string section, string key) { return Utils.ToUInt(GetString(section, key)); } - public uint GetUInt(String section, String key, uint defaultValue) + public uint GetUInt(string section, string key, uint defaultValue) { return Utils.ToUInt(GetString(section, key, defaultValue.ToString(enUS))); } - public int GetInt(IniFile f, String section, String key) + public int GetInt(LegacyIniFile f, string section, string key) { return Utils.ToInt(GetString(f, section, key)); } - public int GetInt(IniFile f, String section, String key, int defaultValue) + public int GetInt(LegacyIniFile f, string section, string key, int defaultValue) { return Utils.ToInt(GetString(f, section, key, defaultValue.ToString(enUS))); } - public int GetInt(String section, String key) + public int GetInt(string section, string key) { return Utils.ToInt(GetString(section, key)); } - public int GetInt(String section, String key, int defaultValue) + public int GetInt(string section, string key, int defaultValue) { return Utils.ToInt(GetString(section, key, defaultValue.ToString(enUS))); } - public void Set(IniFile f, String section, String key, String value) + public long GetLong(LegacyIniFile f, string section, string key) + { + return Utils.ToLong(GetString(f, section, key)); + } + + public long GetLong(LegacyIniFile f, string section, string key, int defaultValue) + { + return Utils.ToLong(GetString(f, section, key, defaultValue.ToString(enUS))); + } + + public long GetLong(string section, string key) + { + return Utils.ToLong(GetString(section, key)); + } + + public long GetLong(string section, string key, int defaultValue) + { + return Utils.ToLong(GetString(section, key, defaultValue.ToString(enUS))); + } + + public void Set(LegacyIniFile f, string section, string key, string value) { GetIniData(f)[section][key] = value; @@ -725,73 +721,78 @@ public void Set(IniFile f, String section, String key, String value) // then the value in Custom will overshadow Prefs, when GetString is called. // Of course people start to report that their values are reset. Who can blame them? // Soooo, we are going to set the same value in Custom if IniFile f is something else but Custom. Great? Great. - if (fixCustomIniDuplicateValues && (f == IniFile.F76 || f == IniFile.F76Prefs) && Exists(IniFile.F76Custom, section, key)) + if (fixCustomIniDuplicateValues && (f == LegacyIniFile.F76 || f == LegacyIniFile.F76Prefs) && Exists(LegacyIniFile.F76Custom, section, key)) this.fo76CustomData[section][key] = value; } - public void Set(IniFile f, String section, String key, int value) + public void Set(LegacyIniFile f, string section, string key, int value) + { + Set(f, section, key, Utils.ToString(value)); + } + + public void Set(LegacyIniFile f, string section, string key, uint value) { Set(f, section, key, Utils.ToString(value)); } - public void Set(IniFile f, String section, String key, float value) + public void Set(LegacyIniFile f, string section, string key, long value) { Set(f, section, key, Utils.ToString(value)); } - public void Set(IniFile f, String section, String key, double value) + public void Set(LegacyIniFile f, string section, string key, float value) { Set(f, section, key, Utils.ToString(value)); } - public void Set(IniFile f, String section, String key, uint value) + public void Set(LegacyIniFile f, string section, string key, double value) { Set(f, section, key, Utils.ToString(value)); } - public void Set(IniFile f, String section, String key, bool value) + public void Set(LegacyIniFile f, string section, string key, bool value) { Set(f, section, key, value ? "1" : "0"); } - public void Remove(IniFile f, String section, String key) + public void Remove(LegacyIniFile f, string section, string key) { if (Exists(f, section, key)) GetIniData(f)[section].RemoveKey(key); } - public void RemoveAll(String section, String key) + public void RemoveAll(string section, string key) { - Remove(IniFile.F76, section, key); - Remove(IniFile.F76Prefs, section, key); - Remove(IniFile.F76Custom, section, key); + Remove(LegacyIniFile.F76, section, key); + Remove(LegacyIniFile.F76Prefs, section, key); + Remove(LegacyIniFile.F76Custom, section, key); } - public bool ExpectBool(String section, String key) + public bool ExpectBool(string section, string key) { - String value = this.GetString(section, key).Trim(); + string value = this.GetString(section, key).Trim(); return value == "1" || value == "0"; } - public bool ExpectInt(String section, String key) + public bool ExpectInt(string section, string key) { - String value = this.GetString(section, key).Trim(); + string value = this.GetString(section, key).Trim(); return Regex.IsMatch(value, @"^-?\d+$"); } - public bool ExpectUInt(String section, String key) + public bool ExpectUInt(string section, string key) { - String value = this.GetString(section, key).Trim(); + string value = this.GetString(section, key).Trim(); return Regex.IsMatch(value, @"^\d+$"); } - public bool ExpectFloat(String section, String key) + public bool ExpectFloat(string section, string key) { - String value = this.GetString(section, key).Trim(); + string value = this.GetString(section, key).Trim(); return Regex.IsMatch(value, @"-?[0-9\.]+"); } @@ -803,13 +804,13 @@ public bool ExpectFloat(String section, String key) ******************************************************************************************************************************************** */ - protected void MergeLists(IniFile f, String section, String key) + protected void MergeLists(LegacyIniFile f, string section, string key) { - String list = ""; + string list = ""; bool found = false; int i = -1; - IEnumerable lines = File.ReadLines(GetIniPath(f)); - foreach (String line in lines) + IEnumerable lines = File.ReadLines(GetIniPath(f)); + foreach (string line in lines) { if (line.TrimStart().ToLower().StartsWith(key.ToLower())) { @@ -821,7 +822,7 @@ protected void MergeLists(IniFile f, String section, String key) } } } - list = String.Join(",", + list = string.Join(",", list.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries) .Select(s => s.Trim()).Distinct().ToArray() ).Trim(',').Replace(",,", ","); @@ -835,13 +836,13 @@ protected void FixDuplicateResourceLists() // Merge them. Default behaviour of the Parser is overriding and this is probably not what the user wants. // sResourceDataDirsFinal added in v.1.3.1 // Case insensitive, and whitespace around '=' ignored as of v1.4 - if (!File.Exists(GetIniPath(IniFile.F76Custom))) + if (!File.Exists(GetIniPath(LegacyIniFile.F76Custom))) return; - MergeLists(IniFile.F76Custom, "Archive", "sResourceIndexFileList"); - MergeLists(IniFile.F76Custom, "Archive", "sResourceArchive2List"); - MergeLists(IniFile.F76Custom, "Archive", "sResourceDataDirsFinal"); + MergeLists(LegacyIniFile.F76Custom, "Archive", "sResourceIndexFileList"); + MergeLists(LegacyIniFile.F76Custom, "Archive", "sResourceArchive2List"); + MergeLists(LegacyIniFile.F76Custom, "Archive", "sResourceDataDirsFinal"); - this.fo76CustomModTime = File.GetLastWriteTime(this.GetIniPath(IniFile.F76Custom)); + this.fo76CustomModTime = File.GetLastWriteTime(this.GetIniPath(LegacyIniFile.F76Custom)); } @@ -856,64 +857,64 @@ protected void FixDuplicateResourceLists() ******************************************************************************************************************************************** */ - public void Merge(IniFile f, IniData d) + public void Merge(LegacyIniFile f, IniData d) { this.GetIniData(f).Merge(d); } // https://stackoverflow.com/questions/1873658/net-windows-forms-remember-windows-size-and-location - public void SaveWindowState(String formName, Form form) + public void SaveWindowState(string formName, Form form) { if (form.WindowState == FormWindowState.Maximized) { - this.Set(IniFile.Config, formName, "iLocationX", form.RestoreBounds.Location.X); - this.Set(IniFile.Config, formName, "iLocationY", form.RestoreBounds.Location.Y); - this.Set(IniFile.Config, formName, "iWidth", form.RestoreBounds.Size.Width); - this.Set(IniFile.Config, formName, "iHeight", form.RestoreBounds.Size.Height); - this.Set(IniFile.Config, formName, "bMaximised", true); + this.Set(LegacyIniFile.Config, formName, "iLocationX", form.RestoreBounds.Location.X); + this.Set(LegacyIniFile.Config, formName, "iLocationY", form.RestoreBounds.Location.Y); + this.Set(LegacyIniFile.Config, formName, "iWidth", form.RestoreBounds.Size.Width); + this.Set(LegacyIniFile.Config, formName, "iHeight", form.RestoreBounds.Size.Height); + this.Set(LegacyIniFile.Config, formName, "bMaximised", true); } else { - this.Set(IniFile.Config, formName, "iLocationX", form.Location.X); - this.Set(IniFile.Config, formName, "iLocationY", form.Location.Y); - this.Set(IniFile.Config, formName, "iWidth", form.Size.Width); - this.Set(IniFile.Config, formName, "iHeight", form.Size.Height); - this.Set(IniFile.Config, formName, "bMaximised", false); + this.Set(LegacyIniFile.Config, formName, "iLocationX", form.Location.X); + this.Set(LegacyIniFile.Config, formName, "iLocationY", form.Location.Y); + this.Set(LegacyIniFile.Config, formName, "iWidth", form.Size.Width); + this.Set(LegacyIniFile.Config, formName, "iHeight", form.Size.Height); + this.Set(LegacyIniFile.Config, formName, "bMaximised", false); } this.SaveConfig(); } - public void LoadWindowState(String formName, Form form) + public void LoadWindowState(string formName, Form form) { - int locX = this.GetInt(IniFile.Config, formName, "iLocationX", -1); - int locY = this.GetInt(IniFile.Config, formName, "iLocationY", -1); + int locX = this.GetInt(LegacyIniFile.Config, formName, "iLocationX", -1); + int locY = this.GetInt(LegacyIniFile.Config, formName, "iLocationY", -1); if (locX >= 0 && locY >= 0) form.Location = new System.Drawing.Point(locX, locY); - int width = this.GetInt(IniFile.Config, formName, "iWidth", form.Size.Width); - int height = this.GetInt(IniFile.Config, formName, "iHeight", form.Size.Height); + int width = this.GetInt(LegacyIniFile.Config, formName, "iWidth", form.Size.Width); + int height = this.GetInt(LegacyIniFile.Config, formName, "iHeight", form.Size.Height); if (width >= form.MinimumSize.Width && height >= form.MinimumSize.Height) form.Size = new System.Drawing.Size(width, height); - if (this.GetBool(IniFile.Config, formName, "bMaximised", false)) + if (this.GetBool(LegacyIniFile.Config, formName, "bMaximised", false)) form.WindowState = FormWindowState.Maximized; } - public void SaveListViewState(String formName, ListView listView) + public void SaveListViewState(string formName, ListView listView) { List widths = new List(); foreach (ColumnHeader column in listView.Columns) { widths.Add(column.Width); } - this.Set(IniFile.Config, formName, "sColumnWidths", String.Join(",", widths)); + this.Set(LegacyIniFile.Config, formName, "sColumnWidths", string.Join(",", widths)); } - public void LoadListViewState(String formName, ListView listView) + public void LoadListViewState(string formName, ListView listView) { List lWidths = new List(); - String[] sWidths = this.GetString(IniFile.Config, formName, "sColumnWidths", "").Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries); - foreach (String sWidth in sWidths) + string[] sWidths = this.GetString(LegacyIniFile.Config, formName, "sColumnWidths", "").Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries); + foreach (string sWidth in sWidths) lWidths.Add(Convert.ToInt32(sWidth)); int i = 0; diff --git a/Fo76ini/Mods/LegacyManagedMods.cs b/Fo76ini/Mods/LegacyManagedMods.cs new file mode 100644 index 0000000..93fd26b --- /dev/null +++ b/Fo76ini/Mods/LegacyManagedMods.cs @@ -0,0 +1,355 @@ +using Fo76ini.Profiles; +using Fo76ini.Utilities; +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Xml; +using System.Xml.Linq; + +namespace Fo76ini.Mods +{ + public static class LegacyManagedMods + { + /// + /// Checks whether there are mods have been managed by a version prior to v1.9.0. + /// + public static bool CheckLegacy(string gamePath) + { + try + { + return Directory.Exists(Path.Combine(gamePath, "Mods")) && + File.Exists(Path.Combine(gamePath, "Mods", "manifest.xml")) && + XDocument.Load(Path.Combine(gamePath, "Mods", "manifest.xml")).Root.Attribute("doNotImport") == null; + } + catch + { + return false; + } + } + + /// + /// Loads and converts legacy managed mods to the new format. + /// It adds them to an already existing ManagedMods object. + /// + public static void ConvertLegacy(ManagedMods mods, GameEdition edition, Action ProgressChanged = null) + { + Directory.CreateDirectory(Path.Combine(mods.GamePath, "FrozenData")); + + XDocument xmlDoc = XDocument.Load(Path.Combine(mods.ModsPath, "manifest.xml")); + + // I added a doNotImport="true" attribute, so I can check, whether the manifest.xml has only been generated for backwards-compatibility. + // If it exists, we can just skip the import: + if (xmlDoc.Root.Attribute("doNotImport") != null) + { + ProgressChanged?.Invoke(Progress.Aborted("Import skipped.")); + return; + } + + // Make backups: + File.Copy(Path.Combine(mods.ModsPath, "manifest.xml"), Path.Combine(mods.ModsPath, "manifest.old.xml"), true); + if (File.Exists(Path.Combine(mods.ModsPath, "managed.xml"))) + File.Copy(Path.Combine(mods.ModsPath, "managed.xml"), Path.Combine(mods.ModsPath, "managed.old.xml"), true); + + // Converting the legacy list will completely erase the current mod list: + mods.Mods.Clear(); + + /* + * Converting: + */ + int modCount = xmlDoc.Descendants("Mod").Count(); + int modIndex = 0; + foreach (XElement xmlMod in xmlDoc.Descendants("Mod")) + { + modIndex++; + + if (xmlMod.Attribute("modFolder") == null) + continue; + + ManagedMod mod = new ManagedMod(mods.GamePath); + + string managedFolderName = xmlMod.Attribute("modFolder").Value; + string managedFolderPath = Path.Combine(mods.ModsPath, managedFolderName); + string frozenArchivePath = Path.Combine(mods.ModsPath, managedFolderName, "frozen.ba2"); + bool isFrozen = File.Exists(frozenArchivePath); + + if (xmlMod.Attribute("title") != null) + mod.Title = xmlMod.Attribute("title").Value; + + string progressTitle = $"Converting \"{mod.Title}\" ({modIndex} of {modCount})"; + float progressPercentage = (float)modIndex / (float)modCount; + + // In case the mod was "frozen" before, + // we'll need to move the *.ba2 archive into the FrozenData folder and then extract it. + if (isFrozen) + { + ProgressChanged?.Invoke(Progress.Ongoing($"{progressTitle}: Extracting *.ba2 archive...", progressPercentage)); + File.Move(frozenArchivePath, mod.FrozenArchivePath); + Archive2.Extract(mod.FrozenArchivePath, managedFolderPath); + mod.Frozen = true; + mod.Freeze = true; + } + + // We need to rename the old folder to fit with the new format. + if (Directory.Exists(managedFolderPath)) + { + ProgressChanged?.Invoke(Progress.Ongoing($"{progressTitle}: Moving managed folder...", progressPercentage)); + if (Directory.Exists(mod.ManagedFolderPath)) + Directory.Delete(mod.ManagedFolderPath, true); + Directory.Move(managedFolderPath, mod.ManagedFolderPath); + } + + ProgressChanged?.Invoke(Progress.Ongoing($"{progressTitle}: Parsing XML...", progressPercentage)); + + if (xmlMod.Attribute("url") != null) + mod.URL = xmlMod.Attribute("url").Value; + + if (xmlMod.Attribute("version") != null) + mod.Version = xmlMod.Attribute("version").Value; + + if (xmlMod.Attribute("enabled") != null) + { + try + { + mod.Deployed = XmlConvert.ToBoolean(xmlMod.Attribute("enabled").Value); + } + catch + { + mod.Deployed = false; + } + mod.Enabled = mod.Deployed; + } + + if (xmlMod.Attribute("installType") != null) + { + switch (xmlMod.Attribute("installType").Value) + { + case "Loose": + mod.PreviousMethod = ManagedMod.DeploymentMethod.LooseFiles; + break; + case "SeparateBA2": + mod.PreviousMethod = ManagedMod.DeploymentMethod.SeparateBA2; + break; + case "BA2Archive": // Backward compatibility + case "BundledBA2": + case "BundledBA2Textures": // Backward compatibility + default: + mod.PreviousMethod = ManagedMod.DeploymentMethod.BundledBA2; + break; + } + mod.Method = mod.PreviousMethod; + } + + if (xmlMod.Attribute("format") != null) + { + switch (xmlMod.Attribute("format").Value) + { + case "General": + mod.CurrentFormat = ManagedMod.ArchiveFormat.General; + break; + case "DDS": // Backward compatibility + case "Textures": + mod.CurrentFormat = ManagedMod.ArchiveFormat.Textures; + break; + case "Auto": + default: + mod.CurrentFormat = ManagedMod.ArchiveFormat.Auto; + break; + } + mod.Format = mod.CurrentFormat; + } + + if (xmlMod.Attribute("compression") != null) + { + switch (xmlMod.Attribute("compression").Value) + { + case "Default": // Backward compatibility + case "Compressed": + mod.CurrentCompression = ManagedMod.ArchiveCompression.Compressed; + break; + case "None": // Backward compatibility + case "Uncompressed": + mod.CurrentCompression = ManagedMod.ArchiveCompression.Uncompressed; + break; + case "Auto": + default: + mod.CurrentCompression = ManagedMod.ArchiveCompression.Auto; + break; + } + mod.Compression = mod.CurrentCompression; + } + + if (xmlMod.Attribute("archiveName") != null) + { + mod.CurrentArchiveName = xmlMod.Attribute("archiveName").Value; + mod.ArchiveName = mod.CurrentArchiveName; + } + + if (xmlMod.Attribute("root") != null) + { + mod.CurrentRootFolder = xmlMod.Attribute("root").Value; + mod.RootFolder = mod.CurrentRootFolder; + foreach (XElement xmlFile in xmlMod.Descendants("File")) + if (xmlFile.Attribute("path") != null) + mod.LooseFiles.Add(xmlFile.Attribute("path").Value); + } + + /*if (xmlMod.Attribute("frozen") != null) + { + frozen = XmlConvert.ToBoolean(xmlMod.Attribute("frozen").Value); + }*/ + + mods.Add(mod); + } + + // Legacy resource list: + if (IniFiles.Config.GetBool("Preferences", "bMultipleGameEditionsUsed", false)) + { + string backedUpList = IniFiles.Config.GetString("Mods", $"sResourceIndexFileList{edition}", ""); + string actualList = IniFiles.F76Custom.GetString("Archive", "sResourceIndexFileList", ""); + if (backedUpList != "") + mods.Resources.ReplaceRange(ResourceList.FromString(backedUpList)); + else if (actualList != "") + mods.Resources.ReplaceRange(ResourceList.FromString(actualList)); + } + + ProgressChanged?.Invoke(Progress.Ongoing("Saving XML...", 1f)); + mods.Save(); + + ProgressChanged?.Invoke(Progress.Done("Legacy mods imported.")); + } + + /// + /// Generates and saves a legacy "manifest.xml" for backwards-compatibility. + /// + /// Generate a legacy xml for these mods. + public static void GenerateLegacyXML(ManagedMods mods) + { + // I ported the old Serialize methods of the old Mod and old ManagedMods classes. + // It now uses the new format, but generates an *.xml that is compatible with older versions. + // Since there is now way more information saved: It uses the current disk state, not the pending one. (PreviousMethod, CurrentArchiveName, etc.) + // In case the user wants to downgrade, they can. + + XDocument xmlDoc = new XDocument(); + XElement xmlRoot = new XElement("Mods"); + xmlRoot.Add(new XAttribute("doNotImport", true)); + xmlDoc.Add(xmlRoot); + + xmlDoc.AddFirst(new XComment($"\n This file has been generated by v{Shared.VERSION} for backwards-compatibility.\n It not actually being used anymore.\n")); + + foreach (ManagedMod mod in mods) + { + XElement xmlMod = new XElement("Mod", + new XAttribute("title", mod.Title), + new XAttribute("enabled", mod.Deployed), + new XAttribute("modFolder", mod.ManagedFolderName), + new XAttribute("installType", GetLegacyInstallMethodName(mod))); + + if (mod.URL != "") + xmlMod.Add(new XAttribute("url", mod.URL)); + + if (mod.Version != "") + xmlMod.Add(new XAttribute("version", mod.Version)); + + if (mod.PreviousMethod == ManagedMod.DeploymentMethod.SeparateBA2 && mod.CurrentArchiveName != null) + { + xmlMod.Add(new XAttribute("archiveName", mod.CurrentArchiveName)); + xmlMod.Add(new XAttribute("compression", GetLegacyArchiveCompressionName(mod))); + xmlMod.Add(new XAttribute("format", GetLegacyArchiveFormatName(mod))); + + // We can't set the frozen flag anymore, because we store frozen archives differently now: + //if (mod.Frozen) + //xmlMod.Add(new XAttribute("frozen", mod.Frozen)); + } + + if (mod.PreviousMethod == ManagedMod.DeploymentMethod.LooseFiles && mod.CurrentRootFolder != "") + xmlMod.Add(new XAttribute("root", mod.CurrentRootFolder)); + + if (mod.PreviousMethod == ManagedMod.DeploymentMethod.LooseFiles && mod.Deployed) + foreach (String filePath in mod.LooseFiles) + xmlMod.Add(new XElement("File", new XAttribute("path", filePath))); + + xmlRoot.Add(xmlMod); + } + + xmlDoc.Save(Path.Combine(mods.ModsPath, "manifest.xml")); + } + + /// + /// Returns the legacy string of the install method: + /// + /// public enum FileType + /// { + /// Loose, + /// BundledBA2, + /// SeparateBA2 + /// } + /// + /// "Loose", "SeparateBA2", or "BundledBA2" + private static string GetLegacyInstallMethodName(ManagedMod mod) + { + switch (mod.PreviousMethod) + { + case ManagedMod.DeploymentMethod.LooseFiles: + return "Loose"; + case ManagedMod.DeploymentMethod.SeparateBA2: + return "SeparateBA2"; + case ManagedMod.DeploymentMethod.BundledBA2: + default: + return "BundledBA2"; + } + } + + /// + /// Returns the legacy string of ArchiveCompression. + /// + /// public enum ArchiveCompression + /// { + /// Auto, + /// Compressed, + /// Uncompressed + /// } + /// + /// "Auto", "Compressed", or "Uncompressed" + private static string GetLegacyArchiveCompressionName(ManagedMod mod) + { + switch (mod.CurrentCompression) + { + case ManagedMod.ArchiveCompression.Compressed: + return "Compressed"; + case ManagedMod.ArchiveCompression.Uncompressed: + return "Uncompressed"; + case ManagedMod.ArchiveCompression.Auto: + default: + return "Auto"; + } + } + + /// + /// Returns the legacy string of ArchiveFormat. + /// + /// public enum ArchiveFormat + /// { + /// Auto, + /// General, + /// Textures + /// } + /// + /// "Auto", "General", or "Textures" + private static string GetLegacyArchiveFormatName(ManagedMod mod) + { + switch (mod.CurrentFormat) + { + case ManagedMod.ArchiveFormat.General: + return "General"; + case ManagedMod.ArchiveFormat.Textures: + return "Textures"; + case ManagedMod.ArchiveFormat.Auto: + default: + return "Auto"; + } + } + } +} diff --git a/Fo76ini/Mods/ManagedMod.cs b/Fo76ini/Mods/ManagedMod.cs new file mode 100644 index 0000000..79af80a --- /dev/null +++ b/Fo76ini/Mods/ManagedMod.cs @@ -0,0 +1,585 @@ +using System; +using System.Collections.Generic; +using System.IO; +using System.Xml.Linq; +using Fo76ini.NexusAPI; +using Fo76ini.Utilities; + +namespace Fo76ini.Mods +{ + /// + /// Represents a managed mod. Stores information about the mod and how it's installed. + /// + public class ManagedMod + { + /// + /// How a mod should be deployed. + /// Loose - Copy files over without packing + /// BundledBA2 - Bundle it with other mods in one package + /// SeparateBA2 - Pack it as a separate *.ba2 archive + /// + public enum DeploymentMethod + { + LooseFiles, + BundledBA2, + SeparateBA2 + } + + /// + /// Archive format + /// Auto - Automatically detect + /// General - Use "Archive2.Format.General" + /// Textures - Use "Archive2.Format.DDS" + /// + /// (Does only apply to DeploymentMethod.SeparateBA2) + /// + public enum ArchiveFormat + { + Auto, + General, + Textures + } + + /// + /// Archive compression + /// Auto - Automatically detect + /// Compressed - Use "Archive2.Compression.Default" + /// Uncompressed - Use "Archive2.Compression.None" + /// + /// (Does only apply to DeploymentMethod.SeparateBA2) + /// + public enum ArchiveCompression + { + Auto, + Compressed, + Uncompressed + } + + /// + /// Convert DeploymentMethod enum to string. + /// + private static string GetMethodName(DeploymentMethod method) + { + return Enum.GetName(typeof(DeploymentMethod), (int)method); + } + + /// + /// Convert string to DeploymentMethod enum. + /// + private static DeploymentMethod GetMethod(String method) + { + switch (method) + { + case "Loose": + case "LooseFiles": + return DeploymentMethod.LooseFiles; + case "BundledBA2": + return DeploymentMethod.BundledBA2; + case "SeparateBA2": + return DeploymentMethod.SeparateBA2; + default: + throw new InvalidDataException($"Invalid mod deployment method: {method}"); + } + } + + /// + /// Convert ArchiveFormat enum to string. + /// + private static string GetFormatName(ArchiveFormat format) + { + return Enum.GetName(typeof(ArchiveFormat), (int)format); + } + + /// + /// Convert string to ArchiveFormat enum. + /// + private static ArchiveFormat GetFormat(String format) + { + switch (format) + { + case "General": + return ArchiveFormat.General; + case "Textures": + return ArchiveFormat.Textures; + case "Auto": + return ArchiveFormat.Auto; + default: + throw new InvalidDataException($"Invalid mod archive format: {format}"); + } + } + + /// + /// Convert ArchiveCompression enum to string. + /// + private static string GetCompressionName(ArchiveCompression compression) + { + return Enum.GetName(typeof(ArchiveCompression), (int)compression); + } + + /// + /// Convert string to ArchiveCompression enum. + /// + private static ArchiveCompression GetCompression(String compression) + { + switch (compression) + { + case "Compressed": + return ArchiveCompression.Compressed; + case "Uncompressed": + return ArchiveCompression.Uncompressed; + case "Auto": + return ArchiveCompression.Auto; + default: + throw new InvalidDataException($"Invalid mod archive compression: {compression}"); + } + } + + /// + /// Enabled for deployment: Whether we want to have this mod deployed or not. + /// + public bool Enabled = false; + + /// + /// Has it been deployed? Is it on disk? + /// + public bool Deployed = false; + + /// + /// Do we have a frozen archive for deployment? (SeparateBA2) + /// + public bool Frozen = false; + + /// + /// Do we want to freeze this archive? Do we want to use a frozen archive if available? (SeparateBA2) + /// + public bool Freeze = false; + + /// + /// How the mod got installed. (Current disk state) + /// + public DeploymentMethod PreviousMethod; + + /// + /// How the mod should get installed. (Pending disk state) + /// + public DeploymentMethod Method = DeploymentMethod.BundledBA2; + + /// + /// How it should get compressed on deployment. + /// + public ArchiveCompression Compression = ArchiveCompression.Auto; + + /// + /// How it should get formatted on deployment. + /// + public ArchiveFormat Format = ArchiveFormat.Auto; + + /// + /// How the archive in Data is compressed. + /// + public ArchiveCompression CurrentCompression = ArchiveCompression.Auto; + + /// + /// How the archive in Data is formatted. + /// + public ArchiveFormat CurrentFormat = ArchiveFormat.Auto; + + /// + /// How the archive in FrozenData is compressed. + /// + public ArchiveCompression FrozenCompression = ArchiveCompression.Auto; + + /// + /// How the archive in FrozenData is formatted. + /// + public ArchiveFormat FrozenFormat = ArchiveFormat.Auto; + + /// + /// Relative paths of the mod files that are currently deployed. + /// + public List LooseFiles = new List(); + + /// + /// The folder where loose files are currently copied to. + /// + public string CurrentRootFolder = "."; + + /// + /// The folder where to copy loose files to on deployment. + /// + public string RootFolder = "."; + + /// + /// If deployed as SeparateBA2, what is the archive in Data called? (SeparateBA2) + /// + public string CurrentArchiveName; + + /// + /// Get the path to the currently deployed archive. + /// Example: @"C:\Program Files (x86)\Steam\steamapps\common\Fallout 76\Data\Foobar.ba2" + /// + public string CurrentArchivePath + { + get { return Path.Combine(GamePath, "Data", this.ArchiveName); } + } + + private string archiveName; + + /// + /// How is the archive going to be called after deployment? (SeparateBA2) + /// + public string ArchiveName + { + get { return this.archiveName; } + set + { + if (value.Trim().Length < 0) + return; + this.archiveName = Utils.GetValidFileName(value, ".ba2"); + } + } + + /// + /// Get the path to where the archive should get deployed. + /// Example: @"C:\Program Files (x86)\Steam\steamapps\common\Fallout 76\Data\Foobar.ba2" + /// + public string ArchivePath + { + get { return Path.Combine(GamePath, "Data", this.ArchiveName); } + } + + /// + /// Get the folder name (not path). This folder stores the mod's files. + /// Example: @"{2f2d3b3b-b21b-4ec2-b555-c8806a801b16}" + /// + public string ManagedFolderName + { + get { return "{" + guid.ToString() + "}"; } + } + + /// + /// Get the path to where the mod's files are stored. + /// Example: @"C:\Program Files (x86)\Steam\steamapps\common\Fallout 76\Mods\{2f2d3b3b-b21b-4ec2-b555-c8806a801b16}" + /// + public string ManagedFolderPath + { + get { return Path.Combine(GamePath, "Mods", ManagedFolderName); } + } + + /// + /// Path where frozen archives are stored. + /// Example: @"C:\Program Files (x86)\Steam\steamapps\common\Fallout 76\FrozenData" + /// + public string FrozenDataPath + { + get { return Path.Combine(GamePath, "FrozenData"); } + } + + /// + /// Name of the frozen archive. + /// Example: @"{2f2d3b3b-b21b-4ec2-b555-c8806a801b16}.ba2" + /// + public string FrozenArchiveName + { + get { return "{" + this.guid.ToString() + "}.ba2"; } + } + + /// + /// Path to the mod's frozen archive. + /// Example: @"C:\Program Files (x86)\Steam\steamapps\common\Fallout 76\FrozenData\{2f2d3b3b-b21b-4ec2-b555-c8806a801b16}.ba2" + /// + public string FrozenArchivePath + { + get { return Path.Combine(FrozenDataPath, FrozenArchiveName); } + } + + public readonly Guid guid; + + private string title = "Untitled"; + public string Version = "1.0"; + private string url = ""; + public int ID = -1; + public readonly string GamePath; + + public ManagedMod(string gamePath, Guid uuid) + { + this.GamePath = gamePath; + this.guid = uuid; + } + + public ManagedMod(string gamePath) + { + this.GamePath = gamePath; + this.guid = Guid.NewGuid(); + } + + /// + /// Creates a deep copy of 'mod'. + /// + /// The object it makes a copy of. + public ManagedMod(ManagedMod mod) + { + /* + * Info + */ + + this.title = mod.title; + this.ID = mod.ID; + this.URL = mod.URL; + this.Version = mod.Version; + this.guid = mod.guid; + this.GamePath = mod.GamePath; + + + /* + * General + */ + this.Enabled = mod.Enabled; + this.Deployed = mod.Deployed; + this.Method = mod.Method; + this.PreviousMethod = mod.PreviousMethod; + + + /* + * SeparateBA2 + */ + + this.archiveName = mod.archiveName; + this.CurrentArchiveName = mod.CurrentArchiveName; + this.Compression = mod.Compression; + this.CurrentCompression = mod.CurrentCompression; + this.Format = mod.Format; + this.CurrentFormat = mod.CurrentFormat; + + + /* + * SeparateBA2 Frozen + */ + this.Freeze = mod.Freeze; + this.Frozen = mod.Frozen; + this.FrozenCompression = mod.FrozenCompression; + this.FrozenFormat = mod.FrozenFormat; + + + /* + * Loose + */ + this.LooseFiles = new List(mod.LooseFiles); + this.RootFolder = mod.RootFolder; + this.CurrentRootFolder = mod.CurrentRootFolder; + } + + /// + /// URL to the NexusMods page of the mod. + /// + public string URL + { + get + { + return this.url; + } + set + { + this.url = value; + this.ID = NexusMods.GetIDFromURL(value); + } + } + + /// + /// Returns remote info from NexusMods if available. + /// Returns null if not available. + /// + public NMMod RemoteInfo + { + get + { + if (this.ID >= 0 && NexusMods.Mods.ContainsKey(this.ID)) + return NexusMods.Mods[this.ID]; + else + return null; + } + } + + public string Title + { + get { return this.title; } + set { this.title = value.Trim().Length > 0 ? value.Trim() : "Untitled"; } + } + + public ManagedMod CreateDeepCopy() + { + return new ManagedMod(this); + } + + public XElement Serialize() + { + XElement xmlMod = new XElement("Mod", + new XAttribute("guid", this.guid.ToString()), + new XElement("Title", this.Title), + new XElement("Version", this.Version), + new XElement("NexusMods", + new XAttribute("id", this.ID), + new XElement("URL", this.URL) + ) + ); + + XElement xmlLooseFiles = new XElement("InstalledLooseFiles"); + if (this.PreviousMethod == DeploymentMethod.LooseFiles && this.Deployed) + foreach (string filePath in this.LooseFiles) + xmlLooseFiles.Add(new XElement("File", new XAttribute("path", filePath))); + + XElement xmlDiskState = new XElement("DiskState", + new XElement("Current", + new XAttribute("isDeployed", this.Deployed), + new XElement("InstallationMethod", GetMethodName(this.PreviousMethod)), + new XElement("ArchiveName", this.CurrentArchiveName), + new XElement("ArchiveFormat", GetFormatName(this.CurrentFormat)), + new XElement("ArchiveCompression", GetCompressionName(this.CurrentCompression)), + new XElement("RootFolder", this.CurrentRootFolder), + xmlLooseFiles + ), + new XElement("Pending", + new XAttribute("isEnabled", this.Enabled), + new XElement("InstallationMethod", GetMethodName(this.Method)), + new XElement("ArchiveName", this.ArchiveName), + new XElement("ArchiveFormat", GetFormatName(this.Format)), + new XElement("ArchiveCompression", GetCompressionName(this.Compression)), + new XElement("RootFolder", this.RootFolder) + ), + new XElement("FrozenData", + new XAttribute("isFrozen", this.Frozen), + new XAttribute("freeze", this.Freeze), + new XElement("ArchiveFormat", GetFormatName(this.FrozenFormat)), + new XElement("ArchiveCompression", GetCompressionName(this.FrozenCompression)) + ) + ); + + xmlMod.Add(xmlDiskState); + + return xmlMod; + } + + public static ManagedMod Deserialize(XElement xmlMod, string GamePath) + { + if (xmlMod.Attribute("guid") == null) + throw new Exception("Invalid *.xml entry for mod."); + + ManagedMod mod = new ManagedMod(GamePath, new Guid(xmlMod.Attribute("guid").Value)); + + if (xmlMod.Element("Title") == null) + throw new Exception("Invalid *.xml entry for mod."); + else + mod.Title = xmlMod.Element("Title").Value; + + if (xmlMod.Element("Version") != null) + mod.Version = xmlMod.Element("Version").Value; + + XElement xmlNexusMods = xmlMod.Element("NexusMods"); + int modId; + if (xmlNexusMods != null && xmlNexusMods.Attribute("id") != null && xmlNexusMods.Element("URL") != null) + { + if (xmlNexusMods.Attribute("id").TryParseInt(out modId)) + mod.ID = modId; + mod.URL = xmlNexusMods.Element("URL").Value; + } + + XElement xmlDiskState = xmlMod.Element("DiskState"); + if (xmlDiskState == null) + throw new Exception("Invalid *.xml entry for mod."); + + XElement xmlCurrentDiskState = xmlDiskState.Element("Current"); + if (xmlCurrentDiskState == null) + throw new Exception("Invalid *.xml entry for mod."); + if (xmlCurrentDiskState.Attribute("isDeployed") != null && + xmlCurrentDiskState.Attribute("isDeployed").TryParseBool(out bool deployed)) + mod.Deployed = deployed; + if (xmlCurrentDiskState.Element("InstallationMethod") != null) + mod.PreviousMethod = GetMethod(xmlCurrentDiskState.Element("InstallationMethod").Value); + if (xmlCurrentDiskState.Element("ArchiveFormat") != null) + mod.CurrentFormat = GetFormat(xmlCurrentDiskState.Element("ArchiveFormat").Value); + if (xmlCurrentDiskState.Element("ArchiveCompression") != null) + mod.CurrentCompression = GetCompression(xmlCurrentDiskState.Element("ArchiveCompression").Value); + if (xmlCurrentDiskState.Element("ArchiveName") != null) + mod.CurrentArchiveName = xmlCurrentDiskState.Element("ArchiveName").Value; + if (xmlCurrentDiskState.Element("RootFolder") != null) + mod.CurrentRootFolder = xmlCurrentDiskState.Element("RootFolder").Value; + + XElement xmlInstalledLooseFiles = xmlCurrentDiskState.Element("InstalledLooseFiles"); + if (xmlInstalledLooseFiles != null) + foreach (XElement xmlFile in xmlInstalledLooseFiles.Descendants("File")) + if (xmlFile.Attribute("path") != null) + mod.LooseFiles.Add(xmlFile.Attribute("path").Value); + + XElement xmlPendingDiskState = xmlDiskState.Element("Pending"); + if (xmlPendingDiskState == null) + throw new Exception("Invalid *.xml entry for mod."); + if (xmlPendingDiskState.Attribute("isEnabled") != null && + xmlPendingDiskState.Attribute("isEnabled").TryParseBool(out bool enabled)) + mod.Enabled = enabled; + if (xmlPendingDiskState.Element("InstallationMethod") != null) + mod.Method = GetMethod(xmlPendingDiskState.Element("InstallationMethod").Value); + if (xmlPendingDiskState.Element("ArchiveName") != null) + mod.ArchiveName = xmlPendingDiskState.Element("ArchiveName").Value; + if (xmlPendingDiskState.Element("ArchiveFormat") != null) + mod.Format = GetFormat(xmlPendingDiskState.Element("ArchiveFormat").Value); + if (xmlPendingDiskState.Element("ArchiveCompression") != null) + mod.Compression = GetCompression(xmlPendingDiskState.Element("ArchiveCompression").Value); + if (xmlPendingDiskState.Element("RootFolder") != null) + mod.RootFolder = xmlPendingDiskState.Element("RootFolder").Value; + + XElement xmlFrozenDiskState = xmlDiskState.Element("FrozenData"); + if (xmlFrozenDiskState == null) + throw new Exception("Invalid *.xml entry for mod."); + if (xmlFrozenDiskState.Attribute("isFrozen") != null && + xmlFrozenDiskState.Attribute("isFrozen").TryParseBool(out bool frozen)) + mod.Frozen = frozen; + if (xmlFrozenDiskState.Attribute("freeze") != null && + xmlFrozenDiskState.Attribute("freeze").TryParseBool(out bool freeze)) + mod.Freeze = freeze; + if (xmlFrozenDiskState.Element("ArchiveFormat") != null) + mod.FrozenFormat = GetFormat(xmlFrozenDiskState.Element("ArchiveFormat").Value); + if (xmlFrozenDiskState.Element("ArchiveCompression") != null) + mod.FrozenCompression = GetCompression(xmlFrozenDiskState.Element("ArchiveCompression").Value); + + return mod; + } + + /// + /// Compares current disk state with pending disk state and returns true, if they're different. + /// + /// + public bool isDeploymentNecessary() + { + if (Deployed != Enabled) + return true; + + if (!Enabled && !Deployed) + return false; + + if (PreviousMethod != Method) + return true; + + if (Method == DeploymentMethod.SeparateBA2) + { + if (CurrentArchiveName != ArchiveName) + return true; + + if (CurrentFormat != Format) + return true; + + if (CurrentCompression != Compression) + return true; + + if (Freeze && !Frozen) + return true; + } + else if (Method == DeploymentMethod.LooseFiles) + { + if (CurrentRootFolder != RootFolder) + return true; + } + + return false; + } + } +} diff --git a/Fo76ini/Mods/ManagedMods.cs b/Fo76ini/Mods/ManagedMods.cs new file mode 100644 index 0000000..12fc479 --- /dev/null +++ b/Fo76ini/Mods/ManagedMods.cs @@ -0,0 +1,298 @@ +using Fo76ini.Tweaks.ResourceLists; +using System; +using System.Collections; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Windows.Forms; +using System.Xml.Linq; +using Fo76ini.Interface; +using Fo76ini.Profiles; + +namespace Fo76ini.Mods +{ + /// + /// This class is used to load, store, and save all data about installed mods and their current state. + /// Pass an instance of this class to a method which works with the data. + /// + public class ManagedMods : ICollection + { + public ManagedMods(string gamePath) + { + this.GamePath = gamePath; + } + + public List Mods = new List(); + public ResourceList Resources = ResourceList.GetDefaultList(); + public readonly string GamePath = ""; + public bool ModsDisabled = false; + public bool NuclearWinterModeEnabled = false; + + /// + /// Path where mods get stored. ("Fallout76\Mods") + /// + public string ModsPath + { + get { return Path.Combine(GamePath, "Mods"); } + } + + /// + /// Path to the "Fallout76\Mods\managed.xml" + /// + public string XMLPath + { + get { return Path.Combine(ModsPath, "managed.xml"); } + } + + /// + /// Path to the "Fallout76\Mods\resources.txt" + /// + public string ResourcesPath + { + get { return Path.Combine(ModsPath, "resources.txt"); } + } + + public int Count => this.Mods.Count(); + + public bool IsReadOnly => false; + + public void EnableMod(int index) + { + this.Mods[index].Enabled = true; + } + + public void DisableMod(int index) + { + this.Mods[index].Enabled = false; + } + + public bool isModEnabled(int index) + { + return this.Mods[index].Enabled; + } + + /// + /// Move a mod from one index to another. + /// + /// + private int MoveMod(int oldIndex, int newIndex) + { + if (oldIndex >= this.Mods.Count || + oldIndex < 0 || + newIndex >= this.Mods.Count || + newIndex < 0) + return oldIndex; + + // https://stackoverflow.com/questions/450233/generic-list-moving-an-item-within-the-list + ManagedMod mod = this.Mods[oldIndex]; + + this.Mods.RemoveAt(oldIndex); + + // TODO: Do we need to change the index? (MoveMod) + // the actual index could have shifted due to the removal + // if (newIndex > oldIndex) newIndex--; + + this.Mods.Insert(newIndex, mod); + + return newIndex; + } + + /// + /// Moves the mod one up in the list. + /// + /// Index of the mod that should be moved + /// New index of the mod after it got moved + public int MoveModUp(int index) + { + if (index > 0) + return MoveMod(index, index - 1); + return index; + } + + /// + /// Moves the mod one down in the list. + /// + /// Index of the mod that should be moved + /// New index of the mod after it got moved + public int MoveModDown(int index) + { + if (index < this.Mods.Count - 1) + return MoveMod(index, index + 1); + return index; + } + + /// + /// Compares current disk state and pending disk state and returns true, if they're different. + /// + /// + public bool isDeploymentNecessary() + { + foreach (ManagedMod mod in Mods) + { + if (mod.Deployed && this.ModsDisabled) + return true; + + if (mod.isDeploymentNecessary()) + return true; + } + return false; + } + + /// + /// Serializes a list of mods into a *.xml document. + /// + /// A list of mods + /// A *.xml document that can be saved to disk. + public XDocument Serialize(List mods) + { + /* + Fallout76\Mods\managed.xml + + + + + + */ + + XDocument xmlDoc = new XDocument(); + XElement xmlRoot = new XElement("ManagedMods", + new XAttribute("enabled", !this.ModsDisabled), + new XAttribute("nwmode", this.NuclearWinterModeEnabled) + ); + xmlDoc.Add(xmlRoot); + + foreach (ManagedMod mod in mods) + { + if (Directory.Exists(mod.ManagedFolderPath)) + xmlRoot.Add(mod.Serialize()); + } + + return xmlDoc; + } + + /// + /// Deserializes every mod and returns them as a list. + /// + /// The document that contains all Mod elements. + /// + public List Deserialize(XDocument xmlDoc) + { + List mods = new List(); + + if (xmlDoc.Root.Attribute("enabled") != null) + this.ModsDisabled = !Convert.ToBoolean(xmlDoc.Root.Attribute("enabled").Value); + + if (xmlDoc.Root.Attribute("nwmode") != null) + this.NuclearWinterModeEnabled = Convert.ToBoolean(xmlDoc.Root.Attribute("nwmode").Value); + + foreach (XElement xmlMod in xmlDoc.Descendants("Mod")) + { + try + { + ManagedMod mod = ManagedMod.Deserialize(xmlMod, GamePath); + /*if (!Directory.Exists(mod.GetManagedPath())) + continue;*/ + mods.Add(mod); + } + catch (Exception ex) + { + /* InvalidDataException, ArgumentException */ + MsgBox.Get("modsInvalidManifestEntry").FormatText(ex.Message).Show(MessageBoxIcon.Warning); + } + } + return mods; + } + + /// + /// Loads the XML file, deserializes every mod, and adds it to the list. + /// + public void Load() + { + this.Mods.Clear(); + this.Resources.Clear(); + + if (!GameInstance.ValidateGamePath(GamePath)) + return; + + if (!File.Exists(XMLPath)) + return; + + XDocument xmlDoc = XDocument.Load(XMLPath); + this.Mods = Deserialize(xmlDoc); + this.Resources = ResourceList.FromTXT(ResourcesPath); + this.Resources.AssociateTweak(ResourceListTweak.GetDefaultList()); + } + + /// + /// Serializes the list of mods and saves it to managed.xml. Also saves resource list. + /// + public void Save() + { + if (!Directory.Exists(Path.Combine(this.GamePath, "Mods"))) + Directory.CreateDirectory(Path.Combine(this.GamePath, "Mods")); + + this.Serialize(this.Mods).Save(XMLPath); + SaveResources(); + LegacyManagedMods.GenerateLegacyXML(this); + } + + /// + /// Saves the resource list + /// + public void SaveResources() + { + this.Resources.SaveTXT(ResourcesPath); + if (NuclearWinterModeEnabled) + IniFiles.F76Custom.Remove("Archive", "sResourceIndexFileList"); + else + this.Resources.CommitToINI(); // TODO: Where else do we have CommitToINI? + IniFiles.F76Custom.Save(); + } + + public void Add(ManagedMod item) + { + this.Mods.Add(item); + } + + public void Clear() + { + this.Mods.Clear(); + } + + public bool Contains(ManagedMod item) + { + return this.Mods.Contains(item); + } + + public void CopyTo(ManagedMod[] array, int arrayIndex) + { + this.Mods.CopyTo(array, arrayIndex); + } + + public bool Remove(ManagedMod item) + { + return this.Mods.Remove(item); + } + + public void RemoveAt(int index) + { + this.Mods.RemoveAt(index); + } + + public IEnumerator GetEnumerator() + { + return this.Mods.GetEnumerator(); + } + + IEnumerator IEnumerable.GetEnumerator() + { + return GetEnumerator(); + } + + public ManagedMod this[int index] + { + get { return this.Mods[index]; } + set { this.Mods[index] = value; } + } + } +} diff --git a/Fo76ini/Mods/ModActions.cs b/Fo76ini/Mods/ModActions.cs new file mode 100644 index 0000000..0a39d13 --- /dev/null +++ b/Fo76ini/Mods/ModActions.cs @@ -0,0 +1,284 @@ +using Fo76ini.Utilities; +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; + +namespace Fo76ini.Mods +{ + /// + /// Bundles functions that change the state or the files of a mod, but don't affect game files. + /// + public static class ModActions + { + /// + /// Deletes all files of 'mod'. + /// This includes the managed folder and frozen archive. + /// + private static void DeleteFiles(ManagedMod mod) + { + // Delete managed folder: + if (Directory.Exists(mod.ManagedFolderPath)) + Directory.Delete(mod.ManagedFolderPath, true); + + // Delete frozen archive: + if (/*mod.Frozen && + mod.PreviousMethod == ManagedMod.DeploymentMethod.SeparateBA2 &&*/ + File.Exists(mod.FrozenArchivePath)) + { + File.Delete(mod.FrozenArchivePath); + } + } + + /// + /// Deletes all files of the mod and removes it from the list. + /// Saves the xml file afterwards. + /// + public static void DeleteMod(ManagedMods mods, int index, Action ProgressChanged = null) + { + ModActions.DeleteFiles(mods[index]); + mods.RemoveAt(index); + mods.Save(); + ProgressChanged?.Invoke(Progress.Done("Mod deleted.")); + } + + /// + /// Deletes multiple mods and removes them from the list. + /// Saves the xml file afterwards. + /// + public static void DeleteMods(ManagedMods mods, List indices, Action ProgressChanged = null) + { + indices = indices.OrderByDescending(i => i).ToList(); + int fi = 0; + int count = indices.Count(); + foreach (int index in indices) + { + ProgressChanged?.Invoke(Progress.Ongoing($"Deleting mod {++fi} of {count}.", (float)(fi - 1) / (float)count)); + ModActions.DeleteFiles(mods[index]); + mods.RemoveAt(index); + mods.Save(); + } + ProgressChanged?.Invoke(Progress.Done($"{count} mods deleted.")); + } + + /// + /// Freezes the mod. + /// + public static void Freeze(ManagedMods mods, int index) + { + ModActions.Freeze(mods[index]); + mods.Save(); + } + + /// + /// Freezes the mods. + /// + public static void Freeze(ManagedMods mods, IEnumerable indices) + { + foreach (int index in indices) + ModActions.Freeze(mods[index]); + mods.Save(); + } + + public static void Freeze(ManagedMod mod) + { + // TODO: Remove connection to ManagedMods + // Only freeze if not already frozen: + if (mod.Frozen && File.Exists(mod.FrozenArchivePath)) + { + // TODO: ModActions.Freeze: Should the mod get "refrozen"? + //ManagedMods.Instance.logFile.WriteLine($"Cannot freeze a mod ('{mod.Title}') that is already frozen.\n"); + return; + } + + Directory.CreateDirectory(mod.FrozenDataPath); + + // Getting preset: + Archive2.Preset preset = ModHelpers.GetArchive2Preset(mod); + + ModDeployment.LogFile.WriteLine($" Freezing mod '{mod.Title}'..."); + ModDeployment.LogFile.WriteLine($" Format: {preset.format}"); + ModDeployment.LogFile.WriteLine($" Compression: {preset.compression}"); + ModDeployment.LogFile.WriteLine($" Destination: FrozenData\\{mod.FrozenArchiveName}"); + + // Create archive: + Archive2.Create(mod.FrozenArchivePath, mod.ManagedFolderPath, preset); + + // Change DiskState and save: + mod.Frozen = true; + mod.FrozenCompression = mod.Compression; + mod.FrozenFormat = mod.Format; + } + + /// + /// Unfreezes the mod. + /// + public static void Unfreeze(ManagedMods mods, int index, Action ProgressChanged = null) + { + ModActions.Unfreeze(mods[index]); + mods.Save(); + ProgressChanged?.Invoke(Progress.Done("Mod thawed.")); + } + + /// + /// Unfreezes the mods. + /// + public static void Unfreeze(ManagedMods mods, IEnumerable indices, Action ProgressChanged = null) + { + int count = indices.Count(); + int n = 1; + foreach (int index in indices) + { + ModActions.Unfreeze(mods[index]); + ProgressChanged?.Invoke(Progress.Ongoing($"Unfreezing {n} of {count} mod(s)...", (float)n++ / (float)count)); + } + mods.Save(); + ProgressChanged?.Invoke(Progress.Done($"{count} mod(s) thawed.")); + } + + public static void Unfreeze(ManagedMod mod) + { + // Delete *.ba2: + if (File.Exists(mod.FrozenArchivePath)) + File.Delete(mod.FrozenArchivePath); + + // Change DiskState and save: + mod.Frozen = false; + } + + public static void DetectOptimalModInstallationOptions(ManagedMod mod, Action ProgressChanged = null) + { + ProgressChanged?.Invoke(Progress.Indetermined("Detecting installation options.")); + + /* + * Searching through folder: + */ + + bool resourceFoldersFound = false; + bool generalFoldersFound = false; + bool texturesFolderFound = false; + bool soundFoldersFound = false; + bool stringsFolderFound = false; + bool dataFolderFound = false; + bool videoFolderFound = false; + bool dllFound = false; + + foreach (string folderPath in Directory.EnumerateDirectories(mod.ManagedFolderPath)) + { + string folderName = Path.GetFileName(folderPath).ToLower(); + + if (ModHelpers.ResourceFolders.Contains(folderName)) + resourceFoldersFound = true; + if (ModHelpers.GeneralFolders.Contains(folderName)) + generalFoldersFound = true; + if (ModHelpers.TextureFolders.Contains(folderName)) + texturesFolderFound = true; + if (ModHelpers.SoundFolders.Contains(folderName)) + soundFoldersFound = true; + if (folderName == "strings") + stringsFolderFound = true; + if (folderName == "data") + dataFolderFound = true; + if (folderName == "video") + videoFolderFound = true; + } + + foreach (string filePath in Directory.EnumerateFiles(mod.ManagedFolderPath)) + { + string fileExtension = Path.GetExtension(filePath).ToLower(); + + if (fileExtension == ".dll") + dllFound = true; + } + + + /* + * Detecting optimal installation options: + */ + + if (resourceFoldersFound) + { + mod.Method = ManagedMod.DeploymentMethod.SeparateBA2; + mod.Format = ManagedMod.ArchiveFormat.Auto; + mod.Compression = ManagedMod.ArchiveCompression.Auto; + mod.RootFolder = "Data"; + } + + if (stringsFolderFound || videoFolderFound) + { + mod.Method = ManagedMod.DeploymentMethod.LooseFiles; + mod.RootFolder = "Data"; + } + + if (dllFound || dataFolderFound) + { + mod.Method = ManagedMod.DeploymentMethod.LooseFiles; + mod.RootFolder = "."; + } + + if (generalFoldersFound) + { + mod.Method = ManagedMod.DeploymentMethod.SeparateBA2; + mod.Format = ManagedMod.ArchiveFormat.General; + mod.Compression = ManagedMod.ArchiveCompression.Compressed; + mod.RootFolder = "Data"; + } + + if (texturesFolderFound) + { + mod.Method = ManagedMod.DeploymentMethod.SeparateBA2; + mod.Format = ManagedMod.ArchiveFormat.Textures; + mod.Compression = ManagedMod.ArchiveCompression.Compressed; + mod.RootFolder = "Data"; + } + + if (soundFoldersFound) + { + mod.Method = ManagedMod.DeploymentMethod.SeparateBA2; + mod.Format = ManagedMod.ArchiveFormat.General; + mod.Compression = ManagedMod.ArchiveCompression.Uncompressed; + mod.RootFolder = "Data"; + } + + if (generalFoldersFound && texturesFolderFound || + generalFoldersFound && soundFoldersFound || + texturesFolderFound && soundFoldersFound) + { + mod.Method = ManagedMod.DeploymentMethod.BundledBA2; + mod.Format = ManagedMod.ArchiveFormat.Auto; + mod.Compression = ManagedMod.ArchiveCompression.Auto; + mod.RootFolder = "Data"; + } + } + + public static void CleanUpFolder(string folderPath, Action ProgressChanged = null) + { + ProgressChanged?.Invoke(Progress.Indetermined("Cleaning up mod folder.")); + + foreach (string subFolderPath in Directory.EnumerateDirectories(folderPath)) + { + string subFolderName = Path.GetFileName(subFolderPath).ToLower(); + + // Move data folder one up: + if (subFolderName == "data") + ModInstallations.MoveDirectory(subFolderPath, folderPath); + } + + foreach (String filePath in Directory.EnumerateFiles(folderPath)) + { + string fileExtension = Path.GetExtension(filePath).ToLower().Trim(); + + // Extract archives within folder: + if (fileExtension == ".ba2" || Utils.SevenZipSupportedFileTypes.Contains(fileExtension)) + { + ModInstallations.ExtractArchive(filePath, folderPath, ProgressChanged); + File.Delete(filePath); + } + + // Delete crap: + else if (fileExtension == ".txt") + File.Delete(filePath); + } + } + } +} diff --git a/Fo76ini/Mods/ModDeployment.cs b/Fo76ini/Mods/ModDeployment.cs new file mode 100644 index 0000000..0efc5ce --- /dev/null +++ b/Fo76ini/Mods/ModDeployment.cs @@ -0,0 +1,607 @@ +using Fo76ini.Utilities; +using System; +using System.Collections; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Threading; + +namespace Fo76ini.Mods +{ + /// + /// Bundles functions that add, remove, or change game files. + /// Managed mods --> Game files + /// + public static class ModDeployment + { + // TODO: Clean FrozenData? + public static Log LogFile; + + static ModDeployment() + { + ModDeployment.LogFile = new Log(Log.GetFilePath("modmanager.log.txt")); + } + + public static void Deploy(ManagedMods mods, Action ProgressChanged, bool invalidateBundledFrozenArchives = true) + { + LogFile.WriteLine("\n\n"); + LogFile.WriteTimeStamp(); + LogFile.WriteLine($"Version {Shared.VERSION}, deploying..."); + + // TODO: More descriptive ProgressChanged + ProgressChanged?.Invoke(Progress.Indetermined("Deploying...")); + + // Check for conflicts: + LogFile.WriteLine("Checking for conflicting archive names..."); + List conflicts = ModHelpers.GetConflictingArchiveNames(mods.Mods); + if (conflicts.Count > 0) + { + LogFile.WriteLine("Conflicts found, abort."); + foreach (ModHelpers.Conflict conflict in conflicts) + LogFile.WriteLine($" Conflict: {conflict.conflictText}"); + throw new DeploymentFailedException("Conflicting archive names."); + } + + // Restore *.dll files: + RestoreAddedDLLs(mods.GamePath); + + // Remove all currently deployed mods: + ProgressChanged?.Invoke(Progress.Indetermined("Removing mods...")); + ModDeployment.RemoveAll(mods); + mods.Save(); + + // If mods are enabled: + if (!mods.ModsDisabled) + { + LogFile.WriteLine("Installing mods..."); + + // Deploy all SeparateBA2 and Loose mods: + foreach (ManagedMod mod in mods) + { + ProgressChanged?.Invoke(Progress.Indetermined($"Deploying {mod.Title}...")); + if (mod.Enabled && + Directory.Exists(mod.ManagedFolderPath) && + !Utils.IsDirectoryEmpty(mod.ManagedFolderPath)) + { + switch (mod.Method) + { + case ManagedMod.DeploymentMethod.SeparateBA2: + DeploySeparateArchive(mod, mods.Resources); + mods.Save(); + break; + case ManagedMod.DeploymentMethod.LooseFiles: + DeployLooseFiles(mods, mod, mods.GamePath); + mods.Save(); + break; + } + } + } + + // Deploy all BundledBA2 mods: + ProgressChanged?.Invoke(Progress.Indetermined($"Building bundled archives...")); + ModDeployment.DeployBundledArchives(mods, IniFiles.Config.GetBool("Mods", "bFreezeBundledArchives", false), invalidateBundledFrozenArchives); + + mods.Save(); + ProgressChanged?.Invoke(Progress.Done("Mods deployed.")); + } + else + ProgressChanged?.Invoke(Progress.Done("Mods removed.")); + + LogFile.WriteLine("Deployment finished."); + } + + /// + /// Used in the deployment chain to deploy a single mod with the Loose method. + /// + private static void DeployLooseFiles(ManagedMods mods, ManagedMod mod, String GamePath) + { + LogFile.WriteLine($" Installing mod '{mod.Title}' as LooseFiles"); + + mod.LooseFiles.Clear(); + + // Iterate over each file in the managed folder ... + foreach (string filePath in Directory.EnumerateFiles(mod.ManagedFolderPath, "*.*", SearchOption.AllDirectories)) + { + // ... extract the relative path ... + string relPath = Utils.MakeRelativePath(mod.ManagedFolderPath, filePath); + mod.LooseFiles.Add(relPath); + + // ... determine the full destination path ... + string destinationPath = Path.Combine(GamePath, mod.RootFolder, relPath); + FileInfo destInfo = new FileInfo(destinationPath); + Directory.CreateDirectory(destInfo.DirectoryName); + + // ... make a backup if the file already exists ... + if (File.Exists(destinationPath) && !DoesLooseFileBelongToMod(mods, destinationPath) && !File.Exists(destinationPath + ".old")) + File.Move(destinationPath, destinationPath + ".old"); + + // ... and copy the file (and replace it if necessary). + LogFile.WriteLine($" Copying: \"{relPath}\""); + if (Configuration.bUseHardlinks) + Utils.CreateHardLink(filePath, destinationPath, true); + else + File.Copy(filePath, destinationPath, true); + } + + mod.CurrentRootFolder = mod.RootFolder; + mod.Deployed = true; + mod.PreviousMethod = ManagedMod.DeploymentMethod.LooseFiles; + } + + /// + /// Used in the deployment chain to deploy a single mod with the SeparateBA2 method. + /// Freezes a mod if necessary. + /// + private static void DeploySeparateArchive(ManagedMod mod, ResourceList resources) + { + LogFile.WriteLine($" Installing mod '{mod.Title}' as SeparateBA2"); + + // If mod is supposed to be deployed frozen... + if (mod.Freeze) + { + // ... freeze if necessary ... + if (!mod.Frozen) + { + //LogFile.WriteLine($" Freezing mod..."); + ModActions.Freeze(mod); + } + + LogFile.WriteLine($" Copying frozen archive..."); + + // ... and copy it to the Data folder. + if (Configuration.bUseHardlinks) + Utils.CreateHardLink( + mod.FrozenArchivePath, + mod.ArchivePath, + true); + else + File.Copy( + mod.FrozenArchivePath, + mod.ArchivePath, + true); + } + + // If mod isn't supposed to be deployed frozen... + else + { + // ... unfreeze mod if needed ... + if (mod.Frozen) + { + LogFile.WriteLine($" Unfreezing mod..."); + ModActions.Unfreeze(mod); + } + + // Getting preset: + Archive2.Preset preset = ModHelpers.GetArchive2Preset(mod); + + LogFile.WriteLine($" Creating new archive..."); + LogFile.WriteLine($" Format: {preset.format}"); + LogFile.WriteLine($" Compression: {preset.compression}"); + + // ... and create a new archive. + Archive2.Create( + mod.ArchivePath, + mod.ManagedFolderPath, + preset); + } + + // Finally, update the disk state ... + mod.CurrentArchiveName = mod.ArchiveName; + mod.CurrentCompression = mod.Frozen ? mod.FrozenCompression : mod.Compression; + mod.CurrentFormat = mod.Frozen ? mod.FrozenFormat : mod.Format; + mod.Deployed = true; + mod.PreviousMethod = ManagedMod.DeploymentMethod.SeparateBA2; + + // ... and add the archive to the resource list. + resources.Add(mod.ArchiveName); + + LogFile.WriteLine($" Installed."); + } + + /// + /// Used in the deployment chain to deploy mods with the BundledBA2 method. + /// + private static void DeployBundledArchives(ManagedMods mods, bool freezeArchives = false, bool invalidateFrozenArchives = true) + { + LogFile.WriteLine($" Installing BundledBA2 mods..."); + DeployArchiveList archives = new DeployArchiveList(mods.GamePath); + + // We want to use frozen archives but haven't invalidated them... + // ... so just copy bundled archives if available: + if (freezeArchives && !invalidateFrozenArchives) + { + CopyFrozenBundledArchives(mods.Resources, archives); + return; + } + + // Otherwise iterate over each enabled mod... + foreach (ManagedMod mod in mods) + { + if (mod.Enabled && mod.Method == ManagedMod.DeploymentMethod.BundledBA2) + { + LogFile.WriteLine($" Copy files of mod '{mod.Title}' to temp folder..."); + + // ... copy it's files into temporary folders ... + CopyFilesToTempSorted(mod, archives); + mod.Deployed = true; + mod.PreviousMethod = ManagedMod.DeploymentMethod.BundledBA2; + } + } + + // ... and pack those folders to archives. + PackBundledArchives(mods.Resources, archives, freezeArchives); + } + + /// + /// Used in the deployment chain to copy frozen bundled archives from FrozenData to Data. + /// + private static void CopyFrozenBundledArchives(ResourceList resources, DeployArchiveList archives) + { + LogFile.WriteLine($" Copy frozen bundled archives..."); + + // For each archive... + foreach (DeployArchive archive in archives) + { + // ... if it had been frozen ... + if (File.Exists(archive.GetFrozenArchivePath())) + { + LogFile.WriteLine($" Copying {archive.ArchiveName}"); + + // ... copy it into the Data folder ... + if (Configuration.bUseHardlinks) + Utils.CreateHardLink(archive.GetFrozenArchivePath(), archive.GetArchivePath(), true); + else + File.Copy(archive.GetFrozenArchivePath(), archive.GetArchivePath(), true); + + // ... and add it to the resource list. + resources.Insert(0, archive.ArchiveName); + } + } + } + + /// + /// Used in the deployment chain to pack each bundled temporary folder to an archive. + /// + private static void PackBundledArchives(ResourceList resources, DeployArchiveList archives, bool freezeArchives) + { + // For each archive... + foreach (DeployArchive archive in archives.Reverse()) + { + // ... if needed ... + if (archive.Count > 0 && !Utils.IsDirectoryEmpty(archive.TempPath)) + { + // ... pack the temporary folder to an archive ... + if (freezeArchives) + { + LogFile.WriteLine($" Freezing archive '{archive.ArchiveName}'"); + + // either freeze to FrozenData and then copy to Data: + Archive2.Create(archive.GetFrozenArchivePath(), archive.TempPath, archive.Compression, archive.Format); + + if (Configuration.bUseHardlinks) + Utils.CreateHardLink(archive.GetFrozenArchivePath(), archive.GetArchivePath(), true); + else + File.Copy(archive.GetFrozenArchivePath(), archive.GetArchivePath(), true); + } + else + { + LogFile.WriteLine($" Creating archive '{archive.ArchiveName}'"); + + // or create directly in Data: + Archive2.Create(archive.GetArchivePath(), archive.TempPath, archive.Compression, archive.Format); + } + + // ... and add it to the resource list. + resources.Insert(0, archive.ArchiveName); + } + } + + // Clean up after we're finished. + LogFile.WriteLine($" Deleting temporary folder..."); + archives.DeleteTempFolder(); + } + + /// + /// Used in the deployment chain to copy individual files to a temporary folder. + /// It sorts files into different temporary folders. + /// Each temporary folder gets packed to a bundled *.ba2 archive. + /// + private static void CopyFilesToTempSorted(ManagedMod mod, DeployArchiveList archives) + { + // Iterate over each file in the managed folder: + IEnumerable files = Directory.EnumerateFiles(mod.ManagedFolderPath, "*.*", SearchOption.AllDirectories); + foreach (string filePath in files) + { + FileInfo info = new FileInfo(filePath); + string fileExtension = info.Extension.ToLower(); + + // Make a relative path: + string relativePath = Utils.MakeRelativePath(mod.ManagedFolderPath, filePath); + + // Determine the type of archive: + string destinationPath; + if (relativePath.Trim().ToLower().StartsWith("sound") || relativePath.Trim().ToLower().StartsWith("music") || + (new string[] { ".wav", ".xwm", ".fuz", ".lip" }).Contains(fileExtension)) + { + archives.SoundsArchive.Count++; + destinationPath = Path.Combine(archives.SoundsArchive.TempPath, relativePath); + } + else if (fileExtension == ".dds") + { + archives.TexturesArchive.Count++; + destinationPath = Path.Combine(archives.TexturesArchive.TempPath, relativePath); + } + else + { + archives.GeneralArchive.Count++; + destinationPath = Path.Combine(archives.GeneralArchive.TempPath, relativePath); + } + + // Copy the file to the correct temp folder: + Directory.CreateDirectory(Path.GetDirectoryName(destinationPath)); + + if (Configuration.bUseHardlinks) + Utils.CreateHardLink(filePath, destinationPath, true); + else + File.Copy(filePath, destinationPath, true); + } + } + + public static void RemoveAll(ManagedMods mods) + { + LogFile.WriteLine("Removing all installed mods"); + + // Delete bundled archives: + DeployArchiveList deployArchives = new DeployArchiveList(mods.GamePath); + foreach (DeployArchive deployArchive in deployArchives) + { + LogFile.WriteLine($" Removing {deployArchive.ArchiveName}"); + if (File.Exists(deployArchive.GetArchivePath())) + File.Delete(deployArchive.GetArchivePath()); + mods.Resources.Remove(deployArchive.ArchiveName); + } + LogFile.WriteLine($" Deleting temporary folders"); + deployArchives.DeleteTempFolder(); + + // Remove mods: + foreach (ManagedMod mod in mods) + { + LogFile.WriteLine($" Removing mod {mod.Title}"); + ModDeployment.Remove(mod, mods.Resources, mods.GamePath); + } + + mods.Save(); + } + + private static void Remove(ManagedMod mod, ResourceList resources, String GamePath) + { + if (mod.Deployed) + { + switch (mod.PreviousMethod) + { + case ManagedMod.DeploymentMethod.BundledBA2: + LogFile.WriteLine($" Skipped (mod is bundled)"); + break; + + case ManagedMod.DeploymentMethod.SeparateBA2: + LogFile.WriteLine($" Deleting {mod.CurrentArchiveName}"); + File.Delete(mod.CurrentArchivePath); + resources.Remove(mod.CurrentArchiveName); + break; + + case ManagedMod.DeploymentMethod.LooseFiles: + LogFile.WriteLine($" Deleting loose files"); + foreach (string relFilePath in mod.LooseFiles) + { + string installedFilePath = Path.GetFullPath(Path.Combine(GamePath, mod.CurrentRootFolder, relFilePath)); // .Replace("\\.\\", "\\") + + // Delete file, if existing: + if (File.Exists(installedFilePath)) + File.Delete(installedFilePath); + + // Rename backup, if there is one: + if (File.Exists(installedFilePath + ".old")) + File.Move(installedFilePath + ".old", installedFilePath); + + // Remove empty folders one by one, if existing: + else + RemoveEmptyFolders(Path.GetDirectoryName(installedFilePath)); + } + mod.LooseFiles.Clear(); + break; + } + + mod.Deployed = false; + } + } + + // Use lower-case, plz + private static List whitelistedDlls = new List() { + "bink2w64.dll", + "chrome_elf.dll", + "concrt140.dll", + "d3dcompiler_43.dll", + "libcef.dll", + "libegl.dll", // "libEGL.dll", + "libglesv2.dll", // "libGLESv2.dll", + "msvcp140.dll", + "ortp_x64.dll", + "steam_api64.dll", + "vccorlib140.dll", + "vcruntime140.dll", + "vivoxsdk_x64.dll", + "d3dcompiler_46.dll", + "d3dcompiler_47.dll" + // "x3daudio1_7.dll" ? + }; + + public static void RenameAddedDLLs(string GamePath) + { + LogFile.WriteLine("Renaming non-whitelisted *.dll to *.dll.nwmode"); + // Iterate through every *.dll file in game path: + IEnumerable files = Directory.EnumerateFiles(GamePath, "*.dll"); + foreach (string filePath in files) + { + // If not whitelisted... + string fileName = Path.GetFileName(filePath); + if (!whitelistedDlls.Contains(fileName.ToLower())) + { + // ... rename it: + if (!File.Exists(filePath + ".nwmode")) + { + File.Move(filePath, filePath + ".nwmode"); + LogFile.WriteLine($" Renamed {fileName}"); + } + + // ... or delete it: + else + { + File.Delete(filePath); + LogFile.WriteLine($" Deleted {fileName}"); + } + } + } + } + + public static void RestoreAddedDLLs(string GamePath) + { + LogFile.WriteLine("Renaming *.dll.nwmode to *.dll"); + // Iterate through every *.dll.nwmode file in game path: + IEnumerable files = Directory.EnumerateFiles(GamePath, "*.dll.nwmode"); + foreach (string filePath in files) + { + string fileName = Path.GetFileName(filePath); + string originalFilePath = Path.Combine(Path.GetDirectoryName(filePath), fileName.Replace(".dll.nwmode", ".dll")); + + // Rename or delete, if the original exists: + if (!File.Exists(originalFilePath)) + { + File.Move(filePath, originalFilePath); + LogFile.WriteLine($" Renamed {fileName}"); + } + else + { + // Assuming that the same *.dll file has been copied during deployment: + File.Delete(filePath); // we can just delete it. + LogFile.WriteLine($" Deleted {fileName}"); + } + } + } + + private static void RemoveEmptyFolders(string parent) + { + while (Directory.Exists(parent) && Utils.IsDirectoryEmpty(parent)) + { + Directory.Delete(parent); + parent = Path.GetDirectoryName(parent); + } + } + + /// + /// Searches through each mod.LooseFiles entry to find if the file belongs to a mod. + /// + /// + /// Has to be a full path, not a relative path + /// true, if a mod has installed this file. false otherwise. + private static bool DoesLooseFileBelongToMod(ManagedMods mods, string fullPath) + { + foreach (ManagedMod mod in mods) + { + if (mod.PreviousMethod == ManagedMod.DeploymentMethod.LooseFiles) + { + foreach (string relPath in mod.LooseFiles) + { + string installedPath = Path.Combine(mods.GamePath, mod.RootFolder, relPath); + if (installedPath == fullPath) + return true; + } + } + } + return false; + } + + private class DeployArchiveList : IEnumerable + { + public DeployArchive GeneralArchive; + public DeployArchive TexturesArchive; + public DeployArchive SoundsArchive; + + public string GamePath; + public string TempPath; + + public DeployArchiveList(String gamePath) + { + this.GamePath = gamePath; + this.TempPath = Path.Combine(GamePath, "tmp"); + + GeneralArchive = new DeployArchive("General", GamePath, TempPath); + TexturesArchive = new DeployArchive("Textures", GamePath, TempPath); + TexturesArchive.Format = Archive2.Format.DDS; + SoundsArchive = new DeployArchive("Sounds", GamePath, TempPath); + SoundsArchive.Compression = Archive2.Compression.None; + } + + public void DeleteTempFolder() + { + if (Directory.Exists(TempPath)) + Directory.Delete(TempPath, true); + } + + public List GetList() + { + return new List() { GeneralArchive, TexturesArchive, SoundsArchive }; + } + + public IEnumerator GetEnumerator() + { + return this.GetList().GetEnumerator(); + } + + IEnumerator IEnumerable.GetEnumerator() + { + return GetEnumerator(); + } + } + + private class DeployArchive + { + public string GamePath; + public string TempPath; + public string ArchiveName; + public Archive2.Format Format = Archive2.Format.General; + public Archive2.Compression Compression = Archive2.Compression.Default; + public int Count = 0; + + public DeployArchive(string name, string gamePath, string tempFolderPath) + { + this.GamePath = gamePath; + this.TempPath = Path.Combine(tempFolderPath, name); + if (name == "General") + this.ArchiveName = "Bundled.ba2"; + else + this.ArchiveName = "Bundled - " + name + ".ba2"; + + /*if (Directory.Exists(this.tempPath)) + Directory.Delete(this.tempPath, true);*/ + Directory.CreateDirectory(this.TempPath); + } + + public string GetArchivePath() + { + return Path.Combine(GamePath, "Data", this.ArchiveName); + } + + public string GetFrozenArchivePath() + { + return Path.Combine(GamePath, "FrozenData", this.ArchiveName); + } + } + + public class DeploymentFailedException : Exception + { + public DeploymentFailedException() { } + public DeploymentFailedException(string message) : base(message) { } + public DeploymentFailedException(string message, Exception inner) : base(message, inner) { } + } + } +} diff --git a/Fo76ini/Mods/ModHelpers.cs b/Fo76ini/Mods/ModHelpers.cs new file mode 100644 index 0000000..cb27a4d --- /dev/null +++ b/Fo76ini/Mods/ModHelpers.cs @@ -0,0 +1,182 @@ +using Fo76ini.Utilities; +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; + +namespace Fo76ini.Mods +{ + /// + /// Bundles functions that help with working with mods. + /// They don't affect any files and don't change any state. + /// + public static class ModHelpers + { + public static string[] ResourceFolders = new string[] { "meshes", "strings", "music", "sound", "textures", "materials", "interface", "geoexporter", "programs", "vis", "scripts", "misc", "shadersfx", "lodsettings", "video" }; + public static string[] GeneralFolders = new string[] { "meshes", "strings", "interface", "materials" }; + public static string[] TextureFolders = new string[] { "textures", "effects" }; + public static string[] SoundFolders = new string[] { "sound", "music" }; + + /// + /// Converts ManagedMod.ArchiveCompression and ManagedMod.ArchiveFormat to an Archive2.Preset. + /// Automatically determines appropriate compression and format if needed. + /// + public static Archive2.Preset GetArchive2Preset(ManagedMod mod) + { + return GetArchive2Preset(mod.ManagedFolderPath, mod.Format, mod.Compression); + } + + /// + /// Converts ManagedMod.ArchiveCompression and ManagedMod.ArchiveFormat to an Archive2.Preset. + /// Automatically determines appropriate compression and format if needed. + /// + public static Archive2.Preset GetArchive2Preset(String managedFolderPath, ManagedMod.ArchiveFormat format, ManagedMod.ArchiveCompression compression) + { + var preset = new Archive2.Preset(); + + // No detection needed, "convert" ArchiveCompression to Archive2.Compression and ArchiveFormat to Archive2.Format: + if (compression != ManagedMod.ArchiveCompression.Auto && format != ManagedMod.ArchiveFormat.Auto) + { + preset.compression = compression == ManagedMod.ArchiveCompression.Compressed ? Archive2.Compression.Default : Archive2.Compression.None; + preset.format = format == ManagedMod.ArchiveFormat.General ? Archive2.Format.General : Archive2.Format.DDS; + + return preset; + } + + // Detect mod type: + + int generalFoldersCount = 0; + int textureFoldersCount = 0; + int soundFoldersCount = 0; + + IEnumerable folders = Directory.EnumerateDirectories(managedFolderPath); + foreach (string path in folders) + { + string folderName = Path.GetFileName(path).ToLower(); + + if (GeneralFolders.Contains(folderName)) + generalFoldersCount++; + else if (TextureFolders.Contains(folderName)) + textureFoldersCount++; + else if (SoundFolders.Contains(folderName)) + soundFoldersCount++; + } + + if (soundFoldersCount > generalFoldersCount && soundFoldersCount > textureFoldersCount) + { + preset.compression = Archive2.Compression.None; + preset.format = Archive2.Format.General; + } + else if (textureFoldersCount > generalFoldersCount && textureFoldersCount > soundFoldersCount) + { + preset.compression = Archive2.Compression.Default; + preset.format = Archive2.Format.DDS; + } + else + { + preset.compression = Archive2.Compression.Default; + preset.format = Archive2.Format.General; + } + + return preset; + } + + /// + /// Represents a conflict between mods. Used as the return value of the GetConflictingFiles() and the GetConflictingArchiveNames() methods. + /// + public struct Conflict + { + public string conflictText; + public string conflictingArchiveName; + public List conflictingFiles; + } + + /// + /// Checks if enabled mods lower on the list overwrite files of enabled mods higher on the list. + /// + /// A list of conflicting mods. + public static List GetConflictingFiles(List mods) + { + List conflictingMods = new List(); + + // Mods higher in the list (upperMod) can get overwritten by mods lower in the list (lowerMod). + + // Iterate over all mods: + for (int i = 1; i < mods.Count; i++) + { + ManagedMod lowerMod = mods[i]; + string lowerPath = lowerMod.ManagedFolderPath; + + // If not enabled or non-existant, we don't need to check. + if (!lowerMod.Enabled || !Directory.Exists(lowerPath)) + continue; + + // Get a list of files with relative paths: + List lowerRelPaths = new List(); + foreach (string filePath in Directory.EnumerateFiles(lowerPath, "*.*", SearchOption.AllDirectories)) + lowerRelPaths.Add(Utils.MakeRelativePath(lowerPath, filePath)); + + // Iterate over all mods whose files could get overwritten: + for (int l = 0; l < i; l++) + { + ManagedMod upperMod = mods[l]; + string upperPath = upperMod.ManagedFolderPath; + + // If not enabled or non-existant, we don't need to check. + if (!upperMod.Enabled || !Directory.Exists(upperPath)) + continue; + + Conflict conflict = new Conflict(); + conflict.conflictingFiles = new List(); + conflict.conflictText = lowerMod.Title + " overrides " + upperMod.Title; + + // For each file... + foreach (string filePath in Directory.EnumerateFiles(upperPath, "*.*", SearchOption.AllDirectories)) + { + string relUpperPath = Utils.MakeRelativePath(upperPath, filePath); + + // ... check if it gets overwritten by the lower mod: + if (lowerRelPaths.Contains(relUpperPath)) + { + // If it does, add it to the list of conflicting files: + if (!conflict.conflictingFiles.Contains(relUpperPath)) + conflict.conflictingFiles.Add(relUpperPath); + } + } + + // Add the conflict to the conflictingMods list, if files get overwritten: + if (conflict.conflictingFiles.Count > 0) + conflictingMods.Add(conflict); + } + } + return conflictingMods; + } + + /// + /// Searches through the list of mods and returns a list of conflicting archive names. + /// + public static List GetConflictingArchiveNames(List mods) + { + List customArchiveNames = new List(); + List conflictingArchiveNames = new List(); + foreach (ManagedMod mod in mods) + { + if (mod.Method == ManagedMod.DeploymentMethod.SeparateBA2 && mod.Enabled) + { + if (customArchiveNames.Contains(mod.ArchiveName.ToLower())) + { + Conflict conflict = new Conflict(); + conflict.conflictText = $"{mod.Title} uses a taken archive name: {mod.ArchiveName}"; + conflict.conflictingArchiveName = mod.ArchiveName; + conflictingArchiveNames.Add(conflict); + } + else + { + customArchiveNames.Add(mod.ArchiveName.ToLower()); + } + } + } + return conflictingArchiveNames; + } + } +} diff --git a/Fo76ini/Mods/ModInstallations.cs b/Fo76ini/Mods/ModInstallations.cs new file mode 100644 index 0000000..0dddfb5 --- /dev/null +++ b/Fo76ini/Mods/ModInstallations.cs @@ -0,0 +1,342 @@ +using Fo76ini.Interface; +using Fo76ini.Utilities; +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; + +namespace Fo76ini.Mods +{ + /// + /// Bundles methods that handle the installation and import of mods. + /// External files --> Managed mods + /// + public static class ModInstallations + { + /// + /// Adds a new blank mod. + /// + public static void InstallBlank(ManagedMods mods) + { + ManagedMod newMod = new ManagedMod(mods.GamePath); + newMod.Title = "Untitled"; + newMod.ArchiveName = "untitled.ba2"; + Directory.CreateDirectory(newMod.ManagedFolderPath); + mods.Add(newMod); + mods.Save(); + } + + /// + /// Extracts the archive and adds the mod to the list. + /// Saves the xml file afterwards. + /// + /// When false, creates a new "frozen" mod. + public static void InstallArchive(ManagedMods mods, string filePath, bool useSourceBA2Archive = false, Action ProgressChanged = null) + { + ManagedMod newMod = ModInstallations.FromArchive(mods.GamePath, filePath, useSourceBA2Archive, ProgressChanged); + mods.Add(newMod); + mods.Save(); + ProgressChanged?.Invoke(Progress.Done("Mod archive installed.")); + } + + /// + /// Creates a new mod from any supported archive. (zip, tar, rar, 7z, ba2) + /// BA2 files can be installed frozen if needed. + /// + /// Path to the game installation + /// Path to archive + /// When false, creates a new "frozen" mod. + /// + private static ManagedMod FromArchive(string gamePath, string filePath, bool useSourceBA2Archive = false, Action ProgressChanged = null) + { + // Get path information: + string longFilePath = EnsureLongPathSupport(filePath); + string fileNameWOEx = Path.GetFileNameWithoutExtension(longFilePath); + string fileExtension = Path.GetExtension(longFilePath); + + // Install mod: + ManagedMod newMod = new ManagedMod(gamePath); + newMod.Title = fileNameWOEx; + newMod.ArchiveName = fileNameWOEx + ".ba2"; + + // Extract mod: + ProgressChanged?.Invoke(Progress.Indetermined($"Extracting {Path.GetFileName(filePath)}")); + ModInstallations.ExtractArchive(longFilePath, newMod.ManagedFolderPath); + + // Freeze mod conditionally: + if (useSourceBA2Archive && fileExtension == ".ba2") + { + // Copy *.ba2 into FrozenData: + FileInfo frozenPath = new FileInfo(newMod.FrozenArchivePath); + ProgressChanged?.Invoke(Progress.Indetermined($"Copying {Path.GetFileName(filePath)} to {frozenPath.DirectoryName}")); + Directory.CreateDirectory(frozenPath.DirectoryName); + File.Copy(longFilePath, frozenPath.FullName, true); + + newMod.Frozen = true; + newMod.Freeze = true; + newMod.PreviousMethod = ManagedMod.DeploymentMethod.SeparateBA2; + newMod.Method = ManagedMod.DeploymentMethod.SeparateBA2; + } + else + { + ModActions.CleanUpFolder(newMod.ManagedFolderPath, ProgressChanged); + ModActions.DetectOptimalModInstallationOptions(newMod); + } + + return newMod; + } + + /// + /// Extracts the archive and then copy and replaces from the temp folder into the managed mod folder. + /// + public static void AddArchive(ManagedMod mod, string filePath, Action ProgressChanged = null) + { + string longFilePath = EnsureLongPathSupport(filePath); + string tempFolderPath = Path.Combine(Path.GetTempPath(), $"tmp_{mod.guid}"); + if (Directory.Exists(tempFolderPath)) + Directory.Delete(tempFolderPath, true); + Directory.CreateDirectory(tempFolderPath); + + ProgressChanged?.Invoke(Progress.Indetermined($"Extracting {Path.GetFileName(filePath)}")); + ModInstallations.ExtractArchive(longFilePath, tempFolderPath); + ModActions.CleanUpFolder(tempFolderPath, ProgressChanged); + CopyDirectory(tempFolderPath, mod.ManagedFolderPath, ProgressChanged); + + Directory.Delete(tempFolderPath, true); + + ProgressChanged?.Invoke(Progress.Done("Archive added to mod.")); + } + + /// + /// Copies the folder and adds the mod to the list. + /// Saves the xml file afterwards. + /// + public static void InstallFolder(ManagedMods mods, string folderPath, Action ProgressChanged = null) + { + ManagedMod newMod = ModInstallations.FromFolder(mods.GamePath, folderPath, ProgressChanged); + mods.Add(newMod); + mods.Save(); + ProgressChanged?.Invoke(Progress.Done("Mod folder installed.")); + } + + /// + /// Creates a new mod from a folder. + /// + /// Path to the game installation + /// Path to folder + /// + private static ManagedMod FromFolder(string gamePath, string folderPath, Action ProgressChanged = null) + { + // Get path information: + folderPath = EnsureLongPathSupport(folderPath); + string folderName = Path.GetFileName(folderPath); + + // Install mod: + ManagedMod newMod = new ManagedMod(gamePath); + newMod.Title = folderName; + newMod.ArchiveName = folderName + ".ba2"; + + // Copy folder: + CopyDirectory(folderPath, newMod.ManagedFolderPath, ProgressChanged); + + ModActions.CleanUpFolder(newMod.ManagedFolderPath, ProgressChanged); + ModActions.DetectOptimalModInstallationOptions(newMod); + + return newMod; + } + + /// + /// Copies and replaces from the external folder into the managed mod folder. + /// + /// If true, will copy the folder instead of it's contents. + public static void AddFolder(ManagedMod mod, string folderPath, bool copyFolder, Action ProgressChanged = null) + { + string longFolderPath = EnsureLongPathSupport(folderPath); + string folderName = Path.GetFileName(folderPath); + CopyDirectory(longFolderPath, + copyFolder ? Path.Combine(mod.ManagedFolderPath, folderName) : mod.ManagedFolderPath, + ProgressChanged); + // TODO: ModActions.CleanUpFolder(newMod.ManagedFolderPath, ProgressChanged); + ProgressChanged?.Invoke(Progress.Done("Folder added to mod.")); + } + + /// + /// Looks through the resource lists in the *.ini and imports *.ba2 archives. + /// + public static void ImportInstalledMods(ManagedMods mods, Action ProgressChanged = null) + { + // TODO: ProgressChanged for ImportInstalledMods + ProgressChanged?.Invoke(Progress.Indetermined("Importing already installed mods...")); + + // Get all archives: + ResourceList IndexFileList = ResourceList.GetResourceIndexFileList(); + ResourceList Archive2List = ResourceList.GetResourceArchive2List(); + + /* + * Prepare list: + */ + + // Add all archives: + List installedMods = new List(); + installedMods.AddRange(IndexFileList); + installedMods.AddRange(Archive2List); + installedMods.AddRange(mods.Resources); + + // Remove bundled archives: + installedMods = installedMods.FindAll(e => !e.ToLower().Contains("bundled")); + + // Remove currently managed archives: + foreach (ManagedMod mod in mods) + if (mod.PreviousMethod == ManagedMod.DeploymentMethod.SeparateBA2) + installedMods.Remove(mod.CurrentArchiveName); + + // Ignore any game files ("SeventySix - *.ba2"): + foreach (string archiveName in IndexFileList) + if (archiveName.StartsWith("SeventySix")) + installedMods.Remove(archiveName); + foreach (string archiveName in Archive2List) + if (archiveName.StartsWith("SeventySix")) + installedMods.Remove(archiveName); + foreach (string archiveName in mods.Resources) + if (archiveName.StartsWith("SeventySix")) + installedMods.Remove(archiveName); + + /* + * Import installed mods: + */ + + foreach (string archiveName in installedMods) + { + string path = Path.Combine(mods.GamePath, "Data", archiveName); + Console.WriteLine(path); + if (File.Exists(path)) + { + // Import archive: + ModInstallations.InstallArchive(mods, path, true); + File.Delete(path); + + // Remove from lists: + IndexFileList.Remove(archiveName); + Archive2List.Remove(archiveName); + } + } + + // Save *.ini files: + IndexFileList.CommitToINI(); + Archive2List.CommitToINI(); + //IniFiles.Instance.SaveAll(); + + mods.Save(); + } + + /// + /// Extracts an archive into the given folder. (Throws exceptions) + /// + /// + /// + /// + public static void ExtractArchive(string archivePath, string destinationPath, Action ProgressChanged = null) + { + // TODO: Make a ModUtilities.cs? + string filePath = Path.GetFullPath(archivePath); + string fileName = Path.GetFileName(filePath); + string fileExtension = Path.GetExtension(filePath); + + Directory.CreateDirectory(destinationPath); + + ProgressChanged?.Invoke(Progress.Indetermined($"Extracting {fileName} ...")); + + /* + * Depending on file extention: + */ + + // Use Archive2.exe to extract: + if (fileExtension.ToLower() == ".ba2") + Archive2.Extract(filePath, destinationPath); + + // Use 7-Zip (7za.exe) to extract: + else if (Utils.SevenZipSupportedFileTypes.Contains(fileExtension.ToLower())) + Utils.ExtractArchive(filePath, destinationPath); + + // Not supported: + else + throw new NotSupportedException($"File type not supported: {fileExtension}"); + + + ProgressChanged?.Invoke(Progress.Done("Extracting finished.")); + } + + /// + /// Recursively copy every file and subdirectory to a new destination. + /// + /// Path *from* where we copy files. + /// Path *to* where we copy files. + public static void CopyDirectory(string sourcePath, string destinationPath, Action ProgressChanged = null) + { + Directory.CreateDirectory(destinationPath); + + DirectoryInfo dir = new DirectoryInfo(sourcePath); + + foreach (FileInfo file in dir.EnumerateFiles("*.*", SearchOption.TopDirectoryOnly)) + { + file.CopyTo(Path.Combine(destinationPath, file.Name), true); + ProgressChanged?.Invoke(Progress.Indetermined($"Copying {file.Name} ({Utils.GetFormatedSize(file.Length)})")); + } + + foreach (DirectoryInfo subdir in dir.GetDirectories()) + CopyDirectory(subdir.FullName, Path.Combine(destinationPath, subdir.Name)); + } + + /// + /// Recursively move every file and subdirectory to a new destination. + /// + /// Path *from* where we move files. + /// Path *to* where we move files. + public static void MoveDirectory(string sourcePath, string destinationPath, Action ProgressChanged = null) + { + Directory.CreateDirectory(destinationPath); + + DirectoryInfo dir = new DirectoryInfo(sourcePath); + + foreach (FileInfo file in dir.EnumerateFiles("*.*", SearchOption.TopDirectoryOnly)) + { + // file.MoveTo has no "bool overwrite" for some reason: + file.CopyTo(Path.Combine(destinationPath, file.Name), true); + file.Delete(); + ProgressChanged?.Invoke(Progress.Indetermined($"Moving {file.Name} ({Utils.GetFormatedSize(file.Length)})")); + } + + foreach (DirectoryInfo subdir in dir.GetDirectories()) + MoveDirectory(subdir.FullName, Path.Combine(destinationPath, subdir.Name)); + + if (Directory.EnumerateFileSystemEntries(sourcePath).Count() == 0) + Directory.Delete(sourcePath); + } + + /// + /// If a path exceeds the 259 character limit, all io methods stop working. + /// Adding @"\\?\" to the beginning of a path works around this issue. + /// + /// + /// The file path with an added @"\\?\" at the beginning if needed. + public static string EnsureLongPathSupport(string filePath) + { + /* + string fullFilePath = Path.GetFullPath(filePath); + if (fullFilePath.Length > 259 && Directory.Exists(@"\\?\" + fullFilePath)) + fullFilePath = @"\\?\" + fullFilePath; + */ + if (!File.Exists(filePath)) + { + // Path too long? + // https://stackoverflow.com/questions/5188527/how-to-deal-with-files-with-a-name-longer-than-259-characters + // https://docs.microsoft.com/de-de/archive/blogs/jeremykuhne/more-on-new-net-path-handling + if (File.Exists(@"\\?\" + filePath)) + { + filePath = @"\\?\" + filePath; + } + } + return filePath; + } + } +} diff --git a/Fo76ini/Mods/Mods.cs b/Fo76ini/Mods/Mods.cs deleted file mode 100644 index 075ad95..0000000 --- a/Fo76ini/Mods/Mods.cs +++ /dev/null @@ -1,2320 +0,0 @@ -using Fo76ini.Mods; -using Newtonsoft.Json.Linq; -using SharpCompress.Common; -using SharpCompress.Readers; -using System; -using System.Collections.Generic; -using System.Diagnostics; -using System.Drawing; -using System.IO; -using System.Linq; -using System.Net; -using System.Text; -using System.Threading; -using System.Threading.Tasks; -using System.Windows.Forms; -using System.Xml.Linq; - -namespace Fo76ini -{ - public class Mod - { - public enum FileType - { - Loose, - BundledBA2, - SeparateBA2 - } - - public enum ArchiveFormat - { - Auto, - General, - Textures - } - - public enum ArchiveCompression - { - Auto, - Compressed, - Uncompressed - } - - private String title; - private String managedFolderName; - public Mod.FileType Type; - private String root; - private bool enabled; - - public int ID = -1; - private String url = ""; - public String Version = ""; - /*public String LatestVersion = ""; - public String ThumbnailURL = ""; - public String Thumbnail = ""; - public String PublicName = "";*/ - - public String URL - { - get - { - return this.url; - } - set - { - this.url = value; - this.ID = -1; - } - } - - /* Does only apply for FileType.Loose */ - private List looseFiles = new List(); - - /* Does only apply for FileType.SeparateBA2 */ - public Mod.ArchiveCompression Compression = Mod.ArchiveCompression.Auto; - private String archiveName = "untitled.ba2"; - public Mod.ArchiveFormat Format = Mod.ArchiveFormat.Auto; - public bool freeze = false; - private bool frozen = false; - - public Mod() - { - this.title = "Untitled"; - this.managedFolderName = "Untitled"; - this.enabled = false; - this.Type = Mod.FileType.BundledBA2; - this.root = "Data"; - } - - // Deep copy: - public Mod(Mod mod) - { - this.title = mod.title; - this.managedFolderName = mod.managedFolderName; - this.enabled = mod.enabled; - this.Type = mod.Type; - this.root = mod.root; - this.looseFiles = new List(mod.looseFiles); - this.Compression = mod.Compression; - this.Format = mod.Format; - this.archiveName = mod.archiveName; - this.freeze = mod.freeze; - this.frozen = mod.frozen; - - this.ID = mod.ID; - this.URL = mod.URL; - this.Version = mod.Version; - /*this.LatestVersion = mod.LatestVersion; - this.ThumbnailURL = mod.ThumbnailURL; - this.Thumbnail = mod.Thumbnail; - this.PublicName = mod.PublicName;*/ - } - - public Mod CreateCopy() - { - return new Mod(this); - } - - public Mod(String title, String managedFolderName, Mod.FileType type, bool enabled) - { - this.Title = title; - this.ManagedFolder = managedFolderName; - this.isEnabled = enabled; - this.Type = type; - } - - public String Title - { - get { return this.title; } - set { this.title = value.Trim().Length > 0 ? value.Trim() : "Untitled"; } - } - - public String ArchiveName - { - get { return this.archiveName; } - set - { - if (value.Trim().Length < 0) - return; - this.archiveName = Utils.GetValidFileName(value, ".ba2"); - } - } - - public String GetTypeName() - { - return Enum.GetName(typeof(Mod.FileType), (int)this.Type); - } - - public String GetFormatName() - { - return Enum.GetName(typeof(Mod.ArchiveFormat), (int)this.Format); - } - - public String GetManagedPath() - { - return Path.Combine(Shared.GamePath, "Mods", this.ManagedFolder); - } - - public String RootFolder - { - get { return this.root; } - set { this.root = value; } - } - - public String ManagedFolder - { - get { return this.managedFolderName; } - set { this.managedFolderName = value; } - } - - public bool isEnabled - { - get { return this.enabled; } - set { this.enabled = value; } - } - - public bool isFrozen() - { - return this.frozen && File.Exists(GetFrozenArchivePath()); - } - - public void OverwriteFrozen(bool isFrozen) - { - ManagedMods.Instance.logFile.WriteLine($"Manually overwritten: (Mod){this.Title}.frozen = {isFrozen}"); - this.frozen = isFrozen; - } - - public void Freeze (Action updateProgress = null, Action done = null) - { - try - { - // Check if mod is not frozen: - if (this.isFrozen()) - return; - - if (updateProgress != null) - updateProgress($"Freezing {this.Title}", -1); - - // Create archive: - String tempPath = Path.Combine(Shared.GamePath, "Mods", "frozen.ba2"); - Archive2.Create(tempPath, GetManagedPath(), ManagedMods.Instance.GetArchive2Preset(this)); - - // Failed? - if (!File.Exists(tempPath)) - { - ManagedMods.Instance.logFile.WriteLine("Error while freezing mod: Couldn't create *.ba2 file. Please check archive2.log.txt.\n"); - if (done != null) - done(false); - return; - } - - this.frozen = true; - this.freeze = true; - - // Remove contents of managed folder: - if (Directory.Exists(GetManagedPath())) - Directory.Delete(GetManagedPath(), true); - Directory.CreateDirectory(GetManagedPath()); - - // Move frozen.ba2 into folder: - File.Move(tempPath, GetFrozenArchivePath()); - - if (done != null) - done(true); - - } - catch (Archive2Exception ex) - { - ManagedMods.Instance.logFile.WriteLine($"Archive2Exception occured while freezing mod '{this.Title}': {ex.Message}\n{ex.StackTrace}\n"); - MsgBox.Get("archive2InstallRequirements").Show(MessageBoxIcon.Error); - if (done != null) - done(false); - return; - } - catch (Exception ex) - { - ManagedMods.Instance.logFile.WriteLine($"Unhandled exception occured while freezing mod '{this.Title}': {ex.Message}\n{ex.StackTrace}\n"); - if (done != null) - done(false); - } - } - - public void Unfreeze(Action updateProgress = null, Action done = null) - { - try - { - // Check if mod is frozen: - if (!this.isFrozen()) - { - ManagedMods.Instance.logFile.WriteLine($"Cannot unfreeze a mod ('{this.Title}') which isn't frozen.\n"); - if (done != null) - done(false); - return; - } - - if (updateProgress != null) - updateProgress($"Unfreezing {this.Title}", -1); - - this.frozen = false; - this.freeze = false; - - // Move frozen.ba2 out of folder: - String tempPath = Path.Combine(Shared.GamePath, "Mods", "frozen.ba2"); - File.Move(GetFrozenArchivePath(), tempPath); - - // Remove contents of managed folder: - if (Directory.Exists(GetManagedPath())) - Directory.Delete(GetManagedPath(), true); - Directory.CreateDirectory(GetManagedPath()); - - // Extract frozen archive: - Archive2.Extract(tempPath, GetManagedPath()); - - // Remove frozen archive: - File.Delete(tempPath); - - if (done != null) - done(true); - } - catch (Archive2Exception ex) - { - ManagedMods.Instance.logFile.WriteLine($"Archive2Exception occured while unfreezing mod '{this.Title}': {ex.Message}\n{ex.StackTrace}\n"); - MsgBox.Get("archive2InstallRequirements").Show(MessageBoxIcon.Error); - if (done != null) - done(false); - return; - } - catch (Exception ex) - { - ManagedMods.Instance.logFile.WriteLine($"Unhandled exception occured while unfreezing mod '{this.Title}': {ex.Message}\n{ex.StackTrace}\n"); - if (done != null) - done(false); - return; - } - } - - public String GetFrozenArchivePath() - { - return Path.Combine(GetManagedPath(), "frozen.ba2"); - } - - public void AddFile(String path) - { - if (this.Type == Mod.FileType.Loose) - this.looseFiles.Add(path); - else - throw new InvalidOperationException($"Can't add loose files to a \"{this.GetTypeName()}\" type mod."); - } - - public void ClearFiles() - { - this.looseFiles.Clear(); - } - - public List LooseFiles - { - get { return this.looseFiles; } - set - { - if (this.Type == Mod.FileType.Loose) - this.looseFiles = value; - else - throw new InvalidOperationException($"Can't set loose files because mod is of \"{this.GetTypeName()}\" type."); - } - } - - override public String ToString() - { - return $"Mod \"{Title}\":\n Enabled: {isEnabled}\n Installation type: {this.GetTypeName()}\n Root folder: {RootFolder}\n File count: {this.looseFiles.Count}"; - } - - public XElement Serialize() - { - // - XElement xmlMod = new XElement("Mod", - new XAttribute("title", this.title), - new XAttribute("enabled", this.enabled), - new XAttribute("modFolder", this.managedFolderName), - new XAttribute("installType", this.GetTypeName())); - - if (this.URL != "") - xmlMod.Add(new XAttribute("url", this.URL)); - - if (this.Version != "") - xmlMod.Add(new XAttribute("version", this.Version)); - - /*if (this.LatestVersion != "") - xmlMod.Add(new XAttribute("latestVersion", this.LatestVersion)); - - if (this.ThumbnailURL != "") - xmlMod.Add(new XAttribute("thumbnailUrl", this.ThumbnailURL)); - - if (this.Thumbnail != "") - xmlMod.Add(new XAttribute("thumbnail", this.Thumbnail)); - - if (this.PublicName != "") - xmlMod.Add(new XAttribute("publicName", this.PublicName));*/ - - if (this.Type == Mod.FileType.Loose && this.enabled) - foreach (String filePath in this.looseFiles) - xmlMod.Add(new XElement("File", new XAttribute("path", filePath))); - - if (this.Type == Mod.FileType.SeparateBA2) - { - String compressionStr = Enum.GetName(typeof(Mod.ArchiveCompression), (int)Compression); - xmlMod.Add(new XAttribute("archiveName", archiveName)); - xmlMod.Add(new XAttribute("compression", compressionStr)); - xmlMod.Add(new XAttribute("format", this.GetFormatName())); - if (frozen) - xmlMod.Add(new XAttribute("frozen", frozen)); - } - - if (this.Type == Mod.FileType.Loose) - { - xmlMod.Add(new XAttribute("root", this.root)); - } - - return xmlMod; - } - - public static Mod Deserialize(XElement xmlMod) - { - if (xmlMod.Attribute("title") == null || - xmlMod.Attribute("modFolder") == null || - xmlMod.Attribute("enabled") == null || - xmlMod.Attribute("installType") == null) - throw new InvalidDataException("Some attributes are missing."); - Mod mod = new Mod(); - mod.Title = xmlMod.Attribute("title").Value; - mod.ManagedFolder = xmlMod.Attribute("modFolder").Value; - - if (xmlMod.Attribute("url") != null) - mod.URL = xmlMod.Attribute("url").Value; - - if (xmlMod.Attribute("version") != null) - mod.Version = xmlMod.Attribute("version").Value; - - /*if (xmlMod.Attribute("latestVersion") != null) - mod.LatestVersion = xmlMod.Attribute("latestVersion").Value; - - if (xmlMod.Attribute("thumbnailUrl") != null) - mod.ThumbnailURL = xmlMod.Attribute("thumbnailUrl").Value; - - if (xmlMod.Attribute("thumbnail") != null) - mod.Thumbnail = xmlMod.Attribute("thumbnail").Value; - - if (xmlMod.Attribute("publicName") != null) - mod.PublicName = xmlMod.Attribute("publicName").Value;*/ - - try - { - mod.isEnabled = Convert.ToBoolean(xmlMod.Attribute("enabled").Value); - } - catch (FormatException ex) - { - throw new InvalidDataException($"Invalid 'enabled' value: {xmlMod.Attribute("enabled").Value}"); - } - switch (xmlMod.Attribute("installType").Value) - { - case "Loose": - mod.Type = Mod.FileType.Loose; - break; - case "BA2Archive": // Backward compatibility - case "BundledBA2": - case "BundledBA2Textures": // Backward compatibility - mod.Type = Mod.FileType.BundledBA2; - break; - case "SeparateBA2": - mod.Type = Mod.FileType.SeparateBA2; - break; - default: - throw new InvalidDataException($"Invalid mod installation type: {xmlMod.Attribute("installType").Value}"); - } - if (xmlMod.Attribute("format") != null) - { - switch (xmlMod.Attribute("format").Value) - { - case "General": - mod.Format = Mod.ArchiveFormat.General; - break; - case "DDS": // Backward compatibility - case "Textures": - mod.Format = Mod.ArchiveFormat.Textures; - break; - case "Auto": - default: - mod.Format = Mod.ArchiveFormat.Auto; - break; - } - } - if (mod.Type == Mod.FileType.SeparateBA2 && - xmlMod.Attribute("compression") != null && - xmlMod.Attribute("archiveName") != null) - { - switch (xmlMod.Attribute("compression").Value) - { - case "Default": // Backward compatibility - case "Compressed": - mod.Compression = Mod.ArchiveCompression.Compressed; - break; - case "None": // Backward compatibility - case "Uncompressed": - mod.Compression = Mod.ArchiveCompression.Uncompressed; - break; - case "Auto": - default: - mod.Compression = Mod.ArchiveCompression.Auto; - break; - } - //mod.Compression = Archive2.GetCompression(xmlMod.Attribute("compression").Value); - mod.ArchiveName = xmlMod.Attribute("archiveName").Value; - if (xmlMod.Attribute("frozen") != null) - { - mod.frozen = Convert.ToBoolean(xmlMod.Attribute("frozen").Value); - mod.freeze = mod.frozen; - } - } - if (mod.Type == Mod.FileType.Loose && - xmlMod.Attribute("root") != null) - { - mod.RootFolder = xmlMod.Attribute("root").Value; - if (mod.isEnabled) - foreach (XElement xmlFile in xmlMod.Descendants("File")) - if (xmlFile.Attribute("path") != null) - mod.AddFile(xmlFile.Attribute("path").Value); - else - throw new InvalidDataException("path attribute is missing from tag"); - } - return mod; - } - } - - public class ManagedMods - { - private static ManagedMods instance = null; - private static readonly object padlock = new object(); - - public static ManagedMods Instance - { - get - { - lock (padlock) - { - if (instance == null) - { - instance = new ManagedMods(); - } - return instance; - } - } - } - - private ManagedMods() - { - Shared.LoadGameEdition(); - Shared.LoadGamePath(); - - bool nwMode = IniFiles.Instance.GetBool(IniFile.Config, "Mods", "bDisableMods", false); - this.ModsDisabled = nwMode; - this.WriteDataDirs = IniFiles.Instance.GetBool(IniFile.Config, "Mods", "bWriteSResourceDataDirsFinal", false); - this.logFile = new Log(Log.GetFilePath("modmanager.log.txt")); - } - - private List mods = new List(); - private List changedMods = new List(); - public bool ModsDisabled = false; - public bool WriteToF76Custom = true; - public bool WriteDataDirs = false; - public Log logFile; - - // Use lower-case, plz - private List whitelistedDlls = new List() { - "bink2w64.dll", - "chrome_elf.dll", - "concrt140.dll", - "d3dcompiler_43.dll", - "libcef.dll", - "libegl.dll", // "libEGL.dll", - "libglesv2.dll", // "libGLESv2.dll", - "msvcp140.dll", - "ortp_x64.dll", - "steam_api64.dll", - "vccorlib140.dll", - "vcruntime140.dll", - "vivoxsdk_x64.dll", - "d3dcompiler_46.dll", - "d3dcompiler_47.dll" - // "x3daudio1_7.dll" ? - }; - - public static String GetEditionSuffix(int gameEdition) - { - return ManagedMods.GetEditionSuffix((GameEdition)gameEdition); - } - - public static String GetGamePathKey(int gameEdition) - { - return ManagedMods.GetGamePathKey((GameEdition)gameEdition); - } - - public static String GetEditionSuffix(GameEdition gameEdition) - { - switch (gameEdition) - { - case GameEdition.Steam: - return "Steam"; - case GameEdition.BethesdaNet: - return "BethesdaNet"; - case GameEdition.BethesdaNetPTS: - return "BethesdaNetPTS"; - case GameEdition.MSStore: - return "MSStore"; - default: - return ""; - } - } - - public static String GetGamePathKey (GameEdition gameEdition) - { - return "sGamePath" + GetEditionSuffix(gameEdition); - } - - private List CreateDeepCopy(List original) - { - List copy = new List(); - foreach (Mod mod in original) - copy.Add(mod.CreateCopy()); - return copy; - } - - public List Mods - { - get { return this.changedMods; } - } - - private void DeleteAt(int index) - { - String managedFolderPath = Path.Combine(Shared.GamePath, "Mods", this.changedMods[index].ManagedFolder); - if (Directory.Exists(managedFolderPath)) - Directory.Delete(managedFolderPath, true); - this.changedMods.RemoveAt(index); - //this.mods.RemoveAt(index); - } - - /// - /// Delete all files of the mod and remove it from the list. - /// Saves the manifest afterwards. - /// - /// - /// - public void DeleteMod(int index, Action done = null) - { - DeleteAt(index); - this.Save(); - if (done != null) - done(); - } - - public void DeleteMods(List indices, Action done = null) - { - indices = indices.OrderByDescending(i => i).ToList(); - foreach (int index in indices) - DeleteAt(index); - this.Save(); - if (done != null) - done(); - } - - public void UnfreezeMods(List indices, Action updateProgress = null, Action done = null) - { - foreach (int index in indices) - { - Mod mod = this.Mods[index]; - if (updateProgress != null) - updateProgress($"Unfreezing {mod.Title}...", (index + 1) / indices.Count() * 100); - mod.Unfreeze(); - } - if (done != null) - done(); - } - - public bool ValidateGamePath(String path) - { - return path != null && path.Trim().Length > 0 && Directory.Exists(path) && Directory.Exists(Path.Combine(path, "Data")); - } - - public bool ValidateGamePath() - { - return this.ValidateGamePath(Shared.GamePath); - } - - public String RenameManagedFolder(String currentManagedFolderName, String newManagedFolderName) - { - newManagedFolderName = Utils.GetValidFileName(newManagedFolderName); - if (currentManagedFolderName == newManagedFolderName) - return currentManagedFolderName; - if (!Directory.Exists(Path.Combine(Shared.GamePath, "Mods", currentManagedFolderName))) - return currentManagedFolderName; - - Mod deployedMod = null; - Mod changedMod = null; - foreach (Mod mod in this.mods) - if (mod.ManagedFolder == currentManagedFolderName) - deployedMod = mod; - foreach (Mod mod in this.changedMods) - if (mod.ManagedFolder == currentManagedFolderName) - changedMod = mod; - if (deployedMod == null || changedMod == null) - { - MsgBox.Get("modDetailsMoveManagedFolderFailed").FormatText("Internal error").Show(MessageBoxIcon.Error); - return currentManagedFolderName; - } - - String currentManagedFolderPath = deployedMod.GetManagedPath(); - String newManagedFolderPath = Utils.GetUniquePath(Path.Combine(Shared.GamePath, "Mods", newManagedFolderName)); - newManagedFolderName = Path.GetFileName(newManagedFolderPath); - try - { - Directory.Move(currentManagedFolderPath, newManagedFolderPath); - deployedMod.ManagedFolder = newManagedFolderName; - changedMod.ManagedFolder = newManagedFolderName; - this.Save(); - return newManagedFolderName; - } - catch (Exception exc) - { - MsgBox.Get("modDetailsMoveManagedFolderFailed").FormatText(exc.Message).Show(MessageBoxIcon.Error); - } - return currentManagedFolderName; - } - - public Archive2.Preset GetArchive2Preset(Mod mod) - { - var preset = new Archive2.Preset(); - - // No detection needed, "convert" Mod.ArchiveCompression to Archive2.Compression and Mod.ArchiveFormat to Archive2.Format: - if (mod.Compression != Mod.ArchiveCompression.Auto && mod.Format != Mod.ArchiveFormat.Auto) - { - preset.compression = mod.Compression == Mod.ArchiveCompression.Compressed ? Archive2.Compression.Default : Archive2.Compression.None; - preset.format = mod.Format == Mod.ArchiveFormat.General ? Archive2.Format.General : Archive2.Format.DDS; - - return preset; - } - - // Detect mod type: - // String[] resourceFolders = new string[] { "meshes", "strings", "music", "sound", "textures", "materials", "interface", "geoexporter", "programs", "vis", "scripts", "misc", "shadersfx", "lodsettings" }; - String[] generalFolders = new string[] { "meshes", "strings", "interface", "materials" }; - String[] textureFolders = new string[] { "textures", "effects" }; - String[] soundFolders = new string[] { "sound", "music" }; - - int generalFoldersCount = 0; - int textureFoldersCount = 0; - int soundFoldersCount = 0; - - String managedFolderPath = mod.GetManagedPath(); - IEnumerable folders = Directory.EnumerateDirectories(managedFolderPath); - foreach (String path in folders) - { - String folderName = Path.GetFileName(path).ToLower(); - - if (generalFolders.Contains(folderName)) - generalFoldersCount++; - else if (textureFolders.Contains(folderName)) - textureFoldersCount++; - else if (soundFolders.Contains(folderName)) - soundFoldersCount++; - } - - //int fileCount = Directory.EnumerateFiles(managedFolderPath).Count(); - //if (fileCount == 0) - - if (soundFoldersCount > generalFoldersCount && soundFoldersCount > textureFoldersCount) - { - preset.compression = Archive2.Compression.None; - preset.format = Archive2.Format.General; - } else if (textureFoldersCount > generalFoldersCount && textureFoldersCount > soundFoldersCount) - { - preset.compression = Archive2.Compression.Default; - preset.format = Archive2.Format.DDS; - } else - { - preset.compression = Archive2.Compression.Default; - preset.format = Archive2.Format.General; - } - - return preset; - } - - private void ManipulateModFolder(Mod mod, String managedFolderPath, Action updateProgress = null) - { - foreach (String path in Directory.EnumerateFiles(managedFolderPath)) - { - // If a *.ba2 archive was found, extract it: - if (path.EndsWith(".ba2")) - { - if (ExtractBA2Archive(path, managedFolderPath, updateProgress)) - File.Delete(path); - } - - // Remove crap: - if (path.EndsWith(".txt")) - File.Delete(path); - } - - String[] typicalFolders = new string[] { "meshes", "strings", "music", "sound", "textures", "materials", "interface", "geoexporter", "programs", "vis", "scripts", "misc", "shadersfx" }; - // Do it two times, because it changes files, so we need to check again. - for (int i = 0; i < 2; i++) - { - // Search through all folders in the mod folder. - foreach (String path in Directory.GetDirectories(managedFolderPath)) - { - String name = Path.GetFileName(path).ToLower(); - - // If only a data folder is in the mod folder... - if (name == "data" && Directory.EnumerateFiles(managedFolderPath).Count() == 0) - { - // ... move all files in data on up: - Directory.Move(path, managedFolderPath); - // Delete the empty data folder afterwards: - // Directory.Delete(path); - break; - } - - // If the mod folder contains "textures"... - if (name == "textures" && Directory.EnumerateFiles(managedFolderPath).Count() == 0) - { - // ... set ba2 format type to DDS - if (mod.Format != Mod.ArchiveFormat.Auto) - { - mod.Format = Mod.ArchiveFormat.Textures; - mod.RootFolder = "Data"; - break; - } - } - } - } - - // Search through all files in the mod folder. - foreach (String path in Directory.EnumerateFiles(managedFolderPath)) - { - String name = Path.GetFileName(path).ToLower(); - String extension = Path.GetExtension(path).ToLower(); - - // If the mod contains *.dll files... - if (extension == ".dll") - { - // ... then it probably has to be installed as loose files into the root directory: - mod.Type = Mod.FileType.Loose; - mod.RootFolder = "."; - } - } - } - - private bool ExtractBA2Archive(String archivePath, String destinationPath, Action updateProgress = null) - { - String filePath = Path.GetFullPath(archivePath); - String fileName = Path.GetFileNameWithoutExtension(filePath); - String fileExtension = Path.GetExtension(filePath); - - // Rename *.ba2 file if necessary: - if (fileName.Contains(",") || fileName != Utils.GetValidFileName(fileName)) - { - String newFileName = Utils.GetValidFileName(fileName).Replace(",", "_") + fileExtension; - String newFilePath = Path.Combine(Path.GetDirectoryName(filePath), newFileName); - File.Move(filePath, newFilePath); - fileName = newFileName; - filePath = newFilePath; - } - - if (fileExtension.ToLower() == ".ba2") - { - // For *.ba2 archives, Archive2 has to be installed: - if (!Archive2.ValidatePath()) - { - MsgBox.ShowID("modsArchive2Missing", MessageBoxIcon.Error); - return false; - } - - if (updateProgress != null) - updateProgress($"Extracting {fileName}.ba2 ...", -1); - - Archive2.Extract(filePath, destinationPath); - - return true; - } - else - return false; - } - - private bool ExtractModArchive(String archivePath, String managedFolderPath, Action updateProgress = null) - { - String filePath = Path.GetFullPath(archivePath); - String fileName = Path.GetFileNameWithoutExtension(filePath); - String fileExtension = Path.GetExtension(filePath); - - if (fileExtension.ToLower() == ".ba2") - { - return ExtractBA2Archive(filePath, managedFolderPath); - } - else if ((new String[] { ".zip", ".rar", ".tar", ".tar.gz", ".gz", ".xz", ".lz", ".bz2" }).Contains(fileExtension.ToLower())) - { - try - { - using (Stream stream = File.OpenRead(filePath)) - using (var reader = ReaderFactory.Open(stream)) - { - while (reader.MoveToNextEntry()) - { - if (!reader.Entry.IsDirectory) - { - if (updateProgress != null) - updateProgress(reader.Entry.Key, -1); - reader.WriteEntryToDirectory(managedFolderPath, new ExtractionOptions() - { - ExtractFullPath = true, - Overwrite = true - }); - } - } - } - - return true; - } - catch (InvalidOperationException exc) - { - MsgBox.Get("modsExtractUnknownError").FormatText(exc.Message).Show(MessageBoxIcon.Error); - return false; - } - } - else if ((new String[] { ".7z" }).Contains(fileExtension.ToLower())) - { - try - { - Utils.ExtractArchive(filePath, managedFolderPath); - - if (Directory.Exists(managedFolderPath)) - { - return true; - } - else - { - MsgBox.ShowID("modsExtractUnknownErrorText", MessageBoxIcon.Error); - //MessageBox.Show($"Please uncompress the archive and add the mod as a folder.", "Archive couldn't be uncompressed.", MessageBoxButtons.OK, MessageBoxIcon.Error); - return false; - } - } - catch (Exception exc) - { - MsgBox.Get("modsExtractUnknownError7zip").FormatText(exc.Message).Show(MessageBoxIcon.Error); - return false; - } - } - else - { - //MessageBox.Show($"*{fileExtension} files are not supported.\nPlease uncompress the archive and add the mod as a folder.", "Unsupported file format", MessageBoxButtons.OK, MessageBoxIcon.Error); - MsgBox.Get("modsArchiveTypeNotSupported").FormatText(fileExtension).Show(MessageBoxIcon.Error); - return false; - } - } - - public void InstallModArchiveFrozen(String filePath, Action updateProgress = null, Action done = null) - { - // Some conditions have to be met: - if (Shared.GamePath == null) - { - this.logFile.WriteLine("Couldn't import *.ba2 file: No game path has been set."); - if (done != null) - done(false); - return; - } - - if (!File.Exists(filePath)) - { - // Path too long? - // https://stackoverflow.com/questions/5188527/how-to-deal-with-files-with-a-name-longer-than-259-characters - // https://docs.microsoft.com/de-de/archive/blogs/jeremykuhne/more-on-new-net-path-handling - if (File.Exists(@"\\?\" + filePath)) - { - filePath = @"\\?\" + filePath; - } - else - { - this.logFile.WriteLine($"Error while importing *.ba2 file: Couldn't locate file: {filePath}"); - if (done != null) - done(false); - throw new FileNotFoundException(filePath); - } - } - - try - { - // Create Mods folder: - if (!Directory.Exists(Path.Combine(Shared.GamePath, "Mods"))) - Directory.CreateDirectory(Path.Combine(Shared.GamePath, "Mods")); - - // Get paths: - filePath = Path.GetFullPath(filePath); - String fileName = Path.GetFileNameWithoutExtension(filePath); - String fileExtension = Path.GetExtension(filePath); - String managedFolderPath = Utils.GetUniquePath(Path.Combine(Shared.GamePath, "Mods", fileName)); - String managedFolder = Path.GetFileName(managedFolderPath); - - // Create a new mod: - Mod mod = new Mod(); - mod.Title = fileName; - mod.ManagedFolder = managedFolder; - mod.RootFolder = "Data"; - mod.ArchiveName = fileName; - mod.Type = Mod.FileType.SeparateBA2; - // TODO: Detect archive format: - // mod.Compression = Archive2.Compression.?? - // mod.Format = Mod.ArchiveFormat.?? - mod.freeze = true; - mod.OverwriteFrozen(true); - mod.isEnabled = false; - - // Copy the archive: - if (updateProgress != null) - updateProgress($"Copying {Path.GetFileName(filePath)}", -1); - - if (!Directory.Exists(managedFolderPath)) - Directory.CreateDirectory(managedFolderPath); - - File.Copy(filePath, Path.Combine(managedFolderPath, "frozen.ba2")); - this.AddInstalledMod(mod); - this.Save(); - - if (done != null) - done(true); - } - catch (UnauthorizedAccessException ex) - { - MsgBox.Get("modsAccessDenied").FormatText("UnauthorizedAccessException: " + ex.Message).Show(MessageBoxIcon.Error); - this.logFile.WriteLine($"UnauthorizedAccessException occured while importing a folder: {ex.Message}\n{ex.StackTrace}\n"); - if (done != null) - done(false); - return; - } - catch (Exception ex) - { - this.logFile.WriteLine($"Unhandled exception occured while importing a *.ba2 file: {ex.Message}\n{ex.StackTrace}\n"); - if (done != null) - done(false); - return; - } - } - - /// - /// Extracts the archive and adds the mod. - /// Saves the manifest afterwards. - /// - /// Path to archive - /// Callback: Progress has been made. - /// Callback: It's done. - public void InstallModArchive(String filePath, Action updateProgress = null, Action done = null) - { - // Some conditions have to be met: - if (Shared.GamePath == null) - { - this.logFile.WriteLine("Couldn't import *.ba2 file: No game path has been set."); - if (done != null) - done(false); - return; - } - - if (!File.Exists(filePath)) - { - // Path too long? - // https://stackoverflow.com/questions/5188527/how-to-deal-with-files-with-a-name-longer-than-259-characters - // https://docs.microsoft.com/de-de/archive/blogs/jeremykuhne/more-on-new-net-path-handling - if (File.Exists(@"\\?\" + filePath)) - { - filePath = @"\\?\" + filePath; - } - else - { - this.logFile.WriteLine($"Error while importing *.ba2 file: Couldn't locate file: {filePath}"); - if (done != null) - done(false); - throw new FileNotFoundException(filePath); - } - } - - - if (!Archive2.ValidatePath()) - { - MsgBox.ShowID("modsArchive2Missing", MessageBoxIcon.Error); - this.logFile.WriteLine("Archive2 is missing."); - if (done != null) - done(false); - return; - } - - try - { - // Create Mods folder: - if (!Directory.Exists(Path.Combine(Shared.GamePath, "Mods"))) - Directory.CreateDirectory(Path.Combine(Shared.GamePath, "Mods")); - - // Get paths: - filePath = Path.GetFullPath(filePath); - String fileName = Path.GetFileNameWithoutExtension(filePath); - String fileExtension = Path.GetExtension(filePath); - String managedFolderPath = Utils.GetUniquePath(Path.Combine(Shared.GamePath, "Mods", fileName)); - String managedFolder = Path.GetFileName(managedFolderPath); - /*if (Directory.Exists(managedFolderPath)) - { - managedFolder += DateTime.Now.ToString("(yyyy-MM-dd_HH-mm-ss)"); - managedFolderPath = Path.Combine(this.GamePath, "Mods", managedFolder); - }*/ - - // Create a new mod: - Mod mod = new Mod(); - mod.Title = fileName; - mod.ManagedFolder = managedFolder; - mod.RootFolder = "Data"; - mod.ArchiveName = fileName; - mod.Type = Mod.FileType.BundledBA2; - mod.isEnabled = false; - - // Extract the archive: - if (updateProgress != null) - updateProgress($"Extracting {Path.GetFileName(filePath)}", -1); - if (ExtractModArchive(filePath, managedFolderPath, updateProgress)) - { - ManipulateModFolder(mod, managedFolderPath, updateProgress); - this.AddInstalledMod(mod); - this.Save(); - } - - if (done != null) - done(true); - } - catch (Archive2Exception ex) - { - ManagedMods.Instance.logFile.WriteLine($"Archive2Exception occured while importing an archive: {ex.Message}\n{ex.StackTrace}\n"); - MsgBox.Get("archive2InstallRequirements").Show(MessageBoxIcon.Error); - if (done != null) - done(false); - return; - } - catch (UnauthorizedAccessException ex) - { - MsgBox.Get("modsAccessDenied").FormatText("UnauthorizedAccessException: " + ex.Message).Show(MessageBoxIcon.Error); - this.logFile.WriteLine($"UnauthorizedAccessException occured while importing an archive: {ex.Message}\n{ex.StackTrace}\n"); - if (done != null) - done(false); - return; - } - catch (Exception ex) - { - this.logFile.WriteLine($"Unhandled exception occured while importing an archive: {ex.Message}\n{ex.StackTrace}\n"); - if (done != null) - done(false); - return; - } - } - - /// - /// Copies the folder's contents and adds the mod. - /// Saves the manifest afterwards. - /// - /// Path to directory - /// Callback: "Copying file xyz" and percentage. - /// Callback: It's done. - public void InstallModFolder(String folderPath, Action updateProgress = null, Action done = null) - { - // Some conditions have to be met: - if (Shared.GamePath == null) - { - this.logFile.WriteLine("Couldn't import folder: No game path has been set."); - if (done != null) - done(false); - return; - } - - if (!Directory.Exists(folderPath)) - { - // Path too long? - // https://stackoverflow.com/questions/5188527/how-to-deal-with-files-with-a-name-longer-than-259-characters - // https://docs.microsoft.com/de-de/archive/blogs/jeremykuhne/more-on-new-net-path-handling - if (Directory.Exists(@"\\?\" + folderPath)) - { - folderPath = @"\\?\" + folderPath; - } - else - { - this.logFile.WriteLine($"Error while importing a folder: Couldn't locate folder: {folderPath}"); - if (done != null) - done(false); - throw new FileNotFoundException(folderPath); - } - } - - - if (!Archive2.ValidatePath()) - { - MsgBox.ShowID("modsArchive2Missing", MessageBoxIcon.Error); - this.logFile.WriteLine("Archive2 is missing."); - if (done != null) - done(false); - return; - } - - try - { - // Create Mods folder: - if (!Directory.Exists(Path.Combine(Shared.GamePath, "Mods"))) - Directory.CreateDirectory(Path.Combine(Shared.GamePath, "Mods")); - - // Get paths: - folderPath = Path.GetFullPath(folderPath); - String folderName = Path.GetFileName(folderPath); - String managedFolderPath = Utils.GetUniquePath(Path.Combine(Shared.GamePath, "Mods", folderName)); - String managedFolder = Path.GetFileName(managedFolderPath); - - // Create a new mod: - Mod mod = new Mod(); - mod.Title = folderName; - mod.ManagedFolder = managedFolder; - mod.RootFolder = "Data"; - mod.ArchiveName = folderName; - mod.Type = Mod.FileType.BundledBA2; - mod.isEnabled = false; - - // Copy every file found in the folder: - if (updateProgress != null) - updateProgress($"Indexing {folderName}...", -1); - IEnumerable files = Directory.EnumerateFiles(folderPath, "*.*", SearchOption.AllDirectories); - float count = (float)files.Count(); - if (count == 0) - { - this.logFile.WriteLine($"Imported folder is empty. Abort."); - if (done != null) - done(false); - return; - } - int i = 0; - foreach (String file in files) - { - if (updateProgress != null) - updateProgress($"Copying {Path.GetFileName(file)} ...", Convert.ToInt32((float)i++ / (float)count * 100)); - - // Make a relative path, create directories and copy file: - String destinationPath = Path.Combine(managedFolderPath, Utils.MakeRelativePath(folderPath, file)); - Directory.CreateDirectory(Path.GetDirectoryName(destinationPath)); - File.Copy(file, destinationPath); - } - - ManipulateModFolder(mod, managedFolderPath, updateProgress); - - // Add to mods: - AddInstalledMod(mod); - this.Save(); - - if (done != null) - done(true); - } - catch (Archive2Exception ex) - { - ManagedMods.Instance.logFile.WriteLine($"Archive2Exception occured while importing a folder: {ex.Message}\n{ex.StackTrace}\n"); - MsgBox.Get("archive2InstallRequirements").Show(MessageBoxIcon.Error); - if (done != null) - done(false); - return; - } - catch (UnauthorizedAccessException ex) - { - MsgBox.Get("modsAccessDenied").FormatText("UnauthorizedAccessException: " + ex.Message).Show(MessageBoxIcon.Error); - this.logFile.WriteLine($"UnauthorizedAccessException occured while importing a folder: {ex.Message}\n{ex.StackTrace}\n"); - if (done != null) - done(false); - return; - } - catch (Exception ex) - { - this.logFile.WriteLine($"Unhandled exception occured while importing a folder: {ex.Message}\n{ex.StackTrace}\n"); - if (done != null) - done(false); - return; - } - } - - private void AddInstalledMod(Mod mod) - { - mods.Add(mod.CreateCopy()); - AddMod(mod); - } - - public void AddMod(Mod mod) - { - changedMods.Add(mod); - } - - public void EnableMod(int index) - { - if (changedMods[index].isEnabled) - return; - changedMods[index].isEnabled = true; - } - - public void DisableMod(int index) - { - if (!changedMods[index].isEnabled) - return; - changedMods[index].isEnabled = false; - } - - public void ToggleMod(int index, bool enabled) - { - if (changedMods[index].isEnabled == enabled) - return; - changedMods[index].isEnabled = enabled; - } - - public bool isModEnabled(int index) - { - return changedMods[index].isEnabled; - } - - private int MoveMod(int oldIndex, int newIndex) - { - // https://stackoverflow.com/questions/450233/generic-list-moving-an-item-within-the-list - Mod mod = this.changedMods[oldIndex]; - - this.changedMods.RemoveAt(oldIndex); - - // the actual index could have shifted due to the removal - // if (newIndex > oldIndex) newIndex--; - - this.changedMods.Insert(newIndex, mod); - - return newIndex; - } - - - public int MoveModUp(int index) - { - if (index > 0) - return MoveMod(index, index - 1); - return index; - } - - public int MoveModDown(int index) - { - if (index < this.changedMods.Count - 1) - return MoveMod(index, index + 1); - return index; - } - - /// - /// Compares this.mods and this.changedMods. - /// Since this.mods represents the state on disk and this.changedMods represents changed that are due, - /// if both aren't equal then deployment is necessary. - /// - /// - public bool isDeploymentNecessary() - { - if (this.changedMods.Count() != this.mods.Count()) - return true; - for (int i = 0; i < this.changedMods.Count(); i++) - { - if (this.changedMods[i].isEnabled != this.mods[i].isEnabled || - this.changedMods[i].LooseFiles.Count() != this.mods[i].LooseFiles.Count() || - this.changedMods[i].RootFolder != this.mods[i].RootFolder || - this.changedMods[i].Type != this.mods[i].Type || - this.changedMods[i].ManagedFolder != this.mods[i].ManagedFolder || - this.changedMods[i].Compression != this.mods[i].Compression || - this.changedMods[i].Format != this.mods[i].Format || - this.changedMods[i].freeze != this.mods[i].freeze) - return true; - } - return false; - } - - /*public String GamePath - { - get { return this.gamePath; } - set - { - if (value != null && Directory.Exists(value)) - this.gamePath = Path.GetFullPath(value); - } - }*/ - - public String GetModPath(int index) - { - return Path.Combine(Shared.GamePath, "Mods", this.changedMods[index].ManagedFolder); - } - - public String GetInstalledModPath(int index) - { - return Path.Combine(Shared.GamePath, "Mods", this.mods[index].ManagedFolder); - } - - public struct Conflict - { - public String conflictText; - public List conflictingFiles; - } - - public List GetConflictingFiles() - { - //List conflictingFiles = new List(); - //List conflictingMods = new List(); - List conflictingMods = new List(); - for (int i = 1; i < this.changedMods.Count; i++) - { - Mod lowerMod = this.changedMods[i]; - String lowerPath = Path.Combine(Shared.GamePath, "Mods", lowerMod.ManagedFolder); - if (!lowerMod.isEnabled && Directory.Exists(lowerPath)) - continue; - List lowerRelPaths = new List(); - foreach (String filePath in Directory.EnumerateFiles(lowerPath, "*.*", SearchOption.AllDirectories)) - lowerRelPaths.Add(Utils.MakeRelativePath(lowerPath, filePath)); - - //for (int l = i - 1; l >= 0; l--) - for (int l = 0; l < i; l++) - { - Conflict conflict = new Conflict(); - conflict.conflictingFiles = new List(); - Mod upperMod = this.changedMods[l]; - String upperPath = Path.Combine(Shared.GamePath, "Mods", upperMod.ManagedFolder); - if (!upperMod.isEnabled && Directory.Exists(upperPath)) - continue; - IEnumerable upperFiles = Directory.EnumerateFiles(upperPath, "*.*", SearchOption.AllDirectories); - foreach (String filePath in upperFiles) - { - String relUpperPath = Utils.MakeRelativePath(upperPath, filePath); - if (!relUpperPath.Contains("frozen.ba2") && lowerRelPaths.Contains(relUpperPath)) - { - if (!conflict.conflictingFiles.Contains(relUpperPath)) - conflict.conflictingFiles.Add(relUpperPath); - conflict.conflictText = lowerMod.Title + " overrides " + upperMod.Title; - } - } - if (conflict.conflictingFiles.Count > 0) - conflictingMods.Add(conflict); - } - } - return conflictingMods; - } - - public void ImportInstalledMods() - { - // Get all archives: - List sResourceIndexFileList = (new List(IniFiles.Instance.GetString(IniFile.F76Custom, "Archive", "sResourceIndexFileList", "").Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries))).Distinct().ToList(); - List sResourceArchive2List = (new List(IniFiles.Instance.GetString(IniFile.F76Custom, "Archive", "sResourceArchive2List", "").Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries))).Distinct().ToList(); - - // Prepare list: - List installedMods = new List(); - installedMods.AddRange(sResourceIndexFileList); - installedMods.AddRange(sResourceArchive2List); - installedMods.Remove("bundled.ba2"); - installedMods.Remove("bundled_textures.ba2"); - foreach (Mod mod in this.mods) - if (mod.Type == Mod.FileType.SeparateBA2) - installedMods.Remove(mod.ArchiveName); - - // Ignore any game files ("SeventySix - *.ba2"): - foreach (String archiveName in sResourceIndexFileList) - if (archiveName.StartsWith("SeventySix")) - installedMods.Remove(archiveName); - foreach (String archiveName in sResourceArchive2List) - if (archiveName.StartsWith("SeventySix")) - installedMods.Remove(archiveName); - - // Import every archive: - foreach (String archiveName in installedMods) - { - String path = Path.Combine(Shared.GamePath, "Data", archiveName); - Console.WriteLine(path); - if (File.Exists(path)) - { - // Import archive: - this.InstallModArchiveFrozen(path); - File.Delete(path); - - // Remove from lists: - if (sResourceIndexFileList.Contains(archiveName)) - sResourceIndexFileList.Remove(archiveName); - if (sResourceArchive2List.Contains(archiveName)) - sResourceArchive2List.Remove(archiveName); - } - } - - // Save *.ini files: - sResourceIndexFileList = sResourceIndexFileList.Distinct().ToList(); - sResourceArchive2List = sResourceArchive2List.Distinct().ToList(); - if (sResourceIndexFileList.Count > 0) - IniFiles.Instance.Set(IniFile.F76Custom, "Archive", "sResourceIndexFileList", String.Join(",", sResourceIndexFileList.ToArray())); - else - IniFiles.Instance.Remove(IniFile.F76Custom, "Archive", "sResourceIndexFileList"); - if (sResourceArchive2List.Count > 0) - IniFiles.Instance.Set(IniFile.F76Custom, "Archive", "sResourceArchive2List", String.Join(",", sResourceArchive2List.ToArray())); - else - IniFiles.Instance.Remove(IniFile.F76Custom, "Archive", "sResourceArchive2List"); - IniFiles.Instance.SaveAll(); - } - - public XDocument Serialize() - { - /* - Fallout76\Mods\manifest.xml - - - - - - */ - - XDocument xmlDoc = new XDocument(); - XElement xmlRoot = new XElement("Mods"); - xmlDoc.Add(xmlRoot); - foreach (Mod mod in mods) - { - if (Directory.Exists(mod.GetManagedPath())) - xmlRoot.Add(mod.Serialize()); - } - return xmlDoc; - } - - public void Unload() - { - this.mods.Clear(); - this.changedMods.Clear(); - - Shared.ClearGamePath(); - } - - public void Load() - { - this.mods.Clear(); - this.changedMods.Clear(); - - if (Shared.GamePath == null) - return; - - if (!IniFiles.Instance.GetBool(IniFile.Config, "Preferences", "bMultipleGameEditionsUsed", false)) - this.LoadINILists(); - - String manifestPath = Path.Combine(Shared.GamePath, "Mods", "manifest.xml"); - - if (!File.Exists(manifestPath)) - return; - - XDocument xmlDoc = XDocument.Load(manifestPath); - - foreach (XElement xmlMod in xmlDoc.Descendants("Mod")) - { - try - { - Mod mod = Mod.Deserialize(xmlMod); - if (!Directory.Exists(Path.Combine(Shared.GamePath, "Mods", mod.ManagedFolder))) - continue; - this.AddInstalledMod(mod); - } - catch (Exception ex) - { - /* InvalidDataException, ArgumentException */ - MsgBox.Get("modsInvalidManifestEntry").FormatText(ex.Message).Show(MessageBoxIcon.Warning); - } - } - } - - public void Save() - { - if (Shared.GamePath == null) - { - MsgBox.ShowID("modsGamePathNotSet", MessageBoxIcon.Error); - return; - } - - if (!Directory.Exists(Path.Combine(Shared.GamePath, "Mods"))) - Directory.CreateDirectory(Path.Combine(Shared.GamePath, "Mods")); - - this.CopyINILists(); - this.Serialize().Save(Path.Combine(Shared.GamePath, "Mods", "manifest.xml")); - } - - private class DeployArchive - { - public String tempPath; - public String archiveName; - public Archive2.Format format = Archive2.Format.General; - public Archive2.Compression compression = Archive2.Compression.Default; - public int count = 0; - - public DeployArchive(String name, String tempFolderPath) - { - this.tempPath = Path.Combine(tempFolderPath, name); - if (name == "general") - this.archiveName = "bundled.ba2"; - else - this.archiveName = "bundled_" + name + ".ba2"; - - /*if (Directory.Exists(this.tempPath)) - Directory.Delete(this.tempPath, true);*/ - Directory.CreateDirectory(this.tempPath); - } - } - - public void Deploy(Action updateProgress = null, Action done = null) - { - try - { - this.logFile.WriteLine("\n\n"); - this.logFile.WriteTimeStamp(); - this.logFile.WriteLine($"Version {Shared.VERSION}, deploying..."); - - /* - * Check if everything is ready for deployment: - */ - - // Archive2 existing? - if (!Archive2.ValidatePath()) - { - MsgBox.ShowID("modsArchive2Missing", MessageBoxIcon.Error); - this.logFile.WriteLine("Failed: Couldn't find Archive2"); - if (done != null) - done(false); - return; - } - - // Game path existing? - if (Shared.GamePath == null) - { - if (done != null) - done(false); - return; - } - - // Game path valid? - if (!Directory.Exists(Path.Combine(Shared.GamePath, "Data"))) - { - MsgBox.ShowID("modsGamePathInvalid", MessageBoxIcon.Error); - this.logFile.WriteLine("Failed: Game path invalid"); - if (done != null) - done(false); - return; - } - - // Check if we don't have multiple mods with the same archive name: - List customArchiveNames = new List(); - foreach (Mod mod in this.changedMods) - { - if (mod.Type == Mod.FileType.SeparateBA2 && mod.isEnabled) - { - if (customArchiveNames.Contains(mod.ArchiveName.ToLower())) - { - MsgBox.Get("modsSameArchiveName").FormatText(mod.ArchiveName, mod.Title).Show(MessageBoxIcon.Error); - this.logFile.WriteLine($"Conflict: Multiple mods with the same archive name. (1st conflict: '{mod.ArchiveName}', '{mod.Title}')"); - if (done != null) - done(false); - return; - } - else - { - customArchiveNames.Add(mod.ArchiveName.ToLower()); - } - } - } - - - - /* - * Check / declare parameters - */ - - // NW Mode: - if (this.ModsDisabled) - { - this.logFile.WriteLine("NOTE: Nuclear Winter mode enabled. (Disable Mods checkbox checked)"); - IniFiles.Instance.Set(IniFile.Config, "Mods", "bDisableMods", this.ModsDisabled); - } - else - { - IniFiles.Instance.Set(IniFile.Config, "Mods", "bDisableMods", false); - } - - // Hard links: - bool useHardlinks = IniFiles.Instance.GetBool(IniFile.Config, "Mods", "bUseHardlinks", true); - this.logFile.WriteLine("Deployment method: " + (useHardlinks ? "Make hard links" : "Make copies (slow)")); - - // Create temp folder: - String tempPath = Path.Combine(Shared.GamePath, "temp"); - if (Directory.Exists(tempPath)) - Directory.Delete(tempPath, true); - Directory.CreateDirectory(tempPath); - - // Setup 'DeployArchives' for every bundled archive: - DeployArchive generalArchive = new DeployArchive("general", tempPath); - DeployArchive texturesArchive = new DeployArchive("textures", tempPath); - texturesArchive.format = Archive2.Format.DDS; - DeployArchive soundsArchive = new DeployArchive("sounds", tempPath); - soundsArchive.compression = Archive2.Compression.None; - var archives = new List() { generalArchive, texturesArchive, soundsArchive }; - - // Frozen bundled archives feature: - bool freezeBundledArchives = IniFiles.Instance.GetBool(IniFile.Config, "Mods", "bFreezeBundledArchives", false); - bool frozenBundledArchivesAvailable = false; - bool repackBundledArchives = true; - String frozenBundledFolder = Path.Combine(Shared.GamePath, "Mods", "_frozen"); - if (freezeBundledArchives) - { - this.logFile.WriteLine($"NOTE: Experimental feature 'Freeze bundled archives' enabled."); - - // Create folder: - if (!Directory.Exists(frozenBundledFolder)) - Directory.CreateDirectory(frozenBundledFolder); - - // Do we have frozen archives? - foreach (DeployArchive archive in archives) - frozenBundledArchivesAvailable = frozenBundledArchivesAvailable || File.Exists(Path.Combine(frozenBundledFolder, archive.archiveName)); - - // Don't repack archives when disabling mods: - if (this.ModsDisabled) - repackBundledArchives = false; - - // Ask user whether to deploy frozen archives or repack them: - else if (frozenBundledArchivesAvailable) - repackBundledArchives = MsgBox.Get("modsRepackFrozenBundledArchives").Show(MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes; - } - - // Parse lists: - // sResourceIndexFileList, sResourceArchive2List, sResourceDataDirsFinal - List sResourceIndexFileList = LoadResourceList("sResourceIndexFileList"); - List sResourceDataDirsFinal = new List(IniFiles.Instance.GetString(IniFile.F76Custom, "Archive", "sResourceDataDirsFinal", "").Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries)); - - - /* - ***************************************************** - * Beginning of deployment: - ***************************************************** - */ - - - /* - * Remove any leftover files from previous installations: - */ - - this.logFile.WriteLine($"\n\nREMOVING MODS\n"); - - // Remove all loose files: - int i = 0; - foreach (Mod mod in this.mods) - { - if (updateProgress != null) - updateProgress($"[1/4] Removing files of mod {mod.Title} ({i} of {this.mods.Count})", Convert.ToInt32((float)i / (float)this.mods.Count * 20)); - - if (!mod.isEnabled) - continue; - - if (mod.Type == Mod.FileType.Loose) - { - foreach (String relFilePath in mod.LooseFiles) - { - String installedFilePath = Path.Combine(Shared.GamePath, mod.RootFolder, relFilePath).Replace("\\.\\", "\\"); - - // Delete file, if existing: - if (File.Exists(installedFilePath)) - File.Delete(installedFilePath); - - // Use backups, if there are any: - if (File.Exists(installedFilePath + ".old")) - File.Move(installedFilePath + ".old", installedFilePath); - else - { - // Remove empty folders one by one, if existing: - String parent = Path.GetDirectoryName(installedFilePath); - while (Directory.Exists(parent) && Utils.IsDirectoryEmpty(parent)) - { - Directory.Delete(parent); - parent = Path.GetDirectoryName(parent); - } - } - } - this.logFile.WriteLine($"Loose files of mod {mod.Title} removed."); - } - else if (mod.Type == Mod.FileType.SeparateBA2) - { - String path = Path.Combine(Shared.GamePath, "Data", mod.ArchiveName); - if (File.Exists(path)) - File.Delete(path); - - if (sResourceIndexFileList.Contains(mod.ArchiveName)) - { - sResourceIndexFileList = sResourceIndexFileList.Distinct().ToList(); - sResourceIndexFileList.Remove(mod.ArchiveName); - } - this.logFile.WriteLine($"*.ba2 archive of mod {mod.Title} removed."); - } - - i++; - } - - - /* - * Copy all mods - */ - - this.logFile.WriteLine($"\n\nCOPYING MODS\n"); - - i = 0; - /*int enabledBA2GeneralMods = 0; - int enabledBA2TexturesMods = 0;*/ - int enabledLooseMods = 0; - List allModRelPaths = new List(); - int enabledModsCount = this.changedMods.Count(n => n.isEnabled); - float modPercent = 1f / (float)enabledModsCount * 0.8f; - foreach (Mod mod in this.changedMods) - { - /* - * Skip if nuclear winter mode is enabled. - * Skip if mod is disabled. - * Show error if mod folder wasn't found - */ - if (this.ModsDisabled) - break; - - if (!mod.isEnabled) - continue; - - String progressModName = $"{mod.Title} ({i + 1} of {enabledModsCount})"; - int progressPercent = Convert.ToInt32((float)i / (float)enabledModsCount * 80 + 20); - - if (updateProgress != null) - updateProgress($"[2/4] Deploying mod {progressModName}", progressPercent); - - String managedFolderPath = Path.Combine(Shared.GamePath, "Mods", mod.ManagedFolder); - if (!Directory.Exists(managedFolderPath)) - { - //MessageBox.Show($"Directory \"{managedFolderPath}\" does not exist.\nPlease restart the mod manager and add the mod again.", $"Mod {mod.Title} couldn't be deployed.", MessageBoxButtons.OK, MessageBoxIcon.Error); - MsgBox.Get("modsDeployErrorModDirNotFound") - .FormatTitle(mod.Title) - .FormatText(managedFolderPath) - .Show(MessageBoxIcon.Error); - continue; - } - - /* - * Copy files into temporary folder for bundled archives - */ - if (mod.Type == Mod.FileType.BundledBA2) - { - // Frozen bundled feature: - if (!repackBundledArchives) - { - this.logFile.WriteLine($"[Bundled] Skipping {mod.Title}"); - continue; - } - - // Check if root folder is data: - if (!mod.RootFolder.Contains("Data")) - { - MsgBox.Get("modsDeployErrorBA2RootIsNotData") - .FormatTitle(mod.Title) - .Show(MessageBoxIcon.Error); - //MessageBox.Show("The root folder has to be set to \".\\Data\" for mods, that are to be installed as a bundled *.ba2 archive.", $"Mod {mod.Title} couldn't be deployed.", MessageBoxButtons.OK, MessageBoxIcon.Error); - continue; - } - - this.logFile.WriteLine($"[Bundled] Copying files of {mod.Title} to temp folder."); - - int generalFiles = 0; - int DDSFiles = 0; - int soundFiles = 0; - - // Copy all files to temp data path: - // String[] files = Directory.GetFiles(managedFolderPath, "*.*", SearchOption.AllDirectories); - IEnumerable files = Directory.EnumerateFiles(managedFolderPath, "*.*", SearchOption.AllDirectories); - int count = files.Count(); - int f = 0; - foreach (String filePath in files) - { - if (updateProgress != null) - updateProgress($"[2/4] Copying file {f} of {count} (\"{Path.GetFileName(filePath)}\") of mod {progressModName}", progressPercent + (int)((float)f++ / (float)count * modPercent * 100)); - - // Make a relative path, create directories and copy file: - String relativePath = Utils.MakeRelativePath(managedFolderPath, filePath); - String destinationPath; - if (relativePath.Trim().ToLower().StartsWith("sound") || relativePath.Trim().ToLower().StartsWith("music") || - filePath.ToLower().EndsWith(".wav") || filePath.ToLower().EndsWith(".xwm") || filePath.ToLower().EndsWith(".fuz") || filePath.ToLower().EndsWith(".lip")) - { - soundFiles++; - destinationPath = Path.Combine(soundsArchive.tempPath, relativePath); - } - else if (filePath.ToLower().EndsWith(".dds")) - { - DDSFiles++; - destinationPath = Path.Combine(texturesArchive.tempPath, relativePath); - } - else - { - generalFiles++; - destinationPath = Path.Combine(generalArchive.tempPath, relativePath); - } - Directory.CreateDirectory(Path.GetDirectoryName(destinationPath)); - - if (useHardlinks) - Utils.CreateHardLink(filePath, destinationPath, true); - else - File.Copy(filePath, destinationPath, true); - } - - // Increment counter: - if (generalFiles > 0) - { - //enabledBA2GeneralMods++; - generalArchive.count++; - this.logFile.WriteLine($" General files copied: {generalFiles}"); - } - if (DDSFiles > 0) - { - //enabledBA2TexturesMods++; - texturesArchive.count++; - this.logFile.WriteLine($" *.dds files copied: {DDSFiles}"); - } - if (soundFiles > 0) - { - //enabledBA2TexturesMods++; - soundsArchive.count++; - this.logFile.WriteLine($" Sound files copied: {soundFiles}"); - } - } - /* - * Install separate archive: - */ - else if (mod.Type == Mod.FileType.SeparateBA2) - { - // Check if root folder is data: - if (!mod.RootFolder.Contains("Data")) - { - MsgBox.Get("modsDeployErrorBA2RootIsNotData") - .FormatTitle(mod.Title) - .Show(MessageBoxIcon.Error); - //MessageBox.Show("The root folder has to be set to \".\\Data\" for mods, that are to be installed as a bundled *.ba2 archive.", $"Mod {mod.Title} couldn't be deployed.", MessageBoxButtons.OK, MessageBoxIcon.Error); - continue; - } - - // Check if folder is empty: - if (!mod.isFrozen() && Utils.IsDirectoryEmpty(mod.GetManagedPath())) - { - this.logFile.WriteLine($"[Separate] Skipping {mod.Title} because it's folder is empty."); - continue; - } - - if (mod.freeze) - { - if (mod.isFrozen()) - { - this.logFile.WriteLine($"[Separate] Copying frozen archive of {mod.Title}."); - this.logFile.WriteLine($" Archive name: {mod.ArchiveName}"); - } - else - { - Archive2.Preset preset = GetArchive2Preset(mod); - - this.logFile.WriteLine($"[Separate] Freezing archive of {mod.Title}."); - this.logFile.WriteLine($" Archive name: {mod.ArchiveName}"); - this.logFile.WriteLine($" Format: {Enum.GetName(typeof(Archive2.Format), (int)preset.format)}"); - this.logFile.WriteLine($" Compression: {Enum.GetName(typeof(Archive2.Compression), (int)preset.compression)}"); - - if (updateProgress != null) - updateProgress($"[2/4] Creating a *ba2 archive of mod {progressModName}", progressPercent + (int)(modPercent * 100)); - mod.Freeze(); - } - - // Copy archive: - if (updateProgress != null) - updateProgress($"[2/4] Copying frozen *ba2 archive of mod {progressModName}", progressPercent + (int)(modPercent * 100)); - - string frozenPath = mod.GetFrozenArchivePath(); - string destPath = Path.Combine(Shared.GamePath, "Data", mod.ArchiveName); - if (useHardlinks) - Utils.CreateHardLink(frozenPath, destPath, true); - else - File.Copy(frozenPath, destPath, true); - } - else - { - if (mod.isFrozen()) - { - mod.Unfreeze(); - } - - Archive2.Preset preset = GetArchive2Preset(mod); - - this.logFile.WriteLine($"[Separate] Creating archive of {mod.Title}."); - this.logFile.WriteLine($" Archive name: {mod.ArchiveName}"); - this.logFile.WriteLine($" Format: {Enum.GetName(typeof(Archive2.Format), (int)preset.format)}"); - this.logFile.WriteLine($" Compression: {Enum.GetName(typeof(Archive2.Compression), (int)preset.compression)}"); - - // Create archive: - if (updateProgress != null) - updateProgress($"[2/4] Creating a *ba2 archive of mod {progressModName}", progressPercent + (int)(modPercent * 100)); - Archive2.Create(Path.Combine(Shared.GamePath, "Data", mod.ArchiveName), managedFolderPath, preset); - } - sResourceIndexFileList.Add(mod.ArchiveName); - } - /* - * Install loose files: - */ - else if (mod.Type == Mod.FileType.Loose) - { - // Loose files - List modRelPaths = new List(); - // String[] files = Directory.GetFiles(managedFolderPath, "*.*", SearchOption.AllDirectories); - IEnumerable files = Directory.GetFiles(managedFolderPath, "*.*", SearchOption.AllDirectories); - int count = files.Count(); - int f = 0; - foreach (String filePath in files) - { - if (updateProgress != null) - updateProgress($"[2/4] Copying file {f} of {count} (\"{Path.GetFileName(filePath)}\") of mod {progressModName}", progressPercent + (int)((float)f++ / (float)count * modPercent * 100)); - String relPath = Utils.MakeRelativePath(managedFolderPath, filePath); - modRelPaths.Add(relPath); - String destinationPath = Path.Combine(Shared.GamePath, mod.RootFolder, relPath); - Directory.CreateDirectory(Path.GetDirectoryName(destinationPath)); - if (!allModRelPaths.Contains(relPath) && File.Exists(destinationPath) && !File.Exists(destinationPath + ".old")) - File.Move(destinationPath, destinationPath + ".old"); - - if (useHardlinks) - Utils.CreateHardLink(filePath, destinationPath, true); - else - File.Copy(filePath, destinationPath, true); - } - mod.LooseFiles = modRelPaths; - allModRelPaths.AddRange(modRelPaths); - enabledLooseMods++; - - this.logFile.WriteLine($"[Loose] Files of {mod.Title} copied."); - } - - i++; - } - - - /* - * Create all bundled archives - */ - - this.logFile.WriteLine($"\n\nBUNDLED ARCHIVES\n"); - - sResourceIndexFileList = sResourceIndexFileList.Distinct().ToList(); - if (repackBundledArchives) - { - // Create / delete archives: - foreach (DeployArchive archive in archives) - { - String bundledFrozenArchivePath = Path.Combine(frozenBundledFolder, archive.archiveName); - String bundledLiveArchivePath = Path.Combine(Shared.GamePath, "Data", archive.archiveName); - - if (!this.ModsDisabled && archive.count > 0 && !Utils.IsDirectoryEmpty(archive.tempPath)) - { - // Deploy when files exist and NW mode is disabled: - if (updateProgress != null) - updateProgress($"[3/4] Creating {archive.archiveName}...", -1); - - if (freezeBundledArchives) - { - this.logFile.WriteLine($"Freezing {archive.archiveName}"); - Archive2.Create(bundledFrozenArchivePath, archive.tempPath, archive.compression, archive.format); - - if (updateProgress != null) - updateProgress($"[3/4] Copying {archive.archiveName}...", -1); - - if (useHardlinks) - Utils.CreateHardLink(bundledFrozenArchivePath, bundledLiveArchivePath, true); - else - File.Copy(bundledFrozenArchivePath, bundledLiveArchivePath, true); - } - else - { - this.logFile.WriteLine($"Creating {archive.archiveName}"); - Archive2.Create(bundledLiveArchivePath, archive.tempPath, archive.compression, archive.format); - - // Freeze feature disabled, let's clean up junk: - if (File.Exists(bundledFrozenArchivePath)) - { - this.logFile.WriteLine($"Removing frozen {archive.archiveName}"); - File.Delete(bundledFrozenArchivePath); - } - } - - // Insert entry into list: - sResourceIndexFileList.Insert(0, archive.archiveName); - } - else - { - // Remove archive when NW mode is active or mod is disabled: - - // Delete files: - if (!this.ModsDisabled && File.Exists(bundledFrozenArchivePath)) - { - this.logFile.WriteLine($"Removing frozen {archive.archiveName}"); - File.Delete(bundledFrozenArchivePath); - } - - if (File.Exists(bundledLiveArchivePath)) - { - this.logFile.WriteLine($"Removing {archive.archiveName}"); - File.Delete(bundledLiveArchivePath); - } - - // Remove entry from list: - sResourceIndexFileList.Remove(archive.archiveName); - } - } - } - else - { - // Deploy frozen archives: - foreach (DeployArchive archive in archives) - { - if (updateProgress != null) - updateProgress($"[3/4] Deploying {archive.archiveName}...", -1); - - String bundledFrozenArchivePath = Path.Combine(frozenBundledFolder, archive.archiveName); - String bundledLiveArchivePath = Path.Combine(Shared.GamePath, "Data", archive.archiveName); - - if (this.ModsDisabled) - { - this.logFile.WriteLine($"Removing {archive.archiveName}"); - File.Delete(bundledLiveArchivePath); - sResourceIndexFileList.Remove(archive.archiveName); - } - else if (File.Exists(bundledFrozenArchivePath) && !File.Exists(bundledLiveArchivePath)) - { - this.logFile.WriteLine($"Deploying frozen {archive.archiveName}"); - if (useHardlinks) - Utils.CreateHardLink(bundledFrozenArchivePath, bundledLiveArchivePath, true); - else - File.Copy(bundledFrozenArchivePath, bundledLiveArchivePath, true); - - sResourceIndexFileList.Insert(0, archive.archiveName); - } - else if (!File.Exists(bundledFrozenArchivePath) && File.Exists(bundledLiveArchivePath)) - { - this.logFile.WriteLine($"Removing {archive.archiveName}"); - File.Delete(bundledLiveArchivePath); - sResourceIndexFileList.Remove(archive.archiveName); - } - else if (File.Exists(bundledLiveArchivePath)) - { - this.logFile.WriteLine($"Skipping {archive.archiveName}"); - } - } - } - - /* - * Finishing up... - */ - - if (updateProgress != null) - updateProgress("[4/4] Finishing up...", -1); - this.logFile.WriteLine($"\n\nFINISHING UP"); - - - // Renaming *.dll files - if (!this.ModsDisabled) - RestoreAddedDLLs(); - - // Writing lists to *.ini files - this.logFile.WriteLine($" Changing values in *.ini files..."); - SaveResourceList("sResourceIndexFileList", sResourceIndexFileList); - - // sResourceDataDirsFinal - if (this.WriteDataDirs) - { - sResourceDataDirsFinal.Clear(); - String[] resourceFolders = new string[] { "meshes", "strings", "music", "sound", "textures", "materials", "interface", "geoexporter", "programs", "vis", "scripts", "misc", "shadersfx", "lodsettings" }; - foreach (String folder in Directory.GetDirectories(Path.Combine(Shared.GamePath, "Data"))) - { - String folderName = Path.GetFileName(folder); - if (resourceFolders.Contains(folderName.ToLower())) - sResourceDataDirsFinal.Add(folderName.ToUpper() + "\\"); - } - if (sResourceDataDirsFinal.Count() > 0) - { - IniFiles.Instance.Set(IniFile.F76Custom, "Archive", "sResourceDataDirsFinal", String.Join(",", sResourceDataDirsFinal.Distinct())); - IniFiles.Instance.Set(IniFile.F76Custom, "Archive", "bInvalidateOlderFiles", true); - } - else - { - IniFiles.Instance.Remove(IniFile.F76Custom, "Archive", "sResourceDataDirsFinal"); - IniFiles.Instance.Remove(IniFile.F76Custom, "Archive", "bInvalidateOlderFiles"); - } - } - else - { - IniFiles.Instance.Remove(IniFile.F76Custom, "Archive", "sResourceDataDirsFinal"); - IniFiles.Instance.Remove(IniFile.F76Custom, "Archive", "bInvalidateOlderFiles"); - } - - CopyINILists(); - - // Save *.ini files: - this.logFile.WriteLine($" Saving."); - IniFiles.Instance.SaveAll(); - - // Save manifest.xml: - this.mods = CreateDeepCopy(this.changedMods); - this.Save(); - - // Remove temp folder: - Directory.Delete(tempPath, true); - - this.logFile.WriteLine("Done.\n"); - - if (done != null) - done(true); - } - catch (Archive2Exception ex) - { - ManagedMods.Instance.logFile.WriteLine($"Archive2Exception occured while deploying: {ex.Message}\n{ex.StackTrace}\n"); - MsgBox.Get("archive2InstallRequirements").Show(MessageBoxIcon.Error); - if (done != null) - done(false); - return; - } - catch (UnauthorizedAccessException ex) - { - MsgBox.Get("modsAccessDenied").FormatText("UnauthorizedAccessException: " + ex.Message).Show(MessageBoxIcon.Error); - this.logFile.WriteLine($"UnauthorizedAccessException occured while deploying: {ex.Message}\n{ex.StackTrace}\n"); - if (done != null) - done(false); - } - catch (Exception ex) - { - this.logFile.WriteLine($"Unhandled exception occured: \"{ex.GetType().Name}: {ex.Message}\"\n{ex.StackTrace}"); - if (done != null) - done(false); - } - } - - public List LoadResourceList (String key) - { - List list = new List(IniFiles.Instance.GetString(IniFile.F76Custom, "Archive", key, "").Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries)); - list.AddRange(IniFiles.Instance.GetString(IniFile.Config, "Archive", key, "").Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries)); - return list; - } - - public void SaveResourceList (String key, List list) - { - list = list.Distinct().ToList(); - int count = list.Count(); - String value = String.Join(",", list); - - IniFile iniFile = WriteToF76Custom ? IniFile.F76Custom : IniFile.Config; - IniFile otherIniFile = !WriteToF76Custom ? IniFile.F76Custom : IniFile.Config; - - //this.logFile.WriteLine($" Changing values in *.ini files..."); - this.logFile.WriteLine($" writting to {IniFiles.Instance.GetIniName(iniFile)}"); - if (count > 0) - { - IniFiles.Instance.Set(iniFile, "Archive", key, value); - this.logFile.WriteLine($" {key}={value}"); - } - else - { - IniFiles.Instance.Remove(iniFile, "Archive", key); - this.logFile.WriteLine($" {key} removed."); - } - IniFiles.Instance.Remove(otherIniFile, "Archive", key); - } - - public void ResolveNWResourceLists() - { - SaveResourceList("sResourceIndexFileList", LoadResourceList("sResourceIndexFileList")); - SaveResourceList("sResourceArchive2List", LoadResourceList("sResourceArchive2List")); - CopyINILists(); - } - - public void RenameAddedDLLs() - { - // Iterate through every *.dll file in game path: - IEnumerable files = Directory.EnumerateFiles(Shared.GamePath, "*.dll"); - this.logFile.WriteLine($"Renaming \'*.dll\' files to \'*.dll.nwmode\'."); - foreach (String filePath in files) - { - // If not whitelisted... - String fileName = Path.GetFileName(filePath); - if (!this.whitelistedDlls.Contains(fileName.ToLower())) - { - // ... rename it: - if (!File.Exists(filePath + ".nwmode")) - { - File.Move(filePath, filePath + ".nwmode"); - this.logFile.WriteLine($" Renamed {fileName}"); - } - - // ... or delete it: - else - { - File.Delete(filePath); - this.logFile.WriteLine($" Deleted {fileName}"); - } - } - } - } - - public void RestoreAddedDLLs() - { - // Iterate through every *.dll.nwmode file in game path: - IEnumerable files = Directory.EnumerateFiles(Shared.GamePath, "*.dll.nwmode"); - this.logFile.WriteLine($"Restoring \'*.dll.nwmode\' files to \'*.dll\'."); - foreach (String filePath in files) - { - String fileName = Path.GetFileName(filePath); - String originalFilePath = Path.Combine(Path.GetDirectoryName(filePath), fileName.Replace(".dll.nwmode", ".dll")); - - // Rename or delete, if the original exists: - if (!File.Exists(originalFilePath)) - { - File.Move(filePath, originalFilePath); - this.logFile.WriteLine($" Renamed {fileName}"); - } - else - { - // Assuming that the same *.dll file has been copied during deployment: - File.Delete(filePath); // we can just delete it. - this.logFile.WriteLine($" Deleted {fileName}"); - } - } - } - - public void CopyINILists() - { - String suffix = ManagedMods.GetEditionSuffix(Shared.GameEdition); - IniFiles.Instance.Set(IniFile.Config, "Mods", "sResourceIndexFileList" + suffix, String.Join(",", LoadResourceList("sResourceIndexFileList"))); - IniFiles.Instance.Set(IniFile.Config, "Mods", "sResourceArchive2List" + suffix, String.Join(",", LoadResourceList("sResourceArchive2List"))); - IniFiles.Instance.Set(IniFile.Config, "Mods", "sResourceDataDirsFinal" + suffix, String.Join(",", IniFiles.Instance.GetString(IniFile.F76Custom, "Archive", "sResourceDataDirsFinal", ""))); - IniFiles.Instance.SaveConfig(); - } - - public void LoadINILists() - { - String suffix = ManagedMods.GetEditionSuffix(Shared.GameEdition); - List sResourceIndexFileList = IniFiles.Instance.GetString(IniFile.Config, "Mods", "sResourceIndexFileList" + suffix, "").Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries).ToList(); - List sResourceArchive2List = IniFiles.Instance.GetString(IniFile.Config, "Mods", "sResourceArchive2List" + suffix, "").Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries).ToList(); - String sResourceDataDirsFinal = IniFiles.Instance.GetString(IniFile.Config, "Mods", "sResourceDataDirsFinal" + suffix, ""); - - if (sResourceIndexFileList.Count > 0 || IniFiles.Instance.Exists(IniFile.F76Custom, "Mods", "sResourceIndexFileList")) - SaveResourceList("sResourceIndexFileList", sResourceIndexFileList); - //IniFiles.Instance.Set(IniFile.F76Custom, "Archive", "sResourceIndexFileList", sResourceIndexFileList); - if (sResourceArchive2List.Count > 0 || IniFiles.Instance.Exists(IniFile.F76Custom, "Mods", "sResourceArchive2List")) - SaveResourceList("sResourceArchive2List", sResourceArchive2List); - // IniFiles.Instance.Set(IniFile.F76Custom, "Archive", "sResourceArchive2List", sResourceArchive2List); - if (sResourceDataDirsFinal.Length > 0 && this.WriteDataDirs || IniFiles.Instance.Exists(IniFile.F76Custom, "Mods", "sResourceDataDirsFinal")) - IniFiles.Instance.Set(IniFile.F76Custom, "Archive", "sResourceDataDirsFinal", sResourceDataDirsFinal); - - /*if (IniFiles.Instance.GetString(IniFile.F76Custom, "Mods", "sResourceIndexFileList", "").Trim().Length == 0) - IniFiles.Instance.Remove(IniFile.F76Custom, "Mods", "sResourceIndexFileList"); - if (IniFiles.Instance.GetString(IniFile.F76Custom, "Mods", "sResourceArchive2List", "").Trim().Length == 0) - IniFiles.Instance.Remove(IniFile.F76Custom, "Mods", "sResourceArchive2List");*/ - if (IniFiles.Instance.GetString(IniFile.F76Custom, "Mods", "sResourceDataDirsFinal", "").Trim().Length == 0) - IniFiles.Instance.Remove(IniFile.F76Custom, "Mods", "sResourceDataDirsFinal"); - } - } -} diff --git a/Fo76ini/Mods/ResourceList.cs b/Fo76ini/Mods/ResourceList.cs new file mode 100644 index 0000000..3813c87 --- /dev/null +++ b/Fo76ini/Mods/ResourceList.cs @@ -0,0 +1,268 @@ +using Fo76ini.Tweaks; +using Fo76ini.Tweaks.ResourceLists; +using System; +using System.Collections; +using System.Collections.Generic; +using System.IO; +using System.Linq; + +namespace Fo76ini.Mods +{ + /// + /// Wrapper around the resource lists to function as a regular List. + /// Implements ways to read and write to *.ini file. + /// + public class ResourceList : ICollection + { + public static List KnownLists = new List() { + "sResourceIndexFileList", + "sResourceArchive2List", + "sResourceStartUpArchiveList", + "SResourceArchiveList", + "SResourceArchiveList2" + }; + + private List resourceList = new List(); + + private ITweak tweak; + + public int Count => this.resourceList.Count; + + public bool IsReadOnly => false; + + + /* + * Constructor: + */ + + /// + /// Creates a new ResourceList from a string. + /// + /// Resources, separated by a ',' + public static ResourceList FromString(String s) + { + ResourceList list = new ResourceList(); + list.resourceList = ResourceList.ToList(s); + return list; + } + + /// + /// Reads the Mods\resources.txt file and loads it's contents. + /// + /// + public static ResourceList FromTXT(String path) + { + ResourceList list = new ResourceList(); + list.LoadTXT(path); + return list; + } + + /// + /// Loads the resource list from the *.ini file. + /// + /// + /// + /// + /// + public static ResourceList FromTweak(ITweak tweak) + { + return new ResourceList(tweak); + } + + public static ResourceList GetDefaultList() + { + return ResourceList.FromTweak( + ResourceListTweak.GetDefaultList() + ); + } + + public static ResourceList GetResourceArchive2List() + { + return ResourceList.FromTweak( + ResourceListTweak.GetSResourceArchive2List() + ); + } + + public static ResourceList GetResourceIndexFileList() + { + return ResourceList.FromTweak( + ResourceListTweak.GetSResourceIndexFileList() + ); + } + + /// + /// Creates an empty list. + /// + public ResourceList() { } + + /// + /// Associates the *.ini value and loads the resource list. + /// + /// + /// + /// + private ResourceList(ITweak tweak) + { + AssociateTweak(tweak); + LoadFromINI(); + } + + /* + * Converting from and to string: + */ + + private static List ToList(string sResourceList) + { + return (new List(sResourceList.Split(new char[] { ',', '\n' }, StringSplitOptions.RemoveEmptyEntries))).Distinct().Select(x => x.Trim()).ToList(); + } + + private static string ToString(List resourceList, string separator = ",") + { + return string.Join(separator, resourceList.Distinct()); + } + + public override string ToString() + { + return ResourceList.ToString(this.resourceList); + } + + public string ToString(string separator) + { + return ResourceList.ToString(this.resourceList, separator); + } + + /// + /// Loads the resource list from the associated *.ini file. + /// + public void LoadFromINI() + { + this.resourceList = ResourceList.ToList(tweak.GetValue()); + } + + /// + /// Commits changes to the resource list for the associated *.ini file. + /// Use IniFiles.Save() to write *.ini file to disk. + /// + public void CommitToINI() + { + if (this.resourceList.Count > 0) + tweak.SetValue(ToString()); + else + tweak.ResetValue(); + } + + /// + /// Associate a value in an *.ini file to save to and load from. + /// + /// + public void AssociateTweak(ITweak tweak) + { + this.tweak = tweak; + } + + + /* + * Writting to and reading from resources.txt: + */ + + /// + /// Writes list to the Mods\resources.txt file. + /// + public void SaveTXT(String path) + { + File.WriteAllText( + path, + this.ToString() + ); + } + + public void LoadTXT(String path) + { + if (File.Exists(path)) + { + string text = File.ReadAllText(path); + this.resourceList = ResourceList.ToList(text); + } + else + { + this.Clear(); + } + } + + + /* + * Implementing ICollection interface: + */ + + public IEnumerator GetEnumerator() + { + return this.resourceList.GetEnumerator(); + } + + IEnumerator IEnumerable.GetEnumerator() + { + return GetEnumerator(); + } + + public void Add(string item) + { + this.resourceList.Add(item); + } + + public void Clear() + { + this.resourceList.Clear(); + } + + public bool Contains(string item) + { + return this.resourceList.Contains(item); + } + + public void CopyTo(string[] array, int arrayIndex) + { + this.resourceList.CopyTo(array, arrayIndex); + } + + public bool Remove(string item) + { + return this.resourceList.Remove(item); + } + + + /* + * Additional methods from List: + */ + + /// + /// Inserts an element into the list at the specified index. + /// + public void Insert(int index, string item) + { + this.resourceList.Insert(index, item); + } + + + /* + * Utility methods: + */ + + /// + /// Removes resources that aren't existing on disk. + /// + public void CleanUp(string gamePath) + { + string[] temp = new string[this.Count()]; + this.CopyTo(temp, 0); + foreach (string ba2file in temp) + if (!File.Exists(Path.Combine(gamePath, "Data", ba2file))) + this.Remove(ba2file); + } + + public void ReplaceRange(ResourceList other) + { + this.resourceList.Clear(); + this.resourceList.AddRange(other); + } + } +} diff --git a/Fo76ini/NexusAPI/APIRequest.cs b/Fo76ini/NexusAPI/APIRequest.cs new file mode 100644 index 0000000..7aa5756 --- /dev/null +++ b/Fo76ini/NexusAPI/APIRequest.cs @@ -0,0 +1,134 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Net; +using System.IO; +using Newtonsoft.Json.Linq; + +namespace Fo76ini.NexusAPI +{ + /// + /// Wrapper around the classes of System.Net. + /// Used to make HTTPS requests to the NexusMods' API. + /// + public class APIRequest + { + public string URL; + + private HttpWebRequest request; + private HttpWebResponse response; + + public WebException Exception = null; + + public string PostData = ""; + + public APIRequest(string url) + { + this.URL = url; + this.request = (HttpWebRequest)WebRequest.Create(this.URL); + + this.UserAgent = Shared.AppUserAgent; + this.Headers["Application-Version"] = Shared.VERSION; + this.Headers["Application-Name"] = NexusMods.ApplicationName; + } + + /// + /// Sends the request and reads the response. + /// + public void Execute() + { + this.Success = false; + try + { + // Send POST data, if needed: + if (Method.ToUpper() == "POST" && PostData.Trim() != "") + using (var streamWriter = new StreamWriter(request.GetRequestStream())) + streamWriter.Write(PostData); + + // Get response: + this.response = (HttpWebResponse)request.GetResponse(); + this.Success = true; + + // Read the response: + using (Stream stream = response.GetResponseStream()) + using (StreamReader reader = new StreamReader(stream)) + { + ResponseText = reader.ReadToEnd(); + } + + this.Exception = null; + } + catch (WebException ex) + { + // If the status code isn't 200 (or rather 2xx), it will throw an exception: + if (ex.Response != null) + { + // Get response: + this.response = (HttpWebResponse)ex.Response; + this.Success = true; + + // Read the response: + using (Stream stream = response.GetResponseStream()) + using (StreamReader reader = new StreamReader(stream)) + { + ResponseText = reader.ReadToEnd(); + } + } + + this.Exception = ex; + } + } + + public JObject GetJSON() + { + return JObject.Parse(ResponseText); + } + + public WebHeaderCollection ResponseHeaders + { + get => response.Headers; + } + + public WebHeaderCollection Headers + { + get => request.Headers; + } + + public HttpStatusCode StatusCode + { + get => response.StatusCode; + } + + /// + /// Whether the request was successful. + /// + public bool Success { get; private set; } + public string ResponseText { get; private set; } + + public string UserAgent + { + get => this.request.UserAgent; + set => this.request.UserAgent = value; + } + + public string Accept + { + get => this.request.Accept; + set => this.request.Accept = value; + } + + public string Method + { + get => this.request.Method; + set => this.request.Method = value; + } + + public string RequestContentType + { + get => this.request.ContentType; + set => this.request.ContentType = value; + } + } +} diff --git a/Fo76ini/NexusAPI/NMMod.cs b/Fo76ini/NexusAPI/NMMod.cs new file mode 100644 index 0000000..17f2ad4 --- /dev/null +++ b/Fo76ini/NexusAPI/NMMod.cs @@ -0,0 +1,350 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Newtonsoft.Json.Linq; +using System.Drawing; +using System.IO; +using System.Net; +using System.Windows.Forms; +using System.Xml.Linq; +using Fo76ini.Interface; +using Fo76ini.Utilities; + +namespace Fo76ini.NexusAPI +{ + public class NMMod + { + public int ID = -1; + public string URL = ""; + + public string Title = ""; + public string LatestVersion = ""; + public string Author = ""; + public string Uploader = ""; + public string Summary = ""; + public int EndorsementCount = 0; + public EndorseStatus Endorsement = EndorseStatus.Undecided; + public bool ContainsAdultContent = false; + + public string ThumbnailURL = ""; + public string ThumbnailFileName = ""; + + public string ThumbnailFilePath + { + get => Path.Combine(NexusMods.ThumbnailsPath, ThumbnailFileName); + } + + public long CreatedTimestamp = -1; + public long UpdatedTimestamp = -1; + public long LastAccessTimestamp = -1; + + public enum EndorseStatus + { + Undecided, + Endorsed, + Abstained + } + + /// + /// Creates a new mod from a URL. + /// + /// URL to the mod page. + public NMMod(string url) + { + this.URL = url; + this.ID = NexusMods.GetIDFromURL(url); + } + + /// + /// Creates a new mod from an ID. + /// + /// Mod ID + public NMMod(int id) + { + this.ID = id; + this.URL = $"https://www.nexusmods.com/fallout76/mods/{id}"; + } + + /// + /// Sends a request to the API and retrieves all mod information. + /// Will (optionally) download thumbnails. + /// + public void RequestInformation() + { + if (!NexusMods.User.IsLoggedIn) + { + MsgBox.ShowID("nexusModsNotLoggedIn", MessageBoxIcon.Information); + return; + } + + // Make API request: + APIRequest request = new APIRequest("https://api.nexusmods.com/v1/games/fallout76/mods/" + this.ID + ".json"); + request.Headers["apikey"] = NexusMods.User.APIKey; + request.Execute(); + if (request.Success && request.StatusCode == HttpStatusCode.OK) + { + /* + * Get data: + */ + + JObject json = request.GetJSON(); + this.Title = json["name"].ToString(); + this.Author = json["author"].ToString(); + this.Uploader = json["uploaded_by"].ToString(); + this.Summary = json["summary"].ToString(); + this.EndorsementCount = json["endorsement_count"].ToObject(); + this.CreatedTimestamp = json["created_timestamp"].ToObject(); + this.UpdatedTimestamp = json["updated_timestamp"].ToObject(); + this.ContainsAdultContent = json["contains_adult_content"].ToObject(); + this.ThumbnailURL = json["picture_url"].ToString(); + this.LatestVersion = json["version"].ToString(); + + JObject endorsement = (JObject)json["endorsement"]; + string endorseStatus = endorsement["endorse_status"].ToString(); + switch (endorseStatus) + { + case "Endorsed": + this.Endorsement = EndorseStatus.Endorsed; + break; + case "Abstained": + this.Endorsement = EndorseStatus.Abstained; + break; + case "Undecided": + default: + this.Endorsement = EndorseStatus.Undecided; + break; + } + + + /* + * Download thumbnail: + */ + + if (!Directory.Exists(NexusMods.ThumbnailsPath)) + Directory.CreateDirectory(NexusMods.ThumbnailsPath); + + // If user opted in: + if (IniFiles.Config.GetBool("NexusMods", "bDownloadThumbnailsOnUpdate", true)) + { + try + { + // Example: "https://staticdelivery.nexusmods.com/mods/2590/images/84/84-1542823522-262308780.png" + + // Download if non-existent: + ThumbnailFileName = $"thumb_{this.ID}.jpg"; // Path.GetExtension(Path.GetFileName(uri.LocalPath)); + if (!File.Exists(ThumbnailFilePath)) + { + var thumbRequest = WebRequest.Create(this.ThumbnailURL); + using (var thumbResponse = thumbRequest.GetResponse()) + using (var stream = thumbResponse.GetResponseStream()) + { + // Create a thumbnail (small *.jpg) from the downloaded image: + Image image = Image.FromStream(stream); + Utils.MakeThumbnail(image, ThumbnailFilePath, false, 400, 160, 90L); + } + } + } + catch (Exception ex) + { + // TODO: Handle: Thumbnail couldn't be downloaded. + Console.WriteLine($"Couldn't download thumbnail.\n{ex.GetType().Name}: {ex.Message}"); + } + } + } + else + { + // TODO: Handle: Couldn't retrieve info. + Console.WriteLine($"Couldn't retrieve info.\n{request.Exception.GetType().Name}: {request.Exception.Message}\n{request.ResponseText}"); + } + this.LastAccessTimestamp = Utils.GetUnixTimeStamp(); + } + + /// + /// Endorses this mod. + /// + /// Version that will be endorsed. + /// true if successful; false otherwise + public bool Endorse(string endorsedVersion) + { + APIRequest request = new APIRequest("https://api.nexusmods.com/v1/games/fallout76/mods/" + this.ID + "/endorse.json"); + request.Headers["apikey"] = NexusMods.User.APIKey; + request.Method = "POST"; + + // Without a version: {"code":400,"message":"You must provide a version"} + request.RequestContentType = "application/x-www-form-urlencoded"; + request.PostData = $"version={endorsedVersion}"; + + request.Execute(); + if (request.Success) + { + JObject json = request.GetJSON(); + if (json.ContainsKey("status") && json["status"].ToString() == "Endorsed") + { + this.Endorsement = EndorseStatus.Endorsed; + return true; + } + else + { + MsgBox.Get("failed").FormatText($"Couldn't endorse mod.\nServer message: {json["message"]}").Show(MessageBoxIcon.Error); + return false; + } + } + else + { + MsgBox.Get("failed").FormatText($"Couldn't endorse mod.\nError: {request.Exception.Message}").Show(MessageBoxIcon.Error); + return false; + } + } + + /// + /// Abstains from endorsing this mod. + /// + /// Version that will be abstained. + /// true if successful; false otherwise + public bool Abstain(string abstainedVersion) + { + APIRequest request = new APIRequest("https://api.nexusmods.com/v1/games/fallout76/mods/" + this.ID + "/abstain.json"); + request.Headers["apikey"] = NexusMods.User.APIKey; + request.Method = "POST"; + + // Without a version: {"code":400,"message":"You must provide a version"} + request.RequestContentType = "application/x-www-form-urlencoded"; + request.PostData = $"version={abstainedVersion}"; + + request.Execute(); + if (request.Success) + { + JObject json = request.GetJSON(); + if (json.ContainsKey("status") && json["status"].ToString() == "Abstained") + { + this.Endorsement = EndorseStatus.Abstained; + return true; + } + else + { + MsgBox.Get("failed").FormatText($"Couldn't abstain from endorsing mod.\nServer message: {json["message"]}").Show(MessageBoxIcon.Error); + return false; + } + } + else + { + MsgBox.Get("failed").FormatText($"Couldn't abstain from endorsing mod.\nError: {request.Exception.Message}").Show(MessageBoxIcon.Error); + return false; + } + } + + /// + /// Serializes this mod to an XML element. + /// + public XElement Serialize() + { + XElement xmlMod = new XElement("Mod", + new XAttribute("id", this.ID), + new XAttribute("nsfw", this.ContainsAdultContent)); + + if (this.Title != "") + xmlMod.Add(new XElement("Title", this.Title)); + + if (this.LatestVersion != "") + xmlMod.Add(new XElement("Version", this.LatestVersion)); + + if (this.Author != "") + xmlMod.Add(new XElement("CreatedBy", this.Author)); + + if (this.Uploader != "") + xmlMod.Add(new XElement("UploadedBy", this.Uploader)); + + xmlMod.Add(new XElement("EndorsementCount", this.EndorsementCount)); + xmlMod.Add(new XElement("CreatedTimestamp", this.CreatedTimestamp)); + xmlMod.Add(new XElement("UpdatedTimestamp", this.UpdatedTimestamp)); + + string endorseState = Enum.GetName(typeof(EndorseStatus), (int)this.Endorsement); + xmlMod.Add(new XElement("EndorseState", endorseState)); + + xmlMod.Add(new XElement("Summary", this.Summary)); + + if (this.ThumbnailFileName != "" && this.ThumbnailURL != "") + { + XElement thumbnail = new XElement("Thumbnail"); + thumbnail.Add(new XElement("URL", this.ThumbnailURL)); + thumbnail.Add(new XElement("File", this.ThumbnailFileName)); + xmlMod.Add(thumbnail); + } + + xmlMod.Add(new XElement("LastUpdated", this.LastAccessTimestamp)); + + return xmlMod; + } + + /// + /// Deserializes an XML element to a NMMod. + /// + /// + /// + public static NMMod Deserialize(XElement xmlMod) + { + if (xmlMod.Attribute("id") == null) + throw new InvalidDataException("'id' attribute wasn't provided."); + + NMMod mod = new NMMod(Convert.ToInt32(xmlMod.Attribute("id").Value)); + + if (xmlMod.Element("Title") != null) + mod.Title = xmlMod.Element("Title").Value; + + if (xmlMod.Element("Version") != null) + mod.LatestVersion = xmlMod.Element("Version").Value; + + if (xmlMod.Element("CreatedBy") != null) + mod.Author = xmlMod.Element("CreatedBy").Value; + + if (xmlMod.Element("UploadedBy") != null) + mod.Uploader = xmlMod.Element("UploadedBy").Value; + + if (xmlMod.Element("Summary") != null) + mod.Summary = xmlMod.Element("Summary").Value; + + if (xmlMod.Element("EndorsementCount") != null) + mod.EndorsementCount = Convert.ToInt32(xmlMod.Element("EndorsementCount").Value); + + if (xmlMod.Element("CreatedTimestamp") != null) + mod.CreatedTimestamp = Convert.ToInt64(xmlMod.Element("CreatedTimestamp").Value); + + if (xmlMod.Element("UpdatedTimestamp") != null) + mod.UpdatedTimestamp = Convert.ToInt64(xmlMod.Element("UpdatedTimestamp").Value); + + if (xmlMod.Attribute("nsfw") != null) + mod.ContainsAdultContent = Convert.ToBoolean(xmlMod.Attribute("nsfw").Value); + + XElement thumbnail = xmlMod.Element("Thumbnail"); + if (thumbnail != null) + { + mod.ThumbnailURL = thumbnail.Element("URL").Value; + mod.ThumbnailFileName = thumbnail.Element("File").Value; + } + + if (xmlMod.Element("EndorseState") != null) + { + switch (xmlMod.Element("EndorseState").Value) + { + case "Endorsed": + mod.Endorsement = EndorseStatus.Endorsed; + break; + case "Abstained": + mod.Endorsement = EndorseStatus.Abstained; + break; + case "Undecided": + default: + mod.Endorsement = EndorseStatus.Undecided; + break; + } + } + + if (xmlMod.Element("LastUpdated") != null) + mod.LastAccessTimestamp = Convert.ToInt64(xmlMod.Element("LastUpdated").Value); + + return mod; + } + } +} diff --git a/Fo76ini/NexusAPI/NMUserProfile.cs b/Fo76ini/NexusAPI/NMUserProfile.cs new file mode 100644 index 0000000..c5f2708 --- /dev/null +++ b/Fo76ini/NexusAPI/NMUserProfile.cs @@ -0,0 +1,329 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Newtonsoft.Json.Linq; +using System.Drawing; +using System.IO; +using System.Net; +using System.Windows.Forms; +using System.Xml.Linq; +using Fo76ini.Interface; +using Fo76ini.Utilities; + +namespace Fo76ini.NexusAPI +{ + public class NMUserProfile + { + public enum Membership + { + Basic, + Supporter, + Premium + } + + public string APIKey = ""; + + public string UserName = "Anonymous"; + public long UserID = -1; + public Membership Status = Membership.Basic; + + public string ProfilePictureURL = ""; + public string ProfilePictureFileName = ""; + + public string ProfilePictureFilePath + { + get => Path.Combine(NexusMods.FolderPath, ProfilePictureFileName); + } + + public int DailyRateLimit = 0; + public int HourlyRateLimit = 0; + public string DailyRateLimitResetString = ""; + + /// + /// Whether the user is currently logged in. + /// + public bool IsLoggedIn + { + get { return APIKey != null && APIKey != "" && UserID > 0; } + } + + public NMUserProfile() { } + + /// + /// Updates profile information. + /// + public void Update() + { + // Make API request: + APIRequest request = new APIRequest($"{NexusMods.APIDomain}/v1/users/validate.json"); + request.Headers["apikey"] = APIKey; + request.Execute(); + if (request.Success && request.StatusCode == HttpStatusCode.OK) + { + try + { + JObject json = request.GetJSON(); + + UserName = json["name"].ToString(); + ProfilePictureURL = json["profile_url"].ToString(); + UserID = Convert.ToInt64(json["user_id"].ToString()); + + if (json["is_premium"].Value() || json["is_premium?"].Value()) + Status = Membership.Premium; + else if (json["is_supporter"].Value() || json["is_supporter?"].Value()) + Status = Membership.Supporter; + else + Status = Membership.Basic; + + DailyRateLimit = Convert.ToInt32(request.ResponseHeaders["x-rl-daily-remaining"]); + DailyRateLimitResetString = request.ResponseHeaders["x-rl-daily-reset"]; + HourlyRateLimit = Convert.ToInt32(request.ResponseHeaders["X-RL-Hourly-Remaining"]); + + DownloadProfilePicture(); + + /* + Unused values: + - "key" + - "email" + */ + } + catch (Exception e) + { + MsgBox.Get("failed").FormatText($"Unexpected exception: {e.Message}\n{e.StackTrace}\n\n{e.InnerException}").Show(MessageBoxIcon.Error); + } + } + else + { + try + { + if (request.Success) + MsgBox.Get("failed").FormatText($"Server returned: HTTP {request.StatusCode}\n{request.GetJSON()["message"]}").Show(MessageBoxIcon.Error); + else + MsgBox.Get("failed").FormatText($"WebException: {request.Exception.Message}").Show(MessageBoxIcon.Error); + } + catch (Exception e) + { + MsgBox.Get("failed").FormatText($"Unexpected exception: {e.Message}").Show(MessageBoxIcon.Error); + } + } + } + + private void DownloadProfilePicture() + { + try + { + Uri uri = new Uri(ProfilePictureURL); + ProfilePictureFileName = "profile" + Path.GetExtension(Path.GetFileName(uri.LocalPath)); + + // Download if non-existent: + if (!File.Exists(ProfilePictureFilePath)) + { + Directory.CreateDirectory(NexusMods.FolderPath); + using (var client = new WebClient()) + client.DownloadFile(ProfilePictureURL, ProfilePictureFilePath); + } + } + catch (UriFormatException exc) + { + // TODO: Handle exception + Console.WriteLine($"Not a valid URL: '{ProfilePictureURL}'\nSystem.UriFormatException: {exc.Message}"); + ProfilePictureFileName = ""; + } + } + + /// + /// Saves user profile information to account.xml + /// + public void Save() + { + /* + + + xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx + + + datasnake01 + Premium + + + + 2020-12-07 00:00:00 +0010 + + + */ + + XDocument xmlDoc = new XDocument(); + XElement xmlRoot = new XElement("Account", new XAttribute("id", UserID)); + xmlDoc.Add(xmlRoot); + + /* + * Authentification + */ + + // Add apikey: + XElement xmlAuth = new XElement("Authentification"); + if (APIKey != null && APIKey != "") + xmlAuth.Add(new XElement("APIKey", APIKey)); + xmlRoot.Add(xmlAuth); + + + /* + * Profile + */ + + XElement xmlProfile = new XElement("Profile", + new XElement("Username", UserName), + new XElement("Membership", Status.ToString()) + ); + xmlRoot.Add(xmlProfile); + + if (ProfilePictureURL != "" && ProfilePictureFileName != "") + { + xmlProfile.Add(new XElement("Picture", + new XAttribute("url", ProfilePictureURL), + new XAttribute("file", ProfilePictureFileName) + )); + } + + + /* + * RateLimit + */ + + xmlRoot.Add(new XElement("RateLimit", + new XAttribute("daily", DailyRateLimit), + new XAttribute("hourly", HourlyRateLimit), + new XElement("DailyResetTime", DailyRateLimitResetString) + )); + + xmlDoc.Save(NexusMods.AccountXMLPath); + } + + /// + /// Loads user profile information from account.xml + /// + public bool Load() + { + if (!File.Exists(NexusMods.AccountXMLPath)) + return false; + + XDocument xmlDoc = XDocument.Load(NexusMods.AccountXMLPath); + XElement xmlRoot = xmlDoc.Root; + + if (xmlRoot.Attribute("id") != null) + if (!xmlRoot.Attribute("id").TryParseLong(out UserID)) + UserID = -1; + + /* + * Authentification + */ + + XElement xmlAuth = xmlRoot.Element("Authentification"); + if (xmlAuth != null && xmlAuth.Element("APIKey") != null) + APIKey = xmlAuth.Element("APIKey").Value; + + + /* + * Profile + */ + + XElement xmlProfile = xmlRoot.Element("Profile"); + if (xmlProfile != null) + { + if (xmlProfile.Element("Username") != null) + UserName = xmlProfile.Element("Username").Value; + if (xmlProfile.Element("Membership") != null) + Enum.TryParse(xmlProfile.Element("Membership").Value, out Status); + + // Profile picture + XElement xmlProfilePicture = xmlProfile.Element("Picture"); + if (xmlProfilePicture != null && xmlProfilePicture.Attribute("url") != null && xmlProfilePicture.Attribute("file") != null) + { + ProfilePictureURL = xmlProfilePicture.Attribute("url").Value; + ProfilePictureFileName = xmlProfilePicture.Attribute("file").Value; + } + } + + + /* + * RateLimit + */ + + XElement xmlRateLimit = xmlRoot.Element("RateLimit"); + if (xmlRateLimit != null) + { + if (xmlRateLimit.Attribute("daily") != null) + xmlRateLimit.Attribute("daily").TryParseInt(out DailyRateLimit); + + if (xmlRateLimit.Attribute("hourly") != null) + xmlRateLimit.Attribute("hourly").TryParseInt(out HourlyRateLimit); + + if (xmlRateLimit.Element("DailyResetTime") != null) + DailyRateLimitResetString = xmlRateLimit.Element("DailyResetTime").Value; + } + + return true; + } + + public bool TryParseDailyRateLimitReset(out DateTime result) + { + try + { + result = DateTime.ParseExact(DailyRateLimitResetString, "yyyy-MM-dd HH:mm:ss zzz", System.Globalization.CultureInfo.InvariantCulture); + return true; + } + catch + { + result = DateTime.Now; + return false; + } + } + + /// + /// Removes user profile information and thumbnail. + /// + public void Remove() + { + // Remove old values from config.ini: + IniFiles.Config.Remove("NexusMods", "sAPIKey"); + IniFiles.Config.Remove("NexusMods", "bAPIKeyValid"); + IniFiles.Config.Remove("NexusMods", "sUserName"); + IniFiles.Config.Remove("NexusMods", "iUserID"); + IniFiles.Config.Remove("NexusMods", "sProfileURL"); + IniFiles.Config.Remove("NexusMods", "sProfile"); + IniFiles.Config.Remove("NexusMods", "iDailyRateLimit"); + IniFiles.Config.Remove("NexusMods", "iHourlyRateLimit"); + IniFiles.Config.Remove("NexusMods", "sDailyRateLimitReset"); + IniFiles.Config.Remove("NexusMods", "sMembership"); + IniFiles.Config.Save(); + + // Remove accounts.xml: + if (File.Exists(NexusMods.AccountXMLPath)) + File.Delete(NexusMods.AccountXMLPath); + + // Remove profile picture: + try + { + if (File.Exists(ProfilePictureFilePath)) + File.Delete(ProfilePictureFilePath); + } + catch (Exception ex) + { + Console.WriteLine($"Couldn't remove profile picture: {ex.Message}"); + } + + // Reset values: + APIKey = ""; + UserName = "Anonymous"; + UserID = -1; + ProfilePictureFileName = ""; + ProfilePictureURL = ""; + Status = Membership.Basic; + DailyRateLimit = 0; + HourlyRateLimit = 0; + DailyRateLimitResetString = ""; + } + } +} diff --git a/Fo76ini/NexusAPI/NexusMods.cs b/Fo76ini/NexusAPI/NexusMods.cs new file mode 100644 index 0000000..0e2023c --- /dev/null +++ b/Fo76ini/NexusAPI/NexusMods.cs @@ -0,0 +1,174 @@ +using Newtonsoft.Json.Linq; +using System; +using System.Collections.Generic; +using System.Drawing; +using System.IO; +using System.Net; +using System.Windows.Forms; +using System.Xml.Linq; +using Fo76ini.Interface; +using Fo76ini.Utilities; + +namespace Fo76ini.NexusAPI +{ + public static class NexusMods + { + public const string APIDomain = "https://api.nexusmods.com"; + public const string SSODomain = "wss://sso.nexusmods.com"; + public const string ApplicationSlug = "fo76quickconfiguration"; + public const string ApplicationName = "Fallout 76 Quick Configuration"; + + public static string FolderPath = Path.Combine(Shared.AppConfigFolder, "nexusmods"); + public static string ThumbnailsPath = Path.Combine(Shared.AppConfigFolder, "thumbnails", "nexusmods"); + public static string RemoteXMLPath = Path.Combine(NexusMods.FolderPath, "mods.xml"); + public static string AccountXMLPath = Path.Combine(NexusMods.FolderPath, "account.xml"); + + public static Dictionary Mods = new Dictionary(); + + private static readonly object padlock = new object(); + private static NMUserProfile _nmprofile = null; + + static NexusMods () + { + SingleSignOn.SSOFinished += OnSSOLogin; + } + + public static NMUserProfile User + { + get + { + lock (padlock) + { + if (_nmprofile == null) + _nmprofile = new NMUserProfile(); + return _nmprofile; + } + } + } + + /// + /// Saves the user's profile and mods. + /// + public static void Save() + { + if (!Directory.Exists(NexusMods.FolderPath)) + Directory.CreateDirectory(NexusMods.FolderPath); + + Serialize().Save(NexusMods.RemoteXMLPath); + + NexusMods.User.Save(); + } + + /// + /// Serializes all mods to an *.xml document. + /// + public static XDocument Serialize() + { + /* + Fallout 76 Quick Configuration\nexusmods\remote.xml + + + + + + */ + + XDocument xmlDoc = new XDocument(); + XElement xmlRoot = new XElement("Mods"); + xmlDoc.Add(xmlRoot); + foreach (NMMod mod in Mods.Values) + xmlRoot.Add(mod.Serialize()); + return xmlDoc; + } + + /// + /// Loads the user's profile and mods. + /// + public static void Load() + { + Mods.Clear(); + + NexusMods.User.Load(); + + if (!File.Exists(NexusMods.RemoteXMLPath)) + return; + + XDocument xmlDoc = XDocument.Load(NexusMods.RemoteXMLPath); + foreach (XElement xmlMod in xmlDoc.Descendants("Mod")) + { + try + { + NMMod mod = NMMod.Deserialize(xmlMod); + Mods[mod.ID] = mod; + } + catch + { + // TODO: Handle invalid entries. + } + } + } + + private static void OnSSOLogin(object sender, SSOEventArgs e) + { + /*if (e.success) + { + User.APIKey = e.APIKey; + User.Save(); + }*/ + } + + /// + /// Requests remote information about a mod. + /// + /// The url to the mod page. Example: "https://www.nexusmods.com/fallout76/mods/419?tab=files" + public static void RequestModInformation(string url) + { + NMMod mod = new NMMod(url); + mod.RequestInformation(); + Mods[mod.ID] = mod; + } + + /// + /// Deletes any downloaded information about mods and it's thumbnails. + /// + public static void DeleteCache() + { + // Remove remote info: + Mods.Clear(); + + if (File.Exists(NexusMods.RemoteXMLPath)) + File.Delete(NexusMods.RemoteXMLPath); + + // Delete thumbnails + try + { + string path = Path.Combine(NexusMods.ThumbnailsPath); + if (Directory.Exists(path)) + Directory.Delete(path, true); + } + catch + { + // TODO: Handle exceptions. + } + } + + /// + /// Extracts the mod ID from a URL. + /// + /// The url to the mod page. Example: "https://www.nexusmods.com/fallout76/mods/419?tab=files" + /// The mod ID. Example: 419 + public static int GetIDFromURL(string url) + { + if (url == "" || !url.Contains("www.nexusmods.com/fallout76/mods")) + return -1; + + string modId = url.Substring(url.IndexOf("fallout76/mods/") + 15); + if (modId.Contains("?")) + modId = modId.Substring(0, modId.IndexOf("?")); + + if (Int32.TryParse(modId, out int result)) + return result; + return -1; + } + } +} diff --git a/Fo76ini/NexusAPI/SingleSignOn.cs b/Fo76ini/NexusAPI/SingleSignOn.cs new file mode 100644 index 0000000..b8351f2 --- /dev/null +++ b/Fo76ini/NexusAPI/SingleSignOn.cs @@ -0,0 +1,153 @@ +using Fo76ini.Utilities; +using Newtonsoft.Json; +using Newtonsoft.Json.Linq; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading; +using System.Threading.Tasks; +using Websocket.Client; +using Websocket.Client.Models; + +namespace Fo76ini.NexusAPI +{ + // TODO: Possible bug in SingleSignOn + // There might be a bug where if no message is received from the server within 30 seconds (see TimeSpan ReconnectTimeout), + // the client will try to reconnect and the login fails. + + public static class SingleSignOn + { + public static event SSOEventHandler SSOFinished; + + private static Guid uuidv4; + private static string connectionToken = null; + + private static readonly TimeSpan ReconnectTimeout = TimeSpan.FromSeconds(60); + + private static WebsocketClient client = null; + + private static bool success = false; + + public static void Connect () + { + if (client != null && client.IsRunning) + client.Stop(System.Net.WebSockets.WebSocketCloseStatus.NormalClosure, ""); + + success = false; + client = new WebsocketClient(new Uri(NexusMods.SSODomain)); + client.ReconnectTimeout = ReconnectTimeout; + client.ReconnectionHappened.Subscribe(OnReconnect); + client.MessageReceived.Subscribe(OnMessage); + client.DisconnectionHappened.Subscribe(OnDisconnect); + client.Start(); + + string data = BuildLoginData(); + + client.Send(data); // SendInstant + } + + private static void OnMessage(ResponseMessage msg) + { + if (msg.MessageType == System.Net.WebSockets.WebSocketMessageType.Text) + { + JObject response = JObject.Parse(msg.Text); + + if (response["success"].Value()) + { + JObject data = (JObject)response["data"]; + + if (data.ContainsKey("connection_token")) + { + connectionToken = data["connection_token"].ToString(); + + Utils.OpenURL("https://www.nexusmods.com/sso?id=" + uuidv4 + "&application=" + NexusMods.ApplicationSlug); + } + + if (data.ContainsKey("api_key")) + { + success = true; + + SSOEventArgs e = new SSOEventArgs(); + e.APIKey = data["api_key"].ToString(); + e.success = true; + + if (SSOFinished != null) + SSOFinished(null, e); + } + } + else + { + Console.WriteLine($"Something went wrong: {response["error"]}"); + } + } + else + { + Console.WriteLine($"Received message was not of type 'Text': {msg}"); + return; + } + } + + private static void OnReconnect(ReconnectionInfo info) + { + Console.WriteLine($"Reconnection happened, type: {info.Type}"); + } + + private static void OnDisconnect(DisconnectionInfo info) + { + Console.WriteLine( + $"---- Disconnection happened. ----\n" + + $"Reason: {info.CloseStatus}\n" + + $"Message: {info.CloseStatusDescription}\n" + + $"Subprotocol: {info.SubProtocol}\n" + + $"Exception: {info.Exception}\n" + + $"---------------------------------"); + + if (success) + { + info.CancelReconnection = true; + } + else if (info.Exception != null) + { + info.CancelReconnection = true; + + SSOEventArgs e = new SSOEventArgs(); + e.Exception = info.Exception; + e.success = false; + + if (SSOFinished != null) + SSOFinished(null, e); + } + } + + + private class LoginData + { + public string id; + public string token; + public int protocol; + } + + private static string BuildLoginData() + { + if (uuidv4 == Guid.Empty) + uuidv4 = Guid.NewGuid(); + + LoginData loginData = new LoginData(); + loginData.id = uuidv4.ToString(); + loginData.token = connectionToken; + loginData.protocol = 2; + + return JsonConvert.SerializeObject(loginData); + } + } + + public delegate void SSOEventHandler(object sender, SSOEventArgs e); + + public class SSOEventArgs : EventArgs + { + public bool success; + public string APIKey = ""; + public Exception Exception = null; + } +} diff --git a/Fo76ini/Profiles/GameInstance.cs b/Fo76ini/Profiles/GameInstance.cs new file mode 100644 index 0000000..52d956b --- /dev/null +++ b/Fo76ini/Profiles/GameInstance.cs @@ -0,0 +1,176 @@ +using Fo76ini.Interface; +using System; +using System.Collections.Generic; +using System.Collections.Specialized; +using System.Diagnostics; +using System.IO; +using System.Xml.Linq; + +namespace Fo76ini.Profiles +{ + public enum GameEdition + { + Unknown = 0, + BethesdaNet = 1, + Steam = 2, + BethesdaNetPTS = 3, + MSStore = 4 + } + + public enum LaunchOption + { + OpenURL = 0, // Launch through Steam or Bethesda.net + RunExec = 1 // Run executable directly + } + + /// + /// Represents a game installation. Contains information such as path and executable name. + /// + public class GameInstance + { + public string Title = "Untitled"; + public GameEdition Edition = GameEdition.Unknown; + public string GamePath = ""; + public string ExecutableName = "Fallout76.exe"; + public string IniPrefix = "Fallout76"; + public string ExecParameters = ""; + public string LauncherURL; + public LaunchOption PreferredLaunchOption = LaunchOption.OpenURL; + + /// + /// Sets the default settings (such as executable name, ini prefix, and launcher url) for the game edition. + /// + public void SetDefaultSettings(GameEdition edition) + { + switch (edition) + { + case GameEdition.Steam: + this.ExecutableName = "Fallout76.exe"; + this.IniPrefix = "Fallout76"; + this.LauncherURL = "steam://run/1151340"; + this.PreferredLaunchOption = LaunchOption.OpenURL; + break; + case GameEdition.BethesdaNet: + this.ExecutableName = "Fallout76.exe"; + this.IniPrefix = "Fallout76"; + this.LauncherURL = "bethesdanet://run/20"; + this.PreferredLaunchOption = LaunchOption.OpenURL; + break; + case GameEdition.BethesdaNetPTS: + this.ExecutableName = "Fallout76.exe"; + this.IniPrefix = "Fallout76"; + this.LauncherURL = "bethesdanet://run/57"; + this.PreferredLaunchOption = LaunchOption.OpenURL; + break; + case GameEdition.MSStore: + this.ExecutableName = "Project76_GamePass.exe"; + this.IniPrefix = "Project76"; + this.LauncherURL = "ms-windows-store://pdp/?ProductId=9nkgnmnk3k3z"; + this.PreferredLaunchOption = LaunchOption.OpenURL; + break; + default: + this.ExecutableName = "Fallout76.exe"; + this.IniPrefix = "Fallout76"; + this.LauncherURL = ""; + this.PreferredLaunchOption = LaunchOption.RunExec; + break; + } + } + + public XElement Serialize () + { + XElement xmlGameInstance = new XElement("Game", + new XElement("Title", Title), + new XElement("InstallationPath", GamePath), + new XElement("ExecutableName", ExecutableName), + new XElement("ExecParameters", ExecParameters), + new XElement("LauncherURL", LauncherURL), + new XElement("IniPrefix", IniPrefix), + new XElement("GameEdition", Edition.ToString()), + new XElement("LaunchOption", PreferredLaunchOption.ToString()) + ); + + return xmlGameInstance; + } + + public static GameInstance Deserialize (XElement xmlGameInstance) + { + GameInstance game = new GameInstance(); + + game.Title = xmlGameInstance.Element("Title").Value; + game.GamePath = xmlGameInstance.Element("InstallationPath").Value; + game.ExecutableName = xmlGameInstance.Element("ExecutableName").Value; + game.ExecParameters = xmlGameInstance.Element("ExecParameters").Value; + game.LauncherURL = xmlGameInstance.Element("LauncherURL").Value; + game.IniPrefix = xmlGameInstance.Element("IniPrefix").Value; + + if (Enum.TryParse(xmlGameInstance.Element("GameEdition").Value, out GameEdition edition)) + game.Edition = edition; + + if (Enum.TryParse(xmlGameInstance.Element("LaunchOption").Value, out LaunchOption launchOption)) + game.PreferredLaunchOption = launchOption; + + return game; + } + + /// + /// Starts the game using the preferred launch option. + /// + public void LaunchGame() + { + LaunchGame(this.PreferredLaunchOption); + } + + /// + /// Starts the game using the passed on launch option. + /// + /// Whether to run the executable or open the launcher url. + public void LaunchGame(LaunchOption option) + { + switch (option) + { + case LaunchOption.OpenURL: + try + { + Process.Start(this.LauncherURL); + } + catch + { + MsgBox.Show("Couldn't start game", "Please make sure to provide a valid 'Launcher URL'.", System.Windows.Forms.MessageBoxIcon.Error); + } + break; + case LaunchOption.RunExec: + try + { + Process pr = new Process(); + pr.StartInfo.FileName = Path.Combine(this.GamePath, this.ExecutableName); + pr.StartInfo.WorkingDirectory = this.GamePath; + pr.StartInfo.Arguments = this.ExecParameters; + pr.StartInfo.UseShellExecute = false; + pr.Start(); + } + catch + { + MsgBox.Show("Couldn't start game", "Please make sure that the game path and executable name are correct.", System.Windows.Forms.MessageBoxIcon.Error); + } + break; + } + } + + /// + /// Checks whether the passed on game path is valid. + /// + public static bool ValidateGamePath(string path) + { + return path != null && path.Trim().Length > 0 && Directory.Exists(path) && Directory.Exists(Path.Combine(path, "Data")); + } + + /// + /// Checks whether the current game path is valid. + /// + public bool ValidateGamePath() + { + return ValidateGamePath(GamePath); + } + } +} diff --git a/Fo76ini/Profiles/ProfileManager.cs b/Fo76ini/Profiles/ProfileManager.cs new file mode 100644 index 0000000..edff060 --- /dev/null +++ b/Fo76ini/Profiles/ProfileManager.cs @@ -0,0 +1,253 @@ +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Xml.Linq; + +namespace Fo76ini.Profiles +{ + /// + /// Loads, saves, and manages game profiles. + /// + public static class ProfileManager + { + public static event ProfileEventHandler ProfileChanged; + private static List games = new List(); + private static int selectedGameIndex; + + public static IEnumerable Games + { + get { return games.Select(x => x); } + } + + public static int Count + { + get { return games.Count; } + } + + public static int SelectedGameIndex + { + get { return selectedGameIndex; } + set + { + selectedGameIndex = value; + Feedback(); + } + } + + public static void Feedback() + { + if (ProfileChanged != null) + ProfileChanged(null, BuildProfileEventArgs()); + + // Backwards-compatibility: + IniFiles.Config.Set("Preferences", "uGameEdition", (int)SelectedGame.Edition); + IniFiles.Config.Set("Preferences", "sGamePath", SelectedGame.GamePath); + IniFiles.Config.Set("Preferences", $"sGamePath{SelectedGame.Edition}", SelectedGame.GamePath); + } + + public static string XMLPath = Path.Combine(Shared.AppConfigFolder, "profiles.xml"); + + public static void AddGame(GameInstance game) + { + games.Add(game); + } + + public static void RemoveGame(GameInstance game) + { + games.Remove(game); + } + + public static int FindIndex(GameInstance game) + { + return games.FindIndex((GameInstance search) => search == game); + } + + public static void SelectGame(GameInstance game) + { + SelectedGameIndex = FindIndex(game); + } + + public static GameInstance SelectedGame + { + get + { + if (SelectedGameIndex < 0 || SelectedGameIndex >= games.Count) + return null; + return games[SelectedGameIndex]; + } + } + + public static bool IsSelected(GameInstance game) + { + return SelectedGameIndex >= 0 && SelectedGameIndex == FindIndex(game); + } + + /*public Profile SelectedProfile + { + get { return games[selectedGameGuid].SelectedProfile; } + }*/ + + public static void Save() + { + XDocument xmlDoc = new XDocument(); + XElement xmlRoot = new XElement("Games", + new XAttribute("selected", SelectedGameIndex) + ); + + foreach (GameInstance game in games) + xmlRoot.Add(game.Serialize()); + + xmlDoc.Add(xmlRoot); + xmlDoc.Save(XMLPath); + } + + public static void Load() + { + if (!File.Exists(XMLPath)) + { + Init(); + Feedback(); // This is important. + return; + } + + XDocument xmlDoc = XDocument.Load(XMLPath); + + games.Clear(); + foreach (XElement xmlGame in xmlDoc.Descendants("Game")) + AddGame(GameInstance.Deserialize(xmlGame)); + + SelectedGameIndex = Convert.ToInt32(xmlDoc.Root.Attribute("selected").Value); + + // Call event handler: + Feedback(); + } + + private static void Init() + { + // If tool has been started for the first time, no profiles are available. + // Create profiles and save the xml. + + // No games? + if (games.Count == 0) + { + // Do we have legacy profiles? + if (IniFiles.Config != null && IniFiles.Config.Exists("Preferences", "uGameEdition")) + { + // then convert them: + ConvertLegacyFormat(); + } + else + { + // else create a new game profile from scratch: + GameInstance defaultGame = new GameInstance(); + if (File.Exists(Path.Combine(IniFiles.ParentPath, "Project76.ini"))) + { + // "Project76.ini" exists, which means the user has it from the Microsoft Store + defaultGame.Edition = GameEdition.MSStore; + defaultGame.SetDefaultSettings(GameEdition.MSStore); + } + AddGame(defaultGame); + SelectGame(defaultGame); + } + } + + // No game selected? + if (SelectedGameIndex < 0) + { + // Select first game in list: + SelectedGameIndex = 0; + } + + Save(); + } + + /// + /// Converts legacy profiles from v1.8.4h1 and prior to new format. + /// + private static void ConvertLegacyFormat() + { + // Some people might have denied NTFS write permission. Give permission back: + IniFiles.SetNTFSWritePermission(true); + IniFiles.Config.Remove("Preferences", "bDenyNTFSWritePermission"); + + // If NWMode was active, then the Fallout76Custom.ini might have been renamed to Fallout76Custom.ini.nwmodebak + // Rename it back: + string f76C_NW = Path.Combine(IniFiles.ParentPath, "Fallout76Custom.ini.nwmodebak"); + string f76C = Path.Combine(IniFiles.ParentPath, "Fallout76Custom.ini"); + string p76C_NW = Path.Combine(IniFiles.ParentPath, "Project76Custom.ini.nwmodebak"); + string p76C = Path.Combine(IniFiles.ParentPath, "Project76Custom.ini"); + if (File.Exists(f76C_NW) && !File.Exists(f76C)) + File.Move(f76C_NW, f76C); + if (File.Exists(p76C_NW) && !File.Exists(p76C)) + File.Move(p76C_NW, p76C); + + // sGamePath [ + MSStore / BethesdaNet / BethesdaNetPTS / Steam ] + // uLaunchOption (1 = OpenURL) (2 = RunExec) + // uGameEdition + + // Iterate over each possible key: + List editions = new List { GameEdition.BethesdaNet, GameEdition.Steam, GameEdition.BethesdaNetPTS, GameEdition.MSStore }; + List gamePathKeys = new List() { "sGamePathBethesdaNet", "sGamePathSteam", "sGamePathBethesdaNetPTS", "sGamePathMSStore" }; + for (int i = 0; i < gamePathKeys.Count; i++) + { + // Get the game path. Skip if empty. + string gamePath = IniFiles.Config.GetString("Preferences", gamePathKeys[i], ""); + if (gamePath == "") + continue; + + GameInstance game = new GameInstance(); + game.GamePath = gamePath; + game.Edition = editions[i]; // (GameEdition)(i + 1) + game.SetDefaultSettings(game.Edition); + + // If the index matches uGameEdition, then this is the default game edition: + bool selected = IniFiles.Config.GetUInt("Preferences", "uGameEdition", 0) - 1 == i; + + if (selected) + { + uint uLaunchOption = IniFiles.Config.GetUInt("Preferences", "uLaunchOption", 1); + game.PreferredLaunchOption = uLaunchOption == 2 ? LaunchOption.RunExec : LaunchOption.OpenURL; + } + + switch (game.Edition) + { + case GameEdition.BethesdaNet: + game.Title = "Bethesda.net"; + break; + case GameEdition.BethesdaNetPTS: + game.Title = "Bethesda.net (PTS)"; + break; + case GameEdition.Steam: + game.Title = "Steam"; + break; + case GameEdition.MSStore: + game.Title = "Microsoft Store"; + break; + } + + AddGame(game); + if (selected) + SelectGame(game); + } + } + + private static ProfileEventArgs BuildProfileEventArgs() + { + ProfileEventArgs args = new ProfileEventArgs(); + args.ActiveGameInstance = SelectedGame; + args.GameIndex = SelectedGameIndex; + return args; + } + } + + public delegate void ProfileEventHandler(object sender, ProfileEventArgs e); + + public class ProfileEventArgs : EventArgs + { + public GameInstance ActiveGameInstance; + public int GameIndex; + } +} diff --git a/Fo76ini/Program.cs b/Fo76ini/Program.cs index 4f0a3e3..27f33aa 100644 --- a/Fo76ini/Program.cs +++ b/Fo76ini/Program.cs @@ -1,10 +1,7 @@ using Fo76ini.Forms.ExceptionDialog; using System; -using System.Collections.Generic; -using System.Linq; using System.Net; using System.Threading; -using System.Threading.Tasks; using System.Windows.Forms; namespace Fo76ini diff --git a/Fo76ini/Progress.cs b/Fo76ini/Progress.cs new file mode 100644 index 0000000..67c6fd0 --- /dev/null +++ b/Fo76ini/Progress.cs @@ -0,0 +1,162 @@ +using Fo76ini.Utilities; +using System; +using System.Collections.Generic; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; + +namespace Fo76ini +{ + /// + /// A simple class that holds a percentage, a progress text, and other information + some utility methods. + /// + public class Progress + { + /// + /// Percentage between 0.0f and 1.0f. + /// + public float Percentage = 0.0f; + public string Text = ""; + public Color? TextColor = null; + public bool IsDone = false; + public bool Success = true; + public Exception Exc = null; + + /// + /// Rounded percentage between 0 and 100. + /// + public int RoundedPercentage + { + get + { + return Utils.Clamp((int)Math.Round(Percentage * 100f, 0), 0, 100); + } + } + + /// + /// Progress is ongoing and we now the exact percentage. + /// + public static Progress Ongoing(string text, float percentage) + { + Progress progress = new Progress(); + progress.Percentage = percentage; + progress.Text = text; + return progress; + } + + /// + /// Progress is ongoing, but we don't know the exact percentage. + /// + public static Progress Indetermined(string text) + { + Progress progress = new Progress(); + progress.Percentage = -1; + progress.Text = text; + return progress; + } + + /// + /// The operation was successful. + /// + public static Progress Done(string text = null) + { + Progress progress = new Progress(); + progress.Text = text != null ? text : "Done"; + progress.IsDone = true; + progress.Success = true; + progress.Percentage = 100; + return progress; + } + + /// + /// The operation was aborted due to an error. + /// + public static Progress Aborted(string text, Exception exc = null) + { + Progress progress = new Progress(); + progress.IsDone = true; + progress.Success = false; + progress.Exc = exc; + progress.Text = text; + progress.Percentage = 0; + return progress; + } + + public void Update (Label label, ProgressBar progressbar) + { + /* + * Progress bar + */ + + if (Percentage < 0) + { + progressbar.Style = ProgressBarStyle.Marquee; + //this.progressBarMods.MarqueeAnimationSpeed = 15; + } + else + { + progressbar.Style = ProgressBarStyle.Continuous; + progressbar.Value = RoundedPercentage; + } + + + /* + * Label + */ + + if (TextColor != null) + label.ForeColor = (Color)TextColor; + else if (IsDone && Success) + label.ForeColor = Color.DarkGreen; + else if (IsDone && !Success) + label.ForeColor = Color.Red; + else + label.ForeColor = Color.Black; + + label.Text = Text; + if (Exc != null) + label.Text += " - " + Exc.Message; + } + + /// + /// Changes the progress object to be part of a "phase". + /// + /// Example: + /// "'some.jpg' - 58% copied" + /// [****** ] 58% + /// + /// turns into + /// + /// "Copying 5 of 39 files - 'some.jpg' - 58% copied" + /// [* ] 12% + /// + /// Example: "Copying {0} of {1} files - {2}" + /// + /// + /// + public Progress AsPhase(string formattedPhaseStr, int currentPhase, int phaseCount) + { + return this.AsPhase(formattedPhaseStr, currentPhase, phaseCount, (float)(currentPhase - 1) / (float)phaseCount, 1f / (float)phaseCount); + } + + public Progress AsPhase (string formattedPhaseStr, int currentPhase, int phaseCount, float progressSoFar, float phaseAmountsTo) + { + if (this.Percentage >= 0 && this.Percentage <= 100) + this.Percentage = progressSoFar + this.Percentage * phaseAmountsTo; + else + this.Percentage = progressSoFar; + this.Text = String.Format(formattedPhaseStr, currentPhase, phaseCount, this.Text); + this.IsDone = false; + return this; + } + + public static Action BuildPhasedProgressChanged(Action originalProgressChanged, string formattedPhaseStr, int currentPhase, int phaseCount) + { + return (progress) => { + originalProgressChanged(progress.AsPhase(formattedPhaseStr, currentPhase, phaseCount)); + }; + } + } +} diff --git a/Fo76ini/Properties/AssemblyInfo.cs b/Fo76ini/Properties/AssemblyInfo.cs index 4e9cfde..652f4c3 100644 --- a/Fo76ini/Properties/AssemblyInfo.cs +++ b/Fo76ini/Properties/AssemblyInfo.cs @@ -1,6 +1,5 @@ -using System.Resources; -using System.Reflection; -using System.Runtime.CompilerServices; +using System.Reflection; +using System.Resources; using System.Runtime.InteropServices; // Allgemeine Informationen über eine Assembly werden über die folgenden diff --git a/Fo76ini/Properties/Resources.Designer.cs b/Fo76ini/Properties/Resources.Designer.cs index 0abad49..17df2b7 100644 --- a/Fo76ini/Properties/Resources.Designer.cs +++ b/Fo76ini/Properties/Resources.Designer.cs @@ -60,6 +60,16 @@ internal Resources() { } } + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap add_archive_3_24 { + get { + object obj = ResourceManager.GetObject("add-archive-3-24", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + /// /// Looks up a localized resource of type System.Drawing.Bitmap. /// @@ -140,6 +150,26 @@ internal static System.Drawing.Bitmap available_updates { } } + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap available_updates_48 { + get { + object obj = ResourceManager.GetObject("available_updates_48", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap banner { + get { + object obj = ResourceManager.GetObject("banner", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + /// /// Looks up a localized resource of type System.Drawing.Bitmap. /// @@ -200,6 +230,16 @@ internal static System.Drawing.Bitmap button_hover { } } + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap checkbox_24 { + get { + object obj = ResourceManager.GetObject("checkbox-24", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + /// /// Looks up a localized resource of type System.Drawing.Bitmap. /// @@ -210,6 +250,16 @@ internal static System.Drawing.Bitmap checked_checkbox_24 { } } + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap cog_24 { + get { + object obj = ResourceManager.GetObject("cog-24", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + /// /// Looks up a localized resource of type System.Drawing.Bitmap. /// @@ -220,6 +270,46 @@ internal static System.Drawing.Bitmap delete_24 { } } + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap delete_48 { + get { + object obj = ResourceManager.GetObject("delete-48", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap dislike { + get { + object obj = ResourceManager.GetObject("dislike", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap download_2_24 { + get { + object obj = ResourceManager.GetObject("download-2-24", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap download_2_48 { + get { + object obj = ResourceManager.GetObject("download_2_48", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + /// /// Looks up a localized resource of type System.Drawing.Bitmap. /// @@ -240,6 +330,26 @@ internal static System.Drawing.Bitmap error_64 { } } + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap exit_48 { + get { + object obj = ResourceManager.GetObject("exit-48", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap external_link_16 { + get { + object obj = ResourceManager.GetObject("external-link-16", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + /// /// Looks up a localized resource of type System.Drawing.Bitmap. /// @@ -250,6 +360,16 @@ internal static System.Drawing.Bitmap fire { } } + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap Fo76ini_LDu4jzf2p3 { + get { + object obj = ResourceManager.GetObject("Fo76ini_LDu4jzf2p3", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + /// /// Looks up a localized resource of type System.Drawing.Bitmap. /// @@ -260,6 +380,36 @@ internal static System.Drawing.Bitmap folder_24 { } } + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap heart_24 { + get { + object obj = ResourceManager.GetObject("heart-24", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap heart_48 { + get { + object obj = ResourceManager.GetObject("heart-48", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap heart_broken_24 { + get { + object obj = ResourceManager.GetObject("heart_broken_24", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + /// /// Looks up a localized resource of type System.Drawing.Bitmap. /// @@ -310,6 +460,26 @@ internal static System.Drawing.Bitmap info_64 { } } + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap like { + get { + object obj = ResourceManager.GetObject("like", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap login_48 { + get { + object obj = ResourceManager.GetObject("login-48", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + /// /// Looks up a localized resource of type System.Drawing.Bitmap. /// @@ -340,6 +510,36 @@ internal static System.Drawing.Bitmap nexus_24 { } } + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap pipboy_preview_bg { + get { + object obj = ResourceManager.GetObject("pipboy_preview_bg", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap pipboy_preview_fg { + get { + object obj = ResourceManager.GetObject("pipboy_preview_fg", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap pipboy_preview_fg_masked { + get { + object obj = ResourceManager.GetObject("pipboy_preview_fg_masked", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + /// /// Looks up a localized resource of type System.Drawing.Bitmap. /// @@ -430,6 +630,16 @@ internal static System.Drawing.Bitmap steam_24px { } } + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap text_24 { + get { + object obj = ResourceManager.GetObject("text-24", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + /// /// Looks up a localized resource of type System.Drawing.Bitmap. /// diff --git a/Fo76ini/Properties/Resources.resx b/Fo76ini/Properties/Resources.resx index 70a237e..a109137 100644 --- a/Fo76ini/Properties/Resources.resx +++ b/Fo76ini/Properties/Resources.resx @@ -118,136 +118,199 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - ..\Resources\bethesda_24px.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\bethesda-launcher.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\Gear-0.4s-200px.gif;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\info-2-64.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\..\Images\banner.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\external-link-16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\checked-checkbox-24(1).png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\button.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\Spinner-1s-24px-white.gif;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\download-2-48.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\play-24.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\heart-48.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\delete-24.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\user-6-512.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a ..\Resources\steam.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\pipboy_preview_fg_masked.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\plus-24.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\available-updates-48.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\like.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\icon-60.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + ..\Resources\xbox_24px.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\bethesda-launcher-pts.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\Fo76ini_LDu4jzf2p3.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a ..\Resources\available-updates-24.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\save-24.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\icon.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\bethesda-launcher.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\add-folder-24.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\help-24.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\arrow-down.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\msstore_24px.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\help-128.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\save-32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\edit-2-24.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\msstore.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\thaw-24.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\VaultBoyThumbsUp_200px.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\snowflake-16-24.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\steam_24px.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\fire-2-24.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\xbox.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\arrow_left_black.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\play-24.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\add-snowflake-24.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\nexus-24.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\adventures-24.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\Gear-0.4s-200px.gif;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\delete-48.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\button.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\heart-24.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\button_hover.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\pipboy_preview_fg.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\Spinner-1s-24px-white.gif;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\warning-5-64.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\arrow_left_black.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\folder-3-24.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\checkbox-24.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\add-archive-3-24.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a ..\Resources\arrow_right_black.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\bg.jpg;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\help-24.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\adventures-24.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\nexus-24.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\fire-2-24.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\button_hover.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\add-folder-24.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\save-24.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\add-snowflake-24.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\bethesda_24px.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\checked-checkbox-24(1).png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\bethesda-launcher-pts.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\delete-24.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\save-32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\edit-2-24.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\cog-24.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\error-5-64.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\download-2-24.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\folder-3-24.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\dislike.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\help-128.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\arrow-up.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\icon.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\exit-48.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\icon-60.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\msstore.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\info-2-64.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\heart-broken-24.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\plus-24.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\pipboy_preview_bg.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\snowflake-16-24.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\steam_24px.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\thaw-24.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\xbox.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\user-6-512.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\text-24.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\msstore_24px.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\error-5-64.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a ..\Resources\user-white.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\warning-5-64.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\VaultBoyThumbsUp_200px.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\arrow-down.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\bg.jpg;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\arrow-up.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\login-48.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a \ No newline at end of file diff --git a/Fo76ini/Resources/Fo76ini_LDu4jzf2p3.png b/Fo76ini/Resources/Fo76ini_LDu4jzf2p3.png new file mode 100644 index 0000000000000000000000000000000000000000..4aa22d9509d1cb20a5a51e0773b009149f667562 GIT binary patch literal 7168 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 z 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 Gz573e&tNwI literal 0 HcmV?d00001 diff --git a/Fo76ini/Resources/add-archive-3-24.png b/Fo76ini/Resources/add-archive-3-24.png new file mode 100644 index 0000000000000000000000000000000000000000..c73ecaa5df57bdd43ccb7bf89e7186747f2797cc GIT binary patch literal 10028 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 literal 0 HcmV?d00001 diff --git a/Fo76ini/Resources/add-folder-24.png b/Fo76ini/Resources/add-folder-24.png index d1eebd012ac821315273098fb273fada57da1cf9..28e18db98239dd6997f6269cd73b4eb55cc38201 100644 GIT binary patch literal 9368 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 D^7g8U delta 3799 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 N002ovPDHLkV1kDZI(Ps8 diff --git a/Fo76ini/Resources/available-updates-48.png b/Fo76ini/Resources/available-updates-48.png new file mode 100644 index 0000000000000000000000000000000000000000..719992888be99b6c92ae0b95f5b9c3b575e13aad GIT binary patch literal 4073 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 b!;Ir!zAFY#T8~DV00000NkvXXu0mjfdi=T@ literal 0 HcmV?d00001 diff --git a/Fo76ini/Resources/bg.jpg b/Fo76ini/Resources/bg.jpg index cbc6d5fa3017807fbf8816ddc1c567fe9fda41ef..9f30a3daa98fa7a8cc902f589e2ab268ead4087c 100644 GIT binary patch delta 13977 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

^ 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 delta 56475 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 literal 0 HcmV?d00001 diff --git a/Fo76ini/Resources/cog-24.png b/Fo76ini/Resources/cog-24.png new file mode 100644 index 0000000000000000000000000000000000000000..f177407611b1d89ca136181c088a9151bc205edf GIT binary patch literal 838 zcmV-M1G)T(P)*q84hd;yJCChwTr4wN$&qR~EQV#j7BiXrGRbmz5O};l z-}l}(@Anw7h4hjcg6Ed{0J0~bK{{@~H8I}IKGG4QyG`y|fjG(fy(C*n zws|6G1*VqqlQ5#sGp3O@V7@U5VUG{u}DUSt0X+5zKb_*~LQmuU%q1Q6itfdaJ9IHUA9XGlxQ$v@XNC_XB1=Wn61H=}1=1@OaR(Or zqMU9ix3GKhjbA1|S}04Z(-NPlVfL-w3@95!Fj(fZi2; ziu5_K!-5W!3qMZBo!{6Xy(Iet{4=YQ%q4wa7XPOq={ax&YLzsBprq(8(92EWC3`O^ zV)g^`4)6^45PuFzp%QF&N+Pq&tLss5xVR2# zR9@Q$@i41zN+qT5KtW!hUt>=q&;U3DPBHTW+#ry&hk0~o@Ae~L&knjSFiydTk_M}{ zXqdeRq?B7x{w4nbpJ9GU$L$;-PG(I@p8`J!?p3s!T=@NT+oeU_{IX8Bu-{sq(8x}GUXckFdZ+OxJ$PBszAE5Jq5inegmE&y%ikbf9vX3fc9o@ Qo&W#<07*qoM6N<$f=Himz5oCK literal 0 HcmV?d00001 diff --git a/Fo76ini/Resources/delete-48.png b/Fo76ini/Resources/delete-48.png new file mode 100644 index 0000000000000000000000000000000000000000..642c8658ec35bd347af2d240592c6ae1a7de0b39 GIT binary patch literal 2101 zcmV-52+H?~P) zaB^>EX>4U6ba`-PAZ2)IW&i+q+U=KZlG`8*hW~Sl9sx-RiQ`}}Grd8N-xo}>$?o=R z+CQC%83PfrP~Jx-yW#xyb%ZatsALXF&2z~);z}hIu9$eduCjWHY4z)py@bzC_HbWd znB>jV>h`a&>)QjjJ?MD02j45~JJ4RZ1(dlnW6~d!gq<%tr5&i8*CZFW$5ao##IkfiKPAjs3#yNxkE z3iKrMZ5H0Ef1kY*pX;{EJ1z6p2$N42NIw^UN&H+6J0pHxFu8^LDDoKH$2hNVS5t7W0IRaya0s8=B7*FTif{KL;avsK~R^>jxSi_afLXP-fBx0XMvw$yj~#+ z)^`9%guNBX;1x&|Gl^2BXv{_g9UXuwGG|GAfB>m-N0OXGa2^>u&%N=C(eh>G%+rjs z2_RIm7}yl4fR&P>ek?g^sH$jE)vTr-v}nzeQ`Vfb<$1_e6HBI+&CIP>b@Alt+0EUH z*TO|`25QO0ikDJqHLWI*E1Ao!uL`-{Kb3e~TOc zid>lJ{sp-JbRW5WLaoo=xweR1Z{gH53f?~WRQ7;7Ms$BWz5=}hy#l=gy#l=gy#oFJ zfn?y12mDhQz5}MZo&bBRt+W6D0flKpLr_UWLm+T+Z)Rz1WdHzpoPCiyNW)MRhX1CD zuZn{mL>w|yaj+mIkP1Pi6D(5i#UO<&NYAxUv@6kH1qJ{GGEF3!3-xC(;c1H{SE zNzp}0JU1z{i1EVVe*E|TKj)qc2=y{k&5lVx)hr_!i;9`-s@V04KJ-vUFfK7ukEa&X z@LXT_@bUdF%(J}j{ki&;oXG&6NIb`M!y?`wp4qf?&ilkcR+JRtbK(hu8YF(?y6o~B z=Yqom&kP#r&&8PBnrU zmJmk*B4kuiLKzmqv}>f8NYZ)K!$0i!6XcS~RRSZ&0xD1;Iezdz_&r-QKNWG40#Tsz z#kN02fv#PkQM2vuW7}?=0RCs-N^AKmbzt_B^jb>`9RUN|z{Pb-llOqj9bo85mkh~~ z{8U0d54@kzH)VmrTcCH%om=x9rw>4yX0?0+92^2;1-okfCx>KR>1zMK$SWf6W?0k~$@|OKP)chrJt=G$QGz$M;=QbG_iR>Iw2*(%v%oIwg%o;51OJ96=ci z2F02|!H3`nU@C6D$2SMOi!9TVFuyt z5SbGIp`>NtGw{ec7e+tsVubGlUIHBnRx0*BtikeeyrBh!Vdvamh?sGqi>SlN;;C{#JkPGGAXn`x3z4N z4}=vsV!bF#vcRIn^A;P+dK!notQ{9NlbS916=eGb%maCA3*~0oK+;u7Ylguel7_Y* z!w*RM;M@yfSA5I27T1VMZokc=n8C$L>6o(3xu@@6~_J4r^N!b)Ik3LH@*H?Wb6s+7kB_)*;rAVjPTA@Yw1jd zyW-DZ04{m`yq5$QB;94>jZ5B}JI=;yrj=^t%2cRqQzTR85;FNp!dO0{kWWqiI<;ag z=PeWf!&bD~6tWuVG1klc18YfyQu4VnmFQr-SbG-eWAm<{LSPDb fz zaB^>EX>4U6ba`-PAZ2)IW&i+q+U=KJmgFW3h2L34mVhLL#Bwk{=VS+2el9lUuIlbd zW|BPQq0BL0frWfOL3M}m$L}-zhKov0A*p#TIY(Tnq{0;)kJnYsnqoTZ>)|m*ul8^c zFie70u1BkTeuZ5>Uby`nulC@3gnc{O0}qF?R%UeibC9s}Wv8?qm2q`)aeEH+;HzzW z;u*@m$+m4fU(ey$kPIqy#X`b7ge0P7*%8QfSJ(-)$eI@=qn|_r8W!4-K#-Tud$ch= z3-luLqZdA_fA>C#&vo17la_gFgwD4Eq~D8wO8m62+!68Xfa$~4SCQxJKIgc;uBHq{ z^UkPK?1w^Y;sMF!d@Z9GZbjeDQcyhB*nqsp77vt0g&0(3phTT2O&Vw0s3F9}gAFZn z1BqpGF)rLdiNFYjCYu!L;(*n71Yk_UcPwI;CQhtFNZEAdyTJ!9t25T^T zxS(~M=wb$9oCw5i5kNxoViuiJ;ze#Ti-oZ%lo6yZHlfoZ283x4>!h3A2f3f(7Sw-= z8~+`-u+aS%c@({sd1;pIOXZ=K=r#0fcEoLr_UWLm+T+Z)Rz1WdHzp zoPCi!NW(xJ#a~lPMJo<=5E02xoh*ooI7$_ZV4<`XT6HkF^b49aBq=VAf@{ISkHxBk zi?gl{u7V)=0pjH7r060g{x2!Ci1FaKAMfrx?%n}Hqrz0PYXVR;%SgpzVm7xb24B&O z5d;u{C^1t{q!%;r9AEeF@%1jsv%Js!Ir@~m$pD{7JjZmyBHkdL*|c=d`@~^Zk`&@| z;&Fp6Nc_lk+2uFRMTZ5R88$MhdEzj!SnOcAgIUQ?iKmGpimFk*kabz%yv13q)L84D z{Dq;swvy&L&0)l`ganchA)|&eDzFfxRU^ejiuPk3{vpSoB$rICG8j1)P=yM~@q_=t z?{3Y))TEmfiUENa+x{2@g1bPoZrk6-w%t4d{LjFZ*7jE$!0adK^|lr{0{XXsi|e)~ z?*W%Pz~GZE8ImLUX$pk`@P0<$lmiBCfu1$Dx7I#RAAk&XwR{5{90FrS%3k+)cXwxR z|DI{}_XDRwa=iLn_2mEn00v@9M??VB0Mr1~jtJ?;00009a7bBm00027000270mdy! zjQ{`u2XskIMF->y9tABG%`2W}0003>Nkl;aS6fKff^e_N3hXaX}plH>IWJOGzQwVMTWfcnpDqZ&E$P2dcu1#bEc zXc*O7fY@iA*?A2(AHf`83b?Q$)jnX5nm{_n(Wk&}2tW$_-}MkcQ~|3 zTR_A0txw0mtjqIh0caPx3am&4xCYid;b&mpsDAirgSyBS?*JW7cp5m&s|{{bqx$NO zNj>5H!T<+(0=9woP@j!wJAzd(AofXT;IO&H z%3iR(D{l*{fW2k5kr1qc`2#Gjw78Yjg4byy$U*!pW_PoDmrYj5Yv%Fh&G*gwX6B7( zY3X#lh4=tq^djyKzqVP|X-j}~V6+X|#y)7ftUZBQRTz=9dg}yM!Q<9@`X>T801JWJ zleDj(91YU#6D&Zk+&Y1CiXc(jRS>mJEL92P#eWl|S+ZsLh#euljJw0nKsZgoO0(n#aL@2ZaCguh{=QBw-5^Vv zC3g(Ja&>-ooWBKyz?Ba#?u{lkeVKFMya_zFNTw4m8&Oo2TvXm*ac?vM9yMoFOaaU` zo$@xcZ;;no(bNqf5iM+dEzOcjG1b|dqNTr9?dUa$4BwUC@emco|5ErAZy*F4{X(Kh zXkM2{wQlUnTtR9;s#Me9Bh4e=5O@ROQx8q^vheEBROg+4(#<||;P5ZEx$T*(c|0os O0000 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 literal 0 HcmV?d00001 diff --git a/Fo76ini/Resources/like.png b/Fo76ini/Resources/like.png new file mode 100644 index 0000000000000000000000000000000000000000..333c78659d2d6ad6903e58d05b06405a547b1c42 GIT binary patch literal 1614 zcmV-U2C?~xP) zaB^>EX>4U6ba`-PAZ2)IW&i+q+U=HImgFW3h2L34mVhLL#Bwk{=VS+2el9lUuIlbd zW|BPQq0BL0frWfOK~)%k{652PxTs_fNzHS~IpRts6|U%bysmQA6w_H>505c=wTF9v zVG^`*JzCxKEA0C5!tLjHwFloL?Ay^EcsP``GNaR9i?EvvY>HICN=cDFmK-@$RWzw;R#OjJv}VaEYtGs7I^?Q}B~#00=2on_cyjgZ z=I+I7;UYK#wd7*OODVN-s931NSH=7a%fW{n>Cht|cKA__+K@giHEp?B^Hy5z+@<4~ z=($_>UV0rA22P5RhK@XJ_$Z@JYrp70!HP3Epum-b- z3tGpCE@mLci9p;I0VFgpX3;4nUgQ?DSQwi^8A0k|6FMzoK$r%xPP*BBkozfaLH(z= z@!ydP3*CP~E&$zEZr@Pr>vyi5#I9YqG>wAYS7%a6L9GoM*f_Kv<3Dc0zjg3-^mg=i z^mg=i^mg=i^nY-Kzv}p>@h92MJPW^X_!R&E0fcEoLr_UWLm+T+Z)Rz1WdHzpoPCi! zNW(xJ#a~lPMJo<=5E02xoh*ooI7$_ZV4<`XT6HkF^b49aBq=VAf@{ISkHxBki?gl{ zu7V)=0pjH7r060g{x2!Ci1FaKAMfrx?%n}Hqrz0PYXVR;%SgpzVm7xb24B&O5d;u{ zC^1t{q!%;r9AEeF@%1jsv%Js!Ir@~m$pD{7JjZmyBHkdL*|c=d`@~^Zk`&@|;&Fp6 zNc_lk+2uFRMTZ5R88$MhdEzj!SnOcAgIUQ?iKmGpimFk*kabz%yv13q)L84D{Dq;s zwvy&L&0)l`ganchA)|&eDzFfxRU^ejiuPk3{vpSoB$rICG8j1)P=yM~@q_=t?{3Y) z)TEmfiUENa+x{2@g1bPoZrk6-w%t4d{LjFZ*7jE$!0adK^|lr{0{XXsi|e)~?*W%P zz~GZE8ImLUX$pk`@P0<$lmiBCfu1$Dx7I#RAAk&XwR{5{90FrS%3k+)cXwxR|DI{} z_XDRwa=iLn_2mEn00v@9M??VB0Mr1~jtJ?;00009a7bBm00027000270mdy!jQ{`u z2XskIMF->y9tABDQ%?)U0003^Nkli*Nuxpe(jmiyDm@fcjXO24$efdG3<^^~2 zu`cN=GeBxF30wnH5%NhUfYf3HI0t4Upt|DcSbW0>?KUlN-es-HQY$|!-V3cl>f>&umiM{9(f|; zrdSVhUPZ0E0eAm^xcCGf@&r5@Wt&NWb_T$GFU#&V1K_q7KpCi~Ft57>NdP?ivW&7d zU>m6QVg3e4qinOY?ACxSVAKP-ky^|Fo4~ZIiHZ;43AixIHu$Uf2FyQA@wzD+qW}N^ M07*qoM6N<$f{zF7V*mgE literal 0 HcmV?d00001 diff --git a/Fo76ini/Resources/login-48.png b/Fo76ini/Resources/login-48.png new file mode 100644 index 0000000000000000000000000000000000000000..d955f5d408fb695848ce7b19a1f566d333ffc4c1 GIT binary patch literal 6134 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 Z$!nB{+Yb&ScEja{;Btc4`+OIs{Tuw}8ejkb literal 0 HcmV?d00001 diff --git a/Fo76ini/Resources/mouse-icon.png b/Fo76ini/Resources/mouse-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..94451d2d0dfece93b7ec947d5d0f482bdbb6eb0b GIT binary patch literal 7862 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 literal 0 HcmV?d00001 diff --git a/Fo76ini/Resources/pipboy_preview_bg.png b/Fo76ini/Resources/pipboy_preview_bg.png new file mode 100644 index 0000000000000000000000000000000000000000..ee34fb548b1ffdcdd9e732667918b622aae15e6a GIT binary patch literal 123235 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 N#u|j!~n+iRCg8qH?+EX}qvnDP6NB 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 Mjj}SXHgb*qe|a3582|tP literal 0 HcmV?d00001 diff --git a/Fo76ini/Resources/pipboy_preview_fg_masked.png b/Fo76ini/Resources/pipboy_preview_fg_masked.png new file mode 100644 index 0000000000000000000000000000000000000000..44dea3b9dab08c3c71cd2294304853f1b025894c GIT binary patch literal 28047 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 Dq%p#F literal 0 HcmV?d00001 diff --git a/Fo76ini/Resources/text-24.png b/Fo76ini/Resources/text-24.png new file mode 100644 index 0000000000000000000000000000000000000000..62f986852eb5e47894defc69ff9d2614ec6744bc GIT binary patch literal 330 zcmV-Q0k!^#P)K*0D;&Ko|tz@6N+QEJa1c(#FEl)>p9bIeZMC!AdN} zPC>y!u(q(Xusm!8g;V5|aGVy|#SoS=iJ}%62)mp4|C#yOW;=2$;Tki34r}Q5!eNYQ z%wmMwutqFmz9cX}zi{qiHRz1XZgaTDJFd_x@wGt51#QkL5Al-K~p^76fe;rPB6kbE+sCgCia5(Tb-uVB_CC3 z?0#MHJ+ua`!QUEG>iyRfv<8jpe&1kf0=I%~>|jg&AShx1>+%P|6CP6{oe2gf*sK`z c1{*2j16n;e9pwLd!2kdN07*qoM6N<$f`=lDEdT%j literal 0 HcmV?d00001 diff --git a/Fo76ini/Resources/thumb-down-24.png b/Fo76ini/Resources/thumb-down-24.png new file mode 100644 index 0000000000000000000000000000000000000000..c9913da23a14c74a4a1dd63f1b41d1cf1ea99ec9 GIT binary patch literal 461 zcmV;;0W$uHP)b@cZ6{=>#(|Wnwh!t|L4v< zbN)lc=)n^txq1u7ZT39Iqk{SwE{Yob!q1fS8m};dKJ=!9V|a}^{^ZuzFo=&h%s1IB zm|zDFv4*eM#3G)xnF_|Sk}u|ovuI)ImiGysW}c74WW(w8Z&`yf)bT~glSK{vn8gY0 zCF;FL^J#ogKztX}g&DH=AtbJKqroIb3+e;drW%QeskXZ%QPII`Vy0?|cBodO{jv#$ zgs&U8OlwJ|ej8rkJP{c(=VrEC6U>Wv=*K7g7GbySe{1H^z)}z17A$UJEB7^PcqdYm z$f`?S!~#C2_lXF=Qj?VFn8gMrgggET30{_MdeA|GCQk7ldufw5_}&3WDQftJ=i(pi zDzS4X5)n>Y6^?49`|o>R3bBp@OjSWnWY0iVZazPLI?#dL4#We zHHkPnNOMCpIkrdQ5K7t5ATH5hgCOD{5)ttbhY)!@#NoTIuFw1Ue0Cr7hi|y&JLmk* zIo~oxEZ4}~%$sd6LQG6u!VJB+zc!v);@*3(z5LDCCj0#peU841(O0>}=s|am>P*jPUF`JU?{|mtY zUb;FD32xyjVQ6lOsxavdbO|fxIK4ZK5hTL?85E{?8=E*t@9Q|q=uhJwma|Su*u{>^ zyJ!@5ggQ1No4|cx7gd||6Jf19&jj#?U?3-xbNpzLS+D%x= 0) + DotNetFrameworkVersion = DotNetTargetFrameworkName.Substring(i + 1); + else + DotNetFrameworkVersion = DotNetTargetFrameworkName; - // IniFiles: - IniFiles.Instance.ChangeGameEdition(Shared.GameEdition); - SaveGameEdition(); + // Build user-agent: + string os = ""; + if (Environment.OSVersion.Platform == PlatformID.Win32NT) + os = $"Windows NT {Environment.OSVersion.Version}; "; + else + os = $"{Environment.OSVersion.Platform} {Environment.OSVersion.Version}; "; - // ManagedMods: - Shared.LoadGamePath(); - ManagedMods.Instance.Load(); + if (Environment.Is64BitOperatingSystem) + os += "x64"; + else + os += "x86"; - // FormMods: - // formMods.UpdateUI(); - } - - public static void LoadGamePath () - { - String gamePath = IniFiles.Instance.GetString(IniFile.Config, "Preferences", Shared.GamePathKey, ""); - if (gamePath.Length > 0) - Shared.GamePath = gamePath; - } - - public static void SaveGamePath () - { - IniFiles.Instance.Set(IniFile.Config, "Preferences", Shared.GamePathKey, Shared.GamePath); - IniFiles.Instance.SaveConfig(); - } - - public static void ClearGamePath() - { - Shared.gamePath = ""; - } - - public static String GamePath - { - get { return Shared.gamePath; } - set - { - if (value != null && Directory.Exists(value)) - Shared.gamePath = Path.GetFullPath(value); - } - } - - public static String GamePathKey - { - get { return Shared.GetGamePathKey(Shared.GameEdition); } - } - - public static String GetGamePathKey(int gameEdition) - { - return Shared.GetGamePathKey((GameEdition)gameEdition); - } - - public static String GetGamePathKey(GameEdition gameEdition) - { - return "sGamePath" + GetEditionSuffix(gameEdition); - } - - public static String GetEditionSuffix(int gameEdition) - { - return Shared.GetEditionSuffix((GameEdition)gameEdition); - } - - public static String GetEditionSuffix(GameEdition gameEdition) - { - switch (gameEdition) - { - case GameEdition.Steam: - return "Steam"; - case GameEdition.BethesdaNet: - return "BethesdaNet"; - case GameEdition.BethesdaNetPTS: - return "BethesdaNetPTS"; - case GameEdition.MSStore: - return "MSStore"; - default: - return ""; - } + AppUserAgent = $"Fo76QuickConfiguration/{Shared.VERSION} ({os}) .NETFramework/{Shared.DotNetFrameworkVersion}"; } } } diff --git a/Fo76ini/Tweaks/Audio/EnableAudioTweak.cs b/Fo76ini/Tweaks/Audio/EnableAudioTweak.cs new file mode 100644 index 0000000..a0e7bfb --- /dev/null +++ b/Fo76ini/Tweaks/Audio/EnableAudioTweak.cs @@ -0,0 +1,36 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Fo76ini.Tweaks.Audio +{ + class EnableAudioTweak : ITweak, ITweakInfo + { + public string Description => "If disabled, the game will be completely silent."; + + public string AffectedFiles => "Fallout76Custom.ini"; + + public string AffectedValues => "[Audio]bEnableAudio"; + + public bool DefaultValue => true; + + public string Identifier => this.GetType().FullName; + + public bool GetValue() + { + return IniFiles.GetBool("Audio", "bEnableAudio", DefaultValue); + } + + public void SetValue(bool value) + { + IniFiles.F76Custom.Set("Audio", "bEnableAudio", value); + } + + public void ResetValue() + { + SetValue(DefaultValue); + } + } +} diff --git a/Fo76ini/Tweaks/Audio/PlayMainMenuMusicTweak.cs b/Fo76ini/Tweaks/Audio/PlayMainMenuMusicTweak.cs new file mode 100644 index 0000000..aaa2b13 --- /dev/null +++ b/Fo76ini/Tweaks/Audio/PlayMainMenuMusicTweak.cs @@ -0,0 +1,36 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Fo76ini.Tweaks.Audio +{ + class PlayMainMenuMusicTweak : ITweak, ITweakInfo + { + public string Description => "If unchecked, the game won't play background music in the main menu."; + + public string AffectedFiles => "Fallout76Custom.ini"; + + public string AffectedValues => "[General]bPlayMainMenuMusic"; + + public bool DefaultValue => true; + + public string Identifier => this.GetType().FullName; + + public bool GetValue() + { + return IniFiles.GetBool("General", "bPlayMainMenuMusic", DefaultValue); + } + + public void SetValue(bool value) + { + IniFiles.F76Custom.Set("General", "bPlayMainMenuMusic", value); + } + + public void ResetValue() + { + SetValue(DefaultValue); + } + } +} diff --git a/Fo76ini/Tweaks/Audio/VoiceChatModeTweak.cs b/Fo76ini/Tweaks/Audio/VoiceChatModeTweak.cs new file mode 100644 index 0000000..979c187 --- /dev/null +++ b/Fo76ini/Tweaks/Audio/VoiceChatModeTweak.cs @@ -0,0 +1,57 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Fo76ini.Tweaks.Audio +{ + public enum VoiceChatMode + { + Auto = 0, + Area = 1, + Team = 2, + None = 3 + } + + class VoiceChatModeTweak : ITweak, ITweakInfo, IEnumTweak + { + public string Description => ""; + + public string AffectedFiles => "Fallout76Prefs.ini"; + + public string AffectedValues => "[Voice]uTransmitPreference"; + + public VoiceChatMode DefaultValue => VoiceChatMode.Auto; + + public string Identifier => this.GetType().FullName; + + // https://stackoverflow.com/a/16946496 + public int Count => Enum.GetNames(typeof(VoiceChatMode)).Length; + + public VoiceChatMode GetValue() + { + return (VoiceChatMode)IniFiles.GetInt("Voice", "uTransmitPreference", (int)DefaultValue); + } + + public void SetValue(VoiceChatMode value) + { + IniFiles.F76Prefs.Set("Voice", "uTransmitPreference", (int)value); + } + + public void ResetValue() + { + SetValue(DefaultValue); + } + + public int GetInt() + { + return (int)GetValue(); + } + + public void SetInt(int value) + { + SetValue((VoiceChatMode)value); + } + } +} diff --git a/Fo76ini/Tweaks/Audio/VoicePushToTalkEnabledTweak.cs b/Fo76ini/Tweaks/Audio/VoicePushToTalkEnabledTweak.cs new file mode 100644 index 0000000..db1cfe1 --- /dev/null +++ b/Fo76ini/Tweaks/Audio/VoicePushToTalkEnabledTweak.cs @@ -0,0 +1,36 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Fo76ini.Tweaks.Audio +{ + class VoicePushToTalkEnabledTweak : ITweak, ITweakInfo + { + public string Description => ""; + + public string AffectedFiles => "Fallout76Prefs.ini"; + + public string AffectedValues => "[Voice]bVoicePushToTalkEnabled"; + + public bool DefaultValue => true; + + public string Identifier => this.GetType().FullName; + + public bool GetValue() + { + return IniFiles.GetBool("Voice", "bVoicePushToTalkEnabled", DefaultValue); + } + + public void SetValue(bool value) + { + IniFiles.F76Prefs.Set("Voice", "bVoicePushToTalkEnabled", value); + } + + public void ResetValue() + { + SetValue(DefaultValue); + } + } +} diff --git a/Fo76ini/Tweaks/Camera/ApplyCameraNodeAnimationsTweak.cs b/Fo76ini/Tweaks/Camera/ApplyCameraNodeAnimationsTweak.cs new file mode 100644 index 0000000..1c3b89d --- /dev/null +++ b/Fo76ini/Tweaks/Camera/ApplyCameraNodeAnimationsTweak.cs @@ -0,0 +1,42 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Fo76ini.Tweaks.Camera +{ + class ApplyCameraNodeAnimationsTweak : ITweak, ITweakInfo + { + public string Description => String.Join( + Environment.NewLine, + "When disabled, sets the camera's position into the characters head.", + "You'll need to zoom out in third person.", + "If enabled, sets the camera's position behind the right shoulder.", + "", + "⚠️ Might cause issues if disabled."); + + public string AffectedFiles => "Fallout76Custom.ini"; + + public string AffectedValues => "[Camera]bApplyCameraNodeAnimations"; + + public bool DefaultValue => true; + + public string Identifier => this.GetType().FullName; + + public bool GetValue() + { + return IniFiles.GetBool("Camera", "bApplyCameraNodeAnimations", DefaultValue); + } + + public void SetValue(bool value) + { + IniFiles.F76Prefs.Set("Camera", "bApplyCameraNodeAnimations", value); + } + + public void ResetValue() + { + SetValue(DefaultValue); + } + } +} diff --git a/Fo76ini/Tweaks/Camera/CameraOverShoulderCombatAddYTweak.cs b/Fo76ini/Tweaks/Camera/CameraOverShoulderCombatAddYTweak.cs new file mode 100644 index 0000000..4c21e42 --- /dev/null +++ b/Fo76ini/Tweaks/Camera/CameraOverShoulderCombatAddYTweak.cs @@ -0,0 +1,37 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Fo76ini.Tweaks.Camera +{ + class CameraOverShoulderCombatAddYTweak : ITweak, ITweakInfo + { + public string Description => ""; + + public string AffectedFiles => "Fallout76Custom.ini"; + + public string AffectedValues => "[Camera]fOverShoulderCombatAddY"; + + public float DefaultValue => 0; + + public string Identifier => this.GetType().FullName; + + public float GetValue() + { + return IniFiles.GetFloat("Camera", "fOverShoulderCombatAddY", DefaultValue); + } + + public void SetValue(float value) + { + IniFiles.F76Custom.Set("Camera", "fOverShoulderCombatAddY", value); + } + + public void ResetValue() + { + IniFiles.F76Custom.Remove("Camera", "fOverShoulderCombatAddY"); + //SetValue(DefaultValue); + } + } +} diff --git a/Fo76ini/Tweaks/Camera/CameraOverShoulderCombatPosXTweak.cs b/Fo76ini/Tweaks/Camera/CameraOverShoulderCombatPosXTweak.cs new file mode 100644 index 0000000..f19a8b4 --- /dev/null +++ b/Fo76ini/Tweaks/Camera/CameraOverShoulderCombatPosXTweak.cs @@ -0,0 +1,37 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Fo76ini.Tweaks.Camera +{ + class CameraOverShoulderCombatPosXTweak : ITweak, ITweakInfo + { + public string Description => ""; + + public string AffectedFiles => "Fallout76Custom.ini"; + + public string AffectedValues => "[Camera]fOverShoulderCombatPosX"; + + public float DefaultValue => 0; + + public string Identifier => this.GetType().FullName; + + public float GetValue() + { + return IniFiles.GetFloat("Camera", "fOverShoulderCombatPosX", DefaultValue); + } + + public void SetValue(float value) + { + IniFiles.F76Custom.Set("Camera", "fOverShoulderCombatPosX", value); + } + + public void ResetValue() + { + IniFiles.F76Custom.Remove("Camera", "fOverShoulderCombatPosX"); + //SetValue(DefaultValue); + } + } +} diff --git a/Fo76ini/Tweaks/Camera/CameraOverShoulderCombatPosZTweak.cs b/Fo76ini/Tweaks/Camera/CameraOverShoulderCombatPosZTweak.cs new file mode 100644 index 0000000..44b0023 --- /dev/null +++ b/Fo76ini/Tweaks/Camera/CameraOverShoulderCombatPosZTweak.cs @@ -0,0 +1,37 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Fo76ini.Tweaks.Camera +{ + class CameraOverShoulderCombatPosZTweak : ITweak, ITweakInfo + { + public string Description => ""; + + public string AffectedFiles => "Fallout76Custom.ini"; + + public string AffectedValues => "[Camera]fOverShoulderCombatPosZ"; + + public float DefaultValue => 0; + + public string Identifier => this.GetType().FullName; + + public float GetValue() + { + return IniFiles.GetFloat("Camera", "fOverShoulderCombatPosZ", DefaultValue); + } + + public void SetValue(float value) + { + IniFiles.F76Custom.Set("Camera", "fOverShoulderCombatPosZ", value); + } + + public void ResetValue() + { + IniFiles.F76Custom.Remove("Camera", "fOverShoulderCombatPosZ"); + //SetValue(DefaultValue); + } + } +} diff --git a/Fo76ini/Tweaks/Camera/CameraOverShoulderMeleeCombatAddYTweak.cs b/Fo76ini/Tweaks/Camera/CameraOverShoulderMeleeCombatAddYTweak.cs new file mode 100644 index 0000000..f63adbc --- /dev/null +++ b/Fo76ini/Tweaks/Camera/CameraOverShoulderMeleeCombatAddYTweak.cs @@ -0,0 +1,37 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Fo76ini.Tweaks.Camera +{ + class CameraOverShoulderMeleeCombatAddYTweak : ITweak, ITweakInfo + { + public string Description => ""; + + public string AffectedFiles => "Fallout76Custom.ini"; + + public string AffectedValues => "[Camera]fOverShoulderMeleeCombatAddY"; + + public float DefaultValue => 0; + + public string Identifier => this.GetType().FullName; + + public float GetValue() + { + return IniFiles.GetFloat("Camera", "fOverShoulderMeleeCombatAddY", DefaultValue); + } + + public void SetValue(float value) + { + IniFiles.F76Custom.Set("Camera", "fOverShoulderMeleeCombatAddY", value); + } + + public void ResetValue() + { + IniFiles.F76Custom.Remove("Camera", "fOverShoulderMeleeCombatAddY"); + //SetValue(DefaultValue); + } + } +} diff --git a/Fo76ini/Tweaks/Camera/CameraOverShoulderMeleeCombatPosXTweak.cs b/Fo76ini/Tweaks/Camera/CameraOverShoulderMeleeCombatPosXTweak.cs new file mode 100644 index 0000000..12c2911 --- /dev/null +++ b/Fo76ini/Tweaks/Camera/CameraOverShoulderMeleeCombatPosXTweak.cs @@ -0,0 +1,37 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Fo76ini.Tweaks.Camera +{ + class CameraOverShoulderMeleeCombatPosXTweak : ITweak, ITweakInfo + { + public string Description => ""; + + public string AffectedFiles => "Fallout76Custom.ini"; + + public string AffectedValues => "[Camera]fOverShoulderMeleeCombatPosX"; + + public float DefaultValue => 0; + + public string Identifier => this.GetType().FullName; + + public float GetValue() + { + return IniFiles.GetFloat("Camera", "fOverShoulderMeleeCombatPosX", DefaultValue); + } + + public void SetValue(float value) + { + IniFiles.F76Custom.Set("Camera", "fOverShoulderMeleeCombatPosX", value); + } + + public void ResetValue() + { + IniFiles.F76Custom.Remove("Camera", "fOverShoulderMeleeCombatPosX"); + //SetValue(DefaultValue); + } + } +} diff --git a/Fo76ini/Tweaks/Camera/CameraOverShoulderMeleeCombatPosZTweak.cs b/Fo76ini/Tweaks/Camera/CameraOverShoulderMeleeCombatPosZTweak.cs new file mode 100644 index 0000000..7f7193f --- /dev/null +++ b/Fo76ini/Tweaks/Camera/CameraOverShoulderMeleeCombatPosZTweak.cs @@ -0,0 +1,37 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Fo76ini.Tweaks.Camera +{ + class CameraOverShoulderMeleeCombatPosZTweak : ITweak, ITweakInfo + { + public string Description => ""; + + public string AffectedFiles => "Fallout76Custom.ini"; + + public string AffectedValues => "[Camera]fOverShoulderMeleeCombatPosZ"; + + public float DefaultValue => 0; + + public string Identifier => this.GetType().FullName; + + public float GetValue() + { + return IniFiles.GetFloat("Camera", "fOverShoulderMeleeCombatPosZ", DefaultValue); + } + + public void SetValue(float value) + { + IniFiles.F76Custom.Set("Camera", "fOverShoulderMeleeCombatPosZ", value); + } + + public void ResetValue() + { + IniFiles.F76Custom.Remove("Camera", "fOverShoulderMeleeCombatPosZ"); + //SetValue(DefaultValue); + } + } +} diff --git a/Fo76ini/Tweaks/Camera/CameraOverShoulderPosXTweak.cs b/Fo76ini/Tweaks/Camera/CameraOverShoulderPosXTweak.cs new file mode 100644 index 0000000..e24b17c --- /dev/null +++ b/Fo76ini/Tweaks/Camera/CameraOverShoulderPosXTweak.cs @@ -0,0 +1,37 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Fo76ini.Tweaks.Camera +{ + class CameraOverShoulderPosXTweak : ITweak, ITweakInfo + { + public string Description => ""; + + public string AffectedFiles => "Fallout76Custom.ini"; + + public string AffectedValues => "[Camera]fOverShoulderPosX"; + + public float DefaultValue => 0; + + public string Identifier => this.GetType().FullName; + + public float GetValue() + { + return IniFiles.GetFloat("Camera", "fOverShoulderPosX", DefaultValue); + } + + public void SetValue(float value) + { + IniFiles.F76Custom.Set("Camera", "fOverShoulderPosX", value); + } + + public void ResetValue() + { + IniFiles.F76Custom.Remove("Camera", "fOverShoulderPosX"); + //SetValue(DefaultValue); + } + } +} diff --git a/Fo76ini/Tweaks/Camera/CameraOverShoulderPosZTweak.cs b/Fo76ini/Tweaks/Camera/CameraOverShoulderPosZTweak.cs new file mode 100644 index 0000000..baf4d9b --- /dev/null +++ b/Fo76ini/Tweaks/Camera/CameraOverShoulderPosZTweak.cs @@ -0,0 +1,37 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Fo76ini.Tweaks.Camera +{ + class CameraOverShoulderPosZTweak : ITweak, ITweakInfo + { + public string Description => ""; + + public string AffectedFiles => "Fallout76Custom.ini"; + + public string AffectedValues => "[Camera]fOverShoulderPosZ"; + + public float DefaultValue => 0; + + public string Identifier => this.GetType().FullName; + + public float GetValue() + { + return IniFiles.GetFloat("Camera", "fOverShoulderPosZ", DefaultValue); + } + + public void SetValue(float value) + { + IniFiles.F76Custom.Set("Camera", "fOverShoulderPosZ", value); + } + + public void ResetValue() + { + IniFiles.F76Custom.Remove("Camera", "fOverShoulderPosZ"); + //SetValue(DefaultValue); + } + } +} diff --git a/Fo76ini/Tweaks/Camera/DefaultFOVTweak.cs b/Fo76ini/Tweaks/Camera/DefaultFOVTweak.cs new file mode 100644 index 0000000..5085a9b --- /dev/null +++ b/Fo76ini/Tweaks/Camera/DefaultFOVTweak.cs @@ -0,0 +1,37 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Fo76ini.Tweaks.Camera +{ + class DefaultFOVTweak : ITweak, ITweakInfo + { + public string Description => "⚠️ Causes issues with the GUI."; + + public string AffectedFiles => "Fallout76Custom.ini"; + + public string AffectedValues => "[Camera]fDefaultFOV"; + + public float DefaultValue => 80; + + public string Identifier => this.GetType().FullName; + + public float GetValue() + { + return IniFiles.GetFloat("Camera", "fDefaultFOV", DefaultValue); + } + + public void SetValue(float value) + { + IniFiles.F76Custom.Set("Camera", "fDefaultFOV", value); + } + + public void ResetValue() + { + IniFiles.F76Custom.Remove("Camera", "fDefaultFOV"); + //SetValue(DefaultValue); + } + } +} diff --git a/Fo76ini/Tweaks/Camera/DisableAutoVanityModeTweak.cs b/Fo76ini/Tweaks/Camera/DisableAutoVanityModeTweak.cs new file mode 100644 index 0000000..00ae745 --- /dev/null +++ b/Fo76ini/Tweaks/Camera/DisableAutoVanityModeTweak.cs @@ -0,0 +1,38 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Fo76ini.Tweaks.Camera +{ + class DisableAutoVanityModeTweak : ITweak, ITweakInfo + { + public string Description => + "When enabled, the camera will spin around the character after no input was given for a certain amount of time.\n" + + "⚠️ Not sure if it does anything. I stood around for 5 minutes and the camera didn't spin. Needs more testing."; + + public string AffectedFiles => "Fallout76Custom.ini"; + + public string AffectedValues => "[Camera]bDisableAutoVanityMode"; + + public bool DefaultValue => false; + + public string Identifier => this.GetType().FullName; + + public bool GetValue() + { + return IniFiles.GetBool("Camera", "bDisableAutoVanityMode", DefaultValue); + } + + public void SetValue(bool value) + { + IniFiles.F76Custom.Set("Camera", "bDisableAutoVanityMode", value); + } + + public void ResetValue() + { + SetValue(DefaultValue); + } + } +} diff --git a/Fo76ini/Tweaks/Camera/FOV1stPersonTweak.cs b/Fo76ini/Tweaks/Camera/FOV1stPersonTweak.cs new file mode 100644 index 0000000..e636393 --- /dev/null +++ b/Fo76ini/Tweaks/Camera/FOV1stPersonTweak.cs @@ -0,0 +1,37 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Fo76ini.Tweaks.Camera +{ + class FOV1stPersonTweak : ITweak, ITweakInfo + { + public string Description => ""; + + public string AffectedFiles => "Fallout76Prefs.ini"; + + public string AffectedValues => "fDefault1stPersonFOV"; + + public float DefaultValue => 80; + + public string Identifier => this.GetType().FullName; + + public float GetValue() + { + return IniFiles.GetFloat("Display", "fDefault1stPersonFOV", DefaultValue); + } + + public void SetValue(float value) + { + IniFiles.F76Prefs.Set("Display", "fDefault1stPersonFOV", value); + IniFiles.F76Prefs.Set("Interface", "fDefault1stPersonFOV", value); + } + + public void ResetValue() + { + SetValue(DefaultValue); + } + } +} diff --git a/Fo76ini/Tweaks/Camera/FOV3rdADSTweak.cs b/Fo76ini/Tweaks/Camera/FOV3rdADSTweak.cs new file mode 100644 index 0000000..c701457 --- /dev/null +++ b/Fo76ini/Tweaks/Camera/FOV3rdADSTweak.cs @@ -0,0 +1,37 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Fo76ini.Tweaks.Camera +{ + class FOV3rdADSTweak : ITweak, ITweakInfo + { + public string Description => "Changes the field of view of the 3rd person perspective while aiming."; + + public string AffectedFiles => "Fallout76Custom.ini"; + + public string AffectedValues => "[Camera]f3rdPersonAimFOV"; + + public float DefaultValue => 50; + + public string Identifier => this.GetType().FullName; + + public float GetValue() + { + return IniFiles.GetFloat("Camera", "f3rdPersonAimFOV", DefaultValue); + } + + public void SetValue(float value) + { + IniFiles.F76Custom.Set("Camera", "f3rdPersonAimFOV", value); + } + + public void ResetValue() + { + IniFiles.F76Custom.Remove("Camera", "f3rdPersonAimFOV"); + //SetValue(DefaultValue); + } + } +} diff --git a/Fo76ini/Tweaks/Camera/FOV3rdPersonTweak.cs b/Fo76ini/Tweaks/Camera/FOV3rdPersonTweak.cs new file mode 100644 index 0000000..60ad1de --- /dev/null +++ b/Fo76ini/Tweaks/Camera/FOV3rdPersonTweak.cs @@ -0,0 +1,37 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Fo76ini.Tweaks.Camera +{ + class FOV3rdPersonTweak : ITweak, ITweakInfo + { + public string Description => ""; + + public string AffectedFiles => "Fallout76Prefs.ini"; + + public string AffectedValues => "fDefaultWorldFOV"; + + public float DefaultValue => 80; + + public string Identifier => this.GetType().FullName; + + public float GetValue() + { + return IniFiles.GetFloat("Display", "fDefaultWorldFOV", DefaultValue); + } + + public void SetValue(float value) + { + IniFiles.F76Prefs.Set("Display", "fDefaultWorldFOV", value); + IniFiles.F76Prefs.Set("Interface", "fDefaultWorldFOV", value); + } + + public void ResetValue() + { + SetValue(DefaultValue); + } + } +} diff --git a/Fo76ini/Tweaks/Camera/FirstThirdPerspectiveSwitchDelayTweak.cs b/Fo76ini/Tweaks/Camera/FirstThirdPerspectiveSwitchDelayTweak.cs new file mode 100644 index 0000000..5a700c0 --- /dev/null +++ b/Fo76ini/Tweaks/Camera/FirstThirdPerspectiveSwitchDelayTweak.cs @@ -0,0 +1,37 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Fo76ini.Tweaks.Camera +{ + class FirstThirdPerspectiveSwitchDelayTweak : ITweak, ITweakInfo + { + public string Description => ""; + + public string AffectedFiles => "Fallout76Custom.ini"; + + public string AffectedValues => "[Camera]f1st3rdSwitchDelay"; + + public float DefaultValue => 0.25f; + + public string Identifier => this.GetType().FullName; + + public float GetValue() + { + return IniFiles.GetFloat("Camera", "f1st3rdSwitchDelay", DefaultValue); + } + + public void SetValue(float value) + { + IniFiles.F76Custom.Set("Camera", "f1st3rdSwitchDelay", value); + } + + public void ResetValue() + { + IniFiles.F76Custom.Remove("Camera", "f1st3rdSwitchDelay"); + //SetValue(DefaultValue); + } + } +} diff --git a/Fo76ini/Tweaks/Camera/ForceAutoVanityModeTweak.cs b/Fo76ini/Tweaks/Camera/ForceAutoVanityModeTweak.cs new file mode 100644 index 0000000..dc796ba --- /dev/null +++ b/Fo76ini/Tweaks/Camera/ForceAutoVanityModeTweak.cs @@ -0,0 +1,36 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Fo76ini.Tweaks.Camera +{ + class ForceAutoVanityModeTweak : ITweak, ITweakInfo + { + public string Description => ""; + + public string AffectedFiles => "Fallout76Custom.ini"; + + public string AffectedValues => "[Camera]bForceAutoVanityMode"; + + public bool DefaultValue => false; + + public string Identifier => this.GetType().FullName; + + public bool GetValue() + { + return IniFiles.GetBool("Camera", "bForceAutoVanityMode", DefaultValue); + } + + public void SetValue(bool value) + { + IniFiles.F76Custom.Set("Camera", "bForceAutoVanityMode", value); + } + + public void ResetValue() + { + SetValue(DefaultValue); + } + } +} diff --git a/Fo76ini/Tweaks/Camera/PitchZoomOutMaxDistTweak.cs b/Fo76ini/Tweaks/Camera/PitchZoomOutMaxDistTweak.cs new file mode 100644 index 0000000..a785f7f --- /dev/null +++ b/Fo76ini/Tweaks/Camera/PitchZoomOutMaxDistTweak.cs @@ -0,0 +1,37 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Fo76ini.Tweaks.Camera +{ + class PitchZoomOutMaxDistTweak : ITweak, ITweakInfo + { + public string Description => "By how much the camera gets zoomed out when you look at the ground in 3rd person."; + + public string AffectedFiles => "Fallout76Custom.ini"; + + public string AffectedValues => "[Camera]fPitchZoomOutMaxDist"; + + public float DefaultValue => 100; + + public string Identifier => this.GetType().FullName; + + public float GetValue() + { + return IniFiles.GetFloat("Camera", "fPitchZoomOutMaxDist", DefaultValue); + } + + public void SetValue(float value) + { + IniFiles.F76Custom.Set("Camera", "fPitchZoomOutMaxDist", value); + } + + public void ResetValue() + { + IniFiles.F76Custom.Remove("Camera", "fPitchZoomOutMaxDist"); + //SetValue(DefaultValue); + } + } +} diff --git a/Fo76ini/Tweaks/Camera/SelfieCameraRotationSpeedTweak.cs b/Fo76ini/Tweaks/Camera/SelfieCameraRotationSpeedTweak.cs new file mode 100644 index 0000000..4d1608c --- /dev/null +++ b/Fo76ini/Tweaks/Camera/SelfieCameraRotationSpeedTweak.cs @@ -0,0 +1,37 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Fo76ini.Tweaks.Camera +{ + class SelfieCameraRotationSpeedTweak : ITweak, ITweakInfo + { + public string Description => ""; + + public string AffectedFiles => "Fallout76Custom.ini"; + + public string AffectedValues => "[Camera]fSelfieCameraRotationSpeed"; + + public float DefaultValue => 1.5f; + + public string Identifier => this.GetType().FullName; + + public float GetValue() + { + return IniFiles.GetFloat("Camera", "fSelfieCameraRotationSpeed", DefaultValue); + } + + public void SetValue(float value) + { + IniFiles.F76Custom.Set("Camera", "fSelfieCameraRotationSpeed", value); + } + + public void ResetValue() + { + IniFiles.F76Custom.Remove("Camera", "fSelfieCameraRotationSpeed"); + //SetValue(DefaultValue); + } + } +} diff --git a/Fo76ini/Tweaks/Camera/SelfieCameraTranslationSpeedTweak.cs b/Fo76ini/Tweaks/Camera/SelfieCameraTranslationSpeedTweak.cs new file mode 100644 index 0000000..578d8ab --- /dev/null +++ b/Fo76ini/Tweaks/Camera/SelfieCameraTranslationSpeedTweak.cs @@ -0,0 +1,37 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Fo76ini.Tweaks.Camera +{ + class SelfieCameraTranslationSpeedTweak : ITweak, ITweakInfo + { + public string Description => ""; + + public string AffectedFiles => "Fallout76Custom.ini"; + + public string AffectedValues => "[Camera]fSelfieCameraTranslationSpeed"; + + public float DefaultValue => 2.5f; + + public string Identifier => this.GetType().FullName; + + public float GetValue() + { + return IniFiles.GetFloat("Camera", "fSelfieCameraTranslationSpeed", DefaultValue); + } + + public void SetValue(float value) + { + IniFiles.F76Custom.Set("Camera", "fSelfieCameraTranslationSpeed", value); + } + + public void ResetValue() + { + IniFiles.F76Custom.Remove("Camera", "fSelfieCameraTranslationSpeed"); + //SetValue(DefaultValue); + } + } +} diff --git a/Fo76ini/Tweaks/Camera/SelfieModeRangeTweak.cs b/Fo76ini/Tweaks/Camera/SelfieModeRangeTweak.cs new file mode 100644 index 0000000..e6ba4ce --- /dev/null +++ b/Fo76ini/Tweaks/Camera/SelfieModeRangeTweak.cs @@ -0,0 +1,37 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Fo76ini.Tweaks.Camera +{ + class SelfieModeRangeTweak : ITweak, ITweakInfo + { + public string Description => ""; + + public string AffectedFiles => "Fallout76Custom.ini"; + + public string AffectedValues => "[Camera]fSelfieModeRange"; + + public float DefaultValue => 500; + + public string Identifier => this.GetType().FullName; + + public float GetValue() + { + return IniFiles.GetFloat("Camera", "fSelfieModeRange", DefaultValue); + } + + public void SetValue(float value) + { + IniFiles.F76Custom.Set("Camera", "fSelfieModeRange", value); + } + + public void ResetValue() + { + IniFiles.F76Custom.Remove("Camera", "fSelfieModeRange"); + //SetValue(DefaultValue); + } + } +} diff --git a/Fo76ini/Tweaks/Camera/VanityModeMaxDistTweak.cs b/Fo76ini/Tweaks/Camera/VanityModeMaxDistTweak.cs new file mode 100644 index 0000000..78ff360 --- /dev/null +++ b/Fo76ini/Tweaks/Camera/VanityModeMaxDistTweak.cs @@ -0,0 +1,37 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Fo76ini.Tweaks.Camera +{ + class VanityModeMaxDistTweak : ITweak, ITweakInfo + { + public string Description => ""; + + public string AffectedFiles => "Fallout76Custom.ini"; + + public string AffectedValues => "[Camera]fVanityModeMaxDist"; + + public float DefaultValue => 150; + + public string Identifier => this.GetType().FullName; + + public float GetValue() + { + return IniFiles.GetFloat("Camera", "fVanityModeMaxDist", DefaultValue); + } + + public void SetValue(float value) + { + IniFiles.F76Custom.Set("Camera", "fVanityModeMaxDist", value); + } + + public void ResetValue() + { + IniFiles.F76Custom.Remove("Camera", "fVanityModeMaxDist"); + //SetValue(DefaultValue); + } + } +} diff --git a/Fo76ini/Tweaks/Camera/VanityModeMinDistTweak.cs b/Fo76ini/Tweaks/Camera/VanityModeMinDistTweak.cs new file mode 100644 index 0000000..521616f --- /dev/null +++ b/Fo76ini/Tweaks/Camera/VanityModeMinDistTweak.cs @@ -0,0 +1,37 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Fo76ini.Tweaks.Camera +{ + class VanityModeMinDistTweak : ITweak, ITweakInfo + { + public string Description => ""; + + public string AffectedFiles => "Fallout76Custom.ini"; + + public string AffectedValues => "[Camera]fVanityModeMinDist"; + + public float DefaultValue => 0; + + public string Identifier => this.GetType().FullName; + + public float GetValue() + { + return IniFiles.GetFloat("Camera", "fVanityModeMinDist", DefaultValue); + } + + public void SetValue(float value) + { + IniFiles.F76Custom.Set("Camera", "fVanityModeMinDist", value); + } + + public void ResetValue() + { + IniFiles.F76Custom.Remove("Camera", "fVanityModeMinDist"); + //SetValue(DefaultValue); + } + } +} diff --git a/Fo76ini/Tweaks/Colors/PipboyColorTweak.cs b/Fo76ini/Tweaks/Colors/PipboyColorTweak.cs new file mode 100644 index 0000000..3b70e99 --- /dev/null +++ b/Fo76ini/Tweaks/Colors/PipboyColorTweak.cs @@ -0,0 +1,52 @@ +using Fo76ini.Utilities; +using System; +using System.Drawing; + +namespace Fo76ini.Tweaks.Colors +{ + public class PipboyColorTweak : ITweak, ITweakInfo + { + public Color DefaultValue => Color.FromArgb(26, 255, 128); + + public string Identifier => this.GetType().FullName; + + public string Description => "Changes the color of the Pipboy"; + + public string AffectedFiles => "Fallout76Prefs.ini"; + + public string AffectedValues => String.Join( + Environment.NewLine, + "", + " [Pipboy]fPipboyEffectColorR", + " [Pipboy]fPipboyEffectColorG", + " [Pipboy]fPipboyEffectColorB", + ""); + + public Color GetValue() + { + float r = Utils.Clamp(IniFiles.GetFloat("Pipboy", "fPipboyEffectColorR", 0.1f), 0f, 1f); + float g = Utils.Clamp(IniFiles.GetFloat("Pipboy", "fPipboyEffectColorG", 1.0f), 0f, 1f); + float b = Utils.Clamp(IniFiles.GetFloat("Pipboy", "fPipboyEffectColorB", 0.5f), 0f, 1f); + return Color.FromArgb( + Convert.ToInt32(r * 255), + Convert.ToInt32(g * 255), + Convert.ToInt32(b * 255) + ); + } + + public void SetValue(Color value) + { + float r = Convert.ToSingle(value.R) / 255f; + float g = Convert.ToSingle(value.G) / 255f; + float b = Convert.ToSingle(value.B) / 255f; + IniFiles.F76Prefs.Set("Pipboy", "fPipboyEffectColorR", r); + IniFiles.F76Prefs.Set("Pipboy", "fPipboyEffectColorG", g); + IniFiles.F76Prefs.Set("Pipboy", "fPipboyEffectColorB", b); + } + + public void ResetValue() + { + SetValue(DefaultValue); + } + } +} diff --git a/Fo76ini/Tweaks/Colors/PowerArmorPipboyColorTweak.cs b/Fo76ini/Tweaks/Colors/PowerArmorPipboyColorTweak.cs new file mode 100644 index 0000000..a219e69 --- /dev/null +++ b/Fo76ini/Tweaks/Colors/PowerArmorPipboyColorTweak.cs @@ -0,0 +1,54 @@ +using Fo76ini.Utilities; +using System; +using System.Drawing; + +namespace Fo76ini.Tweaks.Colors +{ + public class PowerArmorPipboyColorTweak : ITweak, ITweakInfo + { + public Color DefaultValue => Color.FromArgb(255, 209, 105); + + public string Identifier => this.GetType().FullName; + + public string Description => "Changes the color of the Power Armor Quickboy"; + + public string AffectedFiles => "Fallout76Custom.ini"; + + public string AffectedValues => String.Join( + Environment.NewLine, + "", + " [Pipboy]fPAEffectColorR", + " [Pipboy]fPAEffectColorG", + " [Pipboy]fPAEffectColorB", + ""); + + public Color GetValue() + { + float r = Utils.Clamp(IniFiles.GetFloat("Pipboy", "fPAEffectColorR", 1.0f), 0f, 1f); + float g = Utils.Clamp(IniFiles.GetFloat("Pipboy", "fPAEffectColorG", 0.82f), 0f, 1f); + float b = Utils.Clamp(IniFiles.GetFloat("Pipboy", "fPAEffectColorB", 0.41f), 0f, 1f); + return Color.FromArgb( + Convert.ToInt32(r * 255), + Convert.ToInt32(g * 255), + Convert.ToInt32(b * 255) + ); + } + + public void SetValue(Color value) + { + float r = Convert.ToSingle(value.R) / 255f; + float g = Convert.ToSingle(value.G) / 255f; + float b = Convert.ToSingle(value.B) / 255f; + IniFiles.F76Custom.Set("Pipboy", "fPAEffectColorR", r); + IniFiles.F76Custom.Set("Pipboy", "fPAEffectColorG", g); + IniFiles.F76Custom.Set("Pipboy", "fPAEffectColorB", b); + } + + public void ResetValue() + { + IniFiles.F76Custom.Remove("Pipboy", "fPAEffectColorR"); + IniFiles.F76Custom.Remove("Pipboy", "fPAEffectColorG"); + IniFiles.F76Custom.Remove("Pipboy", "fPAEffectColorB"); + } + } +} diff --git a/Fo76ini/Tweaks/Colors/QuickboyColorTweak.cs b/Fo76ini/Tweaks/Colors/QuickboyColorTweak.cs new file mode 100644 index 0000000..94d5673 --- /dev/null +++ b/Fo76ini/Tweaks/Colors/QuickboyColorTweak.cs @@ -0,0 +1,54 @@ +using System; +using System.Drawing; +using Fo76ini.Utilities; + +namespace Fo76ini.Tweaks.Colors +{ + public class QuickboyColorTweak : ITweak, ITweakInfo + { + public Color DefaultValue => Color.FromArgb(247, 242, 184); + + public string Identifier => this.GetType().FullName; + + public string Description => "Changes the color of the Quickboy"; + + public string AffectedFiles => "Fallout76Custom.ini"; + + public string AffectedValues => String.Join( + Environment.NewLine, + "", + " [Pipboy]fQuickBoyEffectColorR", + " [Pipboy]fQuickBoyEffectColorG", + " [Pipboy]fQuickBoyEffectColorB", + ""); + + public Color GetValue() + { + float r = Utils.Clamp(IniFiles.GetFloat("Pipboy", "fQuickBoyEffectColorR", 0.97f), 0f, 1f); + float g = Utils.Clamp(IniFiles.GetFloat("Pipboy", "fQuickBoyEffectColorG", 0.95f), 0f, 1f); + float b = Utils.Clamp(IniFiles.GetFloat("Pipboy", "fQuickBoyEffectColorB", 0.72f), 0f, 1f); + return Color.FromArgb( + Convert.ToInt32(r * 255), + Convert.ToInt32(g * 255), + Convert.ToInt32(b * 255) + ); + } + + public void SetValue(Color value) + { + float r = Convert.ToSingle(value.R) / 255f; + float g = Convert.ToSingle(value.G) / 255f; + float b = Convert.ToSingle(value.B) / 255f; + IniFiles.F76Custom.Set("Pipboy", "fQuickBoyEffectColorR", r); + IniFiles.F76Custom.Set("Pipboy", "fQuickBoyEffectColorG", g); + IniFiles.F76Custom.Set("Pipboy", "fQuickBoyEffectColorB", b); + } + + public void ResetValue() + { + IniFiles.F76Custom.Remove("Pipboy", "fQuickBoyEffectColorR"); + IniFiles.F76Custom.Remove("Pipboy", "fQuickBoyEffectColorG"); + IniFiles.F76Custom.Remove("Pipboy", "fQuickBoyEffectColorB"); + } + } +} diff --git a/Fo76ini/Tweaks/Config/AutoApplyTweak.cs b/Fo76ini/Tweaks/Config/AutoApplyTweak.cs new file mode 100644 index 0000000..08d03f4 --- /dev/null +++ b/Fo76ini/Tweaks/Config/AutoApplyTweak.cs @@ -0,0 +1,36 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Fo76ini.Tweaks.Config +{ + class AutoApplyTweak : ITweak, ITweakInfo + { + public string Description => "No need to press apply anymore."; + + public string AffectedFiles => "config.ini"; + + public string AffectedValues => "bAutoApply"; + + public bool DefaultValue => false; + + public string Identifier => this.GetType().FullName; + + public bool GetValue() + { + return IniFiles.Config.GetBool("Preferences", "bAutoApply", DefaultValue); + } + + public void SetValue(bool value) + { + IniFiles.Config.Set("Preferences", "bAutoApply", value); + } + + public void ResetValue() + { + SetValue(DefaultValue); + } + } +} diff --git a/Fo76ini/Tweaks/Config/IgnoreUpdatesTweak.cs b/Fo76ini/Tweaks/Config/IgnoreUpdatesTweak.cs new file mode 100644 index 0000000..2cb8033 --- /dev/null +++ b/Fo76ini/Tweaks/Config/IgnoreUpdatesTweak.cs @@ -0,0 +1,36 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Fo76ini.Tweaks.Config +{ + class IgnoreUpdatesTweak : ITweak, ITweakInfo + { + public string Description => "Won't check for updates on startup and hides the big update button."; + + public string AffectedFiles => "config.ini"; + + public string AffectedValues => "bIgnoreUpdates"; + + public bool DefaultValue => false; + + public string Identifier => this.GetType().FullName; + + public bool GetValue() + { + return IniFiles.Config.GetBool("Preferences", "bIgnoreUpdates", DefaultValue); + } + + public void SetValue(bool value) + { + IniFiles.Config.Set("Preferences", "bIgnoreUpdates", value); + } + + public void ResetValue() + { + SetValue(DefaultValue); + } + } +} diff --git a/Fo76ini/Tweaks/Config/PlayNotificationSoundsTweak.cs b/Fo76ini/Tweaks/Config/PlayNotificationSoundsTweak.cs new file mode 100644 index 0000000..f275dee --- /dev/null +++ b/Fo76ini/Tweaks/Config/PlayNotificationSoundsTweak.cs @@ -0,0 +1,36 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Fo76ini.Tweaks.Config +{ + class PlayNotificationSoundsTweak : ITweak, ITweakInfo + { + public string Description => "When enabled, the tool will play custom notification sounds."; + + public string AffectedFiles => "config.ini"; + + public string AffectedValues => "bPlayNotificationSound"; + + public bool DefaultValue => true; + + public string Identifier => this.GetType().FullName; + + public bool GetValue() + { + return IniFiles.Config.GetBool("Preferences", "bPlayNotificationSound", DefaultValue); + } + + public void SetValue(bool value) + { + IniFiles.Config.Set("Preferences", "bPlayNotificationSound", value); + } + + public void ResetValue() + { + SetValue(DefaultValue); + } + } +} diff --git a/Fo76ini/Tweaks/Config/ToolQuitOnLaunchTweak.cs b/Fo76ini/Tweaks/Config/ToolQuitOnLaunchTweak.cs new file mode 100644 index 0000000..5007be7 --- /dev/null +++ b/Fo76ini/Tweaks/Config/ToolQuitOnLaunchTweak.cs @@ -0,0 +1,30 @@ +namespace Fo76ini.Tweaks.Config +{ + class ToolQuitOnLaunchTweak : ITweak, ITweakInfo + { + public string Description => "When enabled, closes the tool when the game is launched.\nOnly works if launched through the tool."; + + public string AffectedFiles => "config.ini"; + + public string AffectedValues => "bQuitOnLaunch"; + + public bool DefaultValue => false; + + public string Identifier => this.GetType().FullName; + + public bool GetValue() + { + return IniFiles.Config.GetBool("Preferences", "bQuitOnLaunch", DefaultValue); + } + + public void SetValue(bool value) + { + IniFiles.Config.Set("Preferences", "bQuitOnLaunch", value); + } + + public void ResetValue() + { + SetValue(DefaultValue); + } + } +} diff --git a/Fo76ini/Tweaks/Controls/EnableGamepadRumbleTweak.cs b/Fo76ini/Tweaks/Controls/EnableGamepadRumbleTweak.cs new file mode 100644 index 0000000..71e7380 --- /dev/null +++ b/Fo76ini/Tweaks/Controls/EnableGamepadRumbleTweak.cs @@ -0,0 +1,36 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Fo76ini.Tweaks.Controls +{ + class EnableGamepadRumbleTweak : ITweak, ITweakInfo + { + public string Description => ""; + + public string AffectedFiles => "Fallout76Custom.ini"; + + public string AffectedValues => "[Controls]bGamePadRumble"; + + public bool DefaultValue => true; + + public string Identifier => this.GetType().FullName; + + public bool GetValue() + { + return IniFiles.GetBool("Controls", "bGamePadRumble", DefaultValue); + } + + public void SetValue(bool value) + { + IniFiles.F76Custom.Set("Controls", "bGamePadRumble", value); + } + + public void ResetValue() + { + SetValue(DefaultValue); + } + } +} diff --git a/Fo76ini/Tweaks/Controls/FixAimSensitivityTweak.cs b/Fo76ini/Tweaks/Controls/FixAimSensitivityTweak.cs new file mode 100644 index 0000000..6a5e228 --- /dev/null +++ b/Fo76ini/Tweaks/Controls/FixAimSensitivityTweak.cs @@ -0,0 +1,51 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Fo76ini.Tweaks.Controls +{ + class FixAimSensitivityTweak : ITweak, ITweakInfo + { + public string Description => String.Join( + Environment.NewLine, + "If enabled, the sensitivity won't change when aiming.", + "If disabled (default), the sensitivity will be lowered when aiming down sights.", + "", + "⚠️ This might only work on 16:9 monitors.", + "⚠️ This might not work in-game while crouching."); + + public string AffectedFiles => "Fallout76Custom.ini"; + + public string AffectedValues => "fIronSightsFOVRotateMult"; + + public bool DefaultValue => false; + + public string Identifier => this.GetType().FullName; + + public bool GetValue() + { + return Math.Abs(IniFiles.GetFloat("Main", "fIronSightsFOVRotateMult", 0f) - 2.14f) < 0.1f; + } + + public void SetValue(bool value) + { + if (value) + { + IniFiles.F76Custom.Set("Controls", "fIronSightsFOVRotateMult", 2.136363636f); + IniFiles.F76Custom.Set("Main", "fIronSightsFOVRotateMult", 2.136363636f); + } + else + { + IniFiles.F76Custom.Remove("Controls", "fIronSightsFOVRotateMult"); + IniFiles.F76Custom.Remove("Main", "fIronSightsFOVRotateMult"); + } + } + + public void ResetValue() + { + SetValue(DefaultValue); + } + } +} diff --git a/Fo76ini/Tweaks/Controls/FixMouseSensitivityTweak.cs b/Fo76ini/Tweaks/Controls/FixMouseSensitivityTweak.cs new file mode 100644 index 0000000..fe9b0c1 --- /dev/null +++ b/Fo76ini/Tweaks/Controls/FixMouseSensitivityTweak.cs @@ -0,0 +1,97 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Fo76ini.Tweaks.Controls +{ + class FixMouseSensitivityTweak : ITweak, ITweakInfo + { + public string Description => String.Join( + Environment.NewLine, + "If enabled, the sensitivity for looking up/down and left/right will be equal.", + "If disabled (default), the sensitivity for looking left/right will likely be higher than up/down.", + "", + "• Enable this if you're using Mouse & Keyboard.", + "• Disable this if you're using a Gamepad.", + "", + "⚠️ When enabled, your mouse sensitivity might increase. Decrease your cursor speed or mouse DPI.", + "", + "ℹ️ The vertical sensitivity depends on your display's aspect ratio:", + " ⇨ For 4:3, the value of Y is 0.028", + " ⇨ For 16:9, the value of Y is 0.03738", + " ⇨ For 16:10, the value of Y is 0.0336", + " ⇨ For 21:9, the value of Y is 0.042", + " ⇨ For all other aspect ratios, the value of Y is equals to 0.021 times the aspect ratio. (YScale = 0.021 * Width / Height)"); + + public string AffectedFiles => "Fallout76Custom.ini"; + + public string AffectedValues => String.Join( + Environment.NewLine, + "", + " [Controls]fMouseHeadingXScale", + " [Controls]fMouseHeadingYScale", + " [Controls]fPitchSpeedRatio", + " [Controls]fIronSightsPitchSpeedRatio", + ""); + + public bool DefaultValue => false; + + public string Identifier => this.GetType().FullName; + + public bool GetValue() + { + return IniFiles.GetFloat("Controls", "fMouseHeadingXScale", 0.021f) != IniFiles.GetFloat("Controls", "fMouseHeadingYScale", 0.021f); + } + + public void SetValue(bool value) + { + if (value) + { + int width = IniFiles.GetInt("Display", "iSize W", 1920); + int height = IniFiles.GetInt("Display", "iSize H", 1080); + float aspectRatio = width / height; + float YScale; + + // 16:9 + if (Math.Abs(aspectRatio - 16 / 9) < 0.01) + YScale = 0.03738f; + + // 16:10 + else if (Math.Abs(aspectRatio - 16 / 10) < 0.01) + YScale = 0.0336f; + + // 21:9 + else if (Math.Abs(aspectRatio - 21 / 9) < 0.01) + YScale = 0.042f; + + // 4:3 + else if (Math.Abs(aspectRatio - 4 / 3) < 0.01) + YScale = 0.028f; + + // Unknown aspect ratio + else + YScale = aspectRatio * 0.021f; + + IniFiles.F76Custom.Set("Controls", "fMouseHeadingXScale", 0.021f); + IniFiles.F76Custom.Set("Controls", "fMouseHeadingYScale", YScale); + + IniFiles.F76Custom.Set("Controls", "fPitchSpeedRatio", 1.0f); + IniFiles.F76Custom.Set("Controls", "fIronSightsPitchSpeedRatio", 1.0f); + } + else + { + IniFiles.F76Custom.Remove("Controls", "fMouseHeadingXScale"); + IniFiles.F76Custom.Remove("Controls", "fMouseHeadingYScale"); + IniFiles.F76Custom.Remove("Controls", "fPitchSpeedRatio"); + IniFiles.F76Custom.Remove("Controls", "fIronSightsPitchSpeedRatio"); + } + } + + public void ResetValue() + { + SetValue(DefaultValue); + } + } +} diff --git a/Fo76ini/Tweaks/Controls/GamepadEnableTweak.cs b/Fo76ini/Tweaks/Controls/GamepadEnableTweak.cs new file mode 100644 index 0000000..073ec8a --- /dev/null +++ b/Fo76ini/Tweaks/Controls/GamepadEnableTweak.cs @@ -0,0 +1,36 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Fo76ini.Tweaks.Controls +{ + class GamepadEnableTweak : ITweak, ITweakInfo + { + public string Description => "Disable this, if you have a gamepad plugged in, but want to use your keyboard and mouse instead."; + + public string AffectedFiles => "Fallout76Prefs.ini"; + + public string AffectedValues => "[General]bGamepadEnable"; + + public bool DefaultValue => true; + + public string Identifier => this.GetType().FullName; + + public bool GetValue() + { + return IniFiles.GetBool("General", "bGamepadEnable", DefaultValue); + } + + public void SetValue(bool value) + { + IniFiles.F76Prefs.Set("General", "bGamepadEnable", value); + } + + public void ResetValue() + { + SetValue(DefaultValue); + } + } +} diff --git a/Fo76ini/Tweaks/Controls/MouseAccelerationTweak.cs b/Fo76ini/Tweaks/Controls/MouseAccelerationTweak.cs new file mode 100644 index 0000000..ea5da6c --- /dev/null +++ b/Fo76ini/Tweaks/Controls/MouseAccelerationTweak.cs @@ -0,0 +1,36 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Fo76ini.Tweaks.Controls +{ + class MouseAccelerationTweak : ITweak, ITweakInfo + { + public string Description => "ℹ️ This option might not have any effect."; + + public string AffectedFiles => "Fallout76Custom.ini"; + + public string AffectedValues => "[Controls]bMouseAcceleration"; + + public bool DefaultValue => false; + + public string Identifier => this.GetType().FullName; + + public bool GetValue() + { + return IniFiles.GetBool("Controls", "bMouseAcceleration", DefaultValue); + } + + public void SetValue(bool value) + { + IniFiles.F76Custom.Set("Controls", "bMouseAcceleration", value); + } + + public void ResetValue() + { + SetValue(DefaultValue); + } + } +} diff --git a/Fo76ini/Tweaks/Controls/MouseInvertXTweak.cs b/Fo76ini/Tweaks/Controls/MouseInvertXTweak.cs new file mode 100644 index 0000000..94f42f5 --- /dev/null +++ b/Fo76ini/Tweaks/Controls/MouseInvertXTweak.cs @@ -0,0 +1,36 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Fo76ini.Tweaks.Controls +{ + class MouseInvertXTweak : ITweak, ITweakInfo + { + public string Description => ""; + + public string AffectedFiles => "Fallout76Prefs.ini"; + + public string AffectedValues => "[Controls]bInvertXValues"; + + public bool DefaultValue => false; + + public string Identifier => this.GetType().FullName; + + public bool GetValue() + { + return IniFiles.GetBool("Controls", "bInvertXValues", DefaultValue); + } + + public void SetValue(bool value) + { + IniFiles.F76Prefs.Set("Controls", "bInvertXValues", value); + } + + public void ResetValue() + { + SetValue(DefaultValue); + } + } +} diff --git a/Fo76ini/Tweaks/Controls/MouseInvertYTweak.cs b/Fo76ini/Tweaks/Controls/MouseInvertYTweak.cs new file mode 100644 index 0000000..ac19574 --- /dev/null +++ b/Fo76ini/Tweaks/Controls/MouseInvertYTweak.cs @@ -0,0 +1,36 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Fo76ini.Tweaks.Controls +{ + class MouseInvertYTweak : ITweak, ITweakInfo + { + public string Description => ""; + + public string AffectedFiles => "Fallout76Prefs.ini"; + + public string AffectedValues => "[Controls]bInvertYValues"; + + public bool DefaultValue => false; + + public string Identifier => this.GetType().FullName; + + public bool GetValue() + { + return IniFiles.GetBool("Controls", "bInvertYValues", DefaultValue); + } + + public void SetValue(bool value) + { + IniFiles.F76Prefs.Set("Controls", "bInvertYValues", value); + } + + public void ResetValue() + { + SetValue(DefaultValue); + } + } +} diff --git a/Fo76ini/Tweaks/Controls/MouseSensitivityTweak.cs b/Fo76ini/Tweaks/Controls/MouseSensitivityTweak.cs new file mode 100644 index 0000000..431949e --- /dev/null +++ b/Fo76ini/Tweaks/Controls/MouseSensitivityTweak.cs @@ -0,0 +1,38 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Fo76ini.Tweaks.Controls +{ + class MouseSensitivityTweak : ITweak, ITweakInfo + { + public string Description => ""; + + public string AffectedFiles => "Fallout76Prefs.ini"; + + public string AffectedValues => "[Controls]fMouseHeadingSensitivity(Y)"; + + public float DefaultValue => 0.03f; + + public string Identifier => this.GetType().FullName; + + public float GetValue() + { + return IniFiles.GetFloat("Controls", "fMouseHeadingSensitivity", DefaultValue); + } + + public void SetValue(float value) + { + // TODO: Fallout76Custom.ini had no effect. I hope Fallout76Prefs.ini will have an effect this time: + IniFiles.F76Prefs.Set("Controls", "fMouseHeadingSensitivity", value); + IniFiles.F76Prefs.Set("Controls", "fMouseHeadingSensitivityY", value); + } + + public void ResetValue() + { + SetValue(DefaultValue); + } + } +} diff --git a/Fo76ini/Tweaks/General/AutoSigninTweak.cs b/Fo76ini/Tweaks/General/AutoSigninTweak.cs new file mode 100644 index 0000000..523d418 --- /dev/null +++ b/Fo76ini/Tweaks/General/AutoSigninTweak.cs @@ -0,0 +1,36 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Fo76ini.Tweaks.General +{ + class AutoSigninTweak : ITweak, ITweakInfo + { + public string Description => "Enabling this, will skip the login prompt if you provide your login credentials."; + + public string AffectedFiles => "Fallout76Custom.ini"; + + public string AffectedValues => "[Login]bAutoSignin"; + + public bool DefaultValue => false; + + public string Identifier => this.GetType().FullName; + + public bool GetValue() + { + return IniFiles.F76Custom.GetBool("Login", "bAutoSignin", DefaultValue); + } + + public void SetValue(bool value) + { + IniFiles.F76Custom.Set("Login", "bAutoSignin", value); + } + + public void ResetValue() + { + SetValue(DefaultValue); + } + } +} \ No newline at end of file diff --git a/Fo76ini/Tweaks/General/EnableSteamTweak.cs b/Fo76ini/Tweaks/General/EnableSteamTweak.cs new file mode 100644 index 0000000..3d1eb5f --- /dev/null +++ b/Fo76ini/Tweaks/General/EnableSteamTweak.cs @@ -0,0 +1,30 @@ +namespace Fo76ini.Tweaks.General +{ + class EnableSteamTweak : ITweak, ITweakInfo + { + public bool DefaultValue => true; + + public string Description => "Enables/Disables Steam integration. Disable it to use your Bethesda.net account."; + + public string AffectedFiles => "Fallout76Custom.ini"; + + public string AffectedValues => "[General]bSteamEnabled"; + + public string Identifier => this.GetType().FullName; + + public bool GetValue() + { + return IniFiles.F76Custom.GetBool("General", "bSteamEnabled", DefaultValue); + } + + public void SetValue(bool value) + { + IniFiles.F76Custom.Set("General", "bSteamEnabled", value); + } + + public void ResetValue() + { + SetValue(DefaultValue); + } + } +} diff --git a/Fo76ini/Tweaks/General/IntroVideoTweak.cs b/Fo76ini/Tweaks/General/IntroVideoTweak.cs new file mode 100644 index 0000000..b30ff76 --- /dev/null +++ b/Fo76ini/Tweaks/General/IntroVideoTweak.cs @@ -0,0 +1,46 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Fo76ini.Tweaks.General +{ + class IntroVideoTweak : ITweak, ITweakInfo + { + public string Description => "When this option is disabled, the game will start without displaying the Bethesda logo video."; + + public string AffectedFiles => "Fallout76Custom.ini"; + + public string AffectedValues => "[General]sIntroSequence, [General]uMainMenuDelayBeforeAllowSkip"; + + public bool DefaultValue => true; + + public string Identifier => this.GetType().FullName; + + public bool GetValue() + { + string sIntroSequence = IniFiles.GetString("General", "sIntroSequence", "BGSLogo4k.bk2").Trim(); + return sIntroSequence.Length > 0 && sIntroSequence != "0"; + } + + public void SetValue(bool value) + { + if (value) + { + IniFiles.F76Custom.Remove("General", "sIntroSequence"); + IniFiles.F76Custom.Remove("General", "uMainMenuDelayBeforeAllowSkip"); + } + else + { + IniFiles.F76Custom.Set("General", "sIntroSequence", ""); + IniFiles.F76Custom.Set("General", "uMainMenuDelayBeforeAllowSkip", "0"); + } + } + + public void ResetValue() + { + SetValue(DefaultValue); + } + } +} diff --git a/Fo76ini/Tweaks/General/ScreenshotIndexTweak.cs b/Fo76ini/Tweaks/General/ScreenshotIndexTweak.cs new file mode 100644 index 0000000..c3953ae --- /dev/null +++ b/Fo76ini/Tweaks/General/ScreenshotIndexTweak.cs @@ -0,0 +1,39 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Fo76ini.Tweaks.General +{ + class ScreenshotIndexTweak : ITweak, ITweakInfo + { + public string Description => + "When you take screenshots ingame with the print screen button,\n" + + "it saves them in the game directory as \"ScreenShotX.png\".\n" + + "The \"X\" being the screenshot index."; + + public string AffectedFiles => "Fallout76Prefs.ini"; + + public string AffectedValues => "[Display]iScreenShotIndex"; + + public int DefaultValue => 0; + + public string Identifier => this.GetType().FullName; + + public int GetValue() + { + return IniFiles.GetInt("Display", "iScreenShotIndex", DefaultValue); + } + + public void SetValue(int value) + { + IniFiles.F76Prefs.Set("Display", "iScreenShotIndex", value); + } + + public void ResetValue() + { + SetValue(DefaultValue); + } + } +} diff --git a/Fo76ini/Tweaks/General/SkipStartupSplash.cs b/Fo76ini/Tweaks/General/SkipStartupSplash.cs new file mode 100644 index 0000000..350a714 --- /dev/null +++ b/Fo76ini/Tweaks/General/SkipStartupSplash.cs @@ -0,0 +1,36 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Fo76ini.Tweaks.General +{ + class SkipStartupSplash : ITweak, ITweakInfo + { + public string Description => "If enabled, the game won't bother you with news on startup."; + + public string AffectedFiles => "Fallout76Custom.ini"; + + public string AffectedValues => "[General]bSkipSplash"; + + public bool DefaultValue => false; + + public string Identifier => this.GetType().FullName; + + public bool GetValue() + { + return IniFiles.GetBool("General", "bSkipSplash", DefaultValue); + } + + public void SetValue(bool value) + { + IniFiles.F76Custom.Set("General", "bSkipSplash", value); + } + + public void ResetValue() + { + SetValue(DefaultValue); + } + } +} diff --git a/Fo76ini/Tweaks/Graphics/AmbientOcclusionTweak.cs b/Fo76ini/Tweaks/Graphics/AmbientOcclusionTweak.cs new file mode 100644 index 0000000..d09c500 --- /dev/null +++ b/Fo76ini/Tweaks/Graphics/AmbientOcclusionTweak.cs @@ -0,0 +1,36 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Fo76ini.Tweaks.Graphics +{ + class AmbientOcclusionTweak : ITweak, ITweakInfo + { + public string Description => ""; + + public string AffectedFiles => "Fallout76Prefs.ini"; + + public string AffectedValues => "[Display]bSAOEnable"; + + public bool DefaultValue => true; + + public string Identifier => this.GetType().FullName; + + public bool GetValue() + { + return IniFiles.GetBool("Display", "bSAOEnable", DefaultValue); + } + + public void SetValue(bool value) + { + IniFiles.F76Prefs.Set("Display", "bSAOEnable", value); + } + + public void ResetValue() + { + SetValue(DefaultValue); + } + } +} diff --git a/Fo76ini/Tweaks/Graphics/AnisotropicFilteringTweak.cs b/Fo76ini/Tweaks/Graphics/AnisotropicFilteringTweak.cs new file mode 100644 index 0000000..ae8292c --- /dev/null +++ b/Fo76ini/Tweaks/Graphics/AnisotropicFilteringTweak.cs @@ -0,0 +1,36 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Fo76ini.Tweaks.Graphics +{ + class AnisotropicFilteringTweak : ITweak, ITweakInfo + { + public string Description => "Reduces aliasing of textures when viewed from oblique angles."; + + public string AffectedFiles => "Fallout76Prefs.ini"; + + public string AffectedValues => "[Display]iMaxAnisotropy"; + + public int DefaultValue => 8; + + public string Identifier => this.GetType().FullName; + + public int GetValue() + { + return IniFiles.GetInt("Display", "iMaxAnisotropy", DefaultValue); + } + + public void SetValue(int value) + { + IniFiles.F76Prefs.Set("Display", "iMaxAnisotropy", value); + } + + public void ResetValue() + { + SetValue(DefaultValue); + } + } +} diff --git a/Fo76ini/Tweaks/Graphics/AntiAliasingTweak.cs b/Fo76ini/Tweaks/Graphics/AntiAliasingTweak.cs new file mode 100644 index 0000000..8b156a7 --- /dev/null +++ b/Fo76ini/Tweaks/Graphics/AntiAliasingTweak.cs @@ -0,0 +1,74 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Fo76ini.Tweaks.Graphics +{ + public enum AntiAliasing + { + TAA = 0, + FXAA = 1, + Disabled = 2 + } + + class AntiAliasingTweak : ITweak, ITweakInfo, IEnumTweak + { + public string Description => String.Join( + Environment.NewLine, + "Smoothes edges of objects.", + "", + "• TAA - Temporal Anti-Aliasing: Relatively expensive, can introduce artefacts, default", + "• FXAA - Fast Approximate Anti-Aliasing: Slightly improves performance", + "• Off - Improves performance, degrades visual quality", + "", + "⚠️ FXAA might not work. The game might just disable AA instead."); + + public string AffectedFiles => "Fallout76Prefs.ini"; + + public string AffectedValues => "[Display]sAntiAliasing"; + + public AntiAliasing DefaultValue => AntiAliasing.TAA; + + public string Identifier => this.GetType().FullName; + + // https://stackoverflow.com/a/16946496 + public int Count => Enum.GetNames(typeof(AntiAliasing)).Length; + + public AntiAliasing GetValue() + { + switch (IniFiles.GetString("Display", "sAntiAliasing", DefaultValue.ToString())) + { + case "TAA": + return AntiAliasing.TAA; + case "FXAA": + return AntiAliasing.FXAA; + case "": + return AntiAliasing.Disabled; + default: + return DefaultValue; + } + } + + public void SetValue(AntiAliasing value) + { + IniFiles.F76Prefs.Set("Display", "sAntiAliasing", value.ToString()); + } + + public void ResetValue() + { + SetValue(DefaultValue); + } + + public int GetInt() + { + return (int)GetValue(); + } + + public void SetInt(int value) + { + SetValue((AntiAliasing)value); + } + } +} diff --git a/Fo76ini/Tweaks/Graphics/BlendSplitDirShadowTweak.cs b/Fo76ini/Tweaks/Graphics/BlendSplitDirShadowTweak.cs new file mode 100644 index 0000000..d4e546e --- /dev/null +++ b/Fo76ini/Tweaks/Graphics/BlendSplitDirShadowTweak.cs @@ -0,0 +1,38 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Fo76ini.Tweaks.Graphics +{ + class BlendSplitDirShadowTweak : ITweak, ITweakInfo + { + public string Description => + "Distance at which the game will transition to lower-res a shadow \"segment\".\n" + + "MUST be a multiple of 12."; + + public string AffectedFiles => "Fallout76Prefs.ini"; + + public string AffectedValues => "[Display]fBlendSplitDirShadow"; + + public int DefaultValue => 48; + + public string Identifier => this.GetType().FullName; + + public int GetValue() + { + return IniFiles.GetInt("Display", "fBlendSplitDirShadow", DefaultValue); + } + + public void SetValue(int value) + { + IniFiles.F76Prefs.Set("Display", "fBlendSplitDirShadow", value); + } + + public void ResetValue() + { + SetValue(DefaultValue); + } + } +} diff --git a/Fo76ini/Tweaks/Graphics/DirShadowSplitsTweak.cs b/Fo76ini/Tweaks/Graphics/DirShadowSplitsTweak.cs new file mode 100644 index 0000000..c445133 --- /dev/null +++ b/Fo76ini/Tweaks/Graphics/DirShadowSplitsTweak.cs @@ -0,0 +1,38 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Fo76ini.Tweaks.Graphics +{ + class DirShadowSplitsTweak : ITweak, ITweakInfo + { + public string Description => + "Amount of \"segments\" of lower-res shadows at a distance.\n" + + "A value of 1 forces the game to render only the lowest resolution shadows."; + + public string AffectedFiles => "Fallout76Prefs.ini"; + + public string AffectedValues => "[Display]iDirShadowSplits"; + + public int DefaultValue => 3; + + public string Identifier => this.GetType().FullName; + + public int GetValue() + { + return IniFiles.GetInt("Display", "iDirShadowSplits", DefaultValue); + } + + public void SetValue(int value) + { + IniFiles.F76Prefs.Set("Display", "iDirShadowSplits", value); + } + + public void ResetValue() + { + SetValue(DefaultValue); + } + } +} diff --git a/Fo76ini/Tweaks/Graphics/DisableAllGoreTweak.cs b/Fo76ini/Tweaks/Graphics/DisableAllGoreTweak.cs new file mode 100644 index 0000000..52a5655 --- /dev/null +++ b/Fo76ini/Tweaks/Graphics/DisableAllGoreTweak.cs @@ -0,0 +1,45 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Fo76ini.Tweaks.Graphics +{ + class DisableAllGoreTweak : ITweak, ITweakInfo + { + public string Description => ""; + + public string AffectedFiles => "Fallout76Custom.ini"; + + public string AffectedValues => "[General]bDisableAllGore, bBloodSpatterEnabled"; + + public bool DefaultValue => false; + + public string Identifier => this.GetType().FullName; + + public bool GetValue() + { + return IniFiles.GetBool("General", "bDisableAllGore", DefaultValue); + } + + public void SetValue(bool value) + { + if (value) + { + IniFiles.F76Custom.Set("General", "bDisableAllGore", true); + IniFiles.F76Custom.Set("General", "bBloodSpatterEnabled", false); + } + else + { + IniFiles.F76Custom.Remove("General", "bDisableAllGore"); + IniFiles.F76Custom.Remove("General", "bBloodSpatterEnabled"); + } + } + + public void ResetValue() + { + SetValue(DefaultValue); + } + } +} diff --git a/Fo76ini/Tweaks/Graphics/EnableDepthOfFieldTweak.cs b/Fo76ini/Tweaks/Graphics/EnableDepthOfFieldTweak.cs new file mode 100644 index 0000000..992cc8d --- /dev/null +++ b/Fo76ini/Tweaks/Graphics/EnableDepthOfFieldTweak.cs @@ -0,0 +1,74 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Fo76ini.Tweaks.Graphics +{ + // TODO: More DoF tweaks instead of just on/off. + class EnableDepthOfFieldTweak : ITweak, ITweakInfo + { + public string Description => "Disabling this will disable all Depth of Field effects."; + + public string AffectedFiles => "Fallout76Custom.ini"; + + public string AffectedValues => String.Join( + Environment.NewLine, + "", + " [ImageSpace]bDynamicDepthOfField", + " [Display]fDOFBlendRatio", + " [Display]fDOFMinFocalCoefDist", + " [Display]fDOFMaxFocalCoefDist", + " [Display]fDOFDynamicFarRange", + " [Display]fDOFCenterWeightInt", + " [Display]fDOFFarDistance", + ""); + + public bool DefaultValue => true; + + public string Identifier => this.GetType().FullName; + + public bool GetValue() + { + return IniFiles.GetBool("ImageSpace", "bDynamicDepthOfField", true); + } + + public void SetValue(bool value) + { + if (value) + { + IniFiles.F76Custom.Remove("ImageSpace", "bDynamicDepthOfField"); + IniFiles.F76Custom.Remove("Display", "fDOFBlendRatio"); + IniFiles.F76Custom.Remove("Display", "fDOFMinFocalCoefDist"); + IniFiles.F76Custom.Remove("Display", "fDOFMaxFocalCoefDist"); + IniFiles.F76Custom.Remove("Display", "fDOFDynamicFarRange"); + IniFiles.F76Custom.Remove("Display", "fDOFCenterWeightInt"); + IniFiles.F76Custom.Remove("Display", "fDOFFarDistance"); + } + else + { + IniFiles.F76Custom.Set("ImageSpace", "bDynamicDepthOfField", false); + IniFiles.F76Custom.Set("Display", "fDOFBlendRatio", 0); + IniFiles.F76Custom.Set("Display", "fDOFMinFocalCoefDist", 999999); + IniFiles.F76Custom.Set("Display", "fDOFMaxFocalCoefDist", 99999999); + IniFiles.F76Custom.Set("Display", "fDOFDynamicFarRange", 99999999); + IniFiles.F76Custom.Set("Display", "fDOFCenterWeightInt", 0); + IniFiles.F76Custom.Set("Display", "fDOFFarDistance", 99999999); + + /* + Things I wanted to add: + + bDoDepthOfField - DO NOT set this to 0. It will cause underwater effects to disappear. + bScreenSpaceBokeh - Apparently some blur effect. Is it related to DOF? + bUseBlurShader - ? + */ + } + } + + public void ResetValue() + { + SetValue(DefaultValue); + } + } +} diff --git a/Fo76ini/Tweaks/Graphics/EnableGrassTweak.cs b/Fo76ini/Tweaks/Graphics/EnableGrassTweak.cs new file mode 100644 index 0000000..869dff5 --- /dev/null +++ b/Fo76ini/Tweaks/Graphics/EnableGrassTweak.cs @@ -0,0 +1,36 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Fo76ini.Tweaks.Graphics +{ + class EnableGrassTweak : ITweak, ITweakInfo + { + public string Description => ""; + + public string AffectedFiles => "Fallout76Custom.ini"; + + public string AffectedValues => "[Grass]bAllowCreateGrass"; + + public bool DefaultValue => true; + + public string Identifier => this.GetType().FullName; + + public bool GetValue() + { + return IniFiles.GetBool("Grass", "bAllowCreateGrass", DefaultValue); + } + + public void SetValue(bool value) + { + IniFiles.F76Custom.Set("Grass", "bAllowCreateGrass", value); + } + + public void ResetValue() + { + SetValue(DefaultValue); + } + } +} diff --git a/Fo76ini/Tweaks/Graphics/FogTweak.cs b/Fo76ini/Tweaks/Graphics/FogTweak.cs new file mode 100644 index 0000000..063b135 --- /dev/null +++ b/Fo76ini/Tweaks/Graphics/FogTweak.cs @@ -0,0 +1,36 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Fo76ini.Tweaks.Graphics +{ + class FogTweak : ITweak, ITweakInfo + { + public string Description => ""; + + public string AffectedFiles => "Fallout76Prefs.ini"; + + public string AffectedValues => "[Weather]bFogEnabled"; + + public bool DefaultValue => true; + + public string Identifier => this.GetType().FullName; + + public bool GetValue() + { + return IniFiles.GetBool("Weather", "bFogEnabled", DefaultValue); + } + + public void SetValue(bool value) + { + IniFiles.F76Prefs.Set("Weather", "bFogEnabled", value); + } + + public void ResetValue() + { + SetValue(DefaultValue); + } + } +} diff --git a/Fo76ini/Tweaks/Graphics/GrassFadeDistanceTweak.cs b/Fo76ini/Tweaks/Graphics/GrassFadeDistanceTweak.cs new file mode 100644 index 0000000..43fed35 --- /dev/null +++ b/Fo76ini/Tweaks/Graphics/GrassFadeDistanceTweak.cs @@ -0,0 +1,43 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Fo76ini.Tweaks.Graphics +{ + class GrassFadeDistanceTweak : ITweak, ITweakInfo + { + public string Description => String.Join( + Environment.NewLine, + "Sets the distance grass will begin to fade.", + " ⇨ Ultra is 7000", + " ⇨ High is 5500", + " ⇨ Medium is 4500"); + + public string AffectedFiles => "Fallout76Prefs.ini"; + + public string AffectedValues => "[Grass]fGrassStartFadeDistance, fGrassMinStartFadeDistance, fGrassMaxStartFadeDistance"; + + public float DefaultValue => 3000f; + + public string Identifier => this.GetType().FullName; + + public float GetValue() + { + return IniFiles.GetFloat("Grass", "fGrassStartFadeDistance", DefaultValue); + } + + public void SetValue(float value) + { + IniFiles.F76Prefs.Set("Grass", "fGrassStartFadeDistance", value); + IniFiles.F76Prefs.Set("Grass", "fGrassMinStartFadeDistance", 0); + IniFiles.F76Prefs.Set("Grass", "fGrassMaxStartFadeDistance", value); + } + + public void ResetValue() + { + SetValue(DefaultValue); + } + } +} diff --git a/Fo76ini/Tweaks/Graphics/LODFadeOutMultActorsTweak.cs b/Fo76ini/Tweaks/Graphics/LODFadeOutMultActorsTweak.cs new file mode 100644 index 0000000..4dc881e --- /dev/null +++ b/Fo76ini/Tweaks/Graphics/LODFadeOutMultActorsTweak.cs @@ -0,0 +1,36 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Fo76ini.Tweaks.Graphics +{ + class LODFadeOutMultActorsTweak : ITweak, ITweakInfo + { + public string Description => ""; + + public string AffectedFiles => "Fallout76Prefs.ini"; + + public string AffectedValues => "[LOD]fLODFadeOutMultActors"; + + public float DefaultValue => 4.5f; + + public string Identifier => this.GetType().FullName; + + public float GetValue() + { + return IniFiles.GetFloat("LOD", "fLODFadeOutMultActors", DefaultValue); + } + + public void SetValue(float value) + { + IniFiles.F76Prefs.Set("LOD", "fLODFadeOutMultActors", value); + } + + public void ResetValue() + { + SetValue(DefaultValue); + } + } +} diff --git a/Fo76ini/Tweaks/Graphics/LODFadeOutMultItemsTweak.cs b/Fo76ini/Tweaks/Graphics/LODFadeOutMultItemsTweak.cs new file mode 100644 index 0000000..b44c67b --- /dev/null +++ b/Fo76ini/Tweaks/Graphics/LODFadeOutMultItemsTweak.cs @@ -0,0 +1,36 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Fo76ini.Tweaks.Graphics +{ + class LODFadeOutMultItemsTweak : ITweak, ITweakInfo + { + public string Description => ""; + + public string AffectedFiles => "Fallout76Prefs.ini"; + + public string AffectedValues => "[LOD]fLODFadeOutMultItems"; + + public float DefaultValue => 2.5f; + + public string Identifier => this.GetType().FullName; + + public float GetValue() + { + return IniFiles.GetFloat("LOD", "fLODFadeOutMultItems", DefaultValue); + } + + public void SetValue(float value) + { + IniFiles.F76Prefs.Set("LOD", "fLODFadeOutMultItems", value); + } + + public void ResetValue() + { + SetValue(DefaultValue); + } + } +} diff --git a/Fo76ini/Tweaks/Graphics/LODFadeOutMultObjectsTweak.cs b/Fo76ini/Tweaks/Graphics/LODFadeOutMultObjectsTweak.cs new file mode 100644 index 0000000..64fb1d5 --- /dev/null +++ b/Fo76ini/Tweaks/Graphics/LODFadeOutMultObjectsTweak.cs @@ -0,0 +1,36 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Fo76ini.Tweaks.Graphics +{ + class LODFadeOutMultObjectsTweak : ITweak, ITweakInfo + { + public string Description => ""; + + public string AffectedFiles => "Fallout76Prefs.ini"; + + public string AffectedValues => "[LOD]fLODFadeOutMultObjects"; + + public float DefaultValue => 6.0f; + + public string Identifier => this.GetType().FullName; + + public float GetValue() + { + return IniFiles.GetFloat("LOD", "fLODFadeOutMultObjects", DefaultValue); + } + + public void SetValue(float value) + { + IniFiles.F76Prefs.Set("LOD", "fLODFadeOutMultObjects", value); + } + + public void ResetValue() + { + SetValue(DefaultValue); + } + } +} diff --git a/Fo76ini/Tweaks/Graphics/LensFlareTweak.cs b/Fo76ini/Tweaks/Graphics/LensFlareTweak.cs new file mode 100644 index 0000000..6963247 --- /dev/null +++ b/Fo76ini/Tweaks/Graphics/LensFlareTweak.cs @@ -0,0 +1,36 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Fo76ini.Tweaks.Graphics +{ + class LensFlareTweak : ITweak, ITweakInfo + { + public string Description => ""; + + public string AffectedFiles => "Fallout76Prefs.ini"; + + public string AffectedValues => "[ImageSpace]bLensFlare"; + + public bool DefaultValue => true; + + public string Identifier => this.GetType().FullName; + + public bool GetValue() + { + return IniFiles.GetBool("ImageSpace", "bLensFlare", DefaultValue); + } + + public void SetValue(bool value) + { + IniFiles.F76Prefs.Set("ImageSpace", "bLensFlare", value); + } + + public void ResetValue() + { + SetValue(DefaultValue); + } + } +} diff --git a/Fo76ini/Tweaks/Graphics/MotionBlurTweak.cs b/Fo76ini/Tweaks/Graphics/MotionBlurTweak.cs new file mode 100644 index 0000000..15c025a --- /dev/null +++ b/Fo76ini/Tweaks/Graphics/MotionBlurTweak.cs @@ -0,0 +1,36 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Fo76ini.Tweaks.Graphics +{ + class MotionBlurTweak : ITweak, ITweakInfo + { + public string Description => ""; + + public string AffectedFiles => "Fallout76Custom.ini"; + + public string AffectedValues => "[ImageSpace]bMBEnable"; + + public bool DefaultValue => true; + + public string Identifier => this.GetType().FullName; + + public bool GetValue() + { + return IniFiles.GetBool("ImageSpace", "bMBEnable", DefaultValue); + } + + public void SetValue(bool value) + { + IniFiles.F76Custom.Set("ImageSpace", "bMBEnable", value); + } + + public void ResetValue() + { + SetValue(DefaultValue); + } + } +} diff --git a/Fo76ini/Tweaks/Graphics/RadialBlurTweak.cs b/Fo76ini/Tweaks/Graphics/RadialBlurTweak.cs new file mode 100644 index 0000000..6add78a --- /dev/null +++ b/Fo76ini/Tweaks/Graphics/RadialBlurTweak.cs @@ -0,0 +1,38 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Fo76ini.Tweaks.Graphics +{ + class RadialBlurTweak : ITweak, ITweakInfo + { + public string Description => + "Blurs the screen when the player is hurt (e.g. hit by bullets) or under water.\n" + + "⚠️ Disabling this might result in a clear view underwater."; + + public string AffectedFiles => "Fallout76Custom.ini"; + + public string AffectedValues => "[ImageSpace]bDoRadialBlur"; + + public bool DefaultValue => true; + + public string Identifier => this.GetType().FullName; + + public bool GetValue() + { + return IniFiles.GetBool("ImageSpace", "bDoRadialBlur", DefaultValue); + } + + public void SetValue(bool value) + { + IniFiles.F76Custom.Set("ImageSpace", "bDoRadialBlur", value); + } + + public void ResetValue() + { + SetValue(DefaultValue); + } + } +} diff --git a/Fo76ini/Tweaks/Graphics/RainOcclusionTweak.cs b/Fo76ini/Tweaks/Graphics/RainOcclusionTweak.cs new file mode 100644 index 0000000..0673ee3 --- /dev/null +++ b/Fo76ini/Tweaks/Graphics/RainOcclusionTweak.cs @@ -0,0 +1,36 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Fo76ini.Tweaks.Graphics +{ + class RainOcclusionTweak : ITweak, ITweakInfo + { + public string Description => ""; + + public string AffectedFiles => "Fallout76.ini"; + + public string AffectedValues => "[Weather]bRainOcclusion"; + + public bool DefaultValue => true; + + public string Identifier => this.GetType().FullName; + + public bool GetValue() + { + return IniFiles.GetBool("Weather", "bRainOcclusion", DefaultValue); + } + + public void SetValue(bool value) + { + IniFiles.F76.Set("Weather", "bRainOcclusion", value); + } + + public void ResetValue() + { + SetValue(DefaultValue); + } + } +} diff --git a/Fo76ini/Tweaks/Graphics/ScreenSpaceReflectionsTweak.cs b/Fo76ini/Tweaks/Graphics/ScreenSpaceReflectionsTweak.cs new file mode 100644 index 0000000..5675f91 --- /dev/null +++ b/Fo76ini/Tweaks/Graphics/ScreenSpaceReflectionsTweak.cs @@ -0,0 +1,36 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Fo76ini.Tweaks.Graphics +{ + class ScreenSpaceReflectionsTweak : ITweak, ITweakInfo + { + public string Description => "Enables/disables screen space reflections.\nWill make water disappear or become pitch black!"; + + public string AffectedFiles => "Fallout76Prefs.ini"; + + public string AffectedValues => "[LightingShader]bScreenSpaceReflections"; + + public bool DefaultValue => true; + + public string Identifier => this.GetType().FullName; + + public bool GetValue() + { + return IniFiles.GetBool("LightingShader", "bScreenSpaceReflections", DefaultValue); + } + + public void SetValue(bool value) + { + IniFiles.F76Prefs.Set("LightingShader", "bScreenSpaceReflections", value); + } + + public void ResetValue() + { + SetValue(DefaultValue); + } + } +} diff --git a/Fo76ini/Tweaks/Graphics/ShadowBlurrinessTweak.cs b/Fo76ini/Tweaks/Graphics/ShadowBlurrinessTweak.cs new file mode 100644 index 0000000..7bd9e4d --- /dev/null +++ b/Fo76ini/Tweaks/Graphics/ShadowBlurrinessTweak.cs @@ -0,0 +1,36 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Fo76ini.Tweaks.Graphics +{ + class ShadowBlurrinessTweak : ITweak, ITweakInfo + { + public string Description => "Blurs shadows. Especially useful, if you set a lower shadow resolution."; + + public string AffectedFiles => "Fallout76Prefs.ini"; + + public string AffectedValues => "[Display]uiOrthoShadowFilter"; + + public int DefaultValue => 3; + + public string Identifier => this.GetType().FullName; + + public int GetValue() + { + return IniFiles.GetInt("Display", "uiOrthoShadowFilter", DefaultValue); + } + + public void SetValue(int value) + { + IniFiles.F76Prefs.Set("Display", "uiOrthoShadowFilter", value); + } + + public void ResetValue() + { + SetValue(DefaultValue); + } + } +} diff --git a/Fo76ini/Tweaks/Graphics/ShadowDistanceTweak.cs b/Fo76ini/Tweaks/Graphics/ShadowDistanceTweak.cs new file mode 100644 index 0000000..5328298 --- /dev/null +++ b/Fo76ini/Tweaks/Graphics/ShadowDistanceTweak.cs @@ -0,0 +1,43 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Fo76ini.Tweaks.Graphics +{ + // fShadowDistance was replaced by fDirShadowDistance in Fallout 4 + class ShadowDistanceTweak : ITweak, ITweakInfo + { + public string Description => String.Join( + Environment.NewLine, + "Sets the distance that shadows are rendered.", + " ⇨ Ultra is 150000", + " ⇨ High is 120000", + " ⇨ Medium is 90000", + " ⇨ Low is 60000"); + + public string AffectedFiles => "Fallout76Prefs.ini"; + + public string AffectedValues => "[Display]fDirShadowDistance"; + + public float DefaultValue => 90000f; + + public string Identifier => this.GetType().FullName; + + public float GetValue() + { + return IniFiles.GetFloat("Display", "fDirShadowDistance", DefaultValue); + } + + public void SetValue(float value) + { + IniFiles.F76Prefs.Set("Display", "fDirShadowDistance", value); + } + + public void ResetValue() + { + SetValue(DefaultValue); + } + } +} diff --git a/Fo76ini/Tweaks/Graphics/ShadowMapResolutionTweak.cs b/Fo76ini/Tweaks/Graphics/ShadowMapResolutionTweak.cs new file mode 100644 index 0000000..042d7b1 --- /dev/null +++ b/Fo76ini/Tweaks/Graphics/ShadowMapResolutionTweak.cs @@ -0,0 +1,36 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Fo76ini.Tweaks.Graphics +{ + class ShadowMapResolutionTweak : ITweak, ITweakInfo + { + public string Description => "Resolution of shadows. Higher settings will make shadows more detailed."; + + public string AffectedFiles => "Fallout76Prefs.ini"; + + public string AffectedValues => "[Display]iShadowMapResolution"; + + public int DefaultValue => 2048; + + public string Identifier => this.GetType().FullName; + + public int GetValue() + { + return IniFiles.GetInt("Display", "iShadowMapResolution", DefaultValue); + } + + public void SetValue(int value) + { + IniFiles.F76Prefs.Set("Display", "iShadowMapResolution", value); + } + + public void ResetValue() + { + SetValue(DefaultValue); + } + } +} diff --git a/Fo76ini/Tweaks/Graphics/TAAPostOverlayTweak.cs b/Fo76ini/Tweaks/Graphics/TAAPostOverlayTweak.cs new file mode 100644 index 0000000..a5c61f6 --- /dev/null +++ b/Fo76ini/Tweaks/Graphics/TAAPostOverlayTweak.cs @@ -0,0 +1,39 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Fo76ini.Tweaks.Graphics +{ + class TAAPostOverlayTweak : ITweak, ITweakInfo + { + public string Description => String.Join( + Environment.NewLine, + "Sharpens the image.", + "Default: 0.21"); + + public string AffectedFiles => "Fallout76Custom.ini"; + + public string AffectedValues => "[Display]fTAAPostOverlay"; + + public float DefaultValue => 0.21f; + + public string Identifier => this.GetType().FullName; + + public float GetValue() + { + return IniFiles.GetFloat("Display", "fTAAPostOverlay", DefaultValue); + } + + public void SetValue(float value) + { + IniFiles.F76Custom.Set("Display", "fTAAPostOverlay", value); + } + + public void ResetValue() + { + SetValue(DefaultValue); + } + } +} diff --git a/Fo76ini/Tweaks/Graphics/TAAPostSharpenTweak.cs b/Fo76ini/Tweaks/Graphics/TAAPostSharpenTweak.cs new file mode 100644 index 0000000..7476fae --- /dev/null +++ b/Fo76ini/Tweaks/Graphics/TAAPostSharpenTweak.cs @@ -0,0 +1,40 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Fo76ini.Tweaks.Graphics +{ + class TAAPostSharpenTweak : ITweak, ITweakInfo + { + public string Description => String.Join( + Environment.NewLine, + "Sharpens the image.", + "Default: 0.21", + "Recommended: 0.4"); + + public string AffectedFiles => "Fallout76Custom.ini"; + + public string AffectedValues => "[Display]fTAAPostSharpen"; + + public float DefaultValue => 0.21f; + + public string Identifier => this.GetType().FullName; + + public float GetValue() + { + return IniFiles.GetFloat("Display", "fTAAPostSharpen", DefaultValue); + } + + public void SetValue(float value) + { + IniFiles.F76Custom.Set("Display", "fTAAPostSharpen", value); + } + + public void ResetValue() + { + SetValue(DefaultValue); + } + } +} diff --git a/Fo76ini/Tweaks/Graphics/VolumetricLightingTweak.cs b/Fo76ini/Tweaks/Graphics/VolumetricLightingTweak.cs new file mode 100644 index 0000000..25357c7 --- /dev/null +++ b/Fo76ini/Tweaks/Graphics/VolumetricLightingTweak.cs @@ -0,0 +1,36 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Fo76ini.Tweaks.Graphics +{ + class VolumetricLightingTweak : ITweak, ITweakInfo + { + public string Description => ""; + + public string AffectedFiles => "Fallout76Prefs.ini"; + + public string AffectedValues => "[Display]bVolumetricLightingEnable"; + + public bool DefaultValue => true; + + public string Identifier => this.GetType().FullName; + + public bool GetValue() + { + return IniFiles.GetBool("Display", "bVolumetricLightingEnable", DefaultValue); + } + + public void SetValue(bool value) + { + IniFiles.F76Prefs.Set("Display", "bVolumetricLightingEnable", value); + } + + public void ResetValue() + { + SetValue(DefaultValue); + } + } +} diff --git a/Fo76ini/Tweaks/Graphics/WaterDisplacementsTweak.cs b/Fo76ini/Tweaks/Graphics/WaterDisplacementsTweak.cs new file mode 100644 index 0000000..4eb177d --- /dev/null +++ b/Fo76ini/Tweaks/Graphics/WaterDisplacementsTweak.cs @@ -0,0 +1,36 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Fo76ini.Tweaks.Graphics +{ + class WaterDisplacementsTweak : ITweak, ITweakInfo + { + public string Description => "Enables/disables water displacement (ripples, waves)."; + + public string AffectedFiles => "Fallout76Prefs.ini"; + + public string AffectedValues => "[Water]bUseWaterDisplacements"; + + public bool DefaultValue => true; + + public string Identifier => this.GetType().FullName; + + public bool GetValue() + { + return IniFiles.GetBool("Water", "bUseWaterDisplacements", DefaultValue); + } + + public void SetValue(bool value) + { + IniFiles.F76Prefs.Set("Water", "bUseWaterDisplacements", value); + } + + public void ResetValue() + { + SetValue(DefaultValue); + } + } +} diff --git a/Fo76ini/Tweaks/Graphics/WetnessOcclusionTweak.cs b/Fo76ini/Tweaks/Graphics/WetnessOcclusionTweak.cs new file mode 100644 index 0000000..4a4230a --- /dev/null +++ b/Fo76ini/Tweaks/Graphics/WetnessOcclusionTweak.cs @@ -0,0 +1,36 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Fo76ini.Tweaks.Graphics +{ + class WetnessOcclusionTweak : ITweak, ITweakInfo + { + public string Description => ""; + + public string AffectedFiles => "Fallout76.ini"; + + public string AffectedValues => "[Weather]bWetnessOcclusion"; + + public bool DefaultValue => true; + + public string Identifier => this.GetType().FullName; + + public bool GetValue() + { + return IniFiles.GetBool("Weather", "bWetnessOcclusion", DefaultValue); + } + + public void SetValue(bool value) + { + IniFiles.F76.Set("Weather", "bWetnessOcclusion", value); + } + + public void ResetValue() + { + SetValue(DefaultValue); + } + } +} diff --git a/Fo76ini/Tweaks/ITweak.cs b/Fo76ini/Tweaks/ITweak.cs new file mode 100644 index 0000000..ecb013c --- /dev/null +++ b/Fo76ini/Tweaks/ITweak.cs @@ -0,0 +1,48 @@ +namespace Fo76ini.Tweaks +{ + ///

+ /// Represents an *.ini tweak. May change more than one value in more than one file. + /// + public interface ITweak + { + T GetValue(); + + void SetValue(T value); + + /// + /// Reset the tweak to default values. + /// + void ResetValue(); + + T DefaultValue { get; } + } + + /// + /// Stores info about an *.ini tweak. + /// + public interface ITweakInfo + { + string Identifier { get; } + + string Description { get; } + + string AffectedFiles { get; } + + string AffectedValues { get; } + } + + /// + /// Makes it possible to interface with an ITweak using integer. + /// + public interface IEnumTweak + { + int GetInt(); + + void SetInt(int value); + + /// + /// Get the amount of names in an enum. + /// + int Count { get; } + } +} diff --git a/Fo76ini/Tweaks/IniFiles/INIReadOnlyTweak.cs b/Fo76ini/Tweaks/IniFiles/INIReadOnlyTweak.cs new file mode 100644 index 0000000..f044a94 --- /dev/null +++ b/Fo76ini/Tweaks/IniFiles/INIReadOnlyTweak.cs @@ -0,0 +1,37 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Fo76ini; + +namespace Fo76ini.Tweaks.Inis +{ + public class INIReadOnlyTweak : ITweak, ITweakInfo + { + public string Description => "This option will make all *.ini files read-only immediately.\nEnable this if your settings get reverted."; + + public string AffectedFiles => @"%UserProfile%\Documents\My Games\Fallout 76\*.ini"; + + public string AffectedValues => ""; + + public bool DefaultValue => false; + + public string Identifier => this.GetType().FullName; + + public bool GetValue() + { + return IniFiles.AreINIsReadOnly(); + } + + public void SetValue(bool value) + { + IniFiles.SetINIsReadOnly(value); + } + + public void ResetValue() + { + SetValue(DefaultValue); + } + } +} diff --git a/Fo76ini/Tweaks/Interface/ActiveEffectsOnHUDTweak.cs b/Fo76ini/Tweaks/Interface/ActiveEffectsOnHUDTweak.cs new file mode 100644 index 0000000..7409ce4 --- /dev/null +++ b/Fo76ini/Tweaks/Interface/ActiveEffectsOnHUDTweak.cs @@ -0,0 +1,58 @@ +using Fo76ini.Utilities; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Fo76ini.Tweaks.Interface +{ + public enum ActiveEffectsOnHUD + { + Disabled = 0, + Detrimental = 1, + All = 2 + } + + class ActiveEffectsOnHUDTweak : ITweak, ITweakInfo, IEnumTweak + { + public string Description => ""; + + public string AffectedFiles => "Fallout76Prefs.ini"; + + public string AffectedValues => "[Interface]uHUDActiveEffectWidget"; + + public ActiveEffectsOnHUD DefaultValue => ActiveEffectsOnHUD.All; + + public string Identifier => this.GetType().FullName; + + // https://stackoverflow.com/a/16946496 + public int Count => Enum.GetNames(typeof(ActiveEffectsOnHUD)).Length; + + public ActiveEffectsOnHUD GetValue() + { + int val = IniFiles.GetInt("Interface", "uHUDActiveEffectWidget", (int)DefaultValue); + return (ActiveEffectsOnHUD)(Utils.Clamp(val, 0, 2)); + } + + public void SetValue(ActiveEffectsOnHUD value) + { + IniFiles.F76Prefs.Set("Interface", "uHUDActiveEffectWidget", (int)value); + } + + public void ResetValue() + { + SetValue(DefaultValue); + } + + public int GetInt() + { + return (int)GetValue(); + } + + public void SetInt(int value) + { + SetValue((ActiveEffectsOnHUD)value); + } + } +} diff --git a/Fo76ini/Tweaks/Interface/AutoTrackQuestWhenStartedTweak.cs b/Fo76ini/Tweaks/Interface/AutoTrackQuestWhenStartedTweak.cs new file mode 100644 index 0000000..9851841 --- /dev/null +++ b/Fo76ini/Tweaks/Interface/AutoTrackQuestWhenStartedTweak.cs @@ -0,0 +1,60 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Fo76ini.Tweaks.Interface +{ + class AutoTrackQuestWhenStartedTweak : ITweak, ITweakInfo + { + public AutoTrackQuestWhenStartedTweak(string keyPrefix, string questType) + { + this.KeyPrefix = keyPrefix; + this.QuestType = questType; + + // Determine default value: + switch (this.KeyPrefix) + { + case "Main": + case "Side": + case "Misc": + case "Event": + this.DefaultValue = true; + break; + case "Other": + default: + this.DefaultValue = false; + break; + } + } + + private string KeyPrefix; + private string QuestType; + + public string Description => $"If enabled, automatically tracks newly added '{this.QuestType}' quests."; + + public string AffectedFiles => "Fallout76Prefs.ini"; + + public string AffectedValues => $"[MAIN]bEnableQuestAutoTrack{this.KeyPrefix}"; + + public bool DefaultValue { get; } + + public string Identifier => this.GetType().FullName + "+" + this.KeyPrefix; + + public bool GetValue() + { + return IniFiles.GetBool("MAIN", $"bEnableQuestAutoTrack{this.KeyPrefix}", DefaultValue); + } + + public void SetValue(bool value) + { + IniFiles.F76Prefs.Set("MAIN", $"bEnableQuestAutoTrack{this.KeyPrefix}", value); + } + + public void ResetValue() + { + SetValue(DefaultValue); + } + } +} diff --git a/Fo76ini/Tweaks/Interface/ConversationHistorySizeTweak.cs b/Fo76ini/Tweaks/Interface/ConversationHistorySizeTweak.cs new file mode 100644 index 0000000..99148df --- /dev/null +++ b/Fo76ini/Tweaks/Interface/ConversationHistorySizeTweak.cs @@ -0,0 +1,36 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Fo76ini.Tweaks.Interface +{ + class ConversationHistorySizeTweak : ITweak, ITweakInfo + { + public string Description => ""; + + public string AffectedFiles => "Fallout76Prefs.ini"; + + public string AffectedValues => "[Display]fConversationHistorySize"; + + public float DefaultValue => 4.0f; + + public string Identifier => this.GetType().FullName; + + public float GetValue() + { + return IniFiles.GetFloat("Display", "fConversationHistorySize", DefaultValue); + } + + public void SetValue(float value) + { + IniFiles.F76Prefs.Set("Display", "fConversationHistorySize", value); + } + + public void ResetValue() + { + SetValue(DefaultValue); + } + } +} diff --git a/Fo76ini/Tweaks/Interface/DialogueSubtitlesTweak.cs b/Fo76ini/Tweaks/Interface/DialogueSubtitlesTweak.cs new file mode 100644 index 0000000..e96a552 --- /dev/null +++ b/Fo76ini/Tweaks/Interface/DialogueSubtitlesTweak.cs @@ -0,0 +1,36 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Fo76ini.Tweaks.Interface +{ + class DialogueSubtitlesTweak : ITweak, ITweakInfo + { + public string Description => ""; + + public string AffectedFiles => "Fallout76Prefs.ini"; + + public string AffectedValues => "[Interface]bDialogueSubtitles"; + + public bool DefaultValue => false; + + public string Identifier => this.GetType().FullName; + + public bool GetValue() + { + return IniFiles.GetBool("Interface", "bDialogueSubtitles", DefaultValue); + } + + public void SetValue(bool value) + { + IniFiles.F76Prefs.Set("Interface", "bDialogueSubtitles", value); + } + + public void ResetValue() + { + SetValue(DefaultValue); + } + } +} \ No newline at end of file diff --git a/Fo76ini/Tweaks/Interface/EnableItemRarityColorsTweak.cs b/Fo76ini/Tweaks/Interface/EnableItemRarityColorsTweak.cs new file mode 100644 index 0000000..0146976 --- /dev/null +++ b/Fo76ini/Tweaks/Interface/EnableItemRarityColorsTweak.cs @@ -0,0 +1,36 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Fo76ini.Tweaks.Interface +{ + class EnableItemRarityColorsTweak : ITweak, ITweakInfo + { + public string Description => ""; + + public string AffectedFiles => "Fallout76Prefs.ini"; + + public string AffectedValues => "[NuclearWinter]bEnableItemRarityColors"; + + public bool DefaultValue => true; + + public string Identifier => this.GetType().FullName; + + public bool GetValue() + { + return IniFiles.GetBool("NuclearWinter", "bEnableItemRarityColors", DefaultValue); + } + + public void SetValue(bool value) + { + IniFiles.F76Prefs.Set("NuclearWinter", "bEnableItemRarityColors", value); + } + + public void ResetValue() + { + SetValue(DefaultValue); + } + } +} diff --git a/Fo76ini/Tweaks/Interface/EnablePowerArmorHUDTweak.cs b/Fo76ini/Tweaks/Interface/EnablePowerArmorHUDTweak.cs new file mode 100644 index 0000000..ed2f5c4 --- /dev/null +++ b/Fo76ini/Tweaks/Interface/EnablePowerArmorHUDTweak.cs @@ -0,0 +1,36 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Fo76ini.Tweaks.Interface +{ + class EnablePowerArmorHUDTweak : ITweak, ITweakInfo + { + public string Description => ""; + + public string AffectedFiles => "Fallout76Prefs.ini"; + + public string AffectedValues => "[MAIN]bEnablePowerArmorHUD"; + + public bool DefaultValue => true; + + public string Identifier => this.GetType().FullName; + + public bool GetValue() + { + return IniFiles.GetBool("MAIN", "bEnablePowerArmorHUD", DefaultValue); + } + + public void SetValue(bool value) + { + IniFiles.F76Prefs.Set("MAIN", "bEnablePowerArmorHUD", value); + } + + public void ResetValue() + { + SetValue(DefaultValue); + } + } +} diff --git a/Fo76ini/Tweaks/Interface/FixHUD4to3RatioTweak.cs b/Fo76ini/Tweaks/Interface/FixHUD4to3RatioTweak.cs new file mode 100644 index 0000000..a18a3f5 --- /dev/null +++ b/Fo76ini/Tweaks/Interface/FixHUD4to3RatioTweak.cs @@ -0,0 +1,63 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Fo76ini.Tweaks.Interface +{ + class FixHUD4to3RatioTweak : ITweak, ITweakInfo + { + public string Description => String.Join( + Environment.NewLine, + "Fixes hidden / borked", + " • lock picking screen and", + " • Power Armor HUD", + "for 5:4 and 4:3 screens.", + "", + "⚠️ Mostly untested."); + + public string AffectedFiles => "Fallout76Custom.ini"; + + public string AffectedValues => String.Join( + Environment.NewLine, + "", + " [Interface]fLockPositionY", + " [Interface]fUIPowerArmorGeometry_TranslateZ", + " [Interface]fUIPowerArmorGeometry_TranslateY", + ""); + + public bool DefaultValue => false; + + public string Identifier => this.GetType().FullName; + + public bool GetValue() + { + return + Math.Abs(IniFiles.GetFloat("Interface", "fLockPositionY", 0f) - 100f) < 0.1 && + Math.Abs(IniFiles.GetFloat("Interface", "fUIPowerArmorGeometry_TranslateZ", 0f) - -18.5f) < 0.1 && + Math.Abs(IniFiles.GetFloat("Interface", "fUIPowerArmorGeometry_TranslateY", 0f) - 460f) < 0.1; + } + + public void SetValue(bool value) + { + if (value) + { + IniFiles.F76Custom.Set("Interface", "fLockPositionY", 100f); + IniFiles.F76Custom.Set("Interface", "fUIPowerArmorGeometry_TranslateZ", -18.5f); + IniFiles.F76Custom.Set("Interface", "fUIPowerArmorGeometry_TranslateY", 460f); + } + else + { + IniFiles.F76Custom.Remove("Interface", "fLockPositionY"); + IniFiles.F76Custom.Remove("Interface", "fUIPowerArmorGeometry_TranslateZ"); + IniFiles.F76Custom.Remove("Interface", "fUIPowerArmorGeometry_TranslateY"); + } + } + + public void ResetValue() + { + SetValue(DefaultValue); + } + } +} diff --git a/Fo76ini/Tweaks/Interface/FloatingQuestMarkersDistanceTweak.cs b/Fo76ini/Tweaks/Interface/FloatingQuestMarkersDistanceTweak.cs new file mode 100644 index 0000000..4466713 --- /dev/null +++ b/Fo76ini/Tweaks/Interface/FloatingQuestMarkersDistanceTweak.cs @@ -0,0 +1,36 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Fo76ini.Tweaks.Interface +{ + class FloatingQuestMarkersDistanceTweak : ITweak, ITweakInfo + { + public string Description => ""; + + public string AffectedFiles => "Fallout76Prefs.ini"; + + public string AffectedValues => "[GamePlay]fFloatingQuestMarkersDistance"; + + public float DefaultValue => 100.0f; + + public string Identifier => this.GetType().FullName; + + public float GetValue() + { + return IniFiles.GetFloat("GamePlay", "fFloatingQuestMarkersDistance", DefaultValue); + } + + public void SetValue(float value) + { + IniFiles.F76Prefs.Set("GamePlay", "fFloatingQuestMarkersDistance", value); + } + + public void ResetValue() + { + SetValue(DefaultValue); + } + } +} diff --git a/Fo76ini/Tweaks/Interface/GeneralSubtitlesTweak.cs b/Fo76ini/Tweaks/Interface/GeneralSubtitlesTweak.cs new file mode 100644 index 0000000..20f531d --- /dev/null +++ b/Fo76ini/Tweaks/Interface/GeneralSubtitlesTweak.cs @@ -0,0 +1,36 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Fo76ini.Tweaks.Interface +{ + class GeneralSubtitlesTweak : ITweak, ITweakInfo + { + public string Description => ""; + + public string AffectedFiles => "Fallout76Prefs.ini"; + + public string AffectedValues => "[Interface]bGeneralSubtitles"; + + public bool DefaultValue => false; + + public string Identifier => this.GetType().FullName; + + public bool GetValue() + { + return IniFiles.GetBool("Interface", "bGeneralSubtitles", DefaultValue); + } + + public void SetValue(bool value) + { + IniFiles.F76Prefs.Set("Interface", "bGeneralSubtitles", value); + } + + public void ResetValue() + { + SetValue(DefaultValue); + } + } +} diff --git a/Fo76ini/Tweaks/Interface/HUDOpacityTweak.cs b/Fo76ini/Tweaks/Interface/HUDOpacityTweak.cs new file mode 100644 index 0000000..5b268f9 --- /dev/null +++ b/Fo76ini/Tweaks/Interface/HUDOpacityTweak.cs @@ -0,0 +1,36 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Fo76ini.Tweaks.Interface +{ + class HUDOpacityTweak : ITweak, ITweakInfo + { + public string Description => ""; + + public string AffectedFiles => "Fallout76Prefs.ini"; + + public string AffectedValues => "[MAIN]fHUDOpacity"; + + public float DefaultValue => 1.0f; + + public string Identifier => this.GetType().FullName; + + public float GetValue() + { + return IniFiles.GetFloat("MAIN", "fHUDOpacity", DefaultValue); + } + + public void SetValue(float value) + { + IniFiles.F76Prefs.Set("MAIN", "fHUDOpacity", value); + } + + public void ResetValue() + { + SetValue(DefaultValue); + } + } +} diff --git a/Fo76ini/Tweaks/Interface/ShowCompassTweak.cs b/Fo76ini/Tweaks/Interface/ShowCompassTweak.cs new file mode 100644 index 0000000..3fb5b48 --- /dev/null +++ b/Fo76ini/Tweaks/Interface/ShowCompassTweak.cs @@ -0,0 +1,36 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Fo76ini.Tweaks.Interface +{ + class ShowCompassTweak : ITweak, ITweakInfo + { + public string Description => ""; + + public string AffectedFiles => "Fallout76Prefs.ini"; + + public string AffectedValues => "[Interface]bShowCompass"; + + public bool DefaultValue => true; + + public string Identifier => this.GetType().FullName; + + public bool GetValue() + { + return IniFiles.GetBool("Interface", "bShowCompass", DefaultValue); + } + + public void SetValue(bool value) + { + IniFiles.F76Prefs.Set("Interface", "bShowCompass", value); + } + + public void ResetValue() + { + SetValue(DefaultValue); + } + } +} diff --git a/Fo76ini/Tweaks/Interface/ShowCrosshairTweak.cs b/Fo76ini/Tweaks/Interface/ShowCrosshairTweak.cs new file mode 100644 index 0000000..f93a177 --- /dev/null +++ b/Fo76ini/Tweaks/Interface/ShowCrosshairTweak.cs @@ -0,0 +1,36 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Fo76ini.Tweaks.Interface +{ + class ShowCrosshairTweak : ITweak, ITweakInfo + { + public string Description => ""; + + public string AffectedFiles => "Fallout76Prefs.ini"; + + public string AffectedValues => "[MAIN]bCrosshairEnabled"; + + public bool DefaultValue => true; + + public string Identifier => this.GetType().FullName; + + public bool GetValue() + { + return IniFiles.GetBool("MAIN", "bCrosshairEnabled", DefaultValue); + } + + public void SetValue(bool value) + { + IniFiles.F76Prefs.Set("MAIN", "bCrosshairEnabled", value); + } + + public void ResetValue() + { + SetValue(DefaultValue); + } + } +} diff --git a/Fo76ini/Tweaks/Interface/ShowDamageNumbersAdventureTweak.cs b/Fo76ini/Tweaks/Interface/ShowDamageNumbersAdventureTweak.cs new file mode 100644 index 0000000..2e15521 --- /dev/null +++ b/Fo76ini/Tweaks/Interface/ShowDamageNumbersAdventureTweak.cs @@ -0,0 +1,36 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Fo76ini.Tweaks.Interface +{ + class ShowDamageNumbersAdventureTweak : ITweak, ITweakInfo + { + public string Description => ""; + + public string AffectedFiles => "Fallout76Prefs.ini"; + + public string AffectedValues => "[Adventure]bShowDamageNumbers"; + + public bool DefaultValue => false; + + public string Identifier => this.GetType().FullName; + + public bool GetValue() + { + return IniFiles.GetBool("Adventure", "bShowDamageNumbers", DefaultValue); + } + + public void SetValue(bool value) + { + IniFiles.F76Prefs.Set("Adventure", "bShowDamageNumbers", value); + } + + public void ResetValue() + { + SetValue(DefaultValue); + } + } +} diff --git a/Fo76ini/Tweaks/Interface/ShowDamageNumbersNuclearWinterTweak.cs b/Fo76ini/Tweaks/Interface/ShowDamageNumbersNuclearWinterTweak.cs new file mode 100644 index 0000000..48d1616 --- /dev/null +++ b/Fo76ini/Tweaks/Interface/ShowDamageNumbersNuclearWinterTweak.cs @@ -0,0 +1,36 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Fo76ini.Tweaks.Interface +{ + class ShowDamageNumbersNuclearWinterTweak : ITweak, ITweakInfo + { + public string Description => ""; + + public string AffectedFiles => "Fallout76Prefs.ini"; + + public string AffectedValues => "[NuclearWinter]bShowDamageNumbers"; + + public bool DefaultValue => true; + + public string Identifier => this.GetType().FullName; + + public bool GetValue() + { + return IniFiles.GetBool("NuclearWinter", "bShowDamageNumbers", DefaultValue); + } + + public void SetValue(bool value) + { + IniFiles.F76Prefs.Set("NuclearWinter", "bShowDamageNumbers", value); + } + + public void ResetValue() + { + SetValue(DefaultValue); + } + } +} diff --git a/Fo76ini/Tweaks/Interface/ShowDialogueHistoryTweak.cs b/Fo76ini/Tweaks/Interface/ShowDialogueHistoryTweak.cs new file mode 100644 index 0000000..b0e730b --- /dev/null +++ b/Fo76ini/Tweaks/Interface/ShowDialogueHistoryTweak.cs @@ -0,0 +1,36 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Fo76ini.Tweaks.Interface +{ + class ShowDialogueHistoryTweak : ITweak, ITweakInfo + { + public string Description => ""; + + public string AffectedFiles => "Fallout76Prefs.ini"; + + public string AffectedValues => "[MAIN]bShowDialogueHistory"; + + public bool DefaultValue => false; + + public string Identifier => this.GetType().FullName; + + public bool GetValue() + { + return IniFiles.GetBool("MAIN", "bShowDialogueHistory", DefaultValue); + } + + public void SetValue(bool value) + { + IniFiles.F76Prefs.Set("MAIN", "bShowDialogueHistory", value); + } + + public void ResetValue() + { + SetValue(DefaultValue); + } + } +} \ No newline at end of file diff --git a/Fo76ini/Tweaks/Interface/ShowFloatingQuestMarkersTweak.cs b/Fo76ini/Tweaks/Interface/ShowFloatingQuestMarkersTweak.cs new file mode 100644 index 0000000..6e2acc1 --- /dev/null +++ b/Fo76ini/Tweaks/Interface/ShowFloatingQuestMarkersTweak.cs @@ -0,0 +1,36 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Fo76ini.Tweaks.Interface +{ + class ShowFloatingQuestMarkersTweak : ITweak, ITweakInfo + { + public string Description => ""; + + public string AffectedFiles => "Fallout76Prefs.ini"; + + public string AffectedValues => "[GamePlay]bShowFloatingQuestMarkers"; + + public bool DefaultValue => true; + + public string Identifier => this.GetType().FullName; + + public bool GetValue() + { + return IniFiles.GetBool("GamePlay", "bShowFloatingQuestMarkers", DefaultValue); + } + + public void SetValue(bool value) + { + IniFiles.F76Prefs.Set("GamePlay", "bShowFloatingQuestMarkers", value); + } + + public void ResetValue() + { + SetValue(DefaultValue); + } + } +} diff --git a/Fo76ini/Tweaks/Interface/ShowFloatingQuestTextTweak.cs b/Fo76ini/Tweaks/Interface/ShowFloatingQuestTextTweak.cs new file mode 100644 index 0000000..df9a95f --- /dev/null +++ b/Fo76ini/Tweaks/Interface/ShowFloatingQuestTextTweak.cs @@ -0,0 +1,36 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Fo76ini.Tweaks.Interface +{ + class ShowFloatingQuestTextTweak : ITweak, ITweakInfo + { + public string Description => ""; + + public string AffectedFiles => "Fallout76Prefs.ini"; + + public string AffectedValues => "[GamePlay]bShowFloatingQuestText"; + + public bool DefaultValue => true; + + public string Identifier => this.GetType().FullName; + + public bool GetValue() + { + return IniFiles.GetBool("GamePlay", "bShowFloatingQuestText", DefaultValue); + } + + public void SetValue(bool value) + { + IniFiles.F76Prefs.Set("GamePlay", "bShowFloatingQuestText", value); + } + + public void ResetValue() + { + SetValue(DefaultValue); + } + } +} diff --git a/Fo76ini/Tweaks/Interface/ShowOtherPlayersNamesTweak.cs b/Fo76ini/Tweaks/Interface/ShowOtherPlayersNamesTweak.cs new file mode 100644 index 0000000..bf1e3b9 --- /dev/null +++ b/Fo76ini/Tweaks/Interface/ShowOtherPlayersNamesTweak.cs @@ -0,0 +1,36 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Fo76ini.Tweaks.Interface +{ + class ShowOtherPlayersNamesTweak : ITweak, ITweakInfo + { + public string Description => ""; + + public string AffectedFiles => "Fallout76Prefs.ini"; + + public string AffectedValues => "[Display]bShowOtherPlayersNames"; + + public bool DefaultValue => true; + + public string Identifier => this.GetType().FullName; + + public bool GetValue() + { + return IniFiles.GetBool("Display", "bShowOtherPlayersNames", DefaultValue); + } + + public void SetValue(bool value) + { + IniFiles.F76Prefs.Set("Display", "bShowOtherPlayersNames", value); + } + + public void ResetValue() + { + SetValue(DefaultValue); + } + } +} diff --git a/Fo76ini/Tweaks/Interface/ShowPublicTeamNotificationsTweak.cs b/Fo76ini/Tweaks/Interface/ShowPublicTeamNotificationsTweak.cs new file mode 100644 index 0000000..d2849ba --- /dev/null +++ b/Fo76ini/Tweaks/Interface/ShowPublicTeamNotificationsTweak.cs @@ -0,0 +1,36 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Fo76ini.Tweaks.Interface +{ + class ShowPublicTeamNotificationsTweak : ITweak, ITweakInfo + { + public string Description => ""; + + public string AffectedFiles => "Fallout76Prefs.ini"; + + public string AffectedValues => "[GamePlay]bShowPublicTeamNotifications"; + + public bool DefaultValue => true; + + public string Identifier => this.GetType().FullName; + + public bool GetValue() + { + return IniFiles.GetBool("GamePlay", "bShowPublicTeamNotifications", DefaultValue); + } + + public void SetValue(bool value) + { + IniFiles.F76Prefs.Set("GamePlay", "bShowPublicTeamNotifications", value); + } + + public void ResetValue() + { + SetValue(DefaultValue); + } + } +} diff --git a/Fo76ini/Tweaks/LinkedTweaks.cs b/Fo76ini/Tweaks/LinkedTweaks.cs new file mode 100644 index 0000000..689a64c --- /dev/null +++ b/Fo76ini/Tweaks/LinkedTweaks.cs @@ -0,0 +1,329 @@ +using Fo76ini.Forms.Form1; +using Fo76ini.Tweaks.Video; +using Fo76ini.Utilities; +using System; +using System.Collections.Generic; +using System.Drawing; +using System.Linq; +using System.Windows.Forms; +using System.Xml.Linq; + +namespace Fo76ini.Tweaks +{ + /// + /// Links tweaks to control elements. Initializes them. + /// + public static class LinkedTweaks + { + private struct LinkedControl + { + public Control Control; + public ToolTip Tip; + } + + private static Dictionary LinkedTweakInfos = new Dictionary(); + public static Dictionary TranslatedDescriptions = new Dictionary(); + private static List SetValueActions = new List(); + + /// + /// Gets a list of names of control elements that have been linked to a tweak info. + /// + public static List GetListOfLinkedControlNames() + { + return LinkedTweakInfos.Keys + .Select(x => x.Control.Name) + .Where(x => x != "") + .ToList(); + } + + /// + /// (Re)sets all control values. + /// + public static void LoadValues() + { + foreach (Action action in SetValueActions) + action(); + } + + public static string BuildToolTipText(string description, string affectedFiles, string affectedValues) + { + string toolTipText = ""; + + if (description != null && description != "") + toolTipText += description; + + if ((description != null && description != "") && (affectedFiles != null && affectedFiles != "")) + toolTipText += "\n\n"; + + if (affectedValues != null && affectedValues != "") + toolTipText += Localization.GetString("affectedValues") + ": " + affectedValues; + + if ((affectedValues != null && affectedValues != "") && (affectedFiles != null && affectedFiles != "")) + toolTipText += "\n"; + + if (affectedFiles != null && affectedFiles != "") + toolTipText += Localization.GetString("affectedFiles") + ": " + affectedFiles; + + return toolTipText; + } + + private static void SetToolTip(ITweakInfo info, LinkedControl linkedControl) + { + string description = info.Description; + TranslatedDescriptions.TryGetValue(info.Identifier, out description); + linkedControl.Tip.SetToolTip(linkedControl.Control, BuildToolTipText(description, info.AffectedFiles, info.AffectedValues)); + } + + public static void SetToolTips() + { + foreach (var pair in LinkedTweakInfos) + SetToolTip(pair.Value, pair.Key); + } + + /// + /// Link a tweak to a control's tooltip. + /// + /// + /// + public static void LinkInfo(Control control, ToolTip tip, ITweakInfo tweakInfo) + { + LinkedControl linkedControl = new LinkedControl(); + linkedControl.Control = control; + linkedControl.Tip = tip; + LinkedTweakInfos.Add(linkedControl, tweakInfo); + + if (!TranslatedDescriptions.ContainsKey(tweakInfo.Identifier)) + TranslatedDescriptions[tweakInfo.Identifier] = tweakInfo.Description; + } + + public static XElement SerializeTweakDescriptionList() + { + XElement parent = new XElement("TweakDescriptions"); + foreach (var pair in TranslatedDescriptions) + if (pair.Value != "") + parent.Add(new XElement("Description", new XAttribute("id", pair.Key), pair.Value)); + return parent; + } + + public static void DeserializeTweakDescriptionList(XElement xmlDescriptionList) + { + foreach (XElement xmlDescription in xmlDescriptionList.Descendants("Description")) + { + string id = xmlDescription.Attribute("id").Value; + string desc = xmlDescription.Value; + TranslatedDescriptions[id] = desc; + } + } + + + /* + ************************************************************** + * Link control elements together + ************************************************************** + */ + + // Link slider to num and vice-versa + + public static void LinkSlider(TrackBar slider, NumericUpDown num, double numToSliderRatio) + { + LinkSlider(slider, num, numToSliderRatio, false); + } + + /// + /// Links the value of a TrackBar to a value of NumericUpDown and vice-versa. + /// Whenever the value of one changes, the other gets changed too. + /// + /// + /// + /// Because Trackbar can only have integers, you can use numToSliderRatio to work around it. slider.Value gets multiplied by numToSliderRatio and num.Value gets divided by numToSliderRatio. + /// Whether slider.Maximum should correlate with the minimum and vice-versa. + public static void LinkSlider(TrackBar slider, NumericUpDown num, double numToSliderRatio, bool reversed) + { + if (!reversed) + { + slider.ValueChanged += (object sender, EventArgs e) => num.Value = Convert.ToDecimal(slider.Value / numToSliderRatio); + num.ValueChanged += (object sender, EventArgs e) => slider.Value = Utils.Clamp(Convert.ToInt32(Convert.ToDouble(num.Value) * numToSliderRatio), slider.Minimum, slider.Maximum); + } + else + { + slider.ValueChanged += (object sender, EventArgs e) => num.Value = Convert.ToDecimal((slider.Maximum - slider.Value) / numToSliderRatio); + num.ValueChanged += (object sender, EventArgs e) => slider.Value = Utils.Clamp(Convert.ToInt32(slider.Maximum - Convert.ToDouble(num.Value) * numToSliderRatio), slider.Minimum, slider.Maximum); + } + } + + + /* + ************************************************************** + * Link *.ini tweaks to control elements + ************************************************************** + */ + + public static void LinkTweak(CheckBox checkBox, ITweak tweak) + { + SetValueActions.Add(() => checkBox.Checked = tweak.GetValue()); + checkBox.MouseClick += (object sender, MouseEventArgs e) => tweak.SetValue(checkBox.Checked); + } + + public static void LinkTweakNegated(CheckBox checkBox, ITweak tweak) + { + SetValueActions.Add(() => checkBox.Checked = !tweak.GetValue()); + checkBox.MouseClick += (object sender, MouseEventArgs e) => tweak.SetValue(!checkBox.Checked); + } + + public static void LinkTweak(RadioButton radioButtonTrue, RadioButton radioButtonFalse, ITweak tweak) + { + SetValueActions.Add(() => + { + if (tweak.GetValue()) + radioButtonTrue.Checked = true; + else + radioButtonFalse.Checked = true; + }); + radioButtonTrue.MouseClick += (object sender, MouseEventArgs e) => + { + if (radioButtonTrue.Checked) + tweak.SetValue(true); + }; + radioButtonFalse.MouseClick += (object sender, MouseEventArgs e) => + { + if (radioButtonFalse.Checked) + tweak.SetValue(false); + }; + } + + // TODO: This needs to be refined: + public static void LinkTweak(Dictionary radioButtons, ITweak tweak) + { + SetValueActions.Add(() => + { + RadioButton radioButton; + if (radioButtons.TryGetValue(tweak.GetValue(), out radioButton)) + radioButton.Checked = true; + }); + + // I have a really bad feeling about this: + foreach (var pair in radioButtons) + { + pair.Value.MouseClick += (object sender, MouseEventArgs e) => + { + if (pair.Value.Checked) + tweak.SetValue(pair.Key); + }; + } + } + + // TODO: This needs to be refined: + public static void LinkTweak(ComboBox comboBox, T[] associatedValues, ITweak tweak) + { + // TODO: This could potentially crash the tool on load: + if (comboBox.Items.Count != associatedValues.Length) + throw new ArgumentException("LinkTweak: comboBox has to have as many items as associatedValues has!"); + + SetValueActions.Add(() => + { + int index = Array.IndexOf(associatedValues, tweak.GetValue()); + int defaultIndex = Array.IndexOf(associatedValues, tweak.DefaultValue); + if (index > -1) + comboBox.SelectedIndex = index; + else if (defaultIndex > -1) + comboBox.SelectedIndex = defaultIndex; + else + throw new ArgumentException("LinkTweak: Couldn't assign a value to comboBox."); + }); + + comboBox.SelectionChangeCommitted += (object sender, EventArgs e) => + { + tweak.SetValue(associatedValues[comboBox.SelectedIndex]); + }; + } + + public static void LinkTweak(ComboBox comboBox, ITweak tweak) + { + SetValueActions.Add(() => comboBox.SelectedIndex = tweak.GetValue()); + comboBox.SelectionChangeCommitted += (object sender, EventArgs e) => tweak.SetValue(comboBox.SelectedIndex); + } + + public static void LinkTweak(ComboBox comboBox, IEnumTweak tweak) + { + SetValueActions.Add(() => comboBox.SelectedIndex = tweak.GetInt()); + comboBox.SelectionChangeCommitted += (object sender, EventArgs e) => tweak.SetInt(comboBox.SelectedIndex); + } + + public static void LinkTweak(NumericUpDown num, ITweak tweak) + { + SetValueActions.Add(() => num.Value = Utils.Clamp(tweak.GetValue(), Convert.ToInt32(num.Minimum), Convert.ToInt32(num.Maximum))); + num.ValueChanged += (object sender, EventArgs e) => tweak.SetValue(Convert.ToInt32(num.Value)); + } + + public static void LinkTweak(NumericUpDown num, ITweak tweak) + { + SetValueActions.Add(() => num.Value = Convert.ToDecimal(Utils.Clamp(tweak.GetValue(), Convert.ToSingle(num.Minimum), Convert.ToSingle(num.Maximum)))); + num.ValueChanged += (object sender, EventArgs e) => tweak.SetValue(Convert.ToSingle(num.Value)); + } + + public static void LinkTweak(TrackBar slider, ITweak tweak) + { + SetValueActions.Add(() => slider.Value = Utils.Clamp(tweak.GetValue(), Convert.ToInt32(slider.Minimum), Convert.ToInt32(slider.Maximum))); + slider.ValueChanged += (object sender, EventArgs e) => tweak.SetValue(slider.Value); + } + + public static void LinkTweak(TextBox textBox, ITweak tweak) + { + SetValueActions.Add(() => textBox.Text = tweak.GetValue()); + textBox.TextChanged += (object sender, EventArgs e) => tweak.SetValue(textBox.Text); + } + + /// + /// This is specific code for the Pipboy/Quickboy/Power armor color picker. + /// + /// This dialog opens when "Pick color" button has been clicked. + /// A picture box whose BackColor property gets set. + public static void LinkColor(Button pickColor, Button resetColor, ColorDialog colorDialog, ColorPreview preview, ITweak tweak) + { + SetValueActions.Add(() => preview.BackColor = tweak.GetValue()); + + preview.BackColorChanged += (object sender, EventArgs e) => + { + tweak.SetValue(preview.BackColor); + }; + + pickColor.Click += (object sender, EventArgs e) => + { + colorDialog.Color = tweak.GetValue(); + if (colorDialog.ShowDialog() == DialogResult.OK) + { + preview.BackColor = colorDialog.Color; + tweak.SetValue(colorDialog.Color); + } + }; + + resetColor.Click += (object sender, EventArgs e) => + { + tweak.ResetValue(); + preview.BackColor = tweak.GetValue(); + }; + } + + public static void LinkSize(NumericUpDown width, NumericUpDown height, ITweak tweak) + { + SetValueActions.Add(() => + { + Size size = tweak.GetValue(); + width.Value = size.Width; + height.Value = size.Height; + }); + + EventHandler sizeChanged = (object sender, EventArgs e) => + { + Size newSize = new Size( + Convert.ToInt32(width.Value), + Convert.ToInt32(height.Value) + ); + tweak.SetValue(newSize); + }; + + width.ValueChanged += sizeChanged; + height.ValueChanged += sizeChanged; + } + } +} diff --git a/Fo76ini/Tweaks/NuclearWinterMode/DeployModsOnNWModeTweak.cs b/Fo76ini/Tweaks/NuclearWinterMode/DeployModsOnNWModeTweak.cs new file mode 100644 index 0000000..fb49958 --- /dev/null +++ b/Fo76ini/Tweaks/NuclearWinterMode/DeployModsOnNWModeTweak.cs @@ -0,0 +1,36 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Fo76ini.Tweaks.NuclearWinterMode +{ + class DeployModsOnNWModeTweak : ITweak, ITweakInfo + { + public string Identifier => this.GetType().FullName; + + public string Description => "If checked, mods will be deployed when the Nuclear Winter mode is disabled."; + + public string AffectedFiles => "config.ini"; + + public string AffectedValues => "[NuclearWinter]bAutoDeployMods"; + + public bool DefaultValue => true; + + public bool GetValue() + { + return IniFiles.Config.GetBool("NuclearWinter", "bAutoDeployMods", DefaultValue); + } + + public void SetValue(bool value) + { + IniFiles.Config.Set("NuclearWinter", "bAutoDeployMods", value); + } + + public void ResetValue() + { + IniFiles.Config.Set("NuclearWinter", "bAutoDeployMods", DefaultValue); + } + } +} diff --git a/Fo76ini/Tweaks/NuclearWinterMode/RemoveModsOnNWModeTweak.cs b/Fo76ini/Tweaks/NuclearWinterMode/RemoveModsOnNWModeTweak.cs new file mode 100644 index 0000000..264475c --- /dev/null +++ b/Fo76ini/Tweaks/NuclearWinterMode/RemoveModsOnNWModeTweak.cs @@ -0,0 +1,36 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Fo76ini.Tweaks.NuclearWinterMode +{ + class RemoveModsOnNWModeTweak : ITweak, ITweakInfo + { + public string Identifier => this.GetType().FullName; + + public string Description => "If checked, mods will be removed when the Nuclear Winter mode is enabled."; + + public string AffectedFiles => "config.ini"; + + public string AffectedValues => "[NuclearWinter]bAutoDisableMods"; + + public bool DefaultValue => true; + + public bool GetValue() + { + return IniFiles.Config.GetBool("NuclearWinter", "bAutoDisableMods", DefaultValue); + } + + public void SetValue(bool value) + { + IniFiles.Config.Set("NuclearWinter", "bAutoDisableMods", value); + } + + public void ResetValue() + { + IniFiles.Config.Set("NuclearWinter", "bAutoDisableMods", DefaultValue); + } + } +} diff --git a/Fo76ini/Tweaks/NuclearWinterMode/RenameDLLsTweak.cs b/Fo76ini/Tweaks/NuclearWinterMode/RenameDLLsTweak.cs new file mode 100644 index 0000000..4840f7a --- /dev/null +++ b/Fo76ini/Tweaks/NuclearWinterMode/RenameDLLsTweak.cs @@ -0,0 +1,36 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Fo76ini.Tweaks.NuclearWinterMode +{ + class RenameDLLsTweak : ITweak, ITweakInfo + { + public string Identifier => this.GetType().FullName; + + public string Description => "If checked, any *.dll files that don't belong to the game will be renamed."; + + public string AffectedFiles => "config.ini"; + + public string AffectedValues => "[NuclearWinter]bRenameDLLs"; + + public bool DefaultValue => true; + + public bool GetValue() + { + return IniFiles.Config.GetBool("NuclearWinter", "bRenameDLLs", DefaultValue); + } + + public void SetValue(bool value) + { + IniFiles.Config.Set("NuclearWinter", "bRenameDLLs", value); + } + + public void ResetValue() + { + IniFiles.Config.Set("NuclearWinter", "bRenameDLLs", DefaultValue); + } + } +} diff --git a/Fo76ini/Tweaks/Pipboy/PipboyTargetResolution.cs b/Fo76ini/Tweaks/Pipboy/PipboyTargetResolution.cs new file mode 100644 index 0000000..6d58e4a --- /dev/null +++ b/Fo76ini/Tweaks/Pipboy/PipboyTargetResolution.cs @@ -0,0 +1,40 @@ +using System; +using System.Collections.Generic; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Fo76ini.Tweaks.Pipboy +{ + class PipboyTargetResolutionTweak : ITweak, ITweakInfo + { + public string Description => ""; + + public string AffectedFiles => "Fallout76Prefs.ini"; + + public string AffectedValues => "[Display]uPipboyTargetWidth, uPipboyTargetHeight"; + + public Size DefaultValue => new Size(876, 700); + + public string Identifier => this.GetType().FullName; + + public Size GetValue() + { + int width = IniFiles.GetInt("Display", "uPipboyTargetWidth", DefaultValue.Width); + int height = IniFiles.GetInt("Display", "uPipboyTargetHeight", DefaultValue.Height); + return new Size(width, height); + } + + public void SetValue(Size value) + { + IniFiles.F76Prefs.Set("Display", "uPipboyTargetWidth", value.Width); + IniFiles.F76Prefs.Set("Display", "uPipboyTargetHeight", value.Height); + } + + public void ResetValue() + { + SetValue(DefaultValue); + } + } +} diff --git a/Fo76ini/Tweaks/Pipboy/QuickboyModeEnabledTweak.cs b/Fo76ini/Tweaks/Pipboy/QuickboyModeEnabledTweak.cs new file mode 100644 index 0000000..4083603 --- /dev/null +++ b/Fo76ini/Tweaks/Pipboy/QuickboyModeEnabledTweak.cs @@ -0,0 +1,36 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Fo76ini.Tweaks.Pipboy +{ + class QuickboyModeEnabledTweak : ITweak, ITweakInfo + { + public string Description => ""; + + public string AffectedFiles => "Fallout76Prefs.ini"; + + public string AffectedValues => "[Pipboy]bQuickboyMode"; + + public bool DefaultValue => false; + + public string Identifier => this.GetType().FullName; + + public bool GetValue() + { + return IniFiles.GetBool("Pipboy", "bQuickboyMode", DefaultValue); + } + + public void SetValue(bool value) + { + IniFiles.F76Prefs.Set("Pipboy", "bQuickboyMode", value); + } + + public void ResetValue() + { + SetValue(DefaultValue); + } + } +} diff --git a/Fo76ini/Tweaks/ResourceLists/ResourceListTweak.cs b/Fo76ini/Tweaks/ResourceLists/ResourceListTweak.cs new file mode 100644 index 0000000..894c9c5 --- /dev/null +++ b/Fo76ini/Tweaks/ResourceLists/ResourceListTweak.cs @@ -0,0 +1,52 @@ +namespace Fo76ini.Tweaks.ResourceLists +{ + public class ResourceListTweak : ITweak, ITweakInfo + { + private string key; + + public ResourceListTweak(string key) + { + this.key = key; + } + + public static ResourceListTweak GetDefaultList() + { + return new ResourceListTweak("sResourceIndexFileList"); + } + + public static ResourceListTweak GetSResourceIndexFileList() + { + return new ResourceListTweak("sResourceIndexFileList"); + } + + public static ResourceListTweak GetSResourceArchive2List() + { + return new ResourceListTweak("sResourceArchive2List"); + } + + public string DefaultValue => ""; + + public string Description => "A string that contains resources, delimited by commas."; + + public string AffectedFiles => "Fallout76Custom.ini"; + + public string AffectedValues => key; + + public string Identifier => this.GetType().FullName; + + public string GetValue() + { + return IniFiles.F76Custom.GetString("Archive", key, DefaultValue); + } + + public void SetValue(string value) + { + IniFiles.F76Custom.Set("Archive", key, value); + } + + public void ResetValue() + { + IniFiles.F76Custom.Remove("Archive", key); + } + } +} diff --git a/Fo76ini/Tweaks/Video/DisplayModeTweak.cs b/Fo76ini/Tweaks/Video/DisplayModeTweak.cs new file mode 100644 index 0000000..6918357 --- /dev/null +++ b/Fo76ini/Tweaks/Video/DisplayModeTweak.cs @@ -0,0 +1,103 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Fo76ini.Tweaks.Video +{ + public enum DisplayMode + { + Fullscreen = 0, + Windowed = 1, + BorderlessWindowed = 2, + BorderlessFullscreen = 3 + } + + class DisplayModeTweak : ITweak, ITweakInfo, IEnumTweak + { + public string Description => String.Join( + Environment.NewLine, + "Changes the display mode.", + "", + "• Fullscreen: Real fullscreen mode (Best Performance)", + "• Windowed: Starts the game in a window with border (aka. window decoration).", + "• Borderless windowed: Allows you to painlessly Alt+Tab, but make sure the resolution matches your display's resolution. (Default)", + "• Borderless windowed (Fullscreen): Same as \"Borderless windowed\", but window will be maximized to fit your screen.", + "This will look pixelated, if the resolution is lower than your display, as it uses Nearest Neighbor to upscale it."); + + public string AffectedFiles => "Fallout76Prefs.ini"; + + public string AffectedValues => "[Display]bFull Screen, [Display]bBorderless, [Display]bMaximizeWindow"; + + public DisplayMode DefaultValue => DisplayMode.BorderlessWindowed; + + public string Identifier => this.GetType().FullName; + + // https://stackoverflow.com/a/16946496 + public int Count => Enum.GetNames(typeof(DisplayMode)).Length; + + public DisplayMode GetValue() + { + bool bFullScreen = IniFiles.GetBool("Display", "bFull Screen", false); + bool bBorderless = IniFiles.GetBool("Display", "bBorderless", true); + bool bMaximizeWindow = IniFiles.GetBool("Display", "bMaximizeWindow", false); + + if (bFullScreen) + return DisplayMode.Fullscreen; + else if (!bBorderless) + return DisplayMode.Windowed; + else if (bBorderless && !bMaximizeWindow) + return DisplayMode.BorderlessWindowed; + else + return DisplayMode.BorderlessFullscreen; + } + + public void SetValue(DisplayMode value) + { + bool bFullScreen, bBorderless, bMaximizeWindow; + switch (value) + { + case DisplayMode.Fullscreen: + bBorderless = true; + bFullScreen = true; + bMaximizeWindow = false; + break; + case DisplayMode.Windowed: + bBorderless = false; + bFullScreen = false; + bMaximizeWindow = false; + break; + case DisplayMode.BorderlessFullscreen: + bBorderless = true; + bFullScreen = false; + bMaximizeWindow = true; + break; + case DisplayMode.BorderlessWindowed: + default: + bBorderless = true; + bFullScreen = false; + bMaximizeWindow = false; + break; + } + IniFiles.F76Prefs.Set("Display", "bFull Screen", bFullScreen); + IniFiles.F76Prefs.Set("Display", "bBorderless", bBorderless); + IniFiles.F76Prefs.Set("Display", "bMaximizeWindow", bMaximizeWindow); + } + + public void ResetValue() + { + SetValue(DefaultValue); + } + + public int GetInt() + { + return (int)GetValue(); + } + + public void SetInt(int value) + { + SetValue((DisplayMode)value); + } + } +} diff --git a/Fo76ini/Tweaks/Video/DisplaySizeTweak.cs b/Fo76ini/Tweaks/Video/DisplaySizeTweak.cs new file mode 100644 index 0000000..c7517f9 --- /dev/null +++ b/Fo76ini/Tweaks/Video/DisplaySizeTweak.cs @@ -0,0 +1,41 @@ +using System; +using System.Collections.Generic; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Fo76ini.Tweaks.Video +{ + class DisplaySizeTweak : ITweak, ITweakInfo + { + public string Description => "Display resolution"; + + public string AffectedFiles => "Fallout76Prefs.ini"; + + public string AffectedValues => "[Display]iSize W, [Display]iSize H"; + + public Size DefaultValue => new Size(1920, 1080); + + public string Identifier => this.GetType().FullName; + + public Size GetValue() + { + int w = IniFiles.GetInt("Display", "iSize W", DefaultValue.Width); + int h = IniFiles.GetInt("Display", "iSize H", DefaultValue.Height); + return new Size(w, h); + } + + public void SetValue(Size value) + { + // TODO: Put iSizeW and iSizeH into Fallout76Custom.ini instead of Prefs.ini: https://www.reddit.com/r/fo76/comments/9z6jan/if_you_change_your_resolution_in/ + IniFiles.F76Prefs.Set("Display", "iSize W", value.Width); + IniFiles.F76Prefs.Set("Display", "iSize H", value.Height); + } + + public void ResetValue() + { + SetValue(DefaultValue); + } + } +} diff --git a/Fo76ini/Tweaks/Video/PresentIntervalTweak.cs b/Fo76ini/Tweaks/Video/PresentIntervalTweak.cs new file mode 100644 index 0000000..629f3f2 --- /dev/null +++ b/Fo76ini/Tweaks/Video/PresentIntervalTweak.cs @@ -0,0 +1,59 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Fo76ini.Tweaks.Video +{ + // From what I've read on the interwebzz, this might not actually be VSync but a fps cap, which is determined this way: Monitor refresh rate divided by iPresentInterval + // A 120 Hz monitor and iPresentInterval set to 2 will result in a 60fps cap: 120Hz / 2 = 60 fps + // + // For some reason though, setting it to 2 or 3 causes a black screen or the game just flat out crashes to desktop. + // The majority links iPresentInterval directly to vertical synchronization. + // + // My question is this: If VSync is more like an on/off setting (like a boolean), why is iPresentInterval a signed integer then? Wouldn't "bPresentInterval" or "bVSync" be more reasonable? + // Just my two cents... + + class PresentIntervalTweak : ITweak, ITweakInfo + { + public string Description => String.Join( + Environment.NewLine, + "Disabling this will uncap the frame rate.", + "", + "• Enable this if you experience screen tearing.", + "• Disable this if you experience input lag.", + "", + "⚠️ Enabling this might NOT get rid of screen tearing.", + "⚠️ If you disable this, it is recommended to cap the game to 60 FPS manually. (e.g. using NVIDIA's Control Panel)", + "", + "ℹ️ Uncapped frame rate shouldn't make the physics go haywire like in older titles,", + "as this has been fixed by Bethesda quite a while ago (in 2018).", + "Capping it to 60 is recommended nonetheless."); + + public string AffectedFiles => "Fallout76Prefs.ini"; + + public string AffectedValues => "[Display]iPresentInterval"; + + public bool DefaultValue => true; + + public string Identifier => this.GetType().FullName; + + public bool GetValue() + { + int val = IniFiles.GetInt("Display", "iPresentInterval", DefaultValue ? 1 : 0); + return val > 0; + } + + public void SetValue(bool value) + { + IniFiles.F76Prefs.Set("Display", "iPresentInterval", value ? 1 : 0); + // TODO: IniFiles.F76Custom.Remove("Display", "iPresentInterval"); + } + + public void ResetValue() + { + SetValue(DefaultValue); + } + } +} diff --git a/Fo76ini/Tweaks/Video/TopMostWindowTweak.cs b/Fo76ini/Tweaks/Video/TopMostWindowTweak.cs new file mode 100644 index 0000000..7738f41 --- /dev/null +++ b/Fo76ini/Tweaks/Video/TopMostWindowTweak.cs @@ -0,0 +1,38 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Fo76ini.Tweaks.Video +{ + class TopMostWindowTweak : ITweak, ITweakInfo + { + public string Description => + "Enabling this, will keep the game's window in the foreground.\n" + + "⚠️ This will prevent you from being able to Alt+Tab on single monitors."; + + public string AffectedFiles => "Fallout76Prefs.ini"; + + public string AffectedValues => "[Display]bTopMostWindow"; + + public bool DefaultValue => false; + + public string Identifier => this.GetType().FullName; + + public bool GetValue() + { + return IniFiles.GetBool("Display", "bTopMostWindow", DefaultValue); + } + + public void SetValue(bool value) + { + IniFiles.F76Prefs.Set("Display", "bTopMostWindow", value); + } + + public void ResetValue() + { + SetValue(DefaultValue); + } + } +} diff --git a/Fo76ini/Tweaks/Video/WindowAlwaysActiveTweak.cs b/Fo76ini/Tweaks/Video/WindowAlwaysActiveTweak.cs new file mode 100644 index 0000000..0e51ec1 --- /dev/null +++ b/Fo76ini/Tweaks/Video/WindowAlwaysActiveTweak.cs @@ -0,0 +1,36 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Fo76ini.Tweaks.Video +{ + class WindowAlwaysActiveTweak : ITweak, ITweakInfo + { + public string Description => "Disable this, if you want the game to pause if another window is in front."; + + public string AffectedFiles => "Fallout76Custom.ini"; + + public string AffectedValues => "[Interface]bAlwaysActive"; + + public bool DefaultValue => true; + + public string Identifier => this.GetType().FullName; + + public bool GetValue() + { + return IniFiles.GetBool("Interface", "bAlwaysActive", DefaultValue); + } + + public void SetValue(bool value) + { + IniFiles.F76Custom.Set("Interface", "bAlwaysActive", value); + } + + public void ResetValue() + { + SetValue(DefaultValue); + } + } +} diff --git a/Fo76ini/Tweaks/Volume/AudioMenuValTweak.cs b/Fo76ini/Tweaks/Volume/AudioMenuValTweak.cs new file mode 100644 index 0000000..31929a7 --- /dev/null +++ b/Fo76ini/Tweaks/Volume/AudioMenuValTweak.cs @@ -0,0 +1,45 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Fo76ini.Tweaks.Volume +{ + class AudioMenuValTweak : ITweak, ITweakInfo + { + public AudioMenuValTweak(string keySuffix, string soundFxName) + { + Suffix = keySuffix; + SoundFX = soundFxName; + } + + private string Suffix; + private string SoundFX; + + public string Description => $"Changes the volume of '{SoundFX}'"; + + public string AffectedFiles => "Fallout76Prefs.ini"; + + public string AffectedValues => $"[AudioMenu]fVal{Suffix}"; + + public float DefaultValue => 1.0f; + + public string Identifier => this.GetType().FullName + $"+fVal{Suffix}"; + + public float GetValue() + { + return IniFiles.GetFloat("AudioMenu", $"fVal{Suffix}", DefaultValue); + } + + public void SetValue(float value) + { + IniFiles.F76Prefs.Set("AudioMenu", $"fVal{Suffix}", value); + } + + public void ResetValue() + { + SetValue(DefaultValue); + } + } +} diff --git a/Fo76ini/Tweaks/Volume/MasterVolumeTweak.cs b/Fo76ini/Tweaks/Volume/MasterVolumeTweak.cs new file mode 100644 index 0000000..17a794f --- /dev/null +++ b/Fo76ini/Tweaks/Volume/MasterVolumeTweak.cs @@ -0,0 +1,36 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Fo76ini.Tweaks.Volume +{ + class MasterVolumeTweak : ITweak, ITweakInfo + { + public string Description => ""; + + public string AffectedFiles => "Fallout76Prefs.ini"; + + public string AffectedValues => "[AudioMenu]fAudioMasterVolume"; + + public float DefaultValue => 1.0f; + + public string Identifier => this.GetType().FullName; + + public float GetValue() + { + return IniFiles.GetFloat("AudioMenu", "fAudioMasterVolume", DefaultValue); + } + + public void SetValue(float value) + { + IniFiles.F76Prefs.Set("AudioMenu", "fAudioMasterVolume", value); + } + + public void ResetValue() + { + SetValue(DefaultValue); + } + } +} diff --git a/Fo76ini/Tweaks/Volume/VivoxVoiceVolumeTweak.cs b/Fo76ini/Tweaks/Volume/VivoxVoiceVolumeTweak.cs new file mode 100644 index 0000000..685d2c4 --- /dev/null +++ b/Fo76ini/Tweaks/Volume/VivoxVoiceVolumeTweak.cs @@ -0,0 +1,36 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Fo76ini.Tweaks.Volume +{ + class VivoxVoiceVolumeTweak : ITweak, ITweakInfo + { + public string Description => ""; + + public string AffectedFiles => "Fallout76Prefs.ini"; + + public string AffectedValues => "[Voice]uVivoxVoiceVolume"; + + public int DefaultValue => 100; + + public string Identifier => this.GetType().FullName; + + public int GetValue() + { + return IniFiles.GetInt("Voice", "uVivoxVoiceVolume", DefaultValue); + } + + public void SetValue(int value) + { + IniFiles.F76Prefs.Set("Voice", "uVivoxVoiceVolume", value); + } + + public void ResetValue() + { + SetValue(DefaultValue); + } + } +} diff --git a/Fo76ini/Mods/Archive2.cs b/Fo76ini/Utilities/Archive2.cs similarity index 70% rename from Fo76ini/Mods/Archive2.cs rename to Fo76ini/Utilities/Archive2.cs index 01230a5..d08673b 100644 --- a/Fo76ini/Mods/Archive2.cs +++ b/Fo76ini/Utilities/Archive2.cs @@ -1,26 +1,22 @@ using System; -using System.Collections.Generic; using System.Diagnostics; using System.IO; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -namespace Fo76ini.Mods +namespace Fo76ini.Utilities { public class Archive2 { - public static Log logFile; - private static String archive2Path = ".\\Archive2\\Archive2.exe"; + public static Log LogFile; + private static string archive2Path = ".\\Archive2\\Archive2.exe"; - public static String Archive2Path + public static string Archive2Path { get { return Archive2.archive2Path; } } static Archive2() { - logFile = new Log(Log.GetFilePath("archive2.log.txt")); + LogFile = new Log(Log.GetFilePath("archive2.log.txt")); } public enum Compression @@ -44,7 +40,7 @@ public struct Preset public Archive2.Format format; } - public static Archive2.Compression GetCompression(String compressionStr) + public static Archive2.Compression GetCompression(string compressionStr) { switch (compressionStr) { @@ -59,7 +55,7 @@ public static Archive2.Compression GetCompression(String compressionStr) } } - public static Archive2.Format GetFormat(String formatStr) + public static Archive2.Format GetFormat(string formatStr) { switch (formatStr) { @@ -76,15 +72,15 @@ public static Archive2.Format GetFormat(String formatStr) } } - private static void Call(String arguments) + private static void Call(string arguments) { if (!Archive2.ValidatePath()) throw new Archive2Exception("Path to Archive2.exe not specified or Archive2.exe not found."); using (Process proc = new Process()) { - logFile.WriteTimeStamp(); - logFile.WriteLine($">> Archive2.exe {arguments}"); + LogFile.WriteTimeStamp(); + LogFile.WriteLine($">> Archive2.exe {arguments}"); proc.StartInfo.UseShellExecute = false; // = true proc.StartInfo.RedirectStandardOutput = true; // // ... proc.StartInfo.RedirectStandardError = true; // // ... @@ -94,13 +90,20 @@ private static void Call(String arguments) proc.Start(); //MessageBox.Show(/*proc.StandardOutput.ReadToEnd(), */$"Archive2.exe {arguments}"); - logFile.WriteLine(proc.StandardOutput.ReadToEnd()); - logFile.WriteLine(proc.StandardError.ReadToEnd()); + /*logFile.WriteLine(proc.StandardOutput.ReadToEnd()); + logFile.WriteLine(proc.StandardError.ReadToEnd());*/ + + string output = proc.StandardOutput.ReadToEnd() + "\n" + proc.StandardError.ReadToEnd(); + LogFile.WriteLine(output); proc.WaitForExit(); + + // System.IO.FileNotFoundException: Could not load file or assembly 'Archive2Interop.dll' + if (output.Contains("System.IO.FileNotFoundException:") && output.Contains("'Archive2Interop.dll'")) + throw new Archive2RequirementsException("System.IO.FileNotFoundException: Could not load file or assembly 'Archive2Interop.dll'. 'Visual C++ Redistributable for Visual Studio 2012 Update 4' is likely not installed."); } } - private static void CallParallel(String arguments) + private static void CallParallel(string arguments) { if (!Archive2.ValidatePath()) throw new Archive2Exception("Path to Archive2.exe not specified or Archive2.exe not found."); @@ -115,7 +118,7 @@ private static void CallParallel(String arguments) } } - public static void Extract(String ba2Archive, String outputFolder) + public static void Extract(string ba2Archive, string outputFolder) { Archive2.Call($"\"{ba2Archive}\" -extract=\"{outputFolder}\" -quiet"); @@ -125,7 +128,7 @@ public static void Extract(String ba2Archive, String outputFolder) throw new Archive2Exception("Extraction failed, folder is empty."); } - public static void Explore(String ba2Archive) + public static void Explore(string ba2Archive) { Archive2.CallParallel($"\"{ba2Archive}\""); } @@ -135,23 +138,23 @@ public static void Explore() Archive2.CallParallel(""); } - public static void Create(String ba2Archive, String folder) + public static void Create(string ba2Archive, string folder) { Archive2.Create(ba2Archive, folder, Archive2.Compression.Default, Archive2.Format.General); } - public static void Create(String ba2Archive, String folder, Archive2.Preset preset) + public static void Create(string ba2Archive, string folder, Archive2.Preset preset) { Archive2.Create(ba2Archive, folder, preset.compression, preset.format); } - public static void Create(String ba2Archive, String folder, Archive2.Compression compression, Archive2.Format format) + public static void Create(string ba2Archive, string folder, Archive2.Compression compression, Archive2.Format format) { if (!Directory.Exists(folder) || Utils.IsDirectoryEmpty(folder)) throw new DirectoryNotFoundException($"The specified folder \"{folder}\" does not exist or is empty."); - String compressionStr = Enum.GetName(typeof(Archive2.Compression), (int)compression); - String formatStr = Enum.GetName(typeof(Archive2.Format), (int)format); + string compressionStr = Enum.GetName(typeof(Archive2.Compression), (int)compression); + string formatStr = Enum.GetName(typeof(Archive2.Format), (int)format); folder = Path.GetFullPath(folder); Archive2.Call($"\"{folder}\" -create=\"{ba2Archive}\" -compression={compressionStr} -format={formatStr} -root=\"{folder}\" -tempFiles -quiet"); @@ -159,7 +162,7 @@ public static void Create(String ba2Archive, String folder, Archive2.Compression throw new Archive2Exception("Packing failed, archive has not been created."); } - public static bool ValidatePath(String path) + public static bool ValidatePath(string path) { return path != null && File.Exists(path) && path.EndsWith(".exe"); } @@ -176,4 +179,11 @@ public Archive2Exception() { } public Archive2Exception(string message) : base(message) { } public Archive2Exception(string message, Exception inner) : base(message, inner) { } } + + public class Archive2RequirementsException : Archive2Exception + { + public Archive2RequirementsException() { } + public Archive2RequirementsException(string message) : base(message) { } + public Archive2RequirementsException(string message, Exception inner) : base(message, inner) { } + } } diff --git a/Fo76ini/ClipboardUtils.cs b/Fo76ini/Utilities/ClipboardUtils.cs similarity index 87% rename from Fo76ini/ClipboardUtils.cs rename to Fo76ini/Utilities/ClipboardUtils.cs index c37eb56..c8e4fcb 100644 --- a/Fo76ini/ClipboardUtils.cs +++ b/Fo76ini/Utilities/ClipboardUtils.cs @@ -5,12 +5,12 @@ using System.Linq; using System.Windows.Forms; -namespace Fo76ini +namespace Fo76ini.Utilities { // https://stackoverflow.com/questions/2077981/cut-files-to-clipboard-in-c-sharp public class ClipboardUtils { - public static void CopyFile(String file) + public static void CopyFile(string file) { FileSystemInfo fsinfo = null; if (File.Exists(file)) @@ -23,7 +23,7 @@ public static void CopyFile(String file) DragDropEffects.Copy); } - public static void CutFile(String file) + public static void CutFile(string file) { FileSystemInfo fsinfo = null; if (File.Exists(file)) @@ -36,24 +36,24 @@ public static void CutFile(String file) DragDropEffects.Move); } - public static void CopyFiles(IEnumerable filesAndFolders) + public static void CopyFiles(IEnumerable filesAndFolders) { ClipboardUtils.PutFilesOnClipboard( ClipboardUtils.GetFileSystemInfoList(filesAndFolders), DragDropEffects.Copy); } - public static void CutFiles(IEnumerable filesAndFolders) + public static void CutFiles(IEnumerable filesAndFolders) { ClipboardUtils.PutFilesOnClipboard( ClipboardUtils.GetFileSystemInfoList(filesAndFolders), DragDropEffects.Move); } - private static List GetFileSystemInfoList (IEnumerable filesAndFolders) + private static List GetFileSystemInfoList(IEnumerable filesAndFolders) { List fileSystemInfos = new List(); - foreach (String fileOrFolder in filesAndFolders) + foreach (string fileOrFolder in filesAndFolders) { FileSystemInfo fsinfo = null; diff --git a/Fo76ini/Log.cs b/Fo76ini/Utilities/Log.cs similarity index 68% rename from Fo76ini/Log.cs rename to Fo76ini/Utilities/Log.cs index 94d3a75..80c3738 100644 --- a/Fo76ini/Log.cs +++ b/Fo76ini/Utilities/Log.cs @@ -1,17 +1,13 @@ using System; -using System.Collections.Generic; using System.IO; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -namespace Fo76ini +namespace Fo76ini.Utilities { public class Log { - private String path; + private string path; - public Log(String path) + public Log(string path) { this.path = Path.GetFullPath(path); } @@ -36,30 +32,30 @@ public void WriteLine(T line) sw.WriteLine(line); } - public void WriteFormat(String line, params String[] values) + public void WriteFormat(string line, params string[] values) { using (StreamWriter sw = Open()) - sw.Write(String.Format(line, values)); + sw.Write(string.Format(line, values)); } - public void WriteLineFormat(String line, params String[] values) + public void WriteLineFormat(string line, params string[] values) { using (StreamWriter sw = Open()) - sw.WriteLine(String.Format(line, values)); + sw.WriteLine(string.Format(line, values)); } - public void WriteTimeStamp(String suffix = "") + public void WriteTimeStamp(string suffix = "") { using (StreamWriter sw = Open()) sw.WriteLine($"{ DateTime.Now.ToLongDateString()}, { DateTime.Now.ToLongTimeString()} {suffix}"); } - public String GetFilePath() + public string GetFilePath() { return path; } - public static String GetFilePath(String fileName) + public static string GetFilePath(string fileName) { // return Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments), "Fallout 76 Quick Configuration", fileName); return Path.Combine(Shared.AppConfigFolder, fileName); diff --git a/Fo76ini/Utilities/RichTextBoxExtensions.cs b/Fo76ini/Utilities/RichTextBoxExtensions.cs new file mode 100644 index 0000000..7095ad0 --- /dev/null +++ b/Fo76ini/Utilities/RichTextBoxExtensions.cs @@ -0,0 +1,34 @@ +using System; +using System.Collections.Generic; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; + +namespace Fo76ini.Utilities +{ + public static class RichTextBoxExtensions + { + public static void AppendRichText(this RichTextBox box, string text, bool appendNewLine = false, Color? foreColor = null, Color? backColor = null, Font font = null) + { + box.SelectionStart = box.TextLength; + box.SelectionLength = 0; + + Font originalFont = box.SelectionFont; + if (foreColor != null) + box.SelectionColor = (Color)foreColor; + if (backColor != null) + box.SelectionBackColor = (Color)backColor; + if (font != null) + box.SelectionFont = font; + box.AppendText( + appendNewLine + ? $"{text}{Environment.NewLine}" + : text); + box.SelectionColor = box.ForeColor; + box.SelectionBackColor = box.BackColor; + box.SelectionFont = originalFont; + } + } +} diff --git a/Fo76ini/Utils.cs b/Fo76ini/Utilities/Utils.cs similarity index 74% rename from Fo76ini/Utils.cs rename to Fo76ini/Utilities/Utils.cs index 667880e..1a71617 100644 --- a/Fo76ini/Utils.cs +++ b/Fo76ini/Utilities/Utils.cs @@ -1,28 +1,33 @@ using System; using System.Collections.Generic; using System.Diagnostics; +using System.Drawing; +using System.Drawing.Drawing2D; +using System.Drawing.Imaging; +using System.Globalization; using System.IO; using System.Linq; -using System.Text; -using System.Threading.Tasks; - - using System.Runtime.InteropServices; -using System.Windows.Forms; using System.Threading; -using System.Globalization; -using System.Drawing; -using System.Drawing.Imaging; +using System.Windows.Forms; using Tulpep.NotificationWindow; -using System.Drawing.Drawing2D; -namespace Fo76ini +namespace Fo76ini.Utilities { - class Utils + public static class Utils { public static CultureInfo enUS = CultureInfo.CreateSpecificCulture("en-US"); - public static String SevenZipPath = Path.GetFullPath(".\\7z\\7za.exe"); + public static string SevenZipPath = Path.GetFullPath(".\\7z\\7z.exe"); + public static readonly string[] SevenZipSupportedFileTypes = new string[] { + ".7z", + ".zip", + ".rar", + ".tar", + ".xz", + ".gz", + ".bz2" + }; /// /// Returns a path relative to "workingDirectory". @@ -67,7 +72,7 @@ public static string MakeRelativePath(string workingDirectory, string fullPath) // we go a few levels back: if (workingDirectory.StartsWith(fullPath)) { - return String.Concat(Enumerable.Repeat("..\\", baseDirs.Length - fileDirs.Length)); + return string.Concat(Enumerable.Repeat("..\\", baseDirs.Length - fileDirs.Length)); } // skip all leading directories that match @@ -102,7 +107,6 @@ public static string MakeRelativePath(string workingDirectory, string fullPath) public static void DeleteDirectory(string targetDir) { // https://stackoverflow.com/questions/1157246/unauthorizedaccessexception-trying-to-delete-a-file-in-a-folder-where-i-can-dele - IniFiles.Instance.SetNTFSWritePermission(true); File.SetAttributes(targetDir, FileAttributes.Normal); string[] files = Directory.GetFiles(targetDir); @@ -128,9 +132,9 @@ public static void DeleteFile(string targetFile) File.Delete(targetFile); } - public static String GetValidFileName(string value, string extension = "") + public static string GetValidFileName(string value, string extension = "") { - String newName = ""; + string newName = ""; if (value.Trim().Length < 0) { newName = "untitled"; @@ -155,7 +159,7 @@ public static String GetValidFileName(string value, string extension = "") /// /// /// - public static String GetUniquePath(string fullPath) + public static string GetUniquePath(string fullPath) { // https://stackoverflow.com/a/13049909 int count = 1; @@ -187,15 +191,15 @@ public static long GetSizeInBytes(string path) long totalFolderSize = 0; - IEnumerable files = Directory.GetFiles(path); - foreach (String filePath in files) + IEnumerable files = Directory.GetFiles(path); + foreach (string filePath in files) { FileInfo info = new FileInfo(filePath); totalFolderSize += info.Length; } - IEnumerable folders = Directory.GetDirectories(path); - foreach (String folderPath in folders) + IEnumerable folders = Directory.GetDirectories(path); + foreach (string folderPath in folders) { totalFolderSize += GetSizeInBytes(folderPath); } @@ -205,7 +209,10 @@ public static long GetSizeInBytes(string path) // https://stackoverflow.com/questions/281640/how-do-i-get-a-human-readable-file-size-in-bytes-abbreviation-using-net // Copy-paste because, I'm lazy. Don't jugde me! :P - public static String GetFormatedSize(long size) + /// + /// Formats size in bytes into a string. + /// + public static string GetFormatedSize(long size) { string[] sizes = { "B", "KB", "MB", "GB", "TB" }; double len = (double)size; @@ -216,7 +223,7 @@ public static String GetFormatedSize(long size) len = len / 1024; } - return String.Format("{0:0.#} {1}", len, sizes[order]); + return string.Format("{0:0.#} {1}", len, sizes[order]); } /// @@ -236,7 +243,7 @@ public static T Clamp(T val, T min, T max) where T : IComparable else return val; } - public static void OpenExplorer(String path) + public static void OpenExplorer(string path) { // https://www.codeproject.com/Questions/852563/How-to-open-file-explorer-at-given-location-in-csh @@ -256,7 +263,7 @@ public static void OpenExplorer(String path) } } - public static void OpenNotepad(String path) + public static void OpenNotepad(string path) { if (File.Exists(path)) { @@ -273,10 +280,34 @@ public static void OpenNotepad(String path) } } + public static void OpenFile(string path) + { + if (File.Exists(path)) + { + ProcessStartInfo startInfo = new ProcessStartInfo(path) + { + UseShellExecute = true + }; + Process.Start(startInfo); + } + else + { + throw new FileNotFoundException($"File \"{path}\" does not exist!"); + } + } + + public static void OpenURL(string url) + { + Process.Start(url); + } + public static void ExtractArchive(string sourceArchive, string destination) { if (!File.Exists(Utils.SevenZipPath)) - throw new FileNotFoundException("7z\\7za.exe could not be found."); + throw new FileNotFoundException("7z\\7z.exe could not be found."); + + if (!Utils.SevenZipSupportedFileTypes.Contains(Path.GetExtension(sourceArchive).ToLower())) + throw new NotSupportedException($"{Path.GetExtension(sourceArchive)} archives are not supported."); ProcessStartInfo proc = new ProcessStartInfo(); proc.WindowStyle = ProcessWindowStyle.Hidden; @@ -284,6 +315,9 @@ public static void ExtractArchive(string sourceArchive, string destination) proc.Arguments = string.Format("x \"{0}\" -y -o\"{1}\"", sourceArchive, destination); Process x = Process.Start(proc); x.WaitForExit(); + + if (!Directory.Exists(destination) || Directory.EnumerateFileSystemEntries(destination).Count() == 0) + throw new FileNotFoundException($"Something went wrong:\n{x.StandardOutput.ReadToEnd()}"); } public static bool IsDirectoryEmpty(string path) @@ -300,7 +334,7 @@ public static bool IsDirectoryEmpty(string path) * https://docs.microsoft.com/de-de/windows/win32/api/winuser/nf-winuser-enumdisplaysettingsa?redirectedfrom=MSDN */ - [DllImport("user32.dll")] + [DllImport("user32.dll")] private static extern bool EnumDisplaySettings( string deviceName, int modeNum, ref DEVMODE devMode); private const int ENUM_CURRENT_SETTINGS = -1; @@ -361,10 +395,10 @@ public static int GetDisplayRefreshRate() return vDevMode.dmDisplayFrequency; } - public static int[] GetDisplayResolution() + public static Size GetDisplayResolution() { DEVMODE vDevMode = Utils.GetDisplayInfo(); - return new int[] { vDevMode.dmPelsWidth, vDevMode.dmPelsHeight }; + return new Size(vDevMode.dmPelsWidth, vDevMode.dmPelsHeight); } @@ -385,25 +419,36 @@ public static int ToInt(string num) return Convert.ToInt32(Convert.ToDecimal(num, enUS)); // "0.0" => (int)0 } - public static String ToString(float num) + public static long ToLong(string num) + { + return Convert.ToInt64(Convert.ToDecimal(num, enUS)); // "0.0" => (int)0 + } + + public static string ToString(float num) { Thread.CurrentThread.CurrentCulture = enUS; return num.ToString("F99").TrimEnd('0').TrimEnd('.'); } - public static String ToString(double num) + public static string ToString(double num) { Thread.CurrentThread.CurrentCulture = enUS; return num.ToString("F99").TrimEnd('0').TrimEnd('.'); } - public static String ToString(int num) + public static string ToString(long num) + { + Thread.CurrentThread.CurrentCulture = enUS; + return num.ToString("D"); + } + + public static string ToString(int num) { Thread.CurrentThread.CurrentCulture = enUS; return num.ToString("D"); } - public static String ToString(uint num) + public static string ToString(uint num) { Thread.CurrentThread.CurrentCulture = enUS; return num.ToString("D"); @@ -420,10 +465,10 @@ public static void SetFormPosition(Form form, int x, int y) form.Location = new Point(x, y); } - public static List ParseVersion(String versionString) + public static List ParseVersion(string versionString) { List version = new List(); - foreach (String chunk in versionString.Trim().Split(new char[] { 'v', '.', 'h', ' ' }, StringSplitOptions.RemoveEmptyEntries)) + foreach (string chunk in versionString.Trim().Split(new char[] { 'v', '.', 'h', ' ' }, StringSplitOptions.RemoveEmptyEntries)) { bool isNumeric = int.TryParse(chunk.Trim(), out int n); if (isNumeric) @@ -436,7 +481,7 @@ public static List ParseVersion(String versionString) return version; // "1.3.1h2" => { 1, 3, 1, 2 } } - public static int CompareVersions(String ver1Str, String ver2Str) + public static int CompareVersions(string ver1Str, string ver2Str) { var ver1 = ParseVersion(ver1Str); var ver2 = ParseVersion(ver2Str); @@ -450,7 +495,7 @@ public static int CompareVersions(String ver1Str, String ver2Str) } - public static PopupNotifier CreatePopup (String title, String text) + public static PopupNotifier CreatePopup(string title, string text) { // https://www.c-sharpcorner.com/article/working-with-popup-notification-in-windows-forms/ // https://github.com/Tulpep/Notification-Popup-Window @@ -483,7 +528,7 @@ public static PopupNotifier CreatePopup (String title, String text) return popup; } - public static PopupNotifier CreatePopup(String title, String text, MessageBoxIcon icon) + public static PopupNotifier CreatePopup(string title, string text, MessageBoxIcon icon) { var popup = Utils.CreatePopup(title, text); switch (icon) @@ -524,12 +569,12 @@ private static extern bool CreateHardLink( IntPtr lpSecurityAttributes ); - public static bool CreateHardLink(String originalFilePath, String newLinkPath) + public static bool CreateHardLink(string originalFilePath, string newLinkPath) { return Utils.CreateHardLink(newLinkPath, originalFilePath, IntPtr.Zero); } - public static bool CreateHardLink(String originalFilePath, String newLinkPath, bool overwrite) + public static bool CreateHardLink(string originalFilePath, string newLinkPath, bool overwrite) { if (File.Exists(newLinkPath)) { @@ -557,21 +602,20 @@ public static ImageCodecInfo GetImageEncoder(ImageFormat format) // https://stackoverflow.com/questions/2808887/create-thumbnail-image // https://stackoverflow.com/questions/1940581/c-sharp-image-resizing-to-different-size-while-preserving-aspect-ratio // https://stackoverflow.com/questions/1484759/quality-of-a-saved-jpg-in-c-sharp - /* - * Creates an thumbnail as *.jpg with a given width and height. - * Instead of stretching the image, it'll resize it while maintaining the aspect ratio. - * A black padding will be drawn if the aspect ratios don't match. - */ - public static Image MakeThumbnail(Image image, string thumbnailPath, int canvasWidth = 160, int canvasHeight = 90, long quality = 70L) + /// + /// Creates an thumbnail as *.jpg with a given width and height. + /// Instead of stretching the image, it'll resize it while maintaining the aspect ratio. + /// A black padding can be drawn if the aspect ratios don't match. + /// + /// Input image + /// Path to *.jpg thumbnail (output) + /// Whether or not to draw a black border if the aspect ratios don't match + /// Max thumbnail width + /// Max thumbnail height + /// JPG Quality (percentage) between 0 and 100 + /// The thumbnail as Image object + public static Image MakeThumbnail(Image image, string thumbnailPath, bool drawBorders = false, int canvasWidth = 160, int canvasHeight = 90, long quality = 70L) { - Image thumbnail = new Bitmap(canvasWidth, canvasHeight); - Graphics graphic = Graphics.FromImage(thumbnail); - - graphic.InterpolationMode = InterpolationMode.HighQualityBicubic; - graphic.SmoothingMode = SmoothingMode.HighQuality; - graphic.PixelOffsetMode = PixelOffsetMode.HighQuality; - graphic.CompositingQuality = CompositingQuality.HighQuality; - // Figure out the ratio double ratioX = (double)canvasWidth / (double)image.Width; double ratioY = (double)canvasHeight / (double)image.Height; @@ -582,33 +626,65 @@ public static Image MakeThumbnail(Image image, string thumbnailPath, int canvasW int newHeight = Convert.ToInt32(image.Height * ratio); int newWidth = Convert.ToInt32(image.Width * ratio); - // Now calculate the X,Y position of the upper-left corner - // (one of these will always be zero) - int posX = Convert.ToInt32((canvasWidth - (image.Width * ratio)) / 2); - int posY = Convert.ToInt32((canvasHeight - (image.Height * ratio)) / 2); + // Create new image: + Image thumbnail; + if (drawBorders) + thumbnail = new Bitmap(canvasWidth, canvasHeight); + else + thumbnail = new Bitmap(newWidth, newHeight); + Graphics graphic = Graphics.FromImage(thumbnail); + + graphic.InterpolationMode = InterpolationMode.HighQualityBicubic; + graphic.SmoothingMode = SmoothingMode.HighQuality; + graphic.PixelOffsetMode = PixelOffsetMode.HighQuality; + graphic.CompositingQuality = CompositingQuality.HighQuality; - graphic.Clear(Color.Black); // background color, padding - graphic.DrawImage(image, posX, posY, newWidth, newHeight); + if (drawBorders) + { + // Now calculate the X,Y position of the upper-left corner + // (one of these will always be zero) + int posX = Convert.ToInt32((canvasWidth - (image.Width * ratio)) / 2); + int posY = Convert.ToInt32((canvasHeight - (image.Height * ratio)) / 2); + + graphic.Clear(Color.Black); // background color, padding + graphic.DrawImage(image, posX, posY, newWidth, newHeight); + } + else + { + graphic.DrawImage(image, 0, 0, newWidth, newHeight); + } // Save the thumbnails as JPEG: ImageCodecInfo jgpEncoder = Utils.GetImageEncoder(ImageFormat.Jpeg); EncoderParameters encoderParameters = new EncoderParameters(1); - encoderParameters.Param[0] = new EncoderParameter(System.Drawing.Imaging.Encoder.Quality, quality); + encoderParameters.Param[0] = new EncoderParameter(Encoder.Quality, quality); thumbnail.Save(thumbnailPath, jgpEncoder, encoderParameters); return thumbnail; } - public static Image MakeThumbnail(string filePath, string thumbnailPath, int canvasWidth = 160, int canvasHeight = 90, long quality = 70L) + /// + /// Creates an thumbnail as *.jpg with a given width and height. + /// Instead of stretching the image, it'll resize it while maintaining the aspect ratio. + /// A black padding can be drawn if the aspect ratios don't match. + /// + /// Path to image (input) + /// Path to *.jpg thumbnail (output) + /// Whether or not to draw a black border if the aspect ratios don't match + /// Max thumbnail width + /// Max thumbnail height + /// JPG Quality (percentage) between 0 and 100 + /// The thumbnail as Image object + public static Image MakeThumbnail(string filePath, string thumbnailPath, bool drawBorders = false, int canvasWidth = 160, int canvasHeight = 90, long quality = 70L) { Image image = Image.FromFile(filePath); - return Utils.MakeThumbnail(image, thumbnailPath, canvasWidth, canvasHeight, quality); + return Utils.MakeThumbnail(image, thumbnailPath, drawBorders, canvasWidth, canvasHeight, quality); } // https://stackoverflow.com/questions/3639129/c-sharp-how-do-you-get-the-operating-system-architecture-x86-or-x64 - public static String GetOSArchitecture() + public static string GetOSArchitecture() { - if (!String.IsNullOrEmpty(Environment.GetEnvironmentVariable("PROCESSOR_ARCHITEW6432"))) + if (!string.IsNullOrEmpty(Environment.GetEnvironmentVariable("PROCESSOR_ARCHITEW6432"))) return "64-bit"; return "32-bit"; } @@ -617,7 +693,7 @@ public static String GetOSArchitecture() // https://andrewensley.com/2009/06/c-detect-windows-os-part-1/ // https://docs.microsoft.com/en-us/windows/win32/sysinfo/operating-system-version // https://www.prugg.at/2019/09/09/properly-detect-windows-version-in-c-net-even-windows-10/ - public static String GetOSName() + public static string GetOSName() { // Get Operating system information. OperatingSystem os = Environment.OSVersion; @@ -710,5 +786,38 @@ public static String GetOSName() // Return the information we've gathered. return operatingSystem; } + + public static long GetUnixTimeStamp() + { + return DateTimeOffset.UtcNow.ToUnixTimeSeconds(); + } + + // https://stackoverflow.com/a/250400 + public static DateTime UnixTimeStampToDateTime(double unixTimeStamp) + { + // Unix timestamp is seconds past epoch + System.DateTime dtDateTime = new DateTime(1970, 1, 1, 0, 0, 0, 0, System.DateTimeKind.Utc); + dtDateTime = dtDateTime.AddSeconds(unixTimeStamp).ToLocalTime(); + return dtDateTime; + } + + + + /// + /// Disable scroll wheel on UI elements (NumericUpDown and ComboBox) to prevent the user from accidentally changing values + /// + public static void PreventChangeOnMouseWheelForAllElements(Control control) + { + foreach (Control subControl in control.Controls) + { + // NumericUpDown and ComboBox: + if (subControl.Name.StartsWith("num") || subControl.Name.StartsWith("comboBox") || subControl.Name.StartsWith("slider")) + subControl.MouseWheel += (object sender, MouseEventArgs e) => ((HandledMouseEventArgs)e).Handled = true; + + // TabControl, TabPage, and GroupBox: + if (subControl.Name.StartsWith("tab") || subControl.Name.StartsWith("groupBox") || subControl.Name.StartsWith("panel")) + PreventChangeOnMouseWheelForAllElements(subControl); + } + } } } diff --git a/Fo76ini/Volume.cs b/Fo76ini/Utilities/Volume.cs similarity index 85% rename from Fo76ini/Volume.cs rename to Fo76ini/Utilities/Volume.cs index 4b602a0..92f25ce 100644 --- a/Fo76ini/Volume.cs +++ b/Fo76ini/Utilities/Volume.cs @@ -1,11 +1,8 @@ using System; -using System.Collections.Generic; -using System.Linq; using System.Runtime.InteropServices; -using System.Text; -using System.Threading.Tasks; -namespace Fo76ini +// Doesn't work +namespace Fo76ini.Utilities { // https://stackoverflow.com/questions/1738980/how-do-i-disable-the-c-sharp-message-box-beep // https://stackoverflow.com/a/26700191 @@ -18,7 +15,7 @@ public static class Volume public static extern int waveOutSetVolume(IntPtr h, uint dwVolume); private static uint _savedVolumeLevel; - private static Boolean VolumeLevelSaved = false; + private static bool VolumeLevelSaved = false; // ---------------------------------------------------------------------------- public static void On() diff --git a/Fo76ini/Utilities/XMLExtensions.cs b/Fo76ini/Utilities/XMLExtensions.cs new file mode 100644 index 0000000..1a5f098 --- /dev/null +++ b/Fo76ini/Utilities/XMLExtensions.cs @@ -0,0 +1,97 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Xml; +using System.Xml.Linq; + +namespace Fo76ini.Utilities +{ + public static class XMLExtensions + { + public static bool TryParseBool(this XElement element, out bool result) + { + try + { + result = XmlConvert.ToBoolean(element.Value); + return true; + } + catch + { + result = false; + return false; + } + } + + public static bool TryParseBool(this XAttribute element, out bool result) + { + try + { + result = XmlConvert.ToBoolean(element.Value); + return true; + } + catch + { + result = false; + return false; + } + } + + public static bool TryParseInt(this XAttribute element, out int result) + { + try + { + result = XmlConvert.ToInt32(element.Value); + return true; + } + catch + { + result = 0; + return false; + } + } + + public static bool TryParseInt(this XElement element, out int result) + { + try + { + result = XmlConvert.ToInt32(element.Value); + return true; + } + catch + { + result = 0; + return false; + } + } + + public static bool TryParseLong(this XAttribute element, out long result) + { + try + { + result = XmlConvert.ToInt64(element.Value); + return true; + } + catch + { + result = 0; + return false; + } + } + + public static bool TryParseLong(this XElement element, out long result) + { + try + { + result = XmlConvert.ToInt64(element.Value); + return true; + } + catch + { + result = 0; + return false; + } + } + } +} diff --git a/Fo76ini/cog.ico b/Fo76ini/cog.ico new file mode 100644 index 0000000000000000000000000000000000000000..09a071428451ed8bdf89f392bde381a9bd70e33c GIT binary patch literal 2462 zcma);y=ogl5XaXf*rZ7rRHhWJQkvl6)Ts(amGKjt{17HC1csExRURQvpe~>)MF@EV zsa7RK3L(Vh_n*Dp+g(YCWaf5uKK?r&dvkW~jK5yb@qF)|-Z=NpIoF2}xet)!_Cq&& z>&XjFdoIQUH?OO2tn2x>f(GJGb3VapUJow8TY=lKidK@H;JRl*oI_&Fe8HP6##M_Q z*GcM(jba$4vXUpJdu%qW!kTi{i1j11gmV14T4IOJY^FM&{e~RxOI+>oAA+}uIGlm) zj{RogdF|UX{K{TB*+jX{5LS5x=PN(#LjK42px1hgKinJ6CQst_^@%a1@kPu!!B6>d zH7#QgdvH{5pKnqV&f8ME-_+tOdXe}oYZ=21`6%F(EB5MT*8`vbA7ppL8_^G$5{RH0bNm8FJvfI=?<*~cP51Xu3!kEx|Ve($uySReSb5(un z>L>CTcZw}uI!HFTuix_y>YcCFxjx(p^LZ&T%RRm?zURR&$;Ge}{N&!WHF_@b%02kc zd3;$eik%z=U47yi7S9iKuS?9ZmySBi=5T$$rbhI*>Ju+Brkev6zrPPR0k2%~yTPA3 zquCJ2`U_Sc%3Q#V_p_}Jch2VKCv0OL;vvbpyvYF{&5P>{G})jV5mP%)Lci=D>7AHC zUyN$;$*k(?vm=jxyfgK>N0<4-@Us`M_3&tf?4{eKPdw{uXl zg#S-86PdfG{F+(gn#abiAAh;IyKvv#D - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ゲームの*.iniファイルの少なくとも1つが壊れているか、構文エラーが含まれています。 - -次のような場合があります。 - ->エラーメッセージを読み、エラーを修正するか、 - ->無効な*.iniファイルを削除し、Fallout 76を起動して新しい有効な*.iniファイルを作成します。 - ->再度実行してください。 - -ERROR MESSAGE: -{0} - すべての変更を適用する前にバックアップを作成しますか? - - 「はい」を押してバックアップを作成し、保存します。 - バックアップしないで保存するときは「いいえ」を押します。 - 中止するときは「キャンセル」を押します。 - 変更が適用されました。今からゲームを始めてもよろしい。 - 設定タブでゲームエディションを選択してください。 - このツールを使用する前に、まずゲームを実行してください。 -ゲームは最初の起動時にこれらのファイルを生成します。 - 一部の値がデフォルトにリセットされました。 -以前のバージョンの不安定な値のみが影響を受けます。 -必ず [適用] をクリックしてください。 - *.iniファイルは、実行中にツールの外部で変更されています。 -NOTE:「[適用]」をクリックするか、変更が管理されている場合、変更は上書きされます。 -新しい値を使用するには、ツールを再起動してください。 - UIのロード中に {0} 例外が発生しました。 -これは、破損したiniファイルが原因である可能性があります。 -一部のUI要素が正しく機能していない可能性があります。 - -{1} - {0} *.ini値が無効です: - -{1} - ダウンロードした言語ファイル: {0} - 言語のダウンロードに失敗しました。 -{0} - Microsoft Storeエディションに切り替えるには、ツールを再起動する必要があります。 - 残念ながら、「セキュリティ」の制限により、実行可能ファイルを直接起動することはできません。 マイクロソフトに感謝します、私たちはそれを嫌います。 :( - カスタム* .iniファイルの少なくとも1つにエラーが含まれています。 -{0} - お使いのディスプレイの解像度はサポートされていません。 -ウィンドウは画面に収まるほど大きい場合があります。 -あなたのディスプレイサイズ: {0} -最小表示サイズ: {1} -推奨表示サイズ: 1920 x 1080 - 変更を有効にするには、ツールを再起動する必要があります。 -よろしいですか、今すぐこのオプションを変更しますか? - '{0}'を削除しようとしています。 よろしいですか? - {0}ファイルを削除しようとしています。よろしいですか? - ギャラリーのサムネイルを削除してもよろしいですか? -次に[ギャラリーの更新]をクリックすると、すべてのサムネイルが再作成されるため、かなり時間がかかります。 - これで、アドベンチャーモードで起動できます。 - これでNuclear Winterが起動できます。 - Modは無効になり、ゲームから削除されました。 - Modがデプロイされます。 - Modがデプロイされていない可能性があります。 -ログファイルを確認してください。 - .\ Archive2 \ Archive2.exeがありません。 -このツールを再度ダウンロードするか、Archive2を手動でインストールしてください。 - ゲームへのパス(Fallout76.exeが存在する場所)を設定してください。 - ゲームフォルダのパスが間違っています。 - ディレクトリ{0}は存在しません。 -Mod Managerを再起動して、Modを再度追加してください。 - * .ba2アーカイブとしてインストールされるmodの場合、ルートフォルダを「。\ Data」に設定する必要があります。 -「インストール先」設定を修正して、再試行してください。 - mod {0}を削除してもよろしいですか? - {0} modsを削除してもよろしいですか? - {0} - アーカイブを解凍し、modをフォルダとして追加してください。 - {0} - {0}ファイルはサポートされていません。 -アーカイブを解凍し、modをフォルダとして追加してください。 - 競合するファイルは見つかりませんでした。 - このアクションでは、最初にすべてのmodをデプロイする必要があります。 - 行った変更を展開していません。 -Mod Managerを閉じてもよろしいですか? - パス{0}は存在しません。 -マニフェストのエントリを削除せずに、modフォルダが削除されました。 - modエントリは無効であり、無視されました。 -エラー:{0} - <Mods>タグに無効な属性があります。 -エラー:{0} - Mod Managerの外部にインストールされたModを追加してもよろしいですか? - 一部のmodのアーカイブ名は同じです: "{0}"。 -競合するmod名:{1} - 管理対象のmodフォルダーの名前を変更できませんでした。 -エラーメッセージ: "{0}"。 - これにより、すべての* .ddsファイルが修復されます。 -ファイルサイズやファイル数によっては、時間がかかる場合があります。 -続行してもよろしいですか? - * .ddsファイルが修復されました。 - {0} -管理者としてツールを起動して、再試行してください。 - 利用可能な凍結されたバンドルアーカイブがあります。 バンドルされたアーカイブを再度パックしますか? - - はい-modリストに変更を加えましたが、バンドルされたアーカイブを再度パックしたいと思います。 (スロー) - - いいえ-変更はしていません。凍結されたバンドルアーカイブをデプロイしてください。 (クイック) - 「VisualStudio2012 Update4用のVisualC ++再頒布可能パッケージ」がインストールされていることを確認してください。 -NexusModsページにリンクがあります。 - Nuclear Winterモードを有効にしましたが、Modはまだデプロイされています。 -今すぐ無効にしますか? - Nuclear Winterモードを無効にしましたが、MODはまだ無効になっています。 -今すぐ展開しますか? - Mod情報が更新され、サムネイルがダウンロードされました。 - プロファイルを更新できませんでした: -{0} - 本当にすべてのサムネイルを削除しますか? - サムネイルが削除されました。 - サムネイルを削除できませんでした。 -あとでもう一度試してみてください。 - あなたは本当にあなたのプロフィールをmodマネージャーから削除したいですか? - プロファイルが削除されました。 - 本当にmod情報を削除しますか? - Mod情報が削除されました。 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

$yTK9Ts5pQK6R6&zh^%@^`L3Yi;vh+F1% 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 Zd+NpUgX4n|_@D$nD1i@3;6GCW{|n7ZCxZY0 diff --git a/Fo76ini/7z/License.txt b/Fo76ini/7z/License.txt deleted file mode 100644 index 48dc6c6..0000000 --- a/Fo76ini/7z/License.txt +++ /dev/null @@ -1,31 +0,0 @@ - 7-Zip Extra - ~~~~~~~~~~~ - License for use and distribution - ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - - Copyright (C) 1999-2019 Igor Pavlov. - - 7-Zip Extra files are under the GNU LGPL license. - - - Notes: - You can use 7-Zip Extra on any computer, including a computer in a commercial - organization. You don't need to register or pay for 7-Zip. - - - GNU LGPL information - -------------------- - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You can receive a copy of the GNU Lesser General Public License from - http://www.gnu.org/ - diff --git a/Fo76ini/App.config b/Fo76ini/App.config index a7bb9fb..f55ca4f 100644 --- a/Fo76ini/App.config +++ b/Fo76ini/App.config @@ -13,6 +13,10 @@ + + + + \ No newline at end of file diff --git a/Fo76ini/Configuration.cs b/Fo76ini/Configuration.cs new file mode 100644 index 0000000..a90dcb7 --- /dev/null +++ b/Fo76ini/Configuration.cs @@ -0,0 +1,85 @@ +using System; +using System.Collections.Generic; +using System.Windows.Forms; + +namespace Fo76ini +{ + public static class Configuration + { + // https://stackoverflow.com/questions/1873658/net-windows-forms-remember-windows-size-and-location + public static void SaveWindowState(string formName, Form form) + { + if (form.WindowState == FormWindowState.Maximized) + { + IniFiles.Config.Set(formName, "iLocationX", form.RestoreBounds.Location.X); + IniFiles.Config.Set(formName, "iLocationY", form.RestoreBounds.Location.Y); + IniFiles.Config.Set(formName, "iWidth", form.RestoreBounds.Size.Width); + IniFiles.Config.Set(formName, "iHeight", form.RestoreBounds.Size.Height); + IniFiles.Config.Set(formName, "bMaximised", true); + } + else + { + IniFiles.Config.Set(formName, "iLocationX", form.Location.X); + IniFiles.Config.Set(formName, "iLocationY", form.Location.Y); + IniFiles.Config.Set(formName, "iWidth", form.Size.Width); + IniFiles.Config.Set(formName, "iHeight", form.Size.Height); + IniFiles.Config.Set(formName, "bMaximised", false); + } + IniFiles.Config.Save(); + } + + public static void LoadWindowState(string formName, Form form) + { + int locX = IniFiles.Config.GetInt(formName, "iLocationX", -1); + int locY = IniFiles.Config.GetInt(formName, "iLocationY", -1); + if (locX >= 0 && locY >= 0) + form.Location = new System.Drawing.Point(locX, locY); + + int width = IniFiles.Config.GetInt(formName, "iWidth", form.Size.Width); + int height = IniFiles.Config.GetInt(formName, "iHeight", form.Size.Height); + if (width >= form.MinimumSize.Width && height >= form.MinimumSize.Height) + form.Size = new System.Drawing.Size(width, height); + + if (IniFiles.Config.GetBool(formName, "bMaximised", false)) + form.WindowState = FormWindowState.Maximized; + } + + public static void SaveListViewState(string formName, ListView listView) + { + List widths = new List(); + foreach (ColumnHeader column in listView.Columns) + { + widths.Add(column.Width); + } + IniFiles.Config.Set(formName, "sColumnWidths", string.Join(",", widths)); + } + + public static void LoadListViewState(string formName, ListView listView) + { + List lWidths = new List(); + string[] sWidths = IniFiles.Config.GetString(formName, "sColumnWidths", "").Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries); + foreach (string sWidth in sWidths) + lWidths.Add(Convert.ToInt32(sWidth)); + + int i = 0; + foreach (ColumnHeader column in listView.Columns) + { + if (i < lWidths.Count) + column.Width = lWidths[i++]; + } + } + + // TODO: Remove + public static bool bUseHardlinks + { + get + { + return IniFiles.Config.GetBool("Mods", "bUseHardlinks", true); + } + set + { + IniFiles.Config.Set("Mods", "bUseHardlinks", value); + } + } + } +} diff --git a/Fo76ini/Fo76ini.csproj b/Fo76ini/Fo76ini.csproj index 47db491..280b6bc 100644 --- a/Fo76ini/Fo76ini.csproj +++ b/Fo76ini/Fo76ini.csproj @@ -60,6 +60,9 @@ app.manifest + + + packages\ini-parser.2.5.2\lib\net20\INIFileParser.dll @@ -67,13 +70,15 @@ packages\Newtonsoft.Json.12.0.3\lib\net45\Newtonsoft.Json.dll - - packages\SharpCompress.0.26.0\lib\net46\SharpCompress.dll - packages\System.Buffers.4.5.1\lib\net461\System.Buffers.dll + + packages\System.Collections.Specialized.4.3.0\lib\net46\System.Collections.Specialized.dll + True + True + packages\System.Memory.4.5.4\lib\net461\System.Memory.dll @@ -82,12 +87,25 @@ packages\System.Numerics.Vectors.4.5.0\lib\net46\System.Numerics.Vectors.dll + + packages\System.Reactive.4.3.2\lib\net46\System.Reactive.dll + - packages\System.Runtime.CompilerServices.Unsafe.4.7.0\lib\netstandard2.0\System.Runtime.CompilerServices.Unsafe.dll + packages\System.Runtime.CompilerServices.Unsafe.4.7.1\lib\net461\System.Runtime.CompilerServices.Unsafe.dll - packages\System.Text.Encoding.CodePages.4.7.0\lib\net461\System.Text.Encoding.CodePages.dll + packages\System.Text.Encoding.CodePages.4.7.1\lib\net461\System.Text.Encoding.CodePages.dll + + + packages\System.Threading.Channels.4.7.0\lib\netstandard2.0\System.Threading.Channels.dll + + + packages\System.Threading.Tasks.Extensions.4.5.3\lib\netstandard2.0\System.Threading.Tasks.Extensions.dll + + + packages\System.ValueTuple.4.5.0\lib\net47\System.ValueTuple.dll + @@ -97,19 +115,165 @@ - - packages\Tulpep.NotificationWindow.1.1.31\lib\net40\Tulpep.NotificationWindow.dll + + packages\Tulpep.NotificationWindow.1.1.37\lib\net40\Tulpep.NotificationWindow.dll + + packages\Websocket.Client.4.3.21\lib\netstandard2.0\Websocket.Client.dll + + - + + Form + + + FormIniError.cs + + + Form + + + FormSettings.cs + + + Form + + + FormSplash.cs + + + Form + + + TextPrompt.cs + + + Form + + + FormWelcome.cs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Form FormExceptionDialog.cs - + + Component + + Form @@ -142,29 +306,64 @@ FormWhatsNew.cs + + + - - - - + + + + + + + + + + + + + + + + - + - - + + + + + + FormExceptionDialog.cs Form1.cs + + FormIniError.cs + FormMods.cs + Designer + + + FormSettings.cs + + + FormSplash.cs + + + TextPrompt.cs + + + FormWelcome.cs FormWhatsNew.cs @@ -195,7 +394,32 @@ + + + + + + + + + + + + + + + + + + + + + + + + + @@ -213,7 +437,6 @@ - @@ -260,5 +483,6 @@ false + \ No newline at end of file diff --git a/Fo76ini/Fo76ini.sln b/Fo76ini/Fo76ini.sln index d3e3f2a..72425c6 100644 --- a/Fo76ini/Fo76ini.sln +++ b/Fo76ini/Fo76ini.sln @@ -5,6 +5,8 @@ VisualStudioVersion = 16.0.29920.165 MinimumVisualStudioVersion = 10.0.40219.1 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Fo76ini", "Fo76ini.csproj", "{F657CC3C-8FDF-4D1A-AE64-2F7E8A883D3C}" EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Fo76ini_Updater", "..\Fo76ini_Updater\Fo76ini_Updater.csproj", "{9904A9D3-44A9-4952-A5A7-8C82E209C6C8}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -15,11 +17,15 @@ Global {F657CC3C-8FDF-4D1A-AE64-2F7E8A883D3C}.Debug|Any CPU.Build.0 = Debug|Any CPU {F657CC3C-8FDF-4D1A-AE64-2F7E8A883D3C}.Release|Any CPU.ActiveCfg = Release|Any CPU {F657CC3C-8FDF-4D1A-AE64-2F7E8A883D3C}.Release|Any CPU.Build.0 = Release|Any CPU + {9904A9D3-44A9-4952-A5A7-8C82E209C6C8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {9904A9D3-44A9-4952-A5A7-8C82E209C6C8}.Debug|Any CPU.Build.0 = Debug|Any CPU + {9904A9D3-44A9-4952-A5A7-8C82E209C6C8}.Release|Any CPU.ActiveCfg = Release|Any CPU + {9904A9D3-44A9-4952-A5A7-8C82E209C6C8}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution - SolutionGuid = {94AE7D92-ECD9-4EFA-997D-1D67A4231AAA} + SolutionGuid = {B2D832BB-F9E7-4CB8-ABE2-0C3251C3B94B} EndGlobalSection EndGlobal diff --git a/Fo76ini/Forms/ExceptionDialog/FormExceptionDialog.Designer.cs b/Fo76ini/Forms/ExceptionDialog/FormExceptionDialog.Designer.cs index 50b6b9e..bb55006 100644 --- a/Fo76ini/Forms/ExceptionDialog/FormExceptionDialog.Designer.cs +++ b/Fo76ini/Forms/ExceptionDialog/FormExceptionDialog.Designer.cs @@ -39,6 +39,7 @@ private void InitializeComponent() // // buttonCloseProgram // + this.buttonCloseProgram.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); this.buttonCloseProgram.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); this.buttonCloseProgram.Location = new System.Drawing.Point(358, 371); this.buttonCloseProgram.Name = "buttonCloseProgram"; @@ -50,6 +51,7 @@ private void InitializeComponent() // // buttonCopyText // + this.buttonCopyText.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); this.buttonCopyText.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); this.buttonCopyText.Location = new System.Drawing.Point(219, 371); this.buttonCopyText.Name = "buttonCopyText"; @@ -72,6 +74,9 @@ private void InitializeComponent() // // textBoxDebugText // + this.textBoxDebugText.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) + | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); this.textBoxDebugText.BackColor = System.Drawing.SystemColors.Window; this.textBoxDebugText.Font = new System.Drawing.Font("Consolas", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); this.textBoxDebugText.Location = new System.Drawing.Point(13, 82); @@ -103,8 +108,6 @@ private void InitializeComponent() this.Controls.Add(this.buttonCopyText); this.Controls.Add(this.buttonCloseProgram); this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); - this.MaximizeBox = false; - this.MaximumSize = new System.Drawing.Size(520, 450); this.MinimumSize = new System.Drawing.Size(520, 450); this.Name = "FormExceptionDialog"; this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen; diff --git a/Fo76ini/Forms/ExceptionDialog/FormExceptionDialog.cs b/Fo76ini/Forms/ExceptionDialog/FormExceptionDialog.cs index 35cba2b..5d1796b 100644 --- a/Fo76ini/Forms/ExceptionDialog/FormExceptionDialog.cs +++ b/Fo76ini/Forms/ExceptionDialog/FormExceptionDialog.cs @@ -1,11 +1,5 @@ -using System; -using System.Collections.Generic; -using System.ComponentModel; -using System.Data; -using System.Drawing; -using System.Linq; -using System.Text; -using System.Threading.Tasks; +using Fo76ini.Utilities; +using System; using System.Windows.Forms; namespace Fo76ini.Forms.ExceptionDialog @@ -19,7 +13,7 @@ public FormExceptionDialog() this.FormClosing += this.FormExceptionDialog_FormClosing; } - public static FormExceptionDialog OpenDialog (Exception ex) + public static FormExceptionDialog OpenDialog(Exception ex) { FormExceptionDialog form = new FormExceptionDialog(); @@ -27,12 +21,11 @@ public static FormExceptionDialog OpenDialog (Exception ex) { form.textBoxDebugText.Text = $"Operating system: {Utils.GetOSName()} {Utils.GetOSArchitecture()}\r\n" + $"Program version: {Shared.VERSION}\r\n" + - $"Program locale: {Localization.locale}\r\n" + - $"Game edition: {Shared.GameEdition}\r\n" + + $"Program locale: {Localization.Locale}\r\n" + "\r\n" + $"************** Exception Text **************\r\n{ex.GetType()}: {ex.Message}\r\n{ex.StackTrace}\r\n"; } - catch (Exception e) + catch { form.textBoxDebugText.Text = $"************** Exception Text **************\r\n{ex.GetType()}: {ex.Message}\r\n{ex.StackTrace}\r\n"; } diff --git a/Fo76ini/Forms/Form1/ColorPreview.cs b/Fo76ini/Forms/Form1/ColorPreview.cs new file mode 100644 index 0000000..dbe576a --- /dev/null +++ b/Fo76ini/Forms/Form1/ColorPreview.cs @@ -0,0 +1,25 @@ +using System; +using System.Drawing; +using System.Windows.Forms; + +namespace Fo76ini.Forms.Form1 +{ + public class ColorPreview : PictureBox + { + public event EventHandler ColorChanged; + + public override Color BackColor + { + get + { + return base.BackColor; + } + set + { + base.BackColor = value; + if (this.ColorChanged != null) + this.ColorChanged(this, new EventArgs()); + } + } + } +} diff --git a/Fo76ini/Forms/Form1/Form1.Camera.cs b/Fo76ini/Forms/Form1/Form1.Camera.cs index 1898b1f..44d7d2d 100644 --- a/Fo76ini/Forms/Form1/Form1.Camera.cs +++ b/Fo76ini/Forms/Form1/Form1.Camera.cs @@ -1,14 +1,4 @@ -using IniParser.Model; -using System; -using System.Collections.Generic; -using System.Globalization; -using System.IO; -using System.Linq; -using System.Net; -using System.Text; -using System.Text.RegularExpressions; -using System.Threading.Tasks; -using System.Windows.Forms; +using System; namespace Fo76ini { @@ -21,13 +11,14 @@ public enum CameraPositionMode partial class Form1 { +#if false private CameraPositionMode camPosMode = CameraPositionMode.Unarmed; private float camOffsetMultiplier = 50; private float camOffsetToMetersRatio = 30; // I have no idea. We'll see. - private void UpdateCameraPositionUI () + private void UpdateCameraPositionUI() { this.trackBarCameraY.Enabled = camPosMode != CameraPositionMode.Unarmed; @@ -40,24 +31,24 @@ private void UpdateCameraPositionUI () switch (camPosMode) { case CameraPositionMode.Unarmed: - x = IniFiles.Instance.GetFloat("Camera", "fOverShoulderPosX", 0); - z = IniFiles.Instance.GetFloat("Camera", "fOverShoulderPosZ", 0); + x = IniFiles.GetFloat("Camera", "fOverShoulderPosX", 0); + z = IniFiles.GetFloat("Camera", "fOverShoulderPosZ", 0); this.trackBarCameraX.Value = (int)(x / camOffsetMultiplier * rangeX / 2); this.trackBarCameraY.Value = 0; this.trackBarCameraZ.Value = (int)(z / camOffsetMultiplier * rangeZ / 2); break; case CameraPositionMode.Combat: - x = IniFiles.Instance.GetFloat("Camera", "fOverShoulderCombatPosX", 0); - y = IniFiles.Instance.GetFloat("Camera", "fOverShoulderCombatAddY", 0); - z = IniFiles.Instance.GetFloat("Camera", "fOverShoulderCombatPosZ", 0); + x = IniFiles.GetFloat("Camera", "fOverShoulderCombatPosX", 0); + y = IniFiles.GetFloat("Camera", "fOverShoulderCombatAddY", 0); + z = IniFiles.GetFloat("Camera", "fOverShoulderCombatPosZ", 0); this.trackBarCameraX.Value = (int)(x / camOffsetMultiplier * rangeX / 2); this.trackBarCameraY.Value = (int)(y / camOffsetMultiplier * rangeY / 2); this.trackBarCameraZ.Value = (int)(z / camOffsetMultiplier * rangeZ / 2); break; case CameraPositionMode.MeleeCombat: - x = IniFiles.Instance.GetFloat("Camera", "fOverShoulderMeleeCombatPosX", 0); - y = IniFiles.Instance.GetFloat("Camera", "fOverShoulderMeleeCombatAddY", 0); - z = IniFiles.Instance.GetFloat("Camera", "fOverShoulderMeleeCombatPosZ", 0); + x = IniFiles.GetFloat("Camera", "fOverShoulderMeleeCombatPosX", 0); + y = IniFiles.GetFloat("Camera", "fOverShoulderMeleeCombatAddY", 0); + z = IniFiles.GetFloat("Camera", "fOverShoulderMeleeCombatPosZ", 0); this.trackBarCameraX.Value = (int)(x / camOffsetMultiplier * rangeX / 2); this.trackBarCameraY.Value = (int)(y / camOffsetMultiplier * rangeY / 2); this.trackBarCameraZ.Value = (int)(z / camOffsetMultiplier * rangeZ / 2); @@ -75,22 +66,21 @@ private void trackBarCameraX_Scroll(object sender, EventArgs e) float value = normalized * camOffsetMultiplier; - bool alternativeMode = IniFiles.Instance.GetBool(IniFile.Config, "Preferences", "bAlternativeINIMode", false); switch (camPosMode) { case CameraPositionMode.Unarmed: - IniFiles.Instance.Set(!alternativeMode ? IniFile.F76Custom : IniFile.F76, "Camera", "fOverShoulderPosX", value); + IniFiles.F76Custom.Set("Camera", "fOverShoulderPosX", value); break; case CameraPositionMode.Combat: - IniFiles.Instance.Set(!alternativeMode ? IniFile.F76Custom : IniFile.F76, "Camera", "fOverShoulderCombatPosX", value); + IniFiles.F76Custom.Set("Camera", "fOverShoulderCombatPosX", value); break; case CameraPositionMode.MeleeCombat: - IniFiles.Instance.Set(!alternativeMode ? IniFile.F76Custom : IniFile.F76, "Camera", "fOverShoulderMeleeCombatPosX", value); + IniFiles.F76Custom.Set("Camera", "fOverShoulderMeleeCombatPosX", value); break; } this.checkBoxbApplyCameraNodeAnimations.Checked = false; - IniFiles.Instance.Set(!alternativeMode ? IniFile.F76Custom : IniFile.F76, "Camera", "bApplyCameraNodeAnimations", false); + IniFiles.F76Custom.Set("Camera", "bApplyCameraNodeAnimations", false); if (value < 0) Console.WriteLine($"Camera is offset to the left by {-value / camOffsetToMetersRatio} meters."); @@ -108,19 +98,18 @@ private void trackBarCameraY_Scroll(object sender, EventArgs e) float value = normalized * camOffsetMultiplier; - bool alternativeMode = IniFiles.Instance.GetBool(IniFile.Config, "Preferences", "bAlternativeINIMode", false); switch (camPosMode) { case CameraPositionMode.Combat: - IniFiles.Instance.Set(!alternativeMode ? IniFile.F76Custom : IniFile.F76, "Camera", "fOverShoulderCombatAddY", value); + IniFiles.F76Custom.Set("Camera", "fOverShoulderCombatAddY", value); break; case CameraPositionMode.MeleeCombat: - IniFiles.Instance.Set(!alternativeMode ? IniFile.F76Custom : IniFile.F76, "Camera", "fOverShoulderMeleeCombatAddY", value); + IniFiles.F76Custom.Set("Camera", "fOverShoulderMeleeCombatAddY", value); break; } this.checkBoxbApplyCameraNodeAnimations.Checked = false; - IniFiles.Instance.Set(!alternativeMode ? IniFile.F76Custom : IniFile.F76, "Camera", "bApplyCameraNodeAnimations", false); + IniFiles.F76Custom.Set("Camera", "bApplyCameraNodeAnimations", false); if (value < 0) Console.WriteLine($"Camera is zoomed out by {-value / camOffsetToMetersRatio} meters."); @@ -138,22 +127,21 @@ private void trackBarCameraZ_Scroll(object sender, EventArgs e) float value = normalized * camOffsetMultiplier; - bool alternativeMode = IniFiles.Instance.GetBool(IniFile.Config, "Preferences", "bAlternativeINIMode", false); switch (camPosMode) { case CameraPositionMode.Unarmed: - IniFiles.Instance.Set(!alternativeMode ? IniFile.F76Custom : IniFile.F76, "Camera", "fOverShoulderPosZ", value); + IniFiles.F76Custom.Set("Camera", "fOverShoulderPosZ", value); break; case CameraPositionMode.Combat: - IniFiles.Instance.Set(!alternativeMode ? IniFile.F76Custom : IniFile.F76, "Camera", "fOverShoulderCombatPosZ", value); + IniFiles.F76Custom.Set("Camera", "fOverShoulderCombatPosZ", value); break; case CameraPositionMode.MeleeCombat: - IniFiles.Instance.Set(!alternativeMode ? IniFile.F76Custom : IniFile.F76, "Camera", "fOverShoulderMeleeCombatPosZ", value); + IniFiles.F76Custom.Set("Camera", "fOverShoulderMeleeCombatPosZ", value); break; } this.checkBoxbApplyCameraNodeAnimations.Checked = false; - IniFiles.Instance.Set(!alternativeMode ? IniFile.F76Custom : IniFile.F76, "Camera", "bApplyCameraNodeAnimations", false); + IniFiles.F76Custom.Set("Camera", "bApplyCameraNodeAnimations", false); if (value < 0) Console.WriteLine($"Camera is offset downwards by {-value / camOffsetToMetersRatio} meters."); @@ -167,66 +155,41 @@ private void buttonCameraPositionReset_Click(object sender, EventArgs e) { this.checkBoxbApplyCameraNodeAnimations.Checked = true; - IniFiles.Instance.Remove(IniFile.F76Custom, "Camera", "fOverShoulderPosX"); - IniFiles.Instance.Remove(IniFile.F76Custom, "Camera", "fOverShoulderPosZ"); - IniFiles.Instance.Remove(IniFile.F76Custom, "Camera", "fOverShoulderCombatPosX"); - IniFiles.Instance.Remove(IniFile.F76Custom, "Camera", "fOverShoulderCombatAddY"); - IniFiles.Instance.Remove(IniFile.F76Custom, "Camera", "fOverShoulderCombatPosZ"); - IniFiles.Instance.Remove(IniFile.F76Custom, "Camera", "fOverShoulderMeleeCombatPosX"); - IniFiles.Instance.Remove(IniFile.F76Custom, "Camera", "fOverShoulderMeleeCombatAddY"); - IniFiles.Instance.Remove(IniFile.F76Custom, "Camera", "fOverShoulderMeleeCombatPosZ"); - - IniFiles.Instance.Remove(IniFile.F76Custom, "Camera", "bApplyCameraNodeAnimations"); - - bool alternativeMode = IniFiles.Instance.GetBool(IniFile.Config, "Preferences", "bAlternativeINIMode", false); - if (alternativeMode) - { - /* - IniFiles.Instance.Set(IniFile.F76, "Camera", "fOverShoulderPosX", 0.0f); - IniFiles.Instance.Set(IniFile.F76, "Camera", "fOverShoulderPosZ", 0.0f); - IniFiles.Instance.Set(IniFile.F76, "Camera", "fOverShoulderCombatPosX", 0.0f); - IniFiles.Instance.Set(IniFile.F76, "Camera", "fOverShoulderCombatAddY", 0.0f); - IniFiles.Instance.Set(IniFile.F76, "Camera", "fOverShoulderCombatPosZ", 0.0f); - IniFiles.Instance.Set(IniFile.F76, "Camera", "fOverShoulderMeleeCombatPosX", 0.0f); - IniFiles.Instance.Set(IniFile.F76, "Camera", "fOverShoulderMeleeCombatAddY", 0.0f); - IniFiles.Instance.Set(IniFile.F76, "Camera", "fOverShoulderMeleeCombatPosZ", 0.0f); - */ - IniFiles.Instance.Remove(IniFile.F76, "Camera", "fOverShoulderPosX"); - IniFiles.Instance.Remove(IniFile.F76, "Camera", "fOverShoulderPosZ"); - IniFiles.Instance.Remove(IniFile.F76, "Camera", "fOverShoulderCombatPosX"); - IniFiles.Instance.Remove(IniFile.F76, "Camera", "fOverShoulderCombatAddY"); - IniFiles.Instance.Remove(IniFile.F76, "Camera", "fOverShoulderCombatPosZ"); - IniFiles.Instance.Remove(IniFile.F76, "Camera", "fOverShoulderMeleeCombatPosX"); - IniFiles.Instance.Remove(IniFile.F76, "Camera", "fOverShoulderMeleeCombatAddY"); - IniFiles.Instance.Remove(IniFile.F76, "Camera", "fOverShoulderMeleeCombatPosZ"); - } + IniFiles.F76Custom.Remove("Camera", "fOverShoulderPosX"); + IniFiles.F76Custom.Remove("Camera", "fOverShoulderPosZ"); + IniFiles.F76Custom.Remove("Camera", "fOverShoulderCombatPosX"); + IniFiles.F76Custom.Remove("Camera", "fOverShoulderCombatAddY"); + IniFiles.F76Custom.Remove("Camera", "fOverShoulderCombatPosZ"); + IniFiles.F76Custom.Remove("Camera", "fOverShoulderMeleeCombatPosX"); + IniFiles.F76Custom.Remove("Camera", "fOverShoulderMeleeCombatAddY"); + IniFiles.F76Custom.Remove("Camera", "fOverShoulderMeleeCombatPosZ"); + IniFiles.F76Custom.Remove("Camera", "bApplyCameraNodeAnimations"); UpdateCameraPositionUI(); } private void buttonCameraPositionCenter_Click(object sender, EventArgs e) { - bool alternativeMode = IniFiles.Instance.GetBool(IniFile.Config, "Preferences", "bAlternativeINIMode", false); switch (camPosMode) { case CameraPositionMode.Unarmed: - IniFiles.Instance.Set(!alternativeMode ? IniFile.F76Custom : IniFile.F76, "Camera", "fOverShoulderPosX", 0); - IniFiles.Instance.Set(!alternativeMode ? IniFile.F76Custom : IniFile.F76, "Camera", "fOverShoulderPosZ", 0); + IniFiles.F76Custom.Set("Camera", "fOverShoulderPosX", 0); + IniFiles.F76Custom.Set("Camera", "fOverShoulderPosZ", 0); break; case CameraPositionMode.Combat: - IniFiles.Instance.Set(!alternativeMode ? IniFile.F76Custom : IniFile.F76, "Camera", "fOverShoulderCombatPosX", 0); + IniFiles.F76Custom.Set("Camera", "fOverShoulderCombatPosX", 0); //IniFiles.Instance.Set(IniFile.F76Custom, "Camera", "fOverShoulderCombatAddY", value); - IniFiles.Instance.Set(!alternativeMode ? IniFile.F76Custom : IniFile.F76, "Camera", "fOverShoulderCombatPosZ", 0); + IniFiles.F76Custom.Set("Camera", "fOverShoulderCombatPosZ", 0); break; case CameraPositionMode.MeleeCombat: - IniFiles.Instance.Set(!alternativeMode ? IniFile.F76Custom : IniFile.F76, "Camera", "fOverShoulderMeleeCombatPosX", 0); + IniFiles.F76Custom.Set("Camera", "fOverShoulderMeleeCombatPosX", 0); //IniFiles.Instance.Set(IniFile.F76Custom, "Camera", "fOverShoulderMeleeCombatAddY", value); - IniFiles.Instance.Set(!alternativeMode ? IniFile.F76Custom : IniFile.F76, "Camera", "fOverShoulderMeleeCombatPosZ", 0); + IniFiles.F76Custom.Set("Camera", "fOverShoulderMeleeCombatPosZ", 0); break; } this.checkBoxbApplyCameraNodeAnimations.Checked = false; - IniFiles.Instance.Set(!alternativeMode ? IniFile.F76Custom : IniFile.F76, "Camera", "bApplyCameraNodeAnimations", false); + IniFiles.F76Custom.Set("Camera", "bApplyCameraNodeAnimations", false); UpdateCameraPositionUI(); } @@ -248,5 +211,6 @@ private void radioButtonCameraPositionMeleeCombat_CheckedChanged(object sender, camPosMode = CameraPositionMode.MeleeCombat; UpdateCameraPositionUI(); } +#endif } } diff --git a/Fo76ini/Forms/Form1/Form1.Colors.cs b/Fo76ini/Forms/Form1/Form1.Colors.cs deleted file mode 100644 index d4ced1d..0000000 --- a/Fo76ini/Forms/Form1/Form1.Colors.cs +++ /dev/null @@ -1,217 +0,0 @@ -using IniParser.Model; -using System; -using System.Collections.Generic; -using System.Drawing; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using System.Windows.Forms; - -namespace Fo76ini -{ - partial class Form1 - { - bool colorQuickboyIsDefault = true; // Depending on this value, the Quickboy values will be set or unset. - bool colorPAPipboyIsDefault = true; - - ///

t@fV-Qi+St`a)o!~Qr-OISrKDh)}E@67BmnL+?jy9V*N3?(=#D?AFz{Z&@C4TJK9IjuN!nPbst0EVR<``JK5qE3XC zB8|Q|O73%PjFQQjI()wa_voy;^{MD~^{s{B6vd+~Q4K$>7adAI2MKwFV&iRf9aEql zOZ89sPJiA5(R;}&rnu&yDJ>TFO+FOAk!&t5>SFTi2%6T3>Ht>jt??bL=>aj)Wjs-a z;3stir^H&3eUw`tm9o+EK_k5C%TfPew0*QJ8cQKRQ^gDn%ieiN)X+{8F_e#5##im2 z6i!mW=Y@OKwuWA?hTd~tVjb=9@1hJKJ6~CmZ)_NT!H<556I>812VNrmFgGzOSdcL3FJUfqVt%kX@oBI; zp(Z!6CHN$)CNF`F1-yc%No8Qs%F`^kJ0`(u&)@e!-i8|Kqm{!Dczhq;NhJumanCxd3?6N=9X zGWXZm+Gpb_{PZx{>6?&=p5`8OF~Q~~adm5b>z@&?HiHo~(~-Lg?4UUezlE*>&(adT zNJrFBH`&+X0GD?q`3?^~N*}ICj(PaPPn_4&7Jn08O75aFI>he&i|@O}4yWnkmIY3c z3+J8}KVMX@se9y~sl8Q>_O+TG09Aq;M02@Ba^>|9sIOaCCmHse_SH0deU)74Cwu*G zcvmQ%y&XemW%-SBEWOP+KC&=>Gc(vuCm?dzANg|sMtf;r;@~_9+%s~7Os{S2p zXPe!*RaEnpSW{-qV%PKhno!Hy@ig)1IJb2L$FbKEmp-Z5_zAJ-GddZVP2io?@>&(4 z^bhE%Sy=vCfakvzHl3Aq%D_q`#Nnx&@PZxvFOK|QDAExzLrV8@h<^HjxZ$ABnd(jT z7Y+3h5$!Sd?X>9jg1->EpPp7NEA3itkwZbzTq(Y^oY=g!T(kk)q*aiR)1HT2VTm!C zL&X1Yi;F+-`A1_BCVO9#FrriB-;?!~nM%1hPV_dGwqTe_>OrhzFZ#bu@Qjwc*OPks zS5j|tug(m&L0!|ca%bZGat&y;;*LmU&qN3(>wGYF!%8CRF$A0m&ftda4S6}KV&*J+e+p)C-jzG$ik?zW_zyZ|cd#Yd{Cf zTWR-;-wMJ33d$~WvPHRMM%f+NT!~xwC{vZ>NQK=l?z$9l6qmsl^GHemmymIk@*1UK z31wv+6})a0*R(nWqLwT9n7{QDETe^Jshx8dkN5YJA$IaOoU*At7|pUg_K|5LAEdrw{V%Z@~q>Cis?U8OzWJ4t0*0=!?-Skugt}|PJ*k9g0H-d zAL|`wgnLEUn18M7!+H<>V4ZK~MVHINX4n&>e53t&vJP%H_cPrAtoPQK_O^J+u41@; z*0z~C@ke~w?06*`v%sy7VAZ2UcW>}w1Nh~at@)R%^)@oLR(Sc=6d=vjcDBJ4w2>9Q ztO}%;zy2o9ca&>7T{qXoCVy;!677K6ord5AP`Zz&uCiV5+xXab#>?!xK3!~n zpspZFHuCew{N5vu|G8gHSMjP|tGuJ4+xPMX_c@nzzqFs1@EWDeZMxU|;j(c~%yS`F zM=2VUs(6mtGQE~?oc6kh_J@{_gona~Z%^*}xCH)UVc5 zY997c-t0tt#=op~YZ>`OUHazE!DYKR5@jc?->Vea*Yu~m1n0dJSH{ylVFh&#Pnend zHx1pNc*5V~Rg?$c;(d3zrU&7U|Ae2zu$JofG)KkT6#a!h#2=1u-QUtXzCXR)%jRUg z;@Y=~XNS+b_AT(qP2&!ZC+RDygw3qfmiE-MEKoc6ac8T#C)@jm>p$Ecn#8`&wSU%& z4!;rO9kO@M!cbLxePFW_=gze02?L%ii8XNkt6}vJ1!KeM%x3GtbdN0OuZ&=gO zQg+cF<3s68>9Hx??)Y1mmm9(b7?eqNQmRhl^{_28qq|8`!=W4>iB}ed1;aJr?cq1D zj9pNXKk=LYz!A@g!Oq!J7s3h7Ltu&h=v!Y>Vb~@(f=fRD*WaZs;0Ju^+OWJ_qI@tN zUjLC}a9B*0VnKOCAxe_`Sn~W77P;w9aZRbt3 z6W@(r#%(+czi0$&tBV1t$h+MKqq`Fpc^iD6L>BXN8ouynv{zl?chOhT7tts56SK^w zn5Z|_yV2_={k$6W#sGG~HFk{tM;%(uy~2?$P%2_?a!$B^G5LISl8X8-G4~(I-eT{; z=Dm)=L{2g3b#b&U`K2>mC`4nY`1_CK&2&}8OgE%#R>zgaKD|RccCR|h|3x!tsn*eL zq!c2D)d`)(E8R#8)_&%yP-ho|m9EO-FB@%Khh4W(f=kihir_SqP@AZfWiWpymV79e;TbK)6S0q_Q zEPAh4A~)vaW`E-{k9Pt?y9@fdRlU(Cw4SrvelOmH{rQqrUnfFZga28E30x#jnn?rt z5p4T?sM1^3(rda9yo?cSjqMe?z`c$~~{;S1Mo=pgadYkWo*{9$`s-t&CJvm&==Xm6eobG?8Yd@jl<_AX*JYZ;pAnkqX? zq*fuc1o!i0)W=$RUES_Ttk!tBY-*n19DaHpE4C7w_leKD#+q3L*ZRVDz6LsMuCM&P zp%s(rWi-^zoB`QbiJjOE?CKVBRad-F8mOU6gLml>9&>XhVmQ8pytS@hS z)c${jKK|iggku=>*mxFd3|sM`W1_xT6W}5ft+$C`Lq}8hO=AjQz+Jy!O}?sAZWl-I zV6?wA8j3qQe8=TItBjb{p|PteuUY48UMegm}F(s4=U5n*EE~GhUo{71dHANG+A5EfSU66|Cwh} z9iLbc{#8~V*`h%Ow&W=|Ne2qmA&`j~(K*wZjzD&QgYa&}bgzZgEwth%({H_J7xYz2 z(HX1U+~=ulr&MBz3(1P^z$&K0hF$V%YVWMRJJrVDsZN)!CCUet$te@aE;CRaiqU>2 zI!WJpNTu9P$7WgT=ag!5JwBCkbcoEgpD3vsxak|JUP}JuAJvl*xL}Z$0Mc z#miAJJ`lbQLmUZ*8)JV>HX(2(Y;K93Fw1q5-T+tJY;XN&Pwlp6_6G}TlIDf~2J6G~ zj#L-$ByHO@xJml(D6a67X!h%gBD^=nqmMT;lq8#wxlG zloXBRxBoKhb{(jgI!B-SrIcQ0Cu!L(i%%2giO_8&bK3_6gFeaoaeWnoNAAkIYs}vLGmG=699kr@`aNRc2y+ zW;WJp6GT1@zDTZw9WTJsFEkSfl7Qvx#HNncqhnpvPe$EEFT~a|@J4)b4Zf+oZ2fL} zs_dee2xoVaw%`{z{WcbOxm;|ntZ1~Juy4tRUcryQ5I-C?jvI^iI$iI;P$qs?H_{Ko z!to4xxB05ZJ_&E6Z_KQ!ES-w7jC77S>YI6!Bdf}?tY#qH;rV$~B^HVYhWF40myKJ6 z74%%KWtvBA^Jku*%xxi-Z55y9EstV@zN7Q_Qiiq|-Z52{#;Ve=PsP*ChrKKjO)Q7Q zd|~ykgV1h-&~CCTHmPyg0;S!;u5A+KZss}H%Lvz~4Or_Fe?ndGsa$fVc4!4L zQSnuA*m>FGzasxbad#-zb8xKZp{Gyrr;m%@>dP}9VpksKM=QymD)Y3JFiz!QTb2A@ zo@T0w`jOP+!vE2hHjqa>5wB()J~kmbr7<5wU)~3Y+!mtIf*oxT;S!@gc!PiCR7v?t z7PH~*3<|-1i}IC4^%p7~J+H>U8!g2kwMfIwjGPG1ni9OE^T2D-GFED%T9Hj~Hb2P#CMKkkf@tQI0b{XVw!a@yhSPym-3*~{6EQ0 z-WB`4h4Jr&|LFwpYy(?wC`NkJey_%#mZjS+PGNng%s3|oGpkHEBegZmjsLk{j8%jN zCQo=?CHg5km-F(IlQb@ub-UJ^K+HT_>^urX(GTL$7UJn#T zZD-@YkjKxL$xfgJ9HF9P0IaIJE8oGW+uhQawmruJ$pkVQy<3pZ`&lWg7YpT0n@} zxe{F<&2PvXhlvC~ght4<`R1Ya-y8N}d+(~1oU#r~wUS7=nD66OC{AWr%_X1htY`e? z-R--MzKs=sPN#BOc)iwO1I%fYT7%90$~KzzpZwLm>J0v(Vm-sEUDd-bGY&c@rM;+G z1d&selTtn95G|#mrkkMGX;AE>`1c}?Ff~K|kl1`*Z~*>&8lQdMx(Q+48EE#hiCc1r zS90+Md1?FdS}z5>T0Zeop0J*yru9>q($r*2Hunk?>jEX{Ul6X825XDY_$B0czGJ2} z@t!CTqsU_gK~vvBJ-O8bSme7M*{z++I^UeMQ+LV7x5%|V6ARC@Yd@fSc}uQ7fEK1B zrC2-B%+sFL*ik$F)*k)Vj@@8~uCrHHiEEb1u@>01vv8{_sKq`N#156cN_DUDFeOB7 znOOs`RA1d#L($MvIKswWsfqpG$Zw~*veb|Bdo*WU>-x@5?=`MLA}&Tn#nyQ+x;c1- z^y>UCVi5n;8*z^;ZkxK8&&_+DV}j*}|DQ+fiZppa#LxhTSTnkvX1XBXQ5^nV5w2Ym z)=@t`m29DxMq51Mt9pF&#UZ|<4(2_~^knB5*y%+c{|v{t-aL}cnCxxw>Ew^Fk)3hY zXqSm>`!L?W(~BI?zwuAqdH=-j928$16rb#u5&VJg{LQD^8#kl58pQg2jEDXKzIN94 zc9(te5S!c8S{=v!Zr~^W6ia4=T@|C19eo(CYgxMCY^|b8@jeGlg^+b+vo>*lyy}~zQn0+kUadAzOeY;5noiA)o zcTpRrS4qTDRK3U@s${d7OPnTJiJ>(Yd8pIz`%uk~!hdx^Kh49Ph-X1`=CWwB!pMQYfxRyA;++9KWg#NA6}h59Lpng0?2n|e=KJuT9^2%<2PhnyL8 zpw)O1W>mE`fp1#X(+<+@OfoIoqU!i>m@p^F2VE3 z-a+5w;9z9(&0uaa)ywSN;DB>N-;~19yR?$;(lfq;OTee&6|Y8p#NjWCzdQ0zt=Qtm zuz~u)J+4Iy?8yj-{gWlM$m06P_;~{ugeQWPg zOkb)eV`Kl+lS8{qt;SJ2%O^Jvc3^H+xyq?tr|NeD+<6QBW*uDiGkUg#7@vw))J>g9zxY8vD+`Oz<6IrdXu0TQy@qDPl9#}V*Rp|| z;*<0iN0R#-f5r!s=hPWqhz}%h4E}K(k)xh*E-+LB6|>sSS2x zUM|9u3W=ragtgR`R(CB_j)|#ugr(E~QLQBIF>m26y_1Wmjn8Wi>s>mR=F>;0Krr4h zB~ch}Toi9yGFY4_<*2AXVa4F%#KYzE@4dv43%jYNC%TRY2%2I%QI!0U~nwHOH_ zo2AZZy2%4e^&48QzJ86|Y@_UaaE)YrKq+tf-oQ}};`fKy3nST} z@hUq$#EQ)nnNH(h7KqR1TUm=lY73#$i{&6opofcbKa1o9^L)#*M0PXSpbzZ051rp} z9*p1UE*k74zDo6xe^k^BNX`JgrPP_PSDu{BvgSd)A-Sea}T zEJ-$YGz{h?o4_=lax@B7cx;X5Z1$X=*_!=+?_a+kC(8wyt+j$tK^lcStg&p?Sm^Iv zp|&_;&F|L}Yny!XEBehv_R5_2s(o<_?kf)juRJd2LHUWvfufVgRIXK*xm4h@OT{DU z-$r3Grb2F}J7zNbd_zQ+6S@xBjw z_DQdl)ZsLf>zgZ>%1ja>8#ocTtX%tma)2F&X> zqS&v**gwh_x5?Fa;~00w<-+}OrSO2RfXA;Nb#Rllp zbVVMT2v_R#G*t!hFx`53t0Hb26$)GE%u_GAC#>OIQFosEqM~8Rs6bfU6tm*ymXtO} zswZTZ5@erk7!W&r*~&t`F>|5^<7jq?v4`$@mw zUz~rXS^t#+>;T>RUh&mI$oU@K+3>0=O&K z$*p3wJThl>s;VPRl7@>khX1}`Z}yQby+3`nwJ>F%u=s5d$B{-PO7;Z`C3RflX45uaU4aX7@RVigMaszGOF}1#$?xxG9rHjZZf8Aj zW=YdQ?~^R+8CUOL_W2-hm(oLQXK}w`pVzp(+zyxz*`F0p@^7MNPva@3;{KTZ9= z`3et^PE43XB~E@``yM=4WjynP5R@lm5{=+7t>KWJ#E)Irl7Tu^43JH}r^06xZ05tj zd@{CXn$KlXX1{g=@T+nSNhb%mPIh~Wi-;uD4tjH zB6vaPZr=Z69xF~!mjt?-4tt^qMjm@kRdf&kRD=?(2sK`DXm1gDOA+}?AyMa@ueXD*Jv0f_9cN=x?=Phs7ED<1&0|Lq4@t_?sG|y*T7w;;9~+ z&&RI89c=ZyJ>fAnL^T$);1pirB!2m-y?>6sz7*!iWIeNpsrf!#STdOz#-$zYZ2bUjRB4Phv1YqJ#^Z0Q;_IPaq%HKn3AJP` z+;2tJyRZ!44#;sjh-^|nuD_$V)%H!XE0Ir;^N!eOiN zd&fGc!W?U9JX{{08+D=+eA*hU4W%n%RzTt_Cj+9lER2_E@(HuZbz&NbMK#h&?*h($jh zS<%aE##=I=v6OPNeNW3pF&laI??o`X>2?nA^ndgC|JoN9`0vw>i~i~a zN7capVZZF5W8cR9d?^}8=@Vwlpgv-!hw`cYT$>Ie^X9Hq?ci7Z(HVOvjfc$xv(>r6 zqkljGeq_;8Js&?&$uo;(8zWZI!$%Ib2c!QF#QuW(ECbC_He64>@M$qUxNO*f zcF;`A@KJphpa_l%9xLaud&4KMKc^7gQvuJt9Y=Jt+v(||uFCz+c(;Gc3-{uUOf`pq zzij{Z5TTk)?)#kRn;Pytyk%webiAToxQ(MJrnG_g_di*CMYr#9yMTN%2WydmmrC+| zC;7oYdAi+{I$On#>*KESr7k>RH~zFUKil22UKVSn<~O`1?(8QkdK>FJR1NNUdD>Lj z)I3P>YMIuTGOt~678vyn5Y@|3Mp0T$tD&UM>^1Z$e^PC12YvN>)2fc5QJrQbtq6LF z2s?=IT8jMY>7x2jbTzmyx>?MeBfKNJE4)>eW122K30+k$Br7_~hv$-2!!yYW;n`&6 z@Vxuil4VWCEg5F^-0WiRg66m0Z)Qm?lSH2KdR?MZIzRo1TmMOak8gC6Um~iVqchAX z?8YEhtt%}`Oa8eYi&%lhEC5eT#a35b>*KhLomSVkbe^AF??l>DJT*fs^}X6#bMEw0 zR-cvV5O++pQ6EBqnP?S%pLjk#>UO%cm*Tu>9peYmdd3f@^^KdR>A;#cChnH@LEIy4 zQ9L+pSv)B1>v%}okIo0;foUh>-f2$b}yBzK?HUUklY@O_WIt5}S1rmo-yuR6|5v)-}!t zb;xQ5$2#ep!1w(D?c5fv;KLTuCC_4;rsDoTqMsVaf{ei%>zEvkf^EI0rpP1^N0sP9 z_|^n7`ex{%GF^SqBE3?UsJi%!Utb?*f)OO5?X;9T@C1L*Vf?A?=wF)nv+>2`6*I{b z^b{HOFU%fXP2LK7xC_oz0M1oHjdy7=dzl~)753fYi{erBpfdccx_IL$w)9yz*elNZ z57SAPXH(0I{qJLQOIx=^tr6X1_}zPS5~_h!eHyFUk-fs!U$Q{oh?X{4g`404 z>*3U^U`ER!uJgR+bn9;%9O)e%zK^4$HQ6HA+OPd?-7meko)bz`faDv`w82z zg>Bs`Lf&9suM_{S67Mdzd*_R7XF)M0N#&FdtQ~8Z$rp)I{bIVz_+FXzmFch9EY`L3|CT&A(uq#do# z0D1kmxO!-2M!3mLQ~k=q3sjpaoS=}kT~%*_24aRzVun6qWcmU;UZB?Vidwr9qUV30 z0l(r0cR@(Lg)n?2f?iD>`DyShm1R3o?kj$)Z#Y^;GaTdGBZxKyTY+xry%X5y@M6*g6<>jq1o-A z*)KyMJBmTN%B*xkg7p-KNa{2I*M3txGEC$*LgY7wUmJ&gooH`Qwt8mR-?OZ)`Bv!v zRd-Cc(mte18{<64aArHu&fEFpHP)mff&zDNi%dIvh;fH_RG*Uq&|0`kNw~o9WR-vaJ<- z&02nFgG}o?o@YCr@)zs!cikWlc(ucDxZ{qKeA9V;>Kwmyg|E8c_b&5e=dA9F{>m9U z^)!6$Z@lMW$9}%+H}`jW{72_+Jnu`#7ZeZ6?1umIeI4wIHvC^Rm|$a>;Uj*F8ko21 z2Yc)bdwfkC)knQXFJ7(>9aKO2;0=-fTk&@y`<2lM=;kW@AL~4_ST~B*@`uf; zfVSxZ#yvgxI3#l>A;&mBhzjn!+w$iHC20250Y1lHn1k;Kn-YKRgq&=+-}AAxbxrQ zQ+=-K9UfHiQUwO9v$4v#3%Z1zqdcR=5`#VJcwD}enmF(@G_ax9Xd;JdLXGmYsJ@BU zPet=ji{zX8G>ycEP1)>5aJEL?&lBF)6Y8lRg9y~;6Y9A>^+X%BeA2oiPAVIZ7jgR@ z&(Gz#IbnEN?4+B-d+B_(1dT=nwYnnix?X$A5uSh*9`%Yx zMSln4=R~f3?e`IM60>;*6GnaC-|FhNS**NKl&MQuxS9%zo>n)m+Tpyo5siE6P)v;V z?hZlf9Zt}-eo8#pd6>tBtJD}4(g^z5JJ!it6#fIlMV_|^;7iR;@$+S}a>YK8A?clHjtkz+8x{s~W#jMwMQTSf^nsa(1 zq@%dMBiyY1W-YtFRE@wqbs|%}!ztdyICTi)>99swbz}7NouC%s!+5)Q_-i=R+^dE1 z*3YcYwffSf>Jxs_Z|ty@dgMBewI&Q{Om7V))BL;(zv>-6NIP8}i~fYpa?SaY*6=L6 z7u@=DEYAlH^9kAW5fH4A;>A%EK<~>R-jj#xOASkY##%1VQ{T=;p4Qv#N4;m3*vYzA z;Xz94`F2-OhIh=Np6|cp(Rg3-XIh8#@$BRryzW@@#RkM}lkMYX$tUCL$;xr1WD&DW zvd4Mo*0U#%M(L72M+sG^SFSCME?t`x{daA2bpG1wZufAzeH0{HM>m)$mNnTpx;6Pk zR4`dTDwS*yRY~eN=YF$fLtVz3M*Wkm%pGeV&7+zBDmj2={;lYAa;%E~=~01bX;c|2 z{iJ?|ohd!vq0^s2$FV-TO>IeG`czsV_OS?se^qw41zXx3N;eY2qF)*GY(0DX6}!CC zF5Yi#AF*H0i7fwv)h6g+(s;luGV08-@!R<5TX^R@{C5t@g4}v&=ET|E9t;R?Vy6J!ZDV0e|}t?fofzp3mYpFVRm2VIRE<+tGN|QXf@1%%oB(b9f%hxQ9ODb8*0Q zHg^zpQG3`#1DHh_ScLh{)IdMN0#hCNJ{L8r(c^E&%T0#JO}oj1JBsugvldUtgimk@!LqGc(;o0SpYm8IdVEQ@=HZ>`OnJ$2oieZ*s?vbq!!I!UxQ zkAF*HrfV<=dPlM&t7U>~W#wCW)$JxM?TT-g4;Q7Ns0g2Z)O&0yKkDiV_7O*nbDl0c zTFK^Ya^B_Y{^dC1`2o}@6Q7b3gH^z8yH{n_Q*k=!!fxXls`r+I9g>^L>4 z{w*2vo4OSBU@N-Pb-lncx0YQ$g(YhsTCU}LsZJMGnH4P~x-Mlk6&0Ts@?G5RdnmxG z7Z5$%?K2nR!?xAH&s>q`mie91~8DPDH)$ri}@1ecTc{%KOAqkgGxM_ zrc>^M_{(S|d}N)B=377C74MDqLiYZ_Rvx$VFRLPmWV>mQh^+i@Hd>L~d_{gXyRe+S zn64l9$-D1Y;ZVsHt>ns9XL+j!zrhp!rad|DipH|5j4;#etX^)h+?`^%qHN+laNv?y zv3osU+PMtGyaZ2vuNbe8$L@lr=L@Q^q$wt#5`9@YuT@EuS04IT-W93L;+Jz&morql zo{wyF`wJSUPigO#`1^C^4zpa<>GUsCL~v6m9wzZilkLx`eAIOD#4NngJn_YRUilN2 zY=zrv9Gk=$U;jUz?gZYZ^7|k7*;i&|$V|u>%3MU5DMRKtGLw0p=Q%?WnMH+)B88BI z%tgrDU{0Bb6yfgkf1msPz5Xw+$3FMmbI&<@@8?ikuAaXL_7vOm&=E{GA*_k;r_1XrA5` zfBZ>zcGg@z94#o0$t25_R^~N=qrWfWxFz~HPb+aYY$=D_kUgpZeHC}da=VM^jg)fT z4{^HxvR;4bPjU$>{CjvY`~_3{D{j|bj5Ie%-2Y4%vZwW$E1F=@0{q6~Y*|hy@L9;P z3hdVeM(trmO%n6H&!TOBWMkabb^o4_J1i`Z@v7Lli`?i~=lqHL^qqTlj!x+j{x!4s zpj7ZWkJ1{`3FC_)<_6s;y?WWj(9WAdA53X4ohhs?&p#4x1aX~I0QItmTwC2ExRNjevQ&L29jVQgy84it1p?@alyi zxo4s+AiDNY-XQVX$RNEP>{9c?8EB%@$_-`YhqFMD+4@eWnmV((}7VKLue=%h=qQ7(839eXUtwFk$x zoBs4C-|>!+XSOx4s7UGEcdWfd$5RCW}6uBR6{1Ml+&%Yn&1op`N>=SM5a##1d z*O)(}thttl9i%UY?oZS5`~ltHq~p<7FO0)urB+dq!HzD4@dQPwy{hRI`TL`_o z%8Jp@`ZT)b#gPd(rm?b>gJn4fg}*`c*X1`J;JQ)-twSuIU0xd7)umymw?SA%?znbP z!;V4K!sbEMuvJhwY#USv+Xq#Q@?jg#wUt|L?s?sJb*Zi%R`55N#jt?gax(gPHVo(EGVEbkl_e-*=ir zv|zcqQ=pEEX6JKDiF2#cjx;mV`oixMM9LrWWM7-FG`-HD8N1n&RXrl8)_uxeprd5N9u*lo`Xw47m1xxj< zTN>C!DQFw4Fun{r>GI!6ZE9D?ZhqHIw~SuFT-B-bjHy8%UHN-KHU0eSr9W36-MD(_ z%hkjFWIcjPK^Jx5-65UMYQwvzaP6RmwWGdxZ@@jRVW1{zUYZ2)ayk$3kM~%l`}%JD zt&iltxSGG|1^=a?{u}1|mn!?dv$;oA@`xJifow`B7ZU_a{5%P6>f_kLs3Z&Y3_c}| zOz3@F|L-uuE>Ya4xc*ojKyP@VIV@F<70W9UODYn(6VAmjO_W3FPv6!K_gpigPpmbW zP1Kzn?|hBU@;DB1Gyd@d+~Z_*-*4g_>l?+?YiBnCkLjKHjdbD0P!C(XlDrp|2*>L7 zGC&{NPBhLf>h4uo^#8J@ zHq%rXF2QnsN;mpFYjZfH-k0ThsH;b6TCe=(#LIFJ^+a^tA;RI<7ujpRc>+H?gT0$Y z12CW8T>uX(fDIPG3JW2Gx%|@1NJEjz>lmSSYJA&ciMnEpI$@N$`VA#7?@$_}R0sme z?h2=XCIUF)2Kdb9hy1A2L9we z?r;a!x|b{2qJ{3~bllfiwrL0()sDxn6WD2+pjh)uD(ga2!cI~7{G877aejX@(kAW<)#{ISblNK7{8YAOG1bIGneY)5uAO9D zT8IQ|;*VdJ&DK3S$S<1BPT7_g=avF{kcjGCKGoc4C!VV0jPjd5u^y)COR-#6Ma@^m zW>>^&x80Mgc+k7z>+6(C|H7hwi}3E^;_q80|EhbA?W`BuKmC@v=6K^4PV&Awja$)& zkjn${N<_Urq-%Zsu8!lFjLkvbevf+5ZPwXZQPN89xe&kkuJt<_>h2E#x8)fdx$7^9 z9*bCm>5RvGk3YlK@b(*Y%x}1xEp#1h8XXRQzv-?w3}2Pgsj7ayyj)JXgnkvN*w6ps z3*b2N=p~v%-A2~vh4>8g$xrGV_xS&flxk}e>m`>;PA8chPa4{eRC*(2qIu5bz4FKr z<%^bu&})UI^=hu9{<@Za-woBBbx^6=P4;@E8t%7P&v|^c+6@-v?{JT^Kfk`dZ}irsuxY*xk`trB_6YX3(r_7A+|F_vIA+q_P6{|V2e zAGzrM7Tz*>VBc6d-`L(%4b>nHR9`g#GaBpnxheU##TAOqjVl^m5mz?)OmI!lr#2;Sdh|}*@@N>h!SRqIJR27u zy%m=}@>^V?$ceaWk)3g^^yBIm`7rLC$c(rTBmLvPjl2=}gF4hpxQ;ve5G1!Ra>igg zAHNW?7#x&`0BYzD-T>3lEI5rR`^M^Yum@z1?{ zyRPtXTbhJ7C{OHTi;q46Gwe5xvZ+7dm=Aco!{Z%Tm5sP&8eH%9hWBktY0;fNxvN<| zP<%h!%+`m88smA9c>#9#3H~<@PW^-LI0Xa5Sff?=rr9E@F|sJ#J;s2`7_JpLuYsq( zh{j<8{|-MAMa&g*%-|(x-s!hK;T0B$-Dif4D5@$`oRp4E(OYsHlr$|&<8c_yfu`p} zPs_yVYr<1@AUG8M1a+SccZN5OBw~_G-mwTqvYPy3bG(g=kxw|r&zzEXxulEF4Kw1t zh$p#NAPpawPYrDen5sIyqe+6Eez@}-OJz74iu_RiWF_CZiSPZ^>fXaYAF!%_cE^sn zQ%9kv6OhzldAq~n{N1!b+vtAQ;qg{LuZv*QsW9qrIHL>hud%L;)&8#@QME{r$et9p z?9ua!sCtj;$~7?Thq|OsHm7haBxxUpxHuW`F&KRrj$dV6Lk@UHmYTwqX$MX(zjX zv=Up?!G2VQ;7aTJ`+2{?W(iraheWdy@|sOj|x2b2&oR zVuU+1f(08$2iG?^BCBEdHlsdm{wu-Ha?(HHAP&*$A5?v+)&~diGp=EiHM-PsvSVMP zDZ5{R4&dp?7999@6a#Dd;Ekft&*kG+i$0gbSRbmpeBXVV%}2e5=b8*PPr^Nn(nohF z{h&Rjt(VV2%B8Tqb<;{8h33{xbJ@j4)=M+%rI9+K7S@x!TN030YbdNEq}9c$7=XVR z%=S&T65de@@&SLi+-GeN@9)Hi9*=fV8Qu@hrw(TKa13TS;{XwC~Z&>~F zLB<5-;LRYEH@sn2^0PeL5z1tWu;6Rz!eufxv#>>PskrYST@`etVs4=y(`(qKD$zQ; z<8$(d=`m2Z?KXczugleRVDHdsbk;kxhKMPrxG!ow91&62^W1#S1lwj4qvT_m3i(ZG zSGNM}T8lMm99;<248;X^4hKOPqobu+s;AkIwBnO6exnXSn^ji*q)YiR9c?eFM!g;V zHvV38V|>z}u)Kq;MXi&Lf) zjbs$pJp9|o(B6f=#1-QL1#>6KwNb%!K}x!a@J>UVMcbK(8vSgtQs z5qt}0?vqc9X;;qEhTX(p$BP$I@>N-JmxZnBaw;-wQ5VE&GJ9I*BWQhN^_w41CU3U3 zsa34cAFS1V;`Jj|;Bk576Jn^}MEt+mzwEUAdw;`A{u&t+~3g z94vMTtZAj77F9@P-@1f4!soEHx$NJWMKx@Cm9dXUK2~$HDoAQC`&8<66YIN`3X7XU zFTAuOfb?>SS=1rskWb8~U(R!SlNZyI=Oyn~-rk?JMV57a*6ZS!w!TpptEm^RW1uYJ zP>)87$w$fnj2ADAg*7M2(~jfqN7I*&k!2nvuQeJJ{E+C}_?~i&_4JypVHAqK8=pHm z9|oTvPaPM3Bm6A>T(~9vaJV;qUwA5hV|XQgeRx0q6a2@r(CP?Z3KxbodFjq}L>v~* z#fHoYSBH!2khmoL&1*j~6vDPf*;^)lkLbDEt` zyK4DyMg`p2XUx>X>YECPx}J5npQcdH!-D0Y1I}XRX6Cumm>IpnS5;Ng1Z00c< zn{S=%N9-G)El1MBJm{fkd_T-kZ?+FRmaykYPdkqH#8G!MC)%k*j&WUjJB1DH=UM|} zTS=d)(v-Z#=pplZoK+oQ8v6Srl)R7li@U7NA0qSr?f-r=+%JCG%XV&NHNO#ku8Fqb zxBA0$vHot$4At^%$pW$K^k@JhK8b}ZW|SA>w1lF&xQDW;(V4L0GH0+JruZIjbwobt z7x(qDik91aFc8t#=hx^5CDiG9R$13%p_>-fFhE zeJ)QrGa;*$*>xx)uU5_quIm%p$OZONMLUMh?`?B>vGZOD+kege?#3SdgdI2y_y1uA z+%}INIp0W79b?sqr|pFI7|3=^fo~RIuRfz>`v!ycqsPA*S7Dz2SiIx`<*YpwV!Uu6 zyOop<(%@^8VS|&3+a5tdkK~B%h}~|8)h>(QE_i%4(uUn`o?x>NsGdH-TJ2Nke+X;) z10 zG}djjXxZLBSja?b4evr4S43j^6Uo`65^ddgRnPKK`}nFaT-#Y#`(f@z3m&c-_C6Op zn~Ze37tsiGz+(HIDB+~QNDcH8e(YM&Qe)0Fh zw(&Q^dhu7n>hTxC((!gTu%mi@x{9aSyIk?R!<_Nk!@Tj|hWX+*_?^z>@n3}1;#Y=s z;y(>L#4opp^|EkE{D*dCUuKuHkMtE>Njvdzm{kA5*v{2e!*8*|b|8}zSRU@d2OpOw zIIU*n&oCDsUdife51ov_@&`_S}#{L>xC`6kqS&1yPlW}SBr zj~TzJuK0;JI^^+Qf3e4_cYF0VKK*-t_q|Wq>V5Vk+~LpJ%n$hcDeUGb_`IW6w4mRp zWG0lfKGmC>zfl}!Xilewm7kEa%Z>?nI#?*fKZO!t5bb+6ng7?-Yu1TYlUJ-IH&_=t z&=B9zSPrpykcNsVx#MGwf$=bG7{rIK1@~pjBKVT13|La?HTx3CKjsOZj%Jo;Oc6Zq zb1Tty)s-K5L+smIIz26mJVUvN9&I~l%{Qhm~JGdax#v1 zA`3QyMVpEDn9E~)h(}(E2U+DRtntm)(?fiVAK4bI6zsLD&wkm>Bd)>;;}^S?pN+QW zS=#U_9eJLP!Cy317ey|Ah+NLgh@Li1d3+o;KIHKMuifo$wyKEz)>Zo|VbrGSs^PP% z&{~wEk}3&X+m+TG8Rn`D5ykXTIoKPY-IKztlUTHiE7wjm^QLp{M8(!aSG{ihO@FF@ z0aOE{ShNYEn&~3M`K;Z?SjP3#n!8}iqwL`&_U}GTWeR*kE^M1V!?=V3yjTu#QF83c z18mP_`ros-PgUWrvbXOB)w$cld#cN>$oia$TnxWgiLj1`oTIvCoGOtnGDA8( z;Wa8agGwTW=6KfE*_xg*gMHbW@$mFSZ09`ttjxDEKe0+b!J@8@UJSpIo!N?c*dklA zONYE&3Dq*g9edKjx2J$^#&6csJNQ+Z(<Pq?BShwpRpjCrit;&{ta z{ApRLq>6BU6~43@tY3%ktie(@f~e|==^L@>Em-hoxT|(X8(GONEPGeBrnk}G7y)I+ z`Xx;B_#OF|Md}Qeh!$3O?HWjI1KY6`GTS4o`4ilI6jJ-$U!BF6T=sc?QYYMGQ*PqJ zZpJ(VmGf<%e%H79$G5v7cOrwxk`-rb3bJ8&{B2GgK~^fNjIeY%b}KcEm(n*$;`0;x z#v$7o;cp&T(eWbM|MfX8hrugg{ipZyV=&(>40^1~{9#u~r)PdAfLb0?%lQ~KED44! z8I~+5?3IFgGX?yWgo-pJJRYluNJfwK7-lJgQw%)!A0F&K7X2=qT$RV+-5%|8cE zoEM25caKg&R)^$Z@CP`Y2kx1!QS8xHcHcaLPI^ba$0cm0eA+6rBx{00_)TQaI>Srb z)C=v5<_mVPr@L8>AMg_~3vejfmEG;bDvW?hN5ZI+Sda;D)npm0aWYxsf(TvRV-)PE z^$g7?mL+ zEp??=LNK4nMt$xZuAwqo9f@@pn`per0=M>jP3%ZH{8kBPlnbMo6*5f4wkC<)A*kp< zI8bGHZx!KPR0Fh@0d1)+yS`eC+A7nlvK%krz)Gq8DvG}?fE&w=Bh$$ovsWFr{~GiV zyFVS=i_Y%DK&yL*`#L`Q5Z^@w?^T-_Jh+0xX3Ma{(L*x9^nU2a!RZ?W(R6@~Utpf^7lUdIUi z0_h*5Q~wSV`-KjEOLWVcj71u5C%6vLG4yc*WN`*TQC-6mUqk+_iB(Xu5yqlu555WC>i__JQth_@&`MET){dD zi}#`W8Ss2RDvORmlAxwhhPooBA!35Obi{)Ncd(0}V`XN+Xd@x>&iK~4c$#uBc^+#x ztrhzK-+dXYcSMEy_h#j4nyDr7##876N6C!!qH1evCB!PeYFaH-c#yJU^dh``F}@|Q z*u8)&|1_VI#~P#X_qYk>xw@QU36GzlN==7_PDbzY59Pz0 zac3jyhsK7UH@MB&c+NS-OnJTc?B_Zw?1$4FB9}8lCV8x^@J z_}B0g9Oq~HFMTBox(O$~MYeM{K76lldx#%DOx^UG_~Ep1QGW9;+0AR1@LO=W&fR8F zY=5Ed>_ZQ>qZf|7H(Sz|o#?|h^kpY{(Jl59*>!hida>53`;5%+QclO5>`o59i&eX3 z^IRd%bO_@=+kzHuQyunU%FQx^Jh!kzgcoOQz>1>swW!)jSiHV>P&6_rWm@VUX@KK zaGOxw)}Y&~1rffY%Y9{Nu^Jyy9`9Wd?_B}ITA9+nB0uqpZgJK5h`Ln$ui?g<=(W-~ z+Ae6T4@-LtY%fT%k4lcw_81*+kA~?`?mYR-C6MDPxutb1|4#Gk2RZy-#k^-&&1-DZ zBUdl#T+)g3GI~Wmmh4%W`bGY=61-WRe%U&ayh^upPf( z>`zz&$Jn44&N}ShLBBodm51d|4w*$idzVAJl0Ma9x7axHwxoCTGLsEIMmxaXH&%!&;!9B%cpyKdT zNfzJ*d;#Sx);)bt(r%1pBL(o7&)^?l@be3f6$2F~82jqj`8q}|cCmryYGLdfdTlK{ zWgV>kD}Ju-`O1D@&ij?|x4PRTyjOO|^qx;@MDa1VWj6nWAb$}D{)ole3a_m;K7b&n z!Qvm2MOfYDLgxrkeS{h4cncH-Xf`NYaAXXq_&n> zr#Z>R`aUnyRLyAVad&!@3Am2;Smf2b!4@5*kJGMP4V$R0>OW5T%38GhHpg$U7(Tg$6>A%eH%ht=E zxcl=mS7*J~$so7BD%m2tWw18;oX-Op(jbXG79m^tFgidrU2ECh*Mch|`aebaG5+H$ ze)AWV5%#%-OIG{NGuebeY(ZxVa zmpzJA96ShVi-7UD&J&{)lY2T|Zc< zgI2@O*y~@Q)nD+e=dI`qR@YzHzH6eozafvmt(_1G`43l>B-kxOdyp3WH%#Uk`Iu{} zs&0rd{$Zi+V>4s>EJrb!k3l;@P}s4E=bkm5hiyt=HA~?uUr=#VQsqr4d}T>_rsDER z#e)NQ$=!00J20T@z1KSLyHf4#2R?U+oYXrwuXmxMvA*kAh-jb)vADXH^{$!DgwD86!rtjApE6rTYu@tgO>b4XC-fnuazIbU!-eA>qmJ z9b;a2IQ-o4Yv_76*72AQH5dHrWwtSoW&DsTak=MKu#{^eyC}GSFyFT0n|44jTkvY%B~-%i6^HL)_Ybn~ z`;1uD;E>Na;_)$d|0t|<{Qt%guRDrWKk9Q2LbQjx*AG5ppLx663j2=7{Z7ob&K+GN zs#?jzeh{%I0z~{S?>Uv{8pj(9O2{Jg!ahuaN)Tz+3!)C;5fH{fi%dz$YY@ z_sbGIQWx>BzTlUv`QP!GN3H+e*t_l6yD#CT&#`s1=I~J$EMR99wH@K6&gvZ6t8!`y zOSQ1qcP%v#b>OR)WxC7YMGM1RxeXQMa!L(VYc_}J8etjVuo_#^{&b))ebZI#!MpW? zn1**rqK$)w{mJ<3JnmIanYXNB z<*X26X7>s%!|`Nhd18CQ6%a9(a`$38%2g68zv6eV`E3*Hwgtc48b<0Uf{x|Yy0cOP z+`EC|pHZyUIIo@{w`N~zOjK)_sspufXADMP79qCt%5dD#DEEA#m}!zc;SA#)apYVI zl=mXX&6(34pLYDqUtf~hxZ&}2Mc=OCa}Kw)?U7* zH%~uKzGjC1)ep-W_QXiG$8)tXA72x7Rg&W|3;>qcoJn0OQJCjFH_}wr&&y-g` zi0r%+k1I>LEzE4UhjcvH<0@DZ>3|gKcyt>}s-J;u<$~~#<9^2tp8Lx07K;++h%Cp8 z6bI{w)Gpdasx51os^MM-EseHB1tSQvbmfB@wAa_W^*R`_H5?F zQ|5Rs^Ep3UouB5a7>ruNTzUzgT2a=fHm_S(zOW5uz#a<}5>SnKNyFkaRq}Eaiy^sm4iHSb%Ww@O)(eksHVFH z_2T*jP2+}APLB*a#*GeoQBwDdn?No7b}$M@G9qqDFg{NIjJUDE=(th#a~(uQ-8<+J z*TtT$ZGzY1ngw;^Y6X?Nck#HA*pI@&6LDEEC~2@B@sWMO-;_fa;I?D*7kl8juf;7Z zozHxzVw$x#60Wd+mNhdd0mWB>+No<;28fUkNh#|Z>hX9}>~;mpJmD@M#}DjqZ|rDg zmQ2Nbbq|-}>OY9S5YFd;XWQZT9euW^Mo-1-4`FPCjaS4Ek1lbX6F)RM&EskDBch|? z2Sg{S(H*<`#gSNbiL!A_(3rCDEY^sG|;2r>Y=pEqha=8(MI&j zosIE0jk$DQYyEC#I7WV9IDb5rj&BsL(x~W5n9Bx^Z}Q25WufU(W!)$9%2Tn$Z^Mi4 zVhCngPqQ)4^Q@)!S1Ub}m-(19{oS=G<~~>=SnM6Z310*lvXwX$@7-D)VbKzqppITJ8F;QA6?tueplF zUBha9AsPQaKPBuSh63-@ejIf8dA%cr~ zBcI@<_u)0HGtu5WC}Re;U?QGl6tB`3%kribq{F$~dU*(>sB_K(kz}@N9;ayvFuspO zNH^GsTWrKxcmGedHmB6JoeMvNgywl}it(12F_4vu?Nr}c+|t?KwNfkG!mMdTV^tR# zdQHaVRcNS|N7d<6UWJ$JW@}8Kubl7arGB%{*o9X*6m5ppZ$;74!JX-1-S@%X40dNm z;X5W_aNl-U=JAt@`O;6^kuSxq>nMHgG%i|}%jJY?(_g&q`z{=hH%==Hi;Q(Ej%Q@-2Ze@E&24P5_~_gw92eoA?;6#xE#&ztY6 z&J|P7G83j#YfKk+zh!nzlqrpM6`P>qXslT?$<-d~yS@zrOojz!8}C6L9~#R=x?j2z z-{5b)$B!SOSN%=K?>dGfilI&+w$953KgVNNch8%NuY0gvqxkH3eD(@+ZaW>$VJyI( z=HWe>fYiZt+||W|-h?m9h}MzUXcg>(r*??7Ht9OCL0)6E4kIhniBhA;FE0res6U;d z^T@l7I?TXZ%T$&x3C7tQ&l(O!*~7selEDadhGS$-N5W%c)s>FZ+iMc+HC2y^>3U7f z!JRF@p)I5BTnTZ0?TUWuZrHoZ+Ih?T9EhoCk6CEo>?)YQMcJNg&M~&f@FTcKlYyYL|wN)gs+ciAux*vBv&*K3vxaQX}uvcC4yY9hF>H$Ins+ALqSKn8SP7pabecwi-L5EoH7+Mz^u8 z-^!kT!}o79-#6QH^?P%Fhj?M9oR08$y}x&GL?{{Fh1zijO+8u-iFDs8Ibu`9@$mY{(y2CL*}Mf3a29IR{> zI?60;Zd%tPqwA2y$Y|APNEpp1P#P!HL=|w(`KU&KS$fvCl z(_Qy-ZhcwvkvQ|QvbR(8rk&}V&w-#8`EDQizRO+xRqn(Wyx3X{@+Nm`BYtq3)wh|I z*lopb6Fu!=5q4SqyUd(jX38$wsqJ)WJ7_GvGl#e7mGzB|E*tdqTq_p&OkQx6wX<9t zvOL-?SWHQvt2tFdXR%3J>!qc6-^kjj6-=W>c!x@0syJkZE)MTli*sqT=9+;^>64b5 zZD08OO)A~K7u6l~y?#xoifJUes*GuS7GlW^wI+trF(PbJE4HkcGl*3!zQ^V)GY`Kt z?{>3`6ryT4ThL3?q?LHZC%z>5!3a@>yr^QlhRWbN`V2Lr`)%##_Ea9R-MYG9tosF3 zvD2?nX*bXn{Pk#WkyKYzHC=;#80(QYGyo@L;R+2JgwER_#eX|@jfH|jN{F4 zaQwgFsQAP%*5feNQ_=V0^F=?1FB$zZ{^jVF_?o!QMrz60!d5D)dG7+@I5j|%?VB>k z-kmy%(O9es*Qie10Ecf^i?Yv(JtT{D(i%O>zFo2cV|y&!X1VUMQ1Osr91oOSgqezm zN(ZTANWj}~@=@-PJ6#ZCR6?v+LY(+A%tD!pKmJKfc>;5Eh88i_J^z-N?g4dbR3%Tc zU=-%-E!7`0u~G}E=a%9P)~F2p+I|0?o^MYi7o3|jIOX^!1`ET0@yekt`YAQk*|A~S zY5Fq3#+if1gD3sVC<_?-ms*}Oje6@;>cAfl64UoZ)PvurnY`v5H-Yc|ga?}g7f$EvhCw8~VaYZ;N&_oa zzd0H4hNAS!;4%e#q`M}j*AR?NoMrRz9J0SW^NM$3( zyfJ)T4!V)K^eT3{8dR?Tf^k~S{G~9~v9>V9O)+-&8ThLN{8bnlF2%wYW5dhwP-WTn zYBDi3*vxuxR|~kSjc?E^!G}D6%967&+43Bx9>Fex$FDb0^I|RA|A({D@;-T40S|7ugmEw zKIQK+)5@js9%)#CB#>}YS2bR?;1U0Ce;_vTLn!w{ar}p3JW6+%>>_+{7P>g&cmY29 zjbiN&Kc9nq|ML5*p1*83RisRzOIlxpC!LBD?el*c(RWtZ$0v&xjljM}MRJIxlv-z#?8Uv#-fbUz4xC zEr)$4tc*+05iiWCsyPjnXBgfO@5+pvGfsw&!ac?|V_g`i=!sH>Cc!2IvfIgIypzgy zKOUW7%)_4xJ>jHjKz7p#@(>4_0q^X>_Aih zrigb?v<#F%7YlhU6059)KXjYb31c=C<$gd?_whD~VTtVWRt03;bnb@QV=C!~{CS)x zI|VNn>nV`IOwJ`f%fZ$amUGO<))k{uevam#7@P7uMQI7+1uD|#jS_6oi{@5IHmJ1m zJUwbDHs}RfuGnrOrSTNH6|p&|#g^yr7DwRb6XL@k#h3fUmpic>-?B|x*wHV|*R^zF zG5ygB@&8A@)lzb{|reedwK6V&PU8Uq$Yj`~R_TF^y{w z9H4AEr7zcc<2o<=pJTw9re;YqBy`kB8Wdzt%LSqOu?K3$ZW&iqb)UmU{1WLH{LB~c z;cvI`$6xZjE99FN>L5DZ`WR=e4Dh;ce0MAPsCxL9SJZu!mf3vR%Wq-ltp5diV;m^*wTc_Qzl!v7Ayz@6}t5X}I@)+nSpj zmXl{HV!h?l4LqAQn8I32Vn+}AWQJE0_?PTB!{S!-OYC(mnw?hS=B{{*QRd}j=y;JR z;1g%IQ8ckz)O}J^{Rce#uS|S^$$U};cW&yjVjfq(RM+%#3v60P>~%j{&e51?JBhNC z4PlxVc=FEhjmRZIp=$?4(bNq#=K-$}$2O&di8BNnA;GP>Anp3i zhA1m`dciYgMIB{%$Ct1b6?oh#lwGgzs15Lt4b%d*(RaC>{mXmdnfk&+W8`ti)1SVF ze|ld%y^05&HwuQEjs0@S_8JQ9!Xd9*Qk`^ZoMly z_qh@K*xc@SZ7FPZ$~Gs`x&!(7)R%Avjg8Lk#&~BohmZY2UVaCD;e?;B$?3=YT{>$y zA1?fP80l5mxiLmF*7LSMq%{^sojdm|-Q$1Y>ubip-uH_4zr%j~1;JgXrntm@{KZek_S85B51nIC&afk= zR4e?>Z=Yc8PWZ%QeECr*@8|!2#Kn02XVyptip~0jFI{HL_uPB_o}!A?gsVN**>lur zu+<@U?hre90J7NU%%L$^u3Ogq2@Fk)zSbU=tzA_`^&g= zmw9R9DmTL<*Tvpfrt2$19aEH!IuC7M7CUICw(oa9)$$*1>jqDC9=8?Sjcz{{dJpz~ zGmN&@tXZiS-ZDO7A!Ier8k^3e&a@II;j^ZRfX70`H15Vv#%XNhUC$>KHDu?li}KW! zv2jhsa-C>+hKo=qCh!}(t-5`3#z&mpulR|J##J-^U;M>?qK-sRX)<-uspV+XL&2FS z^0FG)L_ax=Z1T8N$(}0|JOv3q>2W4CC#h8Rrc9`xP8P)LA7H0F+R8g{(iK+noJ{&j zSMe~OYq#$a>#DsGr}i2CW2NuAC^7-pH5Sj+SCrGk{Oe#IHic}PnzOICy0751%FAb! zmb)x%B^IIYEb9CUi@XbpU!Suw3p(c_ta1rzj#92cd6=Uj>`@cj*jS$Bb=RjeTinmJ z8X3K2y`FJxPq@yzW#P8qEMzWS*O&#rjRANhH{nT~tQLKGeahI^ zNIe{&2k@ZCcGmdoaG;%{2176XWcXny7I{|KiN$ZO%V<*-UbS>0 ztL*r4WCp7|P0i_C-eEp3u{3ou+yRGc`8d6iQHF2hTBbNLh!BL z;#+k&-A|2rFfto9nN26L5I&g|TyeajlJvIP+3T`4cf9_VUEOcXjNJAfe?c8LA&v_W z$9a9oe}`0lrrbIRx$IPjyT!U%XDzL;hCULB&VtO|#y||G(ZFHiF)p&CzsNcs$8YSH zZQSE5x63zf#A<#m5?%=juAq`%BL0x?#7|$aj!v;o$1w4S=&XKJq4WcWY7Yh5ZdY}; z_41=Dx655Rq>^br&Es+R`Gkz$Z?r5I@ZuM(jhp7pEz$QQcp!{^0L9ESW5#-AUo)ef zEO1O?Q3*DE0T&kQ-H?UvPijP=o6E*|sQ;j`*Bsvj^{fgDSrd6xHRjZfF9VO2TBT!R z)v*ugnQugUvx$9l2$kx{3xPR=>J0Od&S? zH@q6^1xQEnICV!(zbOHc*M!{PS5TYctU9QbaXq7SHh{V|%AzM&v&RD{-{ z9B!#na8*BqJ8HHt-eSY{EOnb811$Vh?~)N+vAD$dZgOt(Q2Q^2Ca=w zW^s4*(cK;SeB9UAU~ptqFjNPnVO~Gb3?CZli3jWD_w8_DZGtXlczZLvmAwxe>)2Hf zXI2fSu82po`!9Tbi;umCiQf-ff5+pj6wkcJqKxN}y7EjdAdw2}h}}immE|nQYhq^A4QE7aiWjS6L@I}08tcpp+Q9G!I=*8%!=1A)#vkU+ zztL{I_uw!Y%bk)%μ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⪻`qupPrm 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ŒmN^jXR@q|Tk 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ⅆ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

V5L@@g@Qx6SEzNkA_`B5HYK<9BG` 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 z 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 (nqx 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%0A06NZl%;Eyy!;A6Wygkp%r|_HXARohS^8(D} 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